diff --git a/ApplicationCode/Application/RiaApplication.cpp b/ApplicationCode/Application/RiaApplication.cpp index 950b5b3892..f7adafaa1a 100644 --- a/ApplicationCode/Application/RiaApplication.cpp +++ b/ApplicationCode/Application/RiaApplication.cpp @@ -47,6 +47,7 @@ #include "RimEclipseView.h" #include "RimEclipseWellCollection.h" #include "RimFaultCollection.h" +#include "RimFormationNamesCollection.h" #include "RimGeoMechCase.h" #include "RimGeoMechCellColors.h" #include "RimGeoMechModels.h" @@ -57,6 +58,12 @@ #include "RimProject.h" #include "RimReservoirCellResultsStorage.h" #include "RimScriptCollection.h" +#include "RimSummaryCase.h" +#include "RimSummaryCaseCollection.h" +#include "RimSummaryCurve.h" +#include "RimSummaryCurveFilter.h" +#include "RimSummaryPlot.h" +#include "RimSummaryPlotCollection.h" #include "RimViewLinker.h" #include "RimViewLinkerCollection.h" #include "RimWellLogPlot.h" @@ -64,10 +71,20 @@ #include "RimWellPath.h" #include "RimWellPathCollection.h" +#include "RiuMainPlotWindow.h" #include "RiuMainWindow.h" #include "RiuProcessMonitor.h" +#include "RiuRecentFileActionProvider.h" #include "RiuSelectionManager.h" +#include "RiuSummaryQwtPlot.h" #include "RiuViewer.h" +#include "RiuWellLogPlot.h" + +#include "RicImportSummaryCaseFeature.h" +#include "RicSnapshotViewToClipboardFeature.h" +#include "SummaryPlotCommands/RicNewSummaryPlotFeature.h" + +#include "cafFixedAtlasFont.h" #include "cafAppEnum.h" #include "cafCeetronPlusNavigation.h" @@ -79,12 +96,10 @@ #include "cafProgressInfo.h" #include "cafUiProcess.h" #include "cafUtils.h" -#include "cvfFixedAtlasFont.h" #include "cvfProgramOptions.h" #include "cvfqtUtils.h" -#include -#include +#include #include #include #include @@ -179,14 +194,19 @@ RiaApplication::RiaApplication(int& argc, char** argv) m_startupDefaultDirectory = QDir::currentPath(); #endif - setDefaultFileDialogDirectory("MULTICASEIMPORT", "/"); + setLastUsedDialogDirectory("MULTICASEIMPORT", "/"); // The creation of a font is time consuming, so make sure you really need your own font // instead of using the application font - m_standardFont = new cvf::FixedAtlasFont(cvf::FixedAtlasFont::STANDARD); + m_standardFont = new caf::FixedAtlasFont(caf::FixedAtlasFont::POINT_SIZE_8); + m_resViewUpdateTimer = NULL; m_runningRegressionTests = false; + + m_mainPlotWindow = NULL; + + m_recentFileActionProvider = std::unique_ptr(new RiuRecentFileActionProvider); } @@ -195,6 +215,8 @@ RiaApplication::RiaApplication(int& argc, char** argv) //-------------------------------------------------------------------------------------------------- RiaApplication::~RiaApplication() { + deleteMainPlotWindow(); + delete m_preferences; } @@ -308,7 +330,7 @@ bool RiaApplication::loadProject(const QString& projectFileName, ProjectLoadActi { // First Close the current project - if (!closeProject(true)) return false; + closeProject(); // Open the project file and read the serialized data. // Will initialize itself. @@ -318,7 +340,7 @@ bool RiaApplication::loadProject(const QString& projectFileName, ProjectLoadActi m_project->fileName = projectFileName; m_project->readFile(); - // Apply any modifiactions to the loaded project before we go ahead and load actual data + // Apply any modifications to the loaded project before we go ahead and load actual data if (projectModifier) { projectModifier->applyModificationsToProject(m_project); @@ -332,7 +354,7 @@ bool RiaApplication::loadProject(const QString& projectFileName, ProjectLoadActi if (m_project->projectFileVersionString().isEmpty()) { - closeProject(false); + closeProject(); QString tmp = QString("Unknown project file version detected in file \n%1\n\nCould not open project.").arg(projectFileName); QMessageBox::warning(NULL, "Error when opening project file", tmp); @@ -349,6 +371,33 @@ bool RiaApplication::loadProject(const QString& projectFileName, ProjectLoadActi return true; } + if (m_project->show3DWindow()) + { + RiuMainWindow::instance()->show(); + } + else + { + RiuMainWindow::instance()->hide(); + } + + if (m_project->showPlotWindow()) + { + if (!m_mainPlotWindow) + { + createMainPlotWindow(); + } + else + { + m_mainPlotWindow->show(); + m_mainPlotWindow->raise(); + } + } + else if (mainPlotWindow()) + { + mainPlotWindow()->hide(); + } + + /////// // Load the external data, and initialize stuff that needs specific ordering @@ -371,6 +420,18 @@ bool RiaApplication::loadProject(const QString& projectFileName, ProjectLoadActi } } + // Load the formation names + + for(RimOilField* oilField: m_project->oilFields) + { + if (oilField == NULL) continue; + if(oilField->formationNamesCollection() != NULL) + { + oilField->formationNamesCollection()->readAllFormationNames(); + } + } + + // Add well paths for each oil field for (size_t oilFieldIdx = 0; oilFieldIdx < m_project->oilFields().size(); oilFieldIdx++) { @@ -385,6 +446,17 @@ bool RiaApplication::loadProject(const QString& projectFileName, ProjectLoadActi if (oilField->wellPathCollection) oilField->wellPathCollection->readWellPathFiles(); } + for (RimOilField* oilField: m_project->oilFields) + { + if (oilField == NULL) continue; + // Temporary + if(!oilField->summaryCaseCollection()) + { + oilField->summaryCaseCollection = new RimSummaryCaseCollection(); + } + oilField->summaryCaseCollection()->createSummaryCasesFromRelevantEclipseResultCases(); + oilField->summaryCaseCollection()->loadAllSummaryCaseData(); + } // If load action is specified to recalculate statistics, do it now. // Apparently this needs to be done before the views are loaded, lest the number of time steps for statistics will be clamped @@ -443,19 +515,8 @@ bool RiaApplication::loadProject(const QString& projectFileName, ProjectLoadActi m_project->viewLinkerCollection()->viewLinker()->updateOverrides(); } - { - if (m_project->mainPlotCollection() && m_project->mainPlotCollection()->wellLogPlotCollection()) - { - RimWellLogPlotCollection* wlpColl = m_project->mainPlotCollection()->wellLogPlotCollection(); - caf::ProgressInfo plotProgress(wlpColl->wellLogPlots().size(), "Loading Plot Data"); + loadAndUpdatePlotData(); - for (size_t wlpIdx = 0; wlpIdx < wlpColl->wellLogPlots().size(); ++wlpIdx) - { - wlpColl->wellLogPlots[wlpIdx]->loadDataAndUpdate(); - plotProgress.incrementProgress(); - } - } - } // NB! This function must be called before executing command objects, // because the tree view state is restored from project file and sets // current active view ( see restoreTreeViewState() ) @@ -478,7 +539,6 @@ bool RiaApplication::loadProject(const QString& projectFileName, ProjectLoadActi return true; } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -487,6 +547,45 @@ bool RiaApplication::loadProject(const QString& projectFileName) return loadProject(projectFileName, PLA_NONE, NULL); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiaApplication::loadAndUpdatePlotData() +{ + RimWellLogPlotCollection* wlpColl = nullptr; + RimSummaryPlotCollection* spColl = nullptr; + + if (m_project->mainPlotCollection() && m_project->mainPlotCollection()->wellLogPlotCollection()) + { + wlpColl = m_project->mainPlotCollection()->wellLogPlotCollection(); + } + if (m_project->mainPlotCollection() && m_project->mainPlotCollection()->summaryPlotCollection()) + { + spColl = m_project->mainPlotCollection()->summaryPlotCollection(); + } + size_t plotCount = 0; + plotCount += wlpColl ? wlpColl->wellLogPlots().size() : 0; + plotCount += spColl ? spColl->m_summaryPlots().size() : 0; + + caf::ProgressInfo plotProgress(plotCount, "Loading Plot Data"); + if (wlpColl) + { + for (size_t wlpIdx = 0; wlpIdx < wlpColl->wellLogPlots().size(); ++wlpIdx) + { + wlpColl->wellLogPlots[wlpIdx]->loadDataAndUpdate(); + plotProgress.incrementProgress(); + } + } + + if (spColl) + { + for (size_t wlpIdx = 0; wlpIdx < spColl->m_summaryPlots().size(); ++wlpIdx) + { + spColl->m_summaryPlots[wlpIdx]->loadDataAndUpdate(); + plotProgress.incrementProgress(); + } + } +} //-------------------------------------------------------------------------------------------------- /// Add a list of well path file paths (JSON files) to the well path collection @@ -568,7 +667,7 @@ bool RiaApplication::saveProjectPromptForFileName() } else { - startPath = app->defaultFileDialogDirectory("BINARY_GRID"); + startPath = app->lastUsedDialogDirectory("BINARY_GRID"); startPath += "/ResInsightProject.rsp"; } @@ -579,7 +678,7 @@ bool RiaApplication::saveProjectPromptForFileName() } // Remember the directory to next time - app->setDefaultFileDialogDirectory("BINARY_GRID", QFileInfo(fileName).absolutePath()); + app->setLastUsedDialogDirectory("BINARY_GRID", QFileInfo(fileName).absolutePath()); bool bSaveOk = saveProjectAs(fileName); @@ -606,8 +705,7 @@ bool RiaApplication::saveProjectAs(const QString& fileName) m_preferences->lastUsedProjectFileName = fileName; caf::PdmSettings::writeFieldsToApplicationStore(m_preferences); - RiuMainWindow* mainWnd = RiuMainWindow::instance(); - mainWnd->addRecentFiles(fileName); + m_recentFileActionProvider->addFileName(fileName); return true; } @@ -616,7 +714,7 @@ bool RiaApplication::saveProjectAs(const QString& fileName) //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -bool RiaApplication::closeProject(bool askToSaveIfDirty) +void RiaApplication::closeProject() { RiuMainWindow* mainWnd = RiuMainWindow::instance(); @@ -624,30 +722,15 @@ bool RiaApplication::closeProject(bool askToSaveIfDirty) terminateProcess(); - if (false) - { - QMessageBox msgBox(mainWnd); - msgBox.setIcon(QMessageBox::Warning); - msgBox.setText("The project being closed has been modified."); - msgBox.setInformativeText("Do you want to save your changes?"); - msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel); - //msgBox.setDefaultButton(QMessageBox::Save); - - int ret = msgBox.exec(); - if (ret == QMessageBox::Save) - { - //m_sceneManager->saveAll(); - } - else if (ret == QMessageBox::Cancel) - { - return false; - } - } - RiuSelectionManager::instance()->deleteAllItems(); mainWnd->cleanupGuiBeforeProjectClose(); + if (m_mainPlotWindow) + { + m_mainPlotWindow->cleanupGuiBeforeProjectClose(); + } + caf::EffectGenerator::clearEffectCache(); m_project->close(); @@ -657,8 +740,6 @@ bool RiaApplication::closeProject(bool askToSaveIfDirty) // Make sure all project windows are closed down properly before returning processEvents(); - - return true; } //-------------------------------------------------------------------------------------------------- @@ -667,24 +748,37 @@ bool RiaApplication::closeProject(bool askToSaveIfDirty) void RiaApplication::onProjectOpenedOrClosed() { RiuMainWindow* mainWnd = RiuMainWindow::instance(); - if (!mainWnd) return; - - mainWnd->initializeGuiNewProjectLoaded(); - //mainWnd->redrawAllViews(); + if (mainWnd) + { + mainWnd->initializeGuiNewProjectLoaded(); + } + if (m_mainPlotWindow) + { + m_mainPlotWindow->initializeGuiNewProjectLoaded(); + } setWindowCaptionFromAppState(); } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -QString RiaApplication::currentProjectFileName() const +QString RiaApplication::currentProjectPath() const { - return m_project->fileName(); -} + QString projectFolder; + if (m_project) + { + QString projectFileName = m_project->fileName(); + if (!projectFileName.isEmpty()) + { + QFileInfo fi(projectFileName); + projectFolder = fi.absolutePath(); + } + } + return projectFolder; +} //-------------------------------------------------------------------------------------------------- /// Create an absolute path from a path that is specified relative to the project directory @@ -737,6 +831,8 @@ bool RiaApplication::openEclipseCase(const QString& caseName, const QString& cas RimEclipseCaseCollection* analysisModels = m_project->activeOilField() ? m_project->activeOilField()->analysisModels() : NULL; if (analysisModels == NULL) return false; + RiuMainWindow::instance()->show(); + analysisModels->cases.push_back(rimResultReservoir); RimEclipseView* riv = rimResultReservoir->createAndAddReservoirView(); @@ -752,11 +848,88 @@ bool RiaApplication::openEclipseCase(const QString& caseName, const QString& cas riv->loadDataAndUpdate(); + // Add a corresponding summary case if it exists + { + RimSummaryCaseCollection* sumCaseColl = m_project->activeOilField() ? m_project->activeOilField()->summaryCaseCollection() : NULL; + if(sumCaseColl) + { + if (sumCaseColl->summaryCaseCount() == 0 && m_mainPlotWindow) + { + m_mainPlotWindow->hide(); + } + + if (!sumCaseColl->findSummaryCaseFromEclipseResultCase(rimResultReservoir)) + { + RimSummaryCase* newSumCase = sumCaseColl->createAndAddSummaryCaseFromEclipseResultCase(rimResultReservoir); + + if (newSumCase) + { + newSumCase->loadCase(); + + RimSummaryCase* existingFileSummaryCase = sumCaseColl->findSummaryCaseFromFileName(newSumCase->summaryHeaderFilename()); + if (existingFileSummaryCase) + { + // Replace all occurrences of file sum with ecl sum + + std::vector referringObjects; + existingFileSummaryCase->objectsWithReferringPtrFields(referringObjects); + + std::set curveFilters; + + for (caf::PdmObjectHandle* objHandle : referringObjects) + { + RimSummaryCurve* summaryCurve = dynamic_cast(objHandle); + if (summaryCurve) + { + summaryCurve->setSummaryCase(newSumCase); + summaryCurve->updateConnectedEditors(); + + RimSummaryCurveFilter* parentFilter = nullptr; + summaryCurve->firstAncestorOrThisOfType(parentFilter); + if (parentFilter) + { + curveFilters.insert(parentFilter); + } + } + } + + // UI settings of a curve filter is updated based + // on the new case association for the curves in the curve filter + // UI is updated by loadDataAndUpdate() + + for (RimSummaryCurveFilter* curveFilter : curveFilters) + { + curveFilter->loadDataAndUpdate(); + curveFilter->updateConnectedEditors(); + } + + sumCaseColl->deleteCase(existingFileSummaryCase); + + delete existingFileSummaryCase; + + } + else + { + if (m_preferences->autoCreatePlotsOnImport()) + { + RimMainPlotCollection* mainPlotColl = m_project->mainPlotCollection(); + RimSummaryPlotCollection* summaryPlotColl = mainPlotColl->summaryPlotCollection(); + + RicNewSummaryPlotFeature::createNewSummaryPlot(summaryPlotColl, newSumCase); + } + } + + sumCaseColl->updateConnectedEditors(); + } + } + } + } + if (!riv->cellResult()->hasResult()) { riv->cellResult()->setResultVariable(RimDefines::undefinedResultName()); } - + analysisModels->updateConnectedEditors(); RiuMainWindow::instance()->selectAsCurrentItem(riv->cellResult()); @@ -797,6 +970,11 @@ bool RiaApplication::openInputEclipseCaseFromFileNames(const QStringList& fileNa RiuMainWindow::instance()->selectAsCurrentItem(riv->cellResult()); + if (fileNames.size() == 1) + { + addToRecentFiles(fileNames[0]); + } + return true; } @@ -930,6 +1108,22 @@ RimWellLogPlot* RiaApplication::activeWellLogPlot() return m_activeWellLogPlot; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiaApplication::setActiveSummaryPlot(RimSummaryPlot* sp) +{ + m_activeSummaryPlot = sp; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryPlot* RiaApplication::activeSummaryPlot() +{ + return m_activeSummaryPlot; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -991,16 +1185,16 @@ bool RiaApplication::parseArguments() progOpt.registerOption("project", "", "Open project file .", cvf::ProgramOptions::SINGLE_VALUE); progOpt.registerOption("case", "", "Import Eclipse case (do not include the .GRID/.EGRID extension.)", cvf::ProgramOptions::MULTI_VALUE); progOpt.registerOption("startdir", "", "Set startup directory.", cvf::ProgramOptions::SINGLE_VALUE); - progOpt.registerOption("savesnapshots", "", "Save snapshot of all views to 'snapshots' folder. Application closes after snapshots have been written."); + progOpt.registerOption("savesnapshots", "all|views|plots", "Save snapshot of all views or plots to project file location sub folder 'snapshots'. Option 'all' will include both views and plots. Application closes after snapshots have been written.", cvf::ProgramOptions::OPTIONAL_MULTI_VALUE); progOpt.registerOption("size", " ", "Set size of the main application window.", cvf::ProgramOptions::MULTI_VALUE); - progOpt.registerOption("replaceCase", "[] ", "Replace grid in or first case with .", cvf::ProgramOptions::MULTI_VALUE); - progOpt.registerOption("replaceSourceCases", "[] ", "Replace source cases in or first grid case group with the grid files listed in the file.", cvf::ProgramOptions::MULTI_VALUE); + progOpt.registerOption("replaceCase", "[] ", "Replace grid in or first case with . Repeat parameter for multiple replace operations.", cvf::ProgramOptions::MULTI_VALUE, cvf::ProgramOptions::COMBINE_REPEATED); + progOpt.registerOption("replaceSourceCases", "[] ", "Replace source cases in or first grid case group with the grid files listed in the file. Repeat parameter for multiple replace operations.", cvf::ProgramOptions::MULTI_VALUE, cvf::ProgramOptions::COMBINE_REPEATED); progOpt.registerOption("multiCaseSnapshots", "", "For each grid file listed in the file, replace the first case in the project and save snapshot of all views.", cvf::ProgramOptions::SINGLE_VALUE); progOpt.registerOption("help", "", "Displays help text."); progOpt.registerOption("?", "", "Displays help text."); - progOpt.registerOption("regressiontest", "", "", cvf::ProgramOptions::SINGLE_VALUE); - progOpt.registerOption("updateregressiontestbase", "", "", cvf::ProgramOptions::SINGLE_VALUE); - progOpt.registerOption("unittest", "", "Execute unit tests"); + progOpt.registerOption("regressiontest", "", "System command", cvf::ProgramOptions::SINGLE_VALUE); + progOpt.registerOption("updateregressiontestbase", "", "System command", cvf::ProgramOptions::SINGLE_VALUE); + progOpt.registerOption("unittest", "", "System command"); progOpt.setOptionPrefix(cvf::ProgramOptions::DOUBLE_DASH); @@ -1088,6 +1282,9 @@ bool RiaApplication::parseArguments() QString gridListFile = cvfqt::Utils::toQString(o.safeValue(0)); std::vector gridFiles = readFileListFromTextFile(gridListFile); runMultiCaseSnapshots(projectFileName, gridFiles, "multiCaseSnapshots"); + + closeProject(); + return false; } } @@ -1102,16 +1299,26 @@ bool RiaApplication::parseArguments() { if (projectModifier.isNull()) projectModifier = new RiaProjectModifier; - const int caseId = o.safeValue(0).toInt(-1); - if (caseId != -1 && o.valueCount() > 1) + if (o.valueCount() == 1) { - QString gridFileName = cvfqt::Utils::toQString(o.value(1)); - projectModifier->setReplaceCase(caseId, gridFileName); + // One argument is available, use replace case for first occurrence in the project + + QString gridFileName = cvfqt::Utils::toQString(o.safeValue(0)); + projectModifier->setReplaceCaseFirstOccurrence(gridFileName); } else { - QString gridFileName = cvfqt::Utils::toQString(o.safeValue(0)); - projectModifier->setReplaceCaseFirstOccurence(gridFileName); + size_t optionIdx = 0; + while (optionIdx < o.valueCount()) + { + const int caseId = o.safeValue(optionIdx++).toInt(-1); + QString gridFileName = cvfqt::Utils::toQString(o.safeValue(optionIdx++)); + + if (caseId != -1 && !gridFileName.isEmpty()) + { + projectModifier->setReplaceCase(caseId, gridFileName); + } + } } } @@ -1119,16 +1326,26 @@ bool RiaApplication::parseArguments() { if (projectModifier.isNull()) projectModifier = new RiaProjectModifier; - const int caseGroupId = o.safeValue(0).toInt(-1); - if (caseGroupId != -1 && o.valueCount() > 1) + if (o.valueCount() == 1) { - std::vector gridFileNames = readFileListFromTextFile(cvfqt::Utils::toQString(o.value(1))); - projectModifier->setReplaceSourceCasesById(caseGroupId, gridFileNames); + // One argument is available, use replace case for first occurrence in the project + + std::vector gridFileNames = readFileListFromTextFile(cvfqt::Utils::toQString(o.safeValue(0))); + projectModifier->setReplaceSourceCasesFirstOccurrence(gridFileNames); } else { - std::vector gridFileNames = readFileListFromTextFile(cvfqt::Utils::toQString(o.safeValue(0))); - projectModifier->setReplaceSourceCasesFirstOccurence(gridFileNames); + size_t optionIdx = 0; + while (optionIdx < o.valueCount()) + { + const int groupId = o.safeValue(optionIdx++).toInt(-1); + std::vector gridFileNames = readFileListFromTextFile(cvfqt::Utils::toQString(o.safeValue(optionIdx++))); + + if (groupId != -1 && gridFileNames.size() > 0) + { + projectModifier->setReplaceSourceCasesById(groupId, gridFileNames); + } + } } projectLoadAction = PLA_CALCULATE_STATISTICS; @@ -1161,17 +1378,65 @@ bool RiaApplication::parseArguments() } - if (progOpt.hasOption("savesnapshots")) + if (cvf::Option o = progOpt.option("savesnapshots")) { - RiuMainWindow* mainWnd = RiuMainWindow::instance(); - if (m_project.notNull() && !m_project->fileName().isEmpty() && mainWnd) + bool snapshotViews = false; + bool snapshotPlots = false; + + QStringList snapshotItemTexts = cvfqt::Utils::toQStringList(o.values()); + if (snapshotItemTexts.size() == 0) + { + // No options will keep backwards compability before we introduced snapshot of plots + snapshotViews = true; + } + + for (QString s : snapshotItemTexts) + { + if (s.toLower() == "all") + { + snapshotViews = true; + snapshotPlots = true; + } + else if (s.toLower() == "views") + { + snapshotViews = true; + } + else if (s.toLower() == "plots") + { + snapshotPlots = true; + } + } + + if (m_project.notNull() && !m_project->fileName().isEmpty()) { - mainWnd->hideAllDockWindows(); + if (snapshotViews) + { + RiuMainWindow* mainWnd = RiuMainWindow::instance(); + CVF_ASSERT(mainWnd); + mainWnd->hideAllDockWindows(); + + // 2016-11-09 : Location of snapshot folder was previously located in 'snapshot' folder + // relative to current working folder. Now harmonized to behave as RiuMainWindow::slotSnapshotAllViewsToFile() + QString absolutePathToSnapshotDir = createAbsolutePathFromProjectRelativePath("snapshots"); + saveSnapshotForAllViews(absolutePathToSnapshotDir); + + mainWnd->loadWinGeoAndDockToolBarLayout(); + } - // Will be saved relative to current directory - saveSnapshotForAllViews("snapshots"); + if (snapshotPlots) + { + if (m_mainPlotWindow) + { + m_mainPlotWindow->hideAllDockWindows(); - mainWnd->loadWinGeoAndDockToolBarLayout(); + // Will be saved relative to current directory + RicSnapshotAllPlotsToFileFeature::saveAllPlots(); + + m_mainPlotWindow->loadWinGeoAndDockToolBarLayout(); + } + } + + closeProject(); } // Returning false will exit the application @@ -1216,46 +1481,167 @@ int RiaApplication::launchUnitTestsWithConsole() // Only one console can be associated with an app, so should fail if a console is already present. AllocConsole(); - bool redirStdOut = true; - bool redirStdErr = true; - bool redirStdIn = false; + FILE* consoleFilePointer; - if (redirStdOut) - { - HANDLE stdHandle = GetStdHandle(STD_OUTPUT_HANDLE); - int fileDescriptor = _open_osfhandle((intptr_t)stdHandle, _O_TEXT); - FILE* fp = _fdopen(fileDescriptor, "w"); + freopen_s(&consoleFilePointer, "CONOUT$", "w", stdout); + freopen_s(&consoleFilePointer, "CONOUT$", "w", stderr); - *stdout = *fp; - setvbuf(stdout, NULL, _IONBF, 0); - } + // Make cout, wcout, cin, wcin, wcerr, cerr, wclog and clog point to console as well + std::ios::sync_with_stdio(); + } +#endif - if (redirStdErr) - { - HANDLE stdHandle = GetStdHandle(STD_ERROR_HANDLE); - int fileDescriptor = _open_osfhandle((intptr_t)stdHandle, _O_TEXT); - FILE* fp = _fdopen(fileDescriptor, "w"); + return launchUnitTests(); +} - *stderr = *fp; - setvbuf(stderr, NULL, _IONBF, 0); - } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiaApplication::createMainPlotWindow() +{ + CVF_ASSERT(m_mainPlotWindow == NULL); + + m_mainPlotWindow = new RiuMainPlotWindow; + + m_mainPlotWindow->setWindowTitle("Plots - ResInsight"); + m_mainPlotWindow->setDefaultWindowSize(); + m_mainPlotWindow->loadWinGeoAndDockToolBarLayout(); + m_mainPlotWindow->showWindow(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiaApplication::deleteMainPlotWindow() +{ + if (m_mainPlotWindow) + { + m_mainPlotWindow->deleteLater(); + m_mainPlotWindow = NULL; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuMainPlotWindow* RiaApplication::getOrCreateAndShowMainPlotWindow() +{ + if (!m_mainPlotWindow) + { + createMainPlotWindow(); + loadAndUpdatePlotData(); + } + + if (m_mainPlotWindow->isMinimized()) + { + m_mainPlotWindow->showNormal(); + m_mainPlotWindow->update(); + } + else + { + m_mainPlotWindow->show(); + } + + m_mainPlotWindow->raise(); + + return m_mainPlotWindow; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuMainPlotWindow* RiaApplication::mainPlotWindow() +{ + return m_mainPlotWindow; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimViewWindow* RiaApplication::activeViewWindow() +{ + RimViewWindow* viewWindow = NULL; + + QWidget* topLevelWidget = RiaApplication::activeWindow(); + + if (dynamic_cast(topLevelWidget)) + { + viewWindow = RiaApplication::instance()->activeReservoirView(); + } - if (redirStdIn) + if (dynamic_cast(topLevelWidget)) + { + RiuMainPlotWindow* mainPlotWindow = dynamic_cast(topLevelWidget); + QList subwindows = mainPlotWindow->subWindowList(QMdiArea::StackingOrder); + if (subwindows.size() > 0) { - HANDLE stdHandle = GetStdHandle(STD_INPUT_HANDLE); - int fileDescriptor = _open_osfhandle((intptr_t)stdHandle, _O_TEXT); - FILE* fp = _fdopen(fileDescriptor, "r"); + RiuSummaryQwtPlot* summaryQwtPlot = dynamic_cast(subwindows.back()->widget()); + if (summaryQwtPlot) + { + viewWindow = summaryQwtPlot->ownerPlotDefinition(); + } - *stdin = *fp; - setvbuf(stdin, NULL, _IONBF, 0); + RiuWellLogPlot* wellLogPlot = dynamic_cast(subwindows.back()->widget()); + if (wellLogPlot) + { + viewWindow = wellLogPlot->ownerPlotDefinition(); + } } + } - // Make cout, wcout, cin, wcin, wcerr, cerr, wclog and clog point to console as well - std::ios::sync_with_stdio(); + return viewWindow; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RiaApplication::tryCloseMainWindow() +{ + RiuMainWindow* mainWindow = RiuMainWindow::instance(); + if (mainWindow && !mainWindow->isVisible()) + { + mainWindow->close(); + + return true; } -#endif - return launchUnitTests(); + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RiaApplication::tryClosePlotWindow() +{ + if (!m_mainPlotWindow) + { + return true; + } + + if (m_mainPlotWindow && !m_mainPlotWindow->isVisible()) + { + m_mainPlotWindow->close(); + + return true; + } + + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiaApplication::addToRecentFiles(const QString& fileName) +{ + m_recentFileActionProvider->addFileName(fileName); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RiaApplication::recentFileActions() const +{ + return m_recentFileActionProvider->actions(); } //-------------------------------------------------------------------------------------------------- @@ -1287,7 +1673,6 @@ std::vector RiaApplication::readFileListFromTextFile(QString listFileNa return fileList; } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -1506,10 +1891,47 @@ void RiaApplication::applyPreferences() RiuMainWindow::instance()->projectTreeView()->enableAppendOfClassNameToUiItemText(m_preferences->appendClassNameToUiText()); } + caf::FixedAtlasFont::FontSize fontSizeType = caf::FixedAtlasFont::POINT_SIZE_16; + if (m_preferences->fontSizeInScene() == "8") + { + fontSizeType = caf::FixedAtlasFont::POINT_SIZE_8; + } + else if (m_preferences->fontSizeInScene() == "12") + { + fontSizeType = caf::FixedAtlasFont::POINT_SIZE_12; + } + else if (m_preferences->fontSizeInScene() == "16") + { + fontSizeType = caf::FixedAtlasFont::POINT_SIZE_16; + } + else if (m_preferences->fontSizeInScene() == "24") + { + fontSizeType = caf::FixedAtlasFont::POINT_SIZE_24; + } + else if (m_preferences->fontSizeInScene() == "32") + { + fontSizeType = caf::FixedAtlasFont::POINT_SIZE_32; + } + + m_customFont = new caf::FixedAtlasFont(fontSizeType); + if (this->project()) { this->project()->setScriptDirectories(m_preferences->scriptDirectories()); this->project()->updateConnectedEditors(); + + std::vector visibleViews; + this->project()->allVisibleViews(visibleViews); + + for (auto view : visibleViews) + { + RimEclipseView* eclipseView = dynamic_cast(view); + if (eclipseView) + { + eclipseView->scheduleReservoirGridGeometryRegen(); + } + view->scheduleCreateDisplayModelAndRedraw(); + } } } @@ -1529,92 +1951,93 @@ void RiaApplication::terminateProcess() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -QString RiaApplication::defaultFileDialogDirectory(const QString& dialogName) +QString RiaApplication::lastUsedDialogDirectory(const QString& dialogName) { - QString defaultDirectory = m_startupDefaultDirectory; - std::map::iterator it; - it = m_fileDialogDefaultDirectories.find(dialogName); - - if ( it != m_fileDialogDefaultDirectories.end()) + QString lastUsedDirectory = m_startupDefaultDirectory; + + auto it = m_fileDialogDefaultDirectories.find(dialogName); + if (it != m_fileDialogDefaultDirectories.end()) { - defaultDirectory = it->second; + lastUsedDirectory = it->second; } - return defaultDirectory; + return lastUsedDirectory; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaApplication::setDefaultFileDialogDirectory(const QString& dialogName, const QString& defaultDirectory) +QString RiaApplication::lastUsedDialogDirectoryWithFallback(const QString& dialogName, const QString& fallbackDirectory) { - m_fileDialogDefaultDirectories[dialogName] = defaultDirectory; -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiaApplication::saveSnapshotPromtpForFilename() -{ - QString startPath; - if (!m_project->fileName().isEmpty()) - { - QFileInfo fi(m_project->fileName()); - startPath = fi.absolutePath(); - } - else + QString lastUsedDirectory = m_startupDefaultDirectory; + if (!fallbackDirectory.isEmpty()) { - startPath = defaultFileDialogDirectory("IMAGE_SNAPSHOT"); + lastUsedDirectory = fallbackDirectory; } - startPath += "/image.png"; - - QString fileName = QFileDialog::getSaveFileName(NULL, tr("Save File"), startPath, tr("Image files (*.bmp *.png * *.jpg)")); - if (fileName.isEmpty()) + auto it = m_fileDialogDefaultDirectories.find(dialogName); + if (it != m_fileDialogDefaultDirectories.end()) { - return; + lastUsedDirectory = it->second; } - // Remember the directory to next time - setDefaultFileDialogDirectory("IMAGE_SNAPSHOT", QFileInfo(fileName).absolutePath()); - - saveSnapshotAs(fileName); + return lastUsedDirectory; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaApplication::saveSnapshotAs(const QString& fileName) +void RiaApplication::setLastUsedDialogDirectory(const QString& dialogName, const QString& directory) { - QImage image = grabFrameBufferImage(); - if (!image.isNull()) - { - if (image.save(fileName)) - { - qDebug() << "Saved snapshot image to " << fileName; - } - else - { - qDebug() << "Error when trying to save snapshot image to " << fileName; - } - } + m_fileDialogDefaultDirectories[dialogName] = directory; } + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaApplication::copySnapshotToClipboard() +bool RiaApplication::openFile(const QString& fileName) { - QClipboard* clipboard = QApplication::clipboard(); - if (clipboard) - { - QImage image = grabFrameBufferImage(); - if (!image.isNull()) + if (!QFile::exists(fileName)) return false; + + bool loadingSucceded = false; + + if (fileName.contains(".rsp", Qt::CaseInsensitive) || fileName.contains(".rip", Qt::CaseInsensitive)) + { + loadingSucceded = loadProject(fileName); + } + else if (fileName.contains(".egrid", Qt::CaseInsensitive) || fileName.contains(".grid", Qt::CaseInsensitive)) + { + loadingSucceded = openEclipseCaseFromFile(fileName); + } + else if (fileName.contains(".grdecl", Qt::CaseInsensitive)) + { + loadingSucceded = openInputEclipseCaseFromFileNames(QStringList(fileName)); + } + else if (fileName.contains(".odb", Qt::CaseInsensitive)) + { + loadingSucceded = openOdbCaseFromFile(fileName); + } + else if (fileName.contains(".smspec", Qt::CaseInsensitive)) + { + loadingSucceded = RicImportSummaryCaseFeature::createAndAddSummaryCaseFromFile(fileName); + if (loadingSucceded) { - clipboard->setImage(image); + getOrCreateAndShowMainPlotWindow(); + + std::vector cases; + m_project->allCases(cases); + + if (cases.size() == 0) + { + RiuMainWindow::instance()->close(); + } + + m_project->updateConnectedEditors(); } } + + return loadingSucceded; } //-------------------------------------------------------------------------------------------------- @@ -1627,7 +2050,6 @@ void RiaApplication::saveSnapshotForAllViews(const QString& snapshotFolderName) if (m_project.isNull()) return; - QDir snapshotPath(snapshotFolderName); if (!snapshotPath.exists()) { @@ -1667,13 +2089,13 @@ void RiaApplication::saveSnapshotForAllViews(const QString& snapshotFolderName) fileName.replace(" ", "_"); QString absoluteFileName = caf::Utils::constructFullFileName(absSnapshotPath, fileName, ".png"); - saveSnapshotAs(absoluteFileName); + + RicSnapshotViewToFileFeature::saveSnapshotAs(absoluteFileName, riv); } } } } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -1690,7 +2112,7 @@ void RiaApplication::runMultiCaseSnapshots(const QString& templateProjectFileNam QString gridFn = gridFileNames[i]; RiaProjectModifier modifier; - modifier.setReplaceCaseFirstOccurence(gridFn); + modifier.setReplaceCaseFirstOccurrence(gridFn); bool loadOk = loadProject(templateProjectFileName, PLA_NONE, &modifier); if (loadOk) @@ -1702,7 +2124,9 @@ void RiaApplication::runMultiCaseSnapshots(const QString& templateProjectFileNam mainWnd->loadWinGeoAndDockToolBarLayout(); } - +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- void removeDirectoryWithContent(QDir dirToDelete ) { QStringList files = dirToDelete.entryList(); @@ -1713,7 +2137,6 @@ void removeDirectoryWithContent(QDir dirToDelete ) dirToDelete.rmdir("."); } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -1825,7 +2248,7 @@ void RiaApplication::runRegressionTest(const QString& testRootPath) } } - closeProject(false); + closeProject(); } } @@ -1977,23 +2400,11 @@ cvf::Font* RiaApplication::standardFont() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -QImage RiaApplication::grabFrameBufferImage() +cvf::Font* RiaApplication::customFont() { - QImage image; - if (m_activeReservoirView && m_activeReservoirView->viewer()) - { - m_activeReservoirView->viewer()->repaint(); - - GLint currentReadBuffer; - glGetIntegerv(GL_READ_BUFFER, ¤tReadBuffer); - - glReadBuffer(GL_FRONT); - image = m_activeReservoirView->viewer()->grabFrameBuffer(); - - glReadBuffer(currentReadBuffer); - } + CVF_ASSERT(m_customFont.notNull()); - return image; + return m_customFont.p(); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/Application/RiaApplication.h b/ApplicationCode/Application/RiaApplication.h index b2058cf436..0cfd04432e 100644 --- a/ApplicationCode/Application/RiaApplication.h +++ b/ApplicationCode/Application/RiaApplication.h @@ -19,6 +19,7 @@ ///////////////////////////////////////////////////////////////////////////////// #pragma once + #include #include #include @@ -30,20 +31,32 @@ #include "cvfFont.h" #include +#include + +class QAction; + +class Drawable; class RIProcess; + +class RiaPreferences; +class RiaProjectModifier; +class RiaSocketServer; + class RigCaseData; + +class RimCommandObject; class RimEclipseCase; -class Drawable; -class RiaSocketServer; -class RiaPreferences; class RimEclipseView; -class RimView; class RimProject; -class RimCommandObject; -class RiaProjectModifier; +class RimSummaryPlot; +class RimView; +class RimViewWindow; class RimWellLogPlot; +class RiuMainPlotWindow; +class RiuRecentFileActionProvider; + namespace caf { class UiProcess; @@ -84,6 +97,9 @@ class RiaApplication : public QApplication void setActiveWellLogPlot(RimWellLogPlot*); RimWellLogPlot* activeWellLogPlot(); + void setActiveSummaryPlot(RimSummaryPlot*); + RimSummaryPlot* activeSummaryPlot(); + void scheduleDisplayModelUpdateAndRedraw(RimView* resViewToUpdate); RimProject* project(); @@ -94,9 +110,11 @@ class RiaApplication : public QApplication void createMockModelCustomized(); void createInputMockModel(); - QString defaultFileDialogDirectory(const QString& dialogName); - void setDefaultFileDialogDirectory(const QString& dialogName, const QString& defaultDirectory); + QString lastUsedDialogDirectory(const QString& dialogName); + QString lastUsedDialogDirectoryWithFallback(const QString& dialogName, const QString& fallbackDirectory); + void setLastUsedDialogDirectory(const QString& dialogName, const QString& directory); + bool openFile(const QString& fileName); bool openEclipseCaseFromFile(const QString& fileName); bool openEclipseCase(const QString& caseName, const QString& caseFileName); bool addEclipseCases(const QStringList& fileNames); @@ -104,19 +122,16 @@ class RiaApplication : public QApplication bool openOdbCaseFromFile(const QString& fileName); - QString currentProjectFileName() const; + QString currentProjectPath() const; QString createAbsolutePathFromProjectRelativePath(QString projectRelativePath); bool loadProject(const QString& projectFileName); bool saveProject(); bool saveProjectAs(const QString& fileName); bool saveProjectPromptForFileName(); - bool closeProject(bool askToSaveIfDirty); + void closeProject(); void addWellPathsToModel(QList wellPathFilePaths); void addWellLogsToModel(const QList& wellLogFilePaths); - void copySnapshotToClipboard(); - void saveSnapshotPromtpForFilename(); - void saveSnapshotAs(const QString& fileName); void saveSnapshotForAllViews(const QString& snapshotFolderName); void runMultiCaseSnapshots(const QString& templateProjectFileName, std::vector gridFileNames, const QString& snapshotFolderName); void runRegressionTest(const QString& testRootPath); @@ -148,6 +163,7 @@ class RiaApplication : public QApplication void applyPreferences(); cvf::Font* standardFont(); + cvf::Font* customFont(); QString commandLineParameterHelp() const; void showFormattedTextInMessageBox(const QString& text); @@ -163,6 +179,17 @@ class RiaApplication : public QApplication int launchUnitTests(); int launchUnitTestsWithConsole(); + RiuMainPlotWindow* getOrCreateAndShowMainPlotWindow(); + RiuMainPlotWindow* mainPlotWindow(); + + static RimViewWindow* activeViewWindow(); + + bool tryCloseMainWindow(); + bool tryClosePlotWindow(); + + void addToRecentFiles(const QString& fileName); + std::vector recentFileActions() const; + private: enum ProjectLoadAction { @@ -171,13 +198,18 @@ class RiaApplication : public QApplication }; bool loadProject(const QString& projectFileName, ProjectLoadAction loadAction, RiaProjectModifier* projectModifier); + void onProjectOpenedOrClosed(); std::vector readFileListFromTextFile(QString listFileName); void setWindowCaptionFromAppState(); - QImage grabFrameBufferImage(); void clearViewsScheduledForUpdate(); + void createMainPlotWindow(); + void deleteMainPlotWindow(); + + void loadAndUpdatePlotData(); + private slots: void slotWorkerProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); @@ -186,6 +218,7 @@ private slots: private: caf::PdmPointer m_activeReservoirView; caf::PdmPointer m_activeWellLogPlot; + caf::PdmPointer m_activeSummaryPlot; caf::PdmPointer m_project; @@ -207,6 +240,7 @@ private slots: QString m_startupDefaultDirectory; cvf::ref m_standardFont; + cvf::ref m_customFont; QMap m_sessionCache; // Session cache used to store username/passwords per session @@ -215,4 +249,8 @@ private slots: QString m_helpText; bool m_runningRegressionTests; + + RiuMainPlotWindow* m_mainPlotWindow; + + std::unique_ptr m_recentFileActionProvider; }; diff --git a/ApplicationCode/Application/RiaPreferences.cpp b/ApplicationCode/Application/RiaPreferences.cpp index aabcf2ae8a..15eea4ff20 100644 --- a/ApplicationCode/Application/RiaPreferences.cpp +++ b/ApplicationCode/Application/RiaPreferences.cpp @@ -58,7 +58,9 @@ RiaPreferences::RiaPreferences(void) CAF_PDM_InitField(&defaultViewerBackgroundColor, "defaultViewerBackgroundColor", cvf::Color3f(0.69f, 0.77f, 0.87f), "Viewer background", "", "The viewer background color for new views", ""); - CAF_PDM_InitField(&defaultScaleFactorZ, "defaultScaleFactorZ", 5, "Z scale factor", "", "", ""); + CAF_PDM_InitField(&defaultScaleFactorZ, "defaultScaleFactorZ", 5, "Default Z scale factor", "", "", ""); + CAF_PDM_InitField(&fontSizeInScene, "fontSizeInScene", QString("8"), "Font size", "", "", ""); + CAF_PDM_InitField(&showLasCurveWithoutTvdWarning, "showLasCurveWithoutTvdWarning", true, "Show LAS curve without TVD warning", "", "", ""); showLasCurveWithoutTvdWarning.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); @@ -81,8 +83,17 @@ RiaPreferences::RiaPreferences(void) CAF_PDM_InitField(&loadAndShowSoil, "loadAndShowSoil", true, "Load and show SOIL", "", "", ""); loadAndShowSoil.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); - readerSettings = new RifReaderSettings; CAF_PDM_InitFieldNoDefault(&readerSettings, "readerSettings", "Reader settings", "", "", ""); + readerSettings = new RifReaderSettings; + + CAF_PDM_InitField(&autoCreatePlotsOnImport, "AutoCreatePlotsOnImport", true, "Create Summary Plots When Importing Eclipse Case", "", "", ""); + autoCreatePlotsOnImport.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); + + CAF_PDM_InitField(&defaultCurveFilter, "DefaultCurveFilter", QString("F*PT"), "Default Vector Selection Filter", "", "", ""); + + m_tabNames << "General"; + m_tabNames << "Octave"; + m_tabNames << "Summary"; } //-------------------------------------------------------------------------------------------------- @@ -115,7 +126,8 @@ void RiaPreferences::defineEditorAttribute(const caf::PdmFieldHandle* field, QSt field == &useShaders || field == &showHud || field == &appendClassNameToUiText || - field == &showLasCurveWithoutTvdWarning ) + field == &showLasCurveWithoutTvdWarning || + field == &autoCreatePlotsOnImport) { caf::PdmUiCheckBoxEditorAttribute* myAttr = static_cast(attribute); if (myAttr) @@ -130,51 +142,89 @@ void RiaPreferences::defineEditorAttribute(const caf::PdmFieldHandle* field, QSt //-------------------------------------------------------------------------------------------------- void RiaPreferences::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { - uiOrdering.add(&navigationPolicy); - - caf::PdmUiGroup* scriptGroup = uiOrdering.addNewGroup("Script configuration"); - scriptGroup->add(&scriptDirectories); - scriptGroup->add(&scriptEditorExecutable); - - caf::PdmUiGroup* octaveGroup = uiOrdering.addNewGroup("Octave"); - octaveGroup->add(&octaveExecutable); - octaveGroup->add(&octaveShowHeaderInfoWhenExecutingScripts); - - caf::PdmUiGroup* defaultSettingsGroup = uiOrdering.addNewGroup("Default settings"); - defaultSettingsGroup->add(&defaultScaleFactorZ); - defaultSettingsGroup->add(&defaultViewerBackgroundColor); - defaultSettingsGroup->add(&defaultGridLines); - defaultSettingsGroup->add(&defaultGridLineColors); - defaultSettingsGroup->add(&defaultFaultGridLineColors); - defaultSettingsGroup->add(&defaultWellLabelColor); - defaultSettingsGroup->add(&showLasCurveWithoutTvdWarning); - - caf::PdmUiGroup* autoComputeGroup = uiOrdering.addNewGroup("Behavior when loading new case"); - autoComputeGroup->add(&autocomputeDepthRelatedProperties); - autoComputeGroup->add(&loadAndShowSoil); + if (uiConfigName == m_tabNames[0]) + { + caf::PdmUiGroup* defaultSettingsGroup = uiOrdering.addNewGroup("Default settings"); + defaultSettingsGroup->add(&defaultViewerBackgroundColor); + defaultSettingsGroup->add(&defaultGridLines); + defaultSettingsGroup->add(&defaultGridLineColors); + defaultSettingsGroup->add(&defaultFaultGridLineColors); + defaultSettingsGroup->add(&defaultWellLabelColor); + defaultSettingsGroup->add(&fontSizeInScene); + + caf::PdmUiGroup* viewsGroup = uiOrdering.addNewGroup("3D views"); + viewsGroup->add(&navigationPolicy); + viewsGroup->add(&useShaders); + viewsGroup->add(&showHud); + + caf::PdmUiGroup* newCaseBehaviourGroup = uiOrdering.addNewGroup("Behavior when loading new case"); + newCaseBehaviourGroup->add(&defaultScaleFactorZ); + newCaseBehaviourGroup->add(&autocomputeDepthRelatedProperties); + newCaseBehaviourGroup->add(&loadAndShowSoil); + newCaseBehaviourGroup->add(&showLasCurveWithoutTvdWarning); - caf::PdmUiGroup* readerSettingsGroup = uiOrdering.addNewGroup("Reader settings"); - std::vector readerSettingsFields; - readerSettings->fields(readerSettingsFields); - for (size_t i = 0; i < readerSettingsFields.size(); i++) + std::vector readerSettingsFields; + readerSettings->fields(readerSettingsFields); + for (size_t i = 0; i < readerSettingsFields.size(); i++) + { + newCaseBehaviourGroup->add(readerSettingsFields[i]); + } + + caf::PdmUiGroup* ssihubGroup = uiOrdering.addNewGroup("SSIHUB"); + ssihubGroup->add(&ssihubAddress); + + uiOrdering.add(&appendClassNameToUiText); + } + else if (uiConfigName == m_tabNames[1]) { - readerSettingsGroup->add(readerSettingsFields[i]); + caf::PdmUiGroup* octaveGroup = uiOrdering.addNewGroup("Octave"); + octaveGroup->add(&octaveExecutable); + octaveGroup->add(&octaveShowHeaderInfoWhenExecutingScripts); + + caf::PdmUiGroup* scriptGroup = uiOrdering.addNewGroup("Script files"); + scriptGroup->add(&scriptDirectories); + scriptGroup->add(&scriptEditorExecutable); } + else if (uiConfigName == m_tabNames[2]) + { + uiOrdering.add(&autoCreatePlotsOnImport); + uiOrdering.add(&defaultCurveFilter); + } + + uiOrdering.setForgetRemainingFields(true); } //-------------------------------------------------------------------------------------------------- -/// This function is called as part of the regression test system to make sure the configuration -/// for regression tests is consistent +/// //-------------------------------------------------------------------------------------------------- -void RiaPreferences::configureForRegressionTests() +QList RiaPreferences::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) { - useShaders = true; - showHud = false; + QList options; + *useOptionsOnly = true; - autocomputeDepthRelatedProperties = true; - loadAndShowSoil = true; + if (&fontSizeInScene == fieldNeedingOptions) + { + QStringList fontSizes; + fontSizes << "8"; + fontSizes << "12"; + fontSizes << "16"; + fontSizes << "24"; + fontSizes << "32"; + + for (int oIdx = 0; oIdx < fontSizes.size(); ++oIdx) + { + options.push_back(caf::PdmOptionItemInfo(fontSizes[oIdx], fontSizes[oIdx])); + } + } - CVF_ASSERT(readerSettings); - readerSettings->importFaults = false; + return options; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QStringList RiaPreferences::tabNames() +{ + return m_tabNames; } diff --git a/ApplicationCode/Application/RiaPreferences.h b/ApplicationCode/Application/RiaPreferences.h index cfce23e567..f69227aeed 100644 --- a/ApplicationCode/Application/RiaPreferences.h +++ b/ApplicationCode/Application/RiaPreferences.h @@ -40,7 +40,7 @@ class RiaPreferences : public caf::PdmObject RiaPreferences(void); virtual ~RiaPreferences(void); - void configureForRegressionTests(); + QStringList tabNames(); public: // Pdm Fields caf::PdmField > navigationPolicy; @@ -60,7 +60,7 @@ class RiaPreferences : public caf::PdmObject caf::PdmField defaultViewerBackgroundColor; caf::PdmField defaultWellLabelColor; caf::PdmField showLasCurveWithoutTvdWarning; - + caf::PdmField fontSizeInScene; caf::PdmField useShaders; caf::PdmField showHud; @@ -73,8 +73,17 @@ class RiaPreferences : public caf::PdmObject caf::PdmChildField readerSettings; + // Summary + + caf::PdmField autoCreatePlotsOnImport; + caf::PdmField defaultCurveFilter; + + protected: - virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute); + virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute); + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering); + virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly); - virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) ; +private: + QStringList m_tabNames; }; diff --git a/ApplicationCode/Application/RiaProjectModifier.cpp b/ApplicationCode/Application/RiaProjectModifier.cpp index 5aff5249ab..cb54b4d608 100644 --- a/ApplicationCode/Application/RiaProjectModifier.cpp +++ b/ApplicationCode/Application/RiaProjectModifier.cpp @@ -19,58 +19,32 @@ #include "RiaProjectModifier.h" -#include "RimProject.h" -#include "RimEclipseCaseCollection.h" -#include "RimOilField.h" -#include "RimIdenticalGridCaseGroup.h" #include "RimCaseCollection.h" +#include "RimEclipseCaseCollection.h" #include "RimEclipseResultCase.h" - -#include "RimEclipseView.h" -#include "RimWellPathCollection.h" -#include "RimScriptCollection.h" -#include "RimEclipsePropertyFilterCollection.h" -#include "RimEclipsePropertyFilter.h" -#include "RimReservoirCellResultsStorage.h" -#include "RimEclipseCellColors.h" -#include "RimCellEdgeColors.h" -#include "RimCellRangeFilterCollection.h" -#include "RimEclipseWellCollection.h" -#include "Rim3dOverlayInfoConfig.h" +#include "RimIdenticalGridCaseGroup.h" +#include "RimOilField.h" +#include "RimProject.h" #include #include - - -//================================================================================================== -// -// -// -//================================================================================================== - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RiaProjectModifier::RiaProjectModifier() -: m_replaceCase_caseId(UNDEFINED), - m_replaceSourceCases_caseGroupId(UNDEFINED) { } - - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaProjectModifier::setReplaceCaseFirstOccurence(QString newGridFileName) +void RiaProjectModifier::setReplaceCaseFirstOccurrence(QString newGridFileName) { - m_replaceCase_caseId = FIRST_OCCURENCE; - m_replaceCase_gridFileName = makeFilePathAbsolute(newGridFileName); + m_caseIdToGridFileNameMap[RiaProjectModifier::firstOccurrenceId()] = makeFilePathAbsolute(newGridFileName); } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -78,27 +52,18 @@ void RiaProjectModifier::setReplaceCase(int caseIdToReplace, QString newGridFile { if (caseIdToReplace >= 0) { - m_replaceCase_caseId = caseIdToReplace; - m_replaceCase_gridFileName = makeFilePathAbsolute(newGridFileName); + m_caseIdToGridFileNameMap[caseIdToReplace] = makeFilePathAbsolute(newGridFileName); } } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaProjectModifier::setReplaceSourceCasesFirstOccurence(std::vector newGridFileNames) +void RiaProjectModifier::setReplaceSourceCasesFirstOccurrence(std::vector newGridFileNames) { - m_replaceSourceCases_caseGroupId = FIRST_OCCURENCE; - - m_replaceSourceCases_gridFileNames.clear(); - foreach (QString fn, newGridFileNames) - { - m_replaceSourceCases_gridFileNames.push_back(makeFilePathAbsolute(fn)); - } + m_groupIdToGridFileNamesMap[RiaProjectModifier::firstOccurrenceId()] = newGridFileNames; } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -106,28 +71,21 @@ void RiaProjectModifier::setReplaceSourceCasesById(int caseGroupIdToReplace, std { if (caseGroupIdToReplace >= 0) { - m_replaceSourceCases_caseGroupId = caseGroupIdToReplace; - - m_replaceSourceCases_gridFileNames.clear(); - foreach (QString fn, newGridFileNames) - { - m_replaceSourceCases_gridFileNames.push_back(makeFilePathAbsolute(fn)); - } + m_groupIdToGridFileNamesMap[caseGroupIdToReplace] = newGridFileNames; } } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- bool RiaProjectModifier::applyModificationsToProject(RimProject* project) { - if (m_replaceCase_caseId != UNDEFINED && !m_replaceCase_gridFileName.isEmpty()) + if (m_caseIdToGridFileNameMap.size() > 0) { replaceCase(project); } - if (m_replaceSourceCases_caseGroupId != UNDEFINED && m_replaceSourceCases_gridFileNames.size() > 0) + if (m_groupIdToGridFileNamesMap.size() > 0) { replaceSourceCases(project); } @@ -135,90 +93,80 @@ bool RiaProjectModifier::applyModificationsToProject(RimProject* project) return true; } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -bool RiaProjectModifier::replaceSourceCases(RimProject* project) +void RiaProjectModifier::replaceSourceCases(RimProject* project) { - bool didReplacement = false; - - for (size_t oilFieldIdx = 0; oilFieldIdx < project->oilFields().size(); oilFieldIdx++) + for (RimOilField* oilField : project->oilFields()) { - RimOilField* oilField = project->oilFields[oilFieldIdx]; RimEclipseCaseCollection* analysisModels = oilField ? oilField->analysisModels() : NULL; if (analysisModels) { - const size_t numCaseGroups = analysisModels->caseGroups.size(); - for (size_t caseGrpIdx = 0; caseGrpIdx < numCaseGroups; ++caseGrpIdx) + for (RimIdenticalGridCaseGroup* caseGroup : analysisModels->caseGroups) { - RimIdenticalGridCaseGroup* caseGroup = analysisModels->caseGroups[caseGrpIdx]; - if (m_replaceSourceCases_caseGroupId == FIRST_OCCURENCE || - m_replaceSourceCases_caseGroupId == caseGroup->groupId) + for (auto item : m_groupIdToGridFileNamesMap) { - RimCaseCollection* caseCollection = caseGroup->caseCollection; - caseCollection->reservoirs.deleteAllChildObjects(); + int groupIdToReplace = item.first; + if (groupIdToReplace == RiaProjectModifier::firstOccurrenceId()) + { + groupIdToReplace = firstGroupId(project); + } - for (size_t i = 0; i < m_replaceSourceCases_gridFileNames.size(); i++) + if (groupIdToReplace == caseGroup->groupId()) { - QString fileName = m_replaceSourceCases_gridFileNames[i]; - QString caseName = caseNameFromGridFileName(fileName); + RimCaseCollection* caseCollection = caseGroup->caseCollection; + caseCollection->reservoirs.deleteAllChildObjects(); - // Use this slightly hackish method in order to get a new unique ID - RimEclipseResultCase* resCase = new RimEclipseResultCase; - resCase->setCaseInfo(caseName, fileName); + for (QString fileName : item.second) + { + QString caseName = caseNameFromGridFileName(fileName); - caseCollection->reservoirs.push_back(resCase); - } + // Use this slightly hackish method in order to get a new unique ID + RimEclipseResultCase* resCase = new RimEclipseResultCase; + resCase->setCaseInfo(caseName, fileName); - didReplacement = true; - - if (m_replaceSourceCases_caseGroupId == FIRST_OCCURENCE) - { - return true; + caseCollection->reservoirs.push_back(resCase); + } } } } } } - - return didReplacement; } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -bool RiaProjectModifier::replaceCase(RimProject* project) +void RiaProjectModifier::replaceCase(RimProject* project) { - bool didReplacement = false; std::vector allCases; project->allCases(allCases); - - for (size_t caseIdx = 0; caseIdx < allCases.size(); ++caseIdx) + + for (RimCase* rimCase : allCases) { - RimEclipseResultCase* resultCase = dynamic_cast(allCases[caseIdx]); + RimEclipseResultCase* resultCase = dynamic_cast(rimCase); if (resultCase) { - if (m_replaceCase_caseId == FIRST_OCCURENCE || - m_replaceCase_caseId == resultCase->caseId()) + for (auto item : m_caseIdToGridFileNameMap) { - resultCase->setGridFileName(m_replaceCase_gridFileName); - resultCase->caseUserDescription = caseNameFromGridFileName(m_replaceCase_gridFileName); - didReplacement = true; + int caseIdToReplace = item.first; + if (caseIdToReplace == RiaProjectModifier::firstOccurrenceId()) + { + caseIdToReplace = firstCaseId(project); + } - if (m_replaceCase_caseId == FIRST_OCCURENCE) + if (caseIdToReplace == resultCase->caseId()) { - return true; + QString replaceFileName = item.second; + resultCase->setGridFileName(replaceFileName); + resultCase->caseUserDescription = caseNameFromGridFileName(replaceFileName); } } } } - - return didReplacement; } - //-------------------------------------------------------------------------------------------------- /// Returns absolute path name to the specified file. /// @@ -232,7 +180,6 @@ QString RiaProjectModifier::makeFilePathAbsolute(QString relOrAbsolutePath) return theFile.filePath(); } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -248,4 +195,52 @@ QString RiaProjectModifier::caseNameFromGridFileName(QString fullGridFilePathNam return deepestDirPlusFileName; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int RiaProjectModifier::firstCaseId(RimProject* project) +{ + std::vector allCases; + project->allCases(allCases); + + for (RimCase* rimCase : allCases) + { + RimEclipseResultCase* resultCase = dynamic_cast(rimCase); + if (resultCase) + { + return resultCase->caseId(); + } + } + + return -1; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int RiaProjectModifier::firstGroupId(RimProject* project) +{ + for (size_t oilFieldIdx = 0; oilFieldIdx < project->oilFields().size(); oilFieldIdx++) + { + RimOilField* oilField = project->oilFields[oilFieldIdx]; + RimEclipseCaseCollection* analysisModels = oilField ? oilField->analysisModels() : NULL; + if (analysisModels) + { + if (analysisModels->caseGroups.size() > 0) + { + return analysisModels->caseGroups[0]->groupId(); + } + } + } + + return -1; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int RiaProjectModifier::firstOccurrenceId() +{ + return -999; +} diff --git a/ApplicationCode/Application/RiaProjectModifier.h b/ApplicationCode/Application/RiaProjectModifier.h index da0e0c16db..ffb3f1035b 100644 --- a/ApplicationCode/Application/RiaProjectModifier.h +++ b/ApplicationCode/Application/RiaProjectModifier.h @@ -25,6 +25,7 @@ #include #include +#include class RimProject; @@ -40,32 +41,27 @@ class RiaProjectModifier : public cvf::Object public: RiaProjectModifier(); - void setReplaceCaseFirstOccurence(QString newGridFileName); + void setReplaceCaseFirstOccurrence(QString newGridFileName); void setReplaceCase(int caseIdToReplace, QString newGridFileName); - void setReplaceSourceCasesFirstOccurence(std::vector newGridFileNames); + void setReplaceSourceCasesFirstOccurrence(std::vector newGridFileNames); void setReplaceSourceCasesById(int caseGroupIdToReplace, std::vector newGridFileNames); bool applyModificationsToProject(RimProject* project); private: - bool replaceSourceCases(RimProject* project); - bool replaceCase(RimProject* project); + void replaceSourceCases(RimProject* project); + void replaceCase(RimProject* project); static QString makeFilePathAbsolute(QString relOrAbsolutePath); static QString caseNameFromGridFileName(QString fullGridFilePathName); -private: - int m_replaceCase_caseId; - QString m_replaceCase_gridFileName; + static int firstCaseId(RimProject* project); + static int firstGroupId(RimProject* project); - int m_replaceSourceCases_caseGroupId; - std::vector m_replaceSourceCases_gridFileNames; + static int firstOccurrenceId(); - static const int UNDEFINED = -1; - static const int FIRST_OCCURENCE = -999; +private: + std::map m_caseIdToGridFileNameMap; + std::map > m_groupIdToGridFileNamesMap; }; - - - - diff --git a/ApplicationCode/CMakeLists.txt b/ApplicationCode/CMakeLists.txt index 46fdebb4bf..1269c7b3af 100644 --- a/ApplicationCode/CMakeLists.txt +++ b/ApplicationCode/CMakeLists.txt @@ -21,19 +21,32 @@ include_directories( ${cafUserInterface_SOURCE_DIR} ${cafPdmCvf_SOURCE_DIR} ${CommonCode_SOURCE_DIR} + ${cafVizExtensions_SOURCE_DIR} + ${cafTensor_SOURCE_DIR} ${ResInsight_SOURCE_DIR}/ThirdParty + ${ResInsight_SOURCE_DIR}/ThirdParty/NRLib/nrlib/well + ${ResInsight_SOURCE_DIR}/ThirdParty/Qwt/src + ${ERT_INCLUDE_DIRS} + + ${Boost_INCLUDE_DIRS} + ${ResInsight_SOURCE_DIR}/ThirdParty/custom-opm-common/opm-common/ + ${custom-opm-parser_SOURCE_DIR}/opm-parser/ + ${custom-opm-flowdiagnostics_SOURCE_DIR}/opm-flowdiagnostics/ ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/Adm ${CMAKE_CURRENT_SOURCE_DIR}/Application ${CMAKE_CURRENT_SOURCE_DIR}/Commands + ${CMAKE_CURRENT_SOURCE_DIR}/Commands/EclipseCommands ${CMAKE_CURRENT_SOURCE_DIR}/FileInterface ${CMAKE_CURRENT_SOURCE_DIR}/SocketInterface ${CMAKE_CURRENT_SOURCE_DIR}/ModelVisualization ${CMAKE_CURRENT_SOURCE_DIR}/ModelVisualization/GridBox + ${CMAKE_CURRENT_SOURCE_DIR}/ModelVisualization/Intersections ${CMAKE_CURRENT_SOURCE_DIR}/UserInterface ${CMAKE_CURRENT_SOURCE_DIR}/ProjectDataModel + ${CMAKE_CURRENT_SOURCE_DIR}/ProjectDataModel/Summary ${CMAKE_CURRENT_SOURCE_DIR}/ResultStatisticsCache ${CMAKE_CURRENT_SOURCE_DIR}/ReservoirDataModel ${CMAKE_CURRENT_SOURCE_DIR}/WellPathImportSsihub @@ -63,42 +76,6 @@ set( APPLICATION_FILES Application/RiaRegressionTest.cpp ) -set( USER_INTERFACE_FILES - UserInterface/RiuCursors.cpp - UserInterface/RiuResultTextBuilder.cpp - UserInterface/RiuFemResultTextBuilder.cpp - UserInterface/RiuMainWindow.cpp - UserInterface/RiuResultInfoPanel.cpp - UserInterface/RiuViewer.cpp - UserInterface/RiuSimpleHistogramWidget.cpp - UserInterface/RiuMultiCaseImportDialog.cpp - UserInterface/RiuProcessMonitor.cpp - UserInterface/RiuViewerCommands.cpp - UserInterface/RiuCadNavigation.cpp - UserInterface/RiuRmsNavigation.cpp - UserInterface/RiuGeoQuestNavigation.cpp - UserInterface/RiuDragDrop.cpp - UserInterface/RiuDragDrop.h - UserInterface/RiuTreeViewEventFilter.cpp - UserInterface/RiuTreeViewEventFilter.h - UserInterface/RiuWellLogPlot.cpp - UserInterface/RiuWellLogPlot.h - UserInterface/RiuLineSegmentQwtPlotCurve.cpp - UserInterface/RiuLineSegmentQwtPlotCurve.h - UserInterface/RiuWellLogTrack.cpp - UserInterface/RiuWellLogTrack.h - UserInterface/RiuProjectPropertyView.h - UserInterface/RiuProjectPropertyView.cpp - UserInterface/RiuResultQwtPlot.h - UserInterface/RiuResultQwtPlot.cpp - UserInterface/RiuSelectionManager.h - UserInterface/RiuSelectionManager.cpp - UserInterface/RiuSelectionColors.h - UserInterface/RiuSelectionColors.cpp - UserInterface/RiuSelectionChangedHandler.h - UserInterface/RiuSelectionChangedHandler.cpp -) - set( SOCKET_INTERFACE_FILES SocketInterface/RiaSocketServer.cpp SocketInterface/RiaProjectInfoCommands.cpp @@ -112,7 +89,6 @@ set( SOCKET_INTERFACE_FILES list( APPEND CPP_SOURCES ${APPLICATION_FILES} - ${USER_INTERFACE_FILES} ${SOCKET_INTERFACE_FILES} ${UNIT_TEST_FILES} ) @@ -121,20 +97,30 @@ list( APPEND REFERENCED_CMAKE_FILES ReservoirDataModel/CMakeLists_files.cmake ReservoirDataModel/CMakeLists_filesNotToUnitTest.cmake FileInterface/CMakeLists_files.cmake + ProjectDataModel/CMakeLists_files.cmake + ProjectDataModel/Summary/CMakeLists_files.cmake + GeoMech/GeoMechVisualization/CMakeLists_files.cmake ModelVisualization/CMakeLists_files.cmake ModelVisualization/GridBox/CMakeLists_files.cmake + ModelVisualization/Intersections/CMakeLists_files.cmake + + UserInterface/CMakeLists_files.cmake Commands/CMakeLists_files.cmake + Commands/ApplicationCommands/CMakeLists_files.cmake + Commands/CrossSectionCommands/CMakeLists_files.cmake + Commands/EclipseCommands/CMakeLists_files.cmake + Commands/IntersectionBoxCommands/CMakeLists_files.cmake + Commands/OctaveScriptCommands/CMakeLists_files.cmake Commands/OperationsUsingObjReferences/CMakeLists_files.cmake + Commands/SummaryPlotCommands/CMakeLists_files.cmake Commands/ToggleCommands/CMakeLists_files.cmake - Commands/OctaveScriptCommands/CMakeLists_files.cmake Commands/ViewLink/CMakeLists_files.cmake Commands/WellLogCommands/CMakeLists_files.cmake Commands/WellPathCommands/CMakeLists_files.cmake - Commands/CrossSectionCommands/CMakeLists_files.cmake ) option (RESINSIGHT_INCLUDE_APPLICATION_UNIT_TESTS "Include ApplicationCode Unit Tests" OFF) @@ -190,26 +176,13 @@ set ( QT_MOC_HEADERS Application/RiaApplication.h ProjectDataModel/RimMimeData.h + ProjectDataModel/RimIntersectionBox.h - UserInterface/RiuMainWindow.h - UserInterface/RiuResultInfoPanel.h - UserInterface/RiuViewer.h - UserInterface/RiuProcessMonitor.h SocketInterface/RiaSocketServer.h - UserInterface/RiuMultiCaseImportDialog.h - UserInterface/RiuViewerCommands.h - UserInterface/RiuTreeViewEventFilter.h - UserInterface/RiuWellLogPlot.h - UserInterface/RiuWellLogTrack.h ) qt4_wrap_cpp( MOC_FILES_CPP ${QT_MOC_HEADERS} ) -# Define files for the uic compiler -set ( QT_UI_FILES - UserInterface/RiuMultiCaseImportDialog.ui -) - qt4_wrap_ui( FORM_FILES_CPP ${QT_UI_FILES} ) # NOTE! Resources in subfolders must append to QRC_FILES using the following statement @@ -232,67 +205,12 @@ if ( MSVC ) set( WIN_RESOURCE Resources/ResInsight.rc ) endif() -############################################################################# -# creating PCH's for MSVC and GCC on Linux -############################################################################# - -#set( RAW_SOURCES ${CPP_SOURCES} ) -# -#list( REMOVE_ITEM RAW_SOURCES -# RiaStdInclude.cpp -# -# ${CODE_SOURCE_FILES} -# -# ModelVisualization/RivCellEdgeEffectGenerator.cpp -# ModelVisualization/RivPipeGeometryGenerator.cpp -# ModelVisualization/RivWellPipesPartMgr.cpp -# ModelVisualization/RivWellHeadPartMgr.cpp -# -# Application/RiaImageFileCompare.cpp -# Application/RiaImageCompareReporter.cpp -# Application/RiaRegressionTest.cpp -# -# SocketInterface/RiaSocketDataTransfer.cpp -# -# FileInterface/RifEclipseInputFileTools.cpp -# FileInterface/RifEclipseOutputFileTools.cpp -# FileInterface/RifEclipseRestartFilesetAccess.cpp -# FileInterface/RifEclipseRestartDataAccess.cpp -# FileInterface/RifEclipseUnifiedRestartFileAccess.cpp -# FileInterface/RifReaderEclipseInput.cpp -# FileInterface/RifReaderEclipseOutput.cpp -# -# UserInterface/RiuSimpleHistogramWidget.cpp -# UserInterface/RiuMultiCaseImportDialog.cpp -# UserInterface/RiuResultTextBuilder.cpp -#) -# -#include( CustomPCH.cmake ) -#set( ALL_INCLUDES -# ${LibCore_SOURCE_DIR} -# ${LibGeometry_SOURCE_DIR} -# ${LibGuiQt_SOURCE_DIR} -# ${LibRender_SOURCE_DIR} -# ${LibViewing_SOURCE_DIR} -# ${QT_INCLUDES} -#) -# -#set( PCH_NAME RiaStdInclude ) -#set( GCC_PCH_TARGET gccPCH ) -#set( PCH_COMPILER_DEFINE EMPTY ) -#IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") -# set( PCH_COMPILER_DEFINE CVF_LINUX) -#ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") -# -#precompiled_header( RAW_SOURCES ALL_INCLUDES ${GCC_PCH_TARGET} ${PCH_NAME} ${PCH_COMPILER_DEFINE} ) - ################################################################################ # Create source groups - see also included CMakeLists_files.cmake ################################################################################ source_group( "Application" FILES ${APPLICATION_FILES} ) source_group( "ModelVisualization" FILES ${MODEL_VISUALIZATION_FILES} ) -source_group( "UserInterface" FILES ${USER_INTERFACE_FILES} ) source_group( "SocketInterface" FILES ${SOCKET_INTERFACE_FILES} ) source_group( "UnitTests" FILES ${UNIT_TEST_FILES} ) @@ -349,49 +267,40 @@ endif () # Set up libraries and dependent projects to link with ############################################################################# +if (MSVC) + set (RI_BOOST_LIBRARIES + debug ${Boost_SYSTEM_LIBRARY_DEBUG} + optimized ${Boost_SYSTEM_LIBRARY_RELEASE} + debug ${Boost_FILESYSTEM_LIBRARY_DEBUG} + optimized ${Boost_FILESYSTEM_LIBRARY_RELEASE} + debug ${Boost_REGEX_LIBRARY_DEBUG} + optimized ${Boost_REGEX_LIBRARY_RELEASE} + ) +else() + set (RI_BOOST_LIBRARIES ${Boost_LIBRARIES}) +endif() + + set( LINK_LIBRARIES + custom-opm-parser + custom-opm-flowdiagnostics + WellPathImportSsihub -# cafPdmCvf -# cafUserInterface -# cafProjectDataModel -# cafViewer -# cafAnimControl -# cafTensor -# CommonCode - - #cafPdmCore - #cafPdmUiCore - cafPdmXml - #cafProjectDataModel - - cafUserInterface - cafViewer - cafAnimControl - cafCommand - cafPdmCvf - - cafTensor - CommonCode - - LibGuiQt - LibViewing - LibRender - LibGeometry - LibCore - ResultStatisticsCache RigGeoMechDataModel - ecl - ert_util - ert_geometry - ecl_well - + ${APP_FWK_LIBRARIES} + ${VIZ_FWK_LIBRARIES} + + ${ERT_LIBRARIES} + NRLib ${OPENGL_LIBRARIES} ${QT_LIBRARIES} + + ${RI_BOOST_LIBRARIES} Qwt ) @@ -412,6 +321,53 @@ ENDIF() target_link_libraries( ResInsight ${LINK_LIBRARIES} ${EXTERNAL_LINK_LIBRARIES}) + +############################################################################# +# cotire +############################################################################# +if(RESINSIGHT_ENABLE_COTIRE) + + # forever is used as variable name, and this symbol is defined by Qt and used in precompiled headers + set_source_files_properties (${ResInsight_SOURCE_DIR}/ThirdParty/gtest/gtest-all.cc PROPERTIES COTIRE_EXCLUDED TRUE) + + # multiple QRC files are not supported + set_source_files_properties (qrc_cafAnimControl.cxx PROPERTIES COTIRE_EXCLUDED TRUE) + + # TODO: Revisit why opm-parser is not working + set_source_files_properties (UnitTests/opm-parser-Test.cpp PROPERTIES COTIRE_EXCLUDED TRUE) + + # variables at global file scope + set_source_files_properties (ModelVisualization/Intersections/RivIntersectionGeometryGenerator.cpp PROPERTIES COTIRE_EXCLUDED TRUE) + set_source_files_properties (ModelVisualization/Intersections/RivIntersectionPartMgr.cpp PROPERTIES COTIRE_EXCLUDED TRUE) + set_source_files_properties (ModelVisualization/Intersections/RivIntersectionBoxPartMgr.cpp PROPERTIES COTIRE_EXCLUDED TRUE) + + set_source_files_properties (ModelVisualization/GridBox/RivGridBoxGenerator.cpp PROPERTIES COTIRE_EXCLUDED TRUE) + set_source_files_properties (Commands/WellLogCommands/RicWellLogPlotCurveFeatureImpl.cpp PROPERTIES COTIRE_EXCLUDED TRUE) + + # using namespace cvf + set_source_files_properties (GeoMech/GeoMechVisualization/RivFemPartGeometryGenerator.cpp PROPERTIES COTIRE_EXCLUDED TRUE) + set_source_files_properties (UnitTests/cvfGeometryTools-Test.cpp PROPERTIES COTIRE_EXCLUDED TRUE) + set_source_files_properties (UnitTests/opm-parser-Performance-Test.cpp PROPERTIES COTIRE_EXCLUDED TRUE) + + # opm parser + set_source_files_properties (FileInterface/RifReaderOpmParserInput.cpp PROPERTIES COTIRE_EXCLUDED TRUE) + set_source_files_properties (ProjectDataModel/RimProject.cpp PROPERTIES COTIRE_EXCLUDED TRUE) + set_source_files_properties (UnitTests/opm-parser-Performance-Test.cpp PROPERTIES COTIRE_EXCLUDED TRUE) + set_source_files_properties (UnitTests/opm-Test.cpp PROPERTIES COTIRE_EXCLUDED TRUE) + + set_target_properties(ResInsight PROPERTIES COTIRE_ENABLE_PRECOMPILED_HEADER FALSE) + + cotire(ResInsight) + + # make sure the unity target is included in the active builds to trigger rebuild before debug + get_target_property(_unityTargetName ResInsight COTIRE_UNITY_TARGET_NAME) + set_target_properties(${_unityTargetName} PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD FALSE) + set_target_properties(ResInsight PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD TRUE) + +endif() + + + ############################################################################# # Copy Dlls on MSVC ############################################################################# @@ -434,6 +390,12 @@ if ((MSVC) AND (${RESINSIGHT_USE_ODB_API})) COMMAND ${CMAKE_COMMAND} -E copy_if_different "${RESINSIGHT_ODB_API_DIR}/lib/${aDLL}" "${CMAKE_CURRENT_BINARY_DIR}/$") + if (_unityTargetName) + add_custom_command(TARGET ${_unityTargetName} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${RESINSIGHT_ODB_API_DIR}/lib/${aDLL}" + "${CMAKE_CURRENT_BINARY_DIR}/$") + endif() endforeach() endif() @@ -448,6 +410,12 @@ if (MSVC) COMMAND ${CMAKE_COMMAND} -E copy_if_different "${QT_BINARY_DIR}/${qtlib}4.dll" "${CMAKE_CURRENT_BINARY_DIR}/$") + if (_unityTargetName) + add_custom_command(TARGET ResInsight POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${QT_BINARY_DIR}/${qtlib}4.dll" + "${CMAKE_CURRENT_BINARY_DIR}/$") + endif() endforeach( qtlib ) endif(MSVC) @@ -466,16 +434,24 @@ if (RESINSIGHT_PRIVATE_INSTALL) if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") # tell binary to first attempt to load libraries from its own directory + set(RESINSIGHT_INSTALL_RPATH "\$ORIGIN") if (${RESINSIGHT_USE_ODB_API}) # This is a "hack" to make ResInsight runtime find the ODB so files used when compiling. # statoil wanted it this way, but we should probbly make a different installoptions that does things this way, # and really do copy them when doing PRIVATE_INSTALL - set_target_properties (ResInsight PROPERTIES INSTALL_RPATH "\$ORIGIN;${RESINSIGHT_ODB_API_DIR}/lib") - else() - set_target_properties (ResInsight PROPERTIES INSTALL_RPATH "\$ORIGIN") + set(RESINSIGHT_INSTALL_RPATH ${RESINSIGHT_INSTALL_RPATH} ${RESINSIGHT_ODB_API_DIR}/lib) + endif() + + if (EXISTS ${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT}) + # append the external ERT lib root + set(RESINSIGHT_INSTALL_RPATH ${RESINSIGHT_INSTALL_RPATH} ${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT}) endif() + + #message("RESINSIGHT_INSTALL_RPATH : " "${RESINSIGHT_INSTALL_RPATH}") + set_target_properties (ResInsight PROPERTIES INSTALL_RPATH "${RESINSIGHT_INSTALL_RPATH}") + # Find Qt libraries and sym links file (GLOB RESINSIGHT_FILES ${QT_LIBRARY_DIR}/libQtCore.so* diff --git a/ApplicationCode/Commands/ApplicationCommands/CMakeLists_files.cmake b/ApplicationCode/Commands/ApplicationCommands/CMakeLists_files.cmake new file mode 100644 index 0000000000..c93e9cf97b --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/CMakeLists_files.cmake @@ -0,0 +1,51 @@ + +# Use this workaround until we're on 2.8.3 on all platforms and can use CMAKE_CURRENT_LIST_DIR directly +if (${CMAKE_VERSION} VERSION_GREATER "2.8.2") + set(CEE_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_DIR}/) +endif() + +set (SOURCE_GROUP_HEADER_FILES +${CEE_CURRENT_LIST_DIR}RicLaunchUnitTestsFeature.h +${CEE_CURRENT_LIST_DIR}RicShowPlotWindowFeature.h +${CEE_CURRENT_LIST_DIR}RicShowMainWindowFeature.h +${CEE_CURRENT_LIST_DIR}RicTileWindowsFeature.h +${CEE_CURRENT_LIST_DIR}RicOpenProjectFeature.h +${CEE_CURRENT_LIST_DIR}RicOpenLastUsedFileFeature.h +${CEE_CURRENT_LIST_DIR}RicSaveProjectFeature.h +${CEE_CURRENT_LIST_DIR}RicSaveProjectAsFeature.h +${CEE_CURRENT_LIST_DIR}RicExitApplicationFeature.h +${CEE_CURRENT_LIST_DIR}RicCloseProjectFeature.h +${CEE_CURRENT_LIST_DIR}RicHelpFeatures.h +${CEE_CURRENT_LIST_DIR}RicEditPreferencesFeature.h +) + +set (SOURCE_GROUP_SOURCE_FILES +${CEE_CURRENT_LIST_DIR}RicLaunchUnitTestsFeature.cpp +${CEE_CURRENT_LIST_DIR}RicShowPlotWindowFeature.cpp +${CEE_CURRENT_LIST_DIR}RicShowMainWindowFeature.cpp +${CEE_CURRENT_LIST_DIR}RicTileWindowsFeature.cpp +${CEE_CURRENT_LIST_DIR}RicOpenProjectFeature.cpp +${CEE_CURRENT_LIST_DIR}RicOpenLastUsedFileFeature.cpp +${CEE_CURRENT_LIST_DIR}RicSaveProjectFeature.cpp +${CEE_CURRENT_LIST_DIR}RicSaveProjectAsFeature.cpp +${CEE_CURRENT_LIST_DIR}RicExitApplicationFeature.cpp +${CEE_CURRENT_LIST_DIR}RicCloseProjectFeature.cpp +${CEE_CURRENT_LIST_DIR}RicHelpFeatures.cpp +${CEE_CURRENT_LIST_DIR}RicEditPreferencesFeature.cpp +) + +list(APPEND CODE_HEADER_FILES +${SOURCE_GROUP_HEADER_FILES} +) + +list(APPEND CODE_SOURCE_FILES +${SOURCE_GROUP_SOURCE_FILES} +) + +#set (QT_MOC_HEADERS +#${QT_MOC_HEADERS} +#${CEE_CURRENT_LIST_DIR}RicBoxManipulatorEventHandler.h +#) + + +source_group( "CommandFeature\\Application" FILES ${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES} ${CEE_CURRENT_LIST_DIR}CMakeLists_files.cmake ) diff --git a/ApplicationCode/Commands/ApplicationCommands/RicCloseProjectFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicCloseProjectFeature.cpp new file mode 100644 index 0000000000..be166c4449 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicCloseProjectFeature.cpp @@ -0,0 +1,51 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicCloseProjectFeature.h" + +#include "RiaApplication.h" + +#include + +CAF_CMD_SOURCE_INIT(RicCloseProjectFeature, "RicCloseProjectFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicCloseProjectFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicCloseProjectFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + + app->closeProject(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicCloseProjectFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("&Close Project"); +} diff --git a/ApplicationCode/Commands/ApplicationCommands/RicCloseProjectFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicCloseProjectFeature.h new file mode 100644 index 0000000000..9bd00ea0fa --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicCloseProjectFeature.h @@ -0,0 +1,38 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicCloseProjectFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; +}; + + diff --git a/ApplicationCode/Commands/ApplicationCommands/RicEditPreferencesFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicEditPreferencesFeature.cpp new file mode 100644 index 0000000000..7fecdbba4e --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicEditPreferencesFeature.cpp @@ -0,0 +1,68 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicEditPreferencesFeature.h" + +#include "RiaApplication.h" +#include "RiaPreferences.h" + +#include "RiuPropertyViewTabWidget.h" + +#include "cafPdmSettings.h" + +#include + +CAF_CMD_SOURCE_INIT(RicEditPreferencesFeature, "RicEditPreferencesFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicEditPreferencesFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicEditPreferencesFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + + QStringList tabNames = app->preferences()->tabNames(); + RiuPropertyViewTabWidget propertyDialog(NULL, app->preferences(), "Preferences", tabNames); + if (propertyDialog.exec() == QDialog::Accepted) + { + // Write preferences using QSettings and apply them to the application + caf::PdmSettings::writeFieldsToApplicationStore(app->preferences()); + app->applyPreferences(); + } + else + { + // Read back currently stored values using QSettings + caf::PdmSettings::readFieldsFromApplicationStore(app->preferences()); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicEditPreferencesFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("&Preferences..."); +} diff --git a/ApplicationCode/Commands/ApplicationCommands/RicEditPreferencesFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicEditPreferencesFeature.h new file mode 100644 index 0000000000..2bebf4a594 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicEditPreferencesFeature.h @@ -0,0 +1,38 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicEditPreferencesFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; +}; + + diff --git a/ApplicationCode/Commands/ApplicationCommands/RicExitApplicationFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicExitApplicationFeature.cpp new file mode 100644 index 0000000000..9c206256f0 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicExitApplicationFeature.cpp @@ -0,0 +1,50 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicExitApplicationFeature.h" + +#include "RiaApplication.h" + +#include + +CAF_CMD_SOURCE_INIT(RicExitApplicationFeature, "RicExitApplicationFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicExitApplicationFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicExitApplicationFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + app->closeAllWindows(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicExitApplicationFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("E&xit"); +} diff --git a/ApplicationCode/Commands/ApplicationCommands/RicExitApplicationFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicExitApplicationFeature.h new file mode 100644 index 0000000000..1649301784 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicExitApplicationFeature.h @@ -0,0 +1,38 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicExitApplicationFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; +}; + + diff --git a/ApplicationCode/Commands/ApplicationCommands/RicHelpFeatures.cpp b/ApplicationCode/Commands/ApplicationCommands/RicHelpFeatures.cpp new file mode 100644 index 0000000000..80dc2d4713 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicHelpFeatures.cpp @@ -0,0 +1,151 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicHelpFeatures.h" + +#include "RiaBaseDefs.h" +#include "RiaApplication.h" + +#include "RiuMainWindow.h" + +#include "cafAboutDialog.h" +#include "cafViewer.h" + +#include +#include +#include +#include + +CAF_CMD_SOURCE_INIT(RicHelpAboutFeature, "RicHelpAboutFeature"); +CAF_CMD_SOURCE_INIT(RicHelpCommandLineFeature, "RicHelpCommandLineFeature"); +CAF_CMD_SOURCE_INIT(RicHelpOpenUsersGuideFeature, "RicHelpOpenUsersGuideFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicHelpAboutFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicHelpAboutFeature::onActionTriggered(bool isChecked) +{ + caf::AboutDialog dlg(NULL); + + dlg.setApplicationName(RI_APPLICATION_NAME); + dlg.setApplicationVersion(RiaApplication::getVersionStringApp(true)); + dlg.setCopyright("Copyright Statoil ASA, Ceetron Solutions AS, Ceetron AS"); + dlg.showQtVersion(false); +#ifdef _DEBUG + dlg.setIsDebugBuild(true); +#endif + + dlg.addVersionEntry(" ", "ResInsight is made available under the GNU General Public License v. 3"); + dlg.addVersionEntry(" ", "See http://www.gnu.org/licenses/gpl.html"); + dlg.addVersionEntry(" ", " "); + dlg.addVersionEntry(" ", " "); + dlg.addVersionEntry(" ", "Technical Information"); + dlg.addVersionEntry(" ", QString(" Qt ") + qVersion()); + dlg.addVersionEntry(" ", QString(" ") + caf::AboutDialog::versionStringForcurrentOpenGLContext()); + dlg.addVersionEntry(" ", caf::Viewer::isShadersSupported() ? " Hardware OpenGL" : " Software OpenGL"); + + dlg.create(); + dlg.resize(300, 200); + + dlg.exec(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicHelpAboutFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("&About"); +} + + + + + + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicHelpCommandLineFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicHelpCommandLineFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + QString text = app->commandLineParameterHelp(); + app->showFormattedTextInMessageBox(text); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicHelpCommandLineFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("&Command Line Help"); +} + + + + + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicHelpOpenUsersGuideFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicHelpOpenUsersGuideFeature::onActionTriggered(bool isChecked) +{ + QString usersGuideUrl = "http://resinsight.org/docs/home"; + + if (!QDesktopServices::openUrl(usersGuideUrl)) + { + QErrorMessage* errorHandler = QErrorMessage::qtHandler(); + errorHandler->showMessage("Failed open browser with the following url\n\n" + usersGuideUrl); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicHelpOpenUsersGuideFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("&Users Guide"); +} + + diff --git a/ApplicationCode/Commands/ApplicationCommands/RicHelpFeatures.h b/ApplicationCode/Commands/ApplicationCommands/RicHelpFeatures.h new file mode 100644 index 0000000000..c2e794c337 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicHelpFeatures.h @@ -0,0 +1,68 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicHelpAboutFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; +}; + + +//================================================================================================== +/// +//================================================================================================== +class RicHelpCommandLineFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered(bool isChecked) override; + virtual void setupActionLook(QAction* actionToSetup) override; +}; + + +//================================================================================================== +/// +//================================================================================================== +class RicHelpOpenUsersGuideFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered(bool isChecked) override; + virtual void setupActionLook(QAction* actionToSetup) override; +}; + + diff --git a/ApplicationCode/Commands/RicLaunchUnitTestsFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicLaunchUnitTestsFeature.cpp similarity index 100% rename from ApplicationCode/Commands/RicLaunchUnitTestsFeature.cpp rename to ApplicationCode/Commands/ApplicationCommands/RicLaunchUnitTestsFeature.cpp diff --git a/ApplicationCode/Commands/RicLaunchUnitTestsFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicLaunchUnitTestsFeature.h similarity index 100% rename from ApplicationCode/Commands/RicLaunchUnitTestsFeature.h rename to ApplicationCode/Commands/ApplicationCommands/RicLaunchUnitTestsFeature.h diff --git a/ApplicationCode/Commands/ApplicationCommands/RicOpenLastUsedFileFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicOpenLastUsedFileFeature.cpp new file mode 100644 index 0000000000..2bc4e7662f --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicOpenLastUsedFileFeature.cpp @@ -0,0 +1,58 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicOpenLastUsedFileFeature.h" + +#include "RiaApplication.h" +#include "RiaPreferences.h" + +#include "RiuMainWindow.h" + +#include + +CAF_CMD_SOURCE_INIT(RicOpenLastUsedFileFeature, "RicOpenLastUsedFileFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicOpenLastUsedFileFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicOpenLastUsedFileFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + QString fileName = app->preferences()->lastUsedProjectFileName; + + if (app->loadProject(fileName)) + { + app->addToRecentFiles(fileName); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicOpenLastUsedFileFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Open &Last Used Project"); +} diff --git a/ApplicationCode/Commands/ApplicationCommands/RicOpenLastUsedFileFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicOpenLastUsedFileFeature.h new file mode 100644 index 0000000000..8e2a53c160 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicOpenLastUsedFileFeature.h @@ -0,0 +1,38 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicOpenLastUsedFileFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; +}; + + diff --git a/ApplicationCode/Commands/ApplicationCommands/RicOpenProjectFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicOpenProjectFeature.cpp new file mode 100644 index 0000000000..bd13d777c9 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicOpenProjectFeature.cpp @@ -0,0 +1,66 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicOpenProjectFeature.h" + +#include "RiaApplication.h" + +#include "RiuMainWindow.h" + +#include +#include +#include + +CAF_CMD_SOURCE_INIT(RicOpenProjectFeature, "RicOpenProjectFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicOpenProjectFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicOpenProjectFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + QString defaultDir = app->lastUsedDialogDirectory("BINARY_GRID"); + QString fileName = QFileDialog::getOpenFileName(NULL, "Open ResInsight Project", defaultDir, "ResInsight project (*.rsp *.rip);;All files(*.*)"); + + if (fileName.isEmpty()) return; + + // Remember the path to next time + app->setLastUsedDialogDirectory("BINARY_GRID", QFileInfo(fileName).absolutePath()); + + if (app->loadProject(fileName)) + { + app->addToRecentFiles(fileName); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicOpenProjectFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Open Project"); + actionToSetup->setIcon(QIcon(":/openFolder24x24.png")); +} diff --git a/ApplicationCode/Commands/ApplicationCommands/RicOpenProjectFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicOpenProjectFeature.h new file mode 100644 index 0000000000..293f1934ac --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicOpenProjectFeature.h @@ -0,0 +1,38 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicOpenProjectFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; +}; + + diff --git a/ApplicationCode/Commands/ApplicationCommands/RicSaveProjectAsFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicSaveProjectAsFeature.cpp new file mode 100644 index 0000000000..e06e998393 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicSaveProjectAsFeature.cpp @@ -0,0 +1,57 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicSaveProjectAsFeature.h" + +#include "RicSaveProjectFeature.h" + +#include "RiaApplication.h" + + +#include + +CAF_CMD_SOURCE_INIT(RicSaveProjectAsFeature, "RicSaveProjectAsFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicSaveProjectAsFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSaveProjectAsFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + + RicSaveProjectFeature::storeTreeViewState(); + + app->saveProjectPromptForFileName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSaveProjectAsFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Save Project &As"); + actionToSetup->setIcon(QIcon(":/Save.png")); +} diff --git a/ApplicationCode/Commands/ApplicationCommands/RicSaveProjectAsFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicSaveProjectAsFeature.h new file mode 100644 index 0000000000..94ac73c996 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicSaveProjectAsFeature.h @@ -0,0 +1,38 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicSaveProjectAsFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; +}; + + diff --git a/ApplicationCode/Commands/ApplicationCommands/RicSaveProjectFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicSaveProjectFeature.cpp new file mode 100644 index 0000000000..76be1bab22 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicSaveProjectFeature.cpp @@ -0,0 +1,106 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicSaveProjectFeature.h" + +#include "RiaApplication.h" + +#include "RimTreeViewStateSerializer.h" +#include "RimProject.h" + +#include "RiuMainWindow.h" +#include "RiuMainPlotWindow.h" + +#include "cafPdmUiTreeView.h" + +#include +#include + +CAF_CMD_SOURCE_INIT(RicSaveProjectFeature, "RicSaveProjectFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicSaveProjectFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSaveProjectFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + + RicSaveProjectFeature::storeTreeViewState(); + + app->saveProject(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSaveProjectFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("&Save Project"); + actionToSetup->setIcon(QIcon(":/Save.png")); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSaveProjectFeature::storeTreeViewState() +{ + { + RiaApplication* app = RiaApplication::instance(); + if (app->mainPlotWindow() && app->mainPlotWindow()->projectTreeView()) + { + caf::PdmUiTreeView* projectTreeView = app->mainPlotWindow()->projectTreeView(); + + QString treeViewState; + RimTreeViewStateSerializer::storeTreeViewStateToString(projectTreeView->treeView(), treeViewState); + + QModelIndex mi = projectTreeView->treeView()->currentIndex(); + + QString encodedModelIndexString; + RimTreeViewStateSerializer::encodeStringFromModelIndex(mi, encodedModelIndexString); + + RiaApplication::instance()->project()->plotWindowTreeViewState = treeViewState; + RiaApplication::instance()->project()->plotWindowCurrentModelIndexPath = encodedModelIndexString; + } + } + + { + caf::PdmUiTreeView* projectTreeView = RiuMainWindow::instance()->projectTreeView(); + if (projectTreeView) + { + QString treeViewState; + RimTreeViewStateSerializer::storeTreeViewStateToString(projectTreeView->treeView(), treeViewState); + + QModelIndex mi = projectTreeView->treeView()->currentIndex(); + + QString encodedModelIndexString; + RimTreeViewStateSerializer::encodeStringFromModelIndex(mi, encodedModelIndexString); + + RiaApplication::instance()->project()->mainWindowTreeViewState = treeViewState; + RiaApplication::instance()->project()->mainWindowCurrentModelIndexPath = encodedModelIndexString; + } + } +} + diff --git a/ApplicationCode/Commands/ApplicationCommands/RicSaveProjectFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicSaveProjectFeature.h new file mode 100644 index 0000000000..61db41ebc2 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicSaveProjectFeature.h @@ -0,0 +1,41 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicSaveProjectFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +public: + static void storeTreeViewState(); + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; +}; + + diff --git a/ApplicationCode/Commands/ApplicationCommands/RicShowMainWindowFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicShowMainWindowFeature.cpp new file mode 100644 index 0000000000..960264631e --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicShowMainWindowFeature.cpp @@ -0,0 +1,64 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicShowMainWindowFeature.h" + +#include "RiaApplication.h" + +#include "RiuMainWindow.h" + +#include + +CAF_CMD_SOURCE_INIT(RicShowMainWindowFeature, "RicShowMainWindowFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicShowMainWindowFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicShowMainWindowFeature::onActionTriggered(bool isChecked) +{ + RiuMainWindow* mainWnd = RiuMainWindow::instance(); + + if (mainWnd->isMinimized()) + { + mainWnd->showNormal(); + mainWnd->update(); + } + else + { + mainWnd->show(); + } + + mainWnd->raise(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicShowMainWindowFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Open 3D Window"); + actionToSetup->setIcon(QIcon(":/3DWindow24x24.png")); +} diff --git a/ApplicationCode/Commands/ApplicationCommands/RicShowMainWindowFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicShowMainWindowFeature.h new file mode 100644 index 0000000000..bfca60d00e --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicShowMainWindowFeature.h @@ -0,0 +1,38 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicShowMainWindowFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + + diff --git a/ApplicationCode/Commands/ApplicationCommands/RicShowPlotWindowFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicShowPlotWindowFeature.cpp new file mode 100644 index 0000000000..dfaf8d4f49 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicShowPlotWindowFeature.cpp @@ -0,0 +1,50 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicShowPlotWindowFeature.h" + +#include "RiaApplication.h" + +#include + +CAF_CMD_SOURCE_INIT(RicShowPlotWindowFeature, "RicShowPlotWindowFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicShowPlotWindowFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicShowPlotWindowFeature::onActionTriggered(bool isChecked) +{ + RiaApplication::instance()->getOrCreateAndShowMainPlotWindow(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicShowPlotWindowFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Open Plot Window"); + actionToSetup->setIcon(QIcon(":/PlotWindow24x24.png")); +} diff --git a/ApplicationCode/Commands/ApplicationCommands/RicShowPlotWindowFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicShowPlotWindowFeature.h new file mode 100644 index 0000000000..9ffea25151 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicShowPlotWindowFeature.h @@ -0,0 +1,38 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicShowPlotWindowFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + + diff --git a/ApplicationCode/Commands/ApplicationCommands/RicTileWindowsFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicTileWindowsFeature.cpp new file mode 100644 index 0000000000..d46689ecaf --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicTileWindowsFeature.cpp @@ -0,0 +1,103 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicTileWindowsFeature.h" + +#include "RiuMainWindow.h" +#include "RiuMainPlotWindow.h" + +#include +#include +#include "RiaApplication.h" + +CAF_CMD_SOURCE_INIT(RicTileWindowsFeature, "RicTileWindowsFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicTileWindowsFeature::isCommandEnabled() +{ + RiuMainWindow* mainWindow = RiuMainWindow::instance(); + if (mainWindow) + { + return mainWindow->isAnyMdiSubWindowVisible(); + } + + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicTileWindowsFeature::onActionTriggered(bool isChecked) +{ + RiuMainWindow* mainWindow = RiuMainWindow::instance(); + if (mainWindow) + { + mainWindow->tileWindows(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicTileWindowsFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Tile Windows"); + actionToSetup->setIcon(QIcon(":/TileWindows24x24.png")); +} + + + +CAF_CMD_SOURCE_INIT(RicTilePlotWindowsFeature, "RicTilePlotWindowsFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicTilePlotWindowsFeature::isCommandEnabled() +{ + RiuMainPlotWindow* mainPlotWindow = RiaApplication::instance()->mainPlotWindow(); + if (mainPlotWindow) + { + return mainPlotWindow->isAnyMdiSubWindowVisible(); + } + + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicTilePlotWindowsFeature::onActionTriggered(bool isChecked) +{ + RiuMainPlotWindow* mainPlotWindow = RiaApplication::instance()->mainPlotWindow(); + if (mainPlotWindow) + { + mainPlotWindow->tileWindows(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicTilePlotWindowsFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Tile Windows"); + actionToSetup->setIcon(QIcon(":/TileWindows24x24.png")); +} diff --git a/ApplicationCode/Commands/ApplicationCommands/RicTileWindowsFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicTileWindowsFeature.h new file mode 100644 index 0000000000..c1f587f7d8 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/RicTileWindowsFeature.h @@ -0,0 +1,52 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicTileWindowsFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + +//================================================================================================== +/// +//================================================================================================== +class RicTilePlotWindowsFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered(bool isChecked); + virtual void setupActionLook(QAction* actionToSetup); +}; + diff --git a/ApplicationCode/Commands/CMakeLists_files.cmake b/ApplicationCode/Commands/CMakeLists_files.cmake index 55fd011998..8ce105d653 100644 --- a/ApplicationCode/Commands/CMakeLists_files.cmake +++ b/ApplicationCode/Commands/CMakeLists_files.cmake @@ -6,18 +6,11 @@ endif() set (SOURCE_GROUP_HEADER_FILES ${CEE_CURRENT_LIST_DIR}RicCloseCaseFeature.h -${CEE_CURRENT_LIST_DIR}RicEclipseCaseNewGroupFeature.h -${CEE_CURRENT_LIST_DIR}RicEclipseCaseNewGroupExec.h ${CEE_CURRENT_LIST_DIR}RicGeoMechPropertyFilterFeatureImpl.h ${CEE_CURRENT_LIST_DIR}RicGeoMechPropertyFilterInsertFeature.h ${CEE_CURRENT_LIST_DIR}RicGeoMechPropertyFilterInsertExec.h ${CEE_CURRENT_LIST_DIR}RicGeoMechPropertyFilterNewFeature.h ${CEE_CURRENT_LIST_DIR}RicGeoMechPropertyFilterNewExec.h -${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterFeatureImpl.h -${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterInsertFeature.h -${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterInsertExec.h -${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNewFeature.h -${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNewExec.h ${CEE_CURRENT_LIST_DIR}RicNewViewFeature.h ${CEE_CURRENT_LIST_DIR}RicPropertyFilterNewExec.h ${CEE_CURRENT_LIST_DIR}RicRangeFilterExecImpl.h @@ -29,21 +22,19 @@ ${CEE_CURRENT_LIST_DIR}RicRangeFilterNewExec.h ${CEE_CURRENT_LIST_DIR}RicRangeFilterNewSliceIFeature.h ${CEE_CURRENT_LIST_DIR}RicRangeFilterNewSliceJFeature.h ${CEE_CURRENT_LIST_DIR}RicRangeFilterNewSliceKFeature.h -${CEE_CURRENT_LIST_DIR}RicAddEclipseInputPropertyFeature.h -${CEE_CURRENT_LIST_DIR}RicSaveEclipseInputPropertyFeature.h -${CEE_CURRENT_LIST_DIR}RicSaveEclipseResultAsInputPropertyFeature.h -${CEE_CURRENT_LIST_DIR}RicSaveEclipseResultAsInputPropertyExec.h -${CEE_CURRENT_LIST_DIR}RicImportEclipseCaseFeature.h -${CEE_CURRENT_LIST_DIR}RicImportInputEclipseCaseFeature.h -${CEE_CURRENT_LIST_DIR}RicCreateGridCaseGroupFeature.h -${CEE_CURRENT_LIST_DIR}RicNewStatisticsCaseFeature.h -${CEE_CURRENT_LIST_DIR}RicComputeStatisticsFeature.h +${CEE_CURRENT_LIST_DIR}RicImportFormationNamesFeature.h +${CEE_CURRENT_LIST_DIR}RicReloadFormationNamesFeature.h ${CEE_CURRENT_LIST_DIR}RicWellLogsImportFileFeature.h -${CEE_CURRENT_LIST_DIR}RicTileWindowsFeature.h -${CEE_CURRENT_LIST_DIR}RicLaunchUnitTestsFeature.h +${CEE_CURRENT_LIST_DIR}RicTogglePerspectiveViewFeature.h ${CEE_CURRENT_LIST_DIR}RicExportToLasFileFeature.h +${CEE_CURRENT_LIST_DIR}RicExportToLasFileResampleUi.h +${CEE_CURRENT_LIST_DIR}RicSnapshotViewToClipboardFeature.h +${CEE_CURRENT_LIST_DIR}RicImportGeoMechCaseFeature.h +${CEE_CURRENT_LIST_DIR}RicImportSummaryCaseFeature.h + +${CEE_CURRENT_LIST_DIR}RicExportFaultsFeature.h # General delete of any object in a child array field ${CEE_CURRENT_LIST_DIR}RicDeleteItemExec.h @@ -55,18 +46,11 @@ ${CEE_CURRENT_LIST_DIR}RicCommandFeature.h set (SOURCE_GROUP_SOURCE_FILES ${CEE_CURRENT_LIST_DIR}RicCloseCaseFeature.cpp -${CEE_CURRENT_LIST_DIR}RicEclipseCaseNewGroupFeature.cpp -${CEE_CURRENT_LIST_DIR}RicEclipseCaseNewGroupExec.cpp ${CEE_CURRENT_LIST_DIR}RicGeoMechPropertyFilterFeatureImpl.cpp ${CEE_CURRENT_LIST_DIR}RicGeoMechPropertyFilterInsertFeature.cpp ${CEE_CURRENT_LIST_DIR}RicGeoMechPropertyFilterInsertExec.cpp ${CEE_CURRENT_LIST_DIR}RicGeoMechPropertyFilterNewFeature.cpp ${CEE_CURRENT_LIST_DIR}RicGeoMechPropertyFilterNewExec.cpp -${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterFeatureImpl.cpp -${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterInsertFeature.cpp -${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterInsertExec.cpp -${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNewFeature.cpp -${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNewExec.cpp ${CEE_CURRENT_LIST_DIR}RicNewViewFeature.cpp ${CEE_CURRENT_LIST_DIR}RicRangeFilterExecImpl.cpp ${CEE_CURRENT_LIST_DIR}RicRangeFilterInsertExec.cpp @@ -77,20 +61,17 @@ ${CEE_CURRENT_LIST_DIR}RicRangeFilterNewExec.cpp ${CEE_CURRENT_LIST_DIR}RicRangeFilterNewSliceIFeature.cpp ${CEE_CURRENT_LIST_DIR}RicRangeFilterNewSliceJFeature.cpp ${CEE_CURRENT_LIST_DIR}RicRangeFilterNewSliceKFeature.cpp -${CEE_CURRENT_LIST_DIR}RicAddEclipseInputPropertyFeature.cpp -${CEE_CURRENT_LIST_DIR}RicSaveEclipseInputPropertyFeature.cpp -${CEE_CURRENT_LIST_DIR}RicSaveEclipseResultAsInputPropertyFeature.cpp -${CEE_CURRENT_LIST_DIR}RicSaveEclipseResultAsInputPropertyExec.cpp -${CEE_CURRENT_LIST_DIR}RicImportEclipseCaseFeature.cpp -${CEE_CURRENT_LIST_DIR}RicImportInputEclipseCaseFeature.cpp -${CEE_CURRENT_LIST_DIR}RicCreateGridCaseGroupFeature.cpp -${CEE_CURRENT_LIST_DIR}RicNewStatisticsCaseFeature.cpp -${CEE_CURRENT_LIST_DIR}RicComputeStatisticsFeature.cpp +${CEE_CURRENT_LIST_DIR}RicImportFormationNamesFeature.cpp +${CEE_CURRENT_LIST_DIR}RicReloadFormationNamesFeature.cpp -${CEE_CURRENT_LIST_DIR}RicTileWindowsFeature.cpp -${CEE_CURRENT_LIST_DIR}RicLaunchUnitTestsFeature.cpp +${CEE_CURRENT_LIST_DIR}RicTogglePerspectiveViewFeature.cpp ${CEE_CURRENT_LIST_DIR}RicExportToLasFileFeature.cpp +${CEE_CURRENT_LIST_DIR}RicExportToLasFileResampleUi.cpp +${CEE_CURRENT_LIST_DIR}RicSnapshotViewToClipboardFeature.cpp +${CEE_CURRENT_LIST_DIR}RicImportGeoMechCaseFeature.cpp +${CEE_CURRENT_LIST_DIR}RicImportSummaryCaseFeature.cpp +${CEE_CURRENT_LIST_DIR}RicExportFaultsFeature.cpp # General delete of any object in a child array field ${CEE_CURRENT_LIST_DIR}RicDeleteItemExec.cpp diff --git a/ApplicationCode/Commands/CrossSectionCommands/CMakeLists_files.cmake b/ApplicationCode/Commands/CrossSectionCommands/CMakeLists_files.cmake index 1ca86b0f08..c7317b70e9 100644 --- a/ApplicationCode/Commands/CrossSectionCommands/CMakeLists_files.cmake +++ b/ApplicationCode/Commands/CrossSectionCommands/CMakeLists_files.cmake @@ -5,17 +5,17 @@ if (${CMAKE_VERSION} VERSION_GREATER "2.8.2") endif() set (SOURCE_GROUP_HEADER_FILES -${CEE_CURRENT_LIST_DIR}RicAppendCrossSectionFeature.h -${CEE_CURRENT_LIST_DIR}RicNewSimWellCrossSectionFeature.h -${CEE_CURRENT_LIST_DIR}RicNewWellPathCrossSectionFeature.h -${CEE_CURRENT_LIST_DIR}RicNewPolylineCrossSectionFeature.h +${CEE_CURRENT_LIST_DIR}RicAppendIntersectionFeature.h +${CEE_CURRENT_LIST_DIR}RicNewSimWellIntersectionFeature.h +${CEE_CURRENT_LIST_DIR}RicNewWellPathIntersectionFeature.h +${CEE_CURRENT_LIST_DIR}RicNewPolylineIntersectionFeature.h ) set (SOURCE_GROUP_SOURCE_FILES -${CEE_CURRENT_LIST_DIR}RicAppendCrossSectionFeature.cpp -${CEE_CURRENT_LIST_DIR}RicNewSimWellCrossSectionFeature.cpp -${CEE_CURRENT_LIST_DIR}RicNewWellPathCrossSectionFeature.cpp -${CEE_CURRENT_LIST_DIR}RicNewPolylineCrossSectionFeature.cpp +${CEE_CURRENT_LIST_DIR}RicAppendIntersectionFeature.cpp +${CEE_CURRENT_LIST_DIR}RicNewSimWellIntersectionFeature.cpp +${CEE_CURRENT_LIST_DIR}RicNewWellPathIntersectionFeature.cpp +${CEE_CURRENT_LIST_DIR}RicNewPolylineIntersectionFeature.cpp ) list(APPEND CODE_HEADER_FILES diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicAppendCrossSectionFeature.cpp b/ApplicationCode/Commands/CrossSectionCommands/RicAppendCrossSectionFeature.cpp deleted file mode 100644 index 53e57f1156..0000000000 --- a/ApplicationCode/Commands/CrossSectionCommands/RicAppendCrossSectionFeature.cpp +++ /dev/null @@ -1,110 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#include "RicAppendCrossSectionFeature.h" - -#include "RimCrossSection.h" -#include "RimCrossSectionCollection.h" - -#include "cafCmdExecCommandManager.h" -#include "cafSelectionManager.h" - -#include "cvfAssert.h" - -#include - -CAF_CMD_SOURCE_INIT(RicAppendCrossSectionFeature, "RicAppendCrossSectionFeature"); - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -bool RicAppendCrossSectionFeature::isCommandEnabled() -{ - return true; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicAppendCrossSectionFeature::onActionTriggered(bool isChecked) -{ - std::vector collection; - caf::SelectionManager::instance()->objectsByType(&collection); - CVF_ASSERT(collection.size() == 1); - - RimCrossSectionCollection* crossSectionCollection = NULL; - collection[0]->firstAnchestorOrThisOfType(crossSectionCollection); - - CVF_ASSERT(crossSectionCollection); - - RicAppendCrossSectionFeatureCmd* cmd = new RicAppendCrossSectionFeatureCmd(crossSectionCollection); - caf::CmdExecCommandManager::instance()->processExecuteCommand(cmd); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicAppendCrossSectionFeature::setupActionLook(QAction* actionToSetup) -{ - actionToSetup->setIcon(QIcon(":/CrossSection16x16.png")); - actionToSetup->setText("New Intersection"); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RicAppendCrossSectionFeatureCmd::RicAppendCrossSectionFeatureCmd(RimCrossSectionCollection* crossSectionCollection) - : CmdExecuteCommand(NULL), - m_crossSectionCollection(crossSectionCollection) -{ -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RicAppendCrossSectionFeatureCmd::~RicAppendCrossSectionFeatureCmd() -{ -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QString RicAppendCrossSectionFeatureCmd::name() -{ - return "New Intersection"; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicAppendCrossSectionFeatureCmd::redo() -{ - CVF_ASSERT(m_crossSectionCollection); - - RimCrossSection* crossSection = new RimCrossSection(); - crossSection->name = QString("Intersection"); - m_crossSectionCollection->appendCrossSection(crossSection); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicAppendCrossSectionFeatureCmd::undo() -{ -} diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicAppendCrossSectionFeature.h b/ApplicationCode/Commands/CrossSectionCommands/RicAppendCrossSectionFeature.h deleted file mode 100644 index 5d65cb6715..0000000000 --- a/ApplicationCode/Commands/CrossSectionCommands/RicAppendCrossSectionFeature.h +++ /dev/null @@ -1,62 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#pragma once - -#include "cafCmdFeature.h" -#include "cafCmdExecuteCommand.h" -#include "cafPdmPointer.h" - -class RimCrossSectionCollection; - - -//================================================================================================== -/// -//================================================================================================== -class RicAppendCrossSectionFeatureCmd : public caf::CmdExecuteCommand -{ -public: - RicAppendCrossSectionFeatureCmd(RimCrossSectionCollection* crossSectionCollection); - virtual ~RicAppendCrossSectionFeatureCmd(); - - virtual QString name(); - virtual void redo(); - virtual void undo(); - -private: - caf::PdmPointer m_crossSectionCollection; -}; - - - -//================================================================================================== -/// -//================================================================================================== -class RicAppendCrossSectionFeature : public caf::CmdFeature -{ - CAF_CMD_HEADER_INIT; - -protected: - // Overrides - virtual bool isCommandEnabled(); - virtual void onActionTriggered( bool isChecked ); - virtual void setupActionLook( QAction* actionToSetup ); -}; - - diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicAppendIntersectionFeature.cpp b/ApplicationCode/Commands/CrossSectionCommands/RicAppendIntersectionFeature.cpp new file mode 100644 index 0000000000..155a77fb5a --- /dev/null +++ b/ApplicationCode/Commands/CrossSectionCommands/RicAppendIntersectionFeature.cpp @@ -0,0 +1,110 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicAppendIntersectionFeature.h" + +#include "RimIntersection.h" +#include "RimIntersectionCollection.h" + +#include "cafCmdExecCommandManager.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + +CAF_CMD_SOURCE_INIT(RicAppendIntersectionFeature, "RicAppendIntersectionFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicAppendIntersectionFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicAppendIntersectionFeature::onActionTriggered(bool isChecked) +{ + std::vector collection; + caf::SelectionManager::instance()->objectsByType(&collection); + CVF_ASSERT(collection.size() == 1); + + RimIntersectionCollection* intersectionCollection = NULL; + collection[0]->firstAncestorOrThisOfType(intersectionCollection); + + CVF_ASSERT(intersectionCollection); + + RicAppendIntersectionFeatureCmd* cmd = new RicAppendIntersectionFeatureCmd(intersectionCollection); + caf::CmdExecCommandManager::instance()->processExecuteCommand(cmd); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicAppendIntersectionFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setIcon(QIcon(":/CrossSection16x16.png")); + actionToSetup->setText("New Intersection"); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicAppendIntersectionFeatureCmd::RicAppendIntersectionFeatureCmd(RimIntersectionCollection* intersectionCollection) + : CmdExecuteCommand(NULL), + m_intersectionCollection(intersectionCollection) +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicAppendIntersectionFeatureCmd::~RicAppendIntersectionFeatureCmd() +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RicAppendIntersectionFeatureCmd::name() +{ + return "New Intersection"; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicAppendIntersectionFeatureCmd::redo() +{ + CVF_ASSERT(m_intersectionCollection); + + RimIntersection* intersection = new RimIntersection(); + intersection->name = QString("Intersection"); + m_intersectionCollection->appendIntersection(intersection); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicAppendIntersectionFeatureCmd::undo() +{ +} diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicAppendIntersectionFeature.h b/ApplicationCode/Commands/CrossSectionCommands/RicAppendIntersectionFeature.h new file mode 100644 index 0000000000..58fa795d27 --- /dev/null +++ b/ApplicationCode/Commands/CrossSectionCommands/RicAppendIntersectionFeature.h @@ -0,0 +1,62 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" +#include "cafCmdExecuteCommand.h" +#include "cafPdmPointer.h" + +class RimIntersectionCollection; + + +//================================================================================================== +/// +//================================================================================================== +class RicAppendIntersectionFeatureCmd : public caf::CmdExecuteCommand +{ +public: + RicAppendIntersectionFeatureCmd(RimIntersectionCollection* intersectionCollection); + virtual ~RicAppendIntersectionFeatureCmd(); + + virtual QString name(); + virtual void redo(); + virtual void undo(); + +private: + caf::PdmPointer m_intersectionCollection; +}; + + + +//================================================================================================== +/// +//================================================================================================== +class RicAppendIntersectionFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + + diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicNewPolylineCrossSectionFeature.cpp b/ApplicationCode/Commands/CrossSectionCommands/RicNewPolylineCrossSectionFeature.cpp deleted file mode 100644 index f0f4da36ae..0000000000 --- a/ApplicationCode/Commands/CrossSectionCommands/RicNewPolylineCrossSectionFeature.cpp +++ /dev/null @@ -1,157 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#include "RicNewPolylineCrossSectionFeature.h" - -#include "RiaApplication.h" - -#include "RimCase.h" -#include "RimCrossSection.h" -#include "RimCrossSectionCollection.h" -#include "RimView.h" - -#include "RiuMainWindow.h" -#include "RiuSelectionManager.h" - -#include "cafCmdExecCommandManager.h" -#include "cafSelectionManager.h" - -#include "cvfAssert.h" - -#include - -CAF_CMD_SOURCE_INIT(RicNewPolylineCrossSectionFeature, "RicNewPolylineCrossSectionFeature"); - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RicNewPolylineCrossSectionFeature::RicNewPolylineCrossSectionFeature() -{ -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -bool RicNewPolylineCrossSectionFeature::isCommandEnabled() -{ - return true; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicNewPolylineCrossSectionFeature::onActionTriggered(bool isChecked) -{ - RimView* activeView = RiaApplication::instance()->activeReservoirView(); - if (!activeView) return; - - RicNewPolylineCrossSectionFeatureCmd* cmd = new RicNewPolylineCrossSectionFeatureCmd(activeView->crossSectionCollection); - caf::CmdExecCommandManager::instance()->processExecuteCommand(cmd); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicNewPolylineCrossSectionFeature::setupActionLook(QAction* actionToSetup) -{ - actionToSetup->setIcon(QIcon(":/CrossSection16x16.png")); - actionToSetup->setText("New Polyline Intersection"); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -bool RicNewPolylineCrossSectionFeature::handleEvent(cvf::Object* eventObject) -{ - std::vector selection; - caf::SelectionManager::instance()->objectsByType(&selection); - - if (selection.size() == 1) - { - RicViewerEventObject* polylineUiEvent = dynamic_cast(eventObject); - if (polylineUiEvent) - { - RimCrossSection* crossSection = selection[0]; - if (crossSection->inputFromViewerEnabled()) - { - RimCase* rimCase = NULL; - crossSection->firstAnchestorOrThisOfType(rimCase); - CVF_ASSERT(rimCase); - - crossSection->appendPointToPolyLine(rimCase->displayModelOffset() + polylineUiEvent->localIntersectionPoint); - - // Further Ui processing is stopped when true is returned - return true; - } - } - } - - return false; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RicNewPolylineCrossSectionFeatureCmd::RicNewPolylineCrossSectionFeatureCmd(RimCrossSectionCollection* crossSectionCollection) - : CmdExecuteCommand(NULL), - m_crossSectionCollection(crossSectionCollection) -{ -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RicNewPolylineCrossSectionFeatureCmd::~RicNewPolylineCrossSectionFeatureCmd() -{ -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QString RicNewPolylineCrossSectionFeatureCmd::name() -{ - return "Start Polyline Intersection"; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicNewPolylineCrossSectionFeatureCmd::redo() -{ - CVF_ASSERT(m_crossSectionCollection); - - RimCrossSection* crossSection = new RimCrossSection(); - crossSection->name = "Polyline"; - crossSection->type = RimCrossSection::CS_POLYLINE; - crossSection->inputFromViewerEnabled = true; - - m_crossSectionCollection->appendCrossSection(crossSection); - - RiuSelectionManager::instance()->deleteAllItems(); - - RiuMainWindow::instance()->selectAsCurrentItem(crossSection); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicNewPolylineCrossSectionFeatureCmd::undo() -{ -} diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicNewPolylineCrossSectionFeature.h b/ApplicationCode/Commands/CrossSectionCommands/RicNewPolylineCrossSectionFeature.h deleted file mode 100644 index c6ae47e624..0000000000 --- a/ApplicationCode/Commands/CrossSectionCommands/RicNewPolylineCrossSectionFeature.h +++ /dev/null @@ -1,72 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#pragma once - -#include "RicViewerEventInterface.h" - -#include "cafCmdExecuteCommand.h" -#include "cafPdmPointer.h" - -#include "cvfBase.h" -#include "cvfObject.h" -#include "cvfVector3.h" - -class RimCrossSectionCollection; - - -//================================================================================================== -/// -//================================================================================================== -class RicNewPolylineCrossSectionFeatureCmd : public caf::CmdExecuteCommand -{ -public: - RicNewPolylineCrossSectionFeatureCmd(RimCrossSectionCollection* crossSectionCollection); - virtual ~RicNewPolylineCrossSectionFeatureCmd(); - - virtual QString name(); - virtual void redo(); - virtual void undo(); - -private: - caf::PdmPointer m_crossSectionCollection; -}; - - - -//================================================================================================== -/// -//================================================================================================== -class RicNewPolylineCrossSectionFeature : public caf::CmdFeature, public RicViewerEventInterface -{ - CAF_CMD_HEADER_INIT; - -public: - RicNewPolylineCrossSectionFeature(); - -protected: - // Overrides - virtual bool isCommandEnabled(); - virtual void onActionTriggered( bool isChecked ); - virtual void setupActionLook( QAction* actionToSetup ); - - virtual bool handleEvent(cvf::Object* eventObject); -}; - - diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicNewPolylineIntersectionFeature.cpp b/ApplicationCode/Commands/CrossSectionCommands/RicNewPolylineIntersectionFeature.cpp new file mode 100644 index 0000000000..32a45f8df8 --- /dev/null +++ b/ApplicationCode/Commands/CrossSectionCommands/RicNewPolylineIntersectionFeature.cpp @@ -0,0 +1,171 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicNewPolylineIntersectionFeature.h" + +#include "RiaApplication.h" + +#include "RimCase.h" +#include "RimIntersection.h" +#include "RimIntersectionCollection.h" +#include "RimView.h" + +#include "RiuMainWindow.h" +#include "RiuSelectionManager.h" +#include "RiuViewer.h" + +#include "cafCmdExecCommandManager.h" +#include "cafDisplayCoordTransform.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + +CAF_CMD_SOURCE_INIT(RicNewPolylineIntersectionFeature, "RicNewPolylineIntersectionFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicNewPolylineIntersectionFeature::RicNewPolylineIntersectionFeature() +{ +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicNewPolylineIntersectionFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewPolylineIntersectionFeature::onActionTriggered(bool isChecked) +{ + RimView* activeView = RiaApplication::instance()->activeReservoirView(); + if (!activeView) return; + + RicNewPolylineIntersectionFeatureCmd* cmd = new RicNewPolylineIntersectionFeatureCmd(activeView->crossSectionCollection); + caf::CmdExecCommandManager::instance()->processExecuteCommand(cmd); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewPolylineIntersectionFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setIcon(QIcon(":/CrossSection16x16.png")); + actionToSetup->setText("New Polyline Intersection"); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicNewPolylineIntersectionFeature::handleEvent(cvf::Object* eventObject) +{ + std::vector selection; + caf::SelectionManager::instance()->objectsByType(&selection); + + if (selection.size() == 1) + { + RicViewerEventObject* polylineUiEvent = dynamic_cast(eventObject); + if (polylineUiEvent) + { + RimIntersection* intersection = selection[0]; + + RimView* rimView = nullptr; + intersection->firstAncestorOrThisOfType(rimView); + CVF_ASSERT(rimView); + + cvf::ref transForm = rimView->displayCoordTransform(); + cvf::Vec3d domainCoord = transForm->transformToDomainCoord(polylineUiEvent->globalIntersectionPoint); + + if (intersection->inputPolyLineFromViewerEnabled()) + { + intersection->appendPointToPolyLine(domainCoord); + + // Further Ui processing is stopped when true is returned + return true; + } + else if (intersection->inputExtrusionPointsFromViewerEnabled()) + { + + intersection->appendPointToExtrusionDirection(domainCoord); + + // Further Ui processing is stopped when true is returned + return true; + } + } + } + + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicNewPolylineIntersectionFeatureCmd::RicNewPolylineIntersectionFeatureCmd(RimIntersectionCollection* intersectionCollection) + : CmdExecuteCommand(NULL), + m_intersectionCollection(intersectionCollection) +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicNewPolylineIntersectionFeatureCmd::~RicNewPolylineIntersectionFeatureCmd() +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RicNewPolylineIntersectionFeatureCmd::name() +{ + return "Start Polyline Intersection"; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewPolylineIntersectionFeatureCmd::redo() +{ + CVF_ASSERT(m_intersectionCollection); + + RimIntersection* intersection = new RimIntersection(); + intersection->name = "Polyline"; + intersection->type = RimIntersection::CS_POLYLINE; + intersection->inputPolyLineFromViewerEnabled = true; + + m_intersectionCollection->appendIntersection(intersection); + + RiuSelectionManager::instance()->deleteAllItems(); + + RiuMainWindow::instance()->selectAsCurrentItem(intersection); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewPolylineIntersectionFeatureCmd::undo() +{ +} diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicNewPolylineIntersectionFeature.h b/ApplicationCode/Commands/CrossSectionCommands/RicNewPolylineIntersectionFeature.h new file mode 100644 index 0000000000..0381ff5f1e --- /dev/null +++ b/ApplicationCode/Commands/CrossSectionCommands/RicNewPolylineIntersectionFeature.h @@ -0,0 +1,72 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "RicViewerEventInterface.h" + +#include "cafCmdExecuteCommand.h" +#include "cafPdmPointer.h" + +#include "cvfBase.h" +#include "cvfObject.h" +#include "cvfVector3.h" + +class RimIntersectionCollection; + + +//================================================================================================== +/// +//================================================================================================== +class RicNewPolylineIntersectionFeatureCmd : public caf::CmdExecuteCommand +{ +public: + RicNewPolylineIntersectionFeatureCmd(RimIntersectionCollection* intersectionCollection); + virtual ~RicNewPolylineIntersectionFeatureCmd(); + + virtual QString name(); + virtual void redo(); + virtual void undo(); + +private: + caf::PdmPointer m_intersectionCollection; +}; + + + +//================================================================================================== +/// +//================================================================================================== +class RicNewPolylineIntersectionFeature : public caf::CmdFeature, public RicViewerEventInterface +{ + CAF_CMD_HEADER_INIT; + +public: + RicNewPolylineIntersectionFeature(); + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); + + virtual bool handleEvent(cvf::Object* eventObject); +}; + + diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicNewSimWellCrossSectionFeature.cpp b/ApplicationCode/Commands/CrossSectionCommands/RicNewSimWellCrossSectionFeature.cpp deleted file mode 100644 index a8ca952fe9..0000000000 --- a/ApplicationCode/Commands/CrossSectionCommands/RicNewSimWellCrossSectionFeature.cpp +++ /dev/null @@ -1,118 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#include "RicNewSimWellCrossSectionFeature.h" - -#include "RimCrossSection.h" -#include "RimCrossSectionCollection.h" -#include "RimEclipseView.h" -#include "RimEclipseWell.h" - -#include "cafCmdExecCommandManager.h" -#include "cafSelectionManager.h" - -#include "cvfAssert.h" - -#include - -CAF_CMD_SOURCE_INIT(RicNewSimWellCrossSectionFeature, "RicNewSimWellCrossSectionFeature"); - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -bool RicNewSimWellCrossSectionFeature::isCommandEnabled() -{ - return true; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicNewSimWellCrossSectionFeature::onActionTriggered(bool isChecked) -{ - std::vector collection; - caf::SelectionManager::instance()->objectsByType(&collection); - CVF_ASSERT(collection.size() == 1); - - RimEclipseWell* eclWell = collection[0]; - - RimEclipseView* eclView = NULL; - eclWell->firstAnchestorOrThisOfType(eclView); - CVF_ASSERT(eclView); - - RicNewSimWellCrossSectionCmd* cmd = new RicNewSimWellCrossSectionCmd(eclView->crossSectionCollection, eclWell); - caf::CmdExecCommandManager::instance()->processExecuteCommand(cmd); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicNewSimWellCrossSectionFeature::setupActionLook(QAction* actionToSetup) -{ - actionToSetup->setIcon(QIcon(":/CrossSection16x16.png")); - actionToSetup->setText("New Intersection"); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RicNewSimWellCrossSectionCmd::RicNewSimWellCrossSectionCmd(RimCrossSectionCollection* crossSectionCollection, RimEclipseWell* simWell) - : CmdExecuteCommand(NULL), - m_crossSectionCollection(crossSectionCollection), - m_wellPath(simWell) -{ -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RicNewSimWellCrossSectionCmd::~RicNewSimWellCrossSectionCmd() -{ -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QString RicNewSimWellCrossSectionCmd::name() -{ - return "Create Intersection From Well"; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicNewSimWellCrossSectionCmd::redo() -{ - CVF_ASSERT(m_crossSectionCollection); - CVF_ASSERT(m_wellPath); - - RimCrossSection* crossSection = new RimCrossSection(); - crossSection->name = m_wellPath->name; - crossSection->type = RimCrossSection::CS_SIMULATION_WELL; - crossSection->simulationWell = m_wellPath; - - m_crossSectionCollection->appendCrossSection(crossSection); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicNewSimWellCrossSectionCmd::undo() -{ -} diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicNewSimWellCrossSectionFeature.h b/ApplicationCode/Commands/CrossSectionCommands/RicNewSimWellCrossSectionFeature.h deleted file mode 100644 index 69a9d7cd7f..0000000000 --- a/ApplicationCode/Commands/CrossSectionCommands/RicNewSimWellCrossSectionFeature.h +++ /dev/null @@ -1,64 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#pragma once - -#include "cafCmdFeature.h" -#include "cafCmdExecuteCommand.h" -#include "cafPdmPointer.h" - -class RimCrossSectionCollection; -class RimEclipseWell; - - -//================================================================================================== -/// -//================================================================================================== -class RicNewSimWellCrossSectionCmd : public caf::CmdExecuteCommand -{ -public: - RicNewSimWellCrossSectionCmd(RimCrossSectionCollection* crossSectionCollection, RimEclipseWell* simWell); - virtual ~RicNewSimWellCrossSectionCmd(); - - virtual QString name(); - virtual void redo(); - virtual void undo(); - -private: - caf::PdmPointer m_crossSectionCollection; - caf::PdmPointer m_wellPath; -}; - - - -//================================================================================================== -/// -//================================================================================================== -class RicNewSimWellCrossSectionFeature : public caf::CmdFeature -{ - CAF_CMD_HEADER_INIT; - -protected: - // Overrides - virtual bool isCommandEnabled(); - virtual void onActionTriggered( bool isChecked ); - virtual void setupActionLook( QAction* actionToSetup ); -}; - - diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicNewSimWellIntersectionFeature.cpp b/ApplicationCode/Commands/CrossSectionCommands/RicNewSimWellIntersectionFeature.cpp new file mode 100644 index 0000000000..e273ae30e2 --- /dev/null +++ b/ApplicationCode/Commands/CrossSectionCommands/RicNewSimWellIntersectionFeature.cpp @@ -0,0 +1,118 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicNewSimWellIntersectionFeature.h" + +#include "RimIntersection.h" +#include "RimIntersectionCollection.h" +#include "RimEclipseView.h" +#include "RimEclipseWell.h" + +#include "cafCmdExecCommandManager.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + +CAF_CMD_SOURCE_INIT(RicNewSimWellIntersectionFeature, "RicNewSimWellIntersectionFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicNewSimWellIntersectionFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewSimWellIntersectionFeature::onActionTriggered(bool isChecked) +{ + std::vector collection; + caf::SelectionManager::instance()->objectsByType(&collection); + CVF_ASSERT(collection.size() == 1); + + RimEclipseWell* eclWell = collection[0]; + + RimEclipseView* eclView = NULL; + eclWell->firstAncestorOrThisOfType(eclView); + CVF_ASSERT(eclView); + + RicNewSimWellIntersectionCmd* cmd = new RicNewSimWellIntersectionCmd(eclView->crossSectionCollection, eclWell); + caf::CmdExecCommandManager::instance()->processExecuteCommand(cmd); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewSimWellIntersectionFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setIcon(QIcon(":/CrossSection16x16.png")); + actionToSetup->setText("New Intersection"); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicNewSimWellIntersectionCmd::RicNewSimWellIntersectionCmd(RimIntersectionCollection* intersectionCollection, RimEclipseWell* simWell) + : CmdExecuteCommand(NULL), + m_intersectionCollection(intersectionCollection), + m_wellPath(simWell) +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicNewSimWellIntersectionCmd::~RicNewSimWellIntersectionCmd() +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RicNewSimWellIntersectionCmd::name() +{ + return "Create Intersection From Well"; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewSimWellIntersectionCmd::redo() +{ + CVF_ASSERT(m_intersectionCollection); + CVF_ASSERT(m_wellPath); + + RimIntersection* intersection = new RimIntersection(); + intersection->name = m_wellPath->name; + intersection->type = RimIntersection::CS_SIMULATION_WELL; + intersection->simulationWell = m_wellPath; + + m_intersectionCollection->appendIntersection(intersection); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewSimWellIntersectionCmd::undo() +{ +} diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicNewSimWellIntersectionFeature.h b/ApplicationCode/Commands/CrossSectionCommands/RicNewSimWellIntersectionFeature.h new file mode 100644 index 0000000000..e3b0ed1be2 --- /dev/null +++ b/ApplicationCode/Commands/CrossSectionCommands/RicNewSimWellIntersectionFeature.h @@ -0,0 +1,64 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" +#include "cafCmdExecuteCommand.h" +#include "cafPdmPointer.h" + +class RimIntersectionCollection; +class RimEclipseWell; + + +//================================================================================================== +/// +//================================================================================================== +class RicNewSimWellIntersectionCmd : public caf::CmdExecuteCommand +{ +public: + RicNewSimWellIntersectionCmd(RimIntersectionCollection* intersectionCollection, RimEclipseWell* simWell); + virtual ~RicNewSimWellIntersectionCmd(); + + virtual QString name(); + virtual void redo(); + virtual void undo(); + +private: + caf::PdmPointer m_intersectionCollection; + caf::PdmPointer m_wellPath; +}; + + + +//================================================================================================== +/// +//================================================================================================== +class RicNewSimWellIntersectionFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + + diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicNewWellPathCrossSectionFeature.cpp b/ApplicationCode/Commands/CrossSectionCommands/RicNewWellPathCrossSectionFeature.cpp deleted file mode 100644 index 5e7362fce5..0000000000 --- a/ApplicationCode/Commands/CrossSectionCommands/RicNewWellPathCrossSectionFeature.cpp +++ /dev/null @@ -1,127 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#include "RicNewWellPathCrossSectionFeature.h" - -#include "RiaApplication.h" - -#include "RimCrossSection.h" -#include "RimCrossSectionCollection.h" -#include "RimWellPath.h" -#include "RimView.h" - -#include "cafCmdExecCommandManager.h" -#include "cafSelectionManager.h" - -#include "cvfAssert.h" - -#include - -CAF_CMD_SOURCE_INIT(RicNewWellPathCrossSectionFeature, "RicNewWellPathCrossSectionFeature"); - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RicNewWellPathCrossSectionFeature::RicNewWellPathCrossSectionFeature() -{ -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -bool RicNewWellPathCrossSectionFeature::isCommandEnabled() -{ - return true; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicNewWellPathCrossSectionFeature::onActionTriggered(bool isChecked) -{ - RimView* activeView = RiaApplication::instance()->activeReservoirView(); - if (!activeView) return; - - std::vector collection; - caf::SelectionManager::instance()->objectsByType(&collection); - CVF_ASSERT(collection.size() == 1); - - RimWellPath* wellPath = collection[0]; - - RicNewWellPathCrossSectionFeatureCmd* cmd = new RicNewWellPathCrossSectionFeatureCmd(activeView->crossSectionCollection, wellPath); - caf::CmdExecCommandManager::instance()->processExecuteCommand(cmd); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicNewWellPathCrossSectionFeature::setupActionLook(QAction* actionToSetup) -{ - actionToSetup->setIcon(QIcon(":/CrossSection16x16.png")); - actionToSetup->setText("New Intersection"); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RicNewWellPathCrossSectionFeatureCmd::RicNewWellPathCrossSectionFeatureCmd(RimCrossSectionCollection* crossSectionCollection, RimWellPath* wellPath) - : CmdExecuteCommand(NULL), - m_crossSectionCollection(crossSectionCollection), - m_wellPath(wellPath) -{ -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RicNewWellPathCrossSectionFeatureCmd::~RicNewWellPathCrossSectionFeatureCmd() -{ -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QString RicNewWellPathCrossSectionFeatureCmd::name() -{ - return "Create Intersection From Well Path"; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicNewWellPathCrossSectionFeatureCmd::redo() -{ - CVF_ASSERT(m_crossSectionCollection); - CVF_ASSERT(m_wellPath); - - RimCrossSection* crossSection = new RimCrossSection(); - crossSection->name = m_wellPath->name; - crossSection->type = RimCrossSection::CS_WELL_PATH; - crossSection->wellPath = m_wellPath; - - m_crossSectionCollection->appendCrossSection(crossSection); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicNewWellPathCrossSectionFeatureCmd::undo() -{ -} diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicNewWellPathCrossSectionFeature.h b/ApplicationCode/Commands/CrossSectionCommands/RicNewWellPathCrossSectionFeature.h deleted file mode 100644 index 39ffa243b5..0000000000 --- a/ApplicationCode/Commands/CrossSectionCommands/RicNewWellPathCrossSectionFeature.h +++ /dev/null @@ -1,67 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#pragma once - -#include "cafCmdFeature.h" -#include "cafCmdExecuteCommand.h" -#include "cafPdmPointer.h" - -class RimCrossSectionCollection; -class RimWellPath; - - -//================================================================================================== -/// -//================================================================================================== -class RicNewWellPathCrossSectionFeatureCmd : public caf::CmdExecuteCommand -{ -public: - RicNewWellPathCrossSectionFeatureCmd(RimCrossSectionCollection* crossSectionCollection, RimWellPath* wellPath); - virtual ~RicNewWellPathCrossSectionFeatureCmd(); - - virtual QString name(); - virtual void redo(); - virtual void undo(); - -private: - caf::PdmPointer m_crossSectionCollection; - caf::PdmPointer m_wellPath; -}; - - - -//================================================================================================== -/// -//================================================================================================== -class RicNewWellPathCrossSectionFeature : public caf::CmdFeature -{ - CAF_CMD_HEADER_INIT; - -public: - RicNewWellPathCrossSectionFeature(); - -protected: - // Overrides - virtual bool isCommandEnabled(); - virtual void onActionTriggered( bool isChecked ); - virtual void setupActionLook( QAction* actionToSetup ); -}; - - diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicNewWellPathIntersectionFeature.cpp b/ApplicationCode/Commands/CrossSectionCommands/RicNewWellPathIntersectionFeature.cpp new file mode 100644 index 0000000000..277dd6f850 --- /dev/null +++ b/ApplicationCode/Commands/CrossSectionCommands/RicNewWellPathIntersectionFeature.cpp @@ -0,0 +1,127 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicNewWellPathIntersectionFeature.h" + +#include "RiaApplication.h" + +#include "RimIntersection.h" +#include "RimIntersectionCollection.h" +#include "RimWellPath.h" +#include "RimView.h" + +#include "cafCmdExecCommandManager.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + +CAF_CMD_SOURCE_INIT(RicNewWellPathIntersectionFeature, "RicNewWellPathIntersectionFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicNewWellPathIntersectionFeature::RicNewWellPathIntersectionFeature() +{ +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicNewWellPathIntersectionFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewWellPathIntersectionFeature::onActionTriggered(bool isChecked) +{ + RimView* activeView = RiaApplication::instance()->activeReservoirView(); + if (!activeView) return; + + std::vector collection; + caf::SelectionManager::instance()->objectsByType(&collection); + CVF_ASSERT(collection.size() == 1); + + RimWellPath* wellPath = collection[0]; + + RicNewWellPathIntersectionFeatureCmd* cmd = new RicNewWellPathIntersectionFeatureCmd(activeView->crossSectionCollection, wellPath); + caf::CmdExecCommandManager::instance()->processExecuteCommand(cmd); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewWellPathIntersectionFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setIcon(QIcon(":/CrossSection16x16.png")); + actionToSetup->setText("New Intersection"); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicNewWellPathIntersectionFeatureCmd::RicNewWellPathIntersectionFeatureCmd(RimIntersectionCollection* intersectionCollection, RimWellPath* wellPath) + : CmdExecuteCommand(NULL), + m_intersectionCollection(intersectionCollection), + m_wellPath(wellPath) +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicNewWellPathIntersectionFeatureCmd::~RicNewWellPathIntersectionFeatureCmd() +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RicNewWellPathIntersectionFeatureCmd::name() +{ + return "Create Intersection From Well Path"; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewWellPathIntersectionFeatureCmd::redo() +{ + CVF_ASSERT(m_intersectionCollection); + CVF_ASSERT(m_wellPath); + + RimIntersection* intersection = new RimIntersection(); + intersection->name = m_wellPath->name; + intersection->type = RimIntersection::CS_WELL_PATH; + intersection->wellPath = m_wellPath; + + m_intersectionCollection->appendIntersection(intersection); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewWellPathIntersectionFeatureCmd::undo() +{ +} diff --git a/ApplicationCode/Commands/CrossSectionCommands/RicNewWellPathIntersectionFeature.h b/ApplicationCode/Commands/CrossSectionCommands/RicNewWellPathIntersectionFeature.h new file mode 100644 index 0000000000..d3b74a3576 --- /dev/null +++ b/ApplicationCode/Commands/CrossSectionCommands/RicNewWellPathIntersectionFeature.h @@ -0,0 +1,67 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" +#include "cafCmdExecuteCommand.h" +#include "cafPdmPointer.h" + +class RimIntersectionCollection; +class RimWellPath; + + +//================================================================================================== +/// +//================================================================================================== +class RicNewWellPathIntersectionFeatureCmd : public caf::CmdExecuteCommand +{ +public: + RicNewWellPathIntersectionFeatureCmd(RimIntersectionCollection* intersectionCollection, RimWellPath* wellPath); + virtual ~RicNewWellPathIntersectionFeatureCmd(); + + virtual QString name(); + virtual void redo(); + virtual void undo(); + +private: + caf::PdmPointer m_intersectionCollection; + caf::PdmPointer m_wellPath; +}; + + + +//================================================================================================== +/// +//================================================================================================== +class RicNewWellPathIntersectionFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +public: + RicNewWellPathIntersectionFeature(); + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + + diff --git a/ApplicationCode/Commands/EclipseCommands/CMakeLists_files.cmake b/ApplicationCode/Commands/EclipseCommands/CMakeLists_files.cmake new file mode 100644 index 0000000000..767483654c --- /dev/null +++ b/ApplicationCode/Commands/EclipseCommands/CMakeLists_files.cmake @@ -0,0 +1,57 @@ + +# Use this workaround until we're on 2.8.3 on all platforms and can use CMAKE_CURRENT_LIST_DIR directly +if (${CMAKE_VERSION} VERSION_GREATER "2.8.2") + set(CEE_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_DIR}/) +endif() + +set (SOURCE_GROUP_HEADER_FILES +${CEE_CURRENT_LIST_DIR}RicAddEclipseInputPropertyFeature.h +${CEE_CURRENT_LIST_DIR}RicAddOpmInputPropertyFeature.h +${CEE_CURRENT_LIST_DIR}RicComputeStatisticsFeature.h +${CEE_CURRENT_LIST_DIR}RicCreateGridCaseGroupFeature.h +${CEE_CURRENT_LIST_DIR}RicEclipseCaseNewGroupExec.h +${CEE_CURRENT_LIST_DIR}RicEclipseCaseNewGroupFeature.h +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterFeatureImpl.h +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterInsertExec.h +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterInsertFeature.h +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNewExec.h +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNewFeature.h +${CEE_CURRENT_LIST_DIR}RicImportEclipseCaseFeature.h +${CEE_CURRENT_LIST_DIR}RicImportInputEclipseCaseFeature.h +${CEE_CURRENT_LIST_DIR}RicImportInputEclipseCaseOpmFeature.h +${CEE_CURRENT_LIST_DIR}RicNewStatisticsCaseFeature.h +${CEE_CURRENT_LIST_DIR}RicSaveEclipseInputPropertyFeature.h +${CEE_CURRENT_LIST_DIR}RicSaveEclipseResultAsInputPropertyExec.h +${CEE_CURRENT_LIST_DIR}RicSaveEclipseResultAsInputPropertyFeature.h +) + +set (SOURCE_GROUP_SOURCE_FILES +${CEE_CURRENT_LIST_DIR}RicAddEclipseInputPropertyFeature.cpp +${CEE_CURRENT_LIST_DIR}RicAddOpmInputPropertyFeature.cpp +${CEE_CURRENT_LIST_DIR}RicComputeStatisticsFeature.cpp +${CEE_CURRENT_LIST_DIR}RicCreateGridCaseGroupFeature.cpp +${CEE_CURRENT_LIST_DIR}RicEclipseCaseNewGroupExec.cpp +${CEE_CURRENT_LIST_DIR}RicEclipseCaseNewGroupFeature.cpp +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterFeatureImpl.cpp +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterInsertExec.cpp +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterInsertFeature.cpp +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNewExec.cpp +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNewFeature.cpp +${CEE_CURRENT_LIST_DIR}RicImportEclipseCaseFeature.cpp +${CEE_CURRENT_LIST_DIR}RicImportInputEclipseCaseFeature.cpp +${CEE_CURRENT_LIST_DIR}RicImportInputEclipseCaseOpmFeature.cpp +${CEE_CURRENT_LIST_DIR}RicNewStatisticsCaseFeature.cpp +${CEE_CURRENT_LIST_DIR}RicSaveEclipseInputPropertyFeature.cpp +${CEE_CURRENT_LIST_DIR}RicSaveEclipseResultAsInputPropertyExec.cpp +${CEE_CURRENT_LIST_DIR}RicSaveEclipseResultAsInputPropertyFeature.cpp +) + +list(APPEND CODE_HEADER_FILES +${SOURCE_GROUP_HEADER_FILES} +) + +list(APPEND CODE_SOURCE_FILES +${SOURCE_GROUP_SOURCE_FILES} +) + +source_group( "CommandFeature\\Eclipse" FILES ${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES} ${CEE_CURRENT_LIST_DIR}CMakeLists_files.cmake ) diff --git a/ApplicationCode/Commands/RicAddEclipseInputPropertyFeature.cpp b/ApplicationCode/Commands/EclipseCommands/RicAddEclipseInputPropertyFeature.cpp similarity index 89% rename from ApplicationCode/Commands/RicAddEclipseInputPropertyFeature.cpp rename to ApplicationCode/Commands/EclipseCommands/RicAddEclipseInputPropertyFeature.cpp index bb7af030e8..dd87823d9f 100644 --- a/ApplicationCode/Commands/RicAddEclipseInputPropertyFeature.cpp +++ b/ApplicationCode/Commands/EclipseCommands/RicAddEclipseInputPropertyFeature.cpp @@ -21,6 +21,7 @@ #include "RimEclipseInputPropertyCollection.h" #include "RimEclipseInputCase.h" +#include "RimEclipseInputCaseOpm.h" #include "RiaApplication.h" #include "RiuMainWindow.h" @@ -39,6 +40,18 @@ CAF_CMD_SOURCE_INIT(RicAddEclipseInputPropertyFeature, "RicAddEclipseInputProper //-------------------------------------------------------------------------------------------------- bool RicAddEclipseInputPropertyFeature::isCommandEnabled() { + RimEclipseInputPropertyCollection* inputProp = selectedInputPropertyCollection(); + if (inputProp) + { + RimEclipseInputCaseOpm* inputCaseOpm = NULL; + + inputProp->firstAncestorOrThisOfType(inputCaseOpm); + if (inputCaseOpm) + { + return false; + } + } + return selectedInputPropertyCollection() != NULL; } @@ -48,14 +61,14 @@ bool RicAddEclipseInputPropertyFeature::isCommandEnabled() void RicAddEclipseInputPropertyFeature::onActionTriggered(bool isChecked) { RiaApplication* app = RiaApplication::instance(); - QString defaultDir = app->defaultFileDialogDirectory("INPUT_FILES"); + QString defaultDir = app->lastUsedDialogDirectory("INPUT_FILES"); QStringList fileNames = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Select Eclipse Input Property Files", defaultDir, "All Files (*.* *)"); if (fileNames.isEmpty()) return; // Remember the directory to next time defaultDir = QFileInfo(fileNames.last()).absolutePath(); - app->setDefaultFileDialogDirectory("INPUT_FILES", defaultDir); + app->setLastUsedDialogDirectory("INPUT_FILES", defaultDir); RimEclipseInputPropertyCollection* inputPropertyCollection = selectedInputPropertyCollection(); if (inputPropertyCollection) diff --git a/ApplicationCode/Commands/RicAddEclipseInputPropertyFeature.h b/ApplicationCode/Commands/EclipseCommands/RicAddEclipseInputPropertyFeature.h similarity index 100% rename from ApplicationCode/Commands/RicAddEclipseInputPropertyFeature.h rename to ApplicationCode/Commands/EclipseCommands/RicAddEclipseInputPropertyFeature.h diff --git a/ApplicationCode/Commands/EclipseCommands/RicAddOpmInputPropertyFeature.cpp b/ApplicationCode/Commands/EclipseCommands/RicAddOpmInputPropertyFeature.cpp new file mode 100644 index 0000000000..2d2cd2a4da --- /dev/null +++ b/ApplicationCode/Commands/EclipseCommands/RicAddOpmInputPropertyFeature.cpp @@ -0,0 +1,115 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicAddOpmInputPropertyFeature.h" + +#include "RiaApplication.h" +#include "RimEclipseInputCaseOpm.h" +#include "RimEclipseInputPropertyCollection.h" +#include "RiuMainWindow.h" + +#include "cafSelectionManager.h" + +#include +#include +#include +#include + +CAF_CMD_SOURCE_INIT(RicAddOpmInputPropertyFeature, "RicAddOpmInputPropertyFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicAddOpmInputPropertyFeature::isCommandEnabled() +{ + RimEclipseInputPropertyCollection* inputProp = selectedInputPropertyCollection(); + if (inputProp) + { + RimEclipseInputCaseOpm* inputCaseOpm = NULL; + + inputProp->firstAncestorOrThisOfType(inputCaseOpm); + if (inputCaseOpm) + { + return true; + } + } + + return false; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicAddOpmInputPropertyFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + QString defaultDir = app->lastUsedDialogDirectory("INPUT_FILES"); + QStringList fileNames = QFileDialog::getOpenFileNames(NULL, "Select Eclipse Input Property Files", defaultDir, "All Files (*.* *)"); + + if (fileNames.isEmpty()) return; + + // Remember the directory to next time + defaultDir = QFileInfo(fileNames.last()).absolutePath(); + app->setLastUsedDialogDirectory("INPUT_FILES", defaultDir); + + RimEclipseInputPropertyCollection* inputPropertyCollection = selectedInputPropertyCollection(); + if (inputPropertyCollection) + { + addEclipseInputProperty(fileNames, inputPropertyCollection); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicAddOpmInputPropertyFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Add Input Property"); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimEclipseInputPropertyCollection* RicAddOpmInputPropertyFeature::selectedInputPropertyCollection() const +{ + std::vector selection; + caf::SelectionManager::instance()->objectsByType(&selection); + + return selection.size() > 0 ? selection[0] : NULL; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicAddOpmInputPropertyFeature::addEclipseInputProperty(const QStringList& fileNames, RimEclipseInputPropertyCollection* inputPropertyCollection) +{ + CVF_ASSERT(inputPropertyCollection); + + RimEclipseInputCaseOpm* inputCaseOpm = NULL; + + inputPropertyCollection->firstAncestorOrThisOfType(inputCaseOpm); + if (inputCaseOpm) + { + inputCaseOpm->appendPropertiesFromStandaloneFiles(fileNames); + } + + inputPropertyCollection->updateConnectedEditors(); +} + + diff --git a/ApplicationCode/Commands/EclipseCommands/RicAddOpmInputPropertyFeature.h b/ApplicationCode/Commands/EclipseCommands/RicAddOpmInputPropertyFeature.h new file mode 100644 index 0000000000..e5ca7facf8 --- /dev/null +++ b/ApplicationCode/Commands/EclipseCommands/RicAddOpmInputPropertyFeature.h @@ -0,0 +1,45 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +class RimEclipseInputPropertyCollection; +class QStringList; + +//================================================================================================== +/// +//================================================================================================== +class RicAddOpmInputPropertyFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); + +private: + RimEclipseInputPropertyCollection* selectedInputPropertyCollection() const; + static void addEclipseInputProperty(const QStringList& fileNames, RimEclipseInputPropertyCollection* inputPropertyCollection); +}; + + diff --git a/ApplicationCode/Commands/RicComputeStatisticsFeature.cpp b/ApplicationCode/Commands/EclipseCommands/RicComputeStatisticsFeature.cpp similarity index 86% rename from ApplicationCode/Commands/RicComputeStatisticsFeature.cpp rename to ApplicationCode/Commands/EclipseCommands/RicComputeStatisticsFeature.cpp index 3f1f21f104..939b6aca65 100644 --- a/ApplicationCode/Commands/RicComputeStatisticsFeature.cpp +++ b/ApplicationCode/Commands/EclipseCommands/RicComputeStatisticsFeature.cpp @@ -44,7 +44,7 @@ bool RicComputeStatisticsFeature::isCommandEnabled() if (statisticsCase) { RimIdenticalGridCaseGroup* gridCaseGroup = NULL; - statisticsCase->firstAnchestorOrThisOfType(gridCaseGroup); + statisticsCase->firstAncestorOrThisOfType(gridCaseGroup); RimCaseCollection* caseCollection = gridCaseGroup ? gridCaseGroup->caseCollection() : NULL; return caseCollection ? caseCollection->reservoirs.size() > 0 : false; @@ -64,17 +64,7 @@ void RicComputeStatisticsFeature::onActionTriggered(bool isChecked) { RimEclipseStatisticsCase* statisticsCase = selection[0]; - statisticsCase->computeStatistics(); - statisticsCase->scheduleACTIVEGeometryRegenOnReservoirViews(); - statisticsCase->updateConnectedEditorsAndReservoirViews(); - - if (statisticsCase->reservoirViews.size() == 0) - { - QAction* action = caf::CmdFeatureManager::instance()->action("RicNewViewFeature"); - CVF_ASSERT(action); - - action->trigger(); - } + statisticsCase->computeStatisticsAndUpdateViews(); } } diff --git a/ApplicationCode/Commands/RicComputeStatisticsFeature.h b/ApplicationCode/Commands/EclipseCommands/RicComputeStatisticsFeature.h similarity index 100% rename from ApplicationCode/Commands/RicComputeStatisticsFeature.h rename to ApplicationCode/Commands/EclipseCommands/RicComputeStatisticsFeature.h diff --git a/ApplicationCode/Commands/RicCreateGridCaseGroupFeature.cpp b/ApplicationCode/Commands/EclipseCommands/RicCreateGridCaseGroupFeature.cpp similarity index 100% rename from ApplicationCode/Commands/RicCreateGridCaseGroupFeature.cpp rename to ApplicationCode/Commands/EclipseCommands/RicCreateGridCaseGroupFeature.cpp diff --git a/ApplicationCode/Commands/RicCreateGridCaseGroupFeature.h b/ApplicationCode/Commands/EclipseCommands/RicCreateGridCaseGroupFeature.h similarity index 100% rename from ApplicationCode/Commands/RicCreateGridCaseGroupFeature.h rename to ApplicationCode/Commands/EclipseCommands/RicCreateGridCaseGroupFeature.h diff --git a/ApplicationCode/Commands/RicEclipseCaseNewGroupExec.cpp b/ApplicationCode/Commands/EclipseCommands/RicEclipseCaseNewGroupExec.cpp similarity index 100% rename from ApplicationCode/Commands/RicEclipseCaseNewGroupExec.cpp rename to ApplicationCode/Commands/EclipseCommands/RicEclipseCaseNewGroupExec.cpp diff --git a/ApplicationCode/Commands/RicEclipseCaseNewGroupExec.h b/ApplicationCode/Commands/EclipseCommands/RicEclipseCaseNewGroupExec.h similarity index 100% rename from ApplicationCode/Commands/RicEclipseCaseNewGroupExec.h rename to ApplicationCode/Commands/EclipseCommands/RicEclipseCaseNewGroupExec.h diff --git a/ApplicationCode/Commands/RicEclipseCaseNewGroupFeature.cpp b/ApplicationCode/Commands/EclipseCommands/RicEclipseCaseNewGroupFeature.cpp similarity index 100% rename from ApplicationCode/Commands/RicEclipseCaseNewGroupFeature.cpp rename to ApplicationCode/Commands/EclipseCommands/RicEclipseCaseNewGroupFeature.cpp diff --git a/ApplicationCode/Commands/RicEclipseCaseNewGroupFeature.h b/ApplicationCode/Commands/EclipseCommands/RicEclipseCaseNewGroupFeature.h similarity index 100% rename from ApplicationCode/Commands/RicEclipseCaseNewGroupFeature.h rename to ApplicationCode/Commands/EclipseCommands/RicEclipseCaseNewGroupFeature.h diff --git a/ApplicationCode/Commands/RicEclipsePropertyFilterFeatureImpl.cpp b/ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterFeatureImpl.cpp similarity index 98% rename from ApplicationCode/Commands/RicEclipsePropertyFilterFeatureImpl.cpp rename to ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterFeatureImpl.cpp index 6124ffde97..b63ede27be 100644 --- a/ApplicationCode/Commands/RicEclipsePropertyFilterFeatureImpl.cpp +++ b/ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterFeatureImpl.cpp @@ -90,7 +90,7 @@ void RicEclipsePropertyFilterFeatureImpl::insertPropertyFilter(RimEclipsePropert bool RicEclipsePropertyFilterFeatureImpl::isPropertyFilterCommandAvailable(caf::PdmObjectHandle* object) { RimView* rimView = NULL; - object->firstAnchestorOrThisOfType(rimView); + object->firstAncestorOrThisOfType(rimView); if (rimView) { RimViewController* vc = rimView->viewController(); @@ -123,4 +123,5 @@ void RicEclipsePropertyFilterFeatureImpl::setDefaults(RimEclipsePropertyFilter* propertyFilter->resultDefinition->loadResult(); propertyFilter->setToDefaultValues(); propertyFilter->updateFilterName(); + propertyFilter->m_categorySelection = true; } diff --git a/ApplicationCode/Commands/RicEclipsePropertyFilterFeatureImpl.h b/ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterFeatureImpl.h similarity index 100% rename from ApplicationCode/Commands/RicEclipsePropertyFilterFeatureImpl.h rename to ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterFeatureImpl.h diff --git a/ApplicationCode/Commands/RicEclipsePropertyFilterInsertExec.cpp b/ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterInsertExec.cpp similarity index 100% rename from ApplicationCode/Commands/RicEclipsePropertyFilterInsertExec.cpp rename to ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterInsertExec.cpp diff --git a/ApplicationCode/Commands/RicEclipsePropertyFilterInsertExec.h b/ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterInsertExec.h similarity index 100% rename from ApplicationCode/Commands/RicEclipsePropertyFilterInsertExec.h rename to ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterInsertExec.h diff --git a/ApplicationCode/Commands/RicEclipsePropertyFilterInsertFeature.cpp b/ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterInsertFeature.cpp similarity index 97% rename from ApplicationCode/Commands/RicEclipsePropertyFilterInsertFeature.cpp rename to ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterInsertFeature.cpp index cd845f2b9f..5a37be887f 100644 --- a/ApplicationCode/Commands/RicEclipsePropertyFilterInsertFeature.cpp +++ b/ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterInsertFeature.cpp @@ -64,5 +64,6 @@ void RicEclipsePropertyFilterInsertFeature::onActionTriggered(bool isChecked) //-------------------------------------------------------------------------------------------------- void RicEclipsePropertyFilterInsertFeature::setupActionLook(QAction* actionToSetup) { + actionToSetup->setIcon(QIcon(":/CellFilter_Values.png")); actionToSetup->setText("Insert Property Filter"); } diff --git a/ApplicationCode/Commands/RicEclipsePropertyFilterInsertFeature.h b/ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterInsertFeature.h similarity index 100% rename from ApplicationCode/Commands/RicEclipsePropertyFilterInsertFeature.h rename to ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterInsertFeature.h diff --git a/ApplicationCode/Commands/RicEclipsePropertyFilterNewExec.cpp b/ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterNewExec.cpp similarity index 100% rename from ApplicationCode/Commands/RicEclipsePropertyFilterNewExec.cpp rename to ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterNewExec.cpp diff --git a/ApplicationCode/Commands/RicEclipsePropertyFilterNewExec.h b/ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterNewExec.h similarity index 100% rename from ApplicationCode/Commands/RicEclipsePropertyFilterNewExec.h rename to ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterNewExec.h diff --git a/ApplicationCode/Commands/RicEclipsePropertyFilterNewFeature.cpp b/ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterNewFeature.cpp similarity index 100% rename from ApplicationCode/Commands/RicEclipsePropertyFilterNewFeature.cpp rename to ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterNewFeature.cpp diff --git a/ApplicationCode/Commands/RicEclipsePropertyFilterNewFeature.h b/ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterNewFeature.h similarity index 100% rename from ApplicationCode/Commands/RicEclipsePropertyFilterNewFeature.h rename to ApplicationCode/Commands/EclipseCommands/RicEclipsePropertyFilterNewFeature.h diff --git a/ApplicationCode/Commands/RicImportEclipseCaseFeature.cpp b/ApplicationCode/Commands/EclipseCommands/RicImportEclipseCaseFeature.cpp similarity index 92% rename from ApplicationCode/Commands/RicImportEclipseCaseFeature.cpp rename to ApplicationCode/Commands/EclipseCommands/RicImportEclipseCaseFeature.cpp index 3d38aa71b6..ee0ff4175f 100644 --- a/ApplicationCode/Commands/RicImportEclipseCaseFeature.cpp +++ b/ApplicationCode/Commands/EclipseCommands/RicImportEclipseCaseFeature.cpp @@ -45,10 +45,10 @@ void RicImportEclipseCaseFeature::onActionTriggered(bool isChecked) { RiaApplication* app = RiaApplication::instance(); - QString defaultDir = app->defaultFileDialogDirectory("BINARY_GRID"); + QString defaultDir = app->lastUsedDialogDirectory("BINARY_GRID"); QStringList fileNames = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Import Eclipse File", defaultDir, "Eclipse Grid Files (*.GRID *.EGRID)"); if (fileNames.size()) defaultDir = QFileInfo(fileNames.last()).absolutePath(); - app->setDefaultFileDialogDirectory("BINARY_GRID", defaultDir); + app->setLastUsedDialogDirectory("BINARY_GRID", defaultDir); int i; for (i = 0; i < fileNames.size(); i++) @@ -59,7 +59,7 @@ void RicImportEclipseCaseFeature::onActionTriggered(bool isChecked) { if (app->openEclipseCaseFromFile(fileName)) { - RiuMainWindow::instance()->addRecentFiles(fileName); + app->addToRecentFiles(fileName); } } } diff --git a/ApplicationCode/Commands/RicImportEclipseCaseFeature.h b/ApplicationCode/Commands/EclipseCommands/RicImportEclipseCaseFeature.h similarity index 100% rename from ApplicationCode/Commands/RicImportEclipseCaseFeature.h rename to ApplicationCode/Commands/EclipseCommands/RicImportEclipseCaseFeature.h diff --git a/ApplicationCode/Commands/RicImportInputEclipseCaseFeature.cpp b/ApplicationCode/Commands/EclipseCommands/RicImportInputEclipseCaseFeature.cpp similarity index 90% rename from ApplicationCode/Commands/RicImportInputEclipseCaseFeature.cpp rename to ApplicationCode/Commands/EclipseCommands/RicImportInputEclipseCaseFeature.cpp index 7b5a4ff9c2..4658451699 100644 --- a/ApplicationCode/Commands/RicImportInputEclipseCaseFeature.cpp +++ b/ApplicationCode/Commands/EclipseCommands/RicImportInputEclipseCaseFeature.cpp @@ -44,13 +44,13 @@ bool RicImportInputEclipseCaseFeature::isCommandEnabled() void RicImportInputEclipseCaseFeature::onActionTriggered(bool isChecked) { RiaApplication* app = RiaApplication::instance(); - QString defaultDir = app->defaultFileDialogDirectory("INPUT_FILES"); - QStringList fileNames = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Import Eclipse Input Files", defaultDir, "Eclipse Input Files and Input Properties (*.GRDECL *)"); + QString defaultDir = app->lastUsedDialogDirectory("INPUT_FILES"); + QStringList fileNames = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Import Eclipse Input Files", defaultDir, "Eclipse Input Files and Input Properties Eclipse Input Files (*.GRDECL);;All Files (*.*)"); if (fileNames.isEmpty()) return; // Remember the path to next time - app->setDefaultFileDialogDirectory("INPUT_FILES", QFileInfo(fileNames.last()).absolutePath()); + app->setLastUsedDialogDirectory("INPUT_FILES", QFileInfo(fileNames.last()).absolutePath()); app->openInputEclipseCaseFromFileNames(fileNames); diff --git a/ApplicationCode/Commands/RicImportInputEclipseCaseFeature.h b/ApplicationCode/Commands/EclipseCommands/RicImportInputEclipseCaseFeature.h similarity index 100% rename from ApplicationCode/Commands/RicImportInputEclipseCaseFeature.h rename to ApplicationCode/Commands/EclipseCommands/RicImportInputEclipseCaseFeature.h diff --git a/ApplicationCode/Commands/EclipseCommands/RicImportInputEclipseCaseOpmFeature.cpp b/ApplicationCode/Commands/EclipseCommands/RicImportInputEclipseCaseOpmFeature.cpp new file mode 100644 index 0000000000..22406bab93 --- /dev/null +++ b/ApplicationCode/Commands/EclipseCommands/RicImportInputEclipseCaseOpmFeature.cpp @@ -0,0 +1,100 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicImportInputEclipseCaseOpmFeature.h" + +#include "RiaApplication.h" + +#include "RimDefines.h" +#include "RimEclipseCaseCollection.h" +#include "RimEclipseCellColors.h" +#include "RimEclipseInputCaseOpm.h" +#include "RimEclipseView.h" +#include "RimOilField.h" +#include "RimProject.h" + +#include "RiuMainWindow.h" + +#include "cafSelectionManager.h" + +#include +#include + +CAF_CMD_SOURCE_INIT(RicImportInputEclipseCaseOpmFeature, "RicImportInputEclipseCaseOpmFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicImportInputEclipseCaseOpmFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicImportInputEclipseCaseOpmFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + QString defaultDir = app->lastUsedDialogDirectory("INPUT_FILES"); + QString fileName = QFileDialog::getOpenFileName(RiuMainWindow::instance(), "Import Eclipse Input file", defaultDir, "Eclipse Input Files (*.GRDECL);;All Files (*.*)"); + + if (fileName.isEmpty()) return; + + // Remember the path to next time + app->setLastUsedDialogDirectory("INPUT_FILES", QFileInfo(fileName).absolutePath()); + + RimProject* proj = app->project(); + RimEclipseCaseCollection* analysisModels = proj->activeOilField() ? proj->activeOilField()->analysisModels() : NULL; + if (analysisModels) + { + // This code originates from RiaApplication::openInputEclipseCaseFromFileNames + + RimEclipseInputCaseOpm* rimInputReservoir = new RimEclipseInputCaseOpm(); + proj->assignCaseIdToCase(rimInputReservoir); + + rimInputReservoir->importNewEclipseGridAndProperties(fileName); + + analysisModels->cases.push_back(rimInputReservoir); + + RimEclipseView* riv = rimInputReservoir->createAndAddReservoirView(); + + riv->cellResult()->setResultType(RimDefines::INPUT_PROPERTY); + riv->hasUserRequestedAnimation = true; + + riv->loadDataAndUpdate(); + + if (!riv->cellResult()->hasResult()) + { + riv->cellResult()->setResultVariable(RimDefines::undefinedResultName()); + } + + analysisModels->updateConnectedEditors(); + + RiuMainWindow::instance()->selectAsCurrentItem(riv->cellResult()); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicImportInputEclipseCaseOpmFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setIcon(QIcon(":/EclipseInput48x48.png")); + actionToSetup->setText("Import Input Eclipse Case (opm-parser) - BETA"); +} diff --git a/ApplicationCode/Commands/EclipseCommands/RicImportInputEclipseCaseOpmFeature.h b/ApplicationCode/Commands/EclipseCommands/RicImportInputEclipseCaseOpmFeature.h new file mode 100644 index 0000000000..6df4d3fd15 --- /dev/null +++ b/ApplicationCode/Commands/EclipseCommands/RicImportInputEclipseCaseOpmFeature.h @@ -0,0 +1,39 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +#include + +//================================================================================================== +/// +//================================================================================================== +class RicImportInputEclipseCaseOpmFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + + diff --git a/ApplicationCode/Commands/RicNewStatisticsCaseFeature.cpp b/ApplicationCode/Commands/EclipseCommands/RicNewStatisticsCaseFeature.cpp similarity index 100% rename from ApplicationCode/Commands/RicNewStatisticsCaseFeature.cpp rename to ApplicationCode/Commands/EclipseCommands/RicNewStatisticsCaseFeature.cpp diff --git a/ApplicationCode/Commands/RicNewStatisticsCaseFeature.h b/ApplicationCode/Commands/EclipseCommands/RicNewStatisticsCaseFeature.h similarity index 100% rename from ApplicationCode/Commands/RicNewStatisticsCaseFeature.h rename to ApplicationCode/Commands/EclipseCommands/RicNewStatisticsCaseFeature.h diff --git a/ApplicationCode/Commands/RicSaveEclipseInputPropertyFeature.cpp b/ApplicationCode/Commands/EclipseCommands/RicSaveEclipseInputPropertyFeature.cpp similarity index 95% rename from ApplicationCode/Commands/RicSaveEclipseInputPropertyFeature.cpp rename to ApplicationCode/Commands/EclipseCommands/RicSaveEclipseInputPropertyFeature.cpp index 2fa7600775..b027dddf4d 100644 --- a/ApplicationCode/Commands/RicSaveEclipseInputPropertyFeature.cpp +++ b/ApplicationCode/Commands/EclipseCommands/RicSaveEclipseInputPropertyFeature.cpp @@ -84,17 +84,10 @@ void RicSaveEclipseInputPropertyFeature::onActionTriggered(bool isChecked) if (!inputReservoir) return; { - QString projectFolder; - RiaApplication* app = RiaApplication::instance(); - QString projectFileName = app->currentProjectFileName(); - if (!projectFileName.isEmpty()) + QString projectFolder = app->currentProjectPath(); + if (projectFolder.isEmpty()) { - QFileInfo fi(projectFileName); - projectFolder = fi.absolutePath(); - } - else - { projectFolder = inputReservoir->locationOnDisc(); } diff --git a/ApplicationCode/Commands/RicSaveEclipseInputPropertyFeature.h b/ApplicationCode/Commands/EclipseCommands/RicSaveEclipseInputPropertyFeature.h similarity index 100% rename from ApplicationCode/Commands/RicSaveEclipseInputPropertyFeature.h rename to ApplicationCode/Commands/EclipseCommands/RicSaveEclipseInputPropertyFeature.h diff --git a/ApplicationCode/Commands/RicSaveEclipseResultAsInputPropertyExec.cpp b/ApplicationCode/Commands/EclipseCommands/RicSaveEclipseResultAsInputPropertyExec.cpp similarity index 94% rename from ApplicationCode/Commands/RicSaveEclipseResultAsInputPropertyExec.cpp rename to ApplicationCode/Commands/EclipseCommands/RicSaveEclipseResultAsInputPropertyExec.cpp index 9e468d8097..49f274112a 100644 --- a/ApplicationCode/Commands/RicSaveEclipseResultAsInputPropertyExec.cpp +++ b/ApplicationCode/Commands/EclipseCommands/RicSaveEclipseResultAsInputPropertyExec.cpp @@ -77,16 +77,9 @@ void RicSaveEclipseResultAsInputPropertyExec::redo() RimBinaryExportSettings exportSettings; exportSettings.eclipseKeyword = m_cellColors->resultVariable(); { - QString projectFolder; - RiaApplication* app = RiaApplication::instance(); - QString projectFileName = app->currentProjectFileName(); - if (!projectFileName.isEmpty()) - { - QFileInfo fi(projectFileName); - projectFolder = fi.absolutePath(); - } - else + QString projectFolder = app->currentProjectPath(); + if (projectFolder.isEmpty()) { projectFolder = m_cellColors->reservoirView()->eclipseCase()->locationOnDisc(); } diff --git a/ApplicationCode/Commands/RicSaveEclipseResultAsInputPropertyExec.h b/ApplicationCode/Commands/EclipseCommands/RicSaveEclipseResultAsInputPropertyExec.h similarity index 100% rename from ApplicationCode/Commands/RicSaveEclipseResultAsInputPropertyExec.h rename to ApplicationCode/Commands/EclipseCommands/RicSaveEclipseResultAsInputPropertyExec.h diff --git a/ApplicationCode/Commands/RicSaveEclipseResultAsInputPropertyFeature.cpp b/ApplicationCode/Commands/EclipseCommands/RicSaveEclipseResultAsInputPropertyFeature.cpp similarity index 100% rename from ApplicationCode/Commands/RicSaveEclipseResultAsInputPropertyFeature.cpp rename to ApplicationCode/Commands/EclipseCommands/RicSaveEclipseResultAsInputPropertyFeature.cpp diff --git a/ApplicationCode/Commands/RicSaveEclipseResultAsInputPropertyFeature.h b/ApplicationCode/Commands/EclipseCommands/RicSaveEclipseResultAsInputPropertyFeature.h similarity index 100% rename from ApplicationCode/Commands/RicSaveEclipseResultAsInputPropertyFeature.h rename to ApplicationCode/Commands/EclipseCommands/RicSaveEclipseResultAsInputPropertyFeature.h diff --git a/ApplicationCode/Commands/IntersectionBoxCommands/CMakeLists_files.cmake b/ApplicationCode/Commands/IntersectionBoxCommands/CMakeLists_files.cmake new file mode 100644 index 0000000000..8d4df6e2cb --- /dev/null +++ b/ApplicationCode/Commands/IntersectionBoxCommands/CMakeLists_files.cmake @@ -0,0 +1,39 @@ + +# Use this workaround until we're on 2.8.3 on all platforms and can use CMAKE_CURRENT_LIST_DIR directly +if (${CMAKE_VERSION} VERSION_GREATER "2.8.2") + set(CEE_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_DIR}/) +endif() + +set (SOURCE_GROUP_HEADER_FILES +${CEE_CURRENT_LIST_DIR}RicBoxManipulatorEventHandler.h +${CEE_CURRENT_LIST_DIR}RicAppendIntersectionBoxFeature.h +${CEE_CURRENT_LIST_DIR}RicIntersectionBoxXSliceFeature.h +${CEE_CURRENT_LIST_DIR}RicIntersectionBoxYSliceFeature.h +${CEE_CURRENT_LIST_DIR}RicIntersectionBoxZSliceFeature.h +${CEE_CURRENT_LIST_DIR}RicIntersectionBoxAtPosFeature.h +) + +set (SOURCE_GROUP_SOURCE_FILES +${CEE_CURRENT_LIST_DIR}RicBoxManipulatorEventHandler.cpp +${CEE_CURRENT_LIST_DIR}RicAppendIntersectionBoxFeature.cpp +${CEE_CURRENT_LIST_DIR}RicIntersectionBoxXSliceFeature.cpp +${CEE_CURRENT_LIST_DIR}RicIntersectionBoxYSliceFeature.cpp +${CEE_CURRENT_LIST_DIR}RicIntersectionBoxZSliceFeature.cpp +${CEE_CURRENT_LIST_DIR}RicIntersectionBoxAtPosFeature.cpp +) + +list(APPEND CODE_HEADER_FILES +${SOURCE_GROUP_HEADER_FILES} +) + +list(APPEND CODE_SOURCE_FILES +${SOURCE_GROUP_SOURCE_FILES} +) + +set (QT_MOC_HEADERS +${QT_MOC_HEADERS} +${CEE_CURRENT_LIST_DIR}RicBoxManipulatorEventHandler.h +) + + +source_group( "CommandFeature\\IntersectionBox" FILES ${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES} ${CEE_CURRENT_LIST_DIR}CMakeLists_files.cmake ) diff --git a/ApplicationCode/Commands/IntersectionBoxCommands/RicAppendIntersectionBoxFeature.cpp b/ApplicationCode/Commands/IntersectionBoxCommands/RicAppendIntersectionBoxFeature.cpp new file mode 100644 index 0000000000..70661a5822 --- /dev/null +++ b/ApplicationCode/Commands/IntersectionBoxCommands/RicAppendIntersectionBoxFeature.cpp @@ -0,0 +1,101 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicAppendIntersectionBoxFeature.h" + +#include "RimCase.h" +#include "RimIntersectionBox.h" +#include "RimIntersectionCollection.h" +#include "RimView.h" +#include "RiuMainWindow.h" + +#include "cafCmdExecCommandManager.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + +CAF_CMD_SOURCE_INIT(RicAppendIntersectionBoxFeature, "RicAppendIntersectionBoxFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicAppendIntersectionBoxFeature::isCommandEnabled() +{ + RimIntersectionCollection* coll = RicAppendIntersectionBoxFeature::intersectionCollection(); + if (coll) return true; + + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicAppendIntersectionBoxFeature::onActionTriggered(bool isChecked) +{ + RimIntersectionCollection* coll = RicAppendIntersectionBoxFeature::intersectionCollection(); + + if (coll) + { + RimIntersectionBox* intersectionBox = new RimIntersectionBox(); + intersectionBox->name = QString("Intersection Box"); + + coll->appendIntersectionBox(intersectionBox); + + intersectionBox->setToDefaultSizeBox(); + + coll->updateConnectedEditors(); + RiuMainWindow::instance()->selectAsCurrentItem(intersectionBox); + + RimView* rimView = NULL; + coll->firstAncestorOrThisOfType(rimView); + if (rimView) + { + rimView->showGridCells(false); + rimView->scheduleCreateDisplayModelAndRedraw(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicAppendIntersectionBoxFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setIcon(QIcon(":/IntersectionBox16x16.png")); + actionToSetup->setText("New Intersection Box"); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimIntersectionCollection* RicAppendIntersectionBoxFeature::intersectionCollection() +{ + RimIntersectionCollection* intersectionBoxColl = nullptr; + + std::vector selectedObjects; + caf::SelectionManager::instance()->objectsByType(&selectedObjects); + if (selectedObjects.size() == 1) + { + selectedObjects[0]->firstAncestorOrThisOfType(intersectionBoxColl); + } + + return intersectionBoxColl; +} + diff --git a/ApplicationCode/Commands/IntersectionBoxCommands/RicAppendIntersectionBoxFeature.h b/ApplicationCode/Commands/IntersectionBoxCommands/RicAppendIntersectionBoxFeature.h new file mode 100644 index 0000000000..78ae599703 --- /dev/null +++ b/ApplicationCode/Commands/IntersectionBoxCommands/RicAppendIntersectionBoxFeature.h @@ -0,0 +1,43 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" +#include "cafCmdExecuteCommand.h" +#include "cafPdmPointer.h" + +class RimIntersectionCollection; + +//================================================================================================== +/// +//================================================================================================== +class RicAppendIntersectionBoxFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); + +private: + static RimIntersectionCollection* intersectionCollection(); +}; + diff --git a/ApplicationCode/Commands/IntersectionBoxCommands/RicBoxManipulatorEventHandler.cpp b/ApplicationCode/Commands/IntersectionBoxCommands/RicBoxManipulatorEventHandler.cpp new file mode 100644 index 0000000000..931701575f --- /dev/null +++ b/ApplicationCode/Commands/IntersectionBoxCommands/RicBoxManipulatorEventHandler.cpp @@ -0,0 +1,136 @@ + +#include "RicBoxManipulatorEventHandler.h" + +#include "cafBoxManipulatorPartManager.h" +#include "cafEffectGenerator.h" +#include "cafViewer.h" + +#include "cvfCamera.h" +#include "cvfDrawableGeo.h" +#include "cvfHitItemCollection.h" +#include "cvfModelBasicList.h" +#include "cvfPart.h" +#include "cvfRay.h" + +#include +#include + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicBoxManipulatorEventHandler::RicBoxManipulatorEventHandler(caf::Viewer* viewer) + : m_viewer(viewer) +{ + m_partManager = new caf::BoxManipulatorPartManager; + + m_viewer->installEventFilter(this); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicBoxManipulatorEventHandler::~RicBoxManipulatorEventHandler() +{ + if (m_viewer) m_viewer->removeEventFilter(this); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicBoxManipulatorEventHandler::setOrigin(const cvf::Vec3d& origin) +{ + m_partManager->setOrigin(origin); + + emit notifyRedraw(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicBoxManipulatorEventHandler::setSize(const cvf::Vec3d& size) +{ + m_partManager->setSize(size); + + emit notifyRedraw(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicBoxManipulatorEventHandler::appendPartsToModel(cvf::ModelBasicList* model) +{ + m_partManager->appendPartsToModel(model); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicBoxManipulatorEventHandler::eventFilter(QObject *obj, QEvent* inputEvent) +{ + if (inputEvent->type() == QEvent::MouseButtonPress) + { + QMouseEvent* mouseEvent = static_cast(inputEvent); + + if (mouseEvent->button() == Qt::LeftButton) + { + cvf::HitItemCollection hitItems; + if (m_viewer->rayPick(mouseEvent->x(), mouseEvent->y(), &hitItems)) + { + m_partManager->tryToActivateManipulator(hitItems.firstItem()); + + if(m_partManager->isManipulatorActive()) + { + emit notifyRedraw(); + + return true; + } + } + } + } + else if (inputEvent->type() == QEvent::MouseMove) + { + if (m_partManager->isManipulatorActive()) + { + QMouseEvent* mouseEvent = static_cast(inputEvent); + + //qDebug() << "Inside mouse move"; + //qDebug() << mouseEvent->pos(); + + int translatedMousePosX = mouseEvent->pos().x(); + int translatedMousePosY = m_viewer->height() - mouseEvent->pos().y(); + + cvf::ref ray = m_viewer->mainCamera()->rayFromWindowCoordinates(translatedMousePosX, translatedMousePosY); + { + m_partManager->updateManipulatorFromRay(ray.p()); + + cvf::Vec3d origin; + cvf::Vec3d size; + m_partManager->originAndSize(&origin, &size); + + emit notifyUpdate(origin, size); + + emit notifyRedraw(); + + return true; + } + } + } + else if (inputEvent->type() == QEvent::MouseButtonRelease) + { + if (m_partManager->isManipulatorActive()) + { + m_partManager->endManipulator(); + + cvf::Vec3d origin; + cvf::Vec3d size; + m_partManager->originAndSize(&origin, &size); + + emit notifyUpdate(origin, size); + + return true; + } + } + + return false; +} + diff --git a/ApplicationCode/Commands/IntersectionBoxCommands/RicBoxManipulatorEventHandler.h b/ApplicationCode/Commands/IntersectionBoxCommands/RicBoxManipulatorEventHandler.h new file mode 100644 index 0000000000..3c8b41a2ac --- /dev/null +++ b/ApplicationCode/Commands/IntersectionBoxCommands/RicBoxManipulatorEventHandler.h @@ -0,0 +1,56 @@ + +#pragma once + +#include "cvfBase.h" +#include "cvfObject.h" +#include "cvfMatrix4.h" +#include "cvfVector3.h" + +#include +#include + +namespace cvf { + class Model; + class ModelBasicList; +}; + + +namespace caf { + class BoxManipulatorPartManager; + class Viewer; +}; + +class QMouseEvent; + + + +//================================================================================================== +// +// +//================================================================================================== +class RicBoxManipulatorEventHandler : public QObject +{ + Q_OBJECT + +public: + RicBoxManipulatorEventHandler(caf::Viewer* viewer); + ~RicBoxManipulatorEventHandler(); + + void setOrigin(const cvf::Vec3d& origin); + void setSize(const cvf::Vec3d& size); + + void appendPartsToModel(cvf::ModelBasicList* model); + +signals: + void notifyRedraw(); + void notifyUpdate(const cvf::Vec3d& origin, const cvf::Vec3d& size); + +protected: + bool eventFilter(QObject *obj, QEvent *event); + +private: + QPointer m_viewer; + + cvf::ref m_partManager; +}; + diff --git a/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxAtPosFeature.cpp b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxAtPosFeature.cpp new file mode 100644 index 0000000000..3ad0570eb5 --- /dev/null +++ b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxAtPosFeature.cpp @@ -0,0 +1,90 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicIntersectionBoxAtPosFeature.h" + +#include "RiaApplication.h" + +#include "RimCase.h" +#include "RimIntersectionBox.h" +#include "RimIntersectionCollection.h" +#include "RimView.h" + +#include "RiuMainWindow.h" +#include "RiuViewer.h" + +#include "cafCmdExecCommandManager.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + +CAF_CMD_SOURCE_INIT(RicIntersectionBoxAtPosFeature, "RicIntersectionBoxAtPosFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicIntersectionBoxAtPosFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicIntersectionBoxAtPosFeature::onActionTriggered(bool isChecked) +{ + RimView* activeView = RiaApplication::instance()->activeReservoirView(); + if (activeView) + { + RimIntersectionCollection* coll = activeView->crossSectionCollection(); + CVF_ASSERT(coll); + + RimIntersectionBox* intersectionBox = new RimIntersectionBox(); + intersectionBox->name = QString("Intersection box"); + + coll->appendIntersectionBox(intersectionBox); + + cvf::Vec3d domainCoord = activeView->viewer()->lastPickPositionInDomainCoords(); + intersectionBox->setToDefaultSizeSlice(RimIntersectionBox::PLANE_STATE_NONE, domainCoord); + + coll->updateConnectedEditors(); + RiuMainWindow::instance()->selectAsCurrentItem(intersectionBox); + + RimView* rimView = NULL; + coll->firstAncestorOrThisOfType(rimView); + if (rimView) + { + rimView->showGridCells(false); + RiuMainWindow::instance()->refreshDrawStyleActions(); + + rimView->scheduleCreateDisplayModelAndRedraw(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicIntersectionBoxAtPosFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setIcon(QIcon(":/IntersectionBox16x16.png")); + actionToSetup->setText("Intersection Box"); +} + diff --git a/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxAtPosFeature.h b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxAtPosFeature.h new file mode 100644 index 0000000000..6d19d42db6 --- /dev/null +++ b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxAtPosFeature.h @@ -0,0 +1,39 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" +#include "cafCmdExecuteCommand.h" +#include "cafPdmPointer.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicIntersectionBoxAtPosFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + diff --git a/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxXSliceFeature.cpp b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxXSliceFeature.cpp new file mode 100644 index 0000000000..fbf17a62e8 --- /dev/null +++ b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxXSliceFeature.cpp @@ -0,0 +1,90 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicIntersectionBoxXSliceFeature.h" + +#include "RiaApplication.h" + +#include "RimCase.h" +#include "RimIntersectionBox.h" +#include "RimIntersectionCollection.h" +#include "RimView.h" + +#include "RiuMainWindow.h" +#include "RiuViewer.h" + +#include "cafCmdExecCommandManager.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + +CAF_CMD_SOURCE_INIT(RicIntersectionBoxXSliceFeature, "RicIntersectionBoxXSliceFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicIntersectionBoxXSliceFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicIntersectionBoxXSliceFeature::onActionTriggered(bool isChecked) +{ + RimView* activeView = RiaApplication::instance()->activeReservoirView(); + if (activeView) + { + RimIntersectionCollection* coll = activeView->crossSectionCollection(); + CVF_ASSERT(coll); + + RimIntersectionBox* intersectionBox = new RimIntersectionBox(); + intersectionBox->name = QString("X-slice (Intersection box)"); + + coll->appendIntersectionBox(intersectionBox); + + cvf::Vec3d domainCoord = activeView->viewer()->lastPickPositionInDomainCoords(); + intersectionBox->setToDefaultSizeSlice(RimIntersectionBox::PLANE_STATE_X, domainCoord); + + coll->updateConnectedEditors(); + RiuMainWindow::instance()->selectAsCurrentItem(intersectionBox); + + RimView* rimView = NULL; + coll->firstAncestorOrThisOfType(rimView); + if (rimView) + { + rimView->showGridCells(false); + RiuMainWindow::instance()->refreshDrawStyleActions(); + + rimView->scheduleCreateDisplayModelAndRedraw(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicIntersectionBoxXSliceFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setIcon(QIcon(":/IntersectionXPlane16x16.png")); + actionToSetup->setText("X-slice Intersection Box"); +} + diff --git a/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxXSliceFeature.h b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxXSliceFeature.h new file mode 100644 index 0000000000..de3fce08a7 --- /dev/null +++ b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxXSliceFeature.h @@ -0,0 +1,39 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" +#include "cafCmdExecuteCommand.h" +#include "cafPdmPointer.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicIntersectionBoxXSliceFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + diff --git a/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxYSliceFeature.cpp b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxYSliceFeature.cpp new file mode 100644 index 0000000000..aea7a5d115 --- /dev/null +++ b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxYSliceFeature.cpp @@ -0,0 +1,90 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicIntersectionBoxYSliceFeature.h" + +#include "RiaApplication.h" + +#include "RimCase.h" +#include "RimIntersectionBox.h" +#include "RimIntersectionCollection.h" +#include "RimView.h" + +#include "RiuMainWindow.h" +#include "RiuViewer.h" + +#include "cafCmdExecCommandManager.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + +CAF_CMD_SOURCE_INIT(RicIntersectionBoxYSliceFeature, "RicIntersectionBoxYSliceFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicIntersectionBoxYSliceFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicIntersectionBoxYSliceFeature::onActionTriggered(bool isChecked) +{ + RimView* activeView = RiaApplication::instance()->activeReservoirView(); + if (activeView) + { + RimIntersectionCollection* coll = activeView->crossSectionCollection(); + CVF_ASSERT(coll); + + RimIntersectionBox* intersectionBox = new RimIntersectionBox(); + intersectionBox->name = QString("Y-slice (Intersection box)"); + + coll->appendIntersectionBox(intersectionBox); + + cvf::Vec3d domainCoord = activeView->viewer()->lastPickPositionInDomainCoords(); + intersectionBox->setToDefaultSizeSlice(RimIntersectionBox::PLANE_STATE_Y, domainCoord); + + coll->updateConnectedEditors(); + RiuMainWindow::instance()->selectAsCurrentItem(intersectionBox); + + RimView* rimView = NULL; + coll->firstAncestorOrThisOfType(rimView); + if (rimView) + { + rimView->showGridCells(false); + RiuMainWindow::instance()->refreshDrawStyleActions(); + + rimView->scheduleCreateDisplayModelAndRedraw(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicIntersectionBoxYSliceFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setIcon(QIcon(":/IntersectionYPlane16x16.png")); + actionToSetup->setText("Y-slice Intersection Box"); +} + diff --git a/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxYSliceFeature.h b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxYSliceFeature.h new file mode 100644 index 0000000000..071db4eb64 --- /dev/null +++ b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxYSliceFeature.h @@ -0,0 +1,39 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" +#include "cafCmdExecuteCommand.h" +#include "cafPdmPointer.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicIntersectionBoxYSliceFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + diff --git a/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxZSliceFeature.cpp b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxZSliceFeature.cpp new file mode 100644 index 0000000000..68d65a23e0 --- /dev/null +++ b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxZSliceFeature.cpp @@ -0,0 +1,89 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicIntersectionBoxZSliceFeature.h" + +#include "RiaApplication.h" + +#include "RimCase.h" +#include "RimIntersectionBox.h" +#include "RimIntersectionCollection.h" +#include "RimView.h" + +#include "RiuMainWindow.h" +#include "RiuViewer.h" + +#include "cafCmdExecCommandManager.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + +CAF_CMD_SOURCE_INIT(RicIntersectionBoxZSliceFeature, "RicIntersectionBoxZSliceFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicIntersectionBoxZSliceFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicIntersectionBoxZSliceFeature::onActionTriggered(bool isChecked) +{ + RimView* activeView = RiaApplication::instance()->activeReservoirView(); + if (activeView) + { + RimIntersectionCollection* coll = activeView->crossSectionCollection(); + CVF_ASSERT(coll); + + RimIntersectionBox* intersectionBox = new RimIntersectionBox(); + intersectionBox->name = QString("Z-slice (Intersection box)"); + + coll->appendIntersectionBox(intersectionBox); + cvf::Vec3d domainCoord = activeView->viewer()->lastPickPositionInDomainCoords(); + intersectionBox->setToDefaultSizeSlice(RimIntersectionBox::PLANE_STATE_Z, domainCoord); + + coll->updateConnectedEditors(); + RiuMainWindow::instance()->selectAsCurrentItem(intersectionBox); + + RimView* rimView = NULL; + coll->firstAncestorOrThisOfType(rimView); + if (rimView) + { + rimView->showGridCells(false); + RiuMainWindow::instance()->refreshDrawStyleActions(); + + rimView->scheduleCreateDisplayModelAndRedraw(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicIntersectionBoxZSliceFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setIcon(QIcon(":/IntersectionZPlane16x16.png")); + actionToSetup->setText("Z-slice Intersection Box"); +} + diff --git a/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxZSliceFeature.h b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxZSliceFeature.h new file mode 100644 index 0000000000..a229089234 --- /dev/null +++ b/ApplicationCode/Commands/IntersectionBoxCommands/RicIntersectionBoxZSliceFeature.h @@ -0,0 +1,39 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" +#include "cafCmdExecuteCommand.h" +#include "cafPdmPointer.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicIntersectionBoxZSliceFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + diff --git a/ApplicationCode/Commands/OctaveScriptCommands/CMakeLists_files.cmake b/ApplicationCode/Commands/OctaveScriptCommands/CMakeLists_files.cmake index e8d3b455dc..a2fe983e05 100644 --- a/ApplicationCode/Commands/OctaveScriptCommands/CMakeLists_files.cmake +++ b/ApplicationCode/Commands/OctaveScriptCommands/CMakeLists_files.cmake @@ -12,6 +12,7 @@ ${CEE_CURRENT_LIST_DIR}RicExecuteScriptFeature.h ${CEE_CURRENT_LIST_DIR}RicExecuteScriptForCasesFeature.h ${CEE_CURRENT_LIST_DIR}RicNewScriptFeature.h ${CEE_CURRENT_LIST_DIR}RicScriptFeatureImpl.h +${CEE_CURRENT_LIST_DIR}RicRefreshScriptsFeature.h ) set (SOURCE_GROUP_SOURCE_FILES @@ -22,6 +23,7 @@ ${CEE_CURRENT_LIST_DIR}RicExecuteScriptFeature.cpp ${CEE_CURRENT_LIST_DIR}RicExecuteScriptForCasesFeature.cpp ${CEE_CURRENT_LIST_DIR}RicNewScriptFeature.cpp ${CEE_CURRENT_LIST_DIR}RicScriptFeatureImpl.cpp +${CEE_CURRENT_LIST_DIR}RicRefreshScriptsFeature.cpp ) set (QT_MOC_HEADERS diff --git a/ApplicationCode/Commands/OctaveScriptCommands/RicAddScriptPathFeature.cpp b/ApplicationCode/Commands/OctaveScriptCommands/RicAddScriptPathFeature.cpp index 29c32c25bb..b68fba9303 100644 --- a/ApplicationCode/Commands/OctaveScriptCommands/RicAddScriptPathFeature.cpp +++ b/ApplicationCode/Commands/OctaveScriptCommands/RicAddScriptPathFeature.cpp @@ -19,11 +19,13 @@ #include "RicAddScriptPathFeature.h" +#include "RiaApplication.h" +#include "RiaPreferences.h" + +#include "RicRefreshScriptsFeature.h" #include "RicScriptFeatureImpl.h" #include "RimScriptCollection.h" -#include "RiaApplication.h" -#include "RiaPreferences.h" #include "RiuMainWindow.h" #include "cvfAssert.h" @@ -62,6 +64,8 @@ void RicAddScriptPathFeature::onActionTriggered(bool isChecked) RiaApplication::instance()->preferences()->scriptDirectories = filePathString; RiaApplication::instance()->applyPreferences(); + + RicRefreshScriptsFeature::refreshScriptFolders(); } } diff --git a/ApplicationCode/Commands/OctaveScriptCommands/RicDeleteScriptPathFeature.cpp b/ApplicationCode/Commands/OctaveScriptCommands/RicDeleteScriptPathFeature.cpp index f44a1fadfa..02f046326b 100644 --- a/ApplicationCode/Commands/OctaveScriptCommands/RicDeleteScriptPathFeature.cpp +++ b/ApplicationCode/Commands/OctaveScriptCommands/RicDeleteScriptPathFeature.cpp @@ -19,11 +19,13 @@ #include "RicDeleteScriptPathFeature.h" +#include "RiaApplication.h" +#include "RiaPreferences.h" + +#include "RicRefreshScriptsFeature.h" #include "RicScriptFeatureImpl.h" #include "RimScriptCollection.h" -#include "RiaApplication.h" -#include "RiaPreferences.h" #include "RiuMainWindow.h" #include "cvfAssert.h" @@ -69,6 +71,8 @@ void RicDeleteScriptPathFeature::onActionTriggered(bool isChecked) RiaApplication::instance()->preferences()->scriptDirectories = filePathString; RiaApplication::instance()->applyPreferences(); + + RicRefreshScriptsFeature::refreshScriptFolders(); } } @@ -78,4 +82,5 @@ void RicDeleteScriptPathFeature::onActionTriggered(bool isChecked) void RicDeleteScriptPathFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("Delete Script Path"); + actionToSetup->setIcon(QIcon(":/Erase.png")); } diff --git a/ApplicationCode/Commands/OctaveScriptCommands/RicNewScriptFeature.cpp b/ApplicationCode/Commands/OctaveScriptCommands/RicNewScriptFeature.cpp index cb1654f7ef..dd011f9825 100644 --- a/ApplicationCode/Commands/OctaveScriptCommands/RicNewScriptFeature.cpp +++ b/ApplicationCode/Commands/OctaveScriptCommands/RicNewScriptFeature.cpp @@ -19,16 +19,20 @@ #include "RicNewScriptFeature.h" +#include "RiaApplication.h" + +#include "RicRefreshScriptsFeature.h" #include "RicScriptFeatureImpl.h" #include "RimCalcScript.h" #include "RimScriptCollection.h" -#include "RiaApplication.h" - + #include "RiuMainWindow.h" - + #include #include +#include +#include #include CAF_CMD_SOURCE_INIT(RicNewScriptFeature, "RicNewScriptFeature"); @@ -38,8 +42,7 @@ CAF_CMD_SOURCE_INIT(RicNewScriptFeature, "RicNewScriptFeature"); //-------------------------------------------------------------------------------------------------- bool RicNewScriptFeature::isCommandEnabled() { - std::vector selection = RicScriptFeatureImpl::selectedScripts(); - return selection.size() > 0; + return true; } //-------------------------------------------------------------------------------------------------- @@ -55,7 +58,7 @@ void RicNewScriptFeature::onActionTriggered(bool isChecked) QString fullPathNewScript; - if (calcScript ) + if (calcScript) { QFileInfo existingScriptFileInfo(calcScript->absolutePath()); fullPathNewScript = existingScriptFileInfo.absolutePath(); @@ -79,19 +82,40 @@ void RicNewScriptFeature::onActionTriggered(bool isChecked) num++; } - RiaApplication* app = RiaApplication::instance(); - QString scriptEditor = app->scriptEditorPath(); - if (!scriptEditor.isEmpty()) + bool ok; + fullPathFilenameNewScript = QInputDialog::getText(NULL, "Specify new script file", "File name", QLineEdit::Normal, fullPathFilenameNewScript, &ok); + + if (ok && !fullPathFilenameNewScript.isEmpty()) { - QStringList arguments; - arguments << fullPathFilenameNewScript; + QFile file(fullPathFilenameNewScript); + if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) + { + QMessageBox::warning(RiuMainWindow::instance(), "Script editor", "Failed to create file\n" + fullPathFilenameNewScript); - QProcess* myProcess = new QProcess(this); - myProcess->start(scriptEditor, arguments); + return; + } + + RicRefreshScriptsFeature::refreshScriptFolders(); + + if (calcScript) + { + RiuMainWindow::instance()->selectAsCurrentItem(calcScript); + } - if (!myProcess->waitForStarted(1000)) + RiaApplication* app = RiaApplication::instance(); + QString scriptEditor = app->scriptEditorPath(); + if (!scriptEditor.isEmpty()) { - QMessageBox::warning(RiuMainWindow::instance(), "Script editor", "Failed to start script editor executable\n" + scriptEditor); + QStringList arguments; + arguments << fullPathFilenameNewScript; + + QProcess* myProcess = new QProcess(this); + myProcess->start(scriptEditor, arguments); + + if (!myProcess->waitForStarted(1000)) + { + QMessageBox::warning(RiuMainWindow::instance(), "Script editor", "Failed to start script editor executable\n" + scriptEditor); + } } } } diff --git a/ApplicationCode/Commands/OctaveScriptCommands/RicRefreshScriptsFeature.cpp b/ApplicationCode/Commands/OctaveScriptCommands/RicRefreshScriptsFeature.cpp new file mode 100644 index 0000000000..5cb4223fe6 --- /dev/null +++ b/ApplicationCode/Commands/OctaveScriptCommands/RicRefreshScriptsFeature.cpp @@ -0,0 +1,65 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicRefreshScriptsFeature.h" + +#include "RiaApplication.h" +#include "RiaPreferences.h" + +#include "RimProject.h" + +#include + +CAF_CMD_SOURCE_INIT(RicRefreshScriptsFeature, "RicRefreshScriptsFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicRefreshScriptsFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicRefreshScriptsFeature::onActionTriggered(bool isChecked) +{ + refreshScriptFolders(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicRefreshScriptsFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Refresh"); + actionToSetup->setIcon(QIcon(":/Refresh-32.png")); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicRefreshScriptsFeature::refreshScriptFolders() +{ + RimProject* proj = RiaApplication::instance()->project(); + RiaPreferences* prefs = RiaApplication::instance()->preferences(); + + proj->setScriptDirectories(prefs->scriptDirectories()); + proj->updateConnectedEditors(); +} diff --git a/ApplicationCode/Commands/OctaveScriptCommands/RicRefreshScriptsFeature.h b/ApplicationCode/Commands/OctaveScriptCommands/RicRefreshScriptsFeature.h new file mode 100644 index 0000000000..1cc49eab7d --- /dev/null +++ b/ApplicationCode/Commands/OctaveScriptCommands/RicRefreshScriptsFeature.h @@ -0,0 +1,42 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +#include + +//================================================================================================== +/// +//================================================================================================== +class RicRefreshScriptsFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +public: + static void refreshScriptFolders(); + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + + diff --git a/ApplicationCode/Commands/OperationsUsingObjReferences/RicCopyReferencesToClipboardFeature.cpp b/ApplicationCode/Commands/OperationsUsingObjReferences/RicCopyReferencesToClipboardFeature.cpp index 8a5892e9c2..1ded41458c 100644 --- a/ApplicationCode/Commands/OperationsUsingObjReferences/RicCopyReferencesToClipboardFeature.cpp +++ b/ApplicationCode/Commands/OperationsUsingObjReferences/RicCopyReferencesToClipboardFeature.cpp @@ -67,6 +67,8 @@ void RicCopyReferencesToClipboardFeature::onActionTriggered(bool isChecked) void RicCopyReferencesToClipboardFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("Copy"); + actionToSetup->setIcon(QIcon(":/Copy.png")); + actionToSetup->setShortcuts(QKeySequence::Copy); } } // end namespace caf diff --git a/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteEclipseCasesFeature.cpp b/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteEclipseCasesFeature.cpp index b3ba6e2baa..be7352935b 100644 --- a/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteEclipseCasesFeature.cpp +++ b/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteEclipseCasesFeature.cpp @@ -97,6 +97,8 @@ void RicPasteEclipseCasesFeature::onActionTriggered(bool isChecked) void RicPasteEclipseCasesFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("Paste (Eclipse Cases)"); + + RicPasteFeatureImpl::setIconAndShortcuts(actionToSetup); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteEclipseViewsFeature.cpp b/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteEclipseViewsFeature.cpp index 4b522d8d29..c1fdefbe7a 100644 --- a/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteEclipseViewsFeature.cpp +++ b/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteEclipseViewsFeature.cpp @@ -115,6 +115,8 @@ void RicPasteEclipseViewsFeature::onActionTriggered(bool isChecked) void RicPasteEclipseViewsFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("Paste (Eclipse Views)"); + + RicPasteFeatureImpl::setIconAndShortcuts(actionToSetup); } diff --git a/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteFeatureImpl.cpp b/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteFeatureImpl.cpp index 8158773080..48e392d255 100644 --- a/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteFeatureImpl.cpp +++ b/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteFeatureImpl.cpp @@ -34,11 +34,7 @@ #include #include - - - -namespace caf -{ +#include "QAction" @@ -47,13 +43,13 @@ namespace caf //-------------------------------------------------------------------------------------------------- void RicPasteFeatureImpl::populateObjectGroupFromReferences(const std::vector& referenceList, caf::PdmObjectGroup* objectGroup) { - PdmObjectHandle* referenceRoot = RiaApplication::instance()->project(); + caf::PdmObjectHandle* referenceRoot = RiaApplication::instance()->project(); for (size_t i = 0; i < referenceList.size(); i++) { QString reference = referenceList[i]; - PdmObjectHandle* pdmObj = PdmReferenceHelper::objectFromReference(referenceRoot, reference); + caf::PdmObjectHandle* pdmObj = caf::PdmReferenceHelper::objectFromReference(referenceRoot, reference); if (pdmObj) { objectGroup->objects.push_back(pdmObj); @@ -89,7 +85,7 @@ void RicPasteFeatureImpl::findObjectsFromClipboardRefs(caf::PdmObjectGroup* obje //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimIdenticalGridCaseGroup* RicPasteFeatureImpl::findGridCaseGroup(PdmObjectHandle* objectHandle) +RimIdenticalGridCaseGroup* RicPasteFeatureImpl::findGridCaseGroup(caf::PdmObjectHandle* objectHandle) { if (dynamic_cast(objectHandle)) { @@ -99,7 +95,7 @@ RimIdenticalGridCaseGroup* RicPasteFeatureImpl::findGridCaseGroup(PdmObjectHandl dynamic_cast(objectHandle)) { RimIdenticalGridCaseGroup* gridCaseGroup = NULL; - objectHandle->firstAnchestorOrThisOfType(gridCaseGroup); + objectHandle->firstAncestorOrThisOfType(gridCaseGroup); return gridCaseGroup; } @@ -110,7 +106,7 @@ RimIdenticalGridCaseGroup* RicPasteFeatureImpl::findGridCaseGroup(PdmObjectHandl //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimEclipseCase* RicPasteFeatureImpl::findEclipseCase(PdmObjectHandle* objectHandle) +RimEclipseCase* RicPasteFeatureImpl::findEclipseCase(caf::PdmObjectHandle* objectHandle) { if (dynamic_cast(objectHandle)) { @@ -129,7 +125,7 @@ RimEclipseCase* RicPasteFeatureImpl::findEclipseCase(PdmObjectHandle* objectHand //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimGeoMechCase* RicPasteFeatureImpl::findGeoMechCase(PdmObjectHandle* objectHandle) +RimGeoMechCase* RicPasteFeatureImpl::findGeoMechCase(caf::PdmObjectHandle* objectHandle) { RimGeoMechCase* geomCase = dynamic_cast(objectHandle); if (!geomCase) @@ -141,4 +137,14 @@ RimGeoMechCase* RicPasteFeatureImpl::findGeoMechCase(PdmObjectHandle* objectHand return geomCase; } -} // end namespace caf +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicPasteFeatureImpl::setIconAndShortcuts(QAction* action) +{ + if (action) + { + action->setIcon(QIcon(":/clipboard.png")); + action->setShortcuts(QKeySequence::Paste); + } +} diff --git a/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteFeatureImpl.h b/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteFeatureImpl.h index 93bd575a63..dd39de55b9 100644 --- a/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteFeatureImpl.h +++ b/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteFeatureImpl.h @@ -24,6 +24,7 @@ #include class QString; +class QAction; class RimEclipseCase; class RimGeoMechCase; @@ -31,9 +32,9 @@ class RimIdenticalGridCaseGroup; namespace caf { - -class PdmObjectGroup; -class PdmObjectHandle; + class PdmObjectGroup; + class PdmObjectHandle; +} //================================================================================================== /// @@ -43,9 +44,11 @@ class RicPasteFeatureImpl public: static void findObjectsFromClipboardRefs(caf::PdmObjectGroup* objectGroup); - static RimIdenticalGridCaseGroup* findGridCaseGroup(PdmObjectHandle* objectHandle); - static RimEclipseCase* findEclipseCase(PdmObjectHandle* objectHandle); - static RimGeoMechCase* findGeoMechCase(PdmObjectHandle* objectHandle); + static RimIdenticalGridCaseGroup* findGridCaseGroup(caf::PdmObjectHandle* objectHandle); + static RimEclipseCase* findEclipseCase(caf::PdmObjectHandle* objectHandle); + static RimGeoMechCase* findGeoMechCase(caf::PdmObjectHandle* objectHandle); + + static void setIconAndShortcuts(QAction* action); private: static void populateObjectGroupFromReferences(const std::vector& referenceList, caf::PdmObjectGroup* objectGroup); @@ -54,4 +57,3 @@ class RicPasteFeatureImpl -} // end namespace caf diff --git a/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteGeoMechViewsFeature.cpp b/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteGeoMechViewsFeature.cpp index 63cedf9d73..b804d6d3c9 100644 --- a/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteGeoMechViewsFeature.cpp +++ b/ApplicationCode/Commands/OperationsUsingObjReferences/RicPasteGeoMechViewsFeature.cpp @@ -106,6 +106,8 @@ void RicPasteGeoMechViewsFeature::onActionTriggered(bool isChecked) void RicPasteGeoMechViewsFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("Paste (Geo Mech Views)"); + + RicPasteFeatureImpl::setIconAndShortcuts(actionToSetup); } diff --git a/ApplicationCode/Commands/RicCloseCaseFeature.cpp b/ApplicationCode/Commands/RicCloseCaseFeature.cpp index bb22b7bf25..a239d440b5 100644 --- a/ApplicationCode/Commands/RicCloseCaseFeature.cpp +++ b/ApplicationCode/Commands/RicCloseCaseFeature.cpp @@ -67,11 +67,15 @@ void RicCloseCaseFeature::onActionTriggered(bool isChecked) if (userConfirmedGridCaseGroupChange(casesToBeDeleted)) { deleteEclipseCase(eclipseCase); + + RiuMainWindow::instance()->cleanupGuiCaseClose(); } } else if (geoMechCase) { deleteGeoMechCase(geoMechCase); + + RiuMainWindow::instance()->cleanupGuiCaseClose(); } } @@ -81,6 +85,7 @@ void RicCloseCaseFeature::onActionTriggered(bool isChecked) void RicCloseCaseFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("Close"); + actionToSetup->setIcon(QIcon(":/Erase.png")); } @@ -216,7 +221,7 @@ bool RicCloseCaseFeature::userConfirmedGridCaseGroupChange(const std::vectorfirstAnchestorOrThisOfType(gridCaseGroup); + casesToBeDeleted[i]->firstAncestorOrThisOfType(gridCaseGroup); if (gridCaseGroup && hasAnyStatisticsResults(gridCaseGroup)) { diff --git a/ApplicationCode/Commands/RicDeleteItemExec.cpp b/ApplicationCode/Commands/RicDeleteItemExec.cpp index d9aea835da..0b0f36c09f 100644 --- a/ApplicationCode/Commands/RicDeleteItemExec.cpp +++ b/ApplicationCode/Commands/RicDeleteItemExec.cpp @@ -22,9 +22,9 @@ #include "RicDeleteItemExecData.h" #include "RimCellRangeFilterCollection.h" -#include "RimCrossSectionCollection.h" #include "RimEclipsePropertyFilterCollection.h" #include "RimGeoMechPropertyFilterCollection.h" +#include "RimIntersectionCollection.h" #include "RimProject.h" #include "RimView.h" #include "RimViewLinkerCollection.h" @@ -39,6 +39,8 @@ #include "cafPdmReferenceHelper.h" #include "cafPdmUiFieldHandle.h" #include "cafSelectionManager.h" +#include "RimFormationNamesCollection.h" +#include "RimCase.h" namespace caf @@ -68,6 +70,9 @@ void RicDeleteItemExec::redo() PdmObjectHandle* obj = children[m_commandData->m_indexToObject]; caf::SelectionManager::instance()->removeObjectFromAllSelections(obj); + std::vector referringObjects; + obj->objectsWithReferringPtrFields(referringObjects); + if (m_commandData->m_deletedObjectAsXml().isEmpty()) { m_commandData->m_deletedObjectAsXml = xmlObj(obj)->writeObjectToXmlString(); @@ -81,21 +86,25 @@ void RicDeleteItemExec::redo() parentObj->uiCapability()->updateConnectedEditors(); RimView* view = NULL; - parentObj->firstAnchestorOrThisOfType(view); + parentObj->firstAncestorOrThisOfType(view); + + // Range Filters RimCellRangeFilterCollection* rangeFilterColl; - parentObj->firstAnchestorOrThisOfType(rangeFilterColl); + parentObj->firstAncestorOrThisOfType(rangeFilterColl); if (rangeFilterColl) { rangeFilterColl->updateDisplayModeNotifyManagedViews(NULL); } + // Prop Filter + RimEclipsePropertyFilterCollection* eclipsePropColl; - parentObj->firstAnchestorOrThisOfType(eclipsePropColl); + parentObj->firstAncestorOrThisOfType(eclipsePropColl); RimGeoMechPropertyFilterCollection* geoMechPropColl; - parentObj->firstAnchestorOrThisOfType(geoMechPropColl); + parentObj->firstAncestorOrThisOfType(geoMechPropColl); if (view && (eclipsePropColl || geoMechPropColl)) { @@ -103,15 +112,19 @@ void RicDeleteItemExec::redo() view->scheduleCreateDisplayModelAndRedraw(); } - RimCrossSectionCollection* crossSectionColl; - parentObj->firstAnchestorOrThisOfType(crossSectionColl); + // Intersections + + RimIntersectionCollection* crossSectionColl; + parentObj->firstAncestorOrThisOfType(crossSectionColl); if (view && crossSectionColl) { view->scheduleCreateDisplayModelAndRedraw(); } + // Well paths + RimWellPathCollection* wellPathColl; - parentObj->firstAnchestorOrThisOfType(wellPathColl); + parentObj->firstAncestorOrThisOfType(wellPathColl); if (wellPathColl) { @@ -121,7 +134,7 @@ void RicDeleteItemExec::redo() // Update due to deletion of curves (not tracks, handled separatly) RimWellLogPlot* wellLogPlot; - parentObj->firstAnchestorOrThisOfType(wellLogPlot); + parentObj->firstAncestorOrThisOfType(wellLogPlot); if (wellLogPlot) { wellLogPlot->calculateAvailableDepthRange(); @@ -129,10 +142,10 @@ void RicDeleteItemExec::redo() } RimWellLogTrack* wellLogPlotTrack; - parentObj->firstAnchestorOrThisOfType(wellLogPlotTrack); + parentObj->firstAncestorOrThisOfType(wellLogPlotTrack); if (wellLogPlotTrack) { - wellLogPlotTrack->zoomAllXAxisIfAutoScale(); + wellLogPlotTrack->updateXZoom(); } // Update due to delete plots @@ -144,7 +157,7 @@ void RicDeleteItemExec::redo() if (wellLogPlotCollection->wellLogPlots.empty()) { RimProject* project = NULL; - parentObj->firstAnchestorOrThisOfType(project); + parentObj->firstAncestorOrThisOfType(project); if (project) { project->updateConnectedEditors(); @@ -152,14 +165,16 @@ void RicDeleteItemExec::redo() } } + // Linked views + RimViewLinkerCollection* viewLinkerCollection = NULL; - parentObj->firstAnchestorOrThisOfType(viewLinkerCollection); + parentObj->firstAncestorOrThisOfType(viewLinkerCollection); if (viewLinkerCollection) { viewLinkerCollection->uiCapability()->updateConnectedEditors(); RimProject* project = NULL; - parentObj->firstAnchestorOrThisOfType(project); + parentObj->firstAncestorOrThisOfType(project); if (project) { // Update visibility of top level Linked Views item in the project tree @@ -167,6 +182,19 @@ void RicDeleteItemExec::redo() project->uiCapability()->updateConnectedEditors(); } } + + // Formation names + + RimFormationNamesCollection* formationNamesCollection; + parentObj->firstAncestorOrThisOfType(formationNamesCollection); + if (formationNamesCollection) + { + for(caf::PdmObjectHandle* reffingObj :referringObjects) + { + RimCase* aCase = dynamic_cast(reffingObj); + if (aCase) aCase->updateFormationNamesData(); + } + } } } diff --git a/ApplicationCode/Commands/RicDeleteItemFeature.cpp b/ApplicationCode/Commands/RicDeleteItemFeature.cpp index 387fc7be26..3a936a2e85 100644 --- a/ApplicationCode/Commands/RicDeleteItemFeature.cpp +++ b/ApplicationCode/Commands/RicDeleteItemFeature.cpp @@ -32,23 +32,71 @@ #include "cafSelectionManager.h" #include +#include "RimGeoMechView.h" +#include "RimEclipseView.h" +#include "RimIdenticalGridCaseGroup.h" +#include "RimEclipseInputProperty.h" +#include "RimCellRangeFilter.h" +#include "RimEclipsePropertyFilter.h" +#include "RimGeoMechPropertyFilter.h" +#include "RimViewController.h" +#include "RimWellLogCurve.h" +#include "RimSummaryCurve.h" +#include "RimSummaryCurveFilter.h" +#include "RimIntersection.h" +#include "RimIntersectionBox.h" +#include "RimFormationNames.h" +#include "RimFormationNamesCollection.h" +#include "RimSummaryPlot.h" namespace caf { CAF_CMD_SOURCE_INIT(RicDeleteItemFeature, "RicDeleteItemFeature"); +bool isDeletable(PdmUiItem * uiItem) +{ + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; + + return false; +} //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- bool RicDeleteItemFeature::isCommandEnabled() { - caf::PdmObject* currentPdmObject = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); - if (!currentPdmObject) return false; + std::vector items; + caf::SelectionManager::instance()->selectedItems(items); + + if (items.empty() ) return false; - caf::PdmChildArrayFieldHandle* childArrayFieldHandle = dynamic_cast(currentPdmObject->parentField()); - if (!childArrayFieldHandle) return false; + for (PdmUiItem* item : items) + { + if (!isDeletable(item)) return false; + + caf::PdmObject* currentPdmObject = dynamic_cast(item); + if ( !currentPdmObject ) return false; + caf::PdmChildArrayFieldHandle* childArrayFieldHandle = dynamic_cast(currentPdmObject->parentField()); + if ( !childArrayFieldHandle ) return false; + } + return true; } @@ -61,36 +109,42 @@ void RicDeleteItemFeature::onActionTriggered(bool isChecked) SelectionManager::instance()->selectedItems(items); assert(items.size() > 0); - caf::PdmObject* currentPdmObject = dynamic_cast(items[0]); - assert(currentPdmObject); + for (PdmUiItem* item: items) + { + if (!isDeletable(item)) continue; - caf::PdmChildArrayFieldHandle* childArrayFieldHandle = dynamic_cast(currentPdmObject->parentField()); + caf::PdmObject* currentPdmObject = dynamic_cast(item); + if ( !currentPdmObject) continue; - int indexAfter = -1; + caf::PdmChildArrayFieldHandle* childArrayFieldHandle = dynamic_cast(currentPdmObject->parentField()); + if ( !childArrayFieldHandle) continue; - std::vector childObjects; - childArrayFieldHandle->childObjects(&childObjects); + int indexAfter = -1; - for (size_t i = 0; i < childObjects.size(); i++) - { - if (childObjects[i] == currentPdmObject) + std::vector childObjects; + childArrayFieldHandle->childObjects(&childObjects); + + for ( size_t i = 0; i < childObjects.size(); i++ ) { - indexAfter = static_cast(i); + if ( childObjects[i] == currentPdmObject ) + { + indexAfter = static_cast(i); + } } - } - // Did not find currently selected pdm object in the current list field - assert(indexAfter != -1); + // Did not find currently selected pdm object in the current list field + assert(indexAfter != -1); - RicDeleteItemExec* executeCmd = new RicDeleteItemExec(SelectionManager::instance()->notificationCenter()); + RicDeleteItemExec* executeCmd = new RicDeleteItemExec(SelectionManager::instance()->notificationCenter()); - RicDeleteItemExecData* data = executeCmd->commandData(); - data->m_rootObject = PdmReferenceHelper::findRoot(childArrayFieldHandle); - data->m_pathToField = PdmReferenceHelper::referenceFromRootToField(data->m_rootObject, childArrayFieldHandle); - data->m_indexToObject = indexAfter; + RicDeleteItemExecData* data = executeCmd->commandData(); + data->m_rootObject = PdmReferenceHelper::findRoot(childArrayFieldHandle); + data->m_pathToField = PdmReferenceHelper::referenceFromRootToField(data->m_rootObject, childArrayFieldHandle); + data->m_indexToObject = indexAfter; - CmdExecCommandManager::instance()->processExecuteCommand(executeCmd); + CmdExecCommandManager::instance()->processExecuteCommand(executeCmd); + } } //-------------------------------------------------------------------------------------------------- @@ -99,6 +153,7 @@ void RicDeleteItemFeature::onActionTriggered(bool isChecked) void RicDeleteItemFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("Delete"); + actionToSetup->setIcon(QIcon(":/Erase.png")); } } // end namespace caf diff --git a/ApplicationCode/Commands/RicExportFaultsFeature.cpp b/ApplicationCode/Commands/RicExportFaultsFeature.cpp new file mode 100644 index 0000000000..293567a759 --- /dev/null +++ b/ApplicationCode/Commands/RicExportFaultsFeature.cpp @@ -0,0 +1,153 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicExportFaultsFeature.h" + +#include "RiaApplication.h" +#include "cafSelectionManager.h" +#include "RimFault.h" + +#include +#include +#include "RimEclipseCase.h" +#include "RigFault.h" +#include "RigMainGrid.h" +#include "RigCaseData.h" +#include "QMessageBox" + +CAF_CMD_SOURCE_INIT(RicExportFaultsFeature, "RicExportFaultsFeature"); + + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicExportFaultsFeature::isCommandEnabled() +{ + std::vector selectedFaults; + + caf::SelectionManager::instance()->objectsByType(&selectedFaults); + + return (selectedFaults.size() > 0); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicExportFaultsFeature::onActionTriggered(bool isChecked) +{ + std::vector selectedFaults; + + caf::SelectionManager::instance()->objectsByType(&selectedFaults); + + if (selectedFaults.size() == 0) return; + + RiaApplication* app = RiaApplication::instance(); + + QString projectFolder = app->currentProjectPath(); + QString defaultDir = RiaApplication::instance()->lastUsedDialogDirectoryWithFallback("FAULTS", projectFolder); + + QString selectedDir = QFileDialog::getExistingDirectory(NULL, tr("Select Directory"), defaultDir); + + for (RimFault* rimFault : selectedFaults) + { + RimEclipseCase* eclCase = nullptr; + rimFault->firstAncestorOrThisOfType(eclCase); + + QString caseName; + + if (eclCase) caseName = eclCase->caseUserDescription(); + + QString faultName = rimFault->name(); + if ( faultName == RimDefines::undefinedGridFaultName() ) faultName = "UNDEF"; + if ( faultName == RimDefines::undefinedGridFaultWithInactiveName() ) faultName = "UNDEF_IA"; + + QString baseFilename = "Fault_" + faultName + "_" + caseName; + baseFilename.replace(" ", "_"); + + QString completeFilename = selectedDir + "/" + baseFilename + ".grdecl"; + + RicExportFaultsFeature::saveFault(completeFilename, eclCase->reservoirData()->mainGrid(), rimFault->faultGeometry()->faultFaces(), faultName); + } + + + // Remember the path to next time + RiaApplication::instance()->setLastUsedDialogDirectory("FAULTS", selectedDir); + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicExportFaultsFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Export Faults ..."); + actionToSetup->setIcon(QIcon(":/Save.png")); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- + +void RicExportFaultsFeature::saveFault(QString completeFilename, const RigMainGrid* mainGrid, const std::vector& faultFaces, QString faultName) +{ + QFile exportFile(completeFilename); + + if (!exportFile.open(QIODevice::WriteOnly) ) + { + QMessageBox::critical(NULL, "ResInsight - Export Faults", "Could not open the file :\n" + completeFilename); + } + + QTextStream stream(&exportFile); + + stream << "FAULTS" << endl; + + stream << "-- Name I1 I2 J1 J2 K1 K2 Face ( I/J/K )" << endl; + + // 'NAME' 1 1 1 1 1 2 J / + + for (const RigFault::FaultFace& fface: faultFaces) + { + size_t i1, j1, k1, i2, j2, k2; + + bool ok = mainGrid->ijkFromCellIndex(fface.m_nativeReservoirCellIndex, &i1, &j1, &k1); + if (!ok) continue; + ok = mainGrid->ijkFromCellIndex(fface.m_oppositeReservoirCellIndex, &i2, &j2, &k2); + + QString faceText; + switch (fface.m_nativeFace) + { + case cvf::StructGridInterface::POS_I: faceText = " I"; break; + case cvf::StructGridInterface::NEG_I: faceText = "-I"; break; + case cvf::StructGridInterface::POS_J: faceText = " J"; break; + case cvf::StructGridInterface::NEG_J: faceText = "-J"; break; + case cvf::StructGridInterface::POS_K: faceText = " K"; break; + case cvf::StructGridInterface::NEG_K: faceText = "-K"; break; + } + + stream << "'" << faultName << "'" << " " << i1 << " " << i2 + << " " << j1 << " " << j2 + << " " << k1 << " " << k2 + << " " << faceText << " / "; + stream << endl ; + } + + stream << "/" << endl; + +} \ No newline at end of file diff --git a/ApplicationCode/Commands/RicExportFaultsFeature.h b/ApplicationCode/Commands/RicExportFaultsFeature.h new file mode 100644 index 0000000000..33f9e5f78b --- /dev/null +++ b/ApplicationCode/Commands/RicExportFaultsFeature.h @@ -0,0 +1,45 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +#include +#include +#include "RigFault.h" + +class RigMainGrid; + +//================================================================================================== +/// +//================================================================================================== +class RicExportFaultsFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); + +private: + static void saveFault(QString completeFilename, const RigMainGrid* mainGrid, const std::vector& faultFaces, QString faultName); +}; + diff --git a/ApplicationCode/Commands/RicExportToLasFileFeature.cpp b/ApplicationCode/Commands/RicExportToLasFileFeature.cpp index e558d55c8c..4c9cb68ca7 100644 --- a/ApplicationCode/Commands/RicExportToLasFileFeature.cpp +++ b/ApplicationCode/Commands/RicExportToLasFileFeature.cpp @@ -19,26 +19,27 @@ #include "RicExportToLasFileFeature.h" -#include "RimWellLogCurve.h" -#include "RigWellLogFile.h" - -#include "RiuMainWindow.h" #include "RiaApplication.h" +#include "RicExportToLasFileResampleUi.h" +#include "RigLasFileExporter.h" +#include "RimWellLogCurve.h" +#include "cafPdmUiPropertyViewDialog.h" #include "cafSelectionManager.h" #include #include -#include CAF_CMD_SOURCE_INIT(RicExportToLasFileFeature, "RicExportToLasFileFeature"); + + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- bool RicExportToLasFileFeature::isCommandEnabled() { - return selectedWellLogPlotCurve() != NULL; + return selectedWellLogCurves().size() > 0; } //-------------------------------------------------------------------------------------------------- @@ -46,25 +47,51 @@ bool RicExportToLasFileFeature::isCommandEnabled() //-------------------------------------------------------------------------------------------------- void RicExportToLasFileFeature::onActionTriggered(bool isChecked) { - RimWellLogCurve* curve = selectedWellLogPlotCurve(); - if (curve) + std::vector curves = selectedWellLogCurves(); + if (curves.size() == 0) return; + + RiaApplication* app = RiaApplication::instance(); + + QString projectFolder = app->currentProjectPath(); + QString defaultDir = RiaApplication::instance()->lastUsedDialogDirectoryWithFallback("WELL_LOGS_DIR", projectFolder); + + RigLasFileExporter lasExporter(curves); + RicExportToLasFileResampleUi featureUi; + featureUi.exportFolder = defaultDir; + + { + std::vector wellNames; + std::vector rkbDiffs; + lasExporter.wellPathsAndRkbDiff(&wellNames, &rkbDiffs); + featureUi.setRkbDiffs(wellNames, rkbDiffs); + } + + caf::PdmUiPropertyViewDialog propertyDialog(NULL, &featureUi, "Export Curve Data to LAS file(s)", "", QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + propertyDialog.resize(QSize(400, 200)); + + if (propertyDialog.exec() == QDialog::Accepted && + !featureUi.exportFolder().isEmpty()) { - QString defaultDir = RiaApplication::instance()->defaultFileDialogDirectory("WELL_LOGS_DIR"); - - QString defaultFileName = curve->name().trimmed(); - defaultFileName.replace(".", "_"); - defaultFileName.replace(",", "_"); - defaultFileName.replace(":", "_"); - defaultFileName.replace(";", "_"); - defaultFileName.replace(" ", "_"); - defaultFileName.replace(QRegExp("_+"), "_"); - defaultFileName.append(".las"); - - QString fileName = QFileDialog::getSaveFileName(RiuMainWindow::instance(), tr("Export Curve Data To LAS File"), QDir(defaultDir).absoluteFilePath(defaultFileName), tr("LAS Files (*.las);;All files(*.*)")); - if (!fileName.isEmpty()) + if (featureUi.activateResample) { - RigWellLogFile::exportToLasFile(curve, fileName); + lasExporter.setResamplingInterval(featureUi.resampleInterval()); } + + if (featureUi.exportTvdrkb) + { + std::vector wellNames; + std::vector rkbDiffs; + lasExporter.wellPathsAndRkbDiff(&wellNames, &rkbDiffs); + + std::vector userDefRkbDiff; + featureUi.tvdrkbDiffForWellPaths(&userDefRkbDiff); + lasExporter.setRkbDiffs(wellNames, userDefRkbDiff); + } + + lasExporter.writeToFolder(featureUi.exportFolder()); + + // Remember the path to next time + RiaApplication::instance()->setLastUsedDialogDirectory("WELL_LOGS_DIR", featureUi.exportFolder()); } } @@ -73,21 +100,42 @@ void RicExportToLasFileFeature::onActionTriggered(bool isChecked) //-------------------------------------------------------------------------------------------------- void RicExportToLasFileFeature::setupActionLook(QAction* actionToSetup) { - actionToSetup->setText("Export To LAS File..."); + actionToSetup->setText("Export To LAS Files..."); } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimWellLogCurve* RicExportToLasFileFeature::selectedWellLogPlotCurve() const +std::vector RicExportToLasFileFeature::selectedWellLogCurves() const { - std::vector selection; - caf::SelectionManager::instance()->objectsByType(&selection); + std::set curveSet; + + { + std::vector selectedItems; + caf::SelectionManager::instance()->selectedItems(selectedItems); - if (selection.size() > 0) + for (auto selectedItem : selectedItems) + { + caf::PdmObjectHandle* objHandle = dynamic_cast(selectedItem); + if (objHandle) + { + std::vector childCurves; + objHandle->descendantsIncludingThisOfType(childCurves); + + for (auto curve : childCurves) + { + curveSet.insert(curve); + } + } + } + } + + std::vector allCurves; + for (auto curve : curveSet) { - return selection[0]; + allCurves.push_back(curve); } - return NULL; + return allCurves; } + diff --git a/ApplicationCode/Commands/RicExportToLasFileFeature.h b/ApplicationCode/Commands/RicExportToLasFileFeature.h index 78ab3603b9..a3d5526e53 100644 --- a/ApplicationCode/Commands/RicExportToLasFileFeature.h +++ b/ApplicationCode/Commands/RicExportToLasFileFeature.h @@ -39,7 +39,6 @@ class RicExportToLasFileFeature : public caf::CmdFeature virtual void setupActionLook( QAction* actionToSetup ); private: - RimWellLogCurve* selectedWellLogPlotCurve() const; + std::vector selectedWellLogCurves() const; }; - diff --git a/ApplicationCode/Commands/RicExportToLasFileResampleUi.cpp b/ApplicationCode/Commands/RicExportToLasFileResampleUi.cpp new file mode 100644 index 0000000000..3f45167a4d --- /dev/null +++ b/ApplicationCode/Commands/RicExportToLasFileResampleUi.cpp @@ -0,0 +1,185 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicExportToLasFileResampleUi.h" + +#include "cafPdmUiCheckBoxEditor.h" +#include "cafPdmUiFilePathEditor.h" +#include "cafPdmUiOrdering.h" + +#include + + +CAF_PDM_SOURCE_INIT(RicExportToLasFileObj, "RicExportToLasFileObj"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicExportToLasFileObj::RicExportToLasFileObj(void) +{ + CAF_PDM_InitObject("RicExportToLasFileObj", "", "", ""); + + CAF_PDM_InitField(&tvdrkbOffset, "tvdrkbOffset", QString(""), "TVDRKB offset (RKB - MSL) [m]", "", "", ""); +} + +CAF_PDM_SOURCE_INIT(RicExportToLasFileResampleUi, "RicExportToLasFileResampleUi"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicExportToLasFileResampleUi::RicExportToLasFileResampleUi(void) +{ + CAF_PDM_InitObject("Resample LAS curves for export", "", "", ""); + + CAF_PDM_InitField(&exportFolder, "ExportFolder", QString(), "Export Folder", "", "", ""); + exportFolder.uiCapability()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName()); + + CAF_PDM_InitField(&activateResample, "ActivateResample", false, "Resample Curve Data", "", "", ""); + activateResample.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); + + CAF_PDM_InitField(&resampleInterval, "ResampleInterval", 1.0, "Resample Interval [m]", "", "", ""); + + CAF_PDM_InitField(&exportTvdrkb, "ExportTvdrkb", false, "Export TVDRKB", "", "", ""); + exportTvdrkb.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); + + CAF_PDM_InitFieldNoDefault(&m_tvdrkbOffsets, "tvdrkbOffsets", "", "", "", ""); + + updateFieldVisibility(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RicExportToLasFileResampleUi::~RicExportToLasFileResampleUi() +{ + m_tvdrkbOffsets.deleteAllChildObjects(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicExportToLasFileResampleUi::tvdrkbDiffForWellPaths(std::vector* rkbDiffs) +{ + for (size_t i = 0; i < m_tvdrkbOffsets.size(); i++) + { + double value = HUGE_VAL; + if (!m_tvdrkbOffsets()[i]->tvdrkbOffset().isEmpty()) + { + value = m_tvdrkbOffsets()[i]->tvdrkbOffset().toDouble(); + } + rkbDiffs->push_back(value); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicExportToLasFileResampleUi::setRkbDiffs(const std::vector& wellNames, const std::vector& rkbDiffs) +{ + for (size_t i = 0; i < wellNames.size(); i++) + { + RicExportToLasFileObj* obj = new RicExportToLasFileObj; + if (rkbDiffs[i] != HUGE_VAL) + { + obj->tvdrkbOffset = QString::number(rkbDiffs[i]); + } + obj->tvdrkbOffset.uiCapability()->setUiName(wellNames[i]); + + m_tvdrkbOffsets.push_back(obj); + } + + updateFieldVisibility(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicExportToLasFileResampleUi::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + updateFieldVisibility(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicExportToLasFileResampleUi::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) +{ + if (field == &exportFolder) + { + caf::PdmUiFilePathEditorAttribute* myAttr = static_cast(attribute); + if (myAttr) + { + myAttr->m_selectDirectory = true; + } + } + + if (field == &exportTvdrkb || field == &activateResample) + { + caf::PdmUiCheckBoxEditorAttribute* myAttr = static_cast(attribute); + if (myAttr) + { + myAttr->m_useNativeCheckBoxLabel = true; + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicExportToLasFileResampleUi::updateFieldVisibility() +{ + if (activateResample) + { + resampleInterval.uiCapability()->setUiReadOnly(false); + } + else + { + resampleInterval.uiCapability()->setUiReadOnly(true); + } + + for (RicExportToLasFileObj* obj : m_tvdrkbOffsets) + { + obj->tvdrkbOffset.uiCapability()->setUiReadOnly(!exportTvdrkb); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicExportToLasFileResampleUi::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) +{ + uiOrdering.add(&exportFolder); + + { + caf::PdmUiGroup* group = uiOrdering.addNewGroup("Resampling"); + + group->add(&activateResample); + group->add(&resampleInterval); + } + + + caf::PdmUiGroup* tvdrkbGroup = uiOrdering.addNewGroup("TVDRKB"); + tvdrkbGroup->add(&exportTvdrkb); + + caf::PdmUiGroup* group = tvdrkbGroup->addNewGroup("Difference between TVDRKB and TVDMSL, clear diff for no export"); + for (auto& obj : m_tvdrkbOffsets) + { + group->add(&obj->tvdrkbOffset); + } +} + diff --git a/ApplicationCode/Commands/RicExportToLasFileResampleUi.h b/ApplicationCode/Commands/RicExportToLasFileResampleUi.h new file mode 100644 index 0000000000..d9b264a93b --- /dev/null +++ b/ApplicationCode/Commands/RicExportToLasFileResampleUi.h @@ -0,0 +1,73 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafPdmField.h" +#include "cafPdmObject.h" +#include "cafPdmChildArrayField.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicExportToLasFileObj : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; + +public: + RicExportToLasFileObj(void); + + caf::PdmField tvdrkbOffset; +}; + + +//================================================================================================== +/// +//================================================================================================== +class RicExportToLasFileResampleUi : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; + +public: + RicExportToLasFileResampleUi(void); + ~RicExportToLasFileResampleUi(); + + caf::PdmField exportFolder; + + caf::PdmField activateResample; + caf::PdmField resampleInterval; + + caf::PdmField exportTvdrkb; + + void tvdrkbDiffForWellPaths(std::vector* rkbDiffs); + void setRkbDiffs(const std::vector& wellNames, const std::vector& rkbDiffs); + + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; + virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) override; + +protected: + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; + +private: + void updateFieldVisibility(); + +private: + caf::PdmChildArrayField m_tvdrkbOffsets; + +}; diff --git a/ApplicationCode/Commands/RicGeoMechPropertyFilterFeatureImpl.cpp b/ApplicationCode/Commands/RicGeoMechPropertyFilterFeatureImpl.cpp index 388a637f7f..4d99d5ed2b 100644 --- a/ApplicationCode/Commands/RicGeoMechPropertyFilterFeatureImpl.cpp +++ b/ApplicationCode/Commands/RicGeoMechPropertyFilterFeatureImpl.cpp @@ -24,12 +24,12 @@ #include "RimGeoMechPropertyFilterCollection.h" #include "RimGeoMechView.h" #include "RimGeoMechResultDefinition.h" -#include "RimGeoMechCellColors.h" + +#include "RiuMainWindow.h" #include "cafSelectionManager.h" #include "cvfAssert.h" -#include "RiuMainWindow.h" //-------------------------------------------------------------------------------------------------- /// @@ -125,7 +125,7 @@ void RicGeoMechPropertyFilterFeatureImpl::setDefaults(RimGeoMechPropertyFilter* CVF_ASSERT(reservoirView); propertyFilter->resultDefinition->setGeoMechCase(reservoirView->geoMechCase()); - propertyFilter->resultDefinition->setResultAddress(reservoirView->cellResult()->resultAddress()); + propertyFilter->resultDefinition->setResultAddress(reservoirView->cellResultResultDefinition()->resultAddress()); propertyFilter->resultDefinition->loadResult(); propertyFilter->setToDefaultValues(); propertyFilter->updateFilterName(); diff --git a/ApplicationCode/Commands/RicImportFormationNamesFeature.cpp b/ApplicationCode/Commands/RicImportFormationNamesFeature.cpp new file mode 100644 index 0000000000..3ed27409c9 --- /dev/null +++ b/ApplicationCode/Commands/RicImportFormationNamesFeature.cpp @@ -0,0 +1,77 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicImportFormationNamesFeature.h" + +#include "RimFormationNamesCollection.h" +#include "RiaApplication.h" +#include "RimProject.h" +#include "RimOilField.h" +#include "RiuMainWindow.h" + +#include +#include + +CAF_CMD_SOURCE_INIT(RicImportFormationNamesFeature, "RicImportFormationNamesFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicImportFormationNamesFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicImportFormationNamesFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + QString defaultDir = app->lastUsedDialogDirectory("BINARY_GRID"); + QStringList fileNames = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Import Formation Names", defaultDir, "Formation Names description File (*.lyr);;All Files (*.*)"); + + if (fileNames.isEmpty()) return; + + // Remember the path to next time + app->setLastUsedDialogDirectory("BINARY_GRID", QFileInfo(fileNames.last()).absolutePath()); + + // Find or create the FomationNamesCollection + + RimProject* proj = RiaApplication::instance()->project(); + RimFormationNamesCollection* fomNameColl = proj->activeOilField()->formationNamesCollection(); + if (!fomNameColl) + { + fomNameColl = new RimFormationNamesCollection; + proj->activeOilField()->formationNamesCollection = fomNameColl; + } + + // For each file, find existing Formation names item, or create new + + fomNameColl->importFiles(fileNames); + proj->updateConnectedEditors(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicImportFormationNamesFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setIcon(QIcon(":/FormationCollection16x16.png")); + actionToSetup->setText("Import Formation Names"); +} diff --git a/ApplicationCode/Commands/RicImportFormationNamesFeature.h b/ApplicationCode/Commands/RicImportFormationNamesFeature.h new file mode 100644 index 0000000000..45fa429425 --- /dev/null +++ b/ApplicationCode/Commands/RicImportFormationNamesFeature.h @@ -0,0 +1,37 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +//================================================================================================== +/// +//================================================================================================== +class RicImportFormationNamesFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + + diff --git a/ApplicationCode/Commands/RicImportGeoMechCaseFeature.cpp b/ApplicationCode/Commands/RicImportGeoMechCaseFeature.cpp new file mode 100644 index 0000000000..ed28cec1f3 --- /dev/null +++ b/ApplicationCode/Commands/RicImportGeoMechCaseFeature.cpp @@ -0,0 +1,69 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicImportGeoMechCaseFeature.h" + +#include "RiaApplication.h" + +#include +#include + +CAF_CMD_SOURCE_INIT(RicImportGeoMechCaseFeature, "RicImportGeoMechCaseFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicImportGeoMechCaseFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicImportGeoMechCaseFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + + QString defaultDir = app->lastUsedDialogDirectory("GEOMECH_MODEL"); + QStringList fileNames = QFileDialog::getOpenFileNames(NULL, "Import Geo-Mechanical Model", defaultDir, "Abaqus results (*.odb)"); + if (fileNames.size()) defaultDir = QFileInfo(fileNames.last()).absolutePath(); + app->setLastUsedDialogDirectory("GEOMECH_MODEL", defaultDir); + + for (int i = 0; i < fileNames.size(); i++) + { + QString fileName = fileNames[i]; + + if (!fileNames.isEmpty()) + { + if (app->openOdbCaseFromFile(fileName)) + { + app->addToRecentFiles(fileName); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicImportGeoMechCaseFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setIcon(QIcon(":/GeoMechCase48x48.png")); + actionToSetup->setText("Import &Geo Mechanical Model"); +} diff --git a/ApplicationCode/Commands/RicImportGeoMechCaseFeature.h b/ApplicationCode/Commands/RicImportGeoMechCaseFeature.h new file mode 100644 index 0000000000..8fe509c9de --- /dev/null +++ b/ApplicationCode/Commands/RicImportGeoMechCaseFeature.h @@ -0,0 +1,37 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +//================================================================================================== +/// +//================================================================================================== +class RicImportGeoMechCaseFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; +}; + + diff --git a/ApplicationCode/Commands/RicImportSummaryCaseFeature.cpp b/ApplicationCode/Commands/RicImportSummaryCaseFeature.cpp new file mode 100644 index 0000000000..da00e9c3e4 --- /dev/null +++ b/ApplicationCode/Commands/RicImportSummaryCaseFeature.cpp @@ -0,0 +1,115 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicImportSummaryCaseFeature.h" + +#include "RiaApplication.h" + +#include "RimGridSummaryCase.h" +#include "RimMainPlotCollection.h" +#include "RimOilField.h" +#include "RimProject.h" +#include "RimSummaryCase.h" +#include "RimSummaryCaseCollection.h" +#include "RimSummaryPlotCollection.h" + +#include "RiuMainWindow.h" + +#include "SummaryPlotCommands/RicNewSummaryPlotFeature.h" + +#include +#include + +CAF_CMD_SOURCE_INIT(RicImportSummaryCaseFeature, "RicImportSummaryCaseFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicImportSummaryCaseFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicImportSummaryCaseFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + QString defaultDir = app->lastUsedDialogDirectory("INPUT_FILES"); + QStringList fileNames = QFileDialog::getOpenFileNames(NULL, "Import Summary Case", defaultDir, "Eclipse Summary File (*.SMSPEC);;All Files (*.*)"); + + if (fileNames.isEmpty()) return; + + // Remember the path to next time + app->setLastUsedDialogDirectory("INPUT_FILES", QFileInfo(fileNames.last()).absolutePath()); + + RimProject* proj = app->project(); + + RimSummaryCaseCollection* sumCaseColl = proj->activeOilField() ? proj->activeOilField()->summaryCaseCollection() : nullptr; + if (!sumCaseColl) return; + + for (auto f : fileNames) + { + RicImportSummaryCaseFeature::createAndAddSummaryCaseFromFile(f); + } + + app->getOrCreateAndShowMainPlotWindow(); + + std::vector cases; + app->project()->allCases(cases); + + if (cases.size() == 0) + { + RiuMainWindow::instance()->close(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicImportSummaryCaseFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setIcon(QIcon(":/SummaryCase48x48.png")); + actionToSetup->setText("Import Summary Case"); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicImportSummaryCaseFeature::createAndAddSummaryCaseFromFile(const QString& fileName) +{ + RiaApplication* app = RiaApplication::instance(); + RimProject* proj = app->project(); + RimSummaryCaseCollection* sumCaseColl = proj->activeOilField() ? proj->activeOilField()->summaryCaseCollection() : nullptr; + if (!sumCaseColl) return false; + + RimSummaryCase* newSumCase = sumCaseColl->createAndAddSummaryCaseFromFileName(fileName); + newSumCase->loadCase(); + + RimMainPlotCollection* mainPlotColl = proj->mainPlotCollection(); + RimSummaryPlotCollection* summaryPlotColl = mainPlotColl->summaryPlotCollection(); + + RicNewSummaryPlotFeature::createNewSummaryPlot(summaryPlotColl, newSumCase); + + sumCaseColl->updateConnectedEditors(); + app->addToRecentFiles(fileName); + + return true; +} + diff --git a/ApplicationCode/Commands/RicImportSummaryCaseFeature.h b/ApplicationCode/Commands/RicImportSummaryCaseFeature.h new file mode 100644 index 0000000000..c07c393a3b --- /dev/null +++ b/ApplicationCode/Commands/RicImportSummaryCaseFeature.h @@ -0,0 +1,42 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +#include + +//================================================================================================== +/// +//================================================================================================== +class RicImportSummaryCaseFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +public: + static bool createAndAddSummaryCaseFromFile(const QString& fileName); + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; +}; + + diff --git a/ApplicationCode/Commands/RicNewViewFeature.cpp b/ApplicationCode/Commands/RicNewViewFeature.cpp index 3543813dff..967efa7d1b 100644 --- a/ApplicationCode/Commands/RicNewViewFeature.cpp +++ b/ApplicationCode/Commands/RicNewViewFeature.cpp @@ -19,21 +19,33 @@ #include "RicNewViewFeature.h" -#include "RimView.h" -#include "RimEclipseView.h" -#include "RimGeoMechView.h" #include "RimEclipseCase.h" +#include "RimEclipseView.h" #include "RimGeoMechCase.h" +#include "RimGeoMechView.h" +#include "RimView.h" #include "RiuMainWindow.h" #include "cafSelectionManager.h" -#include "cafPdmUiTreeView.h" #include CAF_CMD_SOURCE_INIT(RicNewViewFeature, "RicNewViewFeature"); +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewViewFeature::addReservoirView() +{ + RimView* newView = createReservoirView(); + + if (newView) + { + RiuMainWindow::instance()->setExpanded(newView, true); + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -50,9 +62,7 @@ bool RicNewViewFeature::isCommandEnabled() //-------------------------------------------------------------------------------------------------- void RicNewViewFeature::onActionTriggered(bool isChecked) { - RimView* newView = addReservoirView(); - - RiuMainWindow::instance()->projectTreeView()->setExpanded(newView, true); + addReservoirView(); } //-------------------------------------------------------------------------------------------------- @@ -61,12 +71,13 @@ void RicNewViewFeature::onActionTriggered(bool isChecked) void RicNewViewFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("New View"); -} + actionToSetup->setIcon(QIcon(":/3DView16x16.png")); +} //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimView* RicNewViewFeature::addReservoirView() +RimView* RicNewViewFeature::createReservoirView() { // Establish type of selected object RimEclipseCase* eclipseCase = selectedEclipseCase(); @@ -108,7 +119,7 @@ RimView* RicNewViewFeature::addReservoirView() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimEclipseCase* RicNewViewFeature::selectedEclipseCase() const +RimEclipseCase* RicNewViewFeature::selectedEclipseCase() { std::vector selection; caf::SelectionManager::instance()->objectsByType(&selection); @@ -124,7 +135,7 @@ RimEclipseCase* RicNewViewFeature::selectedEclipseCase() const //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimGeoMechCase* RicNewViewFeature::selectedGeoMechCase() const +RimGeoMechCase* RicNewViewFeature::selectedGeoMechCase() { std::vector selection; caf::SelectionManager::instance()->objectsByType(&selection); @@ -140,7 +151,7 @@ RimGeoMechCase* RicNewViewFeature::selectedGeoMechCase() const //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimEclipseView* RicNewViewFeature::selectedEclipseView() const +RimEclipseView* RicNewViewFeature::selectedEclipseView() { std::vector selection; caf::SelectionManager::instance()->objectsByType(&selection); @@ -156,7 +167,7 @@ RimEclipseView* RicNewViewFeature::selectedEclipseView() const //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimGeoMechView* RicNewViewFeature::selectedGeoMechView() const +RimGeoMechView* RicNewViewFeature::selectedGeoMechView() { std::vector selection; caf::SelectionManager::instance()->objectsByType(&selection); diff --git a/ApplicationCode/Commands/RicNewViewFeature.h b/ApplicationCode/Commands/RicNewViewFeature.h index 1a678c260e..d4f14aba1b 100644 --- a/ApplicationCode/Commands/RicNewViewFeature.h +++ b/ApplicationCode/Commands/RicNewViewFeature.h @@ -21,11 +21,11 @@ #include "cafCmdFeature.h" -class RimView; class RimEclipseCase; class RimEclipseView; class RimGeoMechCase; class RimGeoMechView; +class RimView; //================================================================================================== /// @@ -34,6 +34,9 @@ class RicNewViewFeature : public caf::CmdFeature { CAF_CMD_HEADER_INIT; +public: + static void addReservoirView(); + protected: // Overrides virtual bool isCommandEnabled(); @@ -41,10 +44,10 @@ class RicNewViewFeature : public caf::CmdFeature virtual void setupActionLook( QAction* actionToSetup ); private: - RimView* addReservoirView(); + static RimView* createReservoirView(); - RimEclipseCase* selectedEclipseCase() const; - RimGeoMechCase* selectedGeoMechCase() const; - RimEclipseView* selectedEclipseView() const; - RimGeoMechView* selectedGeoMechView() const; + static RimEclipseCase* selectedEclipseCase(); + static RimGeoMechCase* selectedGeoMechCase(); + static RimEclipseView* selectedEclipseView(); + static RimGeoMechView* selectedGeoMechView(); }; diff --git a/ApplicationCode/Commands/RicRangeFilterFeatureImpl.cpp b/ApplicationCode/Commands/RicRangeFilterFeatureImpl.cpp index 1a5cb04ed7..c37cb0971c 100644 --- a/ApplicationCode/Commands/RicRangeFilterFeatureImpl.cpp +++ b/ApplicationCode/Commands/RicRangeFilterFeatureImpl.cpp @@ -38,7 +38,7 @@ bool RicRangeFilterFeatureImpl::isRangeFilterCommandAvailable() if (!rangeFilterCollection) return false; RimView* view; - rangeFilterCollection->firstAnchestorOrThisOfType(view); + rangeFilterCollection->firstAncestorOrThisOfType(view); if (view) { RimViewController* vc = view->viewController(); @@ -80,7 +80,7 @@ RimCellRangeFilterCollection* RicRangeFilterFeatureImpl::findRangeFilterCollecti } else if (selectedRangeFilter.size() > 0) { - selectedRangeFilter[0]->firstAnchestorOrThisOfType(rangeFilterCollection); + selectedRangeFilter[0]->firstAncestorOrThisOfType(rangeFilterCollection); } assert(rangeFilterCollection); diff --git a/ApplicationCode/Commands/RicReloadFormationNamesFeature.cpp b/ApplicationCode/Commands/RicReloadFormationNamesFeature.cpp new file mode 100644 index 0000000000..4f8b3d63a5 --- /dev/null +++ b/ApplicationCode/Commands/RicReloadFormationNamesFeature.cpp @@ -0,0 +1,84 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicReloadFormationNamesFeature.h" +#include "RimFormationNamesCollection.h" +#include "RimFormationNames.h" + +#include "cafSelectionManager.h" + +#include +#include "QMessageBox" + +CAF_CMD_SOURCE_INIT(RicReloadFormationNamesFeature, "RicReloadFormationNamesFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicReloadFormationNamesFeature::isCommandEnabled() +{ + std::vector selectedFormationNamesObjs; + caf::SelectionManager::instance()->objectsByType(&selectedFormationNamesObjs); + std::vector selectedFormationNamesCollObjs; + caf::SelectionManager::instance()->objectsByType(&selectedFormationNamesCollObjs); + + return (selectedFormationNamesObjs.size() > 0 || selectedFormationNamesCollObjs.size() > 0); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicReloadFormationNamesFeature::onActionTriggered(bool isChecked) +{ + std::vector selectedFormationNamesCollObjs; + caf::SelectionManager::instance()->objectsByType(&selectedFormationNamesCollObjs); + + if (selectedFormationNamesCollObjs.size()) + { + selectedFormationNamesCollObjs[0]->readAllFormationNames(); + for(RimFormationNames* fnames: selectedFormationNamesCollObjs[0]->formationNamesList()) + { + fnames->updateConnectedViews(); + } + + return; + } + + std::vector selectedFormationNamesObjs; + caf::SelectionManager::instance()->objectsByType(&selectedFormationNamesObjs); + for (RimFormationNames* fnames: selectedFormationNamesObjs) + { + QString errorMessage; + fnames->readFormationNamesFile(&errorMessage); + if ( !errorMessage.isEmpty() ) + { + QMessageBox::warning(nullptr, "Reload Formation Names", errorMessage); + } + + fnames->updateConnectedViews(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicReloadFormationNamesFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Reload"); + actionToSetup->setIcon(QIcon(":/Refresh-32.png")); +} diff --git a/ApplicationCode/Commands/RicReloadFormationNamesFeature.h b/ApplicationCode/Commands/RicReloadFormationNamesFeature.h new file mode 100644 index 0000000000..2cb07e72f2 --- /dev/null +++ b/ApplicationCode/Commands/RicReloadFormationNamesFeature.h @@ -0,0 +1,37 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +//================================================================================================== +/// +//================================================================================================== +class RicReloadFormationNamesFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + + diff --git a/ApplicationCode/Commands/RicSnapshotViewToClipboardFeature.cpp b/ApplicationCode/Commands/RicSnapshotViewToClipboardFeature.cpp new file mode 100644 index 0000000000..6db549a04c --- /dev/null +++ b/ApplicationCode/Commands/RicSnapshotViewToClipboardFeature.cpp @@ -0,0 +1,265 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicSnapshotViewToClipboardFeature.h" + +#include "RiaApplication.h" + +#include "RimProject.h" +#include "RimSummaryPlot.h" +#include "RimViewWindow.h" +#include "RimWellLogPlot.h" +#include "RiuMainPlotWindow.h" +#include "RiuWellLogPlot.h" + +#include "cafUtils.h" + +#include +#include +#include +#include +#include +#include + + +CAF_CMD_SOURCE_INIT(RicSnapshotViewToClipboardFeature, "RicSnapshotViewToClipboardFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicSnapshotViewToClipboardFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSnapshotViewToClipboardFeature::onActionTriggered(bool isChecked) +{ + RimViewWindow* viewWindow = RiaApplication::activeViewWindow(); + + if (viewWindow) + { + QClipboard* clipboard = QApplication::clipboard(); + if (clipboard) + { + QImage image = viewWindow->snapshotWindowContent(); + if (!image.isNull()) + { + clipboard->setImage(image); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSnapshotViewToClipboardFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Snapshot To Clipboard"); + actionToSetup->setIcon(QIcon(":/SnapShot.png")); +} + + + + +CAF_CMD_SOURCE_INIT(RicSnapshotViewToFileFeature, "RicSnapshotViewToFileFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSnapshotViewToFileFeature::saveSnapshotAs(const QString& fileName, RimViewWindow* viewWindow) +{ + if (viewWindow) + { + QImage image = viewWindow->snapshotWindowContent(); + if (!image.isNull()) + { + if (image.save(fileName)) + { + qDebug() << "Saved snapshot image to " << fileName; + } + else + { + qDebug() << "Error when trying to save snapshot image to " << fileName; + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicSnapshotViewToFileFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSnapshotViewToFileFeature::onActionTriggered(bool isChecked) +{ + RiaApplication* app = RiaApplication::instance(); + RimProject* proj = app->project(); + + QString startPath; + if (!proj->fileName().isEmpty()) + { + QFileInfo fi(proj->fileName()); + startPath = fi.absolutePath(); + } + else + { + startPath = app->lastUsedDialogDirectory("IMAGE_SNAPSHOT"); + } + + startPath += "/image.png"; + + QString fileName = QFileDialog::getSaveFileName(NULL, tr("Save File"), startPath, tr("Image files (*.bmp *.png * *.jpg)")); + if (fileName.isEmpty()) + { + return; + } + + // Remember the directory to next time + app->setLastUsedDialogDirectory("IMAGE_SNAPSHOT", QFileInfo(fileName).absolutePath()); + + RimViewWindow* viewWindow = app->activeViewWindow(); + RicSnapshotViewToFileFeature::saveSnapshotAs(fileName, viewWindow); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSnapshotViewToFileFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Snapshot To File"); + actionToSetup->setIcon(QIcon(":/SnapShotSave.png")); +} + + + + + +CAF_CMD_SOURCE_INIT(RicSnapshotAllPlotsToFileFeature, "RicSnapshotAllPlotsToFileFeature"); + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSnapshotAllPlotsToFileFeature::saveAllPlots() +{ + RiaApplication* app = RiaApplication::instance(); + + RiuMainPlotWindow* mainPlotWindow = app->mainPlotWindow(); + if (!mainPlotWindow) return; + + RimProject* proj = app->project(); + if (!proj) return; + + // Save images in snapshot catalog relative to project directory + QString snapshotFolderName = app->createAbsolutePathFromProjectRelativePath("snapshots"); + + QDir snapshotPath(snapshotFolderName); + if (!snapshotPath.exists()) + { + if (!snapshotPath.mkpath(".")) return; + } + + const QString absSnapshotPath = snapshotPath.absolutePath(); + + // Well log plots + { + std::vector wellLogPlots; + proj->descendantsIncludingThisOfType(wellLogPlots); + for (RimWellLogPlot* wellLogPlot : wellLogPlots) + { + if (wellLogPlot && wellLogPlot->viewWidget()) + { + QString fileName = wellLogPlot->description(); + fileName.replace(" ", "_"); + + QString absoluteFileName = caf::Utils::constructFullFileName(absSnapshotPath, fileName, ".png"); + + RicSnapshotViewToFileFeature::saveSnapshotAs(absoluteFileName, wellLogPlot); + } + } + } + + // Summary plots + { + std::vector summaryPlots; + proj->descendantsIncludingThisOfType(summaryPlots); + for (RimSummaryPlot* summaryPlot : summaryPlots) + { + if (summaryPlot && summaryPlot->viewWidget()) + { + QString fileName = summaryPlot->description(); + fileName.replace(" ", "_"); + + QString absoluteFileName = caf::Utils::constructFullFileName(absSnapshotPath, fileName, ".png"); + + RicSnapshotViewToFileFeature::saveSnapshotAs(absoluteFileName, summaryPlot); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicSnapshotAllPlotsToFileFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSnapshotAllPlotsToFileFeature::onActionTriggered(bool isChecked) +{ + QWidget* currentActiveWidget = nullptr; + if (RiaApplication::activeViewWindow()) + { + currentActiveWidget = RiaApplication::activeViewWindow()->viewWidget(); + } + + RicSnapshotAllPlotsToFileFeature::saveAllPlots(); + + if (currentActiveWidget) + { + RiuMainPlotWindow* mainPlotWindow = RiaApplication::instance()->mainPlotWindow(); + if (mainPlotWindow) + { + mainPlotWindow->setActiveViewer(currentActiveWidget); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSnapshotAllPlotsToFileFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Snapshot All Plots To File"); + actionToSetup->setIcon(QIcon(":/SnapShotSave.png")); +} + diff --git a/ApplicationCode/Commands/RicSnapshotViewToClipboardFeature.h b/ApplicationCode/Commands/RicSnapshotViewToClipboardFeature.h new file mode 100644 index 0000000000..2112d4e19f --- /dev/null +++ b/ApplicationCode/Commands/RicSnapshotViewToClipboardFeature.h @@ -0,0 +1,76 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +class RimViewWindow; + +//================================================================================================== +/// +//================================================================================================== +class RicSnapshotViewToClipboardFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; + +}; + + +//================================================================================================== +/// +//================================================================================================== +class RicSnapshotViewToFileFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +public: + static void saveSnapshotAs(const QString& fileName, RimViewWindow* viewWindow); + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered(bool isChecked) override; + virtual void setupActionLook(QAction* actionToSetup) override; +}; + + +//================================================================================================== +/// +//================================================================================================== +class RicSnapshotAllPlotsToFileFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +public: + static void saveAllPlots(); + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered(bool isChecked) override; + virtual void setupActionLook(QAction* actionToSetup) override; +}; + + diff --git a/ApplicationCode/Commands/RicTileWindowsFeature.cpp b/ApplicationCode/Commands/RicTileWindowsFeature.cpp deleted file mode 100644 index 8669acbf3b..0000000000 --- a/ApplicationCode/Commands/RicTileWindowsFeature.cpp +++ /dev/null @@ -1,51 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#include "RicTileWindowsFeature.h" - -#include "RiuMainWindow.h" - -#include - -CAF_CMD_SOURCE_INIT(RicTileWindowsFeature, "RicTileWindowsFeature"); - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -bool RicTileWindowsFeature::isCommandEnabled() -{ - return RiuMainWindow::instance()->isAnyMdiSubWindowVisible(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicTileWindowsFeature::onActionTriggered(bool isChecked) -{ - RiuMainWindow::instance()->tileWindows(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RicTileWindowsFeature::setupActionLook(QAction* actionToSetup) -{ - actionToSetup->setText("Tile Windows"); - actionToSetup->setIcon(QIcon(":/view-page-multi-24.png")); -} diff --git a/ApplicationCode/Commands/RicTileWindowsFeature.h b/ApplicationCode/Commands/RicTileWindowsFeature.h deleted file mode 100644 index add1e130db..0000000000 --- a/ApplicationCode/Commands/RicTileWindowsFeature.h +++ /dev/null @@ -1,39 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#pragma once - -#include "cafCmdFeature.h" - - -//================================================================================================== -/// -//================================================================================================== -class RicTileWindowsFeature : public caf::CmdFeature -{ - CAF_CMD_HEADER_INIT; - -protected: - // Overrides - virtual bool isCommandEnabled(); - virtual void onActionTriggered( bool isChecked ); - virtual void setupActionLook( QAction* actionToSetup ); -}; - - diff --git a/ApplicationCode/Commands/RicTogglePerspectiveViewFeature.cpp b/ApplicationCode/Commands/RicTogglePerspectiveViewFeature.cpp new file mode 100644 index 0000000000..28fff621b1 --- /dev/null +++ b/ApplicationCode/Commands/RicTogglePerspectiveViewFeature.cpp @@ -0,0 +1,75 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicTogglePerspectiveViewFeature.h" + +#include "RiuViewer.h" +#include "RimView.h" +#include "RiuMainWindow.h" +#include "RiaApplication.h" + +#include + +CAF_CMD_SOURCE_INIT(RicTogglePerspectiveViewFeature, "RicTogglePerspectiveViewFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicTogglePerspectiveViewFeature::isCommandEnabled() +{ + this->action(); // Retrieve the action to update the looks + return RiaApplication::instance()->activeReservoirView() && RiaApplication::instance()->activeReservoirView()->viewer(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicTogglePerspectiveViewFeature::onActionTriggered(bool isChecked) +{ + if(RiaApplication::instance()->activeReservoirView() && RiaApplication::instance()->activeReservoirView()->viewer()) + { + bool isPerspective = RiaApplication::instance()->activeReservoirView()->isPerspectiveView(); + RiaApplication::instance()->activeReservoirView()->isPerspectiveView = !isPerspective; + RiaApplication::instance()->activeReservoirView()->isPerspectiveView.uiCapability()->updateConnectedEditors(); + + RiaApplication::instance()->activeReservoirView()->viewer()->enableParallelProjection(isPerspective); + RiaApplication::instance()->activeReservoirView()->viewer()->navigationPolicyUpdate(); + + this->action(); // Retrieve the action to update the looks + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicTogglePerspectiveViewFeature::setupActionLook(QAction* actionToSetup) +{ + if(RiaApplication::instance()->activeReservoirView() && RiaApplication::instance()->activeReservoirView()->viewer()) + { + if (RiaApplication::instance()->activeReservoirView()->isPerspectiveView()) + { + actionToSetup->setText("Parallel View"); + actionToSetup->setIcon(QIcon(":/Parallel24x24.png")); + return; + } + } + + actionToSetup->setText("Perspective View"); + actionToSetup->setIcon(QIcon(":/Perspective24x24.png")); +} diff --git a/ApplicationCode/Commands/RicTogglePerspectiveViewFeature.h b/ApplicationCode/Commands/RicTogglePerspectiveViewFeature.h new file mode 100644 index 0000000000..c0a02c7002 --- /dev/null +++ b/ApplicationCode/Commands/RicTogglePerspectiveViewFeature.h @@ -0,0 +1,39 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// Copyright (C) 2016- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicTogglePerspectiveViewFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + + diff --git a/ApplicationCode/Commands/RicViewerEventInterface.h b/ApplicationCode/Commands/RicViewerEventInterface.h index 837532136c..2e33707a7d 100644 --- a/ApplicationCode/Commands/RicViewerEventInterface.h +++ b/ApplicationCode/Commands/RicViewerEventInterface.h @@ -39,14 +39,14 @@ class RicViewerEventInterface class RicViewerEventObject : public cvf::Object { public: - RicViewerEventObject(cvf::Vec3d localIntersectionPoint, cvf::Part* firstHitPart, cvf::uint firstPartTriangleIndex) - : localIntersectionPoint(localIntersectionPoint), + RicViewerEventObject(cvf::Vec3d globalIntersectionPoint, cvf::Part* firstHitPart, cvf::uint firstPartTriangleIndex) + : globalIntersectionPoint(globalIntersectionPoint), firstHitPart(firstHitPart), firstPartTriangleIndex(firstPartTriangleIndex) { } - cvf::Vec3d localIntersectionPoint; + cvf::Vec3d globalIntersectionPoint; cvf::Part* firstHitPart; cvf::uint firstPartTriangleIndex; }; diff --git a/ApplicationCode/Commands/SummaryPlotCommands/CMakeLists_files.cmake b/ApplicationCode/Commands/SummaryPlotCommands/CMakeLists_files.cmake new file mode 100644 index 0000000000..cae84a338b --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/CMakeLists_files.cmake @@ -0,0 +1,40 @@ + +# Use this workaround until we're on 2.8.3 on all platforms and can use CMAKE_CURRENT_LIST_DIR directly +if (${CMAKE_VERSION} VERSION_GREATER "2.8.2") + set(CEE_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_DIR}/) +endif() + + +set (SOURCE_GROUP_HEADER_FILES +${CEE_CURRENT_LIST_DIR}RicNewSummaryPlotFeature.h +${CEE_CURRENT_LIST_DIR}RicNewSummaryCurveFeature.h +${CEE_CURRENT_LIST_DIR}RicNewSummaryCurveFilterFeature.h +${CEE_CURRENT_LIST_DIR}RicViewZoomAllFeature.h +${CEE_CURRENT_LIST_DIR}RicSummaryCurveSwitchAxisFeature.h +${CEE_CURRENT_LIST_DIR}RicPasteSummaryPlotFeature.h +${CEE_CURRENT_LIST_DIR}RicPasteSummaryCurveFeature.h +) + +set (SOURCE_GROUP_SOURCE_FILES +${CEE_CURRENT_LIST_DIR}RicNewSummaryPlotFeature.cpp +${CEE_CURRENT_LIST_DIR}RicNewSummaryCurveFeature.cpp +${CEE_CURRENT_LIST_DIR}RicNewSummaryCurveFilterFeature.cpp +${CEE_CURRENT_LIST_DIR}RicViewZoomAllFeature.cpp +${CEE_CURRENT_LIST_DIR}RicSummaryCurveSwitchAxisFeature.cpp +${CEE_CURRENT_LIST_DIR}RicPasteSummaryPlotFeature.cpp +${CEE_CURRENT_LIST_DIR}RicPasteSummaryCurveFeature.cpp +) + +list(APPEND CODE_HEADER_FILES +${SOURCE_GROUP_HEADER_FILES} +) + +list(APPEND CODE_SOURCE_FILES +${SOURCE_GROUP_SOURCE_FILES} +) + +list(APPEND QT_MOC_HEADERS +) + + +source_group( "CommandFeature\\SummaryPlot" FILES ${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES} ${CEE_CURRENT_LIST_DIR}CMakeLists_files.cmake ) diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryCurveFeature.cpp b/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryCurveFeature.cpp new file mode 100644 index 0000000000..778129da2c --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryCurveFeature.cpp @@ -0,0 +1,109 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicNewSummaryCurveFeature.h" + +#include "RiaApplication.h" + +#include "RimMainPlotCollection.h" +#include "RimOilField.h" +#include "RimProject.h" +#include "RimSummaryCaseCollection.h" +#include "RimSummaryCurve.h" +#include "RimSummaryPlot.h" +#include "RimSummaryPlotCollection.h" + +#include "RiuMainPlotWindow.h" + +#include "WellLogCommands/RicWellLogPlotCurveFeatureImpl.h" + +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + + +CAF_CMD_SOURCE_INIT(RicNewSummaryCurveFeature, "RicNewSummaryCurveFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicNewSummaryCurveFeature::isCommandEnabled() +{ + return (selectedSummaryPlot()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewSummaryCurveFeature::onActionTriggered(bool isChecked) +{ + RimProject* project = RiaApplication::instance()->project(); + CVF_ASSERT(project); + + RimMainPlotCollection* mainPlotColl = project->mainPlotCollection(); + CVF_ASSERT(mainPlotColl); + + RimSummaryPlotCollection* summaryPlotColl = mainPlotColl->summaryPlotCollection(); + CVF_ASSERT(summaryPlotColl); + + RimSummaryPlot* plot = selectedSummaryPlot(); + if (plot) + { + RimSummaryCurve* newCurve = new RimSummaryCurve(); + plot->addCurve(newCurve); + + cvf::Color3f curveColor = RicWellLogPlotCurveFeatureImpl::curveColorFromTable(); + newCurve->setColor(curveColor); + + RimSummaryCase* defaultCase = nullptr; + if (project->activeOilField()->summaryCaseCollection()->summaryCaseCount() > 0) + { + defaultCase = project->activeOilField()->summaryCaseCollection()->summaryCase(0); + newCurve->setSummaryCase(defaultCase); + newCurve->setVariable("FOPT"); + newCurve->loadDataAndUpdate(); + } + + plot->updateConnectedEditors(); + + RiaApplication::instance()->getOrCreateAndShowMainPlotWindow()->selectAsCurrentItem(newCurve); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewSummaryCurveFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("New Summary Curve"); + actionToSetup->setIcon(QIcon(":/SummaryCurve16x16.png")); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryPlot* RicNewSummaryCurveFeature::selectedSummaryPlot() const +{ + caf::PdmObject* selObj = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + RimSummaryPlot * sumPlot; + selObj->firstAncestorOrThisOfType(sumPlot); + + return sumPlot; +} diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryCurveFeature.h b/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryCurveFeature.h new file mode 100644 index 0000000000..b2c675d6f6 --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryCurveFeature.h @@ -0,0 +1,41 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +#include + +class RimSummaryPlot; + +//================================================================================================== +/// +//================================================================================================== +class RicNewSummaryCurveFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); + +private: + RimSummaryPlot* selectedSummaryPlot() const; +}; diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryCurveFilterFeature.cpp b/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryCurveFilterFeature.cpp new file mode 100644 index 0000000000..993895ca19 --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryCurveFilterFeature.cpp @@ -0,0 +1,99 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicNewSummaryCurveFilterFeature.h" + +#include "RiaApplication.h" + +#include "RimMainPlotCollection.h" +#include "RimOilField.h" +#include "RimProject.h" +#include "RimSummaryCaseCollection.h" +#include "RimSummaryCurve.h" +#include "RimSummaryCurveFilter.h" +#include "RimSummaryPlot.h" +#include "RimSummaryPlotCollection.h" + +#include "RiuMainPlotWindow.h" + +#include "WellLogCommands/RicWellLogPlotCurveFeatureImpl.h" + +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + + +CAF_CMD_SOURCE_INIT(RicNewSummaryCurveFilterFeature, "RicNewSummaryCurveFilterFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicNewSummaryCurveFilterFeature::isCommandEnabled() +{ + return (selectedSummaryPlot()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewSummaryCurveFilterFeature::onActionTriggered(bool isChecked) +{ + RimProject* project = RiaApplication::instance()->project(); + CVF_ASSERT(project); + + RimMainPlotCollection* mainPlotColl = project->mainPlotCollection(); + CVF_ASSERT(mainPlotColl); + + RimSummaryPlotCollection* summaryPlotColl = mainPlotColl->summaryPlotCollection(); + CVF_ASSERT(summaryPlotColl); + + RimSummaryPlot* plot = selectedSummaryPlot(); + if (plot) + { + RimSummaryCurveFilter* newCurveFilter = new RimSummaryCurveFilter(); + plot->addCurveFilter(newCurveFilter); + + plot->updateConnectedEditors(); + + RiaApplication::instance()->getOrCreateAndShowMainPlotWindow()->selectAsCurrentItem(newCurveFilter); + } + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewSummaryCurveFilterFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("New Summary Curve Filter"); + actionToSetup->setIcon(QIcon(":/SummaryCurveFilter16x16.png")); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryPlot* RicNewSummaryCurveFilterFeature::selectedSummaryPlot() const +{ + caf::PdmObject* selObj = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + RimSummaryPlot * sumPlot; + selObj->firstAncestorOrThisOfType(sumPlot); + + return sumPlot; +} diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryCurveFilterFeature.h b/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryCurveFilterFeature.h new file mode 100644 index 0000000000..b6f880658c --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryCurveFilterFeature.h @@ -0,0 +1,41 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +#include + +class RimSummaryPlot; + +//================================================================================================== +/// +//================================================================================================== +class RicNewSummaryCurveFilterFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); + +private: + RimSummaryPlot* selectedSummaryPlot() const; +}; diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryPlotFeature.cpp b/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryPlotFeature.cpp new file mode 100644 index 0000000000..59e5de32e1 --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryPlotFeature.cpp @@ -0,0 +1,121 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicNewSummaryPlotFeature.h" + +#include "RiaApplication.h" +#include "RiaPreferences.h" + +#include "RimMainPlotCollection.h" +#include "RimProject.h" +#include "RimSummaryCase.h" +#include "RimSummaryCurveFilter.h" +#include "RimSummaryPlot.h" +#include "RimSummaryPlotCollection.h" + +#include "RiuMainPlotWindow.h" + +#include "cafSelectionManager.h" + +#include + +#include "cvfAssert.h" + + +CAF_CMD_SOURCE_INIT(RicNewSummaryPlotFeature, "RicNewSummaryPlotFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicNewSummaryPlotFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewSummaryPlotFeature::onActionTriggered(bool isChecked) +{ + RimProject* project = RiaApplication::instance()->project(); + CVF_ASSERT(project); + + RimMainPlotCollection* mainPlotColl = project->mainPlotCollection(); + CVF_ASSERT(mainPlotColl); + + RimSummaryPlotCollection* summaryPlotColl = mainPlotColl->summaryPlotCollection(); + CVF_ASSERT(summaryPlotColl); + + RimSummaryCase* summaryCase = nullptr; + std::vector selection; + caf::SelectionManager::instance()->objectsByType(&selection); + if (selection.size() == 1) + { + summaryCase = selection[0]; + } + else + { + std::vector cases; + project->allSummaryCases(cases); + if (cases.size() > 0) + { + summaryCase = cases[0]; + } + } + + createNewSummaryPlot(summaryPlotColl, summaryCase); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewSummaryPlotFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("New Summary Plot"); + actionToSetup->setIcon(QIcon(":/SummaryPlot16x16.png")); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicNewSummaryPlotFeature::createNewSummaryPlot(RimSummaryPlotCollection* summaryPlotColl, RimSummaryCase* summaryCase) +{ + RimSummaryPlot* plot = new RimSummaryPlot(); + summaryPlotColl->m_summaryPlots().push_back(plot); + + plot->setDescription(QString("Summary Plot %1").arg(summaryPlotColl->m_summaryPlots.size())); + + RimSummaryCurveFilter* newCurveFilter = new RimSummaryCurveFilter(); + + if (summaryCase) + { + newCurveFilter->createCurves(summaryCase, RiaApplication::instance()->preferences()->defaultCurveFilter()); + } + + plot->addCurveFilter(newCurveFilter); + + summaryPlotColl->updateConnectedEditors(); + plot->loadDataAndUpdate(); + + RiuMainPlotWindow* mainPlotWindow = RiaApplication::instance()->mainPlotWindow(); + if (mainPlotWindow) + { + mainPlotWindow->selectAsCurrentItem(newCurveFilter); + mainPlotWindow->setExpanded(newCurveFilter, true); + } +} diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryPlotFeature.h b/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryPlotFeature.h new file mode 100644 index 0000000000..dd6cb6a379 --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicNewSummaryPlotFeature.h @@ -0,0 +1,42 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +class RimSummaryCase; +class RimSummaryPlotCollection; + +//================================================================================================== +/// +//================================================================================================== +class RicNewSummaryPlotFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +public: + static void createNewSummaryPlot(RimSummaryPlotCollection* summaryPlotColl, RimSummaryCase* summaryCase); + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook(QAction* actionToSetup); + +}; diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicPasteSummaryCurveFeature.cpp b/ApplicationCode/Commands/SummaryPlotCommands/RicPasteSummaryCurveFeature.cpp new file mode 100644 index 0000000000..ba3d518156 --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicPasteSummaryCurveFeature.cpp @@ -0,0 +1,198 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicPasteSummaryCurveFeature.h" + +#include "OperationsUsingObjReferences/RicPasteFeatureImpl.h" + +#include "RimSummaryCurve.h" +#include "RimSummaryCurveFilter.h" +#include "RimSummaryPlot.h" + +#include "cafPdmDefaultObjectFactory.h" +#include "cafPdmDocument.h" +#include "cafPdmObjectGroup.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + + +CAF_CMD_SOURCE_INIT(RicPasteSummaryCurveFeature, "RicPasteSummaryCurveFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicPasteSummaryCurveFeature::isCommandEnabled() +{ + caf::PdmObjectHandle* destinationObject = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + + RimSummaryPlot* summaryPlot = nullptr; + destinationObject->firstAncestorOrThisOfType(summaryPlot); + if (!summaryPlot) + { + return false; + } + + return RicPasteSummaryCurveFeature::summaryCurves().size() > 0; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicPasteSummaryCurveFeature::onActionTriggered(bool isChecked) +{ + caf::PdmObjectHandle* destinationObject = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + + RimSummaryPlot* summaryPlot = nullptr; + destinationObject->firstAncestorOrThisOfType(summaryPlot); + if (!summaryPlot) + { + return; + } + + std::vector > sourceObjects = RicPasteSummaryCurveFeature::summaryCurves(); + + for (size_t i = 0; i < sourceObjects.size(); i++) + { + RimSummaryCurve* newObject = dynamic_cast(sourceObjects[i]->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance())); + CVF_ASSERT(newObject); + + summaryPlot->addCurve(newObject); + + // Resolve references after object has been inserted into the project data model + newObject->resolveReferencesRecursively(); + + // If source curve is part of a curve filter, resolve of references to the summary case does not + // work when pasting the new curve into a plot. Must set summary case manually. + newObject->setSummaryCase(sourceObjects[i]->summaryCase()); + + newObject->initAfterReadRecursively(); + + newObject->loadDataAndUpdate(); + newObject->updateConnectedEditors(); + + summaryPlot->updateConnectedEditors(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicPasteSummaryCurveFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Paste Summary Curve"); + + RicPasteFeatureImpl::setIconAndShortcuts(actionToSetup); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector > RicPasteSummaryCurveFeature::summaryCurves() +{ + caf::PdmObjectGroup objectGroup; + RicPasteFeatureImpl::findObjectsFromClipboardRefs(&objectGroup); + + std::vector > typedObjects; + objectGroup.objectsByType(&typedObjects); + + return typedObjects; +} + + + + +CAF_CMD_SOURCE_INIT(RicPasteSummaryCurveFilterFeature, "RicPasteSummaryCurveFilterFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicPasteSummaryCurveFilterFeature::isCommandEnabled() +{ + caf::PdmObjectHandle* destinationObject = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + + RimSummaryPlot* summaryPlot = nullptr; + destinationObject->firstAncestorOrThisOfType(summaryPlot); + if (!summaryPlot) + { + return false; + } + + return RicPasteSummaryCurveFilterFeature::summaryCurveFilters().size() > 0; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicPasteSummaryCurveFilterFeature::onActionTriggered(bool isChecked) +{ + caf::PdmObjectHandle* destinationObject = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + + RimSummaryPlot* summaryPlot = nullptr; + destinationObject->firstAncestorOrThisOfType(summaryPlot); + if (!summaryPlot) + { + return; + } + + std::vector > sourceObjects = RicPasteSummaryCurveFilterFeature::summaryCurveFilters(); + + for (size_t i = 0; i < sourceObjects.size(); i++) + { + RimSummaryCurveFilter* newObject = dynamic_cast(sourceObjects[i]->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance())); + CVF_ASSERT(newObject); + + summaryPlot->addCurveFilter(newObject); + + // Resolve references after object has been inserted into the project data model + newObject->resolveReferencesRecursively(); + newObject->initAfterReadRecursively(); + + newObject->loadDataAndUpdate(); + newObject->updateConnectedEditors(); + + summaryPlot->updateConnectedEditors(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicPasteSummaryCurveFilterFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Paste Summary Curve Filter"); + + RicPasteFeatureImpl::setIconAndShortcuts(actionToSetup); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector > RicPasteSummaryCurveFilterFeature::summaryCurveFilters() +{ + caf::PdmObjectGroup objectGroup; + RicPasteFeatureImpl::findObjectsFromClipboardRefs(&objectGroup); + + std::vector > typedObjects; + objectGroup.objectsByType(&typedObjects); + + return typedObjects; +} + diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicPasteSummaryCurveFeature.h b/ApplicationCode/Commands/SummaryPlotCommands/RicPasteSummaryCurveFeature.h new file mode 100644 index 0000000000..525496b230 --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicPasteSummaryCurveFeature.h @@ -0,0 +1,62 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" +#include "cafPdmPointer.h" + +#include + +class RimSummaryCurve; +class RimSummaryCurveFilter; + +//================================================================================================== +/// +//================================================================================================== +class RicPasteSummaryCurveFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook(QAction* actionToSetup) override; + +private: + static std::vector > summaryCurves(); +}; + + +//================================================================================================== +/// +//================================================================================================== +class RicPasteSummaryCurveFilterFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered(bool isChecked) override; + virtual void setupActionLook(QAction* actionToSetup) override; + +private: + static std::vector > summaryCurveFilters(); +}; diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicPasteSummaryPlotFeature.cpp b/ApplicationCode/Commands/SummaryPlotCommands/RicPasteSummaryPlotFeature.cpp new file mode 100644 index 0000000000..db42edd5cf --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicPasteSummaryPlotFeature.cpp @@ -0,0 +1,115 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicPasteSummaryPlotFeature.h" + +#include "OperationsUsingObjReferences/RicPasteFeatureImpl.h" + +#include "RimSummaryPlot.h" +#include "RimSummaryPlotCollection.h" + +#include "cafPdmDefaultObjectFactory.h" +#include "cafPdmDocument.h" +#include "cafPdmObjectGroup.h" +#include "cafPdmObjectGroup.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + + +CAF_CMD_SOURCE_INIT(RicPasteSummaryPlotFeature, "RicPasteSummaryPlotFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicPasteSummaryPlotFeature::isCommandEnabled() +{ + caf::PdmObjectHandle* destinationObject = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + + RimSummaryPlotCollection* plotColl = nullptr; + destinationObject->firstAncestorOrThisOfType(plotColl); + if (!plotColl) + { + return false; + } + + return RicPasteSummaryPlotFeature::summaryPlots().size() > 0; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicPasteSummaryPlotFeature::onActionTriggered(bool isChecked) +{ + caf::PdmObjectHandle* destinationObject = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + + RimSummaryPlotCollection* plotColl = nullptr; + destinationObject->firstAncestorOrThisOfType(plotColl); + if (!plotColl) + { + return; + } + + std::vector > sourceObjects = RicPasteSummaryPlotFeature::summaryPlots(); + + for (size_t i = 0; i < sourceObjects.size(); i++) + { + RimSummaryPlot* newSummaryPlot = dynamic_cast(sourceObjects[i]->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance())); + CVF_ASSERT(newSummaryPlot); + + plotColl->m_summaryPlots.push_back(newSummaryPlot); + + // Resolve references after object has been inserted into the data model + newSummaryPlot->resolveReferencesRecursively(); + newSummaryPlot->initAfterReadRecursively(); + + QString nameOfCopy = QString("Copy of ") + newSummaryPlot->description(); + newSummaryPlot->setDescription(nameOfCopy); + + plotColl->updateConnectedEditors(); + + newSummaryPlot->loadDataAndUpdate(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicPasteSummaryPlotFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Paste Summary Plot"); + + RicPasteFeatureImpl::setIconAndShortcuts(actionToSetup); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector > RicPasteSummaryPlotFeature::summaryPlots() +{ + caf::PdmObjectGroup objectGroup; + RicPasteFeatureImpl::findObjectsFromClipboardRefs(&objectGroup); + + std::vector > typedObjects; + objectGroup.objectsByType(&typedObjects); + + return typedObjects; +} + diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicPasteSummaryPlotFeature.h b/ApplicationCode/Commands/SummaryPlotCommands/RicPasteSummaryPlotFeature.h new file mode 100644 index 0000000000..f80e50ea4d --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicPasteSummaryPlotFeature.h @@ -0,0 +1,43 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" +#include "cafPdmPointer.h" + +#include + +class RimSummaryPlot; + +//================================================================================================== +/// +//================================================================================================== +class RicPasteSummaryPlotFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook(QAction* actionToSetup) override; + +private: + static std::vector > summaryPlots(); +}; diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveSwitchAxisFeature.cpp b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveSwitchAxisFeature.cpp new file mode 100644 index 0000000000..568535c0cb --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveSwitchAxisFeature.cpp @@ -0,0 +1,149 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicSummaryCurveSwitchAxisFeature.h" + +#include "RimSummaryCurve.h" +#include "RimSummaryCurveFilter.h" +#include "RimSummaryPlot.h" + +#include "cafSelectionManager.h" + +#include + + +CAF_CMD_SOURCE_INIT(RicSummaryCurveSwitchAxisFeature, "RicSummaryCurveSwitchAxisFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicSummaryCurveSwitchAxisFeature::isCommandEnabled() +{ + std::set selectedCurveFilters; + std::set selectedSoloCurves; + + RicSummaryCurveSwitchAxisFeature::extractSelectedCurveFiltersAndSoloCurves(&selectedCurveFilters, + &selectedSoloCurves); + return (selectedCurveFilters.size() || selectedSoloCurves.size()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSummaryCurveSwitchAxisFeature::onActionTriggered(bool isChecked) +{ + std::set selectedCurveFilters; + std::set selectedSoloCurves; + + RicSummaryCurveSwitchAxisFeature::extractSelectedCurveFiltersAndSoloCurves(&selectedCurveFilters, + &selectedSoloCurves); + + for (RimSummaryCurveFilter* summaryCurveFilter: selectedCurveFilters) + { + RimDefines::PlotAxis plotAxis = summaryCurveFilter->associatedPlotAxis(); + + if ( plotAxis == RimDefines::PLOT_AXIS_LEFT ) + { + summaryCurveFilter->setPlotAxis(RimDefines::PLOT_AXIS_RIGHT); + } + else + { + summaryCurveFilter->setPlotAxis(RimDefines::PLOT_AXIS_LEFT); + } + + summaryCurveFilter->updateConnectedEditors(); + } + + for (RimSummaryCurve* summaryCurve : selectedSoloCurves) + { + RimDefines::PlotAxis plotAxis = summaryCurve->yAxis(); + + if ( plotAxis == RimDefines::PLOT_AXIS_LEFT ) + { + summaryCurve->setYAxis(RimDefines::PLOT_AXIS_RIGHT); + } + else + { + summaryCurve->setYAxis(RimDefines::PLOT_AXIS_LEFT); + } + + summaryCurve->updateQwtPlotAxis(); + summaryCurve->updateConnectedEditors(); + + RimSummaryPlot* plot = nullptr; + summaryCurve->firstAncestorOrThisOfType(plot); + if ( plot ) plot->updateAxes(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSummaryCurveSwitchAxisFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Switch Plot Axis"); +} + +//-------------------------------------------------------------------------------------------------- +/// Solo curves means selected curves that does not have a selected curvefilter as parent +//-------------------------------------------------------------------------------------------------- +void RicSummaryCurveSwitchAxisFeature::extractSelectedCurveFiltersAndSoloCurves(std::set* selectedCurveFilters, + std::set* selectedSoloCurves) +{ + + selectedSoloCurves->clear(); + { + std::vector selection; + caf::SelectionManager::instance()->objectsByType(&selection); + for (RimSummaryCurve* curve: selection) + { + selectedSoloCurves->insert(curve); + } + } + + selectedCurveFilters->clear(); + { + std::vector selection; + caf::SelectionManager::instance()->objectsByType(&selection); + for ( RimSummaryCurveFilter* curveFilter: selection ) + { + selectedCurveFilters->insert(curveFilter); + } + } + + std::vector curvesToRemove; + + for (RimSummaryCurve* curve: (*selectedSoloCurves)) + { + RimSummaryCurveFilter* parentCurveFilter; + curve->firstAncestorOrThisOfType(parentCurveFilter); + if (parentCurveFilter) + { + if (selectedCurveFilters->count(parentCurveFilter) > 0 ) + { + curvesToRemove.push_back(curve); + } + } + } + + for (RimSummaryCurve* curve: curvesToRemove) + { + selectedSoloCurves->erase(curve); + } + +} \ No newline at end of file diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveSwitchAxisFeature.h b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveSwitchAxisFeature.h new file mode 100644 index 0000000000..c48fee37ab --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveSwitchAxisFeature.h @@ -0,0 +1,45 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +#include + +class RimSummaryCurve; +class RimSummaryCurveFilter; + + + +//================================================================================================== +/// +//================================================================================================== +class RicSummaryCurveSwitchAxisFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; + +private: + static void extractSelectedCurveFiltersAndSoloCurves(std::set* selectedCurveFilters, + std::set* selectedSoloCurves); +}; diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicViewZoomAllFeature.cpp b/ApplicationCode/Commands/SummaryPlotCommands/RicViewZoomAllFeature.cpp new file mode 100644 index 0000000000..33952169e2 --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicViewZoomAllFeature.cpp @@ -0,0 +1,93 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicViewZoomAllFeature.h" + +#include "RiaApplication.h" + +#include "RimSummaryPlot.h" +#include "RimView.h" +#include "RimViewWindow.h" +#include "RimWellLogPlot.h" + +#include "RiuMainPlotWindow.h" +#include "RiuMainWindow.h" +#include "RiuSummaryQwtPlot.h" +#include "RiuWellLogPlot.h" + +#include +#include +#include + +CAF_CMD_SOURCE_INIT(RicViewZoomAllFeature, "RicViewZoomAllFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicViewZoomAllFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicViewZoomAllFeature::onActionTriggered(bool isChecked) +{ + QWidget* topLevelWidget = RiaApplication::activeWindow(); + + if (dynamic_cast(topLevelWidget)) + { + RimViewWindow* viewWindow = RiaApplication::instance()->activeReservoirView(); + viewWindow->zoomAll(); + } + else if (dynamic_cast(topLevelWidget)) + { + RiuMainPlotWindow* mainPlotWindow = dynamic_cast(topLevelWidget); + QList subwindows = mainPlotWindow->subWindowList(QMdiArea::StackingOrder); + if (subwindows.size() > 0) + { + RiuSummaryQwtPlot* summaryQwtPlot = dynamic_cast(subwindows.back()->widget()); + if (summaryQwtPlot) + { + RimViewWindow* viewWindow = summaryQwtPlot->ownerPlotDefinition(); + + viewWindow->zoomAll(); + summaryQwtPlot->replot(); + } + + RiuWellLogPlot* wellLogPlot = dynamic_cast(subwindows.back()->widget()); + if (wellLogPlot) + { + RimViewWindow* viewWindow = wellLogPlot->ownerPlotDefinition(); + viewWindow->zoomAll(); + wellLogPlot->update(); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicViewZoomAllFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Zoom All"); + actionToSetup->setIcon(QIcon(":/ZoomAll16x16.png")); +} + diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicViewZoomAllFeature.h b/ApplicationCode/Commands/SummaryPlotCommands/RicViewZoomAllFeature.h new file mode 100644 index 0000000000..c7a4a1a85e --- /dev/null +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicViewZoomAllFeature.h @@ -0,0 +1,36 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicViewZoomAllFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook(QAction* actionToSetup); +}; diff --git a/ApplicationCode/Commands/ToggleCommands/RicToggleItemsFeatureImpl.cpp b/ApplicationCode/Commands/ToggleCommands/RicToggleItemsFeatureImpl.cpp index dfcb311007..adcaa5b475 100644 --- a/ApplicationCode/Commands/ToggleCommands/RicToggleItemsFeatureImpl.cpp +++ b/ApplicationCode/Commands/ToggleCommands/RicToggleItemsFeatureImpl.cpp @@ -18,16 +18,25 @@ ///////////////////////////////////////////////////////////////////////////////// #include "RicToggleItemsFeatureImpl.h" -#include + +#include "RiuMainWindow.h" +#include "RiuMainPlotWindow.h" +#include "RiaApplication.h" + +#include "cafPdmUiFieldHandle.h" +#include "cafPdmUiItem.h" #include "cafPdmUiObjectHandle.h" +#include "cafPdmUiTreeOrdering.h" +#include "cafPdmUiTreeView.h" #include "cafSelectionManager.h" -#include "cafPdmUiItem.h" + #include -#include "RiuMainWindow.h" -#include "cafPdmUiTreeView.h" -#include "cafPdmUiTreeOrdering.h" -#include "cafPdmUiFieldHandle.h" +#include + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- bool RicToggleItemsFeatureImpl::isToggleCommandsAvailable() { std::vector selectedItems; @@ -35,8 +44,8 @@ bool RicToggleItemsFeatureImpl::isToggleCommandsAvailable() if (selectedItems.size() == 1) { - QModelIndex modIndex = RiuMainWindow::instance()->projectTreeView()->findModelIndex(selectedItems[0]); - caf::PdmUiTreeOrdering* treeItem = static_cast(modIndex.internalPointer()); + caf::PdmUiTreeOrdering* treeItem = findTreeItemFromSelectedUiItem(selectedItems[0]); + if (!treeItem) return false; for (int cIdx = 0; cIdx < treeItem->childCount(); ++ cIdx) @@ -72,6 +81,9 @@ bool RicToggleItemsFeatureImpl::isToggleCommandsAvailable() return false; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- bool RicToggleItemsFeatureImpl::isToggleCommandsForSubItems() { std::vector selectedItems; @@ -83,7 +95,6 @@ bool RicToggleItemsFeatureImpl::isToggleCommandsForSubItems() return false; } - //-------------------------------------------------------------------------------------------------- /// Set toggle state for list of model indices. //-------------------------------------------------------------------------------------------------- @@ -98,8 +109,9 @@ void RicToggleItemsFeatureImpl::setObjectToggleStateForSelection(SelectionToggle // We need to get the children through the tree view, because that is where the actually shown children is - QModelIndex modIndex = RiuMainWindow::instance()->projectTreeView()->findModelIndex(selectedItems[0]); - caf::PdmUiTreeOrdering* treeItem = reinterpret_cast(modIndex.internalPointer()); + caf::PdmUiTreeOrdering* treeItem = findTreeItemFromSelectedUiItem(selectedItems[0]); + + if (!treeItem) return; for (int cIdx = 0; cIdx < treeItem->childCount(); ++ cIdx) { @@ -114,13 +126,9 @@ void RicToggleItemsFeatureImpl::setObjectToggleStateForSelection(SelectionToggle { caf::PdmField* field = dynamic_cast*>(uiObjectHandleChild->objectToggleField()); - caf::PdmUiFieldHandle* uiFieldHandle = field->uiCapability(); - if (uiFieldHandle) - { - if (state == TOGGLE_ON) uiFieldHandle->setValueFromUi(true); - if (state == TOGGLE_OFF) uiFieldHandle->setValueFromUi(false); - if (state == TOGGLE_SUBITEMS) uiFieldHandle->setValueFromUi(!(field->v())); - } + if (state == TOGGLE_ON) field->setValueWithFieldChanged(true); + if (state == TOGGLE_OFF) field->setValueWithFieldChanged(false); + if (state == TOGGLE_SUBITEMS) field->setValueWithFieldChanged(!(field->v())); } } } @@ -134,17 +142,33 @@ void RicToggleItemsFeatureImpl::setObjectToggleStateForSelection(SelectionToggle { caf::PdmField* field = dynamic_cast* >(uiObjectHandle->objectToggleField()); - caf::PdmUiFieldHandle* uiFieldHandle = field->uiCapability(); - if (uiFieldHandle) + if (state == TOGGLE_ON) field->setValueWithFieldChanged(true); + if (state == TOGGLE_OFF) field->setValueWithFieldChanged(false); + if (state == TOGGLE_SUBITEMS || state == TOGGLE) { - if (state == TOGGLE_ON) uiFieldHandle->setValueFromUi(true); - if (state == TOGGLE_OFF) uiFieldHandle->setValueFromUi(false); - if (state == TOGGLE_SUBITEMS || state == TOGGLE) - { - uiFieldHandle->setValueFromUi(!(field->v())); - } + field->setValueWithFieldChanged(!(field->v())); } } } } } + +//-------------------------------------------------------------------------------------------------- +/// Finds the tree item in either the 3D main window or plot main window project tree view +//-------------------------------------------------------------------------------------------------- +caf::PdmUiTreeOrdering* RicToggleItemsFeatureImpl::findTreeItemFromSelectedUiItem(const caf::PdmUiItem* uiItem) +{ + QModelIndex modIndex = RiuMainWindow::instance()->projectTreeView()->findModelIndex(uiItem); + if(!modIndex.isValid()) + { + RiuMainPlotWindow* mainPlotWindow = RiaApplication::instance()->mainPlotWindow(); + if(mainPlotWindow) + { + modIndex = mainPlotWindow->projectTreeView()->findModelIndex(uiItem); + } + } + + caf::PdmUiTreeOrdering* treeItem = static_cast(modIndex.internalPointer()); + + return treeItem; +} diff --git a/ApplicationCode/Commands/ToggleCommands/RicToggleItemsFeatureImpl.h b/ApplicationCode/Commands/ToggleCommands/RicToggleItemsFeatureImpl.h index ed9688d64a..9190368529 100644 --- a/ApplicationCode/Commands/ToggleCommands/RicToggleItemsFeatureImpl.h +++ b/ApplicationCode/Commands/ToggleCommands/RicToggleItemsFeatureImpl.h @@ -19,6 +19,12 @@ #pragma once +namespace caf +{ + class PdmUiItem; + class PdmUiTreeOrdering; +}; + //================================================================================================== /// //================================================================================================== @@ -37,6 +43,8 @@ class RicToggleItemsFeatureImpl static bool isToggleCommandsAvailable(); static bool isToggleCommandsForSubItems(); static void setObjectToggleStateForSelection(SelectionToggleType state); - + +private: + static caf::PdmUiTreeOrdering* findTreeItemFromSelectedUiItem(const caf::PdmUiItem* uiItem); }; diff --git a/ApplicationCode/Commands/ViewLink/RicDeleteAllLinkedViewsFeature.cpp b/ApplicationCode/Commands/ViewLink/RicDeleteAllLinkedViewsFeature.cpp index 27f7ba8e11..318e096985 100644 --- a/ApplicationCode/Commands/ViewLink/RicDeleteAllLinkedViewsFeature.cpp +++ b/ApplicationCode/Commands/ViewLink/RicDeleteAllLinkedViewsFeature.cpp @@ -64,5 +64,6 @@ void RicDeleteAllLinkedViewsFeature::onActionTriggered(bool isChecked) void RicDeleteAllLinkedViewsFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("Delete All Linked Views"); + actionToSetup->setIcon(QIcon(":/Erase.png")); } diff --git a/ApplicationCode/Commands/ViewLink/RicLinkViewFeature.cpp b/ApplicationCode/Commands/ViewLink/RicLinkViewFeature.cpp index 0157de7d48..bd866b10a8 100644 --- a/ApplicationCode/Commands/ViewLink/RicLinkViewFeature.cpp +++ b/ApplicationCode/Commands/ViewLink/RicLinkViewFeature.cpp @@ -42,6 +42,11 @@ bool RicLinkViewFeature::isCommandEnabled() RimView* activeView = RiaApplication::instance()->activeReservoirView(); if (!activeView) return false; + RimProject* proj = RiaApplication::instance()->project(); + RimViewLinker* viewLinker = proj->viewLinkerCollection->viewLinker(); + + if(!viewLinker) return false; + RimViewController* viewController = activeView->viewController(); if(viewController) diff --git a/ApplicationCode/Commands/ViewLink/RicLinkVisibleViewsFeature.cpp b/ApplicationCode/Commands/ViewLink/RicLinkVisibleViewsFeature.cpp index d4b323fd0a..3549281b6e 100644 --- a/ApplicationCode/Commands/ViewLink/RicLinkVisibleViewsFeature.cpp +++ b/ApplicationCode/Commands/ViewLink/RicLinkVisibleViewsFeature.cpp @@ -32,7 +32,6 @@ #include "RiuMainWindow.h" #include "cafPdmUiPropertyViewDialog.h" -#include "cafPdmUiTreeView.h" #include #include @@ -171,7 +170,7 @@ void RicLinkVisibleViewsFeature::linkViews(std::vector& views) proj->viewLinkerCollection.uiCapability()->updateConnectedEditors(); proj->updateConnectedEditors(); - RiuMainWindow::instance()->projectTreeView()->setExpanded(proj->viewLinkerCollection(), true); + RiuMainWindow::instance()->setExpanded(proj->viewLinkerCollection(), true); } diff --git a/ApplicationCode/Commands/ViewLink/RicLinkVisibleViewsFeatureUi.cpp b/ApplicationCode/Commands/ViewLink/RicLinkVisibleViewsFeatureUi.cpp index 424bc34ae6..37f7470602 100644 --- a/ApplicationCode/Commands/ViewLink/RicLinkVisibleViewsFeatureUi.cpp +++ b/ApplicationCode/Commands/ViewLink/RicLinkVisibleViewsFeatureUi.cpp @@ -82,7 +82,7 @@ QList RicLinkVisibleViewsFeatureUi::calculateValueOption for (size_t i = 0; i < m_allViews.size(); i++) { RimCase* rimCase = NULL; - m_allViews[i]->firstAnchestorOrThisOfType(rimCase); + m_allViews[i]->firstAncestorOrThisOfType(rimCase); QIcon icon; if (rimCase) diff --git a/ApplicationCode/Commands/ViewLink/RicSetMasterViewFeature.cpp b/ApplicationCode/Commands/ViewLink/RicSetMasterViewFeature.cpp index 5f5609da7a..4d6d79fb79 100644 --- a/ApplicationCode/Commands/ViewLink/RicSetMasterViewFeature.cpp +++ b/ApplicationCode/Commands/ViewLink/RicSetMasterViewFeature.cpp @@ -20,14 +20,14 @@ #include "RicSetMasterViewFeature.h" #include "RiaApplication.h" + #include "RimProject.h" #include "RimView.h" #include "RimViewController.h" #include "RimViewLinker.h" #include "RimViewLinkerCollection.h" -#include "RiuMainWindow.h" -#include "cafPdmUiTreeView.h" +#include "RiuMainWindow.h" #include #include @@ -81,9 +81,8 @@ void RicSetMasterViewFeature::onActionTriggered(bool isChecked) proj->updateConnectedEditors(); // Set managed view collection to selected and expanded in project tree - caf::PdmUiTreeView* projTreeView = RiuMainWindow::instance()->projectTreeView(); - projTreeView->selectAsCurrentItem(viewLinker); - projTreeView->setExpanded(viewLinker, true); + RiuMainWindow::instance()->selectAsCurrentItem(viewLinker); + RiuMainWindow::instance()->setExpanded(viewLinker, true); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/Commands/ViewLink/RicShowAllLinkedViewsFeature.cpp b/ApplicationCode/Commands/ViewLink/RicShowAllLinkedViewsFeature.cpp index c7dec0cdda..2d41cc7e29 100644 --- a/ApplicationCode/Commands/ViewLink/RicShowAllLinkedViewsFeature.cpp +++ b/ApplicationCode/Commands/ViewLink/RicShowAllLinkedViewsFeature.cpp @@ -50,7 +50,7 @@ void RicShowAllLinkedViewsFeature::onActionTriggered(bool isChecked) for (size_t i = 0; i < managedViews.size(); i++) { RimViewLinker* rimLinked = NULL; - managedViews[i]->firstAnchestorOrThisOfType(rimLinked); + managedViews[i]->firstAncestorOrThisOfType(rimLinked); CVF_ASSERT(rimLinked); linkedViews.push_back(rimLinked); @@ -63,7 +63,7 @@ void RicShowAllLinkedViewsFeature::onActionTriggered(bool isChecked) for (size_t j = 0; j < views.size(); j++) { - views[j]->showWindow.uiCapability()->setValueFromUi(true); + views[j]->showWindow.setValueWithFieldChanged(true); views[j]->uiCapability()->updateUiIconFromToggleField(); } } diff --git a/ApplicationCode/Commands/WellLogCommands/CMakeLists_files.cmake b/ApplicationCode/Commands/WellLogCommands/CMakeLists_files.cmake index 0e351d6668..16c6d03451 100644 --- a/ApplicationCode/Commands/WellLogCommands/CMakeLists_files.cmake +++ b/ApplicationCode/Commands/WellLogCommands/CMakeLists_files.cmake @@ -15,6 +15,9 @@ ${CEE_CURRENT_LIST_DIR}RicWellLogPlotCurveFeatureImpl.h ${CEE_CURRENT_LIST_DIR}RicWellLogsImportFileFeature.h ${CEE_CURRENT_LIST_DIR}RicDeleteWellLogPlotTrackFeature.h ${CEE_CURRENT_LIST_DIR}RicWellLogPlotTrackFeatureImpl.h +${CEE_CURRENT_LIST_DIR}RicPasteWellLogCurveFeature.h +${CEE_CURRENT_LIST_DIR}RicPasteWellLogTrackFeature.h +${CEE_CURRENT_LIST_DIR}RicPasteWellLogPlotFeature.h ) set (SOURCE_GROUP_SOURCE_FILES @@ -28,6 +31,9 @@ ${CEE_CURRENT_LIST_DIR}RicWellLogPlotCurveFeatureImpl.cpp ${CEE_CURRENT_LIST_DIR}RicWellLogsImportFileFeature.cpp ${CEE_CURRENT_LIST_DIR}RicDeleteWellLogPlotTrackFeature.cpp ${CEE_CURRENT_LIST_DIR}RicWellLogPlotTrackFeatureImpl.cpp +${CEE_CURRENT_LIST_DIR}RicPasteWellLogCurveFeature.cpp +${CEE_CURRENT_LIST_DIR}RicPasteWellLogTrackFeature.cpp +${CEE_CURRENT_LIST_DIR}RicPasteWellLogPlotFeature.cpp ) list(APPEND CODE_HEADER_FILES diff --git a/ApplicationCode/Commands/WellLogCommands/RicAddWellLogToPlotFeature.cpp b/ApplicationCode/Commands/WellLogCommands/RicAddWellLogToPlotFeature.cpp index 2af17d75c9..52ea3a84e1 100644 --- a/ApplicationCode/Commands/WellLogCommands/RicAddWellLogToPlotFeature.cpp +++ b/ApplicationCode/Commands/WellLogCommands/RicAddWellLogToPlotFeature.cpp @@ -22,25 +22,24 @@ #include "RicWellLogPlotCurveFeatureImpl.h" #include "RicNewWellLogPlotFeatureImpl.h" +#include "RimMainPlotCollection.h" +#include "RimProject.h" #include "RimWellLogFile.h" #include "RimWellLogFileChannel.h" -#include "RimWellLogPlot.h" -#include "RimWellLogTrack.h" #include "RimWellLogFileCurve.h" -#include "RimProject.h" -#include "RimMainPlotCollection.h" +#include "RimWellLogPlot.h" #include "RimWellLogPlotCollection.h" +#include "RimWellLogTrack.h" #include "RimWellPath.h" #include "RimWellPathCollection.h" +#include "RiuMainPlotWindow.h" #include "RigWellLogFile.h" #include "RiaApplication.h" -#include "RiuMainWindow.h" #include "RiuWellLogTrack.h" #include "cafSelectionManager.h" -#include "cafPdmUiTreeView.h" #include @@ -79,10 +78,10 @@ void RicAddWellLogToPlotFeature::onActionTriggered(bool isChecked) RimWellLogFileChannel* wellLog = selection[wlIdx]; RimWellPath* wellPath = NULL; - wellLog->firstAnchestorOrThisOfType(wellPath); + wellLog->firstAncestorOrThisOfType(wellPath); RimWellLogFile* wellLogFile = NULL; - wellLog->firstAnchestorOrThisOfType(wellLogFile); + wellLog->firstAncestorOrThisOfType(wellLogFile); if (wellLogFile) { RimWellLogFileCurve* curve = new RimWellLogFileCurve; @@ -102,7 +101,7 @@ void RicAddWellLogToPlotFeature::onActionTriggered(bool isChecked) curve->setWellPath(wellPath); curve->setWellLogChannelName(wellLog->name()); - curve->updatePlotData(); + curve->loadDataAndUpdate(); } } @@ -110,9 +109,12 @@ void RicAddWellLogToPlotFeature::onActionTriggered(bool isChecked) plot->updateDepthZoom(); plotTrack->viewer()->replot(); + // Make sure the summary plot window is created and visible + RiuMainPlotWindow* plotwindow = RiaApplication::instance()->getOrCreateAndShowMainPlotWindow(); + RiaApplication::instance()->project()->updateConnectedEditors(); - RiuMainWindow::instance()->projectTreeView()->selectAsCurrentItem(selection.back()); + plotwindow->selectAsCurrentItem(selection.back()); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/Commands/WellLogCommands/RicDeleteWellLogPlotTrackFeature.cpp b/ApplicationCode/Commands/WellLogCommands/RicDeleteWellLogPlotTrackFeature.cpp index b86111d335..69eda4887d 100644 --- a/ApplicationCode/Commands/WellLogCommands/RicDeleteWellLogPlotTrackFeature.cpp +++ b/ApplicationCode/Commands/WellLogCommands/RicDeleteWellLogPlotTrackFeature.cpp @@ -40,7 +40,7 @@ bool RicDeleteWellLogPlotTrackFeature::isCommandEnabled() if (selection.size() > 0) { RimWellLogPlot* wellLogPlot = NULL; - selection[0]->firstAnchestorOrThisOfType(wellLogPlot); + selection[0]->firstAncestorOrThisOfType(wellLogPlot); if (wellLogPlot->trackCount() > 1) { return true; @@ -63,7 +63,7 @@ void RicDeleteWellLogPlotTrackFeature::onActionTriggered(bool isChecked) RimWellLogTrack* track = selection[i]; RimWellLogPlot* wellLogPlot = NULL; - track->firstAnchestorOrThisOfType(wellLogPlot); + track->firstAncestorOrThisOfType(wellLogPlot); if (wellLogPlot && wellLogPlot->trackCount() > 1) { wellLogPlot->removeTrack(track); @@ -83,4 +83,5 @@ void RicDeleteWellLogPlotTrackFeature::onActionTriggered(bool isChecked) void RicDeleteWellLogPlotTrackFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("Delete Track"); + actionToSetup->setIcon(QIcon(":/Erase.png")); } diff --git a/ApplicationCode/Commands/WellLogCommands/RicNewWellLogCurveExtractionFeature.cpp b/ApplicationCode/Commands/WellLogCommands/RicNewWellLogCurveExtractionFeature.cpp index 2b2d1ff1b3..29313041d0 100644 --- a/ApplicationCode/Commands/WellLogCommands/RicNewWellLogCurveExtractionFeature.cpp +++ b/ApplicationCode/Commands/WellLogCommands/RicNewWellLogCurveExtractionFeature.cpp @@ -29,8 +29,8 @@ #include "RimWellLogTrack.h" #include "RimWellPath.h" #include "RimWellPathCollection.h" +#include "RiuMainPlotWindow.h" -#include "RiuMainWindow.h" #include "RiaApplication.h" #include "cafSelectionManager.h" @@ -68,10 +68,10 @@ void RicNewWellLogCurveExtractionFeature::onActionTriggered(bool isChecked) RimWellLogTrack* wellLogPlotTrack = RicNewWellLogPlotFeatureImpl::createWellLogPlotTrack(); RimWellLogExtractionCurve* plotCurve = addCurve(wellLogPlotTrack, RiaApplication::instance()->activeReservoirView(), wellPath); - plotCurve->updatePlotData(); + plotCurve->loadDataAndUpdate(); RimWellLogPlot* plot = NULL; - wellLogPlotTrack->firstAnchestorOrThisOfType(plot); + wellLogPlotTrack->firstAncestorOrThisOfType(plot); if (plot && plotCurve->curveData()) { plot->setDepthUnit(plotCurve->curveData()->depthUnit()); @@ -88,6 +88,7 @@ void RicNewWellLogCurveExtractionFeature::onActionTriggered(bool isChecked) void RicNewWellLogCurveExtractionFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("New Well Log Extraction Curve"); + actionToSetup->setIcon(QIcon(":/WellLogCurve16x16.png")); } //-------------------------------------------------------------------------------------------------- @@ -136,7 +137,13 @@ RimWellLogExtractionCurve* RicNewWellLogCurveExtractionFeature::addCurve(RimWell plotTrack->addCurve(curve); plotTrack->updateConnectedEditors(); - RiuMainWindow::instance()->selectAsCurrentItem(curve); + + // Make sure the summary plot window is created and visible + RiuMainPlotWindow* plotwindow = RiaApplication::instance()->getOrCreateAndShowMainPlotWindow(); + + RiaApplication::instance()->project()->updateConnectedEditors(); + + plotwindow->selectAsCurrentItem(curve); return curve; } diff --git a/ApplicationCode/Commands/WellLogCommands/RicNewWellLogFileCurveFeature.cpp b/ApplicationCode/Commands/WellLogCommands/RicNewWellLogFileCurveFeature.cpp index d0d47f1bbd..d9600de73d 100644 --- a/ApplicationCode/Commands/WellLogCommands/RicNewWellLogFileCurveFeature.cpp +++ b/ApplicationCode/Commands/WellLogCommands/RicNewWellLogFileCurveFeature.cpp @@ -22,17 +22,17 @@ #include "RicWellLogPlotCurveFeatureImpl.h" #include "RicNewWellLogPlotFeatureImpl.h" -#include "RimWellLogFileCurve.h" -#include "RimWellLogTrack.h" +#include "RiaApplication.h" + +#include "RimOilField.h" +#include "RimProject.h" #include "RimWellLogFile.h" #include "RimWellLogFileChannel.h" +#include "RimWellLogFileCurve.h" +#include "RimWellLogTrack.h" #include "RimWellPath.h" #include "RimWellPathCollection.h" -#include "RimProject.h" -#include "RimOilField.h" - -#include "RiuMainWindow.h" -#include "RiaApplication.h" +#include "RiuMainPlotWindow.h" #include "cafSelectionManager.h" @@ -152,7 +152,8 @@ RimWellLogFileCurve* RicNewWellLogFileCurveFeature::addCurve(RimWellLogTrack* pl plotTrack->updateConnectedEditors(); - RiuMainWindow::instance()->selectAsCurrentItem(curve); + RiuMainPlotWindow* plotwindow = RiaApplication::instance()->getOrCreateAndShowMainPlotWindow(); + plotwindow->selectAsCurrentItem(curve); return curve; } @@ -167,12 +168,12 @@ void RicNewWellLogFileCurveFeature::addWellLogChannelsToPlotTrack(RimWellLogTrac RimWellLogFileCurve* plotCurve = addCurve(plotTrack); RimWellPath* wellPath; - wellLogFileChannels[cIdx]->firstAnchestorOrThisOfType(wellPath); + wellLogFileChannels[cIdx]->firstAncestorOrThisOfType(wellPath); if (wellPath) { plotCurve->setWellPath(wellPath); plotCurve->setWellLogChannelName(wellLogFileChannels[cIdx]->name()); - plotCurve->updatePlotData(); + plotCurve->loadDataAndUpdate(); plotCurve->updateConnectedEditors(); } } diff --git a/ApplicationCode/Commands/WellLogCommands/RicNewWellLogPlotFeature.cpp b/ApplicationCode/Commands/WellLogCommands/RicNewWellLogPlotFeature.cpp index 484664d25f..a743d82381 100644 --- a/ApplicationCode/Commands/WellLogCommands/RicNewWellLogPlotFeature.cpp +++ b/ApplicationCode/Commands/WellLogCommands/RicNewWellLogPlotFeature.cpp @@ -60,4 +60,5 @@ void RicNewWellLogPlotFeature::onActionTriggered(bool isChecked) void RicNewWellLogPlotFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("New Well Log Plot"); + actionToSetup->setIcon(QIcon(":/WellLogPlot16x16.png")); } diff --git a/ApplicationCode/Commands/WellLogCommands/RicNewWellLogPlotFeatureImpl.cpp b/ApplicationCode/Commands/WellLogCommands/RicNewWellLogPlotFeatureImpl.cpp index 37164504b9..812cd4e4ae 100644 --- a/ApplicationCode/Commands/WellLogCommands/RicNewWellLogPlotFeatureImpl.cpp +++ b/ApplicationCode/Commands/WellLogCommands/RicNewWellLogPlotFeatureImpl.cpp @@ -41,6 +41,9 @@ RimWellLogPlot* RicNewWellLogPlotFeatureImpl::createWellLogPlot() RimWellLogPlot* plot = new RimWellLogPlot(); wellLogPlotColl->wellLogPlots().push_back(plot); + // Make sure the summary plot window is created and visible + RiuMainPlotWindow* plotwindow = RiaApplication::instance()->getOrCreateAndShowMainPlotWindow(); + plot->setDescription(QString("Well Log Plot %1").arg(wellLogPlotCollection()->wellLogPlots.size())); return plot; diff --git a/ApplicationCode/Commands/WellLogCommands/RicNewWellLogPlotTrackFeature.cpp b/ApplicationCode/Commands/WellLogCommands/RicNewWellLogPlotTrackFeature.cpp index 56fc5b51a7..9305391788 100644 --- a/ApplicationCode/Commands/WellLogCommands/RicNewWellLogPlotTrackFeature.cpp +++ b/ApplicationCode/Commands/WellLogCommands/RicNewWellLogPlotTrackFeature.cpp @@ -22,8 +22,6 @@ #include "RimWellLogPlot.h" #include "RimWellLogTrack.h" -#include "RiuMainWindow.h" - #include "RicNewWellLogCurveExtractionFeature.h" #include "cafSelectionManager.h" diff --git a/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogCurveFeature.cpp b/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogCurveFeature.cpp new file mode 100644 index 0000000000..407d005c55 --- /dev/null +++ b/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogCurveFeature.cpp @@ -0,0 +1,132 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicPasteWellLogCurveFeature.h" + +#include "OperationsUsingObjReferences/RicPasteFeatureImpl.h" + +#include "RimWellLogCurve.h" +#include "RimWellLogExtractionCurve.h" +#include "RimWellLogFileCurve.h" +#include "RimWellLogTrack.h" + +#include "cafPdmObjectGroup.h" +#include "cafPdmObjectHandle.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + + +CAF_CMD_SOURCE_INIT(RicPasteWellLogCurveFeature, "RicPasteWellLogCurveFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicPasteWellLogCurveFeature::isCommandEnabled() +{ + caf::PdmObjectHandle* destinationObject = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + + RimWellLogTrack* wellLogTrack = nullptr; + destinationObject->firstAncestorOrThisOfType(wellLogTrack); + if (!wellLogTrack) + { + return false; + } + + return RicPasteWellLogCurveFeature::curves().size() > 0; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicPasteWellLogCurveFeature::onActionTriggered(bool isChecked) +{ + caf::PdmObjectHandle* destinationObject = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + + RimWellLogTrack* wellLogTrack = nullptr; + destinationObject->firstAncestorOrThisOfType(wellLogTrack); + if (!wellLogTrack) + { + return; + } + + std::vector > sourceObjects = RicPasteWellLogCurveFeature::curves(); + + for (size_t i = 0; i < sourceObjects.size(); i++) + { + RimWellLogFileCurve* fileCurve = dynamic_cast(sourceObjects[i].p()); + if (fileCurve) + { + RimWellLogFileCurve* newObject = dynamic_cast(sourceObjects[i]->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance())); + CVF_ASSERT(newObject); + + wellLogTrack->addCurve(newObject); + + // Resolve references after object has been inserted into the project data model + newObject->resolveReferencesRecursively(); + newObject->initAfterReadRecursively(); + + newObject->loadDataAndUpdate(); + + wellLogTrack->updateConnectedEditors(); + } + + RimWellLogExtractionCurve* extractionCurve = dynamic_cast(sourceObjects[i].p()); + if (extractionCurve) + { + RimWellLogExtractionCurve* newObject = dynamic_cast(sourceObjects[i]->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance())); + CVF_ASSERT(newObject); + + wellLogTrack->addCurve(newObject); + + // Resolve references after object has been inserted into the project data model + newObject->resolveReferencesRecursively(); + newObject->initAfterReadRecursively(); + + newObject->loadDataAndUpdate(); + + wellLogTrack->updateConnectedEditors(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicPasteWellLogCurveFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Paste Well Log Curve"); + + RicPasteFeatureImpl::setIconAndShortcuts(actionToSetup); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector > RicPasteWellLogCurveFeature::curves() +{ + caf::PdmObjectGroup objectGroup; + RicPasteFeatureImpl::findObjectsFromClipboardRefs(&objectGroup); + + std::vector > typedObjects; + objectGroup.objectsByType(&typedObjects); + + return typedObjects; +} diff --git a/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogCurveFeature.h b/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogCurveFeature.h new file mode 100644 index 0000000000..f25950cdd6 --- /dev/null +++ b/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogCurveFeature.h @@ -0,0 +1,43 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" +#include "cafPdmPointer.h" + +#include + +class RimWellLogCurve; + +//================================================================================================== +/// +//================================================================================================== +class RicPasteWellLogCurveFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; + +private: + static std::vector > curves(); +}; diff --git a/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogPlotFeature.cpp b/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogPlotFeature.cpp new file mode 100644 index 0000000000..ef67d2ded2 --- /dev/null +++ b/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogPlotFeature.cpp @@ -0,0 +1,116 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicPasteWellLogPlotFeature.h" + +#include "OperationsUsingObjReferences/RicPasteFeatureImpl.h" + +#include "RimWellLogPlot.h" +#include "RimWellLogPlotCollection.h" + +#include "cafPdmObjectGroup.h" +#include "cafPdmObjectHandle.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + + +CAF_CMD_SOURCE_INIT(RicPasteWellLogPlotFeature, "RicPasteWellLogPlotFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicPasteWellLogPlotFeature::isCommandEnabled() +{ + caf::PdmObjectHandle* destinationObject = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + + RimWellLogPlotCollection* wellLogPlotCollection = nullptr; + destinationObject->firstAncestorOrThisOfType(wellLogPlotCollection); + if (!wellLogPlotCollection) + { + return false; + } + + return RicPasteWellLogPlotFeature::plots().size() > 0; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicPasteWellLogPlotFeature::onActionTriggered(bool isChecked) +{ + caf::PdmObjectHandle* destinationObject = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + + RimWellLogPlotCollection* wellLogPlotCollection = nullptr; + destinationObject->firstAncestorOrThisOfType(wellLogPlotCollection); + if (!wellLogPlotCollection) + { + return; + } + + std::vector > sourceObjects = RicPasteWellLogPlotFeature::plots(); + + for (size_t i = 0; i < sourceObjects.size(); i++) + { + RimWellLogPlot* fileCurve = sourceObjects[i]; + if (fileCurve) + { + RimWellLogPlot* newObject = dynamic_cast(fileCurve->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance())); + CVF_ASSERT(newObject); + + wellLogPlotCollection->wellLogPlots.push_back(newObject); + + // Resolve references after object has been inserted into the project data model + newObject->resolveReferencesRecursively(); + newObject->initAfterReadRecursively(); + + QString description = "Copy of " + newObject->description(); + newObject->setDescription(description); + + newObject->loadDataAndUpdate(); + + wellLogPlotCollection->updateConnectedEditors(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicPasteWellLogPlotFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Paste Well Log Plot"); + + RicPasteFeatureImpl::setIconAndShortcuts(actionToSetup); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector > RicPasteWellLogPlotFeature::plots() +{ + caf::PdmObjectGroup objectGroup; + RicPasteFeatureImpl::findObjectsFromClipboardRefs(&objectGroup); + + std::vector > typedObjects; + objectGroup.objectsByType(&typedObjects); + + return typedObjects; +} diff --git a/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogPlotFeature.h b/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogPlotFeature.h new file mode 100644 index 0000000000..25f4e1e752 --- /dev/null +++ b/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogPlotFeature.h @@ -0,0 +1,43 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" +#include "cafPdmPointer.h" + +#include + +class RimWellLogPlot; + +//================================================================================================== +/// +//================================================================================================== +class RicPasteWellLogPlotFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; + +private: + static std::vector > plots(); +}; diff --git a/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogTrackFeature.cpp b/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogTrackFeature.cpp new file mode 100644 index 0000000000..5fca1fa762 --- /dev/null +++ b/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogTrackFeature.cpp @@ -0,0 +1,113 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicPasteWellLogTrackFeature.h" + +#include "OperationsUsingObjReferences/RicPasteFeatureImpl.h" + +#include "RimWellLogPlot.h" +#include "RimWellLogTrack.h" + +#include "cafPdmObjectGroup.h" +#include "cafPdmObjectHandle.h" +#include "cafSelectionManager.h" + +#include "cvfAssert.h" + +#include + + +CAF_CMD_SOURCE_INIT(RicPasteWellLogTrackFeature, "RicPasteWellLogTrackFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicPasteWellLogTrackFeature::isCommandEnabled() +{ + caf::PdmObjectHandle* destinationObject = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + + RimWellLogPlot* wellLogPlot = nullptr; + destinationObject->firstAncestorOrThisOfType(wellLogPlot); + if (!wellLogPlot) + { + return false; + } + + return RicPasteWellLogTrackFeature::tracks().size() > 0; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicPasteWellLogTrackFeature::onActionTriggered(bool isChecked) +{ + caf::PdmObjectHandle* destinationObject = dynamic_cast(caf::SelectionManager::instance()->selectedItem()); + + RimWellLogPlot* wellLogPlot = nullptr; + destinationObject->firstAncestorOrThisOfType(wellLogPlot); + if (!wellLogPlot) + { + return; + } + + std::vector > sourceObjects = RicPasteWellLogTrackFeature::tracks(); + + for (size_t i = 0; i < sourceObjects.size(); i++) + { + RimWellLogTrack* fileCurve = sourceObjects[i]; + if (fileCurve) + { + RimWellLogTrack* newObject = dynamic_cast(fileCurve->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance())); + CVF_ASSERT(newObject); + + wellLogPlot->addTrack(newObject); + + // Resolve references after object has been inserted into the project data model + newObject->resolveReferencesRecursively(); + newObject->initAfterReadRecursively(); + + newObject->loadDataAndUpdate(); + + wellLogPlot->updateConnectedEditors(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicPasteWellLogTrackFeature::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Paste Well Log Track"); + + RicPasteFeatureImpl::setIconAndShortcuts(actionToSetup); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector > RicPasteWellLogTrackFeature::tracks() +{ + caf::PdmObjectGroup objectGroup; + RicPasteFeatureImpl::findObjectsFromClipboardRefs(&objectGroup); + + std::vector > typedObjects; + objectGroup.objectsByType(&typedObjects); + + return typedObjects; +} diff --git a/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogTrackFeature.h b/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogTrackFeature.h new file mode 100644 index 0000000000..56dd6fe954 --- /dev/null +++ b/ApplicationCode/Commands/WellLogCommands/RicPasteWellLogTrackFeature.h @@ -0,0 +1,43 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" +#include "cafPdmPointer.h" + +#include + +class RimWellLogTrack; + +//================================================================================================== +/// +//================================================================================================== +class RicPasteWellLogTrackFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled() override; + virtual void onActionTriggered( bool isChecked ) override; + virtual void setupActionLook( QAction* actionToSetup ) override; + +private: + static std::vector > tracks(); +}; diff --git a/ApplicationCode/Commands/WellLogCommands/RicWellLogPlotTrackFeatureImpl.cpp b/ApplicationCode/Commands/WellLogCommands/RicWellLogPlotTrackFeatureImpl.cpp index 4184bfcc00..65ae5e5ea2 100644 --- a/ApplicationCode/Commands/WellLogCommands/RicWellLogPlotTrackFeatureImpl.cpp +++ b/ApplicationCode/Commands/WellLogCommands/RicWellLogPlotTrackFeatureImpl.cpp @@ -19,13 +19,12 @@ #include "RicWellLogPlotTrackFeatureImpl.h" +#include "RimWellLogCurve.h" #include "RimWellLogPlot.h" #include "RimWellLogTrack.h" -#include "RimWellLogCurve.h" -#include "RiuMainWindow.h" +#include "cvfAssert.h" -#include "cafPdmUiTreeView.h" //-------------------------------------------------------------------------------------------------- /// @@ -44,14 +43,14 @@ void RicWellLogPlotTrackFeatureImpl::moveCurvesToWellLogPlotTrack(RimWellLogTrac RimWellLogCurve* curve = curves[cIdx]; RimWellLogTrack* wellLogPlotTrack; - curve->firstAnchestorOrThisOfType(wellLogPlotTrack); + curve->firstAncestorOrThisOfType(wellLogPlotTrack); if (wellLogPlotTrack) { wellLogPlotTrack->removeCurve(curve); wellLogPlotTrack->updateConnectedEditors(); srcTracks.insert(wellLogPlotTrack); RimWellLogPlot* plot; - wellLogPlotTrack->firstAnchestorOrThisOfType(plot); + wellLogPlotTrack->firstAncestorOrThisOfType(plot); if (plot) srcPlots.insert(plot); } } @@ -71,11 +70,11 @@ void RicWellLogPlotTrackFeatureImpl::moveCurvesToWellLogPlotTrack(RimWellLogTrac for (std::set::iterator tIt = srcTracks.begin(); tIt != srcTracks.end(); ++tIt) { - (*tIt)->zoomAllXAndZoomAllDepthOnOwnerPlot(); + (*tIt)->updateXZoomAndParentPlotDepthZoom(); } destTrack->loadDataAndUpdate(); - destTrack->zoomAllXAndZoomAllDepthOnOwnerPlot(); + destTrack->updateXZoomAndParentPlotDepthZoom(); destTrack->updateConnectedEditors(); } @@ -95,7 +94,7 @@ void RicWellLogPlotTrackFeatureImpl::moveTracksToWellLogPlot(RimWellLogPlot* dst RimWellLogTrack* track = tracksToMove[tIdx]; RimWellLogPlot* srcPlot; - track->firstAnchestorOrThisOfType(srcPlot); + track->firstAncestorOrThisOfType(srcPlot); if (srcPlot) { srcPlot->removeTrack(track); diff --git a/ApplicationCode/Commands/WellLogCommands/RicWellLogsImportFileFeature.cpp b/ApplicationCode/Commands/WellLogCommands/RicWellLogsImportFileFeature.cpp index 6accc87f16..bdbdef20ef 100644 --- a/ApplicationCode/Commands/WellLogCommands/RicWellLogsImportFileFeature.cpp +++ b/ApplicationCode/Commands/WellLogCommands/RicWellLogsImportFileFeature.cpp @@ -46,13 +46,13 @@ void RicWellLogsImportFileFeature::onActionTriggered(bool isChecked) { // Open dialog box to select well path files RiaApplication* app = RiaApplication::instance(); - QString defaultDir = app->defaultFileDialogDirectory("WELL_LOGS_DIR"); + QString defaultDir = app->lastUsedDialogDirectory("WELL_LOGS_DIR"); QStringList wellLogFilePaths = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Import Well Logs", defaultDir, "Well Logs (*.las);;All Files (*.*)"); if (wellLogFilePaths.size() < 1) return; // Remember the path to next time - app->setDefaultFileDialogDirectory("WELL_LOGS_DIR", QFileInfo(wellLogFilePaths.last()).absolutePath()); + app->setLastUsedDialogDirectory("WELL_LOGS_DIR", QFileInfo(wellLogFilePaths.last()).absolutePath()); app->addWellLogsToModel(wellLogFilePaths); } diff --git a/ApplicationCode/Commands/WellPathCommands/RicWellPathDeleteFeature.cpp b/ApplicationCode/Commands/WellPathCommands/RicWellPathDeleteFeature.cpp index db4035373e..42a1636946 100644 --- a/ApplicationCode/Commands/WellPathCommands/RicWellPathDeleteFeature.cpp +++ b/ApplicationCode/Commands/WellPathCommands/RicWellPathDeleteFeature.cpp @@ -61,7 +61,7 @@ void RicWellPathDeleteFeature::onActionTriggered(bool isChecked) RimWellPath* wellPath = objects[0]; RimWellPathCollection* wellPathCollection = NULL; - wellPath->firstAnchestorOrThisOfType(wellPathCollection); + wellPath->firstAncestorOrThisOfType(wellPathCollection); wellPathCollection->removeWellPath(wellPath);; delete wellPath; @@ -76,6 +76,7 @@ void RicWellPathDeleteFeature::onActionTriggered(bool isChecked) void RicWellPathDeleteFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("Delete Well Path"); + actionToSetup->setIcon(QIcon(":/Erase.png")); } } // end namespace caf diff --git a/ApplicationCode/Commands/WellPathCommands/RicWellPathViewerEventHandler.cpp b/ApplicationCode/Commands/WellPathCommands/RicWellPathViewerEventHandler.cpp index 84b5c45229..8201802b0e 100644 --- a/ApplicationCode/Commands/WellPathCommands/RicWellPathViewerEventHandler.cpp +++ b/ApplicationCode/Commands/WellPathCommands/RicWellPathViewerEventHandler.cpp @@ -24,10 +24,13 @@ #include "RimCase.h" #include "RimView.h" #include "RimWellPath.h" + #include "RiuMainWindow.h" #include "RivWellPathSourceInfo.h" +#include "cafDisplayCoordTransform.h" + #include "cvfPart.h" #include "cvfVector3.h" @@ -56,21 +59,14 @@ bool RicWellPathViewerEventHandler::handleEvent(cvf::Object* eventObject) { cvf::Vec3d displayModelOffset = cvf::Vec3d::ZERO; - RimView* activeView = RiaApplication::instance()->activeReservoirView(); - if (!activeView) return false; - - RimCase* rimCase = NULL; - activeView->firstAnchestorOrThisOfType(rimCase); - if (rimCase) - { - displayModelOffset = rimCase->displayModelOffset(); - } + RimView* rimView = RiaApplication::instance()->activeReservoirView(); + if (!rimView) return false; - cvf::Vec3d unscaledIntersection = uiEvent->localIntersectionPoint; - unscaledIntersection.z() /= activeView->scaleZ; + cvf::ref transForm = rimView->displayCoordTransform(); + cvf::Vec3d domainCoord = transForm->transformToDomainCoord(uiEvent->globalIntersectionPoint); - double measuredDepth = wellPathSourceInfo->measuredDepth(uiEvent->firstPartTriangleIndex, unscaledIntersection + displayModelOffset); - cvf::Vec3d trueVerticalDepth = wellPathSourceInfo->trueVerticalDepth(uiEvent->firstPartTriangleIndex, unscaledIntersection + displayModelOffset); + double measuredDepth = wellPathSourceInfo->measuredDepth(uiEvent->firstPartTriangleIndex, domainCoord); + cvf::Vec3d trueVerticalDepth = wellPathSourceInfo->trueVerticalDepth(uiEvent->firstPartTriangleIndex, domainCoord); QString wellPathText; wellPathText += QString("Well path name : %1\n").arg(wellPathSourceInfo->wellPath()->name); diff --git a/ApplicationCode/Commands/WellPathCommands/RicWellPathsDeleteAllFeature.cpp b/ApplicationCode/Commands/WellPathCommands/RicWellPathsDeleteAllFeature.cpp index 4459bd0b43..0d22d4a594 100644 --- a/ApplicationCode/Commands/WellPathCommands/RicWellPathsDeleteAllFeature.cpp +++ b/ApplicationCode/Commands/WellPathCommands/RicWellPathsDeleteAllFeature.cpp @@ -69,7 +69,7 @@ void RicWellPathsDeleteAllFeature::onActionTriggered(bool isChecked) void RicWellPathsDeleteAllFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("Delete All Well Paths"); - //actionToSetup->setIcon(QIcon(":/WellCollection.png")); + actionToSetup->setIcon(QIcon(":/Erase.png")); } } // end namespace caf diff --git a/ApplicationCode/Commands/WellPathCommands/RicWellPathsImportFileFeature.cpp b/ApplicationCode/Commands/WellPathCommands/RicWellPathsImportFileFeature.cpp index 28d13b1ca4..f94a3c0a4d 100644 --- a/ApplicationCode/Commands/WellPathCommands/RicWellPathsImportFileFeature.cpp +++ b/ApplicationCode/Commands/WellPathCommands/RicWellPathsImportFileFeature.cpp @@ -46,13 +46,13 @@ void RicWellPathsImportFileFeature::onActionTriggered(bool isChecked) { // Open dialog box to select well path files RiaApplication* app = RiaApplication::instance(); - QString defaultDir = app->defaultFileDialogDirectory("WELLPATH_DIR"); + QString defaultDir = app->lastUsedDialogDirectory("WELLPATH_DIR"); QStringList wellPathFilePaths = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Import Well Paths", defaultDir, "Well Paths (*.json *.asc *.asci *.ascii *.dev);;All Files (*.*)"); if (wellPathFilePaths.size() < 1) return; // Remember the path to next time - app->setDefaultFileDialogDirectory("WELLPATH_DIR", QFileInfo(wellPathFilePaths.last()).absolutePath()); + app->setLastUsedDialogDirectory("WELLPATH_DIR", QFileInfo(wellPathFilePaths.last()).absolutePath()); app->addWellPathsToModel(wellPathFilePaths); if (app->project()) diff --git a/ApplicationCode/FileInterface/CMakeLists_files.cmake b/ApplicationCode/FileInterface/CMakeLists_files.cmake index 2e7a6a4c61..f4620e1bfb 100644 --- a/ApplicationCode/FileInterface/CMakeLists_files.cmake +++ b/ApplicationCode/FileInterface/CMakeLists_files.cmake @@ -9,13 +9,17 @@ ${CEE_CURRENT_LIST_DIR}RifEclipseInputFileTools.h ${CEE_CURRENT_LIST_DIR}RifEclipseOutputFileTools.h ${CEE_CURRENT_LIST_DIR}RifEclipseRestartDataAccess.h ${CEE_CURRENT_LIST_DIR}RifEclipseRestartFilesetAccess.h +${CEE_CURRENT_LIST_DIR}RifEclipseSummaryTools.h ${CEE_CURRENT_LIST_DIR}RifEclipseUnifiedRestartFileAccess.h ${CEE_CURRENT_LIST_DIR}RifReaderEclipseInput.h ${CEE_CURRENT_LIST_DIR}RifReaderEclipseOutput.h +${CEE_CURRENT_LIST_DIR}RifReaderEclipseSummary.h ${CEE_CURRENT_LIST_DIR}RifJsonEncodeDecode.h ${CEE_CURRENT_LIST_DIR}RifReaderInterface.h ${CEE_CURRENT_LIST_DIR}RifReaderMockModel.h ${CEE_CURRENT_LIST_DIR}RifReaderSettings.h +${CEE_CURRENT_LIST_DIR}RifEclipseSummaryAddress.h +${CEE_CURRENT_LIST_DIR}RifReaderOpmParserInput.h ) set (SOURCE_GROUP_SOURCE_FILES @@ -24,12 +28,16 @@ ${CEE_CURRENT_LIST_DIR}RifEclipseOutputFileTools.cpp ${CEE_CURRENT_LIST_DIR}RifEclipseRestartDataAccess.cpp ${CEE_CURRENT_LIST_DIR}RifEclipseRestartFilesetAccess.cpp ${CEE_CURRENT_LIST_DIR}RifEclipseUnifiedRestartFileAccess.cpp +${CEE_CURRENT_LIST_DIR}RifEclipseSummaryTools.cpp ${CEE_CURRENT_LIST_DIR}RifReaderEclipseInput.cpp ${CEE_CURRENT_LIST_DIR}RifReaderEclipseOutput.cpp +${CEE_CURRENT_LIST_DIR}RifReaderEclipseSummary.cpp ${CEE_CURRENT_LIST_DIR}RifJsonEncodeDecode.cpp ${CEE_CURRENT_LIST_DIR}RifReaderInterface.cpp ${CEE_CURRENT_LIST_DIR}RifReaderMockModel.cpp ${CEE_CURRENT_LIST_DIR}RifReaderSettings.cpp +${CEE_CURRENT_LIST_DIR}RifEclipseSummaryAddress.cpp +${CEE_CURRENT_LIST_DIR}RifReaderOpmParserInput.cpp ) list(APPEND CODE_HEADER_FILES diff --git a/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp b/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp index 7131355278..223952d74d 100644 --- a/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp +++ b/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp @@ -38,86 +38,16 @@ #include #include -#include "ecl_grid.h" -#include "util.h" -#include "well_state.h" - +#include "ert/ecl/ecl_box.h" +#include "ert/ecl/ecl_kw.h" QString includeKeyword("INCLUDE"); QString faultsKeyword("FAULTS"); QString editKeyword("EDIT"); QString gridKeyword("GRID"); +QString pathsKeyword("PATHS"); -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -size_t findOrCreateResult(const QString& newResultName, RigCaseData* reservoir) -{ - size_t resultIndex = reservoir->results(RifReaderInterface::MATRIX_RESULTS)->findScalarResultIndex(newResultName); - if (resultIndex == cvf::UNDEFINED_SIZE_T) - { - resultIndex = reservoir->results(RifReaderInterface::MATRIX_RESULTS)->addEmptyScalarResult(RimDefines::INPUT_PROPERTY, newResultName, false); - } - - return resultIndex; -} - - -//-------------------------------------------------------------------------------------------------- -/// Read all double values from input file. To reduce memory footprint, the alternative method -/// readDoubleValuesForActiveCells() can be used, and will skip all cell values for inactive cells -//-------------------------------------------------------------------------------------------------- -bool readDoubleValues(RigCaseData* reservoir, size_t resultIndex, ecl_kw_type* eclKeyWordData) -{ - if (resultIndex == cvf::UNDEFINED_SIZE_T) return false; - - std::vector< std::vector >& newPropertyData = reservoir->results(RifReaderInterface::MATRIX_RESULTS)->cellScalarResults(resultIndex); - newPropertyData.push_back(std::vector()); - newPropertyData[0].resize(ecl_kw_get_size(eclKeyWordData), HUGE_VAL); - ecl_kw_get_data_as_double(eclKeyWordData, newPropertyData[0].data()); - - return true; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -bool readDoubleValuesForActiveCells(RigCaseData* reservoir, size_t resultIndex, ecl_kw_type* eclKeyWordData) -{ - if (resultIndex == cvf::UNDEFINED_SIZE_T) return false; - - std::vector< std::vector >& newPropertyData = reservoir->results(RifReaderInterface::MATRIX_RESULTS)->cellScalarResults(resultIndex); - newPropertyData.push_back(std::vector()); - - RigActiveCellInfo* activeCellInfo = reservoir->activeCellInfo(RifReaderInterface::MATRIX_RESULTS); - if (activeCellInfo->reservoirCellCount() > 0 && activeCellInfo->reservoirCellCount() != activeCellInfo->reservoirActiveCellCount()) - { - std::vector valuesAllCells; - valuesAllCells.resize(ecl_kw_get_size(eclKeyWordData), HUGE_VAL); - ecl_kw_get_data_as_double(eclKeyWordData, valuesAllCells.data()); - - newPropertyData[0].resize(activeCellInfo->reservoirActiveCellCount(), HUGE_VAL); - std::vector& valuesActiveCells = newPropertyData[0]; - - for (size_t gcIdx = 0; gcIdx < activeCellInfo->reservoirCellCount(); gcIdx++) - { - size_t activeCellResultIndex = activeCellInfo->cellResultIndex(gcIdx); - if (activeCellResultIndex != cvf::UNDEFINED_SIZE_T) - { - valuesActiveCells[activeCellResultIndex] = valuesAllCells[gcIdx]; - } - } - } - else - { - newPropertyData[0].resize(ecl_kw_get_size(eclKeyWordData), HUGE_VAL); - ecl_kw_get_data_as_double(eclKeyWordData, newPropertyData[0].data()); - } - - return true; -} - //-------------------------------------------------------------------------------------------------- /// Constructor @@ -145,7 +75,7 @@ bool RifEclipseInputFileTools::openGridFile(const QString& fileName, RigCaseData CVF_ASSERT(eclipseCase); std::vector< RifKeywordAndFilePos > keywordsAndFilePos; - findKeywordsOnFile(fileName, keywordsAndFilePos); + findKeywordsOnFile(fileName, &keywordsAndFilePos); qint64 coordPos = -1; qint64 zcornPos = -1; @@ -243,7 +173,7 @@ bool RifEclipseInputFileTools::openGridFile(const QString& fileName, RigCaseData if (readFaultData) { cvf::Collection faults; - RifEclipseInputFileTools::readFaults(fileName, faults, keywordsAndFilePos); + RifEclipseInputFileTools::readFaults(fileName, keywordsAndFilePos, &faults); RigMainGrid* mainGrid = eclipseCase->mainGrid(); mainGrid->setFaults(faults); @@ -269,21 +199,14 @@ bool RifEclipseInputFileTools::openGridFile(const QString& fileName, RigCaseData //-------------------------------------------------------------------------------------------------- /// Read known properties from the input file //-------------------------------------------------------------------------------------------------- -std::map RifEclipseInputFileTools::readProperties(const QString &fileName, RigCaseData* caseData) +std::map RifEclipseInputFileTools::readProperties(const QString& fileName, RigCaseData* caseData) { CVF_ASSERT(caseData); - std::set knownKeywordSet; - { - const std::vector& knownKeywords = RifEclipseInputFileTools::knownPropertyKeywords(); - for( size_t fkIt = 0; fkIt < knownKeywords.size(); ++fkIt) knownKeywordSet.insert(knownKeywords[fkIt]); - } - caf::ProgressInfo mainProgress(2, "Reading Eclipse Input properties"); - caf::ProgressInfo startProgress(knownKeywordSet.size(), "Scanning for known properties"); std::vector fileKeywords; - RifEclipseInputFileTools::findKeywordsOnFile(fileName, fileKeywords); + RifEclipseInputFileTools::findKeywordsOnFile(fileName, &fileKeywords); mainProgress.setProgress(1); caf::ProgressInfo progress(fileKeywords.size(), "Reading properties"); @@ -298,25 +221,22 @@ std::map RifEclipseInputFileTools::readProperties(const QStri std::map newResults; for (size_t i = 0; i < fileKeywords.size(); ++i) { - //std::cout << fileKeywords[i].keyword.toLatin1().data() << std::endl; - if (knownKeywordSet.count(fileKeywords[i].keyword)) - { - fseek(gridFilePointer, fileKeywords[i].filePos, SEEK_SET); - ecl_kw_type* eclipseKeywordData = ecl_kw_fscanf_alloc_current_grdecl__(gridFilePointer, false , ECL_FLOAT_TYPE); - if (eclipseKeywordData) - { - QString newResultName = caseData->results(RifReaderInterface::MATRIX_RESULTS)->makeResultNameUnique(fileKeywords[i].keyword); + if (!isValidDataKeyword(fileKeywords[i].keyword)) continue; - size_t resultIndex = findOrCreateResult(newResultName, caseData); - if (resultIndex != cvf::UNDEFINED_SIZE_T) - { - readDoubleValues(caseData, resultIndex, eclipseKeywordData); - } + fseek(gridFilePointer, fileKeywords[i].filePos, SEEK_SET); - ecl_kw_free(eclipseKeywordData); + ecl_kw_type* eclipseKeywordData = ecl_kw_fscanf_alloc_current_grdecl__(gridFilePointer, false, ECL_FLOAT_TYPE); + if (eclipseKeywordData) + { + QString newResultName = caseData->results(RifReaderInterface::MATRIX_RESULTS)->makeResultNameUnique(fileKeywords[i].keyword); + if (readDataFromKeyword(eclipseKeywordData, caseData, newResultName)) + { newResults[newResultName] = fileKeywords[i].keyword; } + + ecl_kw_free(eclipseKeywordData); } + progress.setProgress(i); } @@ -324,6 +244,68 @@ std::map RifEclipseInputFileTools::readProperties(const QStri return newResults; } + +//-------------------------------------------------------------------------------------------------- +/// Reads the property data requested into the \a reservoir, overwriting any previous +/// properties with the same name. +//-------------------------------------------------------------------------------------------------- +bool RifEclipseInputFileTools::readProperty(const QString& fileName, RigCaseData* caseData, const QString& eclipseKeyWord, const QString& resultName) +{ + CVF_ASSERT(caseData); + + if (!isValidDataKeyword(eclipseKeyWord)) return false; + + FILE* filePointer = util_fopen(fileName.toLatin1().data(), "r"); + if (!filePointer) return false; + + ecl_kw_type* eclipseKeywordData = ecl_kw_fscanf_alloc_grdecl_dynamic__(filePointer, eclipseKeyWord.toLatin1().data(), false, ECL_FLOAT_TYPE); + bool isOk = false; + if (eclipseKeywordData) + { + isOk = readDataFromKeyword(eclipseKeywordData, caseData, resultName); + + ecl_kw_free(eclipseKeywordData); + } + + util_fclose(filePointer); + + return isOk; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifEclipseInputFileTools::readDataFromKeyword(ecl_kw_type* eclipseKeywordData, RigCaseData* caseData, const QString& resultName) +{ + CVF_ASSERT(caseData); + CVF_ASSERT(eclipseKeywordData); + + bool mathingItemCount = false; + { + int itemCount = ecl_kw_get_size(eclipseKeywordData); + if (itemCount == caseData->mainGrid()->cellCount()) + { + mathingItemCount = true; + } + if (itemCount == caseData->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->reservoirActiveCellCount()) + { + mathingItemCount = true; + } + } + + if (!mathingItemCount) return false; + + size_t resultIndex = RifEclipseInputFileTools::findOrCreateResult(resultName, caseData); + if (resultIndex == cvf::UNDEFINED_SIZE_T) return false; + + std::vector< std::vector >& newPropertyData = caseData->results(RifReaderInterface::MATRIX_RESULTS)->cellScalarResults(resultIndex); + newPropertyData.push_back(std::vector()); + newPropertyData[0].resize(ecl_kw_get_size(eclipseKeywordData), HUGE_VAL); + ecl_kw_get_data_as_double(eclipseKeywordData, newPropertyData[0].data()); + + return true; +} + //-------------------------------------------------------------------------------------------------- /// Read all the keywords from a file // @@ -334,7 +316,7 @@ std::map RifEclipseInputFileTools::readProperties(const QStri // https://bugreports.qt-project.org/browse/QTBUG-9814 // //-------------------------------------------------------------------------------------------------- -void RifEclipseInputFileTools::findKeywordsOnFile(const QString &fileName, std::vector< RifKeywordAndFilePos >& keywords) +void RifEclipseInputFileTools::findKeywordsOnFile(const QString &fileName, std::vector< RifKeywordAndFilePos >* keywords) { char buf[1024]; @@ -357,8 +339,8 @@ void RifEclipseInputFileTools::findKeywordsOnFile(const QString &fileName, std:: filepos = data.pos() - lineLength; keyPos.filePos = filepos; - keyPos.keyword = line.left(8).trimmed(); - keywords.push_back(keyPos); + keyPos.keyword = line.trimmed(); + keywords->push_back(keyPos); //qDebug() << keyPos.keyword << " - " << keyPos.filePos; } } @@ -367,86 +349,92 @@ void RifEclipseInputFileTools::findKeywordsOnFile(const QString &fileName, std:: } //-------------------------------------------------------------------------------------------------- -/// Reads the property data requested into the \a reservoir, overwriting any previous -/// propeties with the same name. +/// //-------------------------------------------------------------------------------------------------- -bool RifEclipseInputFileTools::readProperty(const QString& fileName, RigCaseData* caseData, const QString& eclipseKeyWord, const QString& resultName) +void RifEclipseInputFileTools::parseAndReadPathAliasKeyword(const QString &fileName, std::vector< std::pair >* pathAliasDefinitions) { - CVF_ASSERT(caseData); + char buf[1024]; - FILE* filePointer = util_fopen(fileName.toLatin1().data(), "r"); - if (!filePointer) return false; + QFile data(fileName); + data.open(QFile::ReadOnly); - ecl_kw_type* eclipseKeywordData = ecl_kw_fscanf_alloc_grdecl_dynamic__( filePointer , eclipseKeyWord.toLatin1().data() , false , ECL_FLOAT_TYPE); - bool isOk = false; - if (eclipseKeywordData) + QString line; + qint64 lineLength = -1; + + bool foundPathsKeyword = false; + + do { - size_t resultIndex = findOrCreateResult(resultName, caseData); - if (resultIndex != cvf::UNDEFINED_SIZE_T) + lineLength = data.readLine(buf, sizeof(buf)); + if (lineLength > 0) { - isOk = readDoubleValues(caseData, resultIndex, eclipseKeywordData); - } + line = QString::fromAscii(buf); + if (line.size() && (line[0].isLetter() || foundPathsKeyword)) + { + line = line.trimmed(); + + if (line == gridKeyword) + { + return; + } + else if (line == pathsKeyword) + { + foundPathsKeyword = true; + } + else if (foundPathsKeyword) + { + if (line.startsWith("/", Qt::CaseInsensitive)) + { + // Detected end of keyword data section + return; + } + else if (line.startsWith("--", Qt::CaseInsensitive)) + { + continue; + } + else + { + // Replace tab with space to be able to split the string using space as splitter + line.replace("\t", " "); - ecl_kw_free(eclipseKeywordData); - } + // Remove character ' used to mark start and end of fault name, possibly also around face definition; 'I+' + line.remove("'"); - util_fclose(filePointer); - return isOk; + QStringList entries = line.split(" ", QString::SkipEmptyParts); + if (entries.size() < 2) + { + continue; + } + + pathAliasDefinitions->push_back(std::make_pair(entries[0], entries[1])); + } + } + } + } + } while (!data.atEnd()); } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -const std::vector& RifEclipseInputFileTools::knownPropertyKeywords() +const std::vector& RifEclipseInputFileTools::invalidPropertyDataKeywords() { - static std::vector knownKeywords; + static std::vector keywords; static bool isInitialized = false; if (!isInitialized) { - knownKeywords.push_back("AQUIFERA"); - knownKeywords.push_back("ACTNUM"); - knownKeywords.push_back("EQLNUM"); - knownKeywords.push_back("FIPNUM"); - knownKeywords.push_back("KRG"); - knownKeywords.push_back("KRGR"); - knownKeywords.push_back("KRO"); - knownKeywords.push_back("KRORG"); - knownKeywords.push_back("KRORW"); - knownKeywords.push_back("KRW"); - knownKeywords.push_back("KRWR"); - knownKeywords.push_back("MINPVV"); - knownKeywords.push_back("MULTPV"); - knownKeywords.push_back("MULTX"); - knownKeywords.push_back("MULTX-"); - knownKeywords.push_back("MULTY"); - knownKeywords.push_back("MULTY-"); - knownKeywords.push_back("MULTZ"); - knownKeywords.push_back("NTG"); - knownKeywords.push_back("PCG"); - knownKeywords.push_back("PCW"); - knownKeywords.push_back("PERMX"); - knownKeywords.push_back("PERMY"); - knownKeywords.push_back("PERMZ"); - knownKeywords.push_back("PORO"); - knownKeywords.push_back("PVTNUM"); - knownKeywords.push_back("SATNUM"); - knownKeywords.push_back("SGCR"); - knownKeywords.push_back("SGL"); - knownKeywords.push_back("SGLPC"); - knownKeywords.push_back("SGU"); - knownKeywords.push_back("SGWCR"); - knownKeywords.push_back("SWATINIT"); - knownKeywords.push_back("SWCR"); - knownKeywords.push_back("SWGCR"); - knownKeywords.push_back("SWL"); - knownKeywords.push_back("SWLPC"); - knownKeywords.push_back("TRANX"); - knownKeywords.push_back("TRANY"); - knownKeywords.push_back("TRANZ"); + // Related to geometry + keywords.push_back("COORD"); + keywords.push_back("ZCORN"); + keywords.push_back("SPECGRID"); + keywords.push_back("MAPAXES"); + + keywords.push_back(faultsKeyword); isInitialized = true; } - return knownKeywords; + + return keywords; } //-------------------------------------------------------------------------------------------------- @@ -599,36 +587,7 @@ void RifEclipseInputFileTools::findGridKeywordPositions(const std::vector< RifKe //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -bool RifEclipseInputFileTools::readPropertyAtFilePosition(const QString& fileName, RigCaseData* caseData, const QString& eclipseKeyWord, qint64 filePos, const QString& resultName) -{ - CVF_ASSERT(caseData); - - FILE* filePointer = util_fopen(fileName.toLatin1().data(), "r"); - if (!filePointer) return false; - - fseek(filePointer, filePos, SEEK_SET); - ecl_kw_type* eclipseKeywordData = ecl_kw_fscanf_alloc_current_grdecl__(filePointer, false , ECL_FLOAT_TYPE); - bool isOk = false; - if (eclipseKeywordData) - { - size_t resultIndex = findOrCreateResult(resultName, caseData); - if (resultIndex != cvf::UNDEFINED_SIZE_T) - { - isOk = readDoubleValues(caseData, resultIndex, eclipseKeywordData); - } - - ecl_kw_free(eclipseKeywordData); - } - - util_fclose(filePointer); - return isOk; -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RifEclipseInputFileTools::readFaults(const QString& fileName, cvf::Collection& faults, const std::vector& fileKeywords) +void RifEclipseInputFileTools::readFaults(const QString& fileName, const std::vector& fileKeywords, cvf::Collection* faults) { QFile data(fileName); if (!data.open(QFile::ReadOnly)) @@ -636,20 +595,6 @@ void RifEclipseInputFileTools::readFaults(const QString& fileName, cvf::Collecti return; } - // Parse complete file if no keywords are parsed - if (fileKeywords.size() == 0) - { - qint64 filePos = findKeyword(faultsKeyword, data, 0); - - while (filePos != -1) - { - readFaults(data, filePos, faults, NULL); - filePos = findKeyword(faultsKeyword, data, filePos); - } - - return; - } - for (size_t i = 0; i < fileKeywords.size(); i++) { if (fileKeywords[i].keyword.compare(editKeyword, Qt::CaseInsensitive) == 0) @@ -673,11 +618,10 @@ void RifEclipseInputFileTools::readFaults(const QString& fileName, cvf::Collecti } } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RifEclipseInputFileTools::readFaultsInGridSection(const QString& fileName, cvf::Collection& faults, std::vector& filenamesWithFaults) +void RifEclipseInputFileTools::parseAndReadFaults(const QString& fileName, cvf::Collection* faults) { QFile data(fileName); if (!data.open(QFile::ReadOnly)) @@ -685,10 +629,27 @@ void RifEclipseInputFileTools::readFaultsInGridSection(const QString& fileName, return; } - QString gridKeyword("GRID"); + qint64 filePos = findKeyword(faultsKeyword, data, 0); - // Search for keyword grid + while (filePos != -1) + { + readFaults(data, filePos, faults, NULL); + filePos = findKeyword(faultsKeyword, data, filePos); + } +} +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifEclipseInputFileTools::readFaultsInGridSection(const QString& fileName, cvf::Collection* faults, std::vector* filenamesWithFaults) +{ + QFile data(fileName); + if (!data.open(QFile::ReadOnly)) + { + return; + } + + // Search for keyword grid qint64 gridPos = findKeyword(gridKeyword, data, 0); if (gridPos < 0) { @@ -697,7 +658,10 @@ void RifEclipseInputFileTools::readFaultsInGridSection(const QString& fileName, bool isEditKeywordDetected = false; - readFaultsAndParseIncludeStatementsRecursively(data, gridPos, faults, filenamesWithFaults, &isEditKeywordDetected); + std::vector< std::pair > pathAliasDefinitions; + parseAndReadPathAliasKeyword(fileName, &pathAliasDefinitions); + + readFaultsAndParseIncludeStatementsRecursively(data, gridPos, pathAliasDefinitions, faults, filenamesWithFaults, &isEditKeywordDetected); } @@ -750,7 +714,43 @@ qint64 RifEclipseInputFileTools::findKeyword(const QString& keyword, QFile& file //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -bool RifEclipseInputFileTools::readFaultsAndParseIncludeStatementsRecursively(QFile& file, qint64 startPos, cvf::Collection& faults, std::vector& filenamesWithFaults, bool* isEditKeywordDetected) +size_t RifEclipseInputFileTools::findOrCreateResult(const QString& newResultName, RigCaseData* reservoir) +{ + size_t resultIndex = reservoir->results(RifReaderInterface::MATRIX_RESULTS)->findScalarResultIndex(newResultName); + if (resultIndex == cvf::UNDEFINED_SIZE_T) + { + resultIndex = reservoir->results(RifReaderInterface::MATRIX_RESULTS)->addEmptyScalarResult(RimDefines::INPUT_PROPERTY, newResultName, false); + } + + return resultIndex; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifEclipseInputFileTools::isValidDataKeyword(const QString& keyword) +{ + const std::vector& keywordsToSkip = RifEclipseInputFileTools::invalidPropertyDataKeywords(); + for (const QString keywordToSkip : keywordsToSkip) + { + if (keywordToSkip == keyword.toUpper()) + { + return false; + } + } + + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifEclipseInputFileTools::readFaultsAndParseIncludeStatementsRecursively( QFile& file, + qint64 startPos, + const std::vector< std::pair >& pathAliasDefinitions, + cvf::Collection* faults, + std::vector* filenamesWithFaults, + bool* isEditKeywordDetected) { QString line; @@ -804,6 +804,13 @@ bool RifEclipseInputFileTools::readFaultsAndParseIncludeStatementsRecursively(QF // Read include file name, and both relative and absolute path is supported QString includeFilename = line.mid(firstQuote + 1, lastQuote - firstQuote - 1); + + for (auto entry : pathAliasDefinitions) + { + QString textToReplace = "$" + entry.first; + includeFilename.replace(textToReplace, entry.second); + } + QFileInfo fi(currentFileFolder, includeFilename); if (fi.exists()) { @@ -813,7 +820,7 @@ bool RifEclipseInputFileTools::readFaultsAndParseIncludeStatementsRecursively(QF { //qDebug() << "Found include statement, and start parsing of\n " << absoluteFilename; - if (!readFaultsAndParseIncludeStatementsRecursively(includeFile, 0, faults, filenamesWithFaults, isEditKeywordDetected)) + if (!readFaultsAndParseIncludeStatementsRecursively(includeFile, 0, pathAliasDefinitions, faults, filenamesWithFaults, isEditKeywordDetected)) { qDebug() << "Error when parsing include file : " << absoluteFilename; } @@ -826,7 +833,7 @@ bool RifEclipseInputFileTools::readFaultsAndParseIncludeStatementsRecursively(QF if (!line.contains("/")) { readFaults(file, file.pos(), faults, isEditKeywordDetected); - filenamesWithFaults.push_back(file.fileName()); + filenamesWithFaults->push_back(file.fileName()); } } @@ -868,7 +875,7 @@ cvf::StructGridInterface::FaceEnum RifEclipseInputFileTools::faceEnumFromText(co /// Parse content of this keyword until end of file or /// end of keyword when a single line with '/' is found //-------------------------------------------------------------------------------------------------- -void RifEclipseInputFileTools::readFaults(QFile &data, qint64 filePos, cvf::Collection &faults, bool* isEditKeywordDetected) +void RifEclipseInputFileTools::readFaults(QFile &data, qint64 filePos, cvf::Collection* faults, bool* isEditKeywordDetected) { if (!data.seek(filePos)) { @@ -938,22 +945,22 @@ void RifEclipseInputFileTools::readFaults(QFile &data, qint64 filePos, cvf::Coll if (!(fault && fault->name() == name)) { - if (findFaultByName(faults, name) == cvf::UNDEFINED_SIZE_T) + if (findFaultByName(*faults, name) == cvf::UNDEFINED_SIZE_T) { RigFault* newFault = new RigFault; newFault->setName(name); - faults.push_back(newFault); + faults->push_back(newFault); } - size_t faultIndex = findFaultByName(faults, name); + size_t faultIndex = findFaultByName(*faults, name); if (faultIndex == cvf::UNDEFINED_SIZE_T) { CVF_ASSERT(faultIndex != cvf::UNDEFINED_SIZE_T); continue; } - fault = faults.at(faultIndex); + fault = faults->at(faultIndex); } CVF_ASSERT(fault); diff --git a/ApplicationCode/FileInterface/RifEclipseInputFileTools.h b/ApplicationCode/FileInterface/RifEclipseInputFileTools.h index 29422773a2..87de0bc5a1 100644 --- a/ApplicationCode/FileInterface/RifEclipseInputFileTools.h +++ b/ApplicationCode/FileInterface/RifEclipseInputFileTools.h @@ -23,12 +23,16 @@ #include "cvfBase.h" #include "cvfObject.h" #include "cvfLibCore.h" -#include -#include #include "RifReaderInterface.h" #include "RigFault.h" +#include "ert/ecl/ecl_kw.h" + +#include + +#include + class RigCaseData; class QFile; @@ -60,29 +64,40 @@ class RifEclipseInputFileTools : public cvf::Object // Returns map of assigned resultName and Eclipse Keyword. static std::map readProperties(const QString& fileName, RigCaseData* eclipseCase); static bool readProperty (const QString& fileName, RigCaseData* eclipseCase, const QString& eclipseKeyWord, const QString& resultName ); - static bool readPropertyAtFilePosition (const QString& fileName, RigCaseData* eclipseCase, const QString& eclipseKeyWord, qint64 filePos, const QString& resultName ); - - - static void readFaultsInGridSection(const QString& fileName, cvf::Collection& faults, std::vector& filenamesWithFaults); - static void readFaults(const QString& fileName, cvf::Collection& faults, const std::vector< RifKeywordAndFilePos >& fileKeywords); - static void readFaults(QFile &data, qint64 filePos, cvf::Collection &faults, bool* isEditKeywordDetected); - static void findKeywordsOnFile(const QString &fileName, std::vector< RifKeywordAndFilePos >& keywords); + static void readFaultsInGridSection(const QString& fileName, cvf::Collection* faults, std::vector* filenamesWithFaults); + static void readFaults(const QString& fileName, const std::vector< RifKeywordAndFilePos >& fileKeywords, cvf::Collection* faults); + static void parseAndReadFaults(const QString& fileName, cvf::Collection* faults); + + static void readFaults(QFile &data, qint64 filePos, cvf::Collection* faults, bool* isEditKeywordDetected); + static void findKeywordsOnFile(const QString &fileName, std::vector< RifKeywordAndFilePos >* keywords); + + static void parseAndReadPathAliasKeyword(const QString &fileName, std::vector< std::pair >* pathAliasDefinitions); - static const std::vector& knownPropertyKeywords(); static bool writePropertyToTextFile(const QString& fileName, RigCaseData* eclipseCase, size_t timeStep, const QString& resultName, const QString& eclipseKeyWord); static bool writeBinaryResultToTextFile(const QString& fileName, RigCaseData* eclipseCase, RifReaderInterface::PorosityModelResultType porosityModel, size_t timeStep, const QString& resultName, const QString& eclipseKeyWord, const double undefinedValue); - static bool readFaultsAndParseIncludeStatementsRecursively(QFile& file, qint64 startPos, cvf::Collection& faults, std::vector& filenamesWithFaults, bool* isEditKeywordDetected); + static bool readFaultsAndParseIncludeStatementsRecursively( QFile& file, + qint64 startPos, + const std::vector< std::pair >& pathAliasDefinitions, + cvf::Collection* faults, + std::vector* filenamesWithFaults, + bool* isEditKeywordDetected); static cvf::StructGridInterface::FaceEnum faceEnumFromText(const QString& faceString); private: + static bool readDataFromKeyword(ecl_kw_type* eclipseKeywordData, RigCaseData* caseData, const QString& resultName); static void writeDataToTextFile(QFile* file, const QString& eclipseKeyWord, const std::vector& resultData); static void findGridKeywordPositions(const std::vector< RifKeywordAndFilePos >& keywords, qint64* coordPos, qint64* zcornPos, qint64* specgridPos, qint64* actnumPos, qint64* mapaxesPos); static size_t findFaultByName(const cvf::Collection& faults, const QString& name); static qint64 findKeyword(const QString& keyword, QFile& file, qint64 startPos); + static size_t findOrCreateResult(const QString& newResultName, RigCaseData* reservoir); + static bool isValidDataKeyword(const QString& keyword); + +private: + static const std::vector& invalidPropertyDataKeywords(); }; diff --git a/ApplicationCode/FileInterface/RifEclipseOutputFileTools.cpp b/ApplicationCode/FileInterface/RifEclipseOutputFileTools.cpp index aa5fb95a17..d4216a13a7 100644 --- a/ApplicationCode/FileInterface/RifEclipseOutputFileTools.cpp +++ b/ApplicationCode/FileInterface/RifEclipseOutputFileTools.cpp @@ -20,11 +20,9 @@ #include "RifEclipseOutputFileTools.h" -#include "util.h" -#include "ecl_file.h" -#include "ecl_kw_magic.h" -#include "ecl_grid.h" -#include "ecl_rsthead.h" +#include "ert/ecl/ecl_file.h" +#include "ert/ecl/ecl_grid.h" +#include "ert/ecl/ecl_kw_magic.h" #include "cafProgressInfo.h" @@ -49,6 +47,59 @@ RifEclipseOutputFileTools::~RifEclipseOutputFileTools() { } +struct KeywordItemCounter +{ + KeywordItemCounter(std::string keyword, size_t aggregatedItemCount) + : m_keyword(keyword), + m_aggregatedItemCount(aggregatedItemCount), + m_reportStepCount(1) + {} + + bool operator==(const std::string& rhs) const + { + return this->m_keyword == rhs; + } + + + std::string m_keyword; + size_t m_aggregatedItemCount; + size_t m_reportStepCount; +}; + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifEclipseOutputFileTools::findKeywordsAndItemCount(std::vector ecl_files, QStringList* resultNames, std::vector* resultDataItemCounts) +{ + std::vector reportSteps; + RifEclipseOutputFileTools::createReportStepsMetaData(ecl_files, &reportSteps); + + std::vector foundKeywords; + + for (auto reportStep : reportSteps) + { + for (auto keywordItemCount : reportStep.m_keywords.keywordsWithAggregatedItemCount()) + { + auto it = std::find(foundKeywords.begin(), foundKeywords.end(), keywordItemCount.first); + if (it == foundKeywords.end()) + { + foundKeywords.push_back(KeywordItemCounter(keywordItemCount.first, keywordItemCount.second)); + } + else + { + it->m_aggregatedItemCount += keywordItemCount.second; + it->m_reportStepCount++; + } + } + } + + for (auto stdKeyword : foundKeywords) + { + resultNames->push_back(QString::fromStdString(stdKeyword.m_keyword)); + resultDataItemCounts->push_back(stdKeyword.m_aggregatedItemCount); + } +} + void getDayMonthYear(const ecl_kw_type* intehead_kw, int* day, int* month, int* year) { assert(day && month && year); @@ -63,8 +114,9 @@ void getDayMonthYear(const ecl_kw_type* intehead_kw, int* day, int* month, int* //-------------------------------------------------------------------------------------------------- void RifEclipseOutputFileTools::timeSteps(ecl_file_type* ecl_file, std::vector* timeSteps) { + if (!ecl_file) return; + CVF_ASSERT(timeSteps); - CVF_ASSERT(ecl_file); // Get the number of occurrences of the INTEHEAD keyword int numINTEHEAD = ecl_file_get_num_named_kw(ecl_file, INTEHEAD_KW); @@ -232,45 +284,6 @@ bool RifEclipseOutputFileTools::findSiblingFilesWithSameBaseName(const QString& return baseNameFiles->count() > 0; } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RifEclipseOutputFileTools::findKeywordsAndDataItemCounts(ecl_file_type* ecl_file, QStringList* keywords, std::vector* keywordDataItemCounts) -{ - if (!ecl_file || !keywords || !keywordDataItemCounts) return; - - int numKeywords = ecl_file_get_num_distinct_kw(ecl_file); - - caf::ProgressInfo info(numKeywords, "Reading Keywords on file"); - - for (int i = 0; i < numKeywords; i++) - { - const char* kw = ecl_file_iget_distinct_kw(ecl_file , i); - int numKeywordOccurrences = ecl_file_get_num_named_kw(ecl_file, kw); - bool validData = true; - size_t fileResultValueCount = 0; - for (int j = 0; j < numKeywordOccurrences; j++) - { - fileResultValueCount += ecl_file_iget_named_size(ecl_file, kw, j); - - ecl_type_enum dataType = ecl_file_iget_named_type(ecl_file, kw, j); - if (dataType != ECL_DOUBLE_TYPE && dataType != ECL_FLOAT_TYPE && dataType != ECL_INT_TYPE ) - { - validData = false; - break; - } - } - - if (validData) - { - keywords->append(QString(kw)); - keywordDataItemCounts->push_back(fileResultValueCount); - } - - info.setProgress(i); - } -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -323,3 +336,67 @@ int RifEclipseOutputFileTools::readUnitsType(ecl_file_type* ecl_file) return unitsType; } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifEclipseOutputFileTools::createReportStepsMetaData(std::vector ecl_files, std::vector* reportSteps) +{ + if (!reportSteps) return; + + for (auto ecl_file : ecl_files) + { + if (!ecl_file) continue; + + int reportStepCount = ecl_file_get_num_named_kw(ecl_file, INTEHEAD_KW); + for (int reportStepIndex = 0; reportStepIndex < reportStepCount; reportStepIndex++) + { + ecl_file_view_type* rst_view = ecl_file_get_global_view(ecl_file); + if (!rst_view) continue; + + ecl_rsthead_type* restart_header = ecl_rsthead_alloc(rst_view, reportStepIndex); + if (restart_header) + { + ecl_file_push_block(ecl_file); + + { + ecl_file_select_block(ecl_file, INTEHEAD_KW, reportStepIndex); + + RifRestartReportStep reportStep; + + // Set Date + { + QDateTime reportDateTime(QDate(restart_header->year, restart_header->month, restart_header->day)); + reportStep.dateTime = reportDateTime; + } + + // Find number of keywords withing this report step + int numKeywords = ecl_file_get_num_distinct_kw(ecl_file); + for (int iKey = 0; iKey < numKeywords; iKey++) + { + const char* kw = ecl_file_iget_distinct_kw(ecl_file, iKey); + + int namedKeywordCount = ecl_file_get_num_named_kw(ecl_file, kw); + for (int iOcc = 0; iOcc < namedKeywordCount; iOcc++) + { + ecl_type_enum dataType = ecl_file_iget_named_type(ecl_file, kw, iOcc); + if (dataType != ECL_DOUBLE_TYPE && dataType != ECL_FLOAT_TYPE && dataType != ECL_INT_TYPE) + { + continue; + } + + int itemCount = ecl_file_iget_named_size(ecl_file, kw, iOcc); + reportStep.m_keywords.appendKeyword(kw, itemCount, iOcc); + } + } + + reportSteps->push_back(reportStep); + } + + ecl_file_pop_block(ecl_file); + + ecl_rsthead_free(restart_header); + } + } + } +} diff --git a/ApplicationCode/FileInterface/RifEclipseOutputFileTools.h b/ApplicationCode/FileInterface/RifEclipseOutputFileTools.h index 02bff0b477..99176d1160 100644 --- a/ApplicationCode/FileInterface/RifEclipseOutputFileTools.h +++ b/ApplicationCode/FileInterface/RifEclipseOutputFileTools.h @@ -24,12 +24,14 @@ #include "cvfObject.h" #include "cvfLibCore.h" +#include "RifReaderInterface.h" +#include "RifEclipseRestartDataAccess.h" + #include #include #include -#include "RifReaderInterface.h" -#include "ecl_util.h" +#include "ert/ecl/ecl_util.h" typedef struct ecl_file_struct ecl_file_type; @@ -45,7 +47,8 @@ class RifEclipseOutputFileTools RifEclipseOutputFileTools(); virtual ~RifEclipseOutputFileTools(); - static void findKeywordsAndDataItemCounts(ecl_file_type* ecl_file, QStringList* keywords, std::vector* keywordDataItemCounts); + static void findKeywordsAndItemCount(std::vector ecl_files, QStringList* resultNames, std::vector* resultDataItemCounts); + static bool keywordData(ecl_file_type* ecl_file, const QString& keyword, size_t fileKeywordOccurrence, std::vector* values); static bool keywordData(ecl_file_type* ecl_file, const QString& keyword, size_t fileKeywordOccurrence, std::vector* values); @@ -59,4 +62,7 @@ class RifEclipseOutputFileTools static void readGridDimensions(const QString& gridFileName, std::vector< std::vector >& gridDimensions); static int readUnitsType(ecl_file_type* ecl_file); + +private: + static void createReportStepsMetaData(std::vector ecl_files, std::vector* reportSteps); }; diff --git a/ApplicationCode/FileInterface/RifEclipseRestartDataAccess.cpp b/ApplicationCode/FileInterface/RifEclipseRestartDataAccess.cpp index 3df7a5b606..189d91d175 100644 --- a/ApplicationCode/FileInterface/RifEclipseRestartDataAccess.cpp +++ b/ApplicationCode/FileInterface/RifEclipseRestartDataAccess.cpp @@ -33,3 +33,106 @@ RifEclipseRestartDataAccess::RifEclipseRestartDataAccess() RifEclipseRestartDataAccess::~RifEclipseRestartDataAccess() { } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifRestartReportKeywords::RifRestartReportKeywords() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifRestartReportKeywords::appendKeyword(const std::string& keyword, size_t itemCount, int globalIndex) +{ + m_keywordNameAndItemCount.push_back(RifKeywordLocation(keyword, itemCount, globalIndex)); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RifRestartReportKeywords::keywordsWithItemCountFactorOf(const std::vector& factorCandidates) +{ + std::vector tmp; + + for (auto uni : uniqueKeywords()) + { + size_t sum = 0; + for (auto loc : objectsForKeyword(uni)) + { + sum += loc.itemCount(); + } + + bool foundMatch = false; + size_t i = 0; + + while (i < factorCandidates.size() && !foundMatch) + { + if (sum > 0 && (sum % factorCandidates[i]) == 0) + { + foundMatch = true; + tmp.push_back(uni); + } + + i++; + } + } + + return tmp; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector > RifRestartReportKeywords::keywordsWithAggregatedItemCount() +{ + std::vector > tmp; + + for (auto uni : uniqueKeywords()) + { + size_t sum = 0; + for (auto loc : objectsForKeyword(uni)) + { + sum += loc.itemCount(); + } + + tmp.push_back(std::make_pair(uni, sum)); + } + + return tmp; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RifRestartReportKeywords::objectsForKeyword(const std::string& keyword) +{ + std::vector tmp; + + for (auto a : m_keywordNameAndItemCount) + { + if (a.keyword() == keyword) + { + tmp.push_back(a); + } + } + + return tmp; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::set RifRestartReportKeywords::uniqueKeywords() +{ + std::set unique; + + for (auto a : m_keywordNameAndItemCount) + { + unique.insert(a.keyword()); + } + + return unique; +} diff --git a/ApplicationCode/FileInterface/RifEclipseRestartDataAccess.h b/ApplicationCode/FileInterface/RifEclipseRestartDataAccess.h index 633c7d9c22..4c89e815c5 100644 --- a/ApplicationCode/FileInterface/RifEclipseRestartDataAccess.h +++ b/ApplicationCode/FileInterface/RifEclipseRestartDataAccess.h @@ -29,10 +29,59 @@ #include -#include "well_info.h" +#include "ert/ecl_well/well_info.h" #include "RifReaderInterface.h" + +class RifKeywordLocation +{ +public: + RifKeywordLocation(std::string keyword, size_t itemCount, int indexWithinReportStep) + : m_keyword(keyword), + m_itemCount(itemCount), + m_indexWithinReportStep(indexWithinReportStep) + { + } + + std::string keyword() const { return m_keyword; } + size_t itemCount() const { return m_itemCount; } + int indexWithinReportStep() const { return m_indexWithinReportStep; } + +private: + std::string m_keyword; + size_t m_itemCount; + int m_indexWithinReportStep; +}; + +class RifRestartReportKeywords +{ +public: + RifRestartReportKeywords(); + + void appendKeyword(const std::string& keyword, size_t itemCount, int globalIndex); + + std::vector keywordsWithItemCountFactorOf(const std::vector& factorCandidates); + std::vector > keywordsWithAggregatedItemCount(); + +private: + std::vector objectsForKeyword(const std::string& keyword); + std::set uniqueKeywords(); + +private: + std::vector m_keywordNameAndItemCount; +}; + + +class RifRestartReportStep +{ +public: + //int globalIndex; + QDateTime dateTime; + + RifRestartReportKeywords m_keywords; +}; + //================================================================================================== // // Abstract class for results access diff --git a/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.cpp b/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.cpp index cb6fc661fb..418dce66d9 100644 --- a/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.cpp +++ b/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.cpp @@ -155,15 +155,12 @@ void RifEclipseRestartFilesetAccess::resultNames(QStringList* resultNames, std:: { CVF_ASSERT(timeStepCount() > 0); - openTimeStep(0); - - std::vector valueCountForOneFile; - RifEclipseOutputFileTools::findKeywordsAndDataItemCounts(m_ecl_files[0], resultNames, &valueCountForOneFile); - - for (size_t i = 0; i < valueCountForOneFile.size(); i++) + for (int i = 0; i < m_fileNames.size(); i++) { - resultDataItemCounts->push_back(valueCountForOneFile[i] * timeStepCount()); + openTimeStep(i); } + + RifEclipseOutputFileTools::findKeywordsAndItemCount(m_ecl_files, resultNames, resultDataItemCounts); } //-------------------------------------------------------------------------------------------------- @@ -178,6 +175,11 @@ bool RifEclipseRestartFilesetAccess::results(const QString& resultName, size_t t openTimeStep(timeStep); + if (!m_ecl_files[timeStep]) + { + return false; + } + size_t fileGridCount = ecl_file_get_num_named_kw(m_ecl_files[timeStep], resultName.toAscii().data()); // No results for this result variable for current time step found @@ -205,7 +207,6 @@ bool RifEclipseRestartFilesetAccess::results(const QString& resultName, size_t t return true; } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -217,11 +218,14 @@ void RifEclipseRestartFilesetAccess::readWellData(well_info_type* well_info, boo { openTimeStep(i); - const char* fileName = ecl_file_get_src_file(m_ecl_files[i]); - int reportNumber = ecl_util_filename_report_nr(fileName); - if(reportNumber != -1) + if (m_ecl_files[i]) { - well_info_add_wells(well_info, m_ecl_files[i], reportNumber, importCompleteMswData); + const char* fileName = ecl_file_get_src_file(m_ecl_files[i]); + int reportNumber = ecl_util_filename_report_nr(fileName); + if(reportNumber != -1) + { + well_info_add_wells(well_info, m_ecl_files[i], reportNumber, importCompleteMswData); + } } } } @@ -267,11 +271,14 @@ std::vector RifEclipseRestartFilesetAccess::reportNumbers() for (size_t i = 0; i < m_ecl_files.size(); i++) { - const char* fileName = ecl_file_get_src_file(m_ecl_files[i]); - int reportNumber = ecl_util_filename_report_nr(fileName); - if (reportNumber != -1) + if (m_ecl_files[i]) { - reportNr.push_back(reportNumber); + const char* fileName = ecl_file_get_src_file(m_ecl_files[i]); + int reportNumber = ecl_util_filename_report_nr(fileName); + if (reportNumber != -1) + { + reportNr.push_back(reportNumber); + } } } diff --git a/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.h b/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.h index 97eabaed3e..494d9378cd 100644 --- a/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.h +++ b/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.h @@ -43,7 +43,7 @@ class RifEclipseRestartFilesetAccess : public RifEclipseRestartDataAccess void setTimeSteps(const std::vector& timeSteps); size_t timeStepCount(); - std::vector timeSteps(); + std::vector timeSteps(); std::vector reportNumbers(); void resultNames(QStringList* resultNames, std::vector* resultDataItemCounts); @@ -55,10 +55,9 @@ class RifEclipseRestartFilesetAccess : public RifEclipseRestartDataAccess private: void openTimeStep(size_t timeStep); - private: QStringList m_fileNames; - std::vector m_timeSteps; + std::vector m_timeSteps; std::vector< ecl_file_type* > m_ecl_files; }; diff --git a/ApplicationCode/FileInterface/RifEclipseSummaryAddress.cpp b/ApplicationCode/FileInterface/RifEclipseSummaryAddress.cpp new file mode 100644 index 0000000000..e4c6698e72 --- /dev/null +++ b/ApplicationCode/FileInterface/RifEclipseSummaryAddress.cpp @@ -0,0 +1,269 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RifEclipseSummaryAddress.h" + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifEclipseSummaryAddress RifEclipseSummaryAddress::fieldVarAddress(const std::string& fieldVarName) +{ + RifEclipseSummaryAddress fieldAddr; + fieldAddr.m_variableCategory = SUMMARY_FIELD; + fieldAddr.m_quantityName = fieldVarName; + + return fieldAddr; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::string RifEclipseSummaryAddress::uiText() const +{ + std::string text; + text += m_quantityName; + switch(this->category()) + { + case RifEclipseSummaryAddress::SUMMARY_REGION: + { + text += ":" + std::to_string(this->regionNumber()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION: + { + text += ":" + std::to_string(this->regionNumber()); + text += "-" + std::to_string(this->regionNumber2()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP: + { + text += ":" + this->wellGroupName(); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL: + { + text += ":" + this->wellName(); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION: + { + text += ":" + this->wellName(); + text += ":" + std::to_string(this->cellI()) + ", " + + std::to_string(this->cellJ()) + ", " + + std::to_string(this->cellK()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_LGR: + { + text += ":" + this->lgrName(); + text += ":" + this->wellName(); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION_LGR: + { + text += ":" + this->lgrName(); + text += ":" + this->wellName(); + text += ":" + std::to_string(this->cellI()) + ", " + + std::to_string(this->cellJ()) + ", " + + std::to_string(this->cellK()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT: + { + text += ":" + this->wellName(); + text += ":" + std::to_string(this->wellSegmentNumber()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_BLOCK: + { + text += ":" + std::to_string(this->cellI()) + ", " + + std::to_string(this->cellJ()) + ", " + + std::to_string(this->cellK()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR: + { + text += ":" + this->lgrName(); + text += ":" + std::to_string(this->cellI()) + ", " + + std::to_string(this->cellJ()) + ", " + + std::to_string(this->cellK()); + } + break; + } + + return text; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool operator==(const RifEclipseSummaryAddress& first, const RifEclipseSummaryAddress& second) +{ + if(first.category() != second.category()) return false; + if(first.quantityName() != second.quantityName()) return false; + switch(first.category()) + { + case RifEclipseSummaryAddress::SUMMARY_REGION: + { + if(first.regionNumber() != second.regionNumber()) return false; + } + break; + case RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION: + { + if(first.regionNumber() != second.regionNumber()) return false; + if(first.regionNumber2() != second.regionNumber2()) return false; + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP: + { + if(first.wellGroupName() != second.wellGroupName()) return false; + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL: + { + if(first.wellName() != second.wellName()) return false; + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION: + { + if(first.wellName() != second.wellName()) return false; + if(first.cellI() != second.cellI()) return false; + if(first.cellJ() != second.cellJ()) return false; + if(first.cellK() != second.cellK()) return false; + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_LGR: + { + if(first.wellName() != second.wellName()) return false; + if(first.lgrName() != second.lgrName()) return false; + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION_LGR: + { + if(first.wellName() != second.wellName()) return false; + if(first.lgrName() != second.lgrName()) return false; + if(first.cellI() != second.cellI()) return false; + if(first.cellJ() != second.cellJ()) return false; + if(first.cellK() != second.cellK()) return false; + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT: + { + if(first.wellName() != second.wellName()) return false; + if(first.wellSegmentNumber() != second.wellSegmentNumber()) return false; + } + break; + case RifEclipseSummaryAddress::SUMMARY_BLOCK: + { + if(first.cellI() != second.cellI()) return false; + if(first.cellJ() != second.cellJ()) return false; + if(first.cellK() != second.cellK()) return false; + } + break; + case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR: + { + if(first.lgrName() != second.lgrName()) return false; + if(first.cellI() != second.cellI()) return false; + if(first.cellJ() != second.cellJ()) return false; + if(first.cellK() != second.cellK()) return false; + } + break; + + } + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool operator<(const RifEclipseSummaryAddress& first, const RifEclipseSummaryAddress& second) +{ + if(first.category() != second.category()) return first.category() < second.category(); + if(first.quantityName() != second.quantityName()) return first.quantityName() < second.quantityName(); + + switch(first.category()) + { + case RifEclipseSummaryAddress::SUMMARY_REGION: + { + if(first.regionNumber() != second.regionNumber()) return first.regionNumber() < second.regionNumber(); + } + break; + case RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION: + { + if(first.regionNumber() != second.regionNumber()) return first.regionNumber() < second.regionNumber(); + if(first.regionNumber2() != second.regionNumber2()) return first.regionNumber2() < second.regionNumber2(); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP: + { + if(first.wellGroupName() != second.wellGroupName()) return first.wellGroupName() < second.wellGroupName(); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL: + { + if(first.wellName() != second.wellName()) return (first.wellName() < second.wellName()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION: + { + if(first.wellName() != second.wellName()) return (first.wellName() < second.wellName()); + if(first.cellI() != second.cellI()) return (first.cellI() < second.cellI()); + if(first.cellJ() != second.cellJ()) return (first.cellJ() < second.cellJ()); + if(first.cellK() != second.cellK()) return (first.cellK() < second.cellK()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_LGR: + { + if(first.wellName() != second.wellName()) return (first.wellName() < second.wellName()); + if(first.lgrName() != second.lgrName()) return (first.lgrName() < second.lgrName()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION_LGR: + { + if(first.wellName() != second.wellName()) return (first.wellName() < second.wellName()); + if(first.lgrName() != second.lgrName()) return (first.lgrName() < second.lgrName()); + if(first.cellI() != second.cellI()) return (first.cellI() < second.cellI()); + if(first.cellJ() != second.cellJ()) return (first.cellJ() < second.cellJ()); + if(first.cellK() != second.cellK()) return (first.cellK() < second.cellK()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT: + { + if(first.wellName() != second.wellName()) return (first.wellName() < second.wellName()); + if(first.wellSegmentNumber() != second.wellSegmentNumber()) return (first.wellSegmentNumber() < second.wellSegmentNumber()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_BLOCK: + { + if(first.cellI() != second.cellI()) return (first.cellI() < second.cellI()); + if(first.cellJ() != second.cellJ()) return (first.cellJ() < second.cellJ()); + if(first.cellK() != second.cellK()) return (first.cellK() < second.cellK()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR: + { + if(first.lgrName() != second.lgrName()) return (first.lgrName() < second.lgrName()); + if(first.cellI() != second.cellI()) return (first.cellI() < second.cellI()); + if(first.cellJ() != second.cellJ()) return (first.cellJ() < second.cellJ()); + if(first.cellK() != second.cellK()) return (first.cellK() < second.cellK()); + } + break; + + } + return false; +} diff --git a/ApplicationCode/FileInterface/RifEclipseSummaryAddress.h b/ApplicationCode/FileInterface/RifEclipseSummaryAddress.h new file mode 100644 index 0000000000..030216b3ab --- /dev/null +++ b/ApplicationCode/FileInterface/RifEclipseSummaryAddress.h @@ -0,0 +1,129 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#pragma once + +#include + +//================================================================================================== +// +// +//================================================================================================== +class RifEclipseSummaryAddress +{ +public: + + // Based on list in ecl_smspec.c and list of types taken from Eclipse Reference Manual ecl_rm_2011.1.pdf + enum SummaryVarCategory + { + SUMMARY_INVALID, + SUMMARY_FIELD, + SUMMARY_AQUIFER, + SUMMARY_NETWORK, + SUMMARY_MISC, + SUMMARY_REGION, + SUMMARY_REGION_2_REGION, + SUMMARY_WELL_GROUP, + SUMMARY_WELL, + SUMMARY_WELL_COMPLETION, + SUMMARY_WELL_LGR, + SUMMARY_WELL_COMPLETION_LGR, + SUMMARY_WELL_SEGMENT, + SUMMARY_BLOCK, + SUMMARY_BLOCK_LGR, + }; + +public: + + RifEclipseSummaryAddress(): + m_variableCategory(RifEclipseSummaryAddress::SUMMARY_INVALID), + m_regionNumber(-1), + m_regionNumber2(-1), + m_wellSegmentNumber(-1), + m_cellI(-1), + m_cellJ(-1), + m_cellK(-1) + { + } + + RifEclipseSummaryAddress(SummaryVarCategory category, + const std::string& quantityName, + int regionNumber, + int regionNumber2, + const std::string& wellGroupName, + const std::string& wellName, + int wellSegmentNumber, + const std::string& lgrName, + int cellI, + int cellJ, + int cellK): + m_variableCategory(category), + m_quantityName(quantityName), + m_regionNumber(regionNumber), + m_regionNumber2(regionNumber2), + m_wellGroupName(wellGroupName), + m_wellName(wellName), + m_wellSegmentNumber(wellSegmentNumber), + m_lgrName(lgrName), + m_cellI(cellI), + m_cellJ(cellJ), + m_cellK(cellK) + { + } + + // Static specialized creation methods + + static RifEclipseSummaryAddress fieldVarAddress(const std::string& fieldVarName); + + // Access methods + + SummaryVarCategory category() const { return m_variableCategory; } + const std::string& quantityName() const { return m_quantityName; } + + int regionNumber() const { return m_regionNumber; } + int regionNumber2() const { return m_regionNumber2; } + + const std::string& wellGroupName() const { return m_wellGroupName; } + const std::string& wellName() const { return m_wellName; } + int wellSegmentNumber() const { return m_wellSegmentNumber; } + const std::string& lgrName() const { return m_lgrName; } + int cellI() const { return m_cellI; } + int cellJ() const { return m_cellJ; } + int cellK() const { return m_cellK; } + + // Derived properties + + std::string uiText() const; + +private: + + SummaryVarCategory m_variableCategory; + std::string m_quantityName; + int m_regionNumber; + int m_regionNumber2; + std::string m_wellGroupName; + std::string m_wellName; + int m_wellSegmentNumber; + std::string m_lgrName; + int m_cellI; + int m_cellJ; + int m_cellK; +}; + +bool operator==(const RifEclipseSummaryAddress& first, const RifEclipseSummaryAddress& second); + +bool operator<(const RifEclipseSummaryAddress& first, const RifEclipseSummaryAddress& second); \ No newline at end of file diff --git a/ApplicationCode/FileInterface/RifEclipseSummaryTools.cpp b/ApplicationCode/FileInterface/RifEclipseSummaryTools.cpp new file mode 100644 index 0000000000..f9d1d9b549 --- /dev/null +++ b/ApplicationCode/FileInterface/RifEclipseSummaryTools.cpp @@ -0,0 +1,211 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RifEclipseSummaryTools.h" + +#include "RifReaderEclipseSummary.h" + +#include "ert/ecl/ecl_util.h" + +#include +#include "cafAppEnum.h" + + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifEclipseSummaryTools::findSummaryHeaderFile(const std::string& inputFile, std::string* headerFile, bool* isFormatted) +{ + findSummaryHeaderFileInfo(inputFile, headerFile, NULL, NULL, isFormatted); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifEclipseSummaryTools::findSummaryFiles(const std::string& inputFile, + std::string* headerFile, + std::vector* dataFiles) +{ + dataFiles->clear(); + headerFile->clear(); + + char* myPath = NULL; + char* myBase = NULL; + char* myExtention = NULL; + + util_alloc_file_components(inputFile.data(), &myPath, &myBase, &myExtention); + + std::string path; if(myPath) path = myPath; + std::string base; if(myBase) base = myBase; + std::string extention; if(myExtention) extention = myExtention; + + if(path.empty() || base.empty()) return ; + + char* myHeaderFile = NULL; + stringlist_type* summary_file_list = stringlist_alloc_new(); + + ecl_util_alloc_summary_files(path.data(), base.data(), extention.data(), &myHeaderFile, summary_file_list); + if(myHeaderFile) + { + (*headerFile) = myHeaderFile; + util_safe_free(myHeaderFile); + } + + if(stringlist_get_size(summary_file_list) > 0) + { + for(int i = 0; i < stringlist_get_size(summary_file_list); i++) + { + dataFiles->push_back(stringlist_iget(summary_file_list,i)); + } + } + stringlist_free(summary_file_list); + + return; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifEclipseSummaryTools::hasSummaryFiles(const std::string& gridFileName) +{ + std::string headerFileName; + std::vector dataFileNames; + RifEclipseSummaryTools::findSummaryFiles(gridFileName, &headerFileName, &dataFileNames); + if (!headerFileName.empty() && dataFileNames.size()) return true; + + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RifEclipseSummaryTools::findSummaryDataFiles(const std::string& caseFile) +{ + std::vector fileNames; + + std::string path; + std::string base; + + findSummaryHeaderFileInfo(caseFile, NULL, &path, &base, NULL); + if (path.empty() || base.empty()) return fileNames; + + char* header_file = NULL; + stringlist_type* summary_file_list = stringlist_alloc_new(); + + ecl_util_alloc_summary_files(path.data(), base.data(), NULL, &header_file, summary_file_list); + if (stringlist_get_size( summary_file_list ) > 0) + { + for (int i = 0; i < stringlist_get_size(summary_file_list); i++) + { + fileNames.push_back(stringlist_iget(summary_file_list, i)); + } + } + + util_safe_free(header_file); + stringlist_free(summary_file_list); + + return fileNames; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifEclipseSummaryTools::dumpMetaData(RifReaderEclipseSummary* readerEclipseSummary) +{ + std::vector addresses = readerEclipseSummary->allResultAddresses(); + + for (int category = 0; category < RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR; category++) + { + RifEclipseSummaryAddress::SummaryVarCategory categoryEnum = RifEclipseSummaryAddress::SummaryVarCategory(category); + + std::vector catAddresses = addressesForCategory(addresses, categoryEnum); + + if (catAddresses.size() > 0) + { + std::cout << caf::AppEnum::uiText(categoryEnum).toStdString() << " count : " << catAddresses.size() << std::endl; + + for (size_t i = 0; i < catAddresses.size(); i++) + { + std::cout << catAddresses[i].quantityName() << " " + << catAddresses[i].regionNumber() << " " + << catAddresses[i].regionNumber2() << " " + << catAddresses[i].wellGroupName() << " " + << catAddresses[i].wellName() << " " + << catAddresses[i].wellSegmentNumber() << " " + << catAddresses[i].lgrName() << " " + << catAddresses[i].cellI() << " " + << catAddresses[i].cellJ() << " " + << catAddresses[i].cellK() << std::endl; + } + + std::cout << std::endl; + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifEclipseSummaryTools::findSummaryHeaderFileInfo(const std::string& inputFile, std::string* headerFile, std::string* path, std::string* base, bool* isFormatted) +{ + char* myPath = NULL; + char* myBase = NULL; + bool formattedFile = true; + + util_alloc_file_components(inputFile.data(), &myPath, &myBase, NULL); + + char* myHeaderFile = ecl_util_alloc_exfilename(myPath, myBase, ECL_SUMMARY_HEADER_FILE, true, -1); + if (!myHeaderFile) + { + myHeaderFile = ecl_util_alloc_exfilename(myPath, myBase, ECL_SUMMARY_HEADER_FILE, false, -1); + if (myHeaderFile) + { + formattedFile = false; + } + } + + if (myHeaderFile && headerFile) *headerFile = myHeaderFile; + if (myPath && path) *path = myPath; + if (myBase && base) *base = myBase; + if (isFormatted) *isFormatted = formattedFile; + + util_safe_free(myHeaderFile); + util_safe_free(myBase); + util_safe_free(myPath); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RifEclipseSummaryTools::addressesForCategory(const std::vector& addresses, RifEclipseSummaryAddress::SummaryVarCategory category) +{ + std::vector filteredAddresses; + + for (size_t i = 0; i < addresses.size(); i++) + { + if (addresses[i].category() == category) + { + filteredAddresses.push_back(addresses[i]); + } + } + + return filteredAddresses; +} diff --git a/ApplicationCode/FileInterface/RifEclipseSummaryTools.h b/ApplicationCode/FileInterface/RifEclipseSummaryTools.h new file mode 100644 index 0000000000..48c2b759d8 --- /dev/null +++ b/ApplicationCode/FileInterface/RifEclipseSummaryTools.h @@ -0,0 +1,46 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "RifEclipseSummaryAddress.h" + +#include +#include + +class RifReaderEclipseSummary; + +//================================================================================================== +// +// +// +//================================================================================================== +class RifEclipseSummaryTools +{ +public: + static void findSummaryHeaderFile(const std::string& inputFile, std::string* headerFile, bool* isFormatted); + static std::vector findSummaryDataFiles(const std::string& caseFile); + + static void findSummaryFiles(const std::string& inputFile, std::string* headerFile, std::vector* dataFiles); + static bool hasSummaryFiles(const std::string& gridFileName); + static void dumpMetaData(RifReaderEclipseSummary* readerEclipseSummary); + +private: + static void findSummaryHeaderFileInfo(const std::string& inputFile, std::string* headerFile, std::string* path, std::string* base, bool* isFormatted); + static std::vector addressesForCategory(const std::vector& addresses, RifEclipseSummaryAddress::SummaryVarCategory category); +}; diff --git a/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.cpp b/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.cpp index 0dbf700e05..3b486c1351 100644 --- a/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.cpp +++ b/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.cpp @@ -21,11 +21,10 @@ #include "RifEclipseUnifiedRestartFileAccess.h" #include "RifEclipseOutputFileTools.h" -#include "ecl_kw_magic.h" -#include -#include -#include -#include +#include "ert/ecl/ecl_file.h" +#include "ert/ecl/ecl_kw_magic.h" + +#include //-------------------------------------------------------------------------------------------------- /// Constructor @@ -105,6 +104,7 @@ std::vector RifEclipseUnifiedRestartFileAccess::timeSteps() return timeSteps; } + //-------------------------------------------------------------------------------------------------- /// Get list of result names //-------------------------------------------------------------------------------------------------- @@ -112,7 +112,10 @@ void RifEclipseUnifiedRestartFileAccess::resultNames(QStringList* resultNames, s { if (openFile()) { - RifEclipseOutputFileTools::findKeywordsAndDataItemCounts(m_ecl_file, resultNames, resultDataItemCounts); + std::vector< ecl_file_type* > filesUsedToFindAvailableKeywords; + filesUsedToFindAvailableKeywords.push_back(m_ecl_file); + + RifEclipseOutputFileTools::findKeywordsAndItemCount(filesUsedToFindAvailableKeywords, resultNames, resultDataItemCounts); } } @@ -126,24 +129,27 @@ bool RifEclipseUnifiedRestartFileAccess::results(const QString& resultName, size return false; } - size_t numOccurrences = ecl_file_get_num_named_kw(m_ecl_file, resultName.toAscii().data()); - - size_t startIndex = timeStep * gridCount; - CVF_ASSERT(startIndex + gridCount <= numOccurrences); + ecl_file_push_block(m_ecl_file); - size_t occurrenceIdx; - for (occurrenceIdx = startIndex; occurrenceIdx < startIndex + gridCount; occurrenceIdx++) + for (size_t i = 0; i < gridCount; i++) { - std::vector partValues; - RifEclipseOutputFileTools::keywordData(m_ecl_file, resultName, occurrenceIdx, &partValues); + ecl_file_select_block(m_ecl_file, INTEHEAD_KW, static_cast(timeStep * gridCount + i)); - values->insert(values->end(), partValues.begin(), partValues.end()); + int namedKeywordCount = ecl_file_get_num_named_kw(m_ecl_file, resultName.toAscii().data()); + for (int iOcc = 0; iOcc < namedKeywordCount; iOcc++) + { + std::vector partValues; + RifEclipseOutputFileTools::keywordData(m_ecl_file, resultName, iOcc, &partValues); + + values->insert(values->end(), partValues.begin(), partValues.end()); + } } + ecl_file_pop_block(m_ecl_file); + return true; } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.h b/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.h index f119c75701..14a0e1d14b 100644 --- a/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.h +++ b/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.h @@ -26,7 +26,9 @@ class RifEclipseOutputFileTools; //typedef struct ecl_file_struct ecl_file_type; -#include "well_info.h" +#include "ert/ecl_well/well_info.h" + + //================================================================================================== // @@ -44,7 +46,7 @@ class RifEclipseUnifiedRestartFileAccess : public RifEclipseRestartDataAccess void close(); size_t timeStepCount(); - std::vector timeSteps(); + std::vector timeSteps(); std::vector reportNumbers(); void resultNames(QStringList* resultNames, std::vector* resultDataItemCounts); @@ -56,7 +58,6 @@ class RifEclipseUnifiedRestartFileAccess : public RifEclipseRestartDataAccess private: bool openFile(); - private: QString m_filename; ecl_file_type* m_ecl_file; diff --git a/ApplicationCode/FileInterface/RifJsonEncodeDecode.cpp b/ApplicationCode/FileInterface/RifJsonEncodeDecode.cpp index 4f333ef58c..99ddfcacfb 100644 --- a/ApplicationCode/FileInterface/RifJsonEncodeDecode.cpp +++ b/ApplicationCode/FileInterface/RifJsonEncodeDecode.cpp @@ -26,6 +26,7 @@ #include #include +namespace ResInsightInternalJson { QMap JsonReader::decodeFile(QString filePath) { @@ -141,3 +142,5 @@ QList Json::decodeInnerToList(QScriptValue arrayValue) } return list; } + +} // end ResInsightInternalJson \ No newline at end of file diff --git a/ApplicationCode/FileInterface/RifJsonEncodeDecode.h b/ApplicationCode/FileInterface/RifJsonEncodeDecode.h index 1e8a3980ed..318d09116b 100644 --- a/ApplicationCode/FileInterface/RifJsonEncodeDecode.h +++ b/ApplicationCode/FileInterface/RifJsonEncodeDecode.h @@ -16,6 +16,8 @@ // ///////////////////////////////////////////////////////////////////////////////// +#pragma once + // Json parser based on code example found on: // http://stackoverflow.com/questions/4169988/easiest-way-to-parse-json-in-qt-4-7 @@ -34,6 +36,9 @@ class QScriptEngine; +// Encapsulate the JSON code in a namespace to avoid issues with JSON classes used in opm-parser +namespace ResInsightInternalJson { + class JsonReader { public: @@ -56,3 +61,6 @@ class Json QMap decodeInner(QScriptValue object); QList decodeInnerToList(QScriptValue arrayValue); }; + + +} // end ResInsightInternalJson \ No newline at end of file diff --git a/ApplicationCode/FileInterface/RifReaderEclipseInput.cpp b/ApplicationCode/FileInterface/RifReaderEclipseInput.cpp index 2f6ff3f235..ed8ced8a9e 100644 --- a/ApplicationCode/FileInterface/RifReaderEclipseInput.cpp +++ b/ApplicationCode/FileInterface/RifReaderEclipseInput.cpp @@ -18,23 +18,10 @@ // ///////////////////////////////////////////////////////////////////////////////// -#include "cvfBase.h" - -#include "RigMainGrid.h" -#include "RigCaseData.h" -#include "RigCaseCellResultsData.h" - #include "RifReaderEclipseInput.h" -#include "RifReaderEclipseOutput.h" #include "RifEclipseInputFileTools.h" - -#include -#include - -#include "ecl_grid.h" -#include "well_state.h" -#include "util.h" +#include "RigCaseData.h" //================================================================================================== // diff --git a/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp b/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp index 1d6334e8d5..b04c22dc6f 100644 --- a/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp +++ b/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp @@ -24,22 +24,20 @@ #include "RigCaseData.h" #include "RigMainGrid.h" -#include "RifEclipseInputFileTools.h" #include "RifEclipseOutputFileTools.h" #include "RifEclipseRestartFilesetAccess.h" #include "RifEclipseUnifiedRestartFileAccess.h" -#include "RifReaderInterface.h" +#include "RifReaderOpmParserInput.h" #include "cafProgressInfo.h" -#include "ecl_grid.h" -#include "well_state.h" -#include "ecl_kw_magic.h" -#include "ecl_nnc_export.h" +#include "ert/ecl/ecl_nnc_export.h" +#include "ert/ecl/ecl_kw_magic.h" #include #include #include // Needed for HUGE_VAL on Linux +#include "RifEclipseInputFileTools.h" //-------------------------------------------------------------------------------------------------- @@ -387,42 +385,13 @@ bool RifReaderEclipseOutput::open(const QString& fileName, RigCaseData* eclipseC if (isFaultImportEnabled()) { - if (this->filenamesWithFaults().size() > 0) - { - cvf::Collection faults; - std::vector< RifKeywordAndFilePos > fileKeywords; - - for (size_t i = 0; i < this->filenamesWithFaults().size(); i++) - { - QString faultFilename = this->filenamesWithFaults()[i]; - - RifEclipseInputFileTools::readFaults(faultFilename, faults, fileKeywords); - } - - RigMainGrid* mainGrid = eclipseCase->mainGrid(); - mainGrid->setFaults(faults); - } - else - { - foreach (QString fname, fileSet) - { - if (fname.endsWith(".DATA")) - { - cvf::Collection faults; - std::vector filenamesWithFaults; - RifEclipseInputFileTools::readFaultsInGridSection(fname, faults, filenamesWithFaults); - - RigMainGrid* mainGrid = eclipseCase->mainGrid(); - mainGrid->setFaults(faults); + cvf::Collection faults; - std::sort(filenamesWithFaults.begin(), filenamesWithFaults.end()); - std::vector::iterator last = std::unique(filenamesWithFaults.begin(), filenamesWithFaults.end()); - filenamesWithFaults.erase(last, filenamesWithFaults.end()); + //importFaultsOpmParser(fileSet, &faults); + importFaults(fileSet, &faults); - this->setFilenamesWithFaults(filenamesWithFaults); - } - } - } + RigMainGrid* mainGrid = eclipseCase->mainGrid(); + mainGrid->setFaults(faults); } progInfo.incrementProgress(); @@ -465,6 +434,56 @@ bool RifReaderEclipseOutput::open(const QString& fileName, RigCaseData* eclipseC return true; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifReaderEclipseOutput::importFaultsOpmParser(const QStringList& fileSet, cvf::Collection* faults) const +{ + foreach(QString fname, fileSet) + { + if (fname.endsWith(".DATA")) + { + RifReaderOpmParserInput::readFaults(fname, faults); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifReaderEclipseOutput::importFaults(const QStringList& fileSet, cvf::Collection* faults) +{ + if (this->filenamesWithFaults().size() > 0) + { + for (size_t i = 0; i < this->filenamesWithFaults().size(); i++) + { + QString faultFilename = this->filenamesWithFaults()[i]; + + RifEclipseInputFileTools::parseAndReadFaults(faultFilename, faults); + } + } + else + { + foreach(QString fname, fileSet) + { + if (fname.endsWith(".DATA")) + { + std::vector filenamesWithFaults; + RifEclipseInputFileTools::readFaultsInGridSection(fname, faults, &filenamesWithFaults); + + std::sort(filenamesWithFaults.begin(), filenamesWithFaults.end()); + std::vector::iterator last = std::unique(filenamesWithFaults.begin(), filenamesWithFaults.end()); + filenamesWithFaults.erase(last, filenamesWithFaults.end()); + + this->setFilenamesWithFaults(filenamesWithFaults); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- void RifReaderEclipseOutput::transferNNCData( const ecl_grid_type * mainEclGrid , const ecl_file_type * init_file, RigMainGrid * mainGrid) { if (!m_ecl_init_file ) return; @@ -710,7 +729,10 @@ void RifReaderEclipseOutput::buildMetaData() { QStringList resultNames; std::vector resultNamesDataItemCounts; - RifEclipseOutputFileTools::findKeywordsAndDataItemCounts(m_ecl_init_file, &resultNames, &resultNamesDataItemCounts); + std::vector< ecl_file_type* > filesUsedToFindAvailableKeywords; + filesUsedToFindAvailableKeywords.push_back(m_ecl_init_file); + + RifEclipseOutputFileTools::findKeywordsAndItemCount(filesUsedToFindAvailableKeywords, &resultNames, &resultNamesDataItemCounts); { QStringList matrixResultNames = validKeywordsForPorosityModel(resultNames, resultNamesDataItemCounts, @@ -881,12 +903,11 @@ struct SegmentPositionContribution //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RigWellResultPoint RifReaderEclipseOutput::createWellResultPoint(const RigGridBase* grid, const well_conn_type* ert_connection, int ertBranchId, int ertSegmentId) +RigWellResultPoint RifReaderEclipseOutput::createWellResultPoint(const RigGridBase* grid, const well_conn_type* ert_connection, int ertBranchId, int ertSegmentId, const char* wellName) { CVF_ASSERT(ert_connection); CVF_ASSERT(grid); - RigWellResultPoint resultPoint; int cellI = well_conn_get_i( ert_connection ); int cellJ = well_conn_get_j( ert_connection ); int cellK = well_conn_get_k( ert_connection ); @@ -899,18 +920,50 @@ RigWellResultPoint RifReaderEclipseOutput::createWellResultPoint(const RigGridBa cellK -= static_cast(grid->cellCountK()); } + // See description for keyword ICON at page 54/55 of Rile Formats Reference Manual 2010.2 + /* + Integer completion data array + ICON(NICONZ,NCWMAX,NWELLS) with dimensions + defined by INTEHEAD. The following items are required for each completion in each well: + Item 1 - Well connection index ICON(1,IC,IWELL) = IC (set to -IC if connection is not in current LGR) + Item 2 - I-coordinate (<= 0 if not in this LGR) + Item 3 - J-coordinate (<= 0 if not in this LGR) + Item 4 - K-coordinate (<= 0 if not in this LGR) + Item 6 - Connection status > 0 open, <= 0 shut + Item 14 - Penetration direction (1=x, 2=y, 3=z, 4=fractured in x-direction, 5=fractured in y-direction) + If undefined or zero, assume Z + Item 15 - Segment number containing connection (for multi-segment wells, =0 for ordinary wells) + Undefined items in this array may be set to zero. + */ + // The K value might also be -1. It is not yet known why, or what it is supposed to mean, // but for now we will interpret as 0. // TODO: Ask Joakim Haave regarding this. - if (cellK < 0) cellK = 0; + if (cellK < 0) + { + //cvf::Trace::show("Well Connection for grid " + cvf::String(grid->gridName()) + "\n - Detected negative K value (K=" + cvf::String(cellK) + ") for well : " + cvf::String(wellName) + " K clamped to 0"); + + cellK = 0; + } + + RigWellResultPoint resultPoint; - resultPoint.m_gridIndex = grid->gridIndex(); - resultPoint.m_gridCellIndex = grid->cellIndexFromIJK(cellI, cellJ, cellK); + // Introduced based on discussion with Håkon Høgstøl 08.09.2016 + if (cellK >= static_cast(grid->cellCountK())) + { + int maxCellKIndex = static_cast(grid->cellCountK() - 1); + cvf::Trace::show("Well Connection for grid " + cvf::String(grid->gridName()) + "\n - Ignored connection with invalid K value (K=" + cvf::String(cellK) + ") for well : " + cvf::String(wellName)); + } + else + { + resultPoint.m_gridIndex = grid->gridIndex(); + resultPoint.m_gridCellIndex = grid->cellIndexFromIJK(cellI, cellJ, cellK); - resultPoint.m_isOpen = isCellOpen; + resultPoint.m_isOpen = isCellOpen; - resultPoint.m_ertBranchId = ertBranchId; - resultPoint.m_ertSegmentId = ertSegmentId; + resultPoint.m_ertBranchId = ertBranchId; + resultPoint.m_ertSegmentId = ertSegmentId; + } return resultPoint; } @@ -1178,7 +1231,7 @@ void RifReaderEclipseOutput::readWellCells(const ecl_grid_type* mainEclGrid, boo const well_conn_type* ert_wellhead = well_state_iget_wellhead(ert_well_state, static_cast(gridNr)); if (ert_wellhead) { - wellResFrame.m_wellHead = createWellResultPoint(grids[gridNr], ert_wellhead, -1, -1 ); + wellResFrame.m_wellHead = createWellResultPoint(grids[gridNr], ert_wellhead, -1, -1, wellName); // HACK: Ert returns open as "this is equally wrong as closed for well heads". // Well heads are not open jfr mail communication with HHGS and JH Statoil 07.01.2016 @@ -1238,7 +1291,7 @@ void RifReaderEclipseOutput::readWellCells(const ecl_grid_type* mainEclGrid, boo { well_conn_type* ert_connection = well_conn_collection_iget(connections, connIdx); wellResultBranch.m_branchResultPoints.push_back( - createWellResultPoint(grids[gridNr], ert_connection, branchId, well_segment_get_id(segment))); + createWellResultPoint(grids[gridNr], ert_connection, branchId, well_segment_get_id(segment), wellName)); } segmentHasConnections = true; @@ -1246,7 +1299,7 @@ void RifReaderEclipseOutput::readWellCells(const ecl_grid_type* mainEclGrid, boo // Prepare data for segment position calculation well_conn_type* ert_connection = well_conn_collection_iget(connections, 0); - RigWellResultPoint point = createWellResultPoint(grids[gridNr], ert_connection, branchId, well_segment_get_id(segment)); + RigWellResultPoint point = createWellResultPoint(grids[gridNr], ert_connection, branchId, well_segment_get_id(segment), wellName); lastConnectionPos = grids[gridNr]->cell(point.m_gridCellIndex).center(); cvf::Vec3d cellVxes[8]; grids[gridNr]->cellCornerVertices(point.m_gridCellIndex, cellVxes); @@ -1318,7 +1371,7 @@ void RifReaderEclipseOutput::readWellCells(const ecl_grid_type* mainEclGrid, boo // Select the deepest connection well_conn_type* ert_connection = well_conn_collection_iget(connections, connectionCount-1); wellResultBranch.m_branchResultPoints.push_back( - createWellResultPoint(grids[gridNr], ert_connection, branchId, well_segment_get_id(outletSegment))); + createWellResultPoint(grids[gridNr], ert_connection, branchId, well_segment_get_id(outletSegment), wellName)); outletSegmentHasConnections = true; break; // Stop looping over grids @@ -1531,7 +1584,7 @@ void RifReaderEclipseOutput::readWellCells(const ecl_grid_type* mainEclGrid, boo const well_conn_type* ert_wellhead = well_state_iget_wellhead(ert_well_state, static_cast(gridNr)); if (ert_wellhead) { - wellResFrame.m_wellHead = createWellResultPoint(grids[gridNr], ert_wellhead, -1, -1 ); + wellResFrame.m_wellHead = createWellResultPoint(grids[gridNr], ert_wellhead, -1, -1, wellName); // HACK: Ert returns open as "this is equally wrong as closed for well heads". // Well heads are not open jfr mail communication with HHGS and JH Statoil 07.01.2016 wellResFrame.m_wellHead.m_isOpen = false; @@ -1565,7 +1618,7 @@ void RifReaderEclipseOutput::readWellCells(const ecl_grid_type* mainEclGrid, boo { well_conn_type* ert_connection = well_conn_collection_iget(connections, connIdx); wellResultBranch.m_branchResultPoints[existingCellCount + connIdx] = - createWellResultPoint(grids[gridNr], ert_connection, -1, -1); + createWellResultPoint(grids[gridNr], ert_connection, -1, -1, wellName); } } } @@ -1590,18 +1643,21 @@ void RifReaderEclipseOutput::readWellCells(const ecl_grid_type* mainEclGrid, boo //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -QStringList RifReaderEclipseOutput::validKeywordsForPorosityModel(const QStringList& keywords, const std::vector& keywordDataItemCounts, - const RigActiveCellInfo* activeCellInfo, const RigActiveCellInfo* fractureActiveCellInfo, - PorosityModelResultType matrixOrFracture, size_t timeStepCount) const +QStringList RifReaderEclipseOutput::validKeywordsForPorosityModel(const QStringList& keywords, + const std::vector& keywordDataItemCounts, + const RigActiveCellInfo* matrixActiveCellInfo, + const RigActiveCellInfo* fractureActiveCellInfo, + PorosityModelResultType porosityModel, + size_t timeStepCount) const { - CVF_ASSERT(activeCellInfo); + CVF_ASSERT(matrixActiveCellInfo); if (keywords.size() != static_cast(keywordDataItemCounts.size())) { return QStringList(); } - if (matrixOrFracture == RifReaderInterface::FRACTURE_RESULTS) + if (porosityModel == RifReaderInterface::FRACTURE_RESULTS) { if (fractureActiveCellInfo->reservoirActiveCellCount() == 0) { @@ -1614,47 +1670,72 @@ QStringList RifReaderEclipseOutput::validKeywordsForPorosityModel(const QStringL for (int i = 0; i < keywords.size(); i++) { QString keyword = keywords[i]; + size_t keywordDataItemCount = keywordDataItemCounts[i]; - if (activeCellInfo->reservoirActiveCellCount() > 0) + bool validKeyword = false; + + size_t timeStepsAllCellsRest = keywordDataItemCount % matrixActiveCellInfo->reservoirCellCount(); + if (timeStepsAllCellsRest == 0 && keywordDataItemCount <= timeStepCount * matrixActiveCellInfo->reservoirCellCount()) { - size_t timeStepsAllCellsRest = keywordDataItemCounts[i] % activeCellInfo->reservoirCellCount(); + // Found result for all cells for N time steps, usually a static dataset for one time step + validKeyword = true; + } + else + { + size_t timeStepsMatrixRest = keywordDataItemCount % matrixActiveCellInfo->reservoirActiveCellCount(); + + size_t timeStepsFractureRest = 0; + if (fractureActiveCellInfo->reservoirActiveCellCount() > 0) + { + timeStepsFractureRest = keywordDataItemCount % fractureActiveCellInfo->reservoirActiveCellCount(); + } - size_t timeStepsMatrix = keywordDataItemCounts[i] / activeCellInfo->reservoirActiveCellCount(); - size_t timeStepsMatrixRest = keywordDataItemCounts[i] % activeCellInfo->reservoirActiveCellCount(); - - size_t timeStepsMatrixAndFracture = keywordDataItemCounts[i] / (activeCellInfo->reservoirActiveCellCount() + fractureActiveCellInfo->reservoirActiveCellCount()); - size_t timeStepsMatrixAndFractureRest = keywordDataItemCounts[i] % (activeCellInfo->reservoirActiveCellCount() + fractureActiveCellInfo->reservoirActiveCellCount()); + size_t sumFractureMatrixActiveCellCount = matrixActiveCellInfo->reservoirActiveCellCount() + fractureActiveCellInfo->reservoirActiveCellCount(); + size_t timeStepsMatrixAndFractureRest = keywordDataItemCount % sumFractureMatrixActiveCellCount; - if (matrixOrFracture == RifReaderInterface::MATRIX_RESULTS) + if (porosityModel == RifReaderInterface::MATRIX_RESULTS && timeStepsMatrixRest == 0) { - if (timeStepsMatrixRest == 0 || timeStepsMatrixAndFractureRest == 0) + if (keywordDataItemCount <= timeStepCount * std::max(matrixActiveCellInfo->reservoirActiveCellCount(), sumFractureMatrixActiveCellCount)) { - if (timeStepCount == timeStepsMatrix || timeStepCount == timeStepsMatrixAndFracture) - { - keywordsWithCorrectNumberOfDataItems.push_back(keywords[i]); - } + validKeyword = true; } - else if (timeStepsAllCellsRest == 0) + } + else if (porosityModel == RifReaderInterface::FRACTURE_RESULTS && fractureActiveCellInfo->reservoirActiveCellCount() > 0 && timeStepsFractureRest == 0) + { + if (keywordDataItemCount <= timeStepCount * std::max(fractureActiveCellInfo->reservoirActiveCellCount(), sumFractureMatrixActiveCellCount)) { - keywordsWithCorrectNumberOfDataItems.push_back(keywords[i]); + validKeyword = true; } - } - else + else if (timeStepsMatrixAndFractureRest == 0) { - if (timeStepsMatrixAndFractureRest == 0 && timeStepCount == timeStepsMatrixAndFracture) + if (keywordDataItemCount <= timeStepCount * sumFractureMatrixActiveCellCount) { - keywordsWithCorrectNumberOfDataItems.push_back(keywords[i]); + validKeyword = true; } - else if (timeStepsAllCellsRest == 0) + } + } + + // Check for INIT values that has only values for main grid active cells + if (!validKeyword) + { + if (timeStepCount == 1) + { + size_t mainGridMatrixActiveCellCount; matrixActiveCellInfo->gridActiveCellCounts(0, mainGridMatrixActiveCellCount); + size_t mainGridFractureActiveCellCount; fractureActiveCellInfo->gridActiveCellCounts(0, mainGridFractureActiveCellCount); + + if ( keywordDataItemCount == mainGridMatrixActiveCellCount + || keywordDataItemCount == mainGridFractureActiveCellCount + || keywordDataItemCount == mainGridMatrixActiveCellCount + mainGridFractureActiveCellCount ) { - keywordsWithCorrectNumberOfDataItems.push_back(keywords[i]); + validKeyword = true; } } } - else + + if (validKeyword) { - keywordsWithCorrectNumberOfDataItems.push_back(keywords[i]); + keywordsWithCorrectNumberOfDataItems.push_back(keyword); } } @@ -1667,8 +1748,9 @@ QStringList RifReaderEclipseOutput::validKeywordsForPorosityModel(const QStringL //-------------------------------------------------------------------------------------------------- void RifReaderEclipseOutput::extractResultValuesBasedOnPorosityModel(PorosityModelResultType matrixOrFracture, std::vector* destinationResultValues, const std::vector& sourceResultValues) { - RigActiveCellInfo* fracActCellInfo = m_eclipseCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS); + if (sourceResultValues.size() == 0) return; + RigActiveCellInfo* fracActCellInfo = m_eclipseCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS); if (matrixOrFracture == RifReaderInterface::MATRIX_RESULTS && fracActCellInfo->reservoirActiveCellCount() == 0) { diff --git a/ApplicationCode/FileInterface/RifReaderEclipseOutput.h b/ApplicationCode/FileInterface/RifReaderEclipseOutput.h index b93d19c308..431d4cc39b 100644 --- a/ApplicationCode/FileInterface/RifReaderEclipseOutput.h +++ b/ApplicationCode/FileInterface/RifReaderEclipseOutput.h @@ -21,11 +21,13 @@ #pragma once #include "RifReaderInterface.h" -#include -#include +#include "RigFault.h" #include "RigSingleWellResultsData.h" +#include +#include + class RifEclipseOutputFileTools; class RifEclipseRestartDataAccess; class RigGridBase; @@ -48,6 +50,7 @@ class RifReaderEclipseOutput : public RifReaderInterface virtual ~RifReaderEclipseOutput(); bool open(const QString& fileName, RigCaseData* eclipseCase); + virtual bool openAndReadActiveCellData(const QString& fileName, const std::vector& mainCaseTimeSteps, RigCaseData* eclipseCase); void close(); @@ -64,8 +67,10 @@ class RifReaderEclipseOutput : public RifReaderInterface std::string ertGridName( size_t gridNr ); - static RigWellResultPoint createWellResultPoint(const RigGridBase* grid, const well_conn_type* ert_connection, int ertBranchId, int ertSegmentId); + static RigWellResultPoint createWellResultPoint(const RigGridBase* grid, const well_conn_type* ert_connection, int ertBranchId, int ertSegmentId, const char* wellName); + void importFaultsOpmParser(const QStringList& fileSet, cvf::Collection* faults) const; + void importFaults(const QStringList& fileSet, cvf::Collection* faults); void openInitFile(); diff --git a/ApplicationCode/FileInterface/RifReaderEclipseSummary.cpp b/ApplicationCode/FileInterface/RifReaderEclipseSummary.cpp new file mode 100644 index 0000000000..d3e0b8b1bc --- /dev/null +++ b/ApplicationCode/FileInterface/RifReaderEclipseSummary.cpp @@ -0,0 +1,383 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RifReaderEclipseSummary.h" + +#include "ert/ecl/ecl_sum.h" + +#include +#include + +#include +#include "ert/ecl/smspec_node.h" + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifReaderEclipseSummary::RifReaderEclipseSummary() + : ecl_sum(NULL) +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifReaderEclipseSummary::~RifReaderEclipseSummary() +{ + close(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifReaderEclipseSummary::open(const std::string& headerFileName, const std::vector& dataFileNames) +{ + assert(ecl_sum == NULL); + + if (headerFileName.empty() || dataFileNames.size() == 0) return false; + + assert(!headerFileName.empty()); + assert(dataFileNames.size() > 0); + + stringlist_type* dataFiles = stringlist_alloc_new(); + for (size_t i = 0; i < dataFileNames.size(); i++) + { + stringlist_append_copy(dataFiles, dataFileNames[i].data()); + } + + std::string itemSeparatorInVariableNames = ":"; + ecl_sum = ecl_sum_fread_alloc(headerFileName.data(), dataFiles, itemSeparatorInVariableNames.data()); + + stringlist_free(dataFiles); + + if (ecl_sum) + { + eclSmSpec = ecl_sum_get_smspec(ecl_sum); + assert(eclSmSpec != NULL); + + assert(ecl_sum != NULL); + + for ( int time_index = 0; time_index < timeStepCount(); time_index++ ) + { + time_t sim_time = ecl_sum_iget_sim_time(ecl_sum, time_index); + m_timeSteps.push_back(sim_time); + } + + return true; + } + + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifReaderEclipseSummary::close() +{ + if (ecl_sum) + { + ecl_sum_free(ecl_sum); + ecl_sum = NULL; + } +} + +RifEclipseSummaryAddress addressFromErtSmSpecNode(const smspec_node_type * ertSumVarNode) +{ + if (smspec_node_get_var_type(ertSumVarNode) == ECL_SMSPEC_INVALID_VAR) return RifEclipseSummaryAddress(); + + RifEclipseSummaryAddress::SummaryVarCategory sumCategory(RifEclipseSummaryAddress::SUMMARY_INVALID); + std::string quantityName; + int regionNumber(-1); + int regionNumber2(-1); + std::string wellGroupName; + std::string wellName; + int wellSegmentNumber(-1); + std::string lgrName; + int cellI(-1); + int cellJ(-1); + int cellK(-1); + + quantityName = smspec_node_get_keyword(ertSumVarNode); + + switch (smspec_node_get_var_type(ertSumVarNode)) + { + case ECL_SMSPEC_AQUIFER_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_AQUIFER; + } + break; + case ECL_SMSPEC_WELL_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_WELL; + wellName = smspec_node_get_wgname(ertSumVarNode); + } + break; + case ECL_SMSPEC_REGION_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_REGION; + regionNumber = smspec_node_get_num(ertSumVarNode); + } + break; + case ECL_SMSPEC_FIELD_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_FIELD; + } + break; + case ECL_SMSPEC_GROUP_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_WELL_GROUP; + wellGroupName = smspec_node_get_wgname(ertSumVarNode); + } + break; + case ECL_SMSPEC_BLOCK_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_BLOCK; + + const int* ijk = smspec_node_get_ijk(ertSumVarNode); + cellI = ijk[0]; + cellJ = ijk[1]; + cellK = ijk[2]; + } + break; + case ECL_SMSPEC_COMPLETION_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION; + wellName = smspec_node_get_wgname(ertSumVarNode); + const int* ijk = smspec_node_get_ijk(ertSumVarNode); + cellI = ijk[0]; + cellJ = ijk[1]; + cellK = ijk[2]; + } + break; + case ECL_SMSPEC_LOCAL_BLOCK_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR; + lgrName = smspec_node_get_lgr_name(ertSumVarNode); + const int* ijk = smspec_node_get_lgr_ijk(ertSumVarNode); + cellI = ijk[0]; + cellJ = ijk[1]; + cellK = ijk[2]; + } + break; + case ECL_SMSPEC_LOCAL_COMPLETION_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION_LGR; + wellName = smspec_node_get_wgname(ertSumVarNode); + lgrName = smspec_node_get_lgr_name(ertSumVarNode); + const int* ijk = smspec_node_get_lgr_ijk(ertSumVarNode); + cellI = ijk[0]; + cellJ = ijk[1]; + cellK = ijk[2]; + } + break; + case ECL_SMSPEC_LOCAL_WELL_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_WELL_LGR; + wellName = smspec_node_get_wgname(ertSumVarNode); + lgrName = smspec_node_get_lgr_name(ertSumVarNode); + } + break; + case ECL_SMSPEC_NETWORK_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_NETWORK; + } + break; + case ECL_SMSPEC_REGION_2_REGION_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION; + regionNumber = smspec_node_get_R1(ertSumVarNode); + regionNumber2 = smspec_node_get_R2(ertSumVarNode); + + } + break; + case ECL_SMSPEC_SEGMENT_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT; + wellSegmentNumber = smspec_node_get_num(ertSumVarNode); + } + break; + case ECL_SMSPEC_MISC_VAR: + { + sumCategory = RifEclipseSummaryAddress::SUMMARY_MISC; + } + break; + default: + CVF_ASSERT(false); + break; + } + + return RifEclipseSummaryAddress(sumCategory, + quantityName, + regionNumber, + regionNumber2, + wellGroupName, + wellName, + wellSegmentNumber, + lgrName, + cellI, cellJ, cellK); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RifReaderEclipseSummary::allResultAddresses() +{ + buildMetaData(); + + return m_allResultAddresses; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifReaderEclipseSummary::values(const RifEclipseSummaryAddress& resultAddress, std::vector* values) +{ + assert(ecl_sum != NULL); + + int variableIndex = indexFromAddress(resultAddress); + + if ( variableIndex < 0 ) return false; + + values->clear(); + int tsCount = timeStepCount(); + values->reserve(timeStepCount()); + + + const smspec_node_type * ertSumVarNode = ecl_smspec_iget_node(eclSmSpec, variableIndex); + int paramsIndex = smspec_node_get_params_index(ertSumVarNode); + + for(int time_index = 0; time_index < tsCount; time_index++) + { + double value = ecl_sum_iget(ecl_sum, time_index, paramsIndex); + values->push_back(value); + } + + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int RifReaderEclipseSummary::timeStepCount() const +{ + assert(ecl_sum != NULL); + + return ecl_sum_get_data_length(ecl_sum); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RifReaderEclipseSummary::timeSteps() const +{ + assert(ecl_sum != NULL); + + return m_timeSteps; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RifReaderEclipseSummary::fromTimeT(const std::vector& timeSteps) +{ + std::vector a; + + for (size_t i = 0; i < timeSteps.size(); i++) + { + QDateTime dt = QDateTime::fromTime_t(timeSteps[i]); + a.push_back(dt); + } + + return a; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int RifReaderEclipseSummary::indexFromAddress(const RifEclipseSummaryAddress& resultAddress) +{ + this->buildMetaData(); + + auto it = m_resultAddressToErtNodeIdx.find(resultAddress); + if (it != m_resultAddressToErtNodeIdx.end()) + { + return it->second; + } + + return -1; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifReaderEclipseSummary::buildMetaData() +{ + if(m_allResultAddresses.size() == 0) + { + int varCount = ecl_smspec_num_nodes(eclSmSpec); + for(int i = 0; i < varCount; i++) + { + const smspec_node_type * ertSumVarNode = ecl_smspec_iget_node(eclSmSpec, i); + RifEclipseSummaryAddress addr = addressFromErtSmSpecNode(ertSumVarNode); + m_allResultAddresses.push_back(addr); + m_resultAddressToErtNodeIdx[addr] = i; + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifReaderEclipseSummary::hasAddress(const RifEclipseSummaryAddress& resultAddress) +{ + this->buildMetaData(); + + auto it = m_resultAddressToErtNodeIdx.find(resultAddress); + + return (it != m_resultAddressToErtNodeIdx.end()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::string RifReaderEclipseSummary::unitName(const RifEclipseSummaryAddress& resultAddress) +{ + int variableIndex = indexFromAddress(resultAddress); + + if(variableIndex < 0) return ""; + + const smspec_node_type * ertSumVarNode = ecl_smspec_iget_node(eclSmSpec, variableIndex); + return smspec_node_get_unit(ertSumVarNode); +} + +#if 0 +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifReaderEclipseSummary::populateVectorFromStringList(stringlist_type* stringList, std::vector* strings) +{ + assert(stringList && strings); + + for (int i = 0; i < stringlist_get_size(stringList); i++) + { + strings->push_back(stringlist_iget(stringList, i)); + } +} + +#endif \ No newline at end of file diff --git a/ApplicationCode/FileInterface/RifReaderEclipseSummary.h b/ApplicationCode/FileInterface/RifReaderEclipseSummary.h new file mode 100644 index 0000000000..8bc5136110 --- /dev/null +++ b/ApplicationCode/FileInterface/RifReaderEclipseSummary.h @@ -0,0 +1,75 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "RifEclipseSummaryAddress.h" + +#include +#include +#include + +#include "cvfObject.h" + + +class QDateTime; + + +//================================================================================================== +// +// +//================================================================================================== +class RifReaderEclipseSummary : public cvf::Object +{ +public: + RifReaderEclipseSummary(); + ~RifReaderEclipseSummary(); + + bool open(const std::string& headerFileName, const std::vector& dataFileNames); + void close(); + + bool hasAddress(const RifEclipseSummaryAddress& resultAddress); + const std::vector& allResultAddresses(); + const std::vector& timeSteps() const; + + bool values(const RifEclipseSummaryAddress& resultAddress, std::vector* values); + std::string unitName(const RifEclipseSummaryAddress& resultAddress); + + // TODO: Move this to a tools class with static members + static std::vector fromTimeT(const std::vector& timeSteps); + +private: + + int timeStepCount() const; + int indexFromAddress(const RifEclipseSummaryAddress& resultAddress); + + void buildMetaData(); +private: + // Taken from ecl_sum.h + typedef struct ecl_sum_struct ecl_sum_type; + typedef struct ecl_smspec_struct ecl_smspec_type; + + ecl_sum_type* ecl_sum; + const ecl_smspec_type * eclSmSpec; + std::vector m_timeSteps; + + std::vector m_allResultAddresses; + std::map m_resultAddressToErtNodeIdx; + +}; + diff --git a/ApplicationCode/FileInterface/RifReaderOpmParserInput.cpp b/ApplicationCode/FileInterface/RifReaderOpmParserInput.cpp new file mode 100644 index 0000000000..5e2553e665 --- /dev/null +++ b/ApplicationCode/FileInterface/RifReaderOpmParserInput.cpp @@ -0,0 +1,649 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RifReaderOpmParserInput.h" + +#include "RifReaderEclipseOutput.h" +#include "RigCaseCellResultsData.h" +#include "RigCaseData.h" +#include "RimEclipseInputCaseOpm.h" +#include "RimEclipseInputProperty.h" +#include "RimEclipseInputPropertyCollection.h" +#include "RiuMainWindow.h" +#include "RiuProcessMonitor.h" + +#include "cafProgressInfo.h" +#include "cvfBase.h" + +#include "opm/parser/eclipse/Deck/DeckItem.hpp" +#include "opm/parser/eclipse/Deck/Section.hpp" +#include "opm/parser/eclipse/Parser/MessageContainer.hpp" +#include "opm/parser/eclipse/Parser/ParseContext.hpp" +#include "opm/parser/eclipse/Parser/Parser.hpp" + +#include "../generated-source/include/opm/parser/eclipse/Parser/ParserKeywords/F.hpp" + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifReaderOpmParserInput::importGridPropertiesFaults(const QString& fileName, RigCaseData* caseData) +{ + RiuMainWindow::instance()->processMonitor()->addStringToLog(QString("\nStarted reading of grid and properties from file : " + fileName + "\n")); + + { + std::shared_ptr eclipseGrid; + std::string errorMessage; + + std::shared_ptr deck; + + try + { + Opm::Parser parser; + + // A default ParseContext will set up all parsing errors to throw exceptions + Opm::ParseContext parseContext; + RifReaderOpmParserInput::initUsingWarnings(&parseContext); + + deck = parser.parseFile(fileName.toStdString(), parseContext); + + if (deck) + { + eclipseGrid = Opm::Parser::parseGrid(*deck, parseContext); + + if (eclipseGrid && eclipseGrid->c_ptr()) + { + RifReaderEclipseOutput::transferGeometry(eclipseGrid->c_ptr(), caseData); + } + else + { + throw std::invalid_argument("No valid 3D grid detected"); + } + + Opm::TableManager tableManager(*deck); + + Opm::Eclipse3DProperties properties(*deck, tableManager, *eclipseGrid); + + std::vector predefKeywords = RifReaderOpmParserInput::knownPropertyKeywords(); + for (auto keyword : predefKeywords) + { + if (properties.supportsGridProperty(keyword)) + { + if (properties.hasDeckDoubleGridProperty(keyword)) + { + auto allValues = properties.getDoubleGridProperty(keyword).getData(); + + QString newResultName = caseData->results(RifReaderInterface::MATRIX_RESULTS)->makeResultNameUnique(QString::fromStdString(keyword)); + size_t resultIndex = RifReaderOpmParserPropertyReader::findOrCreateResult(newResultName, caseData); + + if (resultIndex != cvf::UNDEFINED_SIZE_T) + { + std::vector< std::vector >& newPropertyData = caseData->results(RifReaderInterface::MATRIX_RESULTS)->cellScalarResults(resultIndex); + newPropertyData.push_back(allValues); + } + } + else if (properties.hasDeckIntGridProperty(keyword)) + { + auto intValues = properties.getIntGridProperty(keyword).getData(); + + QString newResultName = caseData->results(RifReaderInterface::MATRIX_RESULTS)->makeResultNameUnique(QString::fromStdString(keyword)); + size_t resultIndex = RifReaderOpmParserPropertyReader::findOrCreateResult(newResultName, caseData); + + if (resultIndex != cvf::UNDEFINED_SIZE_T) + { + std::vector< std::vector >& newPropertyData = caseData->results(RifReaderInterface::MATRIX_RESULTS)->cellScalarResults(resultIndex); + + std::vector doubleValues; + + doubleValues.insert(std::end(doubleValues), std::begin(intValues), std::end(intValues)); + + newPropertyData.push_back(doubleValues); + } + } + } + + if (caseData->results(RifReaderInterface::MATRIX_RESULTS)->resultCount() == 0) + { + // Eclipse3DProperties was not able to extract results. This is often the case when reading a GRDECL file directly + // Parse for known keywords by analyzing the present keywords in the deck + + RifReaderOpmParserPropertyReader propertyReader(deck); + + std::set keywordsOnFile = propertyReader.keywords(); + std::vector predefKeywords = RifReaderOpmParserInput::knownPropertyKeywords(); + for (auto keyword : predefKeywords) + { + if (std::find(keywordsOnFile.begin(), keywordsOnFile.end(), keyword) != keywordsOnFile.end()) + { + QString newResultName = caseData->results(RifReaderInterface::MATRIX_RESULTS)->makeResultNameUnique(QString::fromStdString(keyword)); + propertyReader.copyPropertyToCaseData(keyword, caseData, newResultName); + } + } + } + + if (caseData->mainGrid()) + { + cvf::Collection faults; + importFaults(*deck, &faults); + if (faults.size() > 0) + { + caseData->mainGrid()->setFaults(faults); + } + } + } + } + } + catch (std::exception& e) + { + errorMessage = e.what(); + } + catch (...) + { + errorMessage = "Unknown exception throwm from Opm::Parser"; + } + + if (deck) + { + const Opm::MessageContainer& messages = deck->getMessageContainer(); + if (messages.size() > 0) + { + RiuMainWindow::instance()->processMonitor()->addStringToLog("\n\nLog messages from Deck : \n"); + } + for (auto m : messages) + { + RiuMainWindow::instance()->processMonitor()->addStringToLog(" Deck : " + QString::fromStdString(m.message) + "\n"); + } + } + + if (eclipseGrid) + { + const Opm::MessageContainer& messages = eclipseGrid->getMessageContainer(); + if (messages.size() > 0) + { + RiuMainWindow::instance()->processMonitor()->addStringToLog("\n\nLog messages from EclipseGrid : \n"); + } + for (auto m : messages) + { + RiuMainWindow::instance()->processMonitor()->addStringToLog(" EclipseGrid :" + QString::fromStdString(m.message) + "\n"); + } + } + + if (errorMessage.size() > 0) + { + RiuMainWindow::instance()->processMonitor()->addStringToLog("\n\nError messages : \n"); + RiuMainWindow::instance()->processMonitor()->addStringToLog(" " + QString::fromStdString(errorMessage) + "\n"); + RiuMainWindow::instance()->processMonitor()->addStringToLog(QString("Failed reading of grid and properties from file : " + fileName + "\n")); + } + else + { + RiuMainWindow::instance()->processMonitor()->addStringToLog(QString("Completed reading of grid and properties from file : " + fileName + "\n")); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifReaderOpmParserInput::readFaults(const QString& fileName, cvf::Collection* faults) +{ + { + std::string errorMessage; + + try + { + Opm::Parser parser; + + // A default ParseContext will set up all parsing errors to throw exceptions + Opm::ParseContext parseContext; + RifReaderOpmParserInput::initUsingWarnings(&parseContext); + + auto deckptr = parser.parseFile(fileName.toStdString(), parseContext); + const Opm::Deck& deck = *deckptr; + + importFaults(deck, faults); + + } + catch (std::exception& e) + { + errorMessage = e.what(); + } + catch (...) + { + errorMessage = "Unknown exception throwm from Opm::Parser"; + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifReaderOpmParserInput::importFaults(const Opm::Deck& deck, cvf::Collection* faults) +{ + { + std::string errorMessage; + + try + { + RigFault* fault = NULL; + + // The following is based on Opm::FaultCollection + // Not possible to use this class, as the logic in ResInsight handles IJK-values instead + // of cell indices + const auto& faultKeywords = deck.getKeywordList(); + for (auto keyword_iter = faultKeywords.begin(); keyword_iter != faultKeywords.end(); ++keyword_iter) { + const auto& faultsKeyword = *keyword_iter; + for (auto iter = faultsKeyword->begin(); iter != faultsKeyword->end(); ++iter) { + const auto& faultRecord = *iter; + const std::string& faultName = faultRecord.getItem(0).get< std::string >(0); + int I1 = faultRecord.getItem(1).get< int >(0) - 1; + int I2 = faultRecord.getItem(2).get< int >(0) - 1; + int J1 = faultRecord.getItem(3).get< int >(0) - 1; + int J2 = faultRecord.getItem(4).get< int >(0) - 1; + int K1 = faultRecord.getItem(5).get< int >(0) - 1; + int K2 = faultRecord.getItem(6).get< int >(0) - 1; + + const std::string& faceText = faultRecord.getItem(7).get< std::string >(0); + + cvf::StructGridInterface::FaceEnum cellFaceEnum = RifReaderOpmParserInput::faceEnumFromText(QString::fromStdString(faceText)); + + QString name = QString::fromStdString(faultName); + + // Guard against invalid cell ranges by limiting lowest possible range value to zero + cvf::CellRange cellrange(CVF_MAX(I1, 0), CVF_MAX(J1, 0), CVF_MAX(K1, 0), CVF_MAX(I2, 0), CVF_MAX(J2, 0), CVF_MAX(K2, 0)); + + if (!(fault && fault->name() == name)) + { + if (findFaultByName(*faults, name) == cvf::UNDEFINED_SIZE_T) + { + RigFault* newFault = new RigFault; + newFault->setName(name); + + faults->push_back(newFault); + } + + size_t faultIndex = findFaultByName(*faults, name); + if (faultIndex == cvf::UNDEFINED_SIZE_T) + { + CVF_ASSERT(faultIndex != cvf::UNDEFINED_SIZE_T); + continue; + } + + fault = faults->at(faultIndex); + } + + CVF_ASSERT(fault); + + fault->addCellRangeForFace(cellFaceEnum, cellrange); + } + } + } + catch (std::exception& e) + { + errorMessage = e.what(); + } + catch (...) + { + errorMessage = "Unknown exception throwm from Opm::Parser"; + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RifReaderOpmParserInput::knownPropertyKeywords() +{ + std::vector knownKeywords; + knownKeywords.push_back("AQUIFERA"); + knownKeywords.push_back("ACTNUM"); + knownKeywords.push_back("EQLNUM"); + knownKeywords.push_back("FIPNUM"); + knownKeywords.push_back("KRG"); + knownKeywords.push_back("KRGR"); + knownKeywords.push_back("KRO"); + knownKeywords.push_back("KRORG"); + knownKeywords.push_back("KRORW"); + knownKeywords.push_back("KRW"); + knownKeywords.push_back("KRWR"); + knownKeywords.push_back("MINPVV"); + knownKeywords.push_back("MULTPV"); + knownKeywords.push_back("MULTX"); + knownKeywords.push_back("MULTX-"); + knownKeywords.push_back("MULTY"); + knownKeywords.push_back("MULTY-"); + knownKeywords.push_back("MULTZ"); + knownKeywords.push_back("NTG"); + knownKeywords.push_back("PCG"); + knownKeywords.push_back("PCW"); + knownKeywords.push_back("PERMX"); + knownKeywords.push_back("PERMY"); + knownKeywords.push_back("PERMZ"); + knownKeywords.push_back("PORO"); + knownKeywords.push_back("PVTNUM"); + knownKeywords.push_back("SATNUM"); + knownKeywords.push_back("SGCR"); + knownKeywords.push_back("SGL"); + knownKeywords.push_back("SGLPC"); + knownKeywords.push_back("SGU"); + knownKeywords.push_back("SGWCR"); + knownKeywords.push_back("SWATINIT"); + knownKeywords.push_back("SWCR"); + knownKeywords.push_back("SWGCR"); + knownKeywords.push_back("SWL"); + knownKeywords.push_back("SWLPC"); + knownKeywords.push_back("TRANX"); + knownKeywords.push_back("TRANY"); + knownKeywords.push_back("TRANZ"); + + return knownKeywords; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RifReaderOpmParserInput::allParserConfigKeys() +{ + std::vector configKeys; + configKeys.push_back(Opm::ParseContext::PARSE_UNKNOWN_KEYWORD); + configKeys.push_back(Opm::ParseContext::PARSE_RANDOM_TEXT); + configKeys.push_back(Opm::ParseContext::PARSE_RANDOM_SLASH); + configKeys.push_back(Opm::ParseContext::PARSE_MISSING_DIMS_KEYWORD); + configKeys.push_back(Opm::ParseContext::PARSE_EXTRA_DATA); + configKeys.push_back(Opm::ParseContext::PARSE_MISSING_INCLUDE); + configKeys.push_back(Opm::ParseContext::UNSUPPORTED_SCHEDULE_GEO_MODIFIER); + configKeys.push_back(Opm::ParseContext::UNSUPPORTED_COMPORD_TYPE); + configKeys.push_back(Opm::ParseContext::UNSUPPORTED_INITIAL_THPRES); + configKeys.push_back(Opm::ParseContext::INTERNAL_ERROR_UNINITIALIZED_THPRES); + configKeys.push_back(Opm::ParseContext::PARSE_MISSING_SECTIONS); + + return configKeys; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +size_t RifReaderOpmParserInput::findFaultByName(const cvf::Collection& faults, const QString& name) +{ + for (size_t i = 0; i < faults.size(); i++) + { + if (faults.at(i)->name() == name) + { + return i; + } + } + + return cvf::UNDEFINED_SIZE_T; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::StructGridInterface::FaceEnum RifReaderOpmParserInput::faceEnumFromText(const QString& faceString) +{ + QString upperCaseText = faceString.toUpper().trimmed(); + + if (upperCaseText == "X" || upperCaseText == "X+" || upperCaseText == "I" || upperCaseText == "I+") return cvf::StructGridInterface::POS_I; + if (upperCaseText == "Y" || upperCaseText == "Y+" || upperCaseText == "J" || upperCaseText == "J+") return cvf::StructGridInterface::POS_J; + if (upperCaseText == "Z" || upperCaseText == "Z+" || upperCaseText == "K" || upperCaseText == "K+") return cvf::StructGridInterface::POS_K; + + if (upperCaseText == "X-" || upperCaseText == "I-") return cvf::StructGridInterface::NEG_I; + if (upperCaseText == "Y-" || upperCaseText == "J-") return cvf::StructGridInterface::NEG_J; + if (upperCaseText == "Z-" || upperCaseText == "K-") return cvf::StructGridInterface::NEG_K; + + return cvf::StructGridInterface::NO_FACE; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifReaderOpmParserInput::initUsingWarnings(Opm::ParseContext* parseContext) +{ + if (!parseContext) return; + + for (auto state : allParserConfigKeys()) + { + parseContext->addKey(state); + } + + // Treat all parsing errors as warnings + parseContext->update(Opm::InputError::WARN); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +size_t RifReaderOpmParserPropertyReader::findOrCreateResult(const QString& newResultName, RigCaseData* reservoir) +{ + size_t resultIndex = reservoir->results(RifReaderInterface::MATRIX_RESULTS)->findScalarResultIndex(newResultName); + if (resultIndex == cvf::UNDEFINED_SIZE_T) + { + resultIndex = reservoir->results(RifReaderInterface::MATRIX_RESULTS)->addEmptyScalarResult(RimDefines::INPUT_PROPERTY, newResultName, false); + } + + return resultIndex; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifReaderOpmParserPropertyReader::readAllProperties(std::shared_ptr< Opm::Deck > deck, RigCaseData* caseData, std::map* newResults) +{ + std::set uniqueKeywords; + for (auto it = deck->begin(); it != deck->end(); it++) + { + uniqueKeywords.insert(it->name()); + } + + for (auto keyword : uniqueKeywords) + { + bool isItemCountEqual = RifReaderOpmParserPropertyReader::isDataItemCountIdenticalToMainGridCellCount(deck, keyword, caseData); + + if (isItemCountEqual) + { + std::vector allValues; + + RifReaderOpmParserPropertyReader::getAllValuesForKeyword(deck, keyword, allValues); + + QString keywordName = QString::fromStdString(keyword); + QString newResultName = caseData->results(RifReaderInterface::MATRIX_RESULTS)->makeResultNameUnique(keywordName); + size_t resultIndex = findOrCreateResult(newResultName, caseData); + if (resultIndex != cvf::UNDEFINED_SIZE_T) + { + std::vector< std::vector >& newPropertyData = caseData->results(RifReaderInterface::MATRIX_RESULTS)->cellScalarResults(resultIndex); + newPropertyData.push_back(allValues); + } + + newResults->insert(std::make_pair(newResultName, keywordName)); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifReaderOpmParserPropertyReader::RifReaderOpmParserPropertyReader(std::shared_ptr< Opm::Deck > deck) + : m_deck(deck) +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifReaderOpmParserPropertyReader::RifReaderOpmParserPropertyReader(const QString& fileName) +{ + open(fileName); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifReaderOpmParserPropertyReader::open(const QString& fileName) +{ + { + std::string errorMessage; + + try + { + Opm::Parser parser; + + // A default ParseContext will set up all parsing errors to throw exceptions + Opm::ParseContext parseContext; + + // Treat all parsing errors as warnings + parseContext.update(Opm::InputError::WARN); + + m_deck = parser.parseFile(fileName.toStdString(), parseContext); + } + catch (std::exception& e) + { + errorMessage = e.what(); + } + catch (...) + { + errorMessage = "Unknown exception throwm from Opm::Parser"; + } + } + + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::set RifReaderOpmParserPropertyReader::keywords() const +{ + std::set ids; + + if (m_deck) + { + for (auto it = m_deck->begin(); it != m_deck->end(); it++) + { + ids.insert(it->name()); + } + } + + return ids; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifReaderOpmParserPropertyReader::copyPropertyToCaseData(const std::string& keywordName, RigCaseData* caseData, const QString& resultName) +{ + { + std::string errorMessage; + + try + { + if (m_deck->hasKeyword(keywordName)) + { + bool isItemCountEqual = isDataItemCountIdenticalToMainGridCellCount(m_deck, keywordName, caseData); + if (isItemCountEqual) + { + std::vector allValues; + + getAllValuesForKeyword(m_deck, keywordName, allValues); + + size_t resultIndex = RifReaderOpmParserPropertyReader::findOrCreateResult(resultName, caseData); + if (resultIndex != cvf::UNDEFINED_SIZE_T) + { + std::vector< std::vector >& newPropertyData = caseData->results(RifReaderInterface::MATRIX_RESULTS)->cellScalarResults(resultIndex); + newPropertyData.push_back(allValues); + } + } + } + } + catch (std::exception& e) + { + errorMessage = e.what(); + } + catch (...) + { + errorMessage = "Unknown exception throwm from Opm::Parser"; + } + + QString fileName = QString::fromStdString(m_deck->getDataFile()); + + if (errorMessage.size() > 0) + { + RiuMainWindow::instance()->processMonitor()->addStringToLog(" " + QString::fromStdString(errorMessage) + "\n"); + RiuMainWindow::instance()->processMonitor()->addStringToLog(QString("Error detected while reading property %1 from file : %2\n").arg(QString::fromStdString(keywordName)).arg(fileName)); + } + else + { + RiuMainWindow::instance()->processMonitor()->addStringToLog(QString("Completed reading of property %1 from file : %2\n").arg(QString::fromStdString(keywordName)).arg(fileName)); + } + } + + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifReaderOpmParserPropertyReader::getAllValuesForKeyword(std::shared_ptr< Opm::Deck > deck, const std::string& keyword, std::vector& allValues) +{ + for (auto deckKeyword : deck->getKeywordList(keyword)) + { + if (deckKeyword->isDataKeyword() && deckKeyword->size() == 1) + { + auto deckRecord = deckKeyword->getDataRecord(); + if (deckRecord.size() == 1) + { + if (deckRecord.getDataItem().typeof() == Opm::DeckItem::integer) + { + auto opmData = deckKeyword->getIntData(); + allValues.insert(std::end(allValues), std::begin(opmData), std::end(opmData)); + } + else if (deckRecord.getDataItem().typeof() == Opm::DeckItem::fdouble) + { + auto opmData = deckKeyword->getRawDoubleData(); + allValues.insert(std::end(allValues), std::begin(opmData), std::end(opmData)); + } + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifReaderOpmParserPropertyReader::isDataItemCountIdenticalToMainGridCellCount(std::shared_ptr< Opm::Deck > deck, const std::string& keyword, RigCaseData* caseData) +{ + bool isEqual = false; + { + size_t valueCount = 0; + for (auto deckKeyword : deck->getKeywordList(keyword)) + { + if (deckKeyword->isDataKeyword()) + { + valueCount += deckKeyword->getDataSize(); + } + } + + if (valueCount == caseData->mainGrid()->cellCount()) + { + isEqual = true; + } + } + + return isEqual; +} + diff --git a/ApplicationCode/FileInterface/RifReaderOpmParserInput.h b/ApplicationCode/FileInterface/RifReaderOpmParserInput.h new file mode 100644 index 0000000000..4949929d87 --- /dev/null +++ b/ApplicationCode/FileInterface/RifReaderOpmParserInput.h @@ -0,0 +1,90 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "RigFault.h" + +#include "cvfCollection.h" + +#include +#include +#include +#include +#include + +#include + +class RigCaseData; + +namespace Opm { + class Deck; + class ParseContext; +} + + +//================================================================================================== +// +// +// +//================================================================================================== +class RifReaderOpmParserInput +{ +public: + static void importGridPropertiesFaults(const QString& fileName, RigCaseData* eclipseCase); + + static void readFaults(const QString& fileName, cvf::Collection* faults); + + static std::vector knownPropertyKeywords(); + +private: + static void importFaults(const Opm::Deck& deck, cvf::Collection* faults); + static std::vector allParserConfigKeys(); + static size_t findFaultByName(const cvf::Collection& faults, const QString& name); + static cvf::StructGridInterface::FaceEnum faceEnumFromText(const QString& faceString); + static void initUsingWarnings(Opm::ParseContext* parseContext); +}; + + + +//================================================================================================== +// +// +// +//================================================================================================== +class RifReaderOpmParserPropertyReader +{ +public: + RifReaderOpmParserPropertyReader(std::shared_ptr< Opm::Deck > deck); + RifReaderOpmParserPropertyReader(const QString& fileName); + + std::set keywords() const; + + bool copyPropertyToCaseData(const std::string& keywordName, RigCaseData* eclipseCase, const QString& resultName); + + static size_t findOrCreateResult(const QString& newResultName, RigCaseData* reservoir); + +private: + static void readAllProperties(std::shared_ptr< Opm::Deck > deck, RigCaseData* caseData, std::map* newResults); + static void getAllValuesForKeyword(std::shared_ptr< Opm::Deck > deck, const std::string& keyword, std::vector& allValues); + static bool isDataItemCountIdenticalToMainGridCellCount(std::shared_ptr< Opm::Deck > deck, const std::string& keyword, RigCaseData* caseData); + bool open(const QString& fileName); + +private: + std::shared_ptr< Opm::Deck > m_deck; +}; diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/CMakeLists.txt b/ApplicationCode/GeoMech/GeoMechDataModel/CMakeLists.txt index c18640672a..22c03f44d3 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/CMakeLists.txt +++ b/ApplicationCode/GeoMech/GeoMechDataModel/CMakeLists.txt @@ -34,8 +34,6 @@ add_library( ${PROJECT_NAME} RigFemPartGrid.cpp RigFemResultAddress.h RigFemResultPosEnum.h - RigFemTimeHistoryResultAccessor.h - RigFemTimeHistoryResultAccessor.cpp ) target_link_libraries( ${PROJECT_NAME} LibCore cafTensor ResultStatisticsCache) diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeStatCalc.cpp b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeStatCalc.cpp index ffca823228..d93b57bf7c 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeStatCalc.cpp +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeStatCalc.cpp @@ -137,6 +137,22 @@ void RigFemNativeStatCalc::addDataToHistogramCalculator(size_t timeStepIndex, Ri } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigFemNativeStatCalc::uniqueValues(size_t timeStepIndex, std::set& values) +{ + for (int pIdx = 0; pIdx < m_resultsData->partCount(); ++pIdx) + { + const std::vector& floatValues = m_resultsData->resultValues(m_resVarAddr, pIdx, (int)timeStepIndex); + + for (size_t i = 0; i < floatValues.size(); i++) + { + values.insert(static_cast(std::floor(floatValues[i]))); + } + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeStatCalc.h b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeStatCalc.h index 9f7b67104b..929b5b5b4e 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeStatCalc.h +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeStatCalc.h @@ -42,6 +42,8 @@ class RigFemNativeStatCalc : public RigStatisticsCalculator virtual void addDataToHistogramCalculator(size_t timeStepIndex, RigHistogramCalculator& histogramCalculator); + virtual void uniqueValues(size_t timeStepIndex, std::set& values); + virtual size_t timeStepCount(); private: diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeVisibleCellsStatCalc.cpp b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeVisibleCellsStatCalc.cpp index b60a5ba5a2..ac28bf91b3 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeVisibleCellsStatCalc.cpp +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeVisibleCellsStatCalc.cpp @@ -82,6 +82,16 @@ void RigFemNativeVisibleCellsStatCalc::addDataToHistogramCalculator(size_t timeS traverseElementNodes(histogramCalculator, timeStepIndex); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigFemNativeVisibleCellsStatCalc::uniqueValues(size_t timeStepIndex, std::set& values) +{ + UniqueValueAccumulator acc; + traverseElementNodes(acc, timeStepIndex); + values = acc.uniqueValues; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeVisibleCellsStatCalc.h b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeVisibleCellsStatCalc.h index 020b5d46e6..bcc7c05df9 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeVisibleCellsStatCalc.h +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemNativeVisibleCellsStatCalc.h @@ -45,6 +45,7 @@ class RigFemNativeVisibleCellsStatCalc : public RigStatisticsCalculator virtual void posNegClosestToZero(size_t timeStepIndex, double& pos, double& neg); virtual void valueSumAndSampleCount(size_t timeStepIndex, double& valueSum, size_t& sampleCount); virtual void addDataToHistogramCalculator(size_t timeStepIndex, RigHistogramCalculator& histogramCalculator); + virtual void uniqueValues(size_t timeStepIndex, std::set& values); virtual size_t timeStepCount(); private: diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResults.cpp b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResults.cpp index 3dab449ba8..bf0ea0250d 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResults.cpp +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResults.cpp @@ -65,3 +65,30 @@ RigFemScalarResultFrames* RigFemPartResults::findScalarResult(const RigFemResult { return resultSets[resVarAddr].p(); } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigFemPartResults::deleteScalarResult(const RigFemResultAddress& resVarAddr) +{ + resultSets.erase(resVarAddr); // Refcounting is supposed to destroy the data. + + if (resVarAddr.representsAllTimeLapses()) + { + std::vector addressesToDelete; + for (auto it : resultSets) + { + if (it.first.resultPosType == resVarAddr.resultPosType + && it.first.fieldName == resVarAddr.fieldName + && it.first.componentName == resVarAddr.componentName) + { + addressesToDelete. push_back(it.first); + } + } + + for (RigFemResultAddress& addr: addressesToDelete) + { + resultSets.erase(addr); + } + } +} diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResults.h b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResults.h index 42ff852145..c193f0212f 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResults.h +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResults.h @@ -41,6 +41,7 @@ class RigFemPartResults : public cvf::Object RigFemScalarResultFrames* createScalarResult(const RigFemResultAddress& resVarAddr); RigFemScalarResultFrames* findScalarResult(const RigFemResultAddress& resVarAddr); + void deleteScalarResult(const RigFemResultAddress& resVarAddr); private: diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.cpp b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.cpp index 763ad3626a..5777a4f43a 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.cpp +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.cpp @@ -28,6 +28,7 @@ #include "RigStatisticsDataCache.h" #include "RigFemPartResults.h" #include "RigFemPartCollection.h" +#include "RigFormationNames.h" #include "cafProgressInfo.h" #include "cvfBoundingBox.h" @@ -38,6 +39,9 @@ #include "RigFemNativeStatCalc.h" #include "cafTensor3.h" #include "cafProgressInfo.h" +#include "RigFemPartGrid.h" +#include "cvfGeometryTools.h" +#include "cvfMath.h" //-------------------------------------------------------------------------------------------------- @@ -56,6 +60,10 @@ RigFemPartResultsCollection::RigFemPartResultsCollection(RifGeoMechReaderInterfa m_femPartResults[pIdx] = new RigFemPartResults; m_femPartResults[pIdx]->initResultSteps(stepNames); } + + m_cohesion = 10.0; + m_frictionAngleRad = cvf::Math::toRadians(30.0); + } //-------------------------------------------------------------------------------------------------- @@ -66,6 +74,40 @@ RigFemPartResultsCollection::~RigFemPartResultsCollection() } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigFemPartResultsCollection::setActiveFormationNames(RigFormationNames* activeFormationNames) +{ + m_activeFormationNamesData = activeFormationNames; + this->deleteResult(RigFemResultAddress(RIG_FORMATION_NAMES, "Active Formation Names", "")); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFormationNames* RigFemPartResultsCollection::activeFormationNames() +{ + return m_activeFormationNamesData.p(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigFemPartResultsCollection::setCalculationParameters(double cohesion, double frictionAngleRad) +{ + m_cohesion = cohesion; + m_frictionAngleRad = frictionAngleRad; + + // Todo, delete all dependent results + this->deleteResult(RigFemResultAddress(RIG_ELEMENT_NODAL, "SE", "SFI", RigFemResultAddress::ALL_TIME_LAPSES)); + this->deleteResult(RigFemResultAddress(RIG_INTEGRATION_POINT, "SE", "SFI", RigFemResultAddress::ALL_TIME_LAPSES)); + this->deleteResult(RigFemResultAddress(RIG_ELEMENT_NODAL, "SE", "DSM", RigFemResultAddress::ALL_TIME_LAPSES)); + this->deleteResult(RigFemResultAddress(RIG_INTEGRATION_POINT, "SE", "DSM", RigFemResultAddress::ALL_TIME_LAPSES)); + this->deleteResult(RigFemResultAddress(RIG_ELEMENT_NODAL, "SE", "FOS", RigFemResultAddress::ALL_TIME_LAPSES)); + this->deleteResult(RigFemResultAddress(RIG_INTEGRATION_POINT, "SE", "FOS", RigFemResultAddress::ALL_TIME_LAPSES)); + +} //-------------------------------------------------------------------------------------------------- /// Will always return a valid object, but it can be empty @@ -100,7 +142,7 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::findOrLoadScalarResult(in int frameCount = this->frameCount(); caf::ProgressInfo progress(frameCount, ""); - progress.setProgressDescription(QString("Loading %1 %2").arg(resVarAddr.fieldName.c_str(), resVarAddr.componentName.c_str())); + progress.setProgressDescription(QString("Loading Native Result %1 %2").arg(resVarAddr.fieldName.c_str(), resVarAddr.componentName.c_str())); for (int stepIndex = 0; stepIndex < frameCount; ++stepIndex) { @@ -151,6 +193,11 @@ std::map > RigFemPartResultsCollection::sc { std::map > fieldCompNames; + if (resPos == RIG_FORMATION_NAMES) + { + if (activeFormationNames()) fieldCompNames["Active Formation Names"]; + } + if (m_readerInterface.notNull()) { if (resPos == RIG_NODAL) @@ -161,6 +208,12 @@ std::map > RigFemPartResultsCollection::sc else if (resPos == RIG_ELEMENT_NODAL) { fieldCompNames = m_readerInterface->scalarElementNodeFieldAndComponentNames(); + + fieldCompNames["SE"].push_back("SEM"); + fieldCompNames["SE"].push_back("SFI"); + fieldCompNames["SE"].push_back("DSM"); + fieldCompNames["SE"].push_back("FOS"); + fieldCompNames["SE"].push_back("S11"); fieldCompNames["SE"].push_back("S22"); fieldCompNames["SE"].push_back("S33"); @@ -171,6 +224,16 @@ std::map > RigFemPartResultsCollection::sc fieldCompNames["SE"].push_back("S2"); fieldCompNames["SE"].push_back("S3"); + fieldCompNames["SE"].push_back("S1inc"); + fieldCompNames["SE"].push_back("S1azi"); + fieldCompNames["SE"].push_back("S2inc"); + fieldCompNames["SE"].push_back("S2azi"); + fieldCompNames["SE"].push_back("S3inc"); + fieldCompNames["SE"].push_back("S3azi"); + + fieldCompNames["ST"].push_back("STM"); + fieldCompNames["ST"].push_back("Q"); + fieldCompNames["ST"].push_back("S11"); fieldCompNames["ST"].push_back("S22"); fieldCompNames["ST"].push_back("S33"); @@ -181,6 +244,13 @@ std::map > RigFemPartResultsCollection::sc fieldCompNames["ST"].push_back("S2"); fieldCompNames["ST"].push_back("S3"); + fieldCompNames["ST"].push_back("S1inc"); + fieldCompNames["ST"].push_back("S1azi"); + fieldCompNames["ST"].push_back("S2inc"); + fieldCompNames["ST"].push_back("S2azi"); + fieldCompNames["ST"].push_back("S3inc"); + fieldCompNames["ST"].push_back("S3azi"); + fieldCompNames["Gamma"].push_back("Gamma1"); fieldCompNames["Gamma"].push_back("Gamma2"); fieldCompNames["Gamma"].push_back("Gamma3"); @@ -188,17 +258,28 @@ std::map > RigFemPartResultsCollection::sc fieldCompNames["Gamma"].push_back("Gamma22"); fieldCompNames["Gamma"].push_back("Gamma33"); + fieldCompNames["NE"].push_back("EV"); + fieldCompNames["NE"].push_back("ED"); fieldCompNames["NE"].push_back("E11"); fieldCompNames["NE"].push_back("E22"); fieldCompNames["NE"].push_back("E33"); fieldCompNames["NE"].push_back("E12"); fieldCompNames["NE"].push_back("E13"); fieldCompNames["NE"].push_back("E23"); + fieldCompNames["NE"].push_back("E1"); + fieldCompNames["NE"].push_back("E2"); + fieldCompNames["NE"].push_back("E3"); } else if (resPos == RIG_INTEGRATION_POINT) { fieldCompNames = m_readerInterface->scalarIntegrationPointFieldAndComponentNames(); + + fieldCompNames["SE"].push_back("SEM"); + fieldCompNames["SE"].push_back("SFI"); + fieldCompNames["SE"].push_back("DSM"); + fieldCompNames["SE"].push_back("FOS"); + fieldCompNames["SE"].push_back("S11"); fieldCompNames["SE"].push_back("S22"); fieldCompNames["SE"].push_back("S33"); @@ -208,7 +289,17 @@ std::map > RigFemPartResultsCollection::sc fieldCompNames["SE"].push_back("S1"); fieldCompNames["SE"].push_back("S2"); fieldCompNames["SE"].push_back("S3"); - + + fieldCompNames["SE"].push_back("S1inc"); + fieldCompNames["SE"].push_back("S1azi"); + fieldCompNames["SE"].push_back("S2inc"); + fieldCompNames["SE"].push_back("S2azi"); + fieldCompNames["SE"].push_back("S3inc"); + fieldCompNames["SE"].push_back("S3azi"); + + fieldCompNames["ST"].push_back("STM"); + fieldCompNames["ST"].push_back("Q"); + fieldCompNames["ST"].push_back("S11"); fieldCompNames["ST"].push_back("S22"); fieldCompNames["ST"].push_back("S33"); @@ -219,6 +310,13 @@ std::map > RigFemPartResultsCollection::sc fieldCompNames["ST"].push_back("S2"); fieldCompNames["ST"].push_back("S3"); + fieldCompNames["ST"].push_back("S1inc"); + fieldCompNames["ST"].push_back("S1azi"); + fieldCompNames["ST"].push_back("S2inc"); + fieldCompNames["ST"].push_back("S2azi"); + fieldCompNames["ST"].push_back("S3inc"); + fieldCompNames["ST"].push_back("S3azi"); + fieldCompNames["Gamma"].push_back("Gamma1"); fieldCompNames["Gamma"].push_back("Gamma2"); fieldCompNames["Gamma"].push_back("Gamma3"); @@ -226,14 +324,41 @@ std::map > RigFemPartResultsCollection::sc fieldCompNames["Gamma"].push_back("Gamma22"); fieldCompNames["Gamma"].push_back("Gamma33"); + fieldCompNames["NE"].push_back("EV"); + fieldCompNames["NE"].push_back("ED"); fieldCompNames["NE"].push_back("E11"); fieldCompNames["NE"].push_back("E22"); fieldCompNames["NE"].push_back("E33"); fieldCompNames["NE"].push_back("E12"); fieldCompNames["NE"].push_back("E13"); fieldCompNames["NE"].push_back("E23"); + fieldCompNames["NE"].push_back("E1"); + fieldCompNames["NE"].push_back("E2"); + fieldCompNames["NE"].push_back("E3"); - } + } + else if(resPos == RIG_ELEMENT_NODAL_FACE) + { + fieldCompNames["Plane"].push_back("Pinc"); + fieldCompNames["Plane"].push_back("Pazi"); + + fieldCompNames["SE"].push_back("SN"); + fieldCompNames["SE"].push_back("TP"); + fieldCompNames["SE"].push_back("TPinc"); + fieldCompNames["SE"].push_back("TPH" ); + fieldCompNames["SE"].push_back("TPQV"); + fieldCompNames["SE"].push_back("FAULTMOB"); + fieldCompNames["SE"].push_back("PCRIT"); + + fieldCompNames["ST"].push_back("SN"); + fieldCompNames["ST"].push_back("TP"); + fieldCompNames["ST"].push_back("TPinc"); + fieldCompNames["ST"].push_back("TPH"); + fieldCompNames["ST"].push_back("TPQV"); + fieldCompNames["ST"].push_back("FAULTMOB"); + fieldCompNames["ST"].push_back("PCRIT"); + + } } return fieldCompNames; @@ -244,9 +369,15 @@ std::map > RigFemPartResultsCollection::sc //-------------------------------------------------------------------------------------------------- RigFemScalarResultFrames* RigFemPartResultsCollection::calculateBarConvertedResult(int partIndex, const RigFemResultAddress &convertedResultAddr, const std::string fieldNameToConvert) { + caf::ProgressInfo frameCountProgress(this->frameCount() * 2, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(convertedResultAddr.fieldName + ": " + convertedResultAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * srcDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(convertedResultAddr.resultPosType, fieldNameToConvert, convertedResultAddr.componentName)); RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(convertedResultAddr); + frameCountProgress.incrementProgress(); + int frameCount = srcDataFrames->frameCount(); for (int fIdx = 0; fIdx < frameCount; ++fIdx) { @@ -259,6 +390,8 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateBarConvertedResu { dstFrameData[vIdx] = 1.0e-5*srcFrameData[vIdx]; } + + frameCountProgress.incrementProgress(); } return dstDataFrames; @@ -269,9 +402,15 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateBarConvertedResu //-------------------------------------------------------------------------------------------------- RigFemScalarResultFrames* RigFemPartResultsCollection::calculateEnIpPorBarResult(int partIndex, const RigFemResultAddress &convertedResultAddr) { + caf::ProgressInfo frameCountProgress(this->frameCount() * 2, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(convertedResultAddr.fieldName + ": " + convertedResultAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * srcDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(RIG_NODAL, "POR", "")); RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(convertedResultAddr); + frameCountProgress.incrementProgress(); + const RigFemPart * femPart = m_femParts->part(partIndex); float inf = std::numeric_limits::infinity(); @@ -286,26 +425,927 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateEnIpPorBarResult size_t valCount = femPart->elementNodeResultCount(); dstFrameData.resize(valCount, inf); - int elementCount = femPart->elementCount(); - for (int elmIdx = 0; elmIdx < elementCount; ++elmIdx) - { - RigElementType elmType = femPart->elementType(elmIdx); + int elementCount = femPart->elementCount(); + for (int elmIdx = 0; elmIdx < elementCount; ++elmIdx) + { + RigElementType elmType = femPart->elementType(elmIdx); + + int elmNodeCount = RigFemTypes::elmentNodeCount(elmType); + + if (elmType == HEX8P) + { + for (int elmNodIdx = 0; elmNodIdx < elmNodeCount; ++elmNodIdx) + { + size_t elmNodResIdx = femPart->elementNodeResultIdx(elmIdx, elmNodIdx); + int nodeIdx = femPart->nodeIdxFromElementNodeResultIdx(elmNodResIdx); + dstFrameData[elmNodResIdx] = 1.0e-5*srcFrameData[nodeIdx]; + } + } + } + + frameCountProgress.incrementProgress(); + } + + return dstDataFrames; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemScalarResultFrames* RigFemPartResultsCollection::calculateTimeLapseResult(int partIndex, const RigFemResultAddress& resVarAddr) +{ + CVF_ASSERT(resVarAddr.isTimeLapse()); + + if (resVarAddr.fieldName != "Gamma") + { + caf::ProgressInfo frameCountProgress(this->frameCount() * 2, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + RigFemResultAddress resVarNative(resVarAddr.resultPosType, resVarAddr.fieldName, resVarAddr.componentName); + RigFemScalarResultFrames * srcDataFrames = this->findOrLoadScalarResult(partIndex, resVarNative); + RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + + frameCountProgress.incrementProgress(); + + int frameCount = srcDataFrames->frameCount(); + int baseFrameIdx = resVarAddr.timeLapseBaseFrameIdx; + if ( baseFrameIdx >= frameCount ) return dstDataFrames; + const std::vector& baseFrameData = srcDataFrames->frameData(baseFrameIdx); + + for ( int fIdx = 0; fIdx < frameCount; ++fIdx ) + { + const std::vector& srcFrameData = srcDataFrames->frameData(fIdx); + std::vector& dstFrameData = dstDataFrames->frameData(fIdx); + size_t valCount = srcFrameData.size(); + dstFrameData.resize(valCount); + + for ( size_t vIdx = 0; vIdx < valCount; ++vIdx ) + { + dstFrameData[vIdx] = srcFrameData[vIdx] - baseFrameData[vIdx]; + } + + frameCountProgress.incrementProgress(); + } + + return dstDataFrames; + } + else + { + // Gamma time lapse needs to be calculated as ST_dt / POR_dt and not Gamma - Gamma_baseFrame see github issue #937 + + caf::ProgressInfo frameCountProgress(this->frameCount() * 3, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + RigFemResultAddress totStressCompAddr(resVarAddr.resultPosType, "ST", "", resVarAddr.timeLapseBaseFrameIdx); + { + std::string scomp; + std::string gcomp = resVarAddr.componentName; + if ( gcomp == "Gamma1" ) scomp = "S1"; + else if ( gcomp == "Gamma2" ) scomp = "S2"; + else if ( gcomp == "Gamma3" ) scomp = "S3"; + else if ( gcomp == "Gamma11" ) scomp = "S11"; + else if ( gcomp == "Gamma22" ) scomp = "S22"; + else if ( gcomp == "Gamma33" ) scomp = "S33"; + totStressCompAddr.componentName = scomp; + } + + RigFemScalarResultFrames * srcDataFrames = this->findOrLoadScalarResult(partIndex, totStressCompAddr); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * srcPORDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(RIG_NODAL, "POR-Bar", "", resVarAddr.timeLapseBaseFrameIdx)); + RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + + frameCountProgress.incrementProgress(); + + calculateGammaFromFrames(partIndex, srcDataFrames, srcPORDataFrames, dstDataFrames, &frameCountProgress); + + return dstDataFrames; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemScalarResultFrames* RigFemPartResultsCollection::calculateMeanStressSEM(int partIndex, const RigFemResultAddress& resVarAddr) +{ + CVF_ASSERT(resVarAddr.fieldName == "SE" && resVarAddr.componentName == "SEM"); + + caf::ProgressInfo frameCountProgress(this->frameCount() * 4, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + RigFemScalarResultFrames * sa11 = nullptr; + RigFemScalarResultFrames * sa22 = nullptr; + RigFemScalarResultFrames * sa33 = nullptr; + + sa11 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "SE", "S11")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + sa22 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "SE", "S22")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + sa33 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "SE", "S33")); + + RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + + frameCountProgress.incrementProgress(); + + int frameCount = sa11->frameCount(); + for(int fIdx = 0; fIdx < frameCount; ++fIdx) + { + const std::vector& sa11Data = sa11->frameData(fIdx); + const std::vector& sa22Data = sa22->frameData(fIdx); + const std::vector& sa33Data = sa33->frameData(fIdx); + + std::vector& dstFrameData = dstDataFrames->frameData(fIdx); + size_t valCount = sa11Data.size(); + dstFrameData.resize(valCount); + + for(size_t vIdx = 0; vIdx < valCount; ++vIdx) + { + dstFrameData[vIdx] = (sa11Data[vIdx] + sa22Data[vIdx] + sa33Data[vIdx])/3.0f; + } + + frameCountProgress.incrementProgress(); + } + + return dstDataFrames; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemScalarResultFrames* RigFemPartResultsCollection::calculateSFI(int partIndex, const RigFemResultAddress& resVarAddr) +{ + CVF_ASSERT(resVarAddr.fieldName == "SE" && resVarAddr.componentName == "SFI"); + caf::ProgressInfo frameCountProgress(this->frameCount() * 3, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + RigFemScalarResultFrames * se1Frames = nullptr; + RigFemScalarResultFrames * se3Frames = nullptr; + + se1Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "SE", "S1")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + se3Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "SE", "S3")); + + RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + + frameCountProgress.incrementProgress(); + + float cohPrFricAngle = (float)(m_cohesion/tan(m_frictionAngleRad)); + float sinFricAng = sin(m_frictionAngleRad); + + int frameCount = se1Frames->frameCount(); + for ( int fIdx = 0; fIdx < frameCount; ++fIdx ) + { + const std::vector& se1Data = se1Frames->frameData(fIdx); + const std::vector& se3Data = se3Frames->frameData(fIdx); + + std::vector& dstFrameData = dstDataFrames->frameData(fIdx); + size_t valCount = se1Data.size(); + dstFrameData.resize(valCount); + + for ( size_t vIdx = 0; vIdx < valCount; ++vIdx ) + { + float se1 = se1Data[vIdx]; + float se3 = se3Data[vIdx]; + float se1Se3Diff = se1-se3; + + if ( fabs(se1Se3Diff) < 1e-7 ) + { + dstFrameData[vIdx] = std::numeric_limits::infinity(); + } + else + { + dstFrameData[vIdx] = ((cohPrFricAngle + 0.5*(se1Data[vIdx] + se3Data[vIdx])) * sin(m_frictionAngleRad)) / (0.5*(se1Data[vIdx] - se3Data[vIdx])); + } + } + + frameCountProgress.incrementProgress(); + } + + return dstDataFrames; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemScalarResultFrames* RigFemPartResultsCollection::calculateDSM(int partIndex, const RigFemResultAddress& resVarAddr) +{ + CVF_ASSERT(resVarAddr.fieldName == "SE" && resVarAddr.componentName == "DSM"); + + caf::ProgressInfo frameCountProgress(this->frameCount() * 3, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + RigFemScalarResultFrames * se1Frames = nullptr; + RigFemScalarResultFrames * se3Frames = nullptr; + + se1Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "SE", "S1")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + se3Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "SE", "S3")); + + RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + + frameCountProgress.incrementProgress(); + + float tanFricAng = tan(m_frictionAngleRad); + float cohPrTanFricAngle = (float)(m_cohesion/tanFricAng); + int frameCount = se1Frames->frameCount(); + for ( int fIdx = 0; fIdx < frameCount; ++fIdx ) + { + const std::vector& se1Data = se1Frames->frameData(fIdx); + const std::vector& se3Data = se3Frames->frameData(fIdx); + + std::vector& dstFrameData = dstDataFrames->frameData(fIdx); + size_t valCount = se1Data.size(); + dstFrameData.resize(valCount); + + for ( size_t vIdx = 0; vIdx < valCount; ++vIdx ) + { + float se1 = se1Data[vIdx]; + float se3 = se3Data[vIdx]; + float pi_4 = 0.785398163397448309616f; + float rho = 2.0f * ( atan( sqrt(( se1 + cohPrTanFricAngle)/(se3 + cohPrTanFricAngle)) ) - pi_4); + + { + dstFrameData[vIdx] = tan(rho)/tanFricAng; + } + } + + frameCountProgress.incrementProgress(); + } + + return dstDataFrames; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemScalarResultFrames* RigFemPartResultsCollection::calculateFOS(int partIndex, const RigFemResultAddress& resVarAddr) +{ + CVF_ASSERT(resVarAddr.fieldName == "SE" && resVarAddr.componentName == "FOS"); + + caf::ProgressInfo frameCountProgress(this->frameCount() * 2, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + RigFemScalarResultFrames * dsmFrames = nullptr; + RigFemScalarResultFrames * se3Frames = nullptr; + + dsmFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "SE", "DSM")); + + RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + + frameCountProgress.incrementProgress(); + + int frameCount = dsmFrames->frameCount(); + for ( int fIdx = 0; fIdx < frameCount; ++fIdx ) + { + const std::vector& dsmData = dsmFrames->frameData(fIdx); + + std::vector& dstFrameData = dstDataFrames->frameData(fIdx); + size_t valCount = dsmData.size(); + dstFrameData.resize(valCount); + + for ( size_t vIdx = 0; vIdx < valCount; ++vIdx ) + { + float dsm = dsmData[vIdx]; + dstFrameData[vIdx] = 1.0f/dsm; + } + + frameCountProgress.incrementProgress(); + } + + return dstDataFrames; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemScalarResultFrames* RigFemPartResultsCollection::calculateMeanStressSTM(int partIndex, const RigFemResultAddress& resVarAddr) +{ + CVF_ASSERT(resVarAddr.fieldName == "ST" && resVarAddr.componentName == "STM"); + + caf::ProgressInfo frameCountProgress(this->frameCount() * 4, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + + RigFemScalarResultFrames * st11 = nullptr; + RigFemScalarResultFrames * st22 = nullptr; + RigFemScalarResultFrames * st33 = nullptr; + + st11 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "ST", "S11")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + st22 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "ST", "S22")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + st33 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "ST", "S33")); + + RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + + frameCountProgress.incrementProgress(); + + int frameCount = st11->frameCount(); + for(int fIdx = 0; fIdx < frameCount; ++fIdx) + { + const std::vector& st11Data = st11->frameData(fIdx); + const std::vector& st22Data = st22->frameData(fIdx); + const std::vector& st33Data = st33->frameData(fIdx); + + std::vector& dstFrameData = dstDataFrames->frameData(fIdx); + size_t valCount = st11Data.size(); + dstFrameData.resize(valCount); + + for(size_t vIdx = 0; vIdx < valCount; ++vIdx) + { + dstFrameData[vIdx] = (st11Data[vIdx] + st22Data[vIdx] + st33Data[vIdx])/3.0f; + } + + frameCountProgress.incrementProgress(); + } + + return dstDataFrames; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemScalarResultFrames* RigFemPartResultsCollection::calculateDeviatoricStress(int partIndex, const RigFemResultAddress& resVarAddr) +{ + CVF_ASSERT(resVarAddr.fieldName == "ST" && resVarAddr.componentName == "Q"); + + caf::ProgressInfo frameCountProgress(this->frameCount() * 5, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + RigFemScalarResultFrames * st11 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "ST", "S1")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * st22 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "ST", "S2")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * st33 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "ST", "S3")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + + RigFemScalarResultFrames * stm = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "ST", "STM")); + + RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + + frameCountProgress.incrementProgress(); + + int frameCount = st11->frameCount(); + for(int fIdx = 0; fIdx < frameCount; ++fIdx) + { + const std::vector& st11Data = st11->frameData(fIdx); + const std::vector& st22Data = st22->frameData(fIdx); + const std::vector& st33Data = st33->frameData(fIdx); + + const std::vector& stmData = stm->frameData(fIdx); + + std::vector& dstFrameData = dstDataFrames->frameData(fIdx); + size_t valCount = st11Data.size(); + dstFrameData.resize(valCount); + + for(size_t vIdx = 0; vIdx < valCount; ++vIdx) + { + float stmVal = stmData[vIdx]; + float st11Corr = st11Data[vIdx] - stmVal; + float st22Corr = st22Data[vIdx] - stmVal; + float st33Corr = st33Data[vIdx] - stmVal; + + dstFrameData[vIdx] = sqrt (1.5*(st11Corr*st11Corr + st22Corr*st22Corr + st33Corr*st33Corr)); + } + + frameCountProgress.incrementProgress(); + } + + return dstDataFrames; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemScalarResultFrames* RigFemPartResultsCollection::calculateVolumetricStrain(int partIndex, const RigFemResultAddress& resVarAddr) +{ + CVF_ASSERT(resVarAddr.fieldName == "NE" && resVarAddr.componentName == "EV"); + + caf::ProgressInfo frameCountProgress(this->frameCount() * 4, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + RigFemScalarResultFrames * ea11 = nullptr; + RigFemScalarResultFrames * ea22 = nullptr; + RigFemScalarResultFrames * ea33 = nullptr; + + { + ea11 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "NE", "E11")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + ea22 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "NE", "E22")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + ea33 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "NE", "E33")); + } + + RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + + frameCountProgress.incrementProgress(); + + int frameCount = ea11->frameCount(); + for(int fIdx = 0; fIdx < frameCount; ++fIdx) + { + const std::vector& ea11Data = ea11->frameData(fIdx); + const std::vector& ea22Data = ea22->frameData(fIdx); + const std::vector& ea33Data = ea33->frameData(fIdx); + + std::vector& dstFrameData = dstDataFrames->frameData(fIdx); + size_t valCount = ea11Data.size(); + dstFrameData.resize(valCount); + + for(size_t vIdx = 0; vIdx < valCount; ++vIdx) + { + dstFrameData[vIdx] = (ea11Data[vIdx] + ea22Data[vIdx] + ea33Data[vIdx]); + } + + frameCountProgress.incrementProgress(); + } + + return dstDataFrames; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemScalarResultFrames* RigFemPartResultsCollection::calculateDeviatoricStrain(int partIndex, const RigFemResultAddress& resVarAddr) +{ + CVF_ASSERT(resVarAddr.fieldName == "NE" && resVarAddr.componentName == "ED"); + + caf::ProgressInfo frameCountProgress(this->frameCount() * 3, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + RigFemScalarResultFrames * ea11 = nullptr; + RigFemScalarResultFrames * ea33 = nullptr; + { + ea11 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "NE", "E1")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + ea33 = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "NE", "E3")); + } + + RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + + frameCountProgress.incrementProgress(); + + int frameCount = ea11->frameCount(); + for ( int fIdx = 0; fIdx < frameCount; ++fIdx ) + { + const std::vector& ea11Data = ea11->frameData(fIdx); + const std::vector& ea33Data = ea33->frameData(fIdx); + + std::vector& dstFrameData = dstDataFrames->frameData(fIdx); + size_t valCount = ea11Data.size(); + dstFrameData.resize(valCount); + + for ( size_t vIdx = 0; vIdx < valCount; ++vIdx ) + { + dstFrameData[vIdx] = 0.666666666666667f*(ea11Data[vIdx] - ea33Data[vIdx]); + } + + frameCountProgress.incrementProgress(); + } + + return dstDataFrames; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemScalarResultFrames* RigFemPartResultsCollection::calculateSurfaceAlignedStress(int partIndex, const RigFemResultAddress& resVarAddr) +{ + CVF_ASSERT( resVarAddr.componentName == "STH" || resVarAddr.componentName == "STQV" || resVarAddr.componentName == "SN" + || resVarAddr.componentName == "TPH" || resVarAddr.componentName == "TPQV" || resVarAddr.componentName == "THQV" + || resVarAddr.componentName == "TP" || resVarAddr.componentName == "TPinc" + || resVarAddr.componentName == "FAULTMOB" || resVarAddr.componentName == "PCRIT"); + + caf::ProgressInfo frameCountProgress(this->frameCount() * 7, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + RigFemScalarResultFrames * s11Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(RIG_ELEMENT_NODAL, resVarAddr.fieldName, "S11")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s22Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(RIG_ELEMENT_NODAL, resVarAddr.fieldName, "S22")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s33Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(RIG_ELEMENT_NODAL, resVarAddr.fieldName, "S33")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s12Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(RIG_ELEMENT_NODAL, resVarAddr.fieldName, "S12")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s23Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(RIG_ELEMENT_NODAL, resVarAddr.fieldName, "S23")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s13Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(RIG_ELEMENT_NODAL, resVarAddr.fieldName, "S13")); + + RigFemScalarResultFrames * SNFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "SN")); + RigFemScalarResultFrames * STHFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "STH")); + RigFemScalarResultFrames * STQVFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "STQV")); + RigFemScalarResultFrames * TNHFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "TPH" )); + RigFemScalarResultFrames * TNQVFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "TPQV")); + RigFemScalarResultFrames * THQVFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "THQV")); + RigFemScalarResultFrames * TPFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "TP")); + RigFemScalarResultFrames * TPincFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "TPinc")); + RigFemScalarResultFrames * FAULTMOBFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "FAULTMOB")); + RigFemScalarResultFrames * PCRITFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "PCRIT")); + + frameCountProgress.incrementProgress(); + + const RigFemPart * femPart = m_femParts->part(partIndex); + const std::vector& nodeCoordinates = femPart->nodes().coordinates; + + float tanFricAng = tan(m_frictionAngleRad); + float cohPrTanFricAngle = (float)(m_cohesion/tanFricAng); + + int frameCount = s11Frames->frameCount(); + for(int fIdx = 0; fIdx < frameCount; ++fIdx) + { + const std::vector& s11 = s11Frames->frameData(fIdx); + const std::vector& s22 = s22Frames->frameData(fIdx); + const std::vector& s33 = s33Frames->frameData(fIdx); + const std::vector& s12 = s12Frames->frameData(fIdx); + const std::vector& s23 = s23Frames->frameData(fIdx); + const std::vector& s13 = s13Frames->frameData(fIdx); + + std::vector& SNDat = SNFrames->frameData(fIdx); + std::vector& STHDat = STHFrames->frameData(fIdx); + std::vector& STQVDat = STQVFrames->frameData(fIdx); + std::vector& TNHDat = TNHFrames->frameData(fIdx); + std::vector& TNQVDat = TNQVFrames->frameData(fIdx); + std::vector& THQVDat = THQVFrames->frameData(fIdx); + std::vector& TPDat = TPFrames->frameData(fIdx); + std::vector& TincDat = TPincFrames->frameData(fIdx); + std::vector& FAULTMOBDat = FAULTMOBFrames->frameData(fIdx); + std::vector& PCRITDat = PCRITFrames->frameData(fIdx); + + // HACK ! Todo : make it robust against other elements than Hex8 + size_t valCount = s11.size() * 3; // Number of Elm Node Face results 24 = 4 * num faces = 3* numElmNodes + + SNDat.resize(valCount); + STHDat.resize(valCount); + STQVDat.resize(valCount); + TNHDat.resize(valCount); + TNQVDat.resize(valCount); + THQVDat.resize(valCount); + TPDat.resize(valCount); + TincDat.resize(valCount); + FAULTMOBDat.resize(valCount); + PCRITDat.resize(valCount); + + int elementCount = femPart->elementCount(); + for(int elmIdx = 0; elmIdx < elementCount; ++elmIdx) + { + RigElementType elmType = femPart->elementType(elmIdx); + int faceCount = RigFemTypes::elmentFaceCount(elmType); + const int* elmNodeIndices = femPart->connectivities(elmIdx); + + int elmNodFaceResIdxElmStart = elmIdx * 24; // HACK should get from part + + for(int lfIdx = 0; lfIdx < faceCount; ++lfIdx) + { + int faceNodeCount = 0; + const int* localElmNodeIndicesForFace = RigFemTypes::localElmNodeIndicesForFace(elmType, lfIdx, &faceNodeCount); + if(faceNodeCount == 4) + { + int elmNodFaceResIdxFaceStart = elmNodFaceResIdxElmStart + lfIdx*4; // HACK + cvf::Vec3f quadVxs[4]; + + quadVxs[0] = (nodeCoordinates[elmNodeIndices[localElmNodeIndicesForFace[0]]]); + quadVxs[1] = (nodeCoordinates[elmNodeIndices[localElmNodeIndicesForFace[1]]]); + quadVxs[2] = (nodeCoordinates[elmNodeIndices[localElmNodeIndicesForFace[2]]]); + quadVxs[3] = (nodeCoordinates[elmNodeIndices[localElmNodeIndicesForFace[3]]]); + + cvf::Mat3f rotMx = cvf::GeometryTools::computePlaneHorizontalRotationMx(quadVxs[2] -quadVxs[0], quadVxs[3] - quadVxs[1] ); + + size_t qElmNodeResIdx[4]; + qElmNodeResIdx[0] = femPart->elementNodeResultIdx(elmIdx, localElmNodeIndicesForFace[0]); + qElmNodeResIdx[1] = femPart->elementNodeResultIdx(elmIdx, localElmNodeIndicesForFace[1]); + qElmNodeResIdx[2] = femPart->elementNodeResultIdx(elmIdx, localElmNodeIndicesForFace[2]); + qElmNodeResIdx[3] = femPart->elementNodeResultIdx(elmIdx, localElmNodeIndicesForFace[3]); + + for (int qIdx = 0; qIdx < 4; ++qIdx) + { + size_t elmNodResIdx = qElmNodeResIdx[qIdx]; + float t11 = s11[elmNodResIdx]; + float t22 = s22[elmNodResIdx]; + float t33 = s33[elmNodResIdx]; + float t12 = s12[elmNodResIdx]; + float t23 = s23[elmNodResIdx]; + float t13 = s13[elmNodResIdx]; + + caf::Ten3f tensor(t11, t22, t33, + t12, t23, t13); + caf::Ten3f xfTen = tensor.rotated(rotMx); + int elmNodFaceResIdx = elmNodFaceResIdxFaceStart + qIdx; + + float szx = xfTen[caf::Ten3f::SZX]; + float syz = xfTen[caf::Ten3f::SYZ]; + float szz = xfTen[caf::Ten3f::SZZ]; + + STHDat[elmNodFaceResIdx] = xfTen[caf::Ten3f::SXX]; + STQVDat[elmNodFaceResIdx] = xfTen[caf::Ten3f::SYY]; + SNDat[elmNodFaceResIdx] = xfTen[caf::Ten3f::SZZ]; + + TNHDat[elmNodFaceResIdx] = xfTen[caf::Ten3f::SZX]; + TNQVDat[elmNodFaceResIdx] = xfTen[caf::Ten3f::SYZ]; + THQVDat[elmNodFaceResIdx] = xfTen[caf::Ten3f::SXY]; + + float TP = sqrt(szx*szx + syz*syz); + TPDat[elmNodFaceResIdx] = TP; + + if (TP > 1e-5) + { + TincDat[elmNodFaceResIdx] = cvf::Math::toDegrees( acos(syz/TP) ); + } + else + { + TincDat[elmNodFaceResIdx] = std::numeric_limits::infinity(); + } + + FAULTMOBDat[elmNodFaceResIdx] = TP/(tanFricAng * (szz + cohPrTanFricAngle)); + PCRITDat[elmNodFaceResIdx] = szz - TP/tanFricAng; + } + } + } + } + + frameCountProgress.incrementProgress(); + } + + RigFemScalarResultFrames* requestedSurfStress = this->findOrLoadScalarResult(partIndex,resVarAddr); + return requestedSurfStress; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemScalarResultFrames* RigFemPartResultsCollection::calculateSurfaceAngles(int partIndex, const RigFemResultAddress& resVarAddr) +{ + CVF_ASSERT(resVarAddr.componentName == "Pazi" || resVarAddr.componentName == "Pinc"); + + caf::ProgressInfo frameCountProgress(this->frameCount() * 1, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + + RigFemScalarResultFrames * PaziFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "Pazi")); + RigFemScalarResultFrames * PincFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "Pinc")); + + const RigFemPart * femPart = m_femParts->part(partIndex); + const std::vector& nodeCoordinates = femPart->nodes().coordinates; + int frameCount = this->frameCount(); + + // HACK ! Todo : make it robust against other elements than Hex8 + size_t valCount = femPart->elementCount() * 24; // Number of Elm Node Face results 24 = 4 * num faces = 3* numElmNodes + + for ( int fIdx = 0; fIdx < frameCount; ++fIdx ) + { + std::vector& Pazi = PaziFrames->frameData(fIdx); + std::vector& Pinc = PincFrames->frameData(fIdx); + + Pazi.resize(valCount); + Pinc.resize(valCount); + + int elementCount = femPart->elementCount(); + for ( int elmIdx = 0; elmIdx < elementCount; ++elmIdx ) + { + RigElementType elmType = femPart->elementType(elmIdx); + int faceCount = RigFemTypes::elmentFaceCount(elmType); + const int* elmNodeIndices = femPart->connectivities(elmIdx); + + int elmNodFaceResIdxElmStart = elmIdx * 24; // HACK should get from part + + for ( int lfIdx = 0; lfIdx < faceCount; ++lfIdx ) + { + int faceNodeCount = 0; + const int* localElmNodeIndicesForFace = RigFemTypes::localElmNodeIndicesForFace(elmType, lfIdx, &faceNodeCount); + if ( faceNodeCount == 4 ) + { + int elmNodFaceResIdxFaceStart = elmNodFaceResIdxElmStart + lfIdx*4; // HACK + cvf::Vec3f quadVxs[4]; + + quadVxs[0] = (nodeCoordinates[elmNodeIndices[localElmNodeIndicesForFace[0]]]); + quadVxs[1] = (nodeCoordinates[elmNodeIndices[localElmNodeIndicesForFace[1]]]); + quadVxs[2] = (nodeCoordinates[elmNodeIndices[localElmNodeIndicesForFace[2]]]); + quadVxs[3] = (nodeCoordinates[elmNodeIndices[localElmNodeIndicesForFace[3]]]); + + cvf::Mat3f rotMx = cvf::GeometryTools::computePlaneHorizontalRotationMx(quadVxs[2] -quadVxs[0], quadVxs[3] - quadVxs[1]); + OffshoreSphericalCoords sphCoord(cvf::Vec3f(rotMx.rowCol(0,2), rotMx.rowCol(1,2), rotMx.rowCol(2,2))); // Use Ez from the matrix as plane normal + + for ( int qIdx = 0; qIdx < 4; ++qIdx ) + { + int elmNodFaceResIdx = elmNodFaceResIdxFaceStart + qIdx; + Pazi[elmNodFaceResIdx] = cvf::Math::toDegrees( sphCoord.azi() ); + Pinc[elmNodFaceResIdx] = cvf::Math::toDegrees( sphCoord.inc() ); + } + } + } + } + + frameCountProgress.incrementProgress(); + } + + RigFemScalarResultFrames* requestedPlaneAngle = this->findOrLoadScalarResult(partIndex, resVarAddr); + return requestedPlaneAngle; + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemScalarResultFrames* RigFemPartResultsCollection::calculatePrincipalStressValues(int partIndex, const RigFemResultAddress &resVarAddr ) +{ + CVF_ASSERT(resVarAddr.componentName == "S1" || resVarAddr.componentName == "S2" || resVarAddr.componentName == "S3" + || resVarAddr.componentName == "S1inc" + || resVarAddr.componentName == "S1azi" + || resVarAddr.componentName == "S2inc" + || resVarAddr.componentName == "S2azi" + || resVarAddr.componentName == "S3inc" + || resVarAddr.componentName == "S3azi"); + + caf::ProgressInfo frameCountProgress(this->frameCount() * 7, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + + RigFemScalarResultFrames * s11Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S11")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s22Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S22")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s33Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S33")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s12Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S12")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s13Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S13")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s23Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S23")); + + RigFemScalarResultFrames * s1Frames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S1")); + RigFemScalarResultFrames * s2Frames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S2")); + RigFemScalarResultFrames * s3Frames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S3")); + + RigFemScalarResultFrames * s1IncFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S1inc")); + RigFemScalarResultFrames * s1AziFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S1azi")); + RigFemScalarResultFrames * s2IncFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S2inc")); + RigFemScalarResultFrames * s2AziFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S2azi")); + RigFemScalarResultFrames * s3IncFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S3inc")); + RigFemScalarResultFrames * s3AziFrames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S3azi")); + + frameCountProgress.incrementProgress(); + + int frameCount = s11Frames->frameCount(); + for ( int fIdx = 0; fIdx < frameCount; ++fIdx ) + { + const std::vector& s11 = s11Frames->frameData(fIdx); + const std::vector& s22 = s22Frames->frameData(fIdx); + const std::vector& s33 = s33Frames->frameData(fIdx); + const std::vector& s12 = s12Frames->frameData(fIdx); + const std::vector& s13 = s13Frames->frameData(fIdx); + const std::vector& s23 = s23Frames->frameData(fIdx); + + std::vector& s1 = s1Frames->frameData(fIdx); + std::vector& s2 = s2Frames->frameData(fIdx); + std::vector& s3 = s3Frames->frameData(fIdx); + + std::vector& s1inc = s1IncFrames->frameData(fIdx); + std::vector& s1azi = s1AziFrames->frameData(fIdx); + std::vector& s2inc = s2IncFrames->frameData(fIdx); + std::vector& s2azi = s2AziFrames->frameData(fIdx); + std::vector& s3inc = s3IncFrames->frameData(fIdx); + std::vector& s3azi = s3AziFrames->frameData(fIdx); + + size_t valCount = s11.size(); + + s1.resize(valCount); + s2.resize(valCount); + s3.resize(valCount); + s1inc.resize(valCount); + s1azi.resize(valCount); + s2inc.resize(valCount); + s2azi.resize(valCount); + s3inc.resize(valCount); + s3azi.resize(valCount); + + for ( size_t vIdx = 0; vIdx < valCount; ++vIdx ) + { + caf::Ten3f T(s11[vIdx], s22[vIdx], s33[vIdx], s12[vIdx], s23[vIdx], s13[vIdx]); + cvf::Vec3f principalDirs[3]; + cvf::Vec3f principals = T.calculatePrincipals(principalDirs); + s1[vIdx] = principals[0]; + s2[vIdx] = principals[1]; + s3[vIdx] = principals[2]; + + if ( principals[0] != std::numeric_limits::infinity() ) + { + OffshoreSphericalCoords sphCoord1(principalDirs[0]); + s1inc[vIdx] = cvf::Math::toDegrees(sphCoord1.inc()); + s1azi[vIdx] = cvf::Math::toDegrees(sphCoord1.azi()); + } + else + { + s1inc[vIdx] = std::numeric_limits::infinity(); + s1azi[vIdx] = std::numeric_limits::infinity(); + } + + if ( principals[1] != std::numeric_limits::infinity() ) + { + OffshoreSphericalCoords sphCoord2(principalDirs[1]); + s2inc[vIdx] = cvf::Math::toDegrees(sphCoord2.inc()); + s2azi[vIdx] = cvf::Math::toDegrees(sphCoord2.azi()); + } + else + { + s2inc[vIdx] = std::numeric_limits::infinity(); + s2azi[vIdx] = std::numeric_limits::infinity(); + } + + if ( principals[2] != std::numeric_limits::infinity() ) + { + OffshoreSphericalCoords sphCoord3(principalDirs[2]); + s3inc[vIdx] = cvf::Math::toDegrees(sphCoord3.inc()); + s3azi[vIdx] = cvf::Math::toDegrees(sphCoord3.azi()); + } + else + { + s3inc[vIdx] = std::numeric_limits::infinity(); + s3azi[vIdx] = std::numeric_limits::infinity(); + } + } + + frameCountProgress.incrementProgress(); + } + + RigFemScalarResultFrames* requestedPrincipal = this->findOrLoadScalarResult(partIndex, resVarAddr); + + return requestedPrincipal; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemScalarResultFrames* RigFemPartResultsCollection::calculatePrincipalStrainValues(int partIndex, const RigFemResultAddress &resVarAddr) +{ + CVF_ASSERT(resVarAddr.componentName == "E1" || resVarAddr.componentName == "E2" || resVarAddr.componentName == "E3"); + + caf::ProgressInfo frameCountProgress(this->frameCount() * 7, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + + RigFemScalarResultFrames * s11Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "E11")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s22Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "E22")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s33Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "E33")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s12Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "E12")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s13Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "E13")); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * s23Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "E23")); + + RigFemScalarResultFrames * s1Frames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "E1")); + RigFemScalarResultFrames * s2Frames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "E2")); + RigFemScalarResultFrames * s3Frames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "E3")); + + frameCountProgress.incrementProgress(); + + int frameCount = s11Frames->frameCount(); + for ( int fIdx = 0; fIdx < frameCount; ++fIdx ) + { + const std::vector& s11 = s11Frames->frameData(fIdx); + const std::vector& s22 = s22Frames->frameData(fIdx); + const std::vector& s33 = s33Frames->frameData(fIdx); + const std::vector& s12 = s12Frames->frameData(fIdx); + const std::vector& s13 = s13Frames->frameData(fIdx); + const std::vector& s23 = s23Frames->frameData(fIdx); + + std::vector& s1 = s1Frames->frameData(fIdx); + std::vector& s2 = s2Frames->frameData(fIdx); + std::vector& s3 = s3Frames->frameData(fIdx); + + size_t valCount = s11.size(); - int elmNodeCount = RigFemTypes::elmentNodeCount(elmType); + s1.resize(valCount); + s2.resize(valCount); + s3.resize(valCount); - if (elmType == HEX8P) - { - for (int elmNodIdx = 0; elmNodIdx < elmNodeCount; ++elmNodIdx) - { - size_t elmNodResIdx = femPart->elementNodeResultIdx(elmIdx, elmNodIdx); - int nodeIdx = femPart->nodeIdxFromElementNodeResultIdx(elmNodResIdx); - dstFrameData[elmNodResIdx] = 1.0e-5*srcFrameData[nodeIdx]; - } - } + for ( size_t vIdx = 0; vIdx < valCount; ++vIdx ) + { + caf::Ten3f T(s11[vIdx], s22[vIdx], s33[vIdx], s12[vIdx], s23[vIdx], s13[vIdx]); + cvf::Vec3f principalDirs[3]; + cvf::Vec3f principals = T.calculatePrincipals(principalDirs); + s1[vIdx] = principals[0]; + s2[vIdx] = principals[1]; + s3[vIdx] = principals[2]; } + + frameCountProgress.incrementProgress(); } - return dstDataFrames; + RigFemScalarResultFrames* requestedPrincipal = this->findOrLoadScalarResult(partIndex, resVarAddr); + + return requestedPrincipal; } //-------------------------------------------------------------------------------------------------- @@ -313,6 +1353,59 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateEnIpPorBarResult //-------------------------------------------------------------------------------------------------- RigFemScalarResultFrames* RigFemPartResultsCollection::calculateDerivedResult(int partIndex, const RigFemResultAddress& resVarAddr) { + if (resVarAddr.isTimeLapse()) + { + return calculateTimeLapseResult(partIndex, resVarAddr); + } + + if(resVarAddr.resultPosType == RIG_ELEMENT_NODAL_FACE ) + { + if (resVarAddr.componentName == "Pazi" || resVarAddr.componentName == "Pinc" ) + return calculateSurfaceAngles(partIndex, resVarAddr); + else + return calculateSurfaceAlignedStress(partIndex, resVarAddr); + } + + if (resVarAddr.fieldName == "SE" && resVarAddr.componentName == "SFI") + { + return calculateSFI(partIndex, resVarAddr); + } + + if ( resVarAddr.fieldName == "SE" && resVarAddr.componentName == "DSM" ) + { + return calculateDSM(partIndex, resVarAddr); + } + + if ( resVarAddr.fieldName == "SE" && resVarAddr.componentName == "FOS" ) + { + return calculateFOS(partIndex, resVarAddr); + } + + if(resVarAddr.fieldName == "NE" && resVarAddr.componentName == "EV") + { + return calculateVolumetricStrain(partIndex, resVarAddr); + } + + if ( resVarAddr.fieldName == "NE" && resVarAddr.componentName == "ED" ) + { + return calculateDeviatoricStrain(partIndex, resVarAddr); + } + + if(resVarAddr.fieldName == "ST" && resVarAddr.componentName == "Q" ) + { + return calculateDeviatoricStress(partIndex, resVarAddr); + } + + if(resVarAddr.fieldName == "ST" && resVarAddr.componentName == "STM") + { + return calculateMeanStressSTM(partIndex, resVarAddr); + } + + if(resVarAddr.fieldName == "SE" && resVarAddr.componentName == "SEM") + { + return calculateMeanStressSEM(partIndex, resVarAddr); + } + if (resVarAddr.fieldName == "S-Bar") { return calculateBarConvertedResult(partIndex, resVarAddr, "S"); @@ -326,11 +1419,23 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateDerivedResult(in return calculateEnIpPorBarResult(partIndex, resVarAddr); } - if (resVarAddr.fieldName == "NE") + if((resVarAddr.fieldName == "NE") + && ( resVarAddr.componentName == "E11" + || resVarAddr.componentName == "E22" + || resVarAddr.componentName == "E33" + || resVarAddr.componentName == "E12" + || resVarAddr.componentName == "E13" + || resVarAddr.componentName == "E23")) { + caf::ProgressInfo frameCountProgress(this->frameCount() * 2, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * srcDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "E", resVarAddr.componentName)); RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + frameCountProgress.incrementProgress(); + int frameCount = srcDataFrames->frameCount(); for (int fIdx = 0; fIdx < frameCount; ++fIdx) { @@ -343,18 +1448,40 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateDerivedResult(in { dstFrameData[vIdx] = -srcFrameData[vIdx]; } + + frameCountProgress.incrementProgress(); } return dstDataFrames; } + if ( (resVarAddr.fieldName == "NE") + && ( resVarAddr.componentName == "E1" + || resVarAddr.componentName == "E2" + || resVarAddr.componentName == "E3") ) + { + return calculatePrincipalStrainValues(partIndex, resVarAddr); + } + if ((resVarAddr.fieldName == "SE") - && !(resVarAddr.componentName == "S1" || resVarAddr.componentName == "S2" || resVarAddr.componentName == "S3" || resVarAddr.componentName == "")) + && ( resVarAddr.componentName == "S11" + || resVarAddr.componentName == "S22" + || resVarAddr.componentName == "S33" + || resVarAddr.componentName == "S12" + || resVarAddr.componentName == "S13" + || resVarAddr.componentName == "S23" )) { + caf::ProgressInfo frameCountProgress(this->frameCount() * 3, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * srcDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "S-Bar", resVarAddr.componentName)); + frameCountProgress.incrementProgress(); frameCountProgress.setNextProgressIncrement(this->frameCount()); RigFemScalarResultFrames * srcPORDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(RIG_NODAL, "POR-Bar", "")); RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + frameCountProgress.incrementProgress(); + const RigFemPart * femPart = m_femParts->part(partIndex); float inf = std::numeric_limits::infinity(); @@ -393,59 +1520,26 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateDerivedResult(in } } } + + frameCountProgress.incrementProgress(); } return dstDataFrames; } if ( (resVarAddr.fieldName == "SE" || resVarAddr.fieldName == "ST" ) - && (resVarAddr.componentName == "S1" || resVarAddr.componentName == "S2" || resVarAddr.componentName == "S3" )) + && ( resVarAddr.componentName == "S1" + || resVarAddr.componentName == "S2" + || resVarAddr.componentName == "S3" + || resVarAddr.componentName == "S1inc" + || resVarAddr.componentName == "S1azi" + || resVarAddr.componentName == "S2inc" + || resVarAddr.componentName == "S2azi" + || resVarAddr.componentName == "S3inc" + || resVarAddr.componentName == "S3azi" ) + ) { - RigFemScalarResultFrames * s11Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S11")); - RigFemScalarResultFrames * s22Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S22")); - RigFemScalarResultFrames * s33Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S33")); - RigFemScalarResultFrames * s12Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S12")); - RigFemScalarResultFrames * s13Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S13")); - RigFemScalarResultFrames * s23Frames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S23")); - - RigFemScalarResultFrames * s1Frames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S1")); - RigFemScalarResultFrames * s2Frames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S2")); - RigFemScalarResultFrames * s3Frames = m_femPartResults[partIndex]->createScalarResult(RigFemResultAddress(resVarAddr.resultPosType, resVarAddr.fieldName, "S3")); - - int frameCount = s11Frames->frameCount(); - for (int fIdx = 0; fIdx < frameCount; ++fIdx) - { - const std::vector& s11 = s11Frames->frameData(fIdx); - const std::vector& s22 = s22Frames->frameData(fIdx); - const std::vector& s33 = s33Frames->frameData(fIdx); - const std::vector& s12 = s12Frames->frameData(fIdx); - const std::vector& s13 = s13Frames->frameData(fIdx); - const std::vector& s23 = s23Frames->frameData(fIdx); - - std::vector& s1 = s1Frames->frameData(fIdx); - std::vector& s2 = s2Frames->frameData(fIdx); - std::vector& s3 = s3Frames->frameData(fIdx); - - size_t valCount = s11.size(); - - s1.resize(valCount); - s2.resize(valCount); - s3.resize(valCount); - - for (size_t vIdx = 0; vIdx < valCount; ++vIdx) - { - caf::Ten3f T(s11[vIdx], s22[vIdx], s33[vIdx], s12[vIdx], s23[vIdx], s13[vIdx] ); - - cvf::Vec3f principals = T.calculatePrincipals(NULL); - s1[vIdx] = principals[0]; - s2[vIdx] = principals[1]; - s3[vIdx] = principals[2]; - } - } - - RigFemScalarResultFrames* requestedPrincipal = this->findOrLoadScalarResult(partIndex,resVarAddr); - - return requestedPrincipal; + return calculatePrincipalStressValues(partIndex, resVarAddr); } if ( resVarAddr.fieldName == "ST" @@ -453,13 +1547,22 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateDerivedResult(in || resVarAddr.componentName == "S22" || resVarAddr.componentName == "S33" )) { + caf::ProgressInfo frameCountProgress(this->frameCount() * 3, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * srcSDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "S-Bar", resVarAddr.componentName)); + frameCountProgress.incrementProgress(); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * srcPORDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(RIG_NODAL, "POR-Bar", "")); RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); const RigFemPart * femPart = m_femParts->part(partIndex); int frameCount = srcSDataFrames->frameCount(); + frameCountProgress.incrementProgress(); + const float inf = std::numeric_limits::infinity(); for (int fIdx = 0; fIdx < frameCount; ++fIdx) @@ -501,6 +1604,8 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateDerivedResult(in } } } + + frameCountProgress.incrementProgress(); } return dstDataFrames; } @@ -510,9 +1615,15 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateDerivedResult(in || resVarAddr.componentName == "S13" || resVarAddr.componentName == "S23" )) { - RigFemScalarResultFrames * srcSDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "S-Bar", resVarAddr.componentName)); + caf::ProgressInfo frameCountProgress(this->frameCount() * 2, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * srcSDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "S-Bar", resVarAddr.componentName)); RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + + frameCountProgress.incrementProgress(); + int frameCount = srcSDataFrames->frameCount(); for (int fIdx = 0; fIdx < frameCount; ++fIdx) { @@ -525,6 +1636,8 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateDerivedResult(in { dstFrameData[vIdx] = -srcSFrameData[vIdx]; } + + frameCountProgress.incrementProgress(); } return dstDataFrames; } @@ -545,81 +1658,154 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateDerivedResult(in || resVarAddr.componentName == "Gamma33" )) { - RigFemScalarResultFrames * srcDataFrames = NULL; - if (resVarAddr.componentName == "Gamma1"){ - srcDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "ST", "S1")); - }else if (resVarAddr.componentName == "Gamma2"){ - srcDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "ST", "S2")); - }else if (resVarAddr.componentName == "Gamma3"){ - srcDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "ST", "S3")); - }else if (resVarAddr.componentName == "Gamma11"){ - srcDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "ST", "S11")); - }else if (resVarAddr.componentName == "Gamma22"){ - srcDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "ST", "S22")); - }else if (resVarAddr.componentName == "Gamma33"){ - srcDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(resVarAddr.resultPosType, "ST", "S33")); + caf::ProgressInfo frameCountProgress(this->frameCount() * 3, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + + RigFemResultAddress totStressCompAddr(resVarAddr.resultPosType, "ST", ""); + { + std::string scomp; + std::string gcomp = resVarAddr.componentName; + if ( gcomp == "Gamma1" ) scomp = "S1"; + else if ( gcomp == "Gamma2" ) scomp = "S2"; + else if ( gcomp == "Gamma3" ) scomp = "S3"; + else if ( gcomp == "Gamma11" ) scomp = "S11"; + else if ( gcomp == "Gamma22" ) scomp = "S22"; + else if ( gcomp == "Gamma33" ) scomp = "S33"; + totStressCompAddr.componentName = scomp; } - RigFemScalarResultFrames * srcPORDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(RIG_NODAL, "POR-Bar", "")); + RigFemScalarResultFrames * srcDataFrames = this->findOrLoadScalarResult(partIndex, totStressCompAddr); + + frameCountProgress.incrementProgress(); + frameCountProgress.setNextProgressIncrement(this->frameCount()); + RigFemScalarResultFrames * srcPORDataFrames = this->findOrLoadScalarResult(partIndex, RigFemResultAddress(RIG_NODAL, "POR-Bar", "")); RigFemScalarResultFrames * dstDataFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); - + + frameCountProgress.incrementProgress(); + + calculateGammaFromFrames(partIndex, srcDataFrames, srcPORDataFrames, dstDataFrames, &frameCountProgress); + + return dstDataFrames; + } + + if (resVarAddr.fieldName == "Gamma" && resVarAddr.componentName == "") + { + // Create and return an empty result + return m_femPartResults[partIndex]->createScalarResult(resVarAddr); + } + + if (resVarAddr.resultPosType == RIG_FORMATION_NAMES) + { + caf::ProgressInfo frameCountProgress(2, ""); + frameCountProgress.setProgressDescription("Calculating " + QString::fromStdString(resVarAddr.fieldName + ": " + resVarAddr.componentName)); + + RigFemScalarResultFrames* resFrames = m_femPartResults[partIndex]->createScalarResult(resVarAddr); + resFrames->enableAsSingleFrameResult(); + const RigFemPart * femPart = m_femParts->part(partIndex); - int frameCount = srcDataFrames->frameCount(); - float inf = std::numeric_limits::infinity(); - - for (int fIdx = 0; fIdx < frameCount; ++fIdx) + std::vector& dstFrameData = resFrames->frameData(0); + + size_t valCount = femPart->elementNodeResultCount(); + float inf = std::numeric_limits::infinity(); + dstFrameData.resize(valCount, inf); + + RigFormationNames* activeFormNames = m_activeFormationNamesData.p(); + + frameCountProgress.incrementProgress(); + + int elementCount = femPart->elementCount(); + for(int elmIdx = 0; elmIdx < elementCount; ++elmIdx) { - const std::vector& srcSTFrameData = srcDataFrames->frameData(fIdx); - const std::vector& srcPORFrameData = srcPORDataFrames->frameData(fIdx); - - std::vector& dstFrameData = dstDataFrames->frameData(fIdx); + RigElementType elmType = femPart->elementType(elmIdx); + int elmNodeCount = RigFemTypes::elmentNodeCount(elmType); - size_t valCount = srcSTFrameData.size(); - dstFrameData.resize(valCount); + size_t i, j, k; + femPart->structGrid()->ijkFromCellIndex(elmIdx, &i, &j, &k); + int formNameIdx = -1; + if (activeFormNames) + { + formNameIdx = activeFormNames->formationIndexFromKLayerIdx(k); + } - int elementCount = femPart->elementCount(); - for (int elmIdx = 0; elmIdx < elementCount; ++elmIdx) + for(int elmNodIdx = 0; elmNodIdx < elmNodeCount; ++elmNodIdx) { - RigElementType elmType = femPart->elementType(elmIdx); + size_t elmNodResIdx = femPart->elementNodeResultIdx(elmIdx, elmNodIdx); - int elmNodeCount = RigFemTypes::elmentNodeCount(femPart->elementType(elmIdx)); + if (formNameIdx != -1) + { + dstFrameData[elmNodResIdx] = formNameIdx; + } + else + { + dstFrameData[elmNodResIdx] = HUGE_VAL; + } + } + } - if (elmType == HEX8P) + return resFrames; + } + return NULL; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigFemPartResultsCollection::calculateGammaFromFrames(int partIndex, + const RigFemScalarResultFrames * totalStressComponentDataFrames, + const RigFemScalarResultFrames * srcPORDataFrames, + RigFemScalarResultFrames * dstDataFrames, + caf::ProgressInfo* frameCountProgress) +{ + const RigFemPart * femPart = m_femParts->part(partIndex); + int frameCount = totalStressComponentDataFrames->frameCount(); + float inf = std::numeric_limits::infinity(); + + for ( int fIdx = 0; fIdx < frameCount; ++fIdx ) + { + const std::vector& srcSTFrameData = totalStressComponentDataFrames->frameData(fIdx); + const std::vector& srcPORFrameData = srcPORDataFrames->frameData(fIdx); + + std::vector& dstFrameData = dstDataFrames->frameData(fIdx); + + size_t valCount = srcSTFrameData.size(); + dstFrameData.resize(valCount); + + int elementCount = femPart->elementCount(); + for ( int elmIdx = 0; elmIdx < elementCount; ++elmIdx ) + { + RigElementType elmType = femPart->elementType(elmIdx); + + int elmNodeCount = RigFemTypes::elmentNodeCount(femPart->elementType(elmIdx)); + + if ( elmType == HEX8P ) + { + for ( int elmNodIdx = 0; elmNodIdx < elmNodeCount; ++elmNodIdx ) { - for (int elmNodIdx = 0; elmNodIdx < elmNodeCount; ++elmNodIdx) - { - size_t elmNodResIdx = femPart->elementNodeResultIdx(elmIdx, elmNodIdx); - int nodeIdx = femPart->nodeIdxFromElementNodeResultIdx(elmNodResIdx); + size_t elmNodResIdx = femPart->elementNodeResultIdx(elmIdx, elmNodIdx); + int nodeIdx = femPart->nodeIdxFromElementNodeResultIdx(elmNodResIdx); - float por = srcPORFrameData[nodeIdx]; + float por = srcPORFrameData[nodeIdx]; - if (por == inf || abs(por) < 0.01e6*1.0e-5) - dstFrameData[elmNodResIdx] = inf; - else - dstFrameData[elmNodResIdx] = srcSTFrameData[elmNodResIdx]/por; - } + if ( por == inf || abs(por) < 0.01e6*1.0e-5 ) + dstFrameData[elmNodResIdx] = inf; + else + dstFrameData[elmNodResIdx] = srcSTFrameData[elmNodResIdx]/por; } - else + } + else + { + for ( int elmNodIdx = 0; elmNodIdx < elmNodeCount; ++elmNodIdx ) { - for (int elmNodIdx = 0; elmNodIdx < elmNodeCount; ++elmNodIdx) - { - size_t elmNodResIdx = femPart->elementNodeResultIdx(elmIdx, elmNodIdx); - dstFrameData[elmNodResIdx] = inf; - } + size_t elmNodResIdx = femPart->elementNodeResultIdx(elmIdx, elmNodIdx); + dstFrameData[elmNodResIdx] = inf; } } } - return dstDataFrames; - } - if (resVarAddr.fieldName == "Gamma" && resVarAddr.componentName == "") - { - // Create and return an empty result - return m_femPartResults[partIndex]->createScalarResult(resVarAddr); + frameCountProgress->incrementProgress(); } - - return NULL; } //-------------------------------------------------------------------------------------------------- @@ -710,6 +1896,43 @@ bool RigFemPartResultsCollection::assertResultsLoaded(const RigFemResultAddress& return foundResults; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigFemPartResultsCollection::deleteResult(const RigFemResultAddress& resVarAddr) +{ + CVF_ASSERT ( resVarAddr.isValid() ); + + for ( int pIdx = 0; pIdx < static_cast(m_femPartResults.size()); ++pIdx ) + { + if ( m_femPartResults[pIdx].notNull() ) + { + m_femPartResults[pIdx]->deleteScalarResult(resVarAddr); + } + } + + m_resultStatistics.erase(resVarAddr); + + if ( resVarAddr.representsAllTimeLapses() ) + { + std::vector addressesToDelete; + for ( auto it : m_resultStatistics ) + { + if ( it.first.resultPosType == resVarAddr.resultPosType + && it.first.fieldName == resVarAddr.fieldName + && it.first.componentName == resVarAddr.componentName ) + { + addressesToDelete.push_back(it.first); + } + } + + for ( RigFemResultAddress& addr: addressesToDelete ) + { + m_resultStatistics.erase(addr); + } + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -805,6 +2028,26 @@ void RigFemPartResultsCollection::p10p90ScalarValues(const RigFemResultAddress& this->statistics(resVarAddr)->p10p90CellScalarValues(frameIndex, *p10, *p90); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigFemPartResultsCollection::sumScalarValue(const RigFemResultAddress& resVarAddr, double* sum) +{ + CVF_ASSERT(sum); + + this->statistics(resVarAddr)->sumCellScalarValues(*sum); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigFemPartResultsCollection::sumScalarValue(const RigFemResultAddress& resVarAddr, int frameIndex, double* sum) +{ + CVF_ASSERT(sum); + + this->statistics(resVarAddr)->sumCellScalarValues(frameIndex, *sum); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -829,3 +2072,104 @@ int RigFemPartResultsCollection::partCount() const return m_femParts->partCount(); } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemClosestResultIndexCalculator::RigFemClosestResultIndexCalculator(RigFemPart* femPart, + RigFemResultPosEnum resultPosition, + int elementIndex, + int m_face, + const cvf::Vec3d& m_intersectionPoint) +{ + m_resultIndexToClosestResult = -1; + m_closestNodeId = -1; + m_closestElementNodeResIdx = -1; + + if ( resultPosition != RIG_ELEMENT_NODAL_FACE || m_face == -1 ) + { + RigElementType elmType = femPart->elementType(elementIndex); + const int* elmentConn = femPart->connectivities(elementIndex); + int elmNodeCount = RigFemTypes::elmentNodeCount(elmType); + + // Find the closest node + int closestLocalNode = -1; + float minDist = std::numeric_limits::infinity(); + for ( int lNodeIdx = 0; lNodeIdx < elmNodeCount; ++lNodeIdx ) + { + int nodeIdx = elmentConn[lNodeIdx]; + cvf::Vec3f nodePos = femPart->nodes().coordinates[nodeIdx]; + float dist = (nodePos - cvf::Vec3f(m_intersectionPoint)).lengthSquared(); + if ( dist < minDist ) + { + closestLocalNode = lNodeIdx; + minDist = dist; + } + } + + if ( closestLocalNode >= 0 ) + { + float scalarValue = std::numeric_limits::infinity(); + int nodeIdx = elmentConn[closestLocalNode]; + m_closestElementNodeResIdx = static_cast(femPart->elementNodeResultIdx(elementIndex, closestLocalNode)); + + if ( resultPosition == RIG_NODAL ) + { + m_resultIndexToClosestResult = nodeIdx; + } + else if (resultPosition == RIG_ELEMENT_NODAL_FACE) + { + m_resultIndexToClosestResult = -1; + } + else + { + m_resultIndexToClosestResult = m_closestElementNodeResIdx; + } + + m_closestNodeId = femPart->nodes().nodeIds[nodeIdx]; + } + } + else if ( m_face != -1 ) + { + int elmNodFaceResIdx = -1; + int closestNodeIdx = -1; + { + int closestLocFaceNode = -1; + int closestLocalElmNode = -1; + { + RigElementType elmType = femPart->elementType(elementIndex); + int faceCount = RigFemTypes::elmentFaceCount(elmType); + const int* elmNodeIndices = femPart->connectivities(elementIndex); + int faceNodeCount = 0; + const int* localElmNodeIndicesForFace = RigFemTypes::localElmNodeIndicesForFace(elmType, m_face, &faceNodeCount); + + float minDist = std::numeric_limits::infinity(); + for ( int faceNodIdx = 0; faceNodIdx < faceNodeCount; ++faceNodIdx ) + { + int nodeIdx = elmNodeIndices[localElmNodeIndicesForFace[faceNodIdx]]; + cvf::Vec3f nodePos = femPart->nodes().coordinates[nodeIdx]; + float dist = (nodePos - cvf::Vec3f(m_intersectionPoint)).lengthSquared(); + if ( dist < minDist ) + { + closestLocFaceNode = faceNodIdx; + closestNodeIdx = nodeIdx; + closestLocalElmNode = localElmNodeIndicesForFace[faceNodIdx]; + minDist = dist; + } + } + } + + int elmNodFaceResIdxElmStart = elementIndex * 24; // HACK should get from part + int elmNodFaceResIdxFaceStart = elmNodFaceResIdxElmStart + 4*m_face; + + if ( closestLocFaceNode >= 0 ) + { + elmNodFaceResIdx = elmNodFaceResIdxFaceStart + closestLocFaceNode; + m_closestElementNodeResIdx = static_cast(femPart->elementNodeResultIdx(elementIndex, closestLocalElmNode)); + } + } + + m_resultIndexToClosestResult = elmNodFaceResIdx; + m_closestNodeId = femPart->nodes().nodeIds[closestNodeIdx]; + } +} \ No newline at end of file diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.h b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.h index fe02ace9d8..1898abb026 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.h +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.h @@ -32,6 +32,11 @@ class RigFemPartResultsCollection; class RigFemPartResults; class RigStatisticsDataCache; class RigFemPartCollection; +class RigFormationNames; +namespace caf +{ + class ProgressInfo; +} class RigFemPartResultsCollection: public cvf::Object { @@ -39,9 +44,17 @@ class RigFemPartResultsCollection: public cvf::Object RigFemPartResultsCollection(RifGeoMechReaderInterface* readerInterface, const RigFemPartCollection * femPartCollection); ~RigFemPartResultsCollection(); + void setActiveFormationNames(RigFormationNames* activeFormationNames); + RigFormationNames* activeFormationNames(); + void setCalculationParameters(double cohesion, double frictionAngleRad); + double parameterCohesion() const { return m_cohesion;} + double parameterFrictionAngleRad() const { return m_frictionAngleRad; } + std::map > scalarFieldAndComponentNames(RigFemResultPosEnum resPos); std::vector stepNames(); bool assertResultsLoaded(const RigFemResultAddress& resVarAddr); + void deleteResult(const RigFemResultAddress& resVarAddr); + const std::vector& resultValues(const RigFemResultAddress& resVarAddr, int partIndex, int frameIndex); int partCount() const; int frameCount(); @@ -55,6 +68,8 @@ class RigFemPartResultsCollection: public cvf::Object void meanScalarValue(const RigFemResultAddress& resVarAddr, int frameIndex, double* meanValue); void p10p90ScalarValues(const RigFemResultAddress& resVarAddr, double* p10, double* p90); void p10p90ScalarValues(const RigFemResultAddress& resVarAddr, int frameIndex, double* p10, double* p90); + void sumScalarValue(const RigFemResultAddress& resVarAddr, double* sum); + void sumScalarValue(const RigFemResultAddress& resVarAddr, int frameIndex, double* sum); const std::vector& scalarValuesHistogram(const RigFemResultAddress& resVarAddr); const std::vector& scalarValuesHistogram(const RigFemResultAddress& resVarAddr, int frameIndex); @@ -64,17 +79,93 @@ class RigFemPartResultsCollection: public cvf::Object RigFemScalarResultFrames* calculateDerivedResult(int partIndex, const RigFemResultAddress& resVarAddr); + + void calculateGammaFromFrames(int partIndex, + const RigFemScalarResultFrames * totalStressComponentDataFrames, + const RigFemScalarResultFrames * srcPORDataFrames, + RigFemScalarResultFrames * dstDataFrames, + caf::ProgressInfo* frameCountProgress); + RigFemScalarResultFrames* calculateBarConvertedResult(int partIndex, const RigFemResultAddress &convertedResultAddr, const std::string fieldNameToConvert); RigFemScalarResultFrames* calculateEnIpPorBarResult(int partIndex, const RigFemResultAddress &convertedResultAddr); + RigFemScalarResultFrames* calculateTimeLapseResult(int partIndex, const RigFemResultAddress& resVarAddr); + RigFemScalarResultFrames* calculateMeanStressSEM(int partIndex, const RigFemResultAddress& resVarAddr); + RigFemScalarResultFrames* calculateSFI(int partIndex, const RigFemResultAddress& resVarAddr); + RigFemScalarResultFrames* calculateDSM(int partIndex, const RigFemResultAddress& resVarAddr); + RigFemScalarResultFrames* calculateFOS(int partIndex, const RigFemResultAddress& resVarAddr); + RigFemScalarResultFrames* calculateMeanStressSTM(int partIndex, const RigFemResultAddress& resVarAddr); + RigFemScalarResultFrames* calculateDeviatoricStress(int partIndex, const RigFemResultAddress& resVarAddr); + RigFemScalarResultFrames* calculateVolumetricStrain(int partIndex, const RigFemResultAddress& resVarAddr); + RigFemScalarResultFrames* calculateDeviatoricStrain(int partIndex, const RigFemResultAddress& resVarAddr); + RigFemScalarResultFrames* calculateSurfaceAlignedStress(int partIndex, const RigFemResultAddress& resVarAddr); + RigFemScalarResultFrames* calculateSurfaceAngles(int partIndex, const RigFemResultAddress& resVarAddr); + RigFemScalarResultFrames* calculatePrincipalStressValues(int partIndex, const RigFemResultAddress &resVarAddr); + RigFemScalarResultFrames* calculatePrincipalStrainValues(int partIndex, const RigFemResultAddress &resVarAddr); cvf::Collection m_femPartResults; cvf::ref m_readerInterface; cvf::cref m_femParts; + cvf::ref m_activeFormationNamesData; + + double m_cohesion; + double m_frictionAngleRad; RigStatisticsDataCache* statistics(const RigFemResultAddress& resVarAddr); std::vector< RigFemResultAddress> getResAddrToComponentsToRead(const RigFemResultAddress& resVarAddr); std::map > m_resultStatistics; }; +#include +#include "cvfVector3.h" +#include + +// Y - North, X - East, Z - up but depth is negative Z +// azi is measured from the Northing (Y) Axis in Clockwise direction looking down +// inc is measured from the negative Z (depth) axis + +class OffshoreSphericalCoords +{ +public: + explicit OffshoreSphericalCoords(const cvf::Vec3f& vec) + { + // Azimuth: + if (vec[0] == 0.0f && vec[1] == 0.0 ) incAziR[1] = 0.0f; + else incAziR[1] = atan2(vec[0], vec[1]); // atan2(Y, X) + + // R + incAziR[2] = vec.length(); + + // Inclination from vertical down + if (incAziR[2] == 0) incAziR[0] = 0.0f; + else incAziR[0] = acos(-vec[2]/incAziR[2]); + + } + + float inc() const { return incAziR[0];} + float azi() const { return incAziR[1];} + float r() const { return incAziR[2];} + +private: + std::array incAziR; +}; + +class RigFemPart; +class RigFemClosestResultIndexCalculator +{ +public: + RigFemClosestResultIndexCalculator(RigFemPart* femPart, + RigFemResultPosEnum resultPosition, + int elementIndex, + int m_face, + const cvf::Vec3d& m_intersectionPoint); + + int resultIndexToClosestResult() { return m_resultIndexToClosestResult; } + int closestNodeId() { return m_closestNodeId; } + int closestElementNodeResIdx () { return m_closestElementNodeResIdx; } +private: + int m_resultIndexToClosestResult; + int m_closestNodeId; + int m_closestElementNodeResIdx; +}; diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemResultAddress.h b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemResultAddress.h index c1533ff9fc..0010f2bada 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemResultAddress.h +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemResultAddress.h @@ -29,27 +29,56 @@ class RigFemResultAddress { public: -RigFemResultAddress(RigFemResultPosEnum resPosType, - const std::string& aFieldName, - const std::string& aComponentName) - : resultPosType(resPosType), fieldName(aFieldName), componentName(aComponentName) - {} + RigFemResultAddress(RigFemResultPosEnum resPosType, + const std::string& aFieldName, + const std::string& aComponentName) + : resultPosType(resPosType), + fieldName(aFieldName), + componentName(aComponentName), + timeLapseBaseFrameIdx(-1) + { + } + + RigFemResultAddress(RigFemResultPosEnum resPosType, + const std::string& aFieldName, + const std::string& aComponentName, + int aTimeLapseBaseFrame) + : resultPosType(resPosType), + fieldName(aFieldName), + componentName(aComponentName), + timeLapseBaseFrameIdx(aTimeLapseBaseFrame) + { + } RigFemResultPosEnum resultPosType; std::string fieldName; std::string componentName; + int timeLapseBaseFrameIdx; + + static const int ALL_TIME_LAPSES = -2; + + bool isTimeLapse() const { return timeLapseBaseFrameIdx >= 0;} + bool representsAllTimeLapses() const { return timeLapseBaseFrameIdx == ALL_TIME_LAPSES;} bool isValid() const { bool isTypeValid = resultPosType == RIG_NODAL || resultPosType == RIG_ELEMENT_NODAL - || resultPosType == RIG_INTEGRATION_POINT; + || resultPosType == RIG_INTEGRATION_POINT + || resultPosType == RIG_ELEMENT_NODAL_FACE + || resultPosType == RIG_FORMATION_NAMES; bool isFieldValid = fieldName != ""; + return isTypeValid && isFieldValid; } bool operator< (const RigFemResultAddress& other ) const { + if (timeLapseBaseFrameIdx != other.timeLapseBaseFrameIdx) + { + return (timeLapseBaseFrameIdx < other.timeLapseBaseFrameIdx); + } + if (resultPosType != other.resultPosType) { return (resultPosType < other.resultPosType); @@ -59,7 +88,7 @@ RigFemResultAddress(RigFemResultPosEnum resPosType, { return (fieldName < other.fieldName); } - + return (componentName < other.componentName); } }; diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemResultPosEnum.h b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemResultPosEnum.h index add7f3eed3..3e362842b8 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemResultPosEnum.h +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemResultPosEnum.h @@ -3,5 +3,7 @@ enum RigFemResultPosEnum { RIG_NODAL, RIG_ELEMENT_NODAL, - RIG_INTEGRATION_POINT + RIG_INTEGRATION_POINT, + RIG_ELEMENT_NODAL_FACE, + RIG_FORMATION_NAMES }; diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemScalarResultFrames.cpp b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemScalarResultFrames.cpp index f32a35549d..c32faba623 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemScalarResultFrames.cpp +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemScalarResultFrames.cpp @@ -28,6 +28,7 @@ RigFemScalarResultFrames::RigFemScalarResultFrames(int frameCount) { m_dataForEachFrame.resize(frameCount); + m_isSingleFrameResult = false; } //-------------------------------------------------------------------------------------------------- @@ -41,7 +42,15 @@ RigFemScalarResultFrames::~RigFemScalarResultFrames() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -int RigFemScalarResultFrames::frameCount() +void RigFemScalarResultFrames::enableAsSingleFrameResult() +{ + m_isSingleFrameResult = true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int RigFemScalarResultFrames::frameCount() const { return static_cast(m_dataForEachFrame.size()); } @@ -52,5 +61,27 @@ int RigFemScalarResultFrames::frameCount() //-------------------------------------------------------------------------------------------------- std::vector& RigFemScalarResultFrames::frameData(size_t frameIndex) { - return m_dataForEachFrame[frameIndex]; + if (m_isSingleFrameResult) + { + return m_dataForEachFrame[0]; + } + else + { + return m_dataForEachFrame[frameIndex]; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RigFemScalarResultFrames::frameData(size_t frameIndex) const +{ + if ( m_isSingleFrameResult ) + { + return m_dataForEachFrame[0]; + } + else + { + return m_dataForEachFrame[frameIndex]; + } } diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemScalarResultFrames.h b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemScalarResultFrames.h index 7489286caf..4c0d11bbcf 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemScalarResultFrames.h +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemScalarResultFrames.h @@ -33,9 +33,13 @@ class RigFemScalarResultFrames: public cvf::Object RigFemScalarResultFrames(int frameCount); virtual ~RigFemScalarResultFrames(); + void enableAsSingleFrameResult(); + std::vector& frameData(size_t frameIndex); - int frameCount(); + const std::vector& frameData(size_t frameIndex) const; + int frameCount() const; private: std::vector< std::vector > m_dataForEachFrame; + bool m_isSingleFrameResult; }; diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemTimeHistoryResultAccessor.cpp b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemTimeHistoryResultAccessor.cpp deleted file mode 100644 index a06bb96463..0000000000 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemTimeHistoryResultAccessor.cpp +++ /dev/null @@ -1,148 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) Statoil ASA -// Copyright (C) Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#include "RigFemTimeHistoryResultAccessor.h" - -#include "RigFemPart.h" -#include "RigFemPartCollection.h" -#include "RigFemPartGrid.h" -#include "RigFemPartResultsCollection.h" -#include "RigFemTypes.h" -#include "RigGeoMechCaseData.h" - -#include // Needed for HUGE_VAL on Linux - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RigFemTimeHistoryResultAccessor::RigFemTimeHistoryResultAccessor(RigGeoMechCaseData* geomData, RigFemResultAddress femResultAddress, - size_t gridIndex, size_t cellIndex, const cvf::Vec3d& intersectionPoint) - : m_geoMechCaseData(geomData), - m_femResultAddress(femResultAddress), - m_gridIndex(gridIndex), - m_cellIndex(cellIndex), - m_intersectionPoint(intersectionPoint) -{ - computeTimeHistoryData(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QString RigFemTimeHistoryResultAccessor::topologyText() const -{ - QString text; - - if (m_geoMechCaseData) - { - RigFemPart* femPart = m_geoMechCaseData->femParts()->part(m_gridIndex); - int elementId = femPart->elmId(m_cellIndex); - text += QString("Element : Id[%1]").arg(elementId); - - size_t i = 0; - size_t j = 0; - size_t k = 0; - if (m_geoMechCaseData->femParts()->part(m_gridIndex)->structGrid()->ijkFromCellIndex(m_cellIndex, &i, &j, &k)) - { - // Adjust to 1-based Eclipse indexing - i++; - j++; - k++; - - cvf::Vec3d domainCoord = m_intersectionPoint; - text += QString(", ijk[%1, %2, %3]").arg(i).arg(j).arg(k); - - QString formattedText; - formattedText.sprintf("Intersection point : [E: %.2f, N: %.2f, Depth: %.2f]", domainCoord.x(), domainCoord.y(), -domainCoord.z()); - - text += formattedText; - } - } - - return text; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -std::vector RigFemTimeHistoryResultAccessor::timeHistoryValues() const -{ - return m_timeHistoryValues; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RigFemTimeHistoryResultAccessor::computeTimeHistoryData() -{ - m_timeHistoryValues.clear(); - - size_t scalarResultIndex = cvf::UNDEFINED_SIZE_T; - - // Compute scalar result index from geometry - { - RigFemPart* femPart = m_geoMechCaseData->femParts()->part(m_gridIndex); - RigElementType elmType = femPart->elementType(m_cellIndex); - const int* elmentConn = femPart->connectivities(m_cellIndex); - int elmNodeCount = RigFemTypes::elmentNodeCount(elmType); - - // Find the closest node - int closestLocalNode = -1; - float minDist = std::numeric_limits::infinity(); - for (int lNodeIdx = 0; lNodeIdx < elmNodeCount; ++lNodeIdx) - { - int nodeIdx = elmentConn[lNodeIdx]; - cvf::Vec3f nodePos = femPart->nodes().coordinates[nodeIdx]; - float dist = (nodePos - cvf::Vec3f(m_intersectionPoint)).lengthSquared(); - if (dist < minDist) - { - closestLocalNode = lNodeIdx; - minDist = dist; - } - } - - // Create a text showing the results from the closest node - if (closestLocalNode >= 0) - { - int nodeIdx = elmentConn[closestLocalNode]; - if (m_femResultAddress.resultPosType == RIG_NODAL) - { - scalarResultIndex = static_cast(nodeIdx); - } - else - { - scalarResultIndex = femPart->elementNodeResultIdx(static_cast(m_cellIndex), closestLocalNode); - } - } - } - - if (scalarResultIndex == cvf::UNDEFINED_SIZE_T) return; - - RigFemPartResultsCollection* femPartResultsColl = m_geoMechCaseData->femPartResults(); - for (int frameIdx = 0; frameIdx < femPartResultsColl->frameCount(); frameIdx++) - { - const std::vector& scalarResults = m_geoMechCaseData->femPartResults()->resultValues(m_femResultAddress, static_cast(m_gridIndex), frameIdx); - if (scalarResults.size()) - { - float scalarValue = scalarResults[scalarResultIndex]; - - m_timeHistoryValues.push_back(scalarValue); - } - } -} diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemTimeHistoryResultAccessor.h b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemTimeHistoryResultAccessor.h deleted file mode 100644 index cb47556c2a..0000000000 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemTimeHistoryResultAccessor.h +++ /dev/null @@ -1,54 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) Statoil ASA -// Copyright (C) Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#pragma once - -#include "RigFemResultAddress.h" - -#include "cvfStructGrid.h" -#include "cvfVector3.h" - -class RigGeoMechCaseData; - - -class RigFemTimeHistoryResultAccessor -{ -public: - RigFemTimeHistoryResultAccessor(RigGeoMechCaseData* geomData, RigFemResultAddress femResultAddress, - size_t gridIndex, size_t cellIndex, const cvf::Vec3d& intersectionPoint); - - QString topologyText() const; - std::vector timeHistoryValues() const; - -private: - void computeTimeHistoryData(); - -private: - RigGeoMechCaseData* m_geoMechCaseData; - RigFemResultAddress m_femResultAddress; - - size_t m_gridIndex; - size_t m_cellIndex; - size_t m_scalarResultIndex; - - cvf::Vec3d m_intersectionPoint; - - std::vector m_timeHistoryValues; -}; - diff --git a/ApplicationCode/GeoMech/GeoMechVisualization/RivFemElmVisibilityCalculator.cpp b/ApplicationCode/GeoMech/GeoMechVisualization/RivFemElmVisibilityCalculator.cpp index d9f7fbe2c1..07ea185e33 100644 --- a/ApplicationCode/GeoMech/GeoMechVisualization/RivFemElmVisibilityCalculator.cpp +++ b/ApplicationCode/GeoMech/GeoMechVisualization/RivFemElmVisibilityCalculator.cpp @@ -18,23 +18,27 @@ ///////////////////////////////////////////////////////////////////////////////// #include "RivFemElmVisibilityCalculator.h" -#include "cvfBase.h" + +#include "RigCaseToCaseCellMapper.h" #include "RigFemPart.h" #include "RigFemPartGrid.h" -#include "cvfStructGrid.h" -#include "cvfStructGridGeometryGenerator.h" -#include "RimGeoMechPropertyFilterCollection.h" +#include "RigFemPartResultsCollection.h" +#include "RigGeoMechCaseData.h" + #include "RimEclipsePropertyFilter.h" +#include "RimGeoMechCase.h" #include "RimGeoMechPropertyFilter.h" +#include "RimGeoMechPropertyFilterCollection.h" #include "RimGeoMechResultDefinition.h" #include "RimGeoMechView.h" -#include "RimGeoMechCase.h" - -#include "RigGeoMechCaseData.h" -#include "RigFemPartResultsCollection.h" #include "RimViewController.h" #include "RimViewLinker.h" -#include "RigCaseToCaseCellMapper.h" + +#include "cvfBase.h" +#include "cvfStructGrid.h" +#include "cvfStructGridGeometryGenerator.h" + +#include //-------------------------------------------------------------------------------------------------- /// @@ -109,46 +113,38 @@ void RivFemElmVisibilityCalculator::computePropertyVisibility(cvf::UByteArray* c { RimGeoMechPropertyFilter* propertyFilter = propFilterColl->propertyFilters()[i]; - if (propertyFilter->isActive() && propertyFilter->resultDefinition->hasResult()) - { - const double lowerBound = propertyFilter->lowerBound(); - const double upperBound = propertyFilter->upperBound(); + const RimCellFilter::FilterModeType filterType = propertyFilter->filterMode(); - RigFemResultAddress resVarAddress = propertyFilter->resultDefinition->resultAddress(); - - // Do a "Hack" to use elm nodal and not nodal POR results - if (resVarAddress.resultPosType == RIG_NODAL && resVarAddress.fieldName == "POR-Bar") resVarAddress.resultPosType = RIG_ELEMENT_NODAL; + RigGeoMechCaseData* caseData = propFilterColl->reservoirView()->geoMechCase()->geoMechData(); - const RimCellFilter::FilterModeType filterType = propertyFilter->filterMode(); + RigFemResultAddress resVarAddress = propertyFilter->resultDefinition->resultAddress(); - RigGeoMechCaseData* caseData = propFilterColl->reservoirView()->geoMechCase()->geoMechData(); + // Do a "Hack" to use elm nodal and not nodal POR results + if ( resVarAddress.resultPosType == RIG_NODAL && resVarAddress.fieldName == "POR-Bar" ) resVarAddress.resultPosType = RIG_ELEMENT_NODAL; - const std::vector& resVals = caseData->femPartResults()->resultValues(resVarAddress, - grid->elementPartId(), - timeStepIndex); - #pragma omp parallel for schedule(dynamic) - for (int cellIndex = 0; cellIndex < elementCount; cellIndex++) + const std::vector& resVals = caseData->femPartResults()->resultValues(resVarAddress, + grid->elementPartId(), + timeStepIndex); + + if (propertyFilter->isActive() && propertyFilter->resultDefinition->hasResult()) + { + if (propertyFilter->resultDefinition->resultAddress().resultPosType == RIG_FORMATION_NAMES) { - if ( (*cellVisibility)[cellIndex] ) + std::vector integerVector = propertyFilter->selectedCategoryValues(); + std::set integerSet; + for (auto val : integerVector) { - RigElementType eType = grid->elementType(cellIndex); - int elmNodeCount = RigFemTypes::elmentNodeCount(eType); + integerSet.insert(val); + } - const int* elmNodeIndices = grid->connectivities(cellIndex); - for(int enIdx = 0; enIdx < elmNodeCount; ++enIdx) + for (int cellIndex = 0; cellIndex < elementCount; cellIndex++) + { + if ((*cellVisibility)[cellIndex]) { - size_t resultValueIndex = cvf::UNDEFINED_SIZE_T; - if (resVarAddress.resultPosType == RIG_NODAL) - { - resultValueIndex = elmNodeIndices[enIdx]; - } - else - { - resultValueIndex = grid->elementNodeResultIdx(cellIndex, enIdx); - } - + size_t resultValueIndex = grid->elementNodeResultIdx(cellIndex, 0); double scalarValue = resVals[resultValueIndex]; - if (lowerBound <= scalarValue && scalarValue <= upperBound) + int intValue = nearbyint(scalarValue); + if (integerSet.find(intValue) != integerSet.end()) { if (filterType == RimCellFilter::EXCLUDE) { @@ -165,6 +161,87 @@ void RivFemElmVisibilityCalculator::computePropertyVisibility(cvf::UByteArray* c } } } + else + { + const double lowerBound = propertyFilter->lowerBound(); + const double upperBound = propertyFilter->upperBound(); + + + if (resVarAddress.resultPosType != RIG_ELEMENT_NODAL_FACE) + { + #pragma omp parallel for schedule(dynamic) + for (int cellIndex = 0; cellIndex < elementCount; cellIndex++) + { + if ( (*cellVisibility)[cellIndex] ) + { + RigElementType eType = grid->elementType(cellIndex); + int elmNodeCount = RigFemTypes::elmentNodeCount(eType); + + const int* elmNodeIndices = grid->connectivities(cellIndex); + for(int enIdx = 0; enIdx < elmNodeCount; ++enIdx) + { + size_t resultValueIndex = cvf::UNDEFINED_SIZE_T; + if (resVarAddress.resultPosType == RIG_NODAL) + { + resultValueIndex = elmNodeIndices[enIdx]; + } + else + { + resultValueIndex = grid->elementNodeResultIdx(cellIndex, enIdx); + } + + double scalarValue = resVals[resultValueIndex]; + if (lowerBound <= scalarValue && scalarValue <= upperBound) + { + if (filterType == RimCellFilter::EXCLUDE) + { + (*cellVisibility)[cellIndex] = false; + } + } + else + { + if (filterType == RimCellFilter::INCLUDE) + { + (*cellVisibility)[cellIndex] = false; + } + } + } + } + } + } + else + { + #pragma omp parallel for schedule(dynamic) + for(int cellIndex = 0; cellIndex < elementCount; cellIndex++) + { + if((*cellVisibility)[cellIndex]) + { + RigElementType eType = grid->elementType(cellIndex); + int elmNodeCount = RigFemTypes::elmentNodeCount(eType); + + const int* elmNodeIndices = grid->connectivities(cellIndex); + for(int fpIdx = 0; fpIdx < 24; ++fpIdx) + { + double scalarValue = resVals[cellIndex*24 + fpIdx]; + if(lowerBound <= scalarValue && scalarValue <= upperBound) + { + if(filterType == RimCellFilter::EXCLUDE) + { + (*cellVisibility)[cellIndex] = false; + } + } + else + { + if(filterType == RimCellFilter::INCLUDE) + { + (*cellVisibility)[cellIndex] = false; + } + } + } + } + } + } + } } } } diff --git a/ApplicationCode/GeoMech/GeoMechVisualization/RivFemPartGeometryGenerator.cpp b/ApplicationCode/GeoMech/GeoMechVisualization/RivFemPartGeometryGenerator.cpp index cce048fb24..1262412066 100644 --- a/ApplicationCode/GeoMech/GeoMechVisualization/RivFemPartGeometryGenerator.cpp +++ b/ApplicationCode/GeoMech/GeoMechVisualization/RivFemPartGeometryGenerator.cpp @@ -156,6 +156,7 @@ void RivFemPartGeometryGenerator::computeArrays() m_quadVerticesToNodeIdx.clear(); m_quadVerticesToGlobalElmNodeIdx.clear(); + m_quadVerticesToGlobalElmFaceNodeIdx.clear(); trianglesToElements.clear(); trianglesToElementFaces.clear(); @@ -179,6 +180,8 @@ void RivFemPartGeometryGenerator::computeArrays() int faceCount = RigFemTypes::elmentFaceCount(eType); const int* elmNodeIndices = m_part->connectivities(elmIdx); + + int elmNodFaceResIdxElmStart = elmIdx * 24; // HACK should get from part for (int lfIdx = 0; lfIdx < faceCount; ++lfIdx) { @@ -194,8 +197,6 @@ void RivFemPartGeometryGenerator::computeArrays() if (faceNodeCount == 4) { - // Todo: Needs to get rid of opposite faces - const cvf::Vec3f* quadVxs[4]; quadVxs[0] = &(nodeCoordinates[ elmNodeIndices[localElmNodeIndicesForFace[0]] ]); @@ -232,6 +233,13 @@ void RivFemPartGeometryGenerator::computeArrays() m_quadVerticesToGlobalElmNodeIdx.push_back(qElmNodeResIdx[2]); m_quadVerticesToGlobalElmNodeIdx.push_back(qElmNodeResIdx[3]); + int elmNodFaceResIdxFaceStart = elmNodFaceResIdxElmStart + lfIdx*4; // HACK + + m_quadVerticesToGlobalElmFaceNodeIdx.push_back(elmNodFaceResIdxFaceStart + 0); + m_quadVerticesToGlobalElmFaceNodeIdx.push_back(elmNodFaceResIdxFaceStart + 1); + m_quadVerticesToGlobalElmFaceNodeIdx.push_back(elmNodFaceResIdxFaceStart + 2); + m_quadVerticesToGlobalElmFaceNodeIdx.push_back(elmNodFaceResIdxFaceStart + 3); + trianglesToElements.push_back(elmIdx); trianglesToElements.push_back(elmIdx); trianglesToElementFaces.push_back(lfIdx); diff --git a/ApplicationCode/GeoMech/GeoMechVisualization/RivFemPartGeometryGenerator.h b/ApplicationCode/GeoMech/GeoMechVisualization/RivFemPartGeometryGenerator.h index de214036f3..8f51fccef5 100644 --- a/ApplicationCode/GeoMech/GeoMechVisualization/RivFemPartGeometryGenerator.h +++ b/ApplicationCode/GeoMech/GeoMechVisualization/RivFemPartGeometryGenerator.h @@ -62,6 +62,7 @@ class RivFemPartGeometryGenerator : public cvf::Object const std::vector& quadVerticesToNodeIdxMapping() const { return m_quadVerticesToNodeIdx;} const std::vector& quadVerticesToGlobalElmNodeIdx() const { return m_quadVerticesToGlobalElmNodeIdx;} + const std::vector& quadVerticesToGlobalElmFaceNodeIdx() const { return m_quadVerticesToGlobalElmFaceNodeIdx; } RivFemPartTriangleToElmMapper* triangleToElementMapper() { return m_triangleMapper.p();} @@ -82,6 +83,7 @@ class RivFemPartGeometryGenerator : public cvf::Object //cvf::ref m_triangleVertices; // If needed, we will do it like this, I think std::vector m_quadVerticesToNodeIdx; std::vector m_quadVerticesToGlobalElmNodeIdx; + std::vector m_quadVerticesToGlobalElmFaceNodeIdx; // Mappings cvf::ref m_triangleMapper; diff --git a/ApplicationCode/GeoMech/GeoMechVisualization/RivFemPartPartMgr.cpp b/ApplicationCode/GeoMech/GeoMechVisualization/RivFemPartPartMgr.cpp index b8da666461..d160f97dcd 100644 --- a/ApplicationCode/GeoMech/GeoMechVisualization/RivFemPartPartMgr.cpp +++ b/ApplicationCode/GeoMech/GeoMechVisualization/RivFemPartPartMgr.cpp @@ -18,16 +18,24 @@ ///////////////////////////////////////////////////////////////////////////////// #include + #include "RivGeoMechPartMgr.h" #include "RiaApplication.h" #include "RiaPreferences.h" +#include "RifGeoMechReaderInterface.h" + +#include "RigFemPartResultsCollection.h" +#include "RigFemScalarResultFrames.h" +#include "RigGeoMechCaseData.h" + #include "RimEclipseView.h" #include "RimGeoMechCellColors.h" -#include "RimLegendConfig.h" #include "RimGeoMechView.h" +#include "RimLegendConfig.h" +#include "RivFemPickSourceInfo.h" #include "RivResultToTextureMapper.h" #include "RivScalarMapperUtils.h" #include "RivSourceInfo.h" @@ -39,20 +47,15 @@ #include "cvfMath.h" #include "cvfModelBasicList.h" #include "cvfPart.h" +#include "cvfRenderState_FF.h" #include "cvfRenderStateBlending.h" #include "cvfRenderStatePolygonOffset.h" -#include "cvfRenderState_FF.h" #include "cvfShaderProgram.h" #include "cvfShaderProgramGenerator.h" #include "cvfShaderSourceProvider.h" #include "cvfShaderSourceRepository.h" #include "cvfStructGrid.h" #include "cvfUniform.h" -#include "RifGeoMechReaderInterface.h" -#include "RigGeoMechCaseData.h" -#include "RigFemScalarResultFrames.h" -#include "RigFemPartResultsCollection.h" -#include "RivFemPickSourceInfo.h" //-------------------------------------------------------------------------------------------------- @@ -238,18 +241,25 @@ void RivFemPartPartMgr::updateCellResultColor(size_t timeStepIndex, RimGeoMechCe const std::vector& resultValues = caseData->femPartResults()->resultValues(resVarAddress, m_gridIdx, (int)timeStepIndex); const std::vector* vxToResultMapping = NULL; + int vxCount = 0; if (resVarAddress.resultPosType == RIG_NODAL) { vxToResultMapping = &(m_surfaceGenerator.quadVerticesToNodeIdxMapping()); } else if ( resVarAddress.resultPosType == RIG_ELEMENT_NODAL - || resVarAddress.resultPosType == RIG_INTEGRATION_POINT) + || resVarAddress.resultPosType == RIG_INTEGRATION_POINT + || resVarAddress.resultPosType == RIG_FORMATION_NAMES) { vxToResultMapping = &(m_surfaceGenerator.quadVerticesToGlobalElmNodeIdx()); } + else if(resVarAddress.resultPosType == RIG_ELEMENT_NODAL_FACE) + { + vxToResultMapping = &(m_surfaceGenerator.quadVerticesToGlobalElmFaceNodeIdx()); + } - m_surfaceFacesTextureCoords->resize(vxToResultMapping->size()); + vxCount = static_cast(vxToResultMapping->size()); + m_surfaceFacesTextureCoords->resize(vxCount); if (resultValues.size() == 0) { @@ -259,12 +269,10 @@ void RivFemPartPartMgr::updateCellResultColor(size_t timeStepIndex, RimGeoMechCe { cvf::Vec2f* rawPtr = m_surfaceFacesTextureCoords->ptr(); - int vxCount = static_cast(vxToResultMapping->size()); - #pragma omp parallel for schedule(dynamic) for (int quadStartIdx = 0; quadStartIdx < vxCount; quadStartIdx += 4) { - float resultValue1 = resultValues[(*vxToResultMapping)[quadStartIdx]]; + float resultValue1 = resultValues[(*vxToResultMapping)[quadStartIdx + 0]]; float resultValue2 = resultValues[(*vxToResultMapping)[quadStartIdx + 1]]; float resultValue3 = resultValues[(*vxToResultMapping)[quadStartIdx + 2]]; float resultValue4 = resultValues[(*vxToResultMapping)[quadStartIdx + 3]]; @@ -290,7 +298,7 @@ void RivFemPartPartMgr::updateCellResultColor(size_t timeStepIndex, RimGeoMechCe } RimView* view = NULL; - cellResultColors->firstAnchestorOrThisOfType(view); + cellResultColors->firstAncestorOrThisOfType(view); CVF_ASSERT(view); RivScalarMapperUtils::applyTextureResultsToPart(m_surfaceFaces.p(), diff --git a/ApplicationCode/GeoMech/GeoMechVisualization/RivGeoMechVizLogic.cpp b/ApplicationCode/GeoMech/GeoMechVisualization/RivGeoMechVizLogic.cpp index f15c8bb79d..72c32a601e 100644 --- a/ApplicationCode/GeoMech/GeoMechVisualization/RivGeoMechVizLogic.cpp +++ b/ApplicationCode/GeoMech/GeoMechVisualization/RivGeoMechVizLogic.cpp @@ -19,24 +19,27 @@ #include "RivGeoMechVizLogic.h" -#include "RimGeoMechView.h" -#include "cvfModelBasicList.h" -#include "RimGeoMechCellColors.h" -#include "RivGeoMechPartMgrCache.h" -#include "RivGeoMechPartMgr.h" -#include "RivReservoirViewPartMgr.h" -#include "RimGeoMechCase.h" #include "RigFemPartCollection.h" +#include "RigFemPartResultsCollection.h" #include "RigGeoMechCaseData.h" -#include "RimCellRangeFilterCollection.h" -#include "RivCellSetEnum.h" -#include "RivFemElmVisibilityCalculator.h" -#include "RigFemPartResultsCollection.h" +#include "RimCellRangeFilterCollection.h" +#include "RimGeoMechCase.h" +#include "RimGeoMechCellColors.h" #include "RimGeoMechPropertyFilterCollection.h" +#include "RimGeoMechView.h" #include "RimView.h" #include "RimViewController.h" +#include "RivCellSetEnum.h" +#include "RivFemElmVisibilityCalculator.h" +#include "RivGeoMechPartMgr.h" +#include "RivGeoMechPartMgrCache.h" +#include "RivReservoirViewPartMgr.h" + +#include "cvfModelBasicList.h" +#include "cvfStructGridGeometryGenerator.h" + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/GeoMech/OdbReader/CMakeLists.txt b/ApplicationCode/GeoMech/OdbReader/CMakeLists.txt index d45957caa2..75078fa037 100644 --- a/ApplicationCode/GeoMech/OdbReader/CMakeLists.txt +++ b/ApplicationCode/GeoMech/OdbReader/CMakeLists.txt @@ -6,7 +6,7 @@ if (MSVC) add_definitions(-DHKS_NT) add_definitions(-DABQ_WIN86_64) else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -c -fPIC -w -Wno-deprecated") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -w -Wno-deprecated") add_definitions(-DTYPENAME=typename) add_definitions(-D_LINUX_SOURCE) diff --git a/ApplicationCode/ModelVisualization/CMakeLists_files.cmake b/ApplicationCode/ModelVisualization/CMakeLists_files.cmake index 3672d3312c..359b11b952 100644 --- a/ApplicationCode/ModelVisualization/CMakeLists_files.cmake +++ b/ApplicationCode/ModelVisualization/CMakeLists_files.cmake @@ -9,8 +9,6 @@ ${CEE_CURRENT_LIST_DIR}RivCellEdgeEffectGenerator.h ${CEE_CURRENT_LIST_DIR}RivColorTableArray.h ${CEE_CURRENT_LIST_DIR}RivFaultPartMgr.h ${CEE_CURRENT_LIST_DIR}RivFaultGeometryGenerator.h -${CEE_CURRENT_LIST_DIR}RivCrossSectionGeometryGenerator.h -${CEE_CURRENT_LIST_DIR}RivCrossSectionPartMgr.h ${CEE_CURRENT_LIST_DIR}RivNNCGeometryGenerator.h ${CEE_CURRENT_LIST_DIR}RivGridPartMgr.h ${CEE_CURRENT_LIST_DIR}RivTernarySaturationOverlayItem.h @@ -36,7 +34,6 @@ ${CEE_CURRENT_LIST_DIR}RivCellEdgeGeometryUtils.h ${CEE_CURRENT_LIST_DIR}RivPipeQuadToSegmentMapper.h ${CEE_CURRENT_LIST_DIR}RivSingleCellPartGenerator.h ${CEE_CURRENT_LIST_DIR}RivWellPipeSourceInfo.h -${CEE_CURRENT_LIST_DIR}RivCrossSectionSourceInfo.h ) set (SOURCE_GROUP_SOURCE_FILES @@ -44,8 +41,6 @@ ${CEE_CURRENT_LIST_DIR}RivCellEdgeEffectGenerator.cpp ${CEE_CURRENT_LIST_DIR}RivColorTableArray.cpp ${CEE_CURRENT_LIST_DIR}RivFaultPartMgr.cpp ${CEE_CURRENT_LIST_DIR}RivNNCGeometryGenerator.cpp -${CEE_CURRENT_LIST_DIR}RivCrossSectionGeometryGenerator.cpp -${CEE_CURRENT_LIST_DIR}RivCrossSectionPartMgr.cpp ${CEE_CURRENT_LIST_DIR}RivFaultGeometryGenerator.cpp ${CEE_CURRENT_LIST_DIR}RivGridPartMgr.cpp ${CEE_CURRENT_LIST_DIR}RivTernarySaturationOverlayItem.cpp @@ -69,7 +64,6 @@ ${CEE_CURRENT_LIST_DIR}RivCellEdgeGeometryUtils.cpp ${CEE_CURRENT_LIST_DIR}RivPipeQuadToSegmentMapper.cpp ${CEE_CURRENT_LIST_DIR}RivSingleCellPartGenerator.cpp ${CEE_CURRENT_LIST_DIR}RivWellPipeSourceInfo.cpp -${CEE_CURRENT_LIST_DIR}RivCrossSectionSourceInfo.cpp ) list(APPEND CODE_HEADER_FILES diff --git a/ApplicationCode/ModelVisualization/GridBox/RivGridBoxGenerator.cpp b/ApplicationCode/ModelVisualization/GridBox/RivGridBoxGenerator.cpp index c339fc5f71..00b58c061c 100644 --- a/ApplicationCode/ModelVisualization/GridBox/RivGridBoxGenerator.cpp +++ b/ApplicationCode/ModelVisualization/GridBox/RivGridBoxGenerator.cpp @@ -69,47 +69,109 @@ void RivGridBoxGenerator::setDisplayModelOffset(cvf::Vec3d offset) //-------------------------------------------------------------------------------------------------- void RivGridBoxGenerator::setGridBoxDomainCoordBoundingBox(const cvf::BoundingBox& bb) { - cvf::BoundingBox expandedBB; + double expandFactor = 0.05; + + // Use ScalarMapperDiscreteLinear to find human readable tick mark positions for grid box sub division coordinate values + // Expand the range for ScalarMapperDiscreteLinear until the geometry bounding box has a generated tick mark coords + // both below minimum and above maximum bounding box coords + + cvf::Vec3d min = bb.min(); + cvf::Vec3d max = bb.max(); + + size_t levelCount = 6; + { - double expandFactor = 0.05; + bool majorTickValuesCoversDomainValues = false; + while (!majorTickValuesCoversDomainValues) + { + m_domainCoordsXValues.clear(); + + cvf::ScalarMapperDiscreteLinear linDiscreteScalarMapper; + linDiscreteScalarMapper.setRange(min.x(), max.x()); + linDiscreteScalarMapper.setLevelCount(levelCount, true); + linDiscreteScalarMapper.majorTickValues(&m_domainCoordsXValues); - cvf::Vec3d expandedMin; - expandedMin.x() = bb.min().x() - bb.extent().x() * expandFactor; - expandedMin.y() = bb.min().y() - bb.extent().y() * expandFactor; - expandedMin.z() = bb.min().z() - bb.extent().z() * expandFactor; + majorTickValuesCoversDomainValues = true; - cvf::Vec3d expandedMax; - expandedMax.x() = bb.max().x() + bb.extent().x() * expandFactor; - expandedMax.y() = bb.max().y() + bb.extent().y() * expandFactor; - expandedMax.z() = bb.max().z() + bb.extent().z() * expandFactor; + if (m_domainCoordsXValues[1] > bb.min().x()) + { + min.x() = min.x() - bb.extent().x() * expandFactor; + max.x() = max.x() + bb.extent().x() * expandFactor; + majorTickValuesCoversDomainValues = false; + } - expandedBB.add(expandedMin); - expandedBB.add(expandedMax); + if (m_domainCoordsXValues[m_domainCoordsXValues.size() - 1] < bb.max().x()) + { + min.x() = min.x() - bb.extent().x() * expandFactor; + max.x() = max.x() + bb.extent().x() * expandFactor; + majorTickValuesCoversDomainValues = false; + } + } } - m_domainCoordsBoundingBox = expandedBB; + { + bool majorTickValuesCoversDomainValues = false; + while (!majorTickValuesCoversDomainValues) + { + m_domainCoordsYValues.clear(); - m_domainCoordsXValues.clear(); - m_domainCoordsYValues.clear(); - m_domainCoordsZValues.clear(); + cvf::ScalarMapperDiscreteLinear linDiscreteScalarMapper; + linDiscreteScalarMapper.setRange(min.y(), max.y()); + linDiscreteScalarMapper.setLevelCount(levelCount, true); + linDiscreteScalarMapper.majorTickValues(&m_domainCoordsYValues); - cvf::Vec3d min = m_domainCoordsBoundingBox.min(); - cvf::Vec3d max = m_domainCoordsBoundingBox.max(); + majorTickValuesCoversDomainValues = true; - cvf::ScalarMapperDiscreteLinear m_linDiscreteScalarMapper; - size_t levelCount = 6; + if (m_domainCoordsYValues[1] > bb.min().y()) + { + min.y() = min.y() - bb.extent().y() * expandFactor; + max.y() = max.y() + bb.extent().y() * expandFactor; + majorTickValuesCoversDomainValues = false; + } - m_linDiscreteScalarMapper.setRange(min.x(), max.x()); - m_linDiscreteScalarMapper.setLevelCount(levelCount, true); - m_linDiscreteScalarMapper.majorTickValues(&m_domainCoordsXValues); + if (m_domainCoordsYValues[m_domainCoordsYValues.size() - 1] < bb.max().y()) + { + min.y() = min.y() - bb.extent().y() * expandFactor; + max.y() = max.y() + bb.extent().y() * expandFactor; + majorTickValuesCoversDomainValues = false; + } + } + } - m_linDiscreteScalarMapper.setRange(min.y(), max.y()); - m_linDiscreteScalarMapper.setLevelCount(levelCount, true); - m_linDiscreteScalarMapper.majorTickValues(&m_domainCoordsYValues); + { + bool majorTickValuesCoversDomainValues = false; + while (!majorTickValuesCoversDomainValues) + { + m_domainCoordsZValues.clear(); + + cvf::ScalarMapperDiscreteLinear linDiscreteScalarMapper; + linDiscreteScalarMapper.setRange(min.z(), max.z()); + linDiscreteScalarMapper.setLevelCount(levelCount, true); + linDiscreteScalarMapper.majorTickValues(&m_domainCoordsZValues); + + majorTickValuesCoversDomainValues = true; + + if (m_domainCoordsZValues[1] > bb.min().z()) + { + min.z() = min.z() - bb.extent().z() * expandFactor; + max.z() = max.z() + bb.extent().z() * expandFactor; + majorTickValuesCoversDomainValues = false; + } + + if (m_domainCoordsZValues[m_domainCoordsZValues.size() - 1] < bb.max().z()) + { + min.z() = min.z() - bb.extent().z() * expandFactor; + max.z() = max.z() + bb.extent().z() * expandFactor; + majorTickValuesCoversDomainValues = false; + } + } + } + + cvf::BoundingBox expandedBB; + expandedBB.add(min); + expandedBB.add(max); - m_linDiscreteScalarMapper.setRange(min.z(), max.z()); - m_linDiscreteScalarMapper.setLevelCount(levelCount, true); - m_linDiscreteScalarMapper.majorTickValues(&m_domainCoordsZValues); + m_domainCoordsBoundingBox = expandedBB; } //-------------------------------------------------------------------------------------------------- @@ -135,12 +197,24 @@ void RivGridBoxGenerator::updateFromCamera(const cvf::Camera* camera) std::vector faceVisibility(6, false); for (size_t i = POS_X; i <= NEG_Z; i++) { + bool isFaceVisible = false; cvf::Vec3f sideNorm = sideNormalOutwards((FaceType)i); - cvf::Vec3d camToSide = camera->position() - pointOnSide((FaceType)i); - camToSide.normalize(); + if (camera->projection() == cvf::Camera::PERSPECTIVE) + { + + cvf::Vec3d camToSide = camera->position() - pointOnSide((FaceType)i); + camToSide.normalize(); + + isFaceVisible = sideNorm.dot(cvf::Vec3f(camToSide)) < 0.0; + } + else + { + cvf::Vec3d camToSide = camera->direction(); + isFaceVisible = sideNorm.dot(cvf::Vec3f(camToSide)) > 0.0; + } - if (sideNorm.dot(cvf::Vec3f(camToSide)) < 0.0) + if (isFaceVisible) { m_gridBoxModel->addPart(m_gridBoxFaceParts[i].p()); faceVisibility[i] = true; diff --git a/ApplicationCode/ModelVisualization/Intersections/CMakeLists_files.cmake b/ApplicationCode/ModelVisualization/Intersections/CMakeLists_files.cmake new file mode 100644 index 0000000000..c76e7125bd --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/CMakeLists_files.cmake @@ -0,0 +1,35 @@ + +# Use this workaround until we're on 2.8.3 on all platforms and can use CMAKE_CURRENT_LIST_DIR directly +if (${CMAKE_VERSION} VERSION_GREATER "2.8.2") + set(CEE_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_DIR}/) +endif() + +set (SOURCE_GROUP_HEADER_FILES +${CEE_CURRENT_LIST_DIR}RivIntersectionGeometryGenerator.h +${CEE_CURRENT_LIST_DIR}RivIntersectionPartMgr.h +${CEE_CURRENT_LIST_DIR}RivIntersectionSourceInfo.h +${CEE_CURRENT_LIST_DIR}RivHexGridIntersectionTools.h +${CEE_CURRENT_LIST_DIR}RivIntersectionBoxGeometryGenerator.h +${CEE_CURRENT_LIST_DIR}RivIntersectionBoxPartMgr.h +${CEE_CURRENT_LIST_DIR}RivIntersectionBoxSourceInfo.h +) + +set (SOURCE_GROUP_SOURCE_FILES +${CEE_CURRENT_LIST_DIR}RivIntersectionGeometryGenerator.cpp +${CEE_CURRENT_LIST_DIR}RivIntersectionPartMgr.cpp +${CEE_CURRENT_LIST_DIR}RivIntersectionSourceInfo.cpp +${CEE_CURRENT_LIST_DIR}RivHexGridIntersectionTools.cpp +${CEE_CURRENT_LIST_DIR}RivIntersectionBoxGeometryGenerator.cpp +${CEE_CURRENT_LIST_DIR}RivIntersectionBoxPartMgr.cpp +${CEE_CURRENT_LIST_DIR}RivIntersectionBoxSourceInfo.cpp +) + +list(APPEND CODE_HEADER_FILES +${SOURCE_GROUP_HEADER_FILES} +) + +list(APPEND CODE_SOURCE_FILES +${SOURCE_GROUP_SOURCE_FILES} +) + +source_group( "ModelVisualization\\Intersections" FILES ${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES} ${CEE_CURRENT_LIST_DIR}CMakeLists_files.cmake ) diff --git a/ApplicationCode/ModelVisualization/Intersections/RivHexGridIntersectionTools.cpp b/ApplicationCode/ModelVisualization/Intersections/RivHexGridIntersectionTools.cpp new file mode 100644 index 0000000000..37bc797ef7 --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivHexGridIntersectionTools.cpp @@ -0,0 +1,174 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RivHexGridIntersectionTools.h" + +#include "RigActiveCellInfo.h" +#include "RigFemPart.h" +#include "RigMainGrid.h" + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RivEclipseIntersectionGrid::RivEclipseIntersectionGrid(const RigMainGrid * mainGrid, + const RigActiveCellInfo* activeCellInfo, + bool showInactiveCells) + : m_mainGrid(mainGrid), + m_activeCellInfo(activeCellInfo), + m_showInactiveCells(showInactiveCells) +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Vec3d RivEclipseIntersectionGrid::displayOffset() const +{ + return m_mainGrid->displayModelOffset(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::BoundingBox RivEclipseIntersectionGrid::boundingBox() const +{ + return m_mainGrid->boundingBox(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivEclipseIntersectionGrid::findIntersectingCells(const cvf::BoundingBox& intersectingBB, std::vector* intersectedCells) const +{ + m_mainGrid->findIntersectingCells(intersectingBB, intersectedCells); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RivEclipseIntersectionGrid::useCell(size_t cellIndex) const +{ + const RigCell& cell = m_mainGrid->globalCellArray()[cellIndex]; + if (m_showInactiveCells) + return !(cell.isInvalid() || (cell.subGrid() != NULL)); + else + return m_activeCellInfo->isActive(cellIndex) && (cell.subGrid() == NULL); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivEclipseIntersectionGrid::cellCornerVertices(size_t cellIndex, cvf::Vec3d cellCorners[8]) const +{ + m_mainGrid->cellCornerVertices(cellIndex, cellCorners); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivEclipseIntersectionGrid::cellCornerIndices(size_t cellIndex, size_t cornerIndices[8]) const +{ + const caf::SizeTArray8& cornerIndicesSource = m_mainGrid->globalCellArray()[cellIndex].cornerIndices(); + memcpy(cornerIndices, cornerIndicesSource.data(), 8); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RivFemIntersectionGrid::RivFemIntersectionGrid(const RigFemPart * femPart) : m_femPart(femPart) +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Vec3d RivFemIntersectionGrid::displayOffset() const +{ + return cvf::Vec3d::ZERO; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::BoundingBox RivFemIntersectionGrid::boundingBox() const +{ + return m_femPart->boundingBox(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivFemIntersectionGrid::findIntersectingCells(const cvf::BoundingBox& intersectingBB, std::vector* intersectedCells) const +{ + m_femPart->findIntersectingCells(intersectingBB, intersectedCells); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RivFemIntersectionGrid::useCell(size_t cellIndex) const +{ + RigElementType elmType = m_femPart->elementType(cellIndex); + + if (!(elmType == HEX8 || elmType == HEX8P)) return false; + + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivFemIntersectionGrid::cellCornerVertices(size_t cellIndex, cvf::Vec3d cellCorners[8]) const +{ + RigElementType elmType = m_femPart->elementType(cellIndex); + if (!(elmType == HEX8 || elmType == HEX8P)) return; + + const std::vector& nodeCoords = m_femPart->nodes().coordinates; + const int* cornerIndices = m_femPart->connectivities(cellIndex); + + cellCorners[0] = cvf::Vec3d(nodeCoords[cornerIndices[0]]); + cellCorners[1] = cvf::Vec3d(nodeCoords[cornerIndices[1]]); + cellCorners[2] = cvf::Vec3d(nodeCoords[cornerIndices[2]]); + cellCorners[3] = cvf::Vec3d(nodeCoords[cornerIndices[3]]); + cellCorners[4] = cvf::Vec3d(nodeCoords[cornerIndices[4]]); + cellCorners[5] = cvf::Vec3d(nodeCoords[cornerIndices[5]]); + cellCorners[6] = cvf::Vec3d(nodeCoords[cornerIndices[6]]); + cellCorners[7] = cvf::Vec3d(nodeCoords[cornerIndices[7]]); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivFemIntersectionGrid::cellCornerIndices(size_t cellIndex, size_t cornerIndices[8]) const +{ + RigElementType elmType = m_femPart->elementType(cellIndex); + if (!(elmType == HEX8 || elmType == HEX8P)) return; + int elmIdx = static_cast(cellIndex); + cornerIndices[0] = m_femPart->elementNodeResultIdx(elmIdx, 0); + cornerIndices[1] = m_femPart->elementNodeResultIdx(elmIdx, 1); + cornerIndices[2] = m_femPart->elementNodeResultIdx(elmIdx, 2); + cornerIndices[3] = m_femPart->elementNodeResultIdx(elmIdx, 3); + cornerIndices[4] = m_femPart->elementNodeResultIdx(elmIdx, 4); + cornerIndices[5] = m_femPart->elementNodeResultIdx(elmIdx, 5); + cornerIndices[6] = m_femPart->elementNodeResultIdx(elmIdx, 6); + cornerIndices[7] = m_femPart->elementNodeResultIdx(elmIdx, 7); +} + diff --git a/ApplicationCode/ModelVisualization/Intersections/RivHexGridIntersectionTools.h b/ApplicationCode/ModelVisualization/Intersections/RivHexGridIntersectionTools.h new file mode 100644 index 0000000000..9ee1ec9388 --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivHexGridIntersectionTools.h @@ -0,0 +1,187 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cvfBase.h" +#include "cvfObject.h" +#include "cvfVector3.h" +#include "cvfBoundingBox.h" + +#include + +class RigActiveCellInfo; +class RigFemPart; +class RigMainGrid; + + +//-------------------------------------------------------------------------------------------------- +/// Interface definition used to compute the geometry for planes intersecting a grid +//-------------------------------------------------------------------------------------------------- +class RivIntersectionHexGridInterface : public cvf::Object +{ +public: + virtual cvf::Vec3d displayOffset() const = 0; + virtual cvf::BoundingBox boundingBox() const = 0; + virtual void findIntersectingCells(const cvf::BoundingBox& intersectingBB, std::vector* intersectedCells) const = 0; + virtual bool useCell(size_t cellIndex) const = 0; + virtual void cellCornerVertices(size_t cellIndex, cvf::Vec3d cellCorners[8]) const = 0; + virtual void cellCornerIndices(size_t cellIndex, size_t cornerIndices[8]) const = 0; +}; + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +class RivEclipseIntersectionGrid : public RivIntersectionHexGridInterface +{ +public: + RivEclipseIntersectionGrid(const RigMainGrid * mainGrid, const RigActiveCellInfo* activeCellInfo, bool showInactiveCells); + + virtual cvf::Vec3d displayOffset() const; + virtual cvf::BoundingBox boundingBox() const; + virtual void findIntersectingCells(const cvf::BoundingBox& intersectingBB, std::vector* intersectedCells) const; + virtual bool useCell(size_t cellIndex) const; + virtual void cellCornerVertices(size_t cellIndex, cvf::Vec3d cellCorners[8]) const; + virtual void cellCornerIndices(size_t cellIndex, size_t cornerIndices[8]) const; + +private: + cvf::cref m_mainGrid; + cvf::cref m_activeCellInfo; + bool m_showInactiveCells; +}; + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +class RivFemIntersectionGrid : public RivIntersectionHexGridInterface +{ +public: + RivFemIntersectionGrid(const RigFemPart * femPart); + + virtual cvf::Vec3d displayOffset() const; + virtual cvf::BoundingBox boundingBox() const; + virtual void findIntersectingCells(const cvf::BoundingBox& intersectingBB, std::vector* intersectedCells) const; + virtual bool useCell(size_t cellIndex) const; + virtual void cellCornerVertices(size_t cellIndex, cvf::Vec3d cellCorners[8]) const; + virtual void cellCornerIndices(size_t cellIndex, size_t cornerIndices[8]) const; + +private: + cvf::cref m_femPart; +}; + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +class RivIntersectionVertexWeights +{ +public: + explicit RivIntersectionVertexWeights(): m_count(0) {} + +/* +v111 k11 v11 v112 v211 k21 v21 v212 + +------+-----+ +--------+------+ + | | + |k1 |k2 + | k | + v1+--------+------------+v2 + | | + | | + | | + +------+----+ +--------+-------+ +v121 k12 v12 v122 v221 k22 v22 v222 + +Where the k's are normalized distances along the edge, from the edge start vertex . + +This is the interpolation sceme: + +v = (1 - k )* v1 + k *v2; + +v1 = (1 - k1 )* v11 + k1*v12; +v2 = (1 - k2 )* v21 + k2*v22; + +v11 = (1 - k11)* v111 + k11*v112; +v12 = (1 - k12)* v121 + k12*v122; +v21 = (1 - k21)* v211 + k21*v212; +v22 = (1 - k22)* v221 + k22*v222; + +Substitution and reorganizing gives the expressions seen below. + +*/ + + explicit RivIntersectionVertexWeights( size_t edgeVx111, size_t edgeVx112, double k11, + size_t edgeVx121, size_t edgeVx122, double k12, + size_t edgeVx211, size_t edgeVx212, double k21, + size_t edgeVx221, size_t edgeVx222, double k22, + double k1, + double k2, + double k) : m_count(8) + { + m_vxIds[0] = (edgeVx111); + m_vxIds[1] = (edgeVx112); + m_vxIds[2] = (edgeVx121); + m_vxIds[3] = (edgeVx122); + m_vxIds[4] = (edgeVx211); + m_vxIds[5] = (edgeVx212); + m_vxIds[6] = (edgeVx221); + m_vxIds[7] = (edgeVx222); + + m_weights[7] = ((float)(k * k2 * k22)); + m_weights[6] = ((float)(k * k2 - k * k2 * k22)); + m_weights[5] = ((float)(( k - k * k2 ) * k21)); + m_weights[4] = ((float)((k * k2 - k ) * k21 - k * k2 + k)); + m_weights[3] = ((float)((1-k) * k1 * k12)); + m_weights[2] = ((float)((k-1) * k1 * k12 + ( 1 - k ) * k1)); + m_weights[1] = ((float)(( (k-1) * k1 - k + 1 ) * k11)); + m_weights[0] = ((float)(( (1-k) * k1 + k - 1 ) * k11 + ( k - 1 ) * k1 - k + 1)); + } + + explicit RivIntersectionVertexWeights(size_t edge1Vx1, size_t edge1Vx2, double normDistFromE1V1, + size_t edge2Vx1, size_t edge2Vx2, double normDistFromE2V1, + double normDistFromE1Cut) : m_count(4) + { + m_vxIds[0] = (edge1Vx1); + m_vxIds[1] = (edge1Vx2); + m_vxIds[2] = (edge2Vx1); + m_vxIds[3] = (edge2Vx2); + + m_weights[0] = ((float)(1.0 - normDistFromE1V1 - normDistFromE1Cut + normDistFromE1V1*normDistFromE1Cut)); + m_weights[1] = ((float)(normDistFromE1V1 - normDistFromE1V1*normDistFromE1Cut)); + m_weights[2] = ((float)(normDistFromE1Cut - normDistFromE2V1*normDistFromE1Cut)); + m_weights[3] = ((float)(normDistFromE2V1*normDistFromE1Cut)); + } + + explicit RivIntersectionVertexWeights(size_t edge1Vx1, size_t edge1Vx2, double normDistFromE1V1) : m_count(2) + { + m_vxIds[0] = (edge1Vx1); + m_vxIds[1] = (edge1Vx2); + + m_weights[0] = ((float)(1.0 - normDistFromE1V1)); + m_weights[1] = ((float)(normDistFromE1V1)); + } + + int size() const { return m_count; } + size_t vxId(int idx) const { return m_vxIds[idx]; } + float weight(int idx)const { return m_weights[idx]; } + +private: + + size_t m_vxIds[8]; + float m_weights[8]; + int m_count; +}; diff --git a/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxGeometryGenerator.cpp b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxGeometryGenerator.cpp new file mode 100644 index 0000000000..9ad58c9f3a --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxGeometryGenerator.cpp @@ -0,0 +1,467 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RivIntersectionBoxGeometryGenerator.h" + +#include "cvfDrawableGeo.h" +#include "cvfPrimitiveSetDirect.h" +#include "cvfPlane.h" +#include +#include "RimIntersectionBox.h" +#include "cvfStructGrid.h" +#include "cafHexGridIntersectionTools/cafHexGridIntersectionTools.h" + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RivIntersectionBoxGeometryGenerator::RivIntersectionBoxGeometryGenerator(const RimIntersectionBox* intersectionBox, const RivIntersectionHexGridInterface* grid) + : m_intersectionBoxDefinition(intersectionBox), + m_hexGrid(grid) +{ + m_triangleVxes = new cvf::Vec3fArray; + m_cellBorderLineVxes = new cvf::Vec3fArray; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RivIntersectionBoxGeometryGenerator::~RivIntersectionBoxGeometryGenerator() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RivIntersectionBoxGeometryGenerator::isAnyGeometryPresent() const +{ + if (m_triangleVxes->size() == 0) + { + return false; + } + else + { + return true; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref RivIntersectionBoxGeometryGenerator::generateSurface() +{ + calculateArrays(); + + CVF_ASSERT(m_triangleVxes.notNull()); + + if (m_triangleVxes->size() == 0) return NULL; + + cvf::ref geo = new cvf::DrawableGeo; + geo->setFromTriangleVertexArray(m_triangleVxes.p()); + + return geo; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref RivIntersectionBoxGeometryGenerator::createMeshDrawable() +{ + if (!(m_cellBorderLineVxes.notNull() && m_cellBorderLineVxes->size() != 0)) return NULL; + + cvf::ref geo = new cvf::DrawableGeo; + geo->setVertexArray(m_cellBorderLineVxes.p()); + + + cvf::ref prim = new cvf::PrimitiveSetDirect(cvf::PT_LINES); + prim->setIndexCount(m_cellBorderLineVxes->size()); + + geo->addPrimitiveSet(prim.p()); + return geo; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RivIntersectionBoxGeometryGenerator::triangleToCellIndex() const +{ + CVF_ASSERT(m_triangleVxes->size()); + return m_triangleToCellIdxMap; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RivIntersectionBoxGeometryGenerator::triangleVxToCellCornerInterpolationWeights() const +{ + CVF_ASSERT(m_triangleVxes->size()); + return m_triVxToCellCornerWeights; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const cvf::Vec3fArray* RivIntersectionBoxGeometryGenerator::triangleVxes() const +{ + CVF_ASSERT(m_triangleVxes->size()); + + return m_triangleVxes.p(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- + +class Box +{ +public: + using FaceType = cvf::StructGridInterface::FaceType; + + Box(const cvf::Mat4d& origin, const cvf::Vec3d& size) : m_origin(origin), m_size(size) {} + + std::array planes() + { + std::array boxPlanes; + + boxPlanes[FaceType::POS_I].setFromPointAndNormal( m_origin.translation() + m_size, cvf::Vec3d(m_origin.col(0))); + boxPlanes[FaceType::NEG_I].setFromPointAndNormal( m_origin.translation() , -cvf::Vec3d(m_origin.col(0))); + boxPlanes[FaceType::POS_J].setFromPointAndNormal( m_origin.translation() + m_size, cvf::Vec3d(m_origin.col(1))); + boxPlanes[FaceType::NEG_J].setFromPointAndNormal( m_origin.translation() , -cvf::Vec3d(m_origin.col(1))); + boxPlanes[FaceType::POS_K].setFromPointAndNormal( m_origin.translation() + m_size, cvf::Vec3d(m_origin.col(2))); + boxPlanes[FaceType::NEG_K].setFromPointAndNormal( m_origin.translation() , -cvf::Vec3d(m_origin.col(2))); + + return boxPlanes; + } + + std::array faceCorners(FaceType face) + { + std::array corners; + + cvf::Vec3d sx = cvf::Vec3d(m_origin.col(0)) * m_size[0] ; + cvf::Vec3d sy = cvf::Vec3d(m_origin.col(1)) * m_size[1] ; + cvf::Vec3d sz = cvf::Vec3d(m_origin.col(2)) * m_size[2] ; + + switch(face) + { + case FaceType::POS_I: + corners[0] = m_origin.translation() + sx; + corners[1] = m_origin.translation() + sx + sy; + corners[2] = m_origin.translation() + sx + sy + sz; + corners[3] = m_origin.translation() + sx + sz; + break; + case FaceType::NEG_I: + corners[0] = m_origin.translation(); + corners[1] = m_origin.translation() + sz; + corners[2] = m_origin.translation() + sy + sz; + corners[3] = m_origin.translation() + sy; + break; + case FaceType::POS_J: + corners[0] = m_origin.translation() + sy; + corners[1] = m_origin.translation() + sy + sz; + corners[2] = m_origin.translation() + sy + sx + sz; + corners[3] = m_origin.translation() + sy + sx; + break; + case FaceType::NEG_J: + corners[0] = m_origin.translation() ; + corners[1] = m_origin.translation() + sx; + corners[2] = m_origin.translation() + sx + sz; + corners[3] = m_origin.translation() + sz; + break; + case FaceType::POS_K: + corners[0] = m_origin.translation() + sz; + corners[1] = m_origin.translation() + sz + sx; + corners[2] = m_origin.translation() + sz + sx + sy; + corners[3] = m_origin.translation() + sz + sy; + break; + case FaceType::NEG_K: + corners[0] = m_origin.translation(); + corners[1] = m_origin.translation() + sy; + corners[2] = m_origin.translation() + sx + sy; + corners[3] = m_origin.translation() + sx; + break; + } + + return corners; + } + + // Returns the four adjacent faces in the Pos, Neg, Pos, Neg order + + std::array adjacentFaces(FaceType face) + { + std::array clipFaces; + FaceType oppFace = cvf::StructGridInterface::oppositeFace(face); + int clipFaceCount = 0; + for (int faceCand = 0; faceCand < 6; ++faceCand ) + { + if (faceCand != face && faceCand != oppFace) + { + clipFaces[clipFaceCount] = (FaceType) faceCand; + clipFaceCount++; + } + } + + return clipFaces; + } + +private: + + cvf::Mat4d m_origin; + cvf::Vec3d m_size; +}; + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const RimIntersectionBox* RivIntersectionBoxGeometryGenerator::intersectionBox() const +{ + return m_intersectionBoxDefinition; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionBoxGeometryGenerator::calculateArrays() +{ + if(m_triangleVxes->size()) return; + + std::vector triangleVertices; + std::vector cellBorderLineVxes; + cvf::Vec3d displayOffset = m_hexGrid->displayOffset(); + cvf::BoundingBox gridBBox = m_hexGrid->boundingBox(); + + Box box(m_intersectionBoxDefinition->boxOrigin(), m_intersectionBoxDefinition->boxSize()); + std::array boxPlanes = box.planes(); + + RimIntersectionBox::SinglePlaneState singlePlane = m_intersectionBoxDefinition->singlePlaneState(); + + int startFace = 0; int endFace = 5; + if (singlePlane == RimIntersectionBox::PLANE_STATE_X) startFace = endFace = Box::FaceType::POS_I; + if (singlePlane == RimIntersectionBox::PLANE_STATE_Y) startFace = endFace = Box::FaceType::POS_J; + if (singlePlane == RimIntersectionBox::PLANE_STATE_Z) startFace = endFace = Box::FaceType::POS_K; + + for (int faceIdx = startFace; faceIdx <= endFace; ++faceIdx) + { + cvf::Plane plane = boxPlanes[faceIdx]; + + std::array clipFaces = box.adjacentFaces((Box::FaceType)faceIdx); + + cvf::Plane p1Plane = boxPlanes[clipFaces[1]]; + cvf::Plane p2Plane = boxPlanes[clipFaces[0]]; + cvf::Plane p3Plane = boxPlanes[clipFaces[3]]; + cvf::Plane p4Plane = boxPlanes[clipFaces[2]]; + + p1Plane.flip(); + p2Plane.flip(); + p3Plane.flip(); + p4Plane.flip(); + + std::array faceCorners = box.faceCorners((Box::FaceType)faceIdx); + + cvf::BoundingBox sectionBBox; + + for (cvf::Vec3d& corner : faceCorners) sectionBBox.add(corner); + + // Similar code as IntersectionGenerator : + + std::vector columnCellCandidates; + m_hexGrid->findIntersectingCells(sectionBBox, &columnCellCandidates); + + std::vector hexPlaneCutTriangleVxes; + hexPlaneCutTriangleVxes.reserve(5*3); + std::vector isTriangleEdgeCellContour; + isTriangleEdgeCellContour.reserve(5*3); + cvf::Vec3d cellCorners[8]; + size_t cornerIndices[8]; + + for(size_t cccIdx = 0; cccIdx < columnCellCandidates.size(); ++cccIdx) + { + size_t globalCellIdx = columnCellCandidates[cccIdx]; + + if(!m_hexGrid->useCell(globalCellIdx)) continue; + + hexPlaneCutTriangleVxes.clear(); + m_hexGrid->cellCornerVertices(globalCellIdx, cellCorners); + m_hexGrid->cellCornerIndices(globalCellIdx, cornerIndices); + + caf::HexGridIntersectionTools::planeHexIntersectionMC(plane, + cellCorners, + cornerIndices, + &hexPlaneCutTriangleVxes, + &isTriangleEdgeCellContour); + + std::vector clippedTriangleVxes_once; + std::vector isClippedTriEdgeCellContour_once; + caf::HexGridIntersectionTools::clipTrianglesBetweenTwoParallelPlanes(hexPlaneCutTriangleVxes, isTriangleEdgeCellContour, p1Plane, p2Plane, + &clippedTriangleVxes_once, &isClippedTriEdgeCellContour_once); + + for (caf::HexGridIntersectionTools::ClipVx& clvx : clippedTriangleVxes_once) if (!clvx.isVxIdsNative) clvx.derivedVxLevel = 0; + + std::vector clippedTriangleVxes; + std::vector isClippedTriEdgeCellContour; + + caf::HexGridIntersectionTools::clipTrianglesBetweenTwoParallelPlanes(clippedTriangleVxes_once, isClippedTriEdgeCellContour_once, p3Plane, p4Plane, + &clippedTriangleVxes, &isClippedTriEdgeCellContour); + for (caf::HexGridIntersectionTools::ClipVx& clvx : clippedTriangleVxes) if (!clvx.isVxIdsNative && clvx.derivedVxLevel == -1) clvx.derivedVxLevel = 1; + + size_t clippedTriangleCount = clippedTriangleVxes.size()/3; + + for(uint tIdx = 0; tIdx < clippedTriangleCount; ++tIdx) + { + uint triVxIdx = tIdx*3; + + // Accumulate triangle vertices + + cvf::Vec3f p0(clippedTriangleVxes[triVxIdx+0].vx - displayOffset); + cvf::Vec3f p1(clippedTriangleVxes[triVxIdx+1].vx - displayOffset); + cvf::Vec3f p2(clippedTriangleVxes[triVxIdx+2].vx - displayOffset); + + triangleVertices.push_back(p0); + triangleVertices.push_back(p1); + triangleVertices.push_back(p2); + + + // Accumulate mesh lines + + if(isClippedTriEdgeCellContour[triVxIdx]) + { + cellBorderLineVxes.push_back(p0); + cellBorderLineVxes.push_back(p1); + } + if(isClippedTriEdgeCellContour[triVxIdx+1]) + { + cellBorderLineVxes.push_back(p1); + cellBorderLineVxes.push_back(p2); + } + if(isClippedTriEdgeCellContour[triVxIdx+2]) + { + cellBorderLineVxes.push_back(p2); + cellBorderLineVxes.push_back(p0); + } + + // Mapping to cell index + + m_triangleToCellIdxMap.push_back(globalCellIdx); + + // Interpolation from nodes + for(int i = 0; i < 3; ++i) + { + caf::HexGridIntersectionTools::ClipVx cvx = clippedTriangleVxes[triVxIdx + i]; + if(cvx.isVxIdsNative) + { + m_triVxToCellCornerWeights.push_back( + RivIntersectionVertexWeights(cvx.clippedEdgeVx1Id, cvx.clippedEdgeVx2Id, cvx.normDistFromEdgeVx1)); + } + else + { + caf::HexGridIntersectionTools::ClipVx cvx1; + caf::HexGridIntersectionTools::ClipVx cvx2; + + if (cvx.derivedVxLevel == 0) + { + cvx1 = hexPlaneCutTriangleVxes[cvx.clippedEdgeVx1Id]; + cvx2 = hexPlaneCutTriangleVxes[cvx.clippedEdgeVx2Id]; + } + else if(cvx.derivedVxLevel == 1) + { + cvx1 = clippedTriangleVxes_once[cvx.clippedEdgeVx1Id]; + cvx2 = clippedTriangleVxes_once[cvx.clippedEdgeVx2Id]; + } + else + { + CVF_ASSERT(false); + } + + if(cvx1.isVxIdsNative && cvx2.isVxIdsNative) + { + m_triVxToCellCornerWeights.push_back( + RivIntersectionVertexWeights(cvx1.clippedEdgeVx1Id, cvx1.clippedEdgeVx2Id, cvx1.normDistFromEdgeVx1, + cvx2.clippedEdgeVx1Id, cvx2.clippedEdgeVx2Id, cvx2.normDistFromEdgeVx1, + cvx.normDistFromEdgeVx1)); + } + else + { + caf::HexGridIntersectionTools::ClipVx cvx11; + caf::HexGridIntersectionTools::ClipVx cvx12; + caf::HexGridIntersectionTools::ClipVx cvx21; + caf::HexGridIntersectionTools::ClipVx cvx22; + + if(cvx1.isVxIdsNative) + { + cvx11 = cvx1; + cvx12 = cvx1; + } + else if(cvx1.derivedVxLevel == 0) + { + cvx11 = hexPlaneCutTriangleVxes[cvx1.clippedEdgeVx1Id]; + cvx12 = hexPlaneCutTriangleVxes[cvx1.clippedEdgeVx2Id]; + } + else if(cvx2.derivedVxLevel == 1) + { + cvx11 = clippedTriangleVxes_once[cvx1.clippedEdgeVx1Id]; + cvx12 = clippedTriangleVxes_once[cvx1.clippedEdgeVx2Id]; + } + else + { + CVF_ASSERT(false); + } + + + if(cvx2.isVxIdsNative) + { + cvx21 = cvx2; + cvx22 = cvx2; + } + else if(cvx2.derivedVxLevel == 0) + { + cvx21 = hexPlaneCutTriangleVxes[cvx2.clippedEdgeVx1Id]; + cvx22 = hexPlaneCutTriangleVxes[cvx2.clippedEdgeVx2Id]; + } + else if(cvx2.derivedVxLevel == 1) + { + cvx21 = clippedTriangleVxes_once[cvx2.clippedEdgeVx1Id]; + cvx22 = clippedTriangleVxes_once[cvx2.clippedEdgeVx2Id]; + + } + else + { + CVF_ASSERT(false); + } + + CVF_TIGHT_ASSERT(cvx11.isVxIdsNative && cvx12.isVxIdsNative && cvx21.isVxIdsNative && cvx22.isVxIdsNative); + + m_triVxToCellCornerWeights.push_back( + RivIntersectionVertexWeights(cvx11.clippedEdgeVx1Id, cvx11.clippedEdgeVx2Id, cvx11.normDistFromEdgeVx1, + cvx12.clippedEdgeVx1Id, cvx12.clippedEdgeVx2Id, cvx2.normDistFromEdgeVx1, + cvx21.clippedEdgeVx1Id, cvx21.clippedEdgeVx2Id, cvx21.normDistFromEdgeVx1, + cvx22.clippedEdgeVx1Id, cvx22.clippedEdgeVx2Id, cvx22.normDistFromEdgeVx1, + cvx1.normDistFromEdgeVx1, + cvx2.normDistFromEdgeVx1, + cvx.normDistFromEdgeVx1)); + + } + } + } + } + } + } + m_cellBorderLineVxes->assign(cellBorderLineVxes); + m_triangleVxes->assign(triangleVertices); +} + + + diff --git a/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxGeometryGenerator.h b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxGeometryGenerator.h new file mode 100644 index 0000000000..ec39ef767d --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxGeometryGenerator.h @@ -0,0 +1,75 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "RivHexGridIntersectionTools.h" + +#include "cafPdmPointer.h" + +#include "cvfArray.h" +#include "cvfBase.h" +#include "cvfObject.h" +#include "cvfVector3.h" + +#include + +class RimIntersectionBox; + +namespace cvf +{ + class ScalarMapper; + class DrawableGeo; +} + + +class RivIntersectionBoxGeometryGenerator : public cvf::Object +{ +public: + RivIntersectionBoxGeometryGenerator(const RimIntersectionBox* intersectionBox, + const RivIntersectionHexGridInterface* grid); + + ~RivIntersectionBoxGeometryGenerator(); + + bool isAnyGeometryPresent() const; + + // Generate geometry + cvf::ref generateSurface(); + cvf::ref createMeshDrawable(); + + // Mapping between cells and geometry + const std::vector& triangleToCellIndex() const; + const std::vector& triangleVxToCellCornerInterpolationWeights() const; + const cvf::Vec3fArray* triangleVxes() const; + + const RimIntersectionBox* intersectionBox() const; + +private: + void calculateArrays(); + + cvf::cref m_hexGrid; + + // Output arrays + cvf::ref m_triangleVxes; + cvf::ref m_cellBorderLineVxes; + std::vector m_triangleToCellIdxMap; + std::vector m_triVxToCellCornerWeights; + + const RimIntersectionBox* m_intersectionBoxDefinition; +}; + diff --git a/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxPartMgr.cpp b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxPartMgr.cpp new file mode 100644 index 0000000000..d5d8ca1755 --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxPartMgr.cpp @@ -0,0 +1,371 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RivIntersectionBoxPartMgr.h" + +#include "RigCaseCellResultsData.h" +#include "RigCaseData.h" +#include "RigFemPartCollection.h" +#include "RigFemPartResultsCollection.h" +#include "RigGeoMechCaseData.h" +#include "RigResultAccessor.h" +#include "RigResultAccessorFactory.h" + +#include "RimEclipseCase.h" +#include "RimEclipseCellColors.h" +#include "RimEclipseView.h" +#include "RimGeoMechCase.h" +#include "RimGeoMechCellColors.h" +#include "RimGeoMechView.h" +#include "RimIntersectionBox.h" +#include "RimLegendConfig.h" +#include "RimTernaryLegendConfig.h" + +#include "RivIntersectionBoxSourceInfo.h" +#include "RivResultToTextureMapper.h" +#include "RivScalarMapperUtils.h" +#include "RivTernaryScalarMapper.h" +#include "RivTernaryTextureCoordsCreator.h" + +#include "cvfDrawableGeo.h" +#include "cvfModelBasicList.h" +#include "cvfPart.h" +#include "cvfPrimitiveSetDirect.h" +#include "cvfRenderState_FF.h" +#include "cvfRenderStateDepth.h" +#include "cvfRenderStatePoint.h" +#include "RivIntersectionPartMgr.h" + + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RivIntersectionBoxPartMgr::RivIntersectionBoxPartMgr(const RimIntersectionBox* intersectionBox) + : m_rimIntersectionBox(intersectionBox), + m_defaultColor(cvf::Color3::WHITE) +{ + CVF_ASSERT(m_rimIntersectionBox); + + m_intersectionBoxFacesTextureCoords = new cvf::Vec2fArray; + + cvf::ref hexGrid = createHexGridInterface(); + m_intersectionBoxGenerator = new RivIntersectionBoxGeometryGenerator(m_rimIntersectionBox, hexGrid.p()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionBoxPartMgr::applySingleColorEffect() +{ + m_defaultColor = cvf::Color3f::OLIVE;//m_rimCrossSection->CrossSectionColor(); + this->updatePartEffect(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionBoxPartMgr::updateCellResultColor(size_t timeStepIndex) +{ + + if (!m_intersectionBoxGenerator->isAnyGeometryPresent()) return; + + RimEclipseView* eclipseView; + m_rimIntersectionBox->firstAncestorOrThisOfType(eclipseView); + + if (eclipseView) + { + RimEclipseCellColors* cellResultColors = eclipseView->cellResult(); + CVF_ASSERT(cellResultColors); + + RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(cellResultColors->porosityModel()); + RigCaseData* eclipseCase = eclipseView->eclipseCase()->reservoirData(); + + // CrossSections + if (m_intersectionBoxFaces.notNull()) + { + if (cellResultColors->isTernarySaturationSelected()) + { + RivTernaryTextureCoordsCreator texturer(cellResultColors, cellResultColors->ternaryLegendConfig(), timeStepIndex); + + texturer.createTextureCoords(m_intersectionBoxFacesTextureCoords.p(), m_intersectionBoxGenerator->triangleToCellIndex()); + + const RivTernaryScalarMapper* mapper = cellResultColors->ternaryLegendConfig()->scalarMapper(); + RivScalarMapperUtils::applyTernaryTextureResultsToPart(m_intersectionBoxFaces.p(), + m_intersectionBoxFacesTextureCoords.p(), + mapper, + 1.0, + caf::FC_NONE, + eclipseView->isLightingDisabled()); + } + else + { + CVF_ASSERT(m_intersectionBoxGenerator.notNull()); + + const cvf::ScalarMapper* mapper = cellResultColors->legendConfig()->scalarMapper(); + cvf::ref resultAccessor; + + if (RimDefines::isPerCellFaceResult(cellResultColors->resultVariable())) + { + resultAccessor = new RigHugeValResultAccessor; + } + else + { + resultAccessor = RigResultAccessorFactory::createResultAccessor(cellResultColors->reservoirView()->eclipseCase()->reservoirData(), + 0, + timeStepIndex, + cellResultColors); + } + + RivIntersectionPartMgr::calculateEclipseTextureCoordinates(m_intersectionBoxFacesTextureCoords.p(), + m_intersectionBoxGenerator->triangleToCellIndex(), + resultAccessor.p(), + mapper); + + + RivScalarMapperUtils::applyTextureResultsToPart(m_intersectionBoxFaces.p(), + m_intersectionBoxFacesTextureCoords.p(), + mapper, + 1.0, + caf::FC_NONE, + eclipseView->isLightingDisabled()); + } + } + } + + RimGeoMechView* geoView; + m_rimIntersectionBox->firstAncestorOrThisOfType(geoView); + + if (geoView) + { + RimGeoMechCellColors* cellResultColors = geoView->cellResult(); + RigGeoMechCaseData* caseData = cellResultColors->ownerCaseData(); + + if (!caseData) return; + + RigFemResultAddress resVarAddress = cellResultColors->resultAddress(); + + const std::vector &vertexWeights = m_intersectionBoxGenerator->triangleVxToCellCornerInterpolationWeights(); + const cvf::ScalarMapper* mapper = cellResultColors->legendConfig()->scalarMapper(); + + if (!(resVarAddress.resultPosType == RIG_ELEMENT_NODAL_FACE) ) + { + // Do a "Hack" to show elm nodal and not nodal POR results + if ( resVarAddress.resultPosType == RIG_NODAL && resVarAddress.fieldName == "POR-Bar" ) resVarAddress.resultPosType = RIG_ELEMENT_NODAL; + + const std::vector& resultValues = caseData->femPartResults()->resultValues(resVarAddress, 0, (int)timeStepIndex); + RigFemPart* femPart = caseData->femParts()->part(0); + bool isElementNodalResult = !(resVarAddress.resultPosType == RIG_NODAL); + + RivIntersectionPartMgr::calculateGeoMechTextureCoords(m_intersectionBoxFacesTextureCoords.p(), + vertexWeights, + resultValues, + isElementNodalResult, + femPart, + mapper); + } + else + { + // Special direction sensitive result calculation + const cvf::Vec3fArray* triangelVxes = m_intersectionBoxGenerator->triangleVxes(); + + if ( resVarAddress.componentName == "Pazi" || resVarAddress.componentName == "Pinc" ) + { + RivIntersectionPartMgr::calculatePlaneAngleTextureCoords(m_intersectionBoxFacesTextureCoords.p(), + triangelVxes, + resVarAddress, + mapper); + } + else + { + RivIntersectionPartMgr::calculateGeoMechTensorXfTextureCoords(m_intersectionBoxFacesTextureCoords.p(), + triangelVxes, + vertexWeights, + caseData, + resVarAddress, + (int)timeStepIndex, + mapper); + } + } + + RivScalarMapperUtils::applyTextureResultsToPart(m_intersectionBoxFaces.p(), + m_intersectionBoxFacesTextureCoords.p(), + mapper, + 1.0, + caf::FC_NONE, + geoView->isLightingDisabled()); + } +} + + +const int priCrossSectionGeo = 1; +const int priNncGeo = 2; +const int priMesh = 3; + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionBoxPartMgr::generatePartGeometry() +{ + + bool useBufferObjects = true; + // Surface geometry + { + cvf::ref geo = m_intersectionBoxGenerator->generateSurface(); + if (geo.notNull()) + { + geo->computeNormals(); + + if (useBufferObjects) + { + geo->setRenderMode(cvf::DrawableGeo::BUFFER_OBJECT); + } + + cvf::ref part = new cvf::Part; + part->setName("Intersection Box"); + part->setDrawable(geo.p()); + + // Set mapping from triangle face index to cell index + cvf::ref si = new RivIntersectionBoxSourceInfo(m_intersectionBoxGenerator.p()); + part->setSourceInfo(si.p()); + + part->updateBoundingBox(); + part->setEnableMask(faultBit); + part->setPriority(priCrossSectionGeo); + + m_intersectionBoxFaces = part; + } + } + + // Mesh geometry + { + cvf::ref geoMesh = m_intersectionBoxGenerator->createMeshDrawable(); + if (geoMesh.notNull()) + { + if (useBufferObjects) + { + geoMesh->setRenderMode(cvf::DrawableGeo::BUFFER_OBJECT); + } + + cvf::ref part = new cvf::Part; + part->setName("Intersection box mesh"); + part->setDrawable(geoMesh.p()); + + part->updateBoundingBox(); + part->setEnableMask(meshFaultBit); + part->setPriority(priMesh); + + m_intersectionBoxGridLines = part; + } + } + + updatePartEffect(); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionBoxPartMgr::updatePartEffect() +{ + // Set deCrossSection effect + caf::SurfaceEffectGenerator geometryEffgen(m_defaultColor, caf::PO_1); + + cvf::ref geometryOnlyEffect = geometryEffgen.generateCachedEffect(); + + if (m_intersectionBoxFaces.notNull()) + { + m_intersectionBoxFaces->setEffect(geometryOnlyEffect.p()); + } + + // Update mesh colors as well, in case of change + //RiaPreferences* prefs = RiaApplication::instance()->preferences(); + + cvf::ref eff; + caf::MeshEffectGenerator CrossSectionEffGen(cvf::Color3::WHITE);//prefs->defaultCrossSectionGridLineColors()); + eff = CrossSectionEffGen.generateCachedEffect(); + + if (m_intersectionBoxGridLines.notNull()) + { + m_intersectionBoxGridLines->setEffect(eff.p()); + } + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionBoxPartMgr::appendNativeCrossSectionFacesToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform) +{ + if (m_intersectionBoxFaces.isNull() && m_intersectionBoxGridLines.isNull()) + { + generatePartGeometry(); + } + + if (m_intersectionBoxFaces.notNull()) + { + m_intersectionBoxFaces->setTransform(scaleTransform); + model->addPart(m_intersectionBoxFaces.p()); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionBoxPartMgr::appendMeshLinePartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform) +{ + if (m_intersectionBoxFaces.isNull() && m_intersectionBoxGridLines.isNull()) + { + generatePartGeometry(); + } + + if (m_intersectionBoxGridLines.notNull()) + { + m_intersectionBoxGridLines->setTransform(scaleTransform); + model->addPart(m_intersectionBoxGridLines.p()); + } +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref RivIntersectionBoxPartMgr::createHexGridInterface() +{ + + RimEclipseView* eclipseView; + m_rimIntersectionBox->firstAncestorOrThisOfType(eclipseView); + if (eclipseView) + { + RigMainGrid* grid = NULL; + grid = eclipseView->eclipseCase()->reservoirData()->mainGrid(); + + return new RivEclipseIntersectionGrid(grid, eclipseView->currentActiveCellInfo(), m_rimIntersectionBox->showInactiveCells()); + } + + RimGeoMechView* geoView; + m_rimIntersectionBox->firstAncestorOrThisOfType(geoView); + if (geoView) + { + RigFemPart* femPart = geoView->geoMechCase()->geoMechData()->femParts()->part(0); + return new RivFemIntersectionGrid(femPart); + } + + return NULL; +} + diff --git a/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxPartMgr.h b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxPartMgr.h new file mode 100644 index 0000000000..1b8f0ebc63 --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxPartMgr.h @@ -0,0 +1,72 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "RivIntersectionBoxGeometryGenerator.h" + +#include "cvfBase.h" +#include "cvfObject.h" + + +namespace cvf +{ + class ModelBasicList; + class Transform; + class Part; +} + +class RigMainGrid; +class RigResultAccessor; +class RimCellEdgeColors; +class RimEclipseCellColors; +class RimIntersectionBox; + +//================================================================================================== +/// +/// +//================================================================================================== + +class RivIntersectionBoxPartMgr : public cvf::Object +{ +public: + RivIntersectionBoxPartMgr(const RimIntersectionBox* intersectionBox); + + void applySingleColorEffect(); + void updateCellResultColor(size_t timeStepIndex); + + void appendNativeCrossSectionFacesToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform); + void appendMeshLinePartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform); + +private: + void updatePartEffect(); + void generatePartGeometry(); + + cvf::ref createHexGridInterface(); + +private: + const RimIntersectionBox* m_rimIntersectionBox; + + cvf::Color3f m_defaultColor; + + cvf::ref m_intersectionBoxFaces; + cvf::ref m_intersectionBoxGridLines; + cvf::ref m_intersectionBoxFacesTextureCoords; + + cvf::ref m_intersectionBoxGenerator; +}; diff --git a/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxSourceInfo.cpp b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxSourceInfo.cpp new file mode 100644 index 0000000000..0dbb75a0fc --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxSourceInfo.cpp @@ -0,0 +1,63 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RivIntersectionBoxSourceInfo.h" + +#include "RivIntersectionBoxGeometryGenerator.h" + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RivIntersectionBoxSourceInfo::RivIntersectionBoxSourceInfo(RivIntersectionBoxGeometryGenerator* geometryGenerator) + : m_intersectionBoxGeometryGenerator(geometryGenerator) +{ + CVF_ASSERT(m_intersectionBoxGeometryGenerator.notNull()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RivIntersectionBoxSourceInfo::triangleToCellIndex() const +{ + CVF_ASSERT(m_intersectionBoxGeometryGenerator.notNull()); + + return m_intersectionBoxGeometryGenerator->triangleToCellIndex(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::array RivIntersectionBoxSourceInfo::triangle(int triangleIdx) const +{ + std::array tri; + tri[0] = (*m_intersectionBoxGeometryGenerator->triangleVxes())[triangleIdx*3]; + tri[1] = (*m_intersectionBoxGeometryGenerator->triangleVxes())[triangleIdx*3+1]; + tri[2] = (*m_intersectionBoxGeometryGenerator->triangleVxes())[triangleIdx*3+2]; + + return tri; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const RimIntersectionBox* RivIntersectionBoxSourceInfo::intersectionBox() const +{ + return m_intersectionBoxGeometryGenerator->intersectionBox(); +} + diff --git a/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxSourceInfo.h b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxSourceInfo.h new file mode 100644 index 0000000000..b8a9901dda --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionBoxSourceInfo.h @@ -0,0 +1,41 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cvfBase.h" +#include "cvfObject.h" +#include "cvfArray.h" +#include + +class RivIntersectionBoxGeometryGenerator; +class RimIntersectionBox; + +class RivIntersectionBoxSourceInfo : public cvf::Object +{ +public: + RivIntersectionBoxSourceInfo(RivIntersectionBoxGeometryGenerator* geometryGenerator); + + const std::vector& triangleToCellIndex() const; + + std::array triangle(int triangleIdx) const; + const RimIntersectionBox* intersectionBox() const; + +private: + cvf::cref m_intersectionBoxGeometryGenerator; +}; diff --git a/ApplicationCode/ModelVisualization/Intersections/RivIntersectionGeometryGenerator.cpp b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionGeometryGenerator.cpp new file mode 100644 index 0000000000..2b1cb70431 --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionGeometryGenerator.cpp @@ -0,0 +1,414 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// Copyright (C) Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RivIntersectionGeometryGenerator.h" + +#include "RigMainGrid.h" +#include "RigResultAccessor.h" + +#include "RimIntersection.h" + +#include "cafHexGridIntersectionTools/cafHexGridIntersectionTools.h" + +#include "cvfDrawableGeo.h" +#include "cvfPrimitiveSetDirect.h" +#include "cvfPrimitiveSetIndexedUInt.h" +#include "cvfScalarMapper.h" +#include "cvfGeometryTools.h" + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RivIntersectionGeometryGenerator::RivIntersectionGeometryGenerator(const RimIntersection* crossSection, + std::vector > &polylines, + const cvf::Vec3d& extrusionDirection, + const RivIntersectionHexGridInterface* grid) + : m_crossSection(crossSection), + m_polyLines(polylines), + m_extrusionDirection(extrusionDirection), + m_hexGrid(grid) +{ + m_triangleVxes = new cvf::Vec3fArray; + m_cellBorderLineVxes = new cvf::Vec3fArray; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RivIntersectionGeometryGenerator::~RivIntersectionGeometryGenerator() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionGeometryGenerator::calculateArrays() +{ + if (m_triangleVxes->size()) return; + + m_extrusionDirection.normalize(); + std::vector triangleVertices; + std::vector cellBorderLineVxes; + cvf::Vec3d displayOffset = m_hexGrid->displayOffset(); + cvf::BoundingBox gridBBox = m_hexGrid->boundingBox(); + + for (size_t pLineIdx = 0; pLineIdx < m_polyLines.size(); ++pLineIdx) + { + const std::vector& m_polyLine = m_polyLines[pLineIdx]; + + if (m_polyLine.size() < 2) continue; + + std::vector m_adjustedPolyline; + adjustPolyline(m_polyLine, m_extrusionDirection, &m_adjustedPolyline); + + size_t lineCount = m_adjustedPolyline.size(); + for (size_t lIdx = 0; lIdx < lineCount - 1; ++lIdx) + { + cvf::Vec3d p1 = m_adjustedPolyline[lIdx]; + cvf::Vec3d p2 = m_adjustedPolyline[lIdx+1]; + + cvf::BoundingBox sectionBBox; + sectionBBox.add(p1); + sectionBBox.add(p2); + double maxSectionHeight = gridBBox.radius(); + sectionBBox.add(p1 + m_extrusionDirection*maxSectionHeight); + sectionBBox.add(p1 - m_extrusionDirection*maxSectionHeight); + sectionBBox.add(p2 + m_extrusionDirection*maxSectionHeight); + sectionBBox.add(p2 - m_extrusionDirection*maxSectionHeight); + + std::vector columnCellCandidates; + m_hexGrid->findIntersectingCells(sectionBBox, &columnCellCandidates); + + cvf::Plane plane; + plane.setFromPoints(p1, p2, p2 + m_extrusionDirection*maxSectionHeight); + + cvf::Plane p1Plane; + p1Plane.setFromPoints(p1, p1 + m_extrusionDirection*maxSectionHeight, p1 + plane.normal()); + cvf::Plane p2Plane; + p2Plane.setFromPoints(p2, p2 + m_extrusionDirection*maxSectionHeight, p2 - plane.normal()); + + + std::vector hexPlaneCutTriangleVxes; + hexPlaneCutTriangleVxes.reserve(5*3); + std::vector isTriangleEdgeCellContour; + isTriangleEdgeCellContour.reserve(5*3); + cvf::Vec3d cellCorners[8]; + size_t cornerIndices[8]; + + for (size_t cccIdx = 0; cccIdx < columnCellCandidates.size(); ++cccIdx) + { + size_t globalCellIdx = columnCellCandidates[cccIdx]; + + if (!m_hexGrid->useCell(globalCellIdx)) continue; + + hexPlaneCutTriangleVxes.clear(); + m_hexGrid->cellCornerVertices(globalCellIdx, cellCorners); + m_hexGrid->cellCornerIndices(globalCellIdx, cornerIndices); + + caf::HexGridIntersectionTools::planeHexIntersectionMC(plane, + cellCorners, + cornerIndices, + &hexPlaneCutTriangleVxes, + &isTriangleEdgeCellContour); + + std::vector clippedTriangleVxes; + std::vector isClippedTriEdgeCellContour; + + caf::HexGridIntersectionTools::clipTrianglesBetweenTwoParallelPlanes(hexPlaneCutTriangleVxes, isTriangleEdgeCellContour, p1Plane, p2Plane, + &clippedTriangleVxes, &isClippedTriEdgeCellContour); + + size_t clippedTriangleCount = clippedTriangleVxes.size()/3; + + for (uint tIdx = 0; tIdx < clippedTriangleCount; ++tIdx) + { + uint triVxIdx = tIdx*3; + + // Accumulate triangle vertices + + cvf::Vec3f p0(clippedTriangleVxes[triVxIdx+0].vx - displayOffset); + cvf::Vec3f p1(clippedTriangleVxes[triVxIdx+1].vx - displayOffset); + cvf::Vec3f p2(clippedTriangleVxes[triVxIdx+2].vx - displayOffset); + + triangleVertices.push_back(p0); + triangleVertices.push_back(p1); + triangleVertices.push_back(p2); + + + // Accumulate mesh lines + + if (isClippedTriEdgeCellContour[triVxIdx]) + { + cellBorderLineVxes.push_back(p0); + cellBorderLineVxes.push_back(p1); + } + if (isClippedTriEdgeCellContour[triVxIdx+1]) + { + cellBorderLineVxes.push_back(p1); + cellBorderLineVxes.push_back(p2); + } + if (isClippedTriEdgeCellContour[triVxIdx+2]) + { + cellBorderLineVxes.push_back(p2); + cellBorderLineVxes.push_back(p0); + } + + // Mapping to cell index + + m_triangleToCellIdxMap.push_back(globalCellIdx); + + // Interpolation from nodes + for (int i = 0; i < 3; ++i) + { + caf::HexGridIntersectionTools::ClipVx cvx = clippedTriangleVxes[triVxIdx + i]; + if (cvx.isVxIdsNative) + { + m_triVxToCellCornerWeights.push_back( + RivIntersectionVertexWeights(cvx.clippedEdgeVx1Id, cvx.clippedEdgeVx2Id, cvx.normDistFromEdgeVx1)); + } + else + { + caf::HexGridIntersectionTools::ClipVx cvx1 = hexPlaneCutTriangleVxes[cvx.clippedEdgeVx1Id]; + caf::HexGridIntersectionTools::ClipVx cvx2 = hexPlaneCutTriangleVxes[cvx.clippedEdgeVx2Id]; + + m_triVxToCellCornerWeights.push_back( + RivIntersectionVertexWeights(cvx1.clippedEdgeVx1Id, cvx1.clippedEdgeVx2Id, cvx1.normDistFromEdgeVx1, + cvx2.clippedEdgeVx1Id, cvx2.clippedEdgeVx2Id, cvx2.normDistFromEdgeVx1, + cvx.normDistFromEdgeVx1)); + + } + } + } + } + } + } + m_triangleVxes->assign(triangleVertices); + m_cellBorderLineVxes->assign(cellBorderLineVxes); +} + + +//-------------------------------------------------------------------------------------------------- +/// Generate surface drawable geo from the specified region +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref RivIntersectionGeometryGenerator::generateSurface() +{ + calculateArrays(); + + CVF_ASSERT(m_triangleVxes.notNull()); + + if (m_triangleVxes->size() == 0) return NULL; + + cvf::ref geo = new cvf::DrawableGeo; + geo->setFromTriangleVertexArray(m_triangleVxes.p()); + + return geo; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref RivIntersectionGeometryGenerator::createMeshDrawable() +{ + if (!(m_cellBorderLineVxes.notNull() && m_cellBorderLineVxes->size() != 0)) return NULL; + + cvf::ref geo = new cvf::DrawableGeo; + geo->setVertexArray(m_cellBorderLineVxes.p()); + + + cvf::ref prim = new cvf::PrimitiveSetDirect(cvf::PT_LINES); + prim->setIndexCount(m_cellBorderLineVxes->size()); + + geo->addPrimitiveSet(prim.p()); + return geo; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref RivIntersectionGeometryGenerator::createLineAlongPolylineDrawable() +{ + return createLineAlongPolylineDrawable(m_polyLines); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref RivIntersectionGeometryGenerator::createLineAlongPolylineDrawable(const std::vector >& polyLines) +{ + std::vector lineIndices; + std::vector vertices; + + cvf::Vec3d displayOffset = m_hexGrid->displayOffset(); + + for (size_t pLineIdx = 0; pLineIdx < polyLines.size(); ++pLineIdx) + { + const std::vector& polyLine = polyLines[pLineIdx]; + if (polyLine.size() < 2) continue; + + for (size_t i = 0; i < polyLine.size(); ++i) + { + vertices.push_back(cvf::Vec3f(polyLine[i] - displayOffset)); + if (i < polyLine.size() - 1) + { + lineIndices.push_back(static_cast(i)); + lineIndices.push_back(static_cast(i + 1)); + } + } + } + + if (vertices.size() == 0) return NULL; + + cvf::ref vx = new cvf::Vec3fArray; + vx->assign(vertices); + cvf::ref idxes = new cvf::UIntArray; + idxes->assign(lineIndices); + + cvf::ref prim = new cvf::PrimitiveSetIndexedUInt(cvf::PT_LINES); + prim->setIndices(idxes.p()); + + cvf::ref polylineGeo = new cvf::DrawableGeo; + polylineGeo->setVertexArray(vx.p()); + polylineGeo->addPrimitiveSet(prim.p()); + + return polylineGeo; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref RivIntersectionGeometryGenerator::createPointsFromPolylineDrawable() +{ + return createPointsFromPolylineDrawable(m_polyLines); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref RivIntersectionGeometryGenerator::createPointsFromPolylineDrawable(const std::vector >& polyLines) +{ + std::vector vertices; + + cvf::Vec3d displayOffset = m_hexGrid->displayOffset(); + + for (size_t pLineIdx = 0; pLineIdx < polyLines.size(); ++pLineIdx) + { + const std::vector& polyLine = polyLines[pLineIdx]; + for (size_t i = 0; i < polyLine.size(); ++i) + { + vertices.push_back(cvf::Vec3f(polyLine[i] - displayOffset)); + } + } + + if (vertices.size() == 0) return NULL; + + cvf::ref primSet = new cvf::PrimitiveSetDirect(cvf::PT_POINTS); + primSet->setStartIndex(0); + primSet->setIndexCount(vertices.size()); + + cvf::ref geo = new cvf::DrawableGeo; + + cvf::ref vx = new cvf::Vec3fArray(vertices); + geo->setVertexArray(vx.p()); + geo->addPrimitiveSet(primSet.p()); + + return geo; + +} + +//-------------------------------------------------------------------------------------------------- +/// Remove the lines from the polyline that is nearly parallel to the extrusion direction +//-------------------------------------------------------------------------------------------------- +void RivIntersectionGeometryGenerator::adjustPolyline(const std::vector& polyLine, + const cvf::Vec3d extrDir, + std::vector* adjustedPolyline) +{ + size_t lineCount = polyLine.size(); + if (!polyLine.size()) return; + + adjustedPolyline->push_back(polyLine[0]); + cvf::Vec3d p1 = polyLine[0]; + + for (size_t lIdx = 1; lIdx < lineCount; ++lIdx) + { + cvf::Vec3d p2 = polyLine[lIdx]; + cvf::Vec3d p1p2 = p2 - p1; + + if ((p1p2 - (p1p2 * extrDir)*extrDir).length() > 0.1 ) + { + adjustedPolyline->push_back(p2); + p1 = p2; + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RivIntersectionGeometryGenerator::triangleToCellIndex() const +{ + CVF_ASSERT(m_triangleVxes->size()); + return m_triangleToCellIdxMap; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RivIntersectionGeometryGenerator::triangleVxToCellCornerInterpolationWeights() const +{ + CVF_ASSERT(m_triangleVxes->size()); + return m_triVxToCellCornerWeights; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const cvf::Vec3fArray* RivIntersectionGeometryGenerator::triangleVxes() const +{ + CVF_ASSERT(m_triangleVxes->size()); + return m_triangleVxes.p(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const RimIntersection* RivIntersectionGeometryGenerator::crossSection() const +{ + return m_crossSection; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RivIntersectionGeometryGenerator::isAnyGeometryPresent() const +{ + if (m_triangleVxes->size() == 0) + { + return false; + } + else + { + return true; + } +} + diff --git a/ApplicationCode/ModelVisualization/Intersections/RivIntersectionGeometryGenerator.h b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionGeometryGenerator.h new file mode 100644 index 0000000000..dcc4db9104 --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionGeometryGenerator.h @@ -0,0 +1,93 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// Copyright (C) Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "RivHexGridIntersectionTools.h" + +#include "cafPdmPointer.h" + +#include "cvfArray.h" +#include "cvfBase.h" +#include "cvfBoundingBox.h" +#include "cvfObject.h" +#include "cvfVector3.h" + +#include + +class RigMainGrid; +class RigActiveCellInfo; +class RigResultAccessor; +class RimIntersection; + +namespace cvf +{ + class ScalarMapper; + class DrawableGeo; +} + + +class RivIntersectionGeometryGenerator : public cvf::Object +{ +public: + RivIntersectionGeometryGenerator(const RimIntersection* crossSection, + std::vector > &polylines, + const cvf::Vec3d& extrusionDirection, + const RivIntersectionHexGridInterface* grid ); + + ~RivIntersectionGeometryGenerator(); + + bool isAnyGeometryPresent() const; + + // Generate geometry + cvf::ref generateSurface(); + cvf::ref createMeshDrawable(); + cvf::ref createLineAlongPolylineDrawable(); + cvf::ref createPointsFromPolylineDrawable(); + + cvf::ref createLineAlongPolylineDrawable(const std::vector >& polyLines); + cvf::ref createPointsFromPolylineDrawable(const std::vector >& polyLines); + + + // Mapping between cells and geometry + const std::vector& triangleToCellIndex() const; + const std::vector& triangleVxToCellCornerInterpolationWeights() const; + const cvf::Vec3fArray* triangleVxes() const; + + const RimIntersection* crossSection() const; + +private: + void calculateArrays(); + static void adjustPolyline(const std::vector& polyLine, + const cvf::Vec3d extrDir, + std::vector* adjustedPolyline); + + cvf::cref m_hexGrid; + const std::vector > m_polyLines; + cvf::Vec3d m_extrusionDirection; + + // Output arrays + cvf::ref m_triangleVxes; + cvf::ref m_cellBorderLineVxes; + std::vector m_triangleToCellIdxMap; + std::vector m_triVxToCellCornerWeights; + + const RimIntersection* m_crossSection; +}; + diff --git a/ApplicationCode/ModelVisualization/Intersections/RivIntersectionPartMgr.cpp b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionPartMgr.cpp new file mode 100644 index 0000000000..64bf8d9f53 --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionPartMgr.cpp @@ -0,0 +1,754 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// Copyright (C) Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RivIntersectionPartMgr.h" + +#include "RigCaseCellResultsData.h" +#include "RigCaseData.h" +#include "RigFemPartCollection.h" +#include "RigFemPartResultsCollection.h" +#include "RigGeoMechCaseData.h" +#include "RigResultAccessor.h" +#include "RigResultAccessorFactory.h" + +#include "RimIntersection.h" +#include "RimEclipseCase.h" +#include "RimEclipseCellColors.h" +#include "RimEclipseView.h" +#include "RimGeoMechCase.h" +#include "RimGeoMechCellColors.h" +#include "RimGeoMechView.h" +#include "RimLegendConfig.h" +#include "RimTernaryLegendConfig.h" + +#include "RivIntersectionSourceInfo.h" +#include "RivResultToTextureMapper.h" +#include "RivScalarMapperUtils.h" +#include "RivTernaryScalarMapper.h" +#include "RivTernaryTextureCoordsCreator.h" + +#include "cvfDrawableGeo.h" +#include "cvfModelBasicList.h" +#include "cvfPart.h" +#include "cvfPrimitiveSetDirect.h" +#include "cvfRenderState_FF.h" +#include "cvfRenderStateDepth.h" +#include "cvfRenderStatePoint.h" +#include "cafTensor3.h" +#include "cvfGeometryTools.h" +#include "RiuGeoMechXfTensorResultAccessor.h" + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RivIntersectionPartMgr::RivIntersectionPartMgr(const RimIntersection* rimCrossSection) + : m_rimCrossSection(rimCrossSection), + m_defaultColor(cvf::Color3::WHITE) +{ + CVF_ASSERT(m_rimCrossSection); + + m_crossSectionFacesTextureCoords = new cvf::Vec2fArray; + + computeData(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::applySingleColorEffect() +{ + if (m_crossSectionGenerator.isNull()) return; + + m_defaultColor = cvf::Color3f::OLIVE;//m_rimCrossSection->CrossSectionColor(); + this->updatePartEffect(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::updateCellResultColor(size_t timeStepIndex) +{ + if (m_crossSectionGenerator.isNull()) return; + + if (!m_crossSectionGenerator->isAnyGeometryPresent()) return; + + RimEclipseView* eclipseView; + m_rimCrossSection->firstAncestorOrThisOfType(eclipseView); + + if (eclipseView) + { + RimEclipseCellColors* cellResultColors = eclipseView->cellResult(); + CVF_ASSERT(cellResultColors); + + RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(cellResultColors->porosityModel()); + RigCaseData* eclipseCase = eclipseView->eclipseCase()->reservoirData(); + + // CrossSections + if (m_crossSectionFaces.notNull()) + { + if (cellResultColors->isTernarySaturationSelected()) + { + RivTernaryTextureCoordsCreator texturer(cellResultColors, cellResultColors->ternaryLegendConfig(), timeStepIndex); + + texturer.createTextureCoords(m_crossSectionFacesTextureCoords.p(), m_crossSectionGenerator->triangleToCellIndex()); + + const RivTernaryScalarMapper* mapper = cellResultColors->ternaryLegendConfig()->scalarMapper(); + RivScalarMapperUtils::applyTernaryTextureResultsToPart(m_crossSectionFaces.p(), + m_crossSectionFacesTextureCoords.p(), + mapper, + 1.0, + caf::FC_NONE, + eclipseView->isLightingDisabled()); + } + else + { + CVF_ASSERT(m_crossSectionGenerator.notNull()); + + const cvf::ScalarMapper* mapper = cellResultColors->legendConfig()->scalarMapper(); + cvf::ref resultAccessor; + + if (RimDefines::isPerCellFaceResult(cellResultColors->resultVariable())) + { + resultAccessor = new RigHugeValResultAccessor; + } + else + { + resultAccessor = RigResultAccessorFactory::createResultAccessor(cellResultColors->reservoirView()->eclipseCase()->reservoirData(), + 0, + timeStepIndex, + cellResultColors); + } + + RivIntersectionPartMgr::calculateEclipseTextureCoordinates(m_crossSectionFacesTextureCoords.p(), + m_crossSectionGenerator->triangleToCellIndex(), + resultAccessor.p(), + mapper); + + + RivScalarMapperUtils::applyTextureResultsToPart(m_crossSectionFaces.p(), + m_crossSectionFacesTextureCoords.p(), + mapper, + 1.0, + caf::FC_NONE, + eclipseView->isLightingDisabled()); + } + } + } + + RimGeoMechView* geoView; + m_rimCrossSection->firstAncestorOrThisOfType(geoView); + + if (geoView) + { + RimGeoMechCellColors* cellResultColors = geoView->cellResult(); + RigGeoMechCaseData* caseData = cellResultColors->ownerCaseData(); + + if (!caseData) return; + + RigFemResultAddress resVarAddress = cellResultColors->resultAddress(); + + const std::vector &vertexWeights = m_crossSectionGenerator->triangleVxToCellCornerInterpolationWeights(); + const cvf::ScalarMapper* mapper = cellResultColors->legendConfig()->scalarMapper(); + + if(!(resVarAddress.resultPosType == RIG_ELEMENT_NODAL_FACE) ) + { + // Do a "Hack" to show elm nodal and not nodal POR results + if(resVarAddress.resultPosType == RIG_NODAL && resVarAddress.fieldName == "POR-Bar") resVarAddress.resultPosType = RIG_ELEMENT_NODAL; + + const std::vector& resultValues = caseData->femPartResults()->resultValues(resVarAddress, 0, (int)timeStepIndex); + RigFemPart* femPart = caseData->femParts()->part(0); + bool isElementNodalResult = !(resVarAddress.resultPosType == RIG_NODAL); + + RivIntersectionPartMgr::calculateGeoMechTextureCoords(m_crossSectionFacesTextureCoords.p(), + vertexWeights, + resultValues, + isElementNodalResult, + femPart, + mapper); + } + else + { + // Special direction sensitive result calculation + const cvf::Vec3fArray* triangelVxes = m_crossSectionGenerator->triangleVxes(); + + if ( resVarAddress.componentName == "Pazi" || resVarAddress.componentName == "Pinc" ) + { + RivIntersectionPartMgr::calculatePlaneAngleTextureCoords(m_crossSectionFacesTextureCoords.p(), + triangelVxes, + resVarAddress, + mapper); + } + else + { + RivIntersectionPartMgr::calculateGeoMechTensorXfTextureCoords(m_crossSectionFacesTextureCoords.p(), + triangelVxes, + vertexWeights, + caseData, + resVarAddress, + (int)timeStepIndex, + mapper); + } + } + + RivScalarMapperUtils::applyTextureResultsToPart(m_crossSectionFaces.p(), + m_crossSectionFacesTextureCoords.p(), + mapper, + 1.0, + caf::FC_NONE, + geoView->isLightingDisabled()); + } +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::calculateGeoMechTextureCoords(cvf::Vec2fArray* textureCoords, + const std::vector &vertexWeights, + const std::vector &resultValues, + bool isElementNodalResult, + const RigFemPart* femPart, + const cvf::ScalarMapper* mapper) +{ + textureCoords->resize(vertexWeights.size()); + + if (resultValues.size() == 0) + { + textureCoords->setAll(cvf::Vec2f(0.0, 1.0f)); + } + else + { + cvf::Vec2f* rawPtr = textureCoords->ptr(); + + int vxCount = static_cast(vertexWeights.size()); + +#pragma omp parallel for schedule(dynamic) + for (int triangleVxIdx = 0; triangleVxIdx < vxCount; ++triangleVxIdx) + { + float resValue = 0; + int weightCount = vertexWeights[triangleVxIdx].size(); + for (int wIdx = 0; wIdx < weightCount; ++wIdx) + { + size_t resIdx = isElementNodalResult ? vertexWeights[triangleVxIdx].vxId(wIdx) : + femPart->nodeIdxFromElementNodeResultIdx(vertexWeights[triangleVxIdx].vxId(wIdx)); + resValue += resultValues[resIdx] * vertexWeights[triangleVxIdx].weight(wIdx); + } + + if (resValue == HUGE_VAL || resValue != resValue) // a != a is true for NAN's + { + rawPtr[triangleVxIdx][1] = 1.0f; + } + else + { + rawPtr[triangleVxIdx] = mapper->mapToTextureCoord(resValue); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::calculateGeoMechTensorXfTextureCoords(cvf::Vec2fArray* textureCoords, + const cvf::Vec3fArray* triangelVertices, + const std::vector &vertexWeights, + RigGeoMechCaseData* caseData, + const RigFemResultAddress& resVarAddress, + int timeStepIdx, + const cvf::ScalarMapper* mapper) +{ + + RiuGeoMechXfTensorResultAccessor accessor(caseData->femPartResults(), resVarAddress, timeStepIdx); + + textureCoords->resize(vertexWeights.size()); + cvf::Vec2f* rawPtr = textureCoords->ptr(); + int vxCount = static_cast(vertexWeights.size()); + int triCount = vxCount/3; + + #pragma omp parallel for schedule(dynamic) + for ( int triangleIdx = 0; triangleIdx < triCount; ++triangleIdx ) + { + int triangleVxStartIdx = triangleIdx*3; + float values[3]; + + accessor.calculateInterpolatedValue(&((*triangelVertices)[triangleVxStartIdx]), &(vertexWeights[triangleVxStartIdx]), values ); + + rawPtr[triangleVxStartIdx + 0] = (values[0] != std::numeric_limits::infinity()) ? mapper->mapToTextureCoord(values[0]) : cvf::Vec2f(0.0f, 1.0f); + rawPtr[triangleVxStartIdx + 1] = (values[1] != std::numeric_limits::infinity()) ? mapper->mapToTextureCoord(values[1]) : cvf::Vec2f(0.0f, 1.0f); + rawPtr[triangleVxStartIdx + 2] = (values[2] != std::numeric_limits::infinity()) ? mapper->mapToTextureCoord(values[2]) : cvf::Vec2f(0.0f, 1.0f); + } + +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::calculatePlaneAngleTextureCoords(cvf::Vec2fArray* textureCoords, + const cvf::Vec3fArray* triangelVertices, + const RigFemResultAddress& resVarAddress, + const cvf::ScalarMapper* mapper) +{ + + textureCoords->resize(triangelVertices->size()); + cvf::Vec2f* rawPtr = textureCoords->ptr(); + int vxCount = static_cast(triangelVertices->size()); + int triCount = vxCount/3; + + std::function operation; + if (resVarAddress.componentName == "Pazi") + { + operation = [](const OffshoreSphericalCoords& sphCoord) { return sphCoord.azi();}; + } + else if ( resVarAddress.componentName == "Pinc" ) + { + operation = [](const OffshoreSphericalCoords& sphCoord) { return sphCoord.inc();}; + } + + #pragma omp parallel for schedule(dynamic) + for ( int triangleIdx = 0; triangleIdx < triCount; ++triangleIdx ) + { + int triangleVxStartIdx = triangleIdx*3; + + const cvf::Vec3f* triangle = &((*triangelVertices)[triangleVxStartIdx]); + cvf::Mat3f rotMx = cvf::GeometryTools::computePlaneHorizontalRotationMx(triangle[1] - triangle[0], triangle[2] - triangle[0]); + + OffshoreSphericalCoords sphCoord(cvf::Vec3f(rotMx.rowCol(0, 2), rotMx.rowCol(1, 2), rotMx.rowCol(2, 2))); // Use Ez from the matrix as plane normal + + float angle = cvf::Math::toDegrees( operation(sphCoord)); + cvf::Vec2f texCoord = (angle != std::numeric_limits::infinity()) ? mapper->mapToTextureCoord(angle) : cvf::Vec2f(0.0f, 1.0f); + rawPtr[triangleVxStartIdx + 0] = texCoord; + rawPtr[triangleVxStartIdx + 1] = texCoord; + rawPtr[triangleVxStartIdx + 2] = texCoord; + } + +} + + +//-------------------------------------------------------------------------------------------------- +/// Calculates the texture coordinates in a "nearly" one dimensional texture. +/// Undefined values are coded with a y-texturecoordinate value of 1.0 instead of the normal 0.5 +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::calculateEclipseTextureCoordinates(cvf::Vec2fArray* textureCoords, + const std::vector& triangleToCellIdxMap, + const RigResultAccessor* resultAccessor, + const cvf::ScalarMapper* mapper) +{ + if (!resultAccessor) return; + + size_t numVertices = triangleToCellIdxMap.size()*3; + + textureCoords->resize(numVertices); + cvf::Vec2f* rawPtr = textureCoords->ptr(); + + int triangleCount = static_cast(triangleToCellIdxMap.size()); + +#pragma omp parallel for + for (int tIdx = 0; tIdx < triangleCount; tIdx++) + { + double cellScalarValue = resultAccessor->cellScalarGlobIdx(triangleToCellIdxMap[tIdx]); + cvf::Vec2f texCoord = mapper->mapToTextureCoord(cellScalarValue); + if (cellScalarValue == HUGE_VAL || cellScalarValue != cellScalarValue) // a != a is true for NAN's + { + texCoord[1] = 1.0f; + } + + size_t j; + for (j = 0; j < 3; j++) + { + rawPtr[tIdx*3 + j] = texCoord; + } + } +} + +const int priCrossSectionGeo = 1; +const int priNncGeo = 2; +const int priMesh = 3; + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::generatePartGeometry() +{ + if (m_crossSectionGenerator.isNull()) return; + + bool useBufferObjects = true; + // Surface geometry + { + cvf::ref geo = m_crossSectionGenerator->generateSurface(); + if (geo.notNull()) + { + geo->computeNormals(); + + if (useBufferObjects) + { + geo->setRenderMode(cvf::DrawableGeo::BUFFER_OBJECT); + } + + cvf::ref part = new cvf::Part; + part->setName("Cross Section"); + part->setDrawable(geo.p()); + + // Set mapping from triangle face index to cell index + cvf::ref si = new RivIntersectionSourceInfo(m_crossSectionGenerator.p()); + part->setSourceInfo(si.p()); + + part->updateBoundingBox(); + part->setEnableMask(faultBit); + part->setPriority(priCrossSectionGeo); + + m_crossSectionFaces = part; + } + } + + // Mesh geometry + { + cvf::ref geoMesh = m_crossSectionGenerator->createMeshDrawable(); + if (geoMesh.notNull()) + { + if (useBufferObjects) + { + geoMesh->setRenderMode(cvf::DrawableGeo::BUFFER_OBJECT); + } + + cvf::ref part = new cvf::Part; + part->setName("Cross Section mesh"); + part->setDrawable(geoMesh.p()); + + part->updateBoundingBox(); + part->setEnableMask(meshFaultBit); + part->setPriority(priMesh); + + m_crossSectionGridLines = part; + } + } + + createPolyLineParts(useBufferObjects); + + createExtrusionDirParts(useBufferObjects); + + updatePartEffect(); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::createPolyLineParts(bool useBufferObjects) +{ + // Highlight line + + m_highlightLineAlongPolyline = NULL; + m_highlightPointsForPolyline = NULL; + + if (m_rimCrossSection->type == RimIntersection::CS_POLYLINE) + { + { + cvf::ref polylineGeo = m_crossSectionGenerator->createLineAlongPolylineDrawable(); + if (polylineGeo.notNull()) + { + if (useBufferObjects) + { + polylineGeo->setRenderMode(cvf::DrawableGeo::BUFFER_OBJECT); + } + + cvf::ref part = new cvf::Part; + part->setName("Cross Section Polyline"); + part->setDrawable(polylineGeo.p()); + + part->updateBoundingBox(); + part->setPriority(10000); + + // Always show this part, also when mesh is turned off + //part->setEnableMask(meshFaultBit); + + cvf::ref eff; + caf::MeshEffectGenerator lineEffGen(cvf::Color3::MAGENTA); + eff = lineEffGen.generateUnCachedEffect(); + + cvf::ref depth = new cvf::RenderStateDepth; + depth->enableDepthTest(false); + eff->setRenderState(depth.p()); + + part->setEffect(eff.p()); + + m_highlightLineAlongPolyline = part; + } + } + + cvf::ref polylinePointsGeo = m_crossSectionGenerator->createPointsFromPolylineDrawable(); + if (polylinePointsGeo.notNull()) + { + if (useBufferObjects) + { + polylinePointsGeo->setRenderMode(cvf::DrawableGeo::BUFFER_OBJECT); + } + + cvf::ref part = new cvf::Part; + part->setName("Cross Section Polyline"); + part->setDrawable(polylinePointsGeo.p()); + + part->updateBoundingBox(); + part->setPriority(10000); + + // Always show this part, also when mesh is turned off + //part->setEnableMask(meshFaultBit); + + cvf::ref eff; + caf::MeshEffectGenerator lineEffGen(cvf::Color3::MAGENTA); + eff = lineEffGen.generateUnCachedEffect(); + + cvf::ref depth = new cvf::RenderStateDepth; + depth->enableDepthTest(false); + eff->setRenderState(depth.p()); + + cvf::ref pointRendState = new cvf::RenderStatePoint(cvf::RenderStatePoint::FIXED_SIZE); + pointRendState->setSize(5.0f); + eff->setRenderState(pointRendState.p()); + + part->setEffect(eff.p()); + + m_highlightPointsForPolyline = part; + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::createExtrusionDirParts(bool useBufferObjects) +{ + m_highlightLineAlongExtrusionDir = nullptr; + m_highlightPointsForExtrusionDir = nullptr; + + if (m_rimCrossSection->direction() == RimIntersection::CS_TWO_POINTS) + { + { + cvf::ref polylineGeo = m_crossSectionGenerator->createLineAlongPolylineDrawable(m_rimCrossSection->polyLinesForExtrusionDirection()); + if (polylineGeo.notNull()) + { + if (useBufferObjects) + { + polylineGeo->setRenderMode(cvf::DrawableGeo::BUFFER_OBJECT); + } + + cvf::ref part = new cvf::Part; + part->setName("Cross Section Polyline"); + part->setDrawable(polylineGeo.p()); + + part->updateBoundingBox(); + part->setPriority(10000); + + // Always show this part, also when mesh is turned off + //part->setEnableMask(meshFaultBit); + + cvf::ref eff; + caf::MeshEffectGenerator lineEffGen(cvf::Color3::MAGENTA); + eff = lineEffGen.generateUnCachedEffect(); + + cvf::ref depth = new cvf::RenderStateDepth; + depth->enableDepthTest(false); + eff->setRenderState(depth.p()); + + part->setEffect(eff.p()); + + m_highlightLineAlongExtrusionDir = part; + } + } + + cvf::ref polylinePointsGeo = m_crossSectionGenerator->createPointsFromPolylineDrawable(m_rimCrossSection->polyLinesForExtrusionDirection()); + if (polylinePointsGeo.notNull()) + { + if (useBufferObjects) + { + polylinePointsGeo->setRenderMode(cvf::DrawableGeo::BUFFER_OBJECT); + } + + cvf::ref part = new cvf::Part; + part->setName("Cross Section Polyline"); + part->setDrawable(polylinePointsGeo.p()); + + part->updateBoundingBox(); + part->setPriority(10000); + + // Always show this part, also when mesh is turned off + //part->setEnableMask(meshFaultBit); + + cvf::ref eff; + caf::MeshEffectGenerator lineEffGen(cvf::Color3::MAGENTA); + eff = lineEffGen.generateUnCachedEffect(); + + cvf::ref depth = new cvf::RenderStateDepth; + depth->enableDepthTest(false); + eff->setRenderState(depth.p()); + + cvf::ref pointRendState = new cvf::RenderStatePoint(cvf::RenderStatePoint::FIXED_SIZE); + pointRendState->setSize(5.0f); + eff->setRenderState(pointRendState.p()); + + part->setEffect(eff.p()); + + m_highlightPointsForExtrusionDir = part; + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::updatePartEffect() +{ + if (m_crossSectionGenerator.isNull()) return; + + // Set deCrossSection effect + caf::SurfaceEffectGenerator geometryEffgen(m_defaultColor, caf::PO_1); + + cvf::ref geometryOnlyEffect = geometryEffgen.generateCachedEffect(); + + if (m_crossSectionFaces.notNull()) + { + m_crossSectionFaces->setEffect(geometryOnlyEffect.p()); + } + + // Update mesh colors as well, in case of change + //RiaPreferences* prefs = RiaApplication::instance()->preferences(); + + cvf::ref eff; + caf::MeshEffectGenerator CrossSectionEffGen(cvf::Color3::WHITE);//prefs->defaultCrossSectionGridLineColors()); + eff = CrossSectionEffGen.generateCachedEffect(); + + if (m_crossSectionGridLines.notNull()) + { + m_crossSectionGridLines->setEffect(eff.p()); + } + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::appendNativeCrossSectionFacesToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform) +{ + if (m_crossSectionFaces.isNull()) + { + generatePartGeometry(); + } + + if (m_crossSectionFaces.notNull()) + { + m_crossSectionFaces->setTransform(scaleTransform); + model->addPart(m_crossSectionFaces.p()); + } +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::appendMeshLinePartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform) +{ + if (m_crossSectionGridLines.isNull()) + { + generatePartGeometry(); + } + + if (m_crossSectionGridLines.notNull()) + { + m_crossSectionGridLines->setTransform(scaleTransform); + model->addPart(m_crossSectionGridLines.p()); + } +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::appendPolylinePartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform) +{ + if (m_rimCrossSection->inputPolyLineFromViewerEnabled) + { + if (m_highlightLineAlongPolyline.notNull()) + { + m_highlightLineAlongPolyline->setTransform(scaleTransform); + model->addPart(m_highlightLineAlongPolyline.p()); + } + + if (m_highlightPointsForPolyline.notNull()) + { + m_highlightPointsForPolyline->setTransform(scaleTransform); + model->addPart(m_highlightPointsForPolyline.p()); + } + } + + if (m_rimCrossSection->inputExtrusionPointsFromViewerEnabled) + { + if (m_highlightLineAlongExtrusionDir.notNull()) + { + m_highlightLineAlongExtrusionDir->setTransform(scaleTransform); + model->addPart(m_highlightLineAlongExtrusionDir.p()); + } + + if (m_highlightPointsForExtrusionDir.notNull()) + { + m_highlightPointsForExtrusionDir->setTransform(scaleTransform); + model->addPart(m_highlightPointsForExtrusionDir.p()); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivIntersectionPartMgr::computeData() +{ + std::vector< std::vector > polyLines = m_rimCrossSection->polyLines(); + if (polyLines.size() > 0) + { + cvf::Vec3d direction = m_rimCrossSection->extrusionDirection(); + cvf::ref hexGrid = createHexGridInterface(); + m_crossSectionGenerator = new RivIntersectionGeometryGenerator(m_rimCrossSection, polyLines, direction, hexGrid.p()); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref RivIntersectionPartMgr::createHexGridInterface() +{ + RimEclipseView* eclipseView; + m_rimCrossSection->firstAncestorOrThisOfType(eclipseView); + if (eclipseView) + { + RigMainGrid* grid = NULL; + grid = eclipseView->eclipseCase()->reservoirData()->mainGrid(); + return new RivEclipseIntersectionGrid(grid, eclipseView->currentActiveCellInfo(), m_rimCrossSection->showInactiveCells()); + } + + RimGeoMechView* geoView; + m_rimCrossSection->firstAncestorOrThisOfType(geoView); + if (geoView) + { + RigFemPart* femPart = geoView->geoMechCase()->geoMechData()->femParts()->part(0); + return new RivFemIntersectionGrid(femPart); + } + + return NULL; +} + diff --git a/ApplicationCode/ModelVisualization/Intersections/RivIntersectionPartMgr.h b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionPartMgr.h new file mode 100644 index 0000000000..761ce01631 --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionPartMgr.h @@ -0,0 +1,115 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// Copyright (C) Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "RivIntersectionGeometryGenerator.h" + +#include "cvfBase.h" +#include "cvfObject.h" +#include "cvfColor4.h" +#include "cvfVector3.h" + + +namespace cvf +{ + class ModelBasicList; + class Transform; + class Part; +} + +class RigMainGrid; +class RimEclipseCellColors; +class RimCellEdgeColors; +class RimIntersection; +class RigGeoMechCaseData; +class RigFemResultAddress; + +//================================================================================================== +/// +/// +//================================================================================================== + +class RivIntersectionPartMgr : public cvf::Object +{ +public: + RivIntersectionPartMgr(const RimIntersection* rimCrossSection); + + void applySingleColorEffect(); + void updateCellResultColor(size_t timeStepIndex); + + + void appendNativeCrossSectionFacesToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform); + void appendMeshLinePartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform); + void appendPolylinePartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform); + +private: + void updatePartEffect(); + void generatePartGeometry(); + + void createPolyLineParts(bool useBufferObjects); + void createExtrusionDirParts(bool useBufferObjects); + + void computeData(); + +public: + static void calculateEclipseTextureCoordinates(cvf::Vec2fArray* textureCoords, + const std::vector& triangleToCellIdxMap, + const RigResultAccessor* resultAccessor, + const cvf::ScalarMapper* mapper); + + static void calculateGeoMechTextureCoords(cvf::Vec2fArray* textureCoords, + const std::vector &vertexWeights, + const std::vector &resultValues, + bool isElementNodalResult, + const RigFemPart* femPart, + const cvf::ScalarMapper* mapper); + + static void calculateGeoMechTensorXfTextureCoords(cvf::Vec2fArray* textureCoords, + const cvf::Vec3fArray* triangelVertices, + const std::vector &vertexWeights, + RigGeoMechCaseData* caseData, + const RigFemResultAddress& resVarAddress, + int timeStepIdx, + const cvf::ScalarMapper* mapper); + + static void calculatePlaneAngleTextureCoords(cvf::Vec2fArray* textureCoords, + const cvf::Vec3fArray* triangelVertices, + const RigFemResultAddress& resVarAddress, + const cvf::ScalarMapper* mapper); + + cvf::ref createHexGridInterface(); +private: + + const RimIntersection* m_rimCrossSection; + + cvf::Color3f m_defaultColor; + + cvf::ref m_crossSectionGenerator; + cvf::ref m_crossSectionFaces; + cvf::ref m_crossSectionGridLines; + cvf::ref m_crossSectionFacesTextureCoords; + + cvf::ref m_highlightLineAlongPolyline; + cvf::ref m_highlightPointsForPolyline; + + cvf::ref m_highlightLineAlongExtrusionDir; + cvf::ref m_highlightPointsForExtrusionDir; +}; + diff --git a/ApplicationCode/ModelVisualization/Intersections/RivIntersectionSourceInfo.cpp b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionSourceInfo.cpp new file mode 100644 index 0000000000..470c5a63db --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionSourceInfo.cpp @@ -0,0 +1,63 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// Copyright (C) Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RivIntersectionSourceInfo.h" + +#include "RivIntersectionGeometryGenerator.h" + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RivIntersectionSourceInfo::RivIntersectionSourceInfo(RivIntersectionGeometryGenerator* geometryGenerator) + : m_crossSectionGeometryGenerator(geometryGenerator) +{ + CVF_ASSERT(m_crossSectionGeometryGenerator.notNull()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RivIntersectionSourceInfo::triangleToCellIndex() const +{ + CVF_ASSERT(m_crossSectionGeometryGenerator.notNull()); + + return m_crossSectionGeometryGenerator->triangleToCellIndex(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::array RivIntersectionSourceInfo::triangle(int triangleIdx) const +{ + std::array tri; + tri[0] = (*m_crossSectionGeometryGenerator->triangleVxes())[triangleIdx*3]; + tri[1] = (*m_crossSectionGeometryGenerator->triangleVxes())[triangleIdx*3+1]; + tri[2] = (*m_crossSectionGeometryGenerator->triangleVxes())[triangleIdx*3+2]; + + return tri; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const RimIntersection* RivIntersectionSourceInfo::crossSection() const +{ + return m_crossSectionGeometryGenerator->crossSection(); +} diff --git a/ApplicationCode/ModelVisualization/Intersections/RivIntersectionSourceInfo.h b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionSourceInfo.h new file mode 100644 index 0000000000..436a0a6c75 --- /dev/null +++ b/ApplicationCode/ModelVisualization/Intersections/RivIntersectionSourceInfo.h @@ -0,0 +1,41 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// Copyright (C) Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cvfBase.h" +#include "cvfObject.h" +#include "cvfArray.h" +#include + +class RivIntersectionGeometryGenerator; +class RimIntersection; + +class RivIntersectionSourceInfo : public cvf::Object +{ +public: + RivIntersectionSourceInfo(RivIntersectionGeometryGenerator* geometryGenerator); + + const std::vector& triangleToCellIndex() const; + std::array triangle(int triangleIdx) const; + const RimIntersection* crossSection() const; + +private: + cvf::cref m_crossSectionGeometryGenerator; +}; diff --git a/ApplicationCode/ModelVisualization/RivCellEdgeEffectGenerator.cpp b/ApplicationCode/ModelVisualization/RivCellEdgeEffectGenerator.cpp index e713ea51d9..9bd7e9074c 100644 --- a/ApplicationCode/ModelVisualization/RivCellEdgeEffectGenerator.cpp +++ b/ApplicationCode/ModelVisualization/RivCellEdgeEffectGenerator.cpp @@ -35,6 +35,7 @@ #include #include +#include "cvfUniform.h" //-------------------------------------------------------------------------------------------------- @@ -196,6 +197,8 @@ void CellEdgeEffectGenerator::updateForShaderBasedRendering(cvf::Effect* effect) cvf::ref prog = shaderGen.generate(); eff->setShaderProgram(prog.p()); + if(!m_disableLighting) prog->setDefaultUniform(new cvf::UniformFloat("u_ecLightPosition", cvf::Vec3f(0.5, 5.0, 7.0))); + // Set up textures m_edgeTextureImage = new cvf::TextureImage; diff --git a/ApplicationCode/ModelVisualization/RivCellEdgeGeometryUtils.cpp b/ApplicationCode/ModelVisualization/RivCellEdgeGeometryUtils.cpp index fef803b19e..55008114cd 100644 --- a/ApplicationCode/ModelVisualization/RivCellEdgeGeometryUtils.cpp +++ b/ApplicationCode/ModelVisualization/RivCellEdgeGeometryUtils.cpp @@ -26,15 +26,19 @@ #include "RigGridBase.h" #include "RigResultAccessor.h" #include "RigResultAccessorFactory.h" -#include "RimEclipseCase.h" + #include "RimCellEdgeColors.h" -#include "RimEclipseView.h" +#include "RimEclipseCase.h" #include "RimEclipseCellColors.h" -#include "RimTernaryLegendConfig.h" +#include "RimEclipseView.h" #include "RimEclipseWellCollection.h" +#include "RimLegendConfig.h" +#include "RimTernaryLegendConfig.h" + #include "RivTernaryTextureCoordsCreator.h" #include "cvfDrawableGeo.h" +#include "cvfScalarMapper.h" #include "cvfVertexAttribute.h" @@ -48,6 +52,7 @@ void RivCellEdgeGeometryUtils::addCellEdgeResultsToDrawableGeo( const cvf::StructGridQuadToCellFaceMapper* quadToCellFaceMapper, cvf::DrawableGeo* geo, size_t gridIndex, + bool useDefaultValueForHugeVals, float opacityLevel) { RigCaseData* eclipseCase = cellResultColors->reservoirView()->eclipseCase()->reservoirData(); @@ -56,7 +61,7 @@ void RivCellEdgeGeometryUtils::addCellEdgeResultsToDrawableGeo( // Create result access objects cvf::ref cellCenterDataAccessObject = createCellCenterResultAccessor(cellResultColors, timeStepIndex, eclipseCase, eclipseCase->grid(gridIndex)); - cvf::ref cellEdgeResultAccessor = createCellEdgeCenterResultAccessor(cellResultColors, cellEdgeResultColors, timeStepIndex, eclipseCase, eclipseCase->grid(gridIndex)); + cvf::ref cellEdgeResultAccessor = createCellEdgeResultAccessor(cellResultColors, cellEdgeResultColors, timeStepIndex, eclipseCase, eclipseCase->grid(gridIndex)); size_t vertexCount = geo->vertexArray()->size(); size_t quadCount = vertexCount / 4; @@ -114,9 +119,13 @@ void RivCellEdgeGeometryUtils::addCellEdgeResultsToDrawableGeo( { float cellColorTextureCoord = 0.5f; // If no results exists, the texture will have a special color - if (scalarValue != HUGE_VAL) + if (useDefaultValueForHugeVals || scalarValue != HUGE_VAL) { - cellColorTextureCoord = cellResultScalarMapper->mapToTextureCoord(scalarValue)[0]; + if (scalarValue != HUGE_VAL) + { + cellColorTextureCoord = cellResultScalarMapper->mapToTextureCoord(scalarValue)[0]; + } + // If we are dealing with wellcells, the default is transparent. // we need to make cells opaque if there are no wellpipe through them. if (opacityLevel < 1.0f) @@ -193,7 +202,7 @@ void RivCellEdgeGeometryUtils::addTernaryCellEdgeResultsToDrawableGeo(size_t tim RigCaseData* eclipseCase = cellResultColors->reservoirView()->eclipseCase()->reservoirData(); CVF_ASSERT(eclipseCase != NULL); - cvf::ref cellEdgeResultAccessor = createCellEdgeCenterResultAccessor(cellResultColors, cellEdgeResultColors, timeStepIndex, eclipseCase, eclipseCase->grid(gridIndex)); + cvf::ref cellEdgeResultAccessor = createCellEdgeResultAccessor(cellResultColors, cellEdgeResultColors, timeStepIndex, eclipseCase, eclipseCase->grid(gridIndex)); size_t vertexCount = geo->vertexArray()->size(); size_t quadCount = vertexCount / 4; @@ -281,7 +290,7 @@ void RivCellEdgeGeometryUtils::addTernaryCellEdgeResultsToDrawableGeo(size_t tim //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -cvf::ref RivCellEdgeGeometryUtils::createCellEdgeCenterResultAccessor( +cvf::ref RivCellEdgeGeometryUtils::createCellEdgeResultAccessor( RimEclipseCellColors* cellResultColors, RimCellEdgeColors* cellEdgeResultColors, size_t timeStepIndex, @@ -294,11 +303,19 @@ cvf::ref RivCellEdgeGeometryUtils::createCellEdgeCenterResult cellEdgeResultColors->gridScalarIndices(resultIndices); RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(cellResultColors->porosityModel()); + std::vector metaData; + cellEdgeResultColors->cellEdgeMetaData(&metaData); + size_t cubeFaceIdx; for (cubeFaceIdx = 0; cubeFaceIdx < 6; cubeFaceIdx++) { - // Assuming static values to be mapped onto cell edge, always using time step zero - cvf::ref daObj = RigResultAccessorFactory::createResultAccessor(eclipseCase, grid->gridIndex(), porosityModel, 0, resultIndices[cubeFaceIdx]); + size_t adjustedTimeStep = timeStepIndex; + if (metaData[cubeFaceIdx].m_isStatic) + { + adjustedTimeStep = 0; + } + + cvf::ref daObj = RigResultAccessorFactory::createResultAccessor(eclipseCase, grid->gridIndex(), porosityModel, adjustedTimeStep, resultIndices[cubeFaceIdx]); cellEdgeResultAccessor->setDataAccessObjectForFace(static_cast(cubeFaceIdx), daObj.p()); } } diff --git a/ApplicationCode/ModelVisualization/RivCellEdgeGeometryUtils.h b/ApplicationCode/ModelVisualization/RivCellEdgeGeometryUtils.h index b9c0843a5f..6dbdc7f7f7 100644 --- a/ApplicationCode/ModelVisualization/RivCellEdgeGeometryUtils.h +++ b/ApplicationCode/ModelVisualization/RivCellEdgeGeometryUtils.h @@ -44,6 +44,7 @@ class RivCellEdgeGeometryUtils const cvf::StructGridQuadToCellFaceMapper* quadToCellFaceMapper, cvf::DrawableGeo* geo, size_t gridIndex, + bool useDefaultValueForHugeVals, float opacityLevel); static void addTernaryCellEdgeResultsToDrawableGeo(size_t timeStepIndex, @@ -62,7 +63,7 @@ class RivCellEdgeGeometryUtils RigCaseData* eclipseCase, const RigGridBase* grid); - static cvf::ref createCellEdgeCenterResultAccessor( + static cvf::ref createCellEdgeResultAccessor( RimEclipseCellColors* cellResultColors, RimCellEdgeColors* cellEdgeResultColors, size_t timeStepIndex, diff --git a/ApplicationCode/ModelVisualization/RivCellSetEnum.h b/ApplicationCode/ModelVisualization/RivCellSetEnum.h index 7a34fe63d7..3becde120b 100644 --- a/ApplicationCode/ModelVisualization/RivCellSetEnum.h +++ b/ApplicationCode/ModelVisualization/RivCellSetEnum.h @@ -25,7 +25,7 @@ enum RivCellSetEnum ALL_CELLS, ACTIVE, ///< All Active cells without ALL_WELL_CELLS ALL_WELL_CELLS, ///< All cells ever having a connection to a well (Might be inactive cells as well. Wellhead cells typically) - VISIBLE_WELL_CELLS, ///< ALL_WELL_CELLS && visible well cells including Fence + VISIBLE_WELL_CELLS, ///< ALL_WELL_CELLS && visible well cells (including Fence <-- is this correct? MSJ/JJS ) VISIBLE_WELL_FENCE_CELLS, ///< (! ALL_WELL_CELLS) && visible well cells including Fence INACTIVE, ///< All inactive cells, but invalid cells might or might not be included RANGE_FILTERED, ///< ACTIVE Filtered by the set of range filters diff --git a/ApplicationCode/ModelVisualization/RivCrossSectionGeometryGenerator.cpp b/ApplicationCode/ModelVisualization/RivCrossSectionGeometryGenerator.cpp deleted file mode 100644 index e021a433a8..0000000000 --- a/ApplicationCode/ModelVisualization/RivCrossSectionGeometryGenerator.cpp +++ /dev/null @@ -1,1455 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) Statoil ASA -// Copyright (C) Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#include "RivCrossSectionGeometryGenerator.h" - -#include "RigMainGrid.h" -#include "RigResultAccessor.h" - -#include "RimCrossSection.h" - -#include "cvfDrawableGeo.h" -#include "cvfPrimitiveSetDirect.h" -#include "cvfPrimitiveSetIndexedUInt.h" -#include "cvfScalarMapper.h" - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RivCrossSectionGeometryGenerator::RivCrossSectionGeometryGenerator(const RimCrossSection* crossSection, - std::vector > &polylines, - const cvf::Vec3d& extrusionDirection, - const RivCrossSectionHexGridIntf* grid) - : m_crossSection(crossSection), - m_polyLines(polylines), - m_extrusionDirection(extrusionDirection), - m_hexGrid(grid) -{ - m_triangleVxes = new cvf::Vec3fArray; - m_cellBorderLineVxes = new cvf::Vec3fArray; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RivCrossSectionGeometryGenerator::~RivCrossSectionGeometryGenerator() -{ - -} - - -//-------------------------------------------------------------------------------------------------- -/// Find intersection between a line segment and a plane -/// -/// \param a Start of line segment -/// \param b End of line segment -/// \param intersection Returns intersection point along the infinite line defined by a-b -/// \param normalizedDistFromA Returns the normalized (0..1) position from a to b of the intersection point. -/// Will return values along the infinite line defined by the a-b direcion, -/// and HUGE_VAL if plane and line are parallel. -/// -/// \return True if line segment intersects the plane -//-------------------------------------------------------------------------------------------------- -bool planeLineIntersect(const cvf::Plane& plane, const cvf::Vec3d& a, const cvf::Vec3d& b, cvf::Vec3d* intersection, double* normalizedDistFromA) -{ - // From Real-Time Collision Detection by Christer Eriscon, published by Morgen Kaufmann Publishers, (c) 2005 Elsevier Inc - - cvf::Vec3d ab = b - a; - cvf::Vec3d normal = plane.normal(); - - double normDotAB = normal * ab; - if (normDotAB == 0) - { - (*normalizedDistFromA) = HUGE_VAL; - return false; - } - - double interpolationParameter = (-plane.D() - (normal * a)) / normDotAB; - - (*intersection) = a + interpolationParameter * ab; - (*normalizedDistFromA) = interpolationParameter; - - return (interpolationParameter >= 0.0 && interpolationParameter <= 1.0); -} - - -struct ClipVx -{ - ClipVx() : vx(cvf::Vec3d::ZERO), normDistFromEdgeVx1(HUGE_VAL), clippedEdgeVx1Id(-1), clippedEdgeVx2Id(-1), isVxIdsNative(true) {} - - cvf::Vec3d vx; - - double normDistFromEdgeVx1; - size_t clippedEdgeVx1Id; - size_t clippedEdgeVx2Id; - - bool isVxIdsNative; -}; - -//-------------------------------------------------------------------------------------------------- -/// Returns whether the triangle was hit by the plane. -/// isMostVxesOnPositiveSide returns true if all or two of the vxes is on the positive side of the plane. -/// newVx1/2.vx1ClippedEdge returns the index of the single vx that is alone on one side of the plane. -/// Going newVx1 to newVx2 will make the top triangle same winding as the original triangle, -/// and the quad opposite winding - -// The permutations except for the trivial cases where all vertices are in front or behind plane: -// -// Single vertex on positive side of plane => isMostVxesOnPositiveSide = false -// -// +\ /\3 /\3 /+ /\3 . -// \ / \ / \ / + / \ + . -// \2 \ / \/1 __1/____\2__ . -// / \ \ / /\ / \ . -// 1/___\1___\2 1/____2/__\2 1/________\2 . -// +\ /+ -// -// Two vertices vertex on positive side of plane => isMostVxesOnPositiveSide = true -// -// \+ /\3 /\3 +/ /\3 . -// \ / \ / \ / / \ . -// \2 \ / \/1 __1/____\2__ . -// / \ \ / /\ + / \ + . -// 1/___\1___\2 1/____2/__\2 1/________\2 . -// \+ +/ -//-------------------------------------------------------------------------------------------------- - -bool planeTriangleIntersection(const cvf::Plane& plane, - const cvf::Vec3d& p1, size_t p1Id, - const cvf::Vec3d& p2, size_t p2Id, - const cvf::Vec3d& p3, size_t p3Id, - ClipVx* newVx1, ClipVx* newVx2, - bool * isMostVxesOnPositiveSide) -{ - int onPosSide[3]; - onPosSide[0] = plane.distanceSquared(p1) >= 0 ; - onPosSide[1] = plane.distanceSquared(p2) >= 0 ; - onPosSide[2] = plane.distanceSquared(p3) >= 0 ; - - const int numPositiveVertices = onPosSide[0] + onPosSide[1] + onPosSide[2]; - - // The entire triangle is on the negative side - // Clip everything - if (numPositiveVertices == 0) - { - (*isMostVxesOnPositiveSide) = false; - return false; - } - - // All triangle vertices are on the positive side - if (numPositiveVertices == 3) - { - (*isMostVxesOnPositiveSide) = true; - return false; - } - - (*isMostVxesOnPositiveSide) = (numPositiveVertices == 2); - - int topVx = 0; - if (numPositiveVertices == 1) - { - if (onPosSide[0]) topVx = 1; - if (onPosSide[1]) topVx = 2; - if (onPosSide[2]) topVx = 3; - } - else if (numPositiveVertices == 2) - { - if (!onPosSide[0]) topVx = 1; - if (!onPosSide[1]) topVx = 2; - if (!onPosSide[2]) topVx = 3; - } - else - { - CVF_ASSERT(false); - } - - bool ok1, ok2; - if (topVx == 1) - { - ok1 = planeLineIntersect(plane, p1, p2, &((*newVx1).vx), &((*newVx1).normDistFromEdgeVx1)); - (*newVx1).clippedEdgeVx1Id = p1Id; - (*newVx1).clippedEdgeVx2Id = p2Id; - ok2 = planeLineIntersect(plane, p1, p3, &((*newVx2).vx), &((*newVx2).normDistFromEdgeVx1)); - (*newVx2).clippedEdgeVx1Id = p1Id; - (*newVx2).clippedEdgeVx2Id = p3Id; - CVF_TIGHT_ASSERT(ok1 && ok2); - } - else if (topVx == 2) - { - ok1 = planeLineIntersect(plane, p2, p3, &((*newVx1).vx), &((*newVx1).normDistFromEdgeVx1)); - (*newVx1).clippedEdgeVx1Id = p2Id; - (*newVx1).clippedEdgeVx2Id = p3Id; - ok2 = planeLineIntersect(plane, p2, p1, &((*newVx2).vx), &((*newVx2).normDistFromEdgeVx1)); - (*newVx2).clippedEdgeVx1Id = p2Id; - (*newVx2).clippedEdgeVx2Id = p1Id; - } - else if (topVx == 3) - { - ok1 = planeLineIntersect(plane, p3, p1, &((*newVx1).vx), &((*newVx1).normDistFromEdgeVx1)); - (*newVx1).clippedEdgeVx1Id = p3Id; - (*newVx1).clippedEdgeVx2Id = p1Id; - ok2 = planeLineIntersect(plane, p3, p2, &((*newVx2).vx), &((*newVx2).normDistFromEdgeVx1)); - (*newVx2).clippedEdgeVx1Id = p3Id; - (*newVx2).clippedEdgeVx2Id = p2Id; - } - else - { - CVF_ASSERT(false); - } - - CVF_TIGHT_ASSERT(ok1 && ok2); - - return true; -} - -//-------------------------------------------------------------------------------------------------- -// -// -// P2 P2 P2 P2 -// Keep Keep Keep Keep -// None Top 3 Quad All -// | | + | | -// | | / \ | | -// | | | | / \ | | | | -// | | | | / \ | | | | -// | | | | / \| | | | -// | | | |/ 1+ | | | -// | | | +2 |\ | | | -// | | | /| | \ | | | -// | | | / | | \ | _ | | -// | | | / | | \| |\Dir | | -// | | |/ | | 1+ \ | | -// | | +2 | | |\ \ | | -// | | /| | | | \ | | -// | | / |1 |1 2| 2| \ | | -// | | +--+----+----------+----+---+ | | -// | |1 | | | | 2 | | -// P1 P1 P1 P1 -// Keep Keep Keep Keep -// All Quad Top None -// -// -// Clips the supplied triangles into new triangles returned in clippedTriangleVxes. -// New vertices have set isVxIdsNative = false and their vxIds is indices into triangleVxes -// The isTriangleEdgeCellContour bits refer to the edge after the corresponding triangle vertex. -//-------------------------------------------------------------------------------------------------- - -void clipTrianglesBetweenTwoParallelPlanes(const std::vector &triangleVxes, - const std::vector &isTriangleEdgeCellContour, - const cvf::Plane& p1Plane, const cvf::Plane& p2Plane, - std::vector *clippedTriangleVxes, - std::vector *isClippedTriEdgeCellContour) -{ - size_t triangleCount = triangleVxes.size()/3; - - for (size_t tIdx = 0; tIdx < triangleCount; ++tIdx) - { - - size_t triVxIdx = tIdx*3; - - ClipVx newVx1OnP1; - newVx1OnP1.isVxIdsNative = false; - ClipVx newVx2OnP1; - newVx2OnP1.isVxIdsNative = false; - - bool isMostVxesOnPositiveSideOfP1 = false; - bool isIntersectingP1 = planeTriangleIntersection(p1Plane, - triangleVxes[triVxIdx + 0].vx, triVxIdx + 0, - triangleVxes[triVxIdx + 1].vx, triVxIdx + 1, - triangleVxes[triVxIdx + 2].vx, triVxIdx + 2, - &newVx1OnP1, &newVx2OnP1, &isMostVxesOnPositiveSideOfP1); - - if (!isIntersectingP1 && !isMostVxesOnPositiveSideOfP1) - { - continue; // Discard triangle - } - - - ClipVx newVx1OnP2; - newVx1OnP2.isVxIdsNative = false; - ClipVx newVx2OnP2; - newVx2OnP2.isVxIdsNative = false; - bool isMostVxesOnPositiveSideOfP2 = false; - bool isIntersectingP2 = planeTriangleIntersection(p2Plane, - triangleVxes[triVxIdx + 0].vx, triVxIdx + 0, - triangleVxes[triVxIdx + 1].vx, triVxIdx + 1, - triangleVxes[triVxIdx + 2].vx, triVxIdx + 2, - &newVx1OnP2, &newVx2OnP2, &isMostVxesOnPositiveSideOfP2); - - if (!isIntersectingP2 && !isMostVxesOnPositiveSideOfP2) - { - continue; // Discard triangle - } - - bool p1KeepAll = (!isIntersectingP1 && isMostVxesOnPositiveSideOfP1); - bool p2KeepAll = (!isIntersectingP2 && isMostVxesOnPositiveSideOfP2); - bool p1KeepQuad = (isIntersectingP1 && isMostVxesOnPositiveSideOfP1); - bool p2KeepQuad = (isIntersectingP2 && isMostVxesOnPositiveSideOfP2); - bool p1KeepTop = (isIntersectingP1 && !isMostVxesOnPositiveSideOfP1); - bool p2KeepTop = (isIntersectingP2 && !isMostVxesOnPositiveSideOfP2); - - if (p1KeepAll && p2KeepAll) - { - // Keep the triangle - clippedTriangleVxes->push_back(triangleVxes[triVxIdx + 0]); - clippedTriangleVxes->push_back(triangleVxes[triVxIdx + 1]); - clippedTriangleVxes->push_back(triangleVxes[triVxIdx + 2]); - - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[triVxIdx + 0]); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[triVxIdx + 1]); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[triVxIdx + 2]); - - continue; - } - - if (p1KeepQuad && p2KeepAll) - { - // Split the resulting quad and add the two triangles - clippedTriangleVxes->push_back(newVx2OnP1); - clippedTriangleVxes->push_back(newVx1OnP1); - clippedTriangleVxes->push_back(triangleVxes[newVx1OnP1.clippedEdgeVx2Id]); - - clippedTriangleVxes->push_back(triangleVxes[newVx1OnP1.clippedEdgeVx2Id]); - clippedTriangleVxes->push_back(triangleVxes[newVx2OnP1.clippedEdgeVx2Id]); - clippedTriangleVxes->push_back(newVx2OnP1); - - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP1.clippedEdgeVx1Id]); - isClippedTriEdgeCellContour->push_back(false); - - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP1.clippedEdgeVx2Id]); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP1.clippedEdgeVx2Id]); - isClippedTriEdgeCellContour->push_back(false); - - continue; - } - - if (p2KeepQuad && p1KeepAll) - { - // Split the resulting quad and add the two triangles - clippedTriangleVxes->push_back(newVx2OnP2); - clippedTriangleVxes->push_back(newVx1OnP2); - clippedTriangleVxes->push_back(triangleVxes[newVx2OnP2.clippedEdgeVx2Id]); - - clippedTriangleVxes->push_back(newVx1OnP2); - clippedTriangleVxes->push_back(triangleVxes[newVx1OnP2.clippedEdgeVx2Id]); - clippedTriangleVxes->push_back(triangleVxes[newVx2OnP2.clippedEdgeVx2Id]); - - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP2.clippedEdgeVx2Id]); - - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP2.clippedEdgeVx1Id]); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP2.clippedEdgeVx2Id]); - isClippedTriEdgeCellContour->push_back(false); - - continue; - } - - if (p1KeepTop && p2KeepAll) - { - // Add the top triangle - clippedTriangleVxes->push_back(newVx1OnP1); - clippedTriangleVxes->push_back(newVx2OnP1); - clippedTriangleVxes->push_back(triangleVxes[newVx1OnP1.clippedEdgeVx1Id]); - - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP1.clippedEdgeVx2Id]); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP1.clippedEdgeVx1Id]); - - continue; - } - - if (p2KeepTop && p1KeepAll) - { - // Add the top triangle - clippedTriangleVxes->push_back(newVx1OnP2); - clippedTriangleVxes->push_back(newVx2OnP2); - clippedTriangleVxes->push_back(triangleVxes[newVx1OnP2.clippedEdgeVx1Id]); - - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP2.clippedEdgeVx2Id]); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP2.clippedEdgeVx1Id]); - - continue; - } - - if (p1KeepQuad && p2KeepQuad) - { - // We end up with a pentagon. - clippedTriangleVxes->push_back(newVx2OnP1); - clippedTriangleVxes->push_back(newVx1OnP1); - clippedTriangleVxes->push_back(newVx2OnP2); - - clippedTriangleVxes->push_back(newVx2OnP2); - clippedTriangleVxes->push_back(newVx1OnP2); - clippedTriangleVxes->push_back(newVx2OnP1); - - - // Two variants. The original point might be along newVx1OnP1 to newVx2OnP2 or along newVx2OnP1 to newVx1OnP2 - if (newVx1OnP1.clippedEdgeVx2Id == newVx2OnP2.clippedEdgeVx1Id) - { - clippedTriangleVxes->push_back(newVx2OnP1); - clippedTriangleVxes->push_back(newVx1OnP2); - clippedTriangleVxes->push_back(triangleVxes[newVx2OnP1.clippedEdgeVx2Id]); - - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP1.clippedEdgeVx1Id]); - isClippedTriEdgeCellContour->push_back(false); - - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(false); - - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP2.clippedEdgeVx1Id]); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP1.clippedEdgeVx2Id]); - } - else - { - - clippedTriangleVxes->push_back(newVx2OnP2); - clippedTriangleVxes->push_back(newVx1OnP1); - clippedTriangleVxes->push_back(triangleVxes[newVx2OnP2.clippedEdgeVx2Id]); - - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(false); - - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP2.clippedEdgeVx1Id]); - isClippedTriEdgeCellContour->push_back(false); - - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP1.clippedEdgeVx1Id]); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP2.clippedEdgeVx2Id]); - } - - continue; - } - - if (p1KeepQuad && p2KeepTop) - { - // We end up with a quad. - clippedTriangleVxes->push_back(newVx1OnP1); - clippedTriangleVxes->push_back(newVx1OnP2); - clippedTriangleVxes->push_back(newVx2OnP1); - - clippedTriangleVxes->push_back(newVx1OnP2); - clippedTriangleVxes->push_back(newVx2OnP2); - clippedTriangleVxes->push_back(newVx2OnP1); - - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP1.clippedEdgeVx1Id]); - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(false); - - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP2.clippedEdgeVx2Id]); - isClippedTriEdgeCellContour->push_back(false); - - continue; - } - - if (p2KeepQuad && p1KeepTop) - { - // We end up with a quad. - clippedTriangleVxes->push_back(newVx2OnP1); - clippedTriangleVxes->push_back(newVx2OnP2); - clippedTriangleVxes->push_back(newVx1OnP2); - - clippedTriangleVxes->push_back(newVx2OnP1); - clippedTriangleVxes->push_back(newVx1OnP2); - clippedTriangleVxes->push_back(newVx1OnP1); - - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP1.clippedEdgeVx2Id]); - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(false); - - isClippedTriEdgeCellContour->push_back(false); - isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP2.clippedEdgeVx1Id]); - isClippedTriEdgeCellContour->push_back(false); - - continue; - } - - CVF_ASSERT(false); - } -} - -//-------------------------------------------------------------------------------------------------- -/// Will return the intersection point. If the plane is outside the line, it returns the closest line endpoint -//-------------------------------------------------------------------------------------------------- -cvf::Vec3d planeLineIntersectionForMC(const cvf::Plane& plane, const cvf::Vec3d& p1, const cvf::Vec3d& p2, double* normalizedDistFromP1) -{ - // From http://local.wasp.uwa.edu.au/~pbourke/geometry/planeline/ - // - // P1 (x1,y1,z1) and P2 (x2,y2,z2) - // - // P = P1 + u (P2 - P1) - // - // A*x1 + B*y1 + C*z1 + D - // u = --------------------------------- - // A*(x1-x2) + B*(y1-y2) + C*(z1-z2) - - CVF_TIGHT_ASSERT(normalizedDistFromP1); - - const cvf::Vec3d v = p2 - p1; - - (*normalizedDistFromP1) = 0.0; - - double denominator = -(plane.A()*v.x() + plane.B()*v.y() + plane.C()*v.z()); - if (denominator != 0) - { - double u = (plane.A()*p1.x() + plane.B()*p1.y() + plane.C()*p1.z() + plane.D())/denominator; - (*normalizedDistFromP1) = u; - if (u > 0.0 && u < 1.0) - { - return (p1 + u*v); - } - else - { - if (u >= 1.0) - { - return p2; - } - else - { - return p1; - } - } - } - else - { - return p1; - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -int planeHexIntersectionMC(const cvf::Plane& plane, - const cvf::Vec3d cell[8], - const size_t hexCornersIds[8], - std::vector* triangleVxes, - std::vector* isTriEdgeCellContour) -{ - -// Based on description and implementation from Paul Bourke: -// http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/ - - static const uint cubeIdxToCutEdgeBitfield[256] = - { - 0x0, 0x109, 0x203, 0x30a, 0x406, 0x50f, 0x605, 0x70c, - 0x80c, 0x905, 0xa0f, 0xb06, 0xc0a, 0xd03, 0xe09, 0xf00, - 0x190, 0x99, 0x393, 0x29a, 0x596, 0x49f, 0x795, 0x69c, - 0x99c, 0x895, 0xb9f, 0xa96, 0xd9a, 0xc93, 0xf99, 0xe90, - 0x230, 0x339, 0x33, 0x13a, 0x636, 0x73f, 0x435, 0x53c, - 0xa3c, 0xb35, 0x83f, 0x936, 0xe3a, 0xf33, 0xc39, 0xd30, - 0x3a0, 0x2a9, 0x1a3, 0xaa, 0x7a6, 0x6af, 0x5a5, 0x4ac, - 0xbac, 0xaa5, 0x9af, 0x8a6, 0xfaa, 0xea3, 0xda9, 0xca0, - 0x460, 0x569, 0x663, 0x76a, 0x66, 0x16f, 0x265, 0x36c, - 0xc6c, 0xd65, 0xe6f, 0xf66, 0x86a, 0x963, 0xa69, 0xb60, - 0x5f0, 0x4f9, 0x7f3, 0x6fa, 0x1f6, 0xff, 0x3f5, 0x2fc, - 0xdfc, 0xcf5, 0xfff, 0xef6, 0x9fa, 0x8f3, 0xbf9, 0xaf0, - 0x650, 0x759, 0x453, 0x55a, 0x256, 0x35f, 0x55, 0x15c, - 0xe5c, 0xf55, 0xc5f, 0xd56, 0xa5a, 0xb53, 0x859, 0x950, - 0x7c0, 0x6c9, 0x5c3, 0x4ca, 0x3c6, 0x2cf, 0x1c5, 0xcc, - 0xfcc, 0xec5, 0xdcf, 0xcc6, 0xbca, 0xac3, 0x9c9, 0x8c0, - 0x8c0, 0x9c9, 0xac3, 0xbca, 0xcc6, 0xdcf, 0xec5, 0xfcc, - 0xcc, 0x1c5, 0x2cf, 0x3c6, 0x4ca, 0x5c3, 0x6c9, 0x7c0, - 0x950, 0x859, 0xb53, 0xa5a, 0xd56, 0xc5f, 0xf55, 0xe5c, - 0x15c, 0x55, 0x35f, 0x256, 0x55a, 0x453, 0x759, 0x650, - 0xaf0, 0xbf9, 0x8f3, 0x9fa, 0xef6, 0xfff, 0xcf5, 0xdfc, - 0x2fc, 0x3f5, 0xff, 0x1f6, 0x6fa, 0x7f3, 0x4f9, 0x5f0, - 0xb60, 0xa69, 0x963, 0x86a, 0xf66, 0xe6f, 0xd65, 0xc6c, - 0x36c, 0x265, 0x16f, 0x66, 0x76a, 0x663, 0x569, 0x460, - 0xca0, 0xda9, 0xea3, 0xfaa, 0x8a6, 0x9af, 0xaa5, 0xbac, - 0x4ac, 0x5a5, 0x6af, 0x7a6, 0xaa, 0x1a3, 0x2a9, 0x3a0, - 0xd30, 0xc39, 0xf33, 0xe3a, 0x936, 0x83f, 0xb35, 0xa3c, - 0x53c, 0x435, 0x73f, 0x636, 0x13a, 0x33, 0x339, 0x230, - 0xe90, 0xf99, 0xc93, 0xd9a, 0xa96, 0xb9f, 0x895, 0x99c, - 0x69c, 0x795, 0x49f, 0x596, 0x29a, 0x393, 0x99, 0x190, - 0xf00, 0xe09, 0xd03, 0xc0a, 0xb06, 0xa0f, 0x905, 0x80c, - 0x70c, 0x605, 0x50f, 0x406, 0x30a, 0x203, 0x109, 0x0 - }; - - static const int cubeIdxToTriangleIndices[256][16] = - { - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 8, 3, 9, 8, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 8, 3, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 2, 10, 0, 2, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 2, 8, 3, 2, 10, 8, 10, 9, 8, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 11, 2, 8, 11, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 9, 0, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 11, 2, 1, 9, 11, 9, 8, 11, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 10, 1, 11, 10, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 10, 1, 0, 8, 10, 8, 11, 10, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 9, 0, 3, 11, 9, 11, 10, 9, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 4, 3, 0, 7, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 1, 9, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 4, 1, 9, 4, 7, 1, 7, 3, 1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 2, 10, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 4, 7, 3, 0, 4, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 2, 10, 9, 0, 2, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1 }, - { 2, 10, 9, 2, 9, 7, 2, 7, 3, 7, 9, 4, -1, -1, -1, -1 }, - { 8, 4, 7, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 11, 4, 7, 11, 2, 4, 2, 0, 4, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 0, 1, 8, 4, 7, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1 }, - { 4, 7, 11, 9, 4, 11, 9, 11, 2, 9, 2, 1, -1, -1, -1, -1 }, - { 3, 10, 1, 3, 11, 10, 7, 8, 4, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 11, 10, 1, 4, 11, 1, 0, 4, 7, 11, 4, -1, -1, -1, -1 }, - { 4, 7, 8, 9, 0, 11, 9, 11, 10, 11, 0, 3, -1, -1, -1, -1 }, - { 4, 7, 11, 4, 11, 9, 9, 11, 10, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 5, 4, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 5, 4, 1, 5, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 8, 5, 4, 8, 3, 5, 3, 1, 5, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 2, 10, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 0, 8, 1, 2, 10, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1 }, - { 5, 2, 10, 5, 4, 2, 4, 0, 2, -1, -1, -1, -1, -1, -1, -1 }, - { 2, 10, 5, 3, 2, 5, 3, 5, 4, 3, 4, 8, -1, -1, -1, -1 }, - { 9, 5, 4, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 11, 2, 0, 8, 11, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 5, 4, 0, 1, 5, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1 }, - { 2, 1, 5, 2, 5, 8, 2, 8, 11, 4, 8, 5, -1, -1, -1, -1 }, - { 10, 3, 11, 10, 1, 3, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1 }, - { 4, 9, 5, 0, 8, 1, 8, 10, 1, 8, 11, 10, -1, -1, -1, -1 }, - { 5, 4, 0, 5, 0, 11, 5, 11, 10, 11, 0, 3, -1, -1, -1, -1 }, - { 5, 4, 8, 5, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 7, 8, 5, 7, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 3, 0, 9, 5, 3, 5, 7, 3, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 7, 8, 0, 1, 7, 1, 5, 7, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 7, 8, 9, 5, 7, 10, 1, 2, -1, -1, -1, -1, -1, -1, -1 }, - { 10, 1, 2, 9, 5, 0, 5, 3, 0, 5, 7, 3, -1, -1, -1, -1 }, - { 8, 0, 2, 8, 2, 5, 8, 5, 7, 10, 5, 2, -1, -1, -1, -1 }, - { 2, 10, 5, 2, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1 }, - { 7, 9, 5, 7, 8, 9, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 5, 7, 9, 7, 2, 9, 2, 0, 2, 7, 11, -1, -1, -1, -1 }, - { 2, 3, 11, 0, 1, 8, 1, 7, 8, 1, 5, 7, -1, -1, -1, -1 }, - { 11, 2, 1, 11, 1, 7, 7, 1, 5, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 5, 8, 8, 5, 7, 10, 1, 3, 10, 3, 11, -1, -1, -1, -1 }, - { 5, 7, 0, 5, 0, 9, 7, 11, 0, 1, 0, 10, 11, 10, 0, -1 }, - { 11, 10, 0, 11, 0, 3, 10, 5, 0, 8, 0, 7, 5, 7, 0, -1 }, - { 11, 10, 5, 7, 11, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 8, 3, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 0, 1, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 8, 3, 1, 9, 8, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 6, 5, 2, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 6, 5, 1, 2, 6, 3, 0, 8, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 6, 5, 9, 0, 6, 0, 2, 6, -1, -1, -1, -1, -1, -1, -1 }, - { 5, 9, 8, 5, 8, 2, 5, 2, 6, 3, 2, 8, -1, -1, -1, -1 }, - { 2, 3, 11, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 11, 0, 8, 11, 2, 0, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 1, 9, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1 }, - { 5, 10, 6, 1, 9, 2, 9, 11, 2, 9, 8, 11, -1, -1, -1, -1 }, - { 6, 3, 11, 6, 5, 3, 5, 1, 3, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 8, 11, 0, 11, 5, 0, 5, 1, 5, 11, 6, -1, -1, -1, -1 }, - { 3, 11, 6, 0, 3, 6, 0, 6, 5, 0, 5, 9, -1, -1, -1, -1 }, - { 6, 5, 9, 6, 9, 11, 11, 9, 8, -1, -1, -1, -1, -1, -1, -1 }, - { 5, 10, 6, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 4, 3, 0, 4, 7, 3, 6, 5, 10, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 9, 0, 5, 10, 6, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1 }, - { 10, 6, 5, 1, 9, 7, 1, 7, 3, 7, 9, 4, -1, -1, -1, -1 }, - { 6, 1, 2, 6, 5, 1, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 2, 5, 5, 2, 6, 3, 0, 4, 3, 4, 7, -1, -1, -1, -1 }, - { 8, 4, 7, 9, 0, 5, 0, 6, 5, 0, 2, 6, -1, -1, -1, -1 }, - { 7, 3, 9, 7, 9, 4, 3, 2, 9, 5, 9, 6, 2, 6, 9, -1 }, - { 3, 11, 2, 7, 8, 4, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1 }, - { 5, 10, 6, 4, 7, 2, 4, 2, 0, 2, 7, 11, -1, -1, -1, -1 }, - { 0, 1, 9, 4, 7, 8, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1 }, - { 9, 2, 1, 9, 11, 2, 9, 4, 11, 7, 11, 4, 5, 10, 6, -1 }, - { 8, 4, 7, 3, 11, 5, 3, 5, 1, 5, 11, 6, -1, -1, -1, -1 }, - { 5, 1, 11, 5, 11, 6, 1, 0, 11, 7, 11, 4, 0, 4, 11, -1 }, - { 0, 5, 9, 0, 6, 5, 0, 3, 6, 11, 6, 3, 8, 4, 7, -1 }, - { 6, 5, 9, 6, 9, 11, 4, 7, 9, 7, 11, 9, -1, -1, -1, -1 }, - { 10, 4, 9, 6, 4, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 4, 10, 6, 4, 9, 10, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1 }, - { 10, 0, 1, 10, 6, 0, 6, 4, 0, -1, -1, -1, -1, -1, -1, -1 }, - { 8, 3, 1, 8, 1, 6, 8, 6, 4, 6, 1, 10, -1, -1, -1, -1 }, - { 1, 4, 9, 1, 2, 4, 2, 6, 4, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 0, 8, 1, 2, 9, 2, 4, 9, 2, 6, 4, -1, -1, -1, -1 }, - { 0, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 8, 3, 2, 8, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1 }, - { 10, 4, 9, 10, 6, 4, 11, 2, 3, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 8, 2, 2, 8, 11, 4, 9, 10, 4, 10, 6, -1, -1, -1, -1 }, - { 3, 11, 2, 0, 1, 6, 0, 6, 4, 6, 1, 10, -1, -1, -1, -1 }, - { 6, 4, 1, 6, 1, 10, 4, 8, 1, 2, 1, 11, 8, 11, 1, -1 }, - { 9, 6, 4, 9, 3, 6, 9, 1, 3, 11, 6, 3, -1, -1, -1, -1 }, - { 8, 11, 1, 8, 1, 0, 11, 6, 1, 9, 1, 4, 6, 4, 1, -1 }, - { 3, 11, 6, 3, 6, 0, 0, 6, 4, -1, -1, -1, -1, -1, -1, -1 }, - { 6, 4, 8, 11, 6, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 7, 10, 6, 7, 8, 10, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 7, 3, 0, 10, 7, 0, 9, 10, 6, 7, 10, -1, -1, -1, -1 }, - { 10, 6, 7, 1, 10, 7, 1, 7, 8, 1, 8, 0, -1, -1, -1, -1 }, - { 10, 6, 7, 10, 7, 1, 1, 7, 3, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 2, 6, 1, 6, 8, 1, 8, 9, 8, 6, 7, -1, -1, -1, -1 }, - { 2, 6, 9, 2, 9, 1, 6, 7, 9, 0, 9, 3, 7, 3, 9, -1 }, - { 7, 8, 0, 7, 0, 6, 6, 0, 2, -1, -1, -1, -1, -1, -1, -1 }, - { 7, 3, 2, 6, 7, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 2, 3, 11, 10, 6, 8, 10, 8, 9, 8, 6, 7, -1, -1, -1, -1 }, - { 2, 0, 7, 2, 7, 11, 0, 9, 7, 6, 7, 10, 9, 10, 7, -1 }, - { 1, 8, 0, 1, 7, 8, 1, 10, 7, 6, 7, 10, 2, 3, 11, -1 }, - { 11, 2, 1, 11, 1, 7, 10, 6, 1, 6, 7, 1, -1, -1, -1, -1 }, - { 8, 9, 6, 8, 6, 7, 9, 1, 6, 11, 6, 3, 1, 3, 6, -1 }, - { 0, 9, 1, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 7, 8, 0, 7, 0, 6, 3, 11, 0, 11, 6, 0, -1, -1, -1, -1 }, - { 7, 11, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 0, 8, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 1, 9, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 8, 1, 9, 8, 3, 1, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1 }, - { 10, 1, 2, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 2, 10, 3, 0, 8, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1 }, - { 2, 9, 0, 2, 10, 9, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1 }, - { 6, 11, 7, 2, 10, 3, 10, 8, 3, 10, 9, 8, -1, -1, -1, -1 }, - { 7, 2, 3, 6, 2, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 7, 0, 8, 7, 6, 0, 6, 2, 0, -1, -1, -1, -1, -1, -1, -1 }, - { 2, 7, 6, 2, 3, 7, 0, 1, 9, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 6, 2, 1, 8, 6, 1, 9, 8, 8, 7, 6, -1, -1, -1, -1 }, - { 10, 7, 6, 10, 1, 7, 1, 3, 7, -1, -1, -1, -1, -1, -1, -1 }, - { 10, 7, 6, 1, 7, 10, 1, 8, 7, 1, 0, 8, -1, -1, -1, -1 }, - { 0, 3, 7, 0, 7, 10, 0, 10, 9, 6, 10, 7, -1, -1, -1, -1 }, - { 7, 6, 10, 7, 10, 8, 8, 10, 9, -1, -1, -1, -1, -1, -1, -1 }, - { 6, 8, 4, 11, 8, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 6, 11, 3, 0, 6, 0, 4, 6, -1, -1, -1, -1, -1, -1, -1 }, - { 8, 6, 11, 8, 4, 6, 9, 0, 1, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 4, 6, 9, 6, 3, 9, 3, 1, 11, 3, 6, -1, -1, -1, -1 }, - { 6, 8, 4, 6, 11, 8, 2, 10, 1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 2, 10, 3, 0, 11, 0, 6, 11, 0, 4, 6, -1, -1, -1, -1 }, - { 4, 11, 8, 4, 6, 11, 0, 2, 9, 2, 10, 9, -1, -1, -1, -1 }, - { 10, 9, 3, 10, 3, 2, 9, 4, 3, 11, 3, 6, 4, 6, 3, -1 }, - { 8, 2, 3, 8, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 9, 0, 2, 3, 4, 2, 4, 6, 4, 3, 8, -1, -1, -1, -1 }, - { 1, 9, 4, 1, 4, 2, 2, 4, 6, -1, -1, -1, -1, -1, -1, -1 }, - { 8, 1, 3, 8, 6, 1, 8, 4, 6, 6, 10, 1, -1, -1, -1, -1 }, - { 10, 1, 0, 10, 0, 6, 6, 0, 4, -1, -1, -1, -1, -1, -1, -1 }, - { 4, 6, 3, 4, 3, 8, 6, 10, 3, 0, 3, 9, 10, 9, 3, -1 }, - { 10, 9, 4, 6, 10, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 4, 9, 5, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 8, 3, 4, 9, 5, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1 }, - { 5, 0, 1, 5, 4, 0, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1 }, - { 11, 7, 6, 8, 3, 4, 3, 5, 4, 3, 1, 5, -1, -1, -1, -1 }, - { 9, 5, 4, 10, 1, 2, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1 }, - { 6, 11, 7, 1, 2, 10, 0, 8, 3, 4, 9, 5, -1, -1, -1, -1 }, - { 7, 6, 11, 5, 4, 10, 4, 2, 10, 4, 0, 2, -1, -1, -1, -1 }, - { 3, 4, 8, 3, 5, 4, 3, 2, 5, 10, 5, 2, 11, 7, 6, -1 }, - { 7, 2, 3, 7, 6, 2, 5, 4, 9, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 5, 4, 0, 8, 6, 0, 6, 2, 6, 8, 7, -1, -1, -1, -1 }, - { 3, 6, 2, 3, 7, 6, 1, 5, 0, 5, 4, 0, -1, -1, -1, -1 }, - { 6, 2, 8, 6, 8, 7, 2, 1, 8, 4, 8, 5, 1, 5, 8, -1 }, - { 9, 5, 4, 10, 1, 6, 1, 7, 6, 1, 3, 7, -1, -1, -1, -1 }, - { 1, 6, 10, 1, 7, 6, 1, 0, 7, 8, 7, 0, 9, 5, 4, -1 }, - { 4, 0, 10, 4, 10, 5, 0, 3, 10, 6, 10, 7, 3, 7, 10, -1 }, - { 7, 6, 10, 7, 10, 8, 5, 4, 10, 4, 8, 10, -1, -1, -1, -1 }, - { 6, 9, 5, 6, 11, 9, 11, 8, 9, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 6, 11, 0, 6, 3, 0, 5, 6, 0, 9, 5, -1, -1, -1, -1 }, - { 0, 11, 8, 0, 5, 11, 0, 1, 5, 5, 6, 11, -1, -1, -1, -1 }, - { 6, 11, 3, 6, 3, 5, 5, 3, 1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 2, 10, 9, 5, 11, 9, 11, 8, 11, 5, 6, -1, -1, -1, -1 }, - { 0, 11, 3, 0, 6, 11, 0, 9, 6, 5, 6, 9, 1, 2, 10, -1 }, - { 11, 8, 5, 11, 5, 6, 8, 0, 5, 10, 5, 2, 0, 2, 5, -1 }, - { 6, 11, 3, 6, 3, 5, 2, 10, 3, 10, 5, 3, -1, -1, -1, -1 }, - { 5, 8, 9, 5, 2, 8, 5, 6, 2, 3, 8, 2, -1, -1, -1, -1 }, - { 9, 5, 6, 9, 6, 0, 0, 6, 2, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 5, 8, 1, 8, 0, 5, 6, 8, 3, 8, 2, 6, 2, 8, -1 }, - { 1, 5, 6, 2, 1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 3, 6, 1, 6, 10, 3, 8, 6, 5, 6, 9, 8, 9, 6, -1 }, - { 10, 1, 0, 10, 0, 6, 9, 5, 0, 5, 6, 0, -1, -1, -1, -1 }, - { 0, 3, 8, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 10, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 11, 5, 10, 7, 5, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 11, 5, 10, 11, 7, 5, 8, 3, 0, -1, -1, -1, -1, -1, -1, -1 }, - { 5, 11, 7, 5, 10, 11, 1, 9, 0, -1, -1, -1, -1, -1, -1, -1 }, - { 10, 7, 5, 10, 11, 7, 9, 8, 1, 8, 3, 1, -1, -1, -1, -1 }, - { 11, 1, 2, 11, 7, 1, 7, 5, 1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 8, 3, 1, 2, 7, 1, 7, 5, 7, 2, 11, -1, -1, -1, -1 }, - { 9, 7, 5, 9, 2, 7, 9, 0, 2, 2, 11, 7, -1, -1, -1, -1 }, - { 7, 5, 2, 7, 2, 11, 5, 9, 2, 3, 2, 8, 9, 8, 2, -1 }, - { 2, 5, 10, 2, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1 }, - { 8, 2, 0, 8, 5, 2, 8, 7, 5, 10, 2, 5, -1, -1, -1, -1 }, - { 9, 0, 1, 5, 10, 3, 5, 3, 7, 3, 10, 2, -1, -1, -1, -1 }, - { 9, 8, 2, 9, 2, 1, 8, 7, 2, 10, 2, 5, 7, 5, 2, -1 }, - { 1, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 8, 7, 0, 7, 1, 1, 7, 5, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 0, 3, 9, 3, 5, 5, 3, 7, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 8, 7, 5, 9, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 5, 8, 4, 5, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1 }, - { 5, 0, 4, 5, 11, 0, 5, 10, 11, 11, 3, 0, -1, -1, -1, -1 }, - { 0, 1, 9, 8, 4, 10, 8, 10, 11, 10, 4, 5, -1, -1, -1, -1 }, - { 10, 11, 4, 10, 4, 5, 11, 3, 4, 9, 4, 1, 3, 1, 4, -1 }, - { 2, 5, 1, 2, 8, 5, 2, 11, 8, 4, 5, 8, -1, -1, -1, -1 }, - { 0, 4, 11, 0, 11, 3, 4, 5, 11, 2, 11, 1, 5, 1, 11, -1 }, - { 0, 2, 5, 0, 5, 9, 2, 11, 5, 4, 5, 8, 11, 8, 5, -1 }, - { 9, 4, 5, 2, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 2, 5, 10, 3, 5, 2, 3, 4, 5, 3, 8, 4, -1, -1, -1, -1 }, - { 5, 10, 2, 5, 2, 4, 4, 2, 0, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 10, 2, 3, 5, 10, 3, 8, 5, 4, 5, 8, 0, 1, 9, -1 }, - { 5, 10, 2, 5, 2, 4, 1, 9, 2, 9, 4, 2, -1, -1, -1, -1 }, - { 8, 4, 5, 8, 5, 3, 3, 5, 1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 4, 5, 1, 0, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 8, 4, 5, 8, 5, 3, 9, 0, 5, 0, 3, 5, -1, -1, -1, -1 }, - { 9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 4, 11, 7, 4, 9, 11, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 8, 3, 4, 9, 7, 9, 11, 7, 9, 10, 11, -1, -1, -1, -1 }, - { 1, 10, 11, 1, 11, 4, 1, 4, 0, 7, 4, 11, -1, -1, -1, -1 }, - { 3, 1, 4, 3, 4, 8, 1, 10, 4, 7, 4, 11, 10, 11, 4, -1 }, - { 4, 11, 7, 9, 11, 4, 9, 2, 11, 9, 1, 2, -1, -1, -1, -1 }, - { 9, 7, 4, 9, 11, 7, 9, 1, 11, 2, 11, 1, 0, 8, 3, -1 }, - { 11, 7, 4, 11, 4, 2, 2, 4, 0, -1, -1, -1, -1, -1, -1, -1 }, - { 11, 7, 4, 11, 4, 2, 8, 3, 4, 3, 2, 4, -1, -1, -1, -1 }, - { 2, 9, 10, 2, 7, 9, 2, 3, 7, 7, 4, 9, -1, -1, -1, -1 }, - { 9, 10, 7, 9, 7, 4, 10, 2, 7, 8, 7, 0, 2, 0, 7, -1 }, - { 3, 7, 10, 3, 10, 2, 7, 4, 10, 1, 10, 0, 4, 0, 10, -1 }, - { 1, 10, 2, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 4, 9, 1, 4, 1, 7, 7, 1, 3, -1, -1, -1, -1, -1, -1, -1 }, - { 4, 9, 1, 4, 1, 7, 0, 8, 1, 8, 7, 1, -1, -1, -1, -1 }, - { 4, 0, 3, 7, 4, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 4, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 0, 9, 3, 9, 11, 11, 9, 10, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 1, 10, 0, 10, 8, 8, 10, 11, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 1, 10, 11, 3, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 2, 11, 1, 11, 9, 9, 11, 8, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 0, 9, 3, 9, 11, 1, 2, 9, 2, 11, 9, -1, -1, -1, -1 }, - { 0, 2, 11, 8, 0, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 3, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 2, 3, 8, 2, 8, 10, 10, 8, 9, -1, -1, -1, -1, -1, -1, -1 }, - { 9, 10, 2, 0, 9, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 2, 3, 8, 2, 8, 10, 0, 1, 8, 1, 10, 8, -1, -1, -1, -1 }, - { 1, 10, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 1, 3, 8, 9, 1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 9, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 0, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 } - }; - - static const int edgeTable[12][2] = - { - {0, 1}, - {1, 2}, - {2, 3}, - {3, 0}, - {4, 5}, - {5, 6}, - {6, 7}, - {7, 4}, - {0, 4}, - {1, 5}, - {2, 6}, - {3, 7} - }; - - int cubeIndex = 0; - if (plane.distanceSquared(cell[0]) < 0) cubeIndex |= 1; - if (plane.distanceSquared(cell[1]) < 0) cubeIndex |= 2; - if (plane.distanceSquared(cell[2]) < 0) cubeIndex |= 4; - if (plane.distanceSquared(cell[3]) < 0) cubeIndex |= 8; - if (plane.distanceSquared(cell[4]) < 0) cubeIndex |= 16; - if (plane.distanceSquared(cell[5]) < 0) cubeIndex |= 32; - if (plane.distanceSquared(cell[6]) < 0) cubeIndex |= 64; - if (plane.distanceSquared(cell[7]) < 0) cubeIndex |= 128; - - if (cubeIdxToCutEdgeBitfield[cubeIndex] == 0) - { - return 0; - } - - cvf::Vec3d edgeIntersections[12]; - double normDistAlongEdge[12]; - - - // Compute vertex coordinates on the edges where we have intersections - if (cubeIdxToCutEdgeBitfield[cubeIndex] & 1) edgeIntersections[0] = planeLineIntersectionForMC(plane, cell[0], cell[1], &normDistAlongEdge[0] ); - if (cubeIdxToCutEdgeBitfield[cubeIndex] & 2) edgeIntersections[1] = planeLineIntersectionForMC(plane, cell[1], cell[2], &normDistAlongEdge[1] ); - if (cubeIdxToCutEdgeBitfield[cubeIndex] & 4) edgeIntersections[2] = planeLineIntersectionForMC(plane, cell[2], cell[3], &normDistAlongEdge[2] ); - if (cubeIdxToCutEdgeBitfield[cubeIndex] & 8) edgeIntersections[3] = planeLineIntersectionForMC(plane, cell[3], cell[0], &normDistAlongEdge[3] ); - if (cubeIdxToCutEdgeBitfield[cubeIndex] & 16) edgeIntersections[4] = planeLineIntersectionForMC(plane, cell[4], cell[5], &normDistAlongEdge[4] ); - if (cubeIdxToCutEdgeBitfield[cubeIndex] & 32) edgeIntersections[5] = planeLineIntersectionForMC(plane, cell[5], cell[6], &normDistAlongEdge[5] ); - if (cubeIdxToCutEdgeBitfield[cubeIndex] & 64) edgeIntersections[6] = planeLineIntersectionForMC(plane, cell[6], cell[7], &normDistAlongEdge[6] ); - if (cubeIdxToCutEdgeBitfield[cubeIndex] & 128) edgeIntersections[7] = planeLineIntersectionForMC(plane, cell[7], cell[4], &normDistAlongEdge[7] ); - if (cubeIdxToCutEdgeBitfield[cubeIndex] & 256) edgeIntersections[8] = planeLineIntersectionForMC(plane, cell[0], cell[4], &normDistAlongEdge[8] ); - if (cubeIdxToCutEdgeBitfield[cubeIndex] & 512) edgeIntersections[9] = planeLineIntersectionForMC(plane, cell[1], cell[5], &normDistAlongEdge[9] ); - if (cubeIdxToCutEdgeBitfield[cubeIndex] & 1024) edgeIntersections[10] = planeLineIntersectionForMC(plane, cell[2], cell[6], &normDistAlongEdge[10]); - if (cubeIdxToCutEdgeBitfield[cubeIndex] & 2048) edgeIntersections[11] = planeLineIntersectionForMC(plane, cell[3], cell[7], &normDistAlongEdge[11]); - - - // Create the triangles - - const int* triangleIndicesToCubeEdges = cubeIdxToTriangleIndices[cubeIndex]; - uint triangleVxIdx = 0; - int cubeEdgeIdx = triangleIndicesToCubeEdges[triangleVxIdx]; - - - while (cubeEdgeIdx != -1) - { - ClipVx cvx; - cvx.vx = edgeIntersections[cubeEdgeIdx]; - cvx.normDistFromEdgeVx1 = normDistAlongEdge[cubeEdgeIdx]; - cvx.clippedEdgeVx1Id = hexCornersIds[edgeTable[cubeEdgeIdx][0]]; - cvx.clippedEdgeVx2Id = hexCornersIds[edgeTable[cubeEdgeIdx][1]]; - - (*triangleVxes).push_back(cvx); - ++triangleVxIdx; - cubeEdgeIdx = triangleIndicesToCubeEdges[triangleVxIdx]; - } - - uint triangleCount = triangleVxIdx/3; - - int triangleEdgeCount[12][12] ={ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } - }; - - (*isTriEdgeCellContour).clear(); - (*isTriEdgeCellContour).resize(triangleVxIdx, false); - - for (uint tIdx = 0; tIdx < triangleCount; ++tIdx) - { - uint triVxIdx = 3*tIdx; - int cubeEdgeIdx1 = triangleIndicesToCubeEdges[triVxIdx]; - int cubeEdgeIdx2 = triangleIndicesToCubeEdges[triVxIdx + 1]; - int cubeEdgeIdx3 = triangleIndicesToCubeEdges[triVxIdx + 2 ]; - - cubeEdgeIdx1 < cubeEdgeIdx2 ? ++triangleEdgeCount[cubeEdgeIdx1][cubeEdgeIdx2]: ++triangleEdgeCount[cubeEdgeIdx2][cubeEdgeIdx1]; - cubeEdgeIdx2 < cubeEdgeIdx3 ? ++triangleEdgeCount[cubeEdgeIdx2][cubeEdgeIdx3]: ++triangleEdgeCount[cubeEdgeIdx3][cubeEdgeIdx2]; - cubeEdgeIdx3 < cubeEdgeIdx1 ? ++triangleEdgeCount[cubeEdgeIdx3][cubeEdgeIdx1]: ++triangleEdgeCount[cubeEdgeIdx1][cubeEdgeIdx3]; - } - - for (uint tIdx = 0; tIdx < triangleCount; ++tIdx) - { - uint triVxIdx = 3*tIdx; - - int cubeEdgeIdx1 = triangleIndicesToCubeEdges[triVxIdx]; - int cubeEdgeIdx2 = triangleIndicesToCubeEdges[triVxIdx + 1]; - int cubeEdgeIdx3 = triangleIndicesToCubeEdges[triVxIdx + 2 ]; - - (*isTriEdgeCellContour)[triVxIdx+0] = (1 == (cubeEdgeIdx1 < cubeEdgeIdx2 ? triangleEdgeCount[cubeEdgeIdx1][cubeEdgeIdx2]: triangleEdgeCount[cubeEdgeIdx2][cubeEdgeIdx1])); - (*isTriEdgeCellContour)[triVxIdx+1] = (1 == (cubeEdgeIdx2 < cubeEdgeIdx3 ? triangleEdgeCount[cubeEdgeIdx2][cubeEdgeIdx3]: triangleEdgeCount[cubeEdgeIdx3][cubeEdgeIdx2])); - (*isTriEdgeCellContour)[triVxIdx+2] = (1 == (cubeEdgeIdx3 < cubeEdgeIdx1 ? triangleEdgeCount[cubeEdgeIdx3][cubeEdgeIdx1]: triangleEdgeCount[cubeEdgeIdx1][cubeEdgeIdx3])); - } - - return triangleCount; -} - - -void RivCrossSectionGeometryGenerator::calculateArrays() -{ - if (m_triangleVxes->size()) return; - - m_extrusionDirection.normalize(); - std::vector triangleVertices; - std::vector cellBorderLineVxes; - cvf::Vec3d displayOffset = m_hexGrid->displayOffset(); - cvf::BoundingBox gridBBox = m_hexGrid->boundingBox(); - - for (size_t pLineIdx = 0; pLineIdx < m_polyLines.size(); ++pLineIdx) - { - const std::vector& m_polyLine = m_polyLines[pLineIdx]; - - if (m_polyLine.size() < 2) continue; - - std::vector m_adjustedPolyline; - adjustPolyline(m_polyLine, m_extrusionDirection, &m_adjustedPolyline); - - size_t lineCount = m_adjustedPolyline.size(); - for (size_t lIdx = 0; lIdx < lineCount - 1; ++lIdx) - { - cvf::Vec3d p1 = m_adjustedPolyline[lIdx]; - cvf::Vec3d p2 = m_adjustedPolyline[lIdx+1]; - - cvf::BoundingBox sectionBBox; - sectionBBox.add(p1); - sectionBBox.add(p2); - double maxSectionHeight = gridBBox.radius(); - sectionBBox.add(p1 + m_extrusionDirection*maxSectionHeight); - sectionBBox.add(p1 - m_extrusionDirection*maxSectionHeight); - sectionBBox.add(p2 + m_extrusionDirection*maxSectionHeight); - sectionBBox.add(p2 - m_extrusionDirection*maxSectionHeight); - - std::vector columnCellCandidates; - m_hexGrid->findIntersectingCells(sectionBBox, &columnCellCandidates); - - cvf::Plane plane; - plane.setFromPoints(p1, p2, p2 + m_extrusionDirection*maxSectionHeight); - - cvf::Plane p1Plane; - p1Plane.setFromPoints(p1, p1 + m_extrusionDirection*maxSectionHeight, p1 + plane.normal()); - cvf::Plane p2Plane; - p2Plane.setFromPoints(p2, p2 + m_extrusionDirection*maxSectionHeight, p2 - plane.normal()); - - - std::vector hexPlaneCutTriangleVxes; - hexPlaneCutTriangleVxes.reserve(5*3); - std::vector isTriangleEdgeCellContour; - isTriangleEdgeCellContour.reserve(5*3); - cvf::Vec3d cellCorners[8]; - size_t cornerIndices[8]; - - for (size_t cccIdx = 0; cccIdx < columnCellCandidates.size(); ++cccIdx) - { - size_t globalCellIdx = columnCellCandidates[cccIdx]; - - if (!m_hexGrid->useCell(globalCellIdx)) continue; - - hexPlaneCutTriangleVxes.clear(); - m_hexGrid->cellCornerVertices(globalCellIdx, cellCorners); - m_hexGrid->cellCornerIndices(globalCellIdx, cornerIndices); - - planeHexIntersectionMC(plane, - cellCorners, - cornerIndices, - &hexPlaneCutTriangleVxes, - &isTriangleEdgeCellContour); - - std::vector clippedTriangleVxes; - std::vector isClippedTriEdgeCellContour; - - clipTrianglesBetweenTwoParallelPlanes(hexPlaneCutTriangleVxes, isTriangleEdgeCellContour, p1Plane, p2Plane, - &clippedTriangleVxes, &isClippedTriEdgeCellContour); - - size_t clippedTriangleCount = clippedTriangleVxes.size()/3; - - for (uint tIdx = 0; tIdx < clippedTriangleCount; ++tIdx) - { - uint triVxIdx = tIdx*3; - - // Accumulate triangle vertices - - cvf::Vec3f p0(clippedTriangleVxes[triVxIdx+0].vx - displayOffset); - cvf::Vec3f p1(clippedTriangleVxes[triVxIdx+1].vx - displayOffset); - cvf::Vec3f p2(clippedTriangleVxes[triVxIdx+2].vx - displayOffset); - - triangleVertices.push_back(p0); - triangleVertices.push_back(p1); - triangleVertices.push_back(p2); - - - // Accumulate mesh lines - - if (isClippedTriEdgeCellContour[triVxIdx]) - { - cellBorderLineVxes.push_back(p0); - cellBorderLineVxes.push_back(p1); - } - if (isClippedTriEdgeCellContour[triVxIdx+1]) - { - cellBorderLineVxes.push_back(p1); - cellBorderLineVxes.push_back(p2); - } - if (isClippedTriEdgeCellContour[triVxIdx+2]) - { - cellBorderLineVxes.push_back(p2); - cellBorderLineVxes.push_back(p0); - } - - // Mapping to cell index - - m_triangleToCellIdxMap.push_back(globalCellIdx); - - // Interpolation from nodes - for (int i = 0; i < 3; ++i) - { - ClipVx cvx = clippedTriangleVxes[triVxIdx+i]; - if (cvx.isVxIdsNative) - { - m_triVxToCellCornerWeights.push_back( - RivVertexWeights(cvx.clippedEdgeVx1Id, cvx.clippedEdgeVx2Id, cvx.normDistFromEdgeVx1)); - } - else - { - ClipVx cvx1 = hexPlaneCutTriangleVxes[cvx.clippedEdgeVx1Id]; - ClipVx cvx2 = hexPlaneCutTriangleVxes[cvx.clippedEdgeVx2Id]; - - m_triVxToCellCornerWeights.push_back( - RivVertexWeights(cvx1.clippedEdgeVx1Id, cvx1.clippedEdgeVx2Id, cvx1.normDistFromEdgeVx1, - cvx2.clippedEdgeVx1Id, cvx2.clippedEdgeVx2Id, cvx2.normDistFromEdgeVx1, - cvx.normDistFromEdgeVx1)); - - } - } - } - } - } - } - m_triangleVxes->assign(triangleVertices); - m_cellBorderLineVxes->assign(cellBorderLineVxes); -} - - -//-------------------------------------------------------------------------------------------------- -/// Generate surface drawable geo from the specified region -/// -//-------------------------------------------------------------------------------------------------- -cvf::ref RivCrossSectionGeometryGenerator::generateSurface() -{ - calculateArrays(); - - CVF_ASSERT(m_triangleVxes.notNull()); - - if (m_triangleVxes->size() == 0) return NULL; - - cvf::ref geo = new cvf::DrawableGeo; - geo->setFromTriangleVertexArray(m_triangleVxes.p()); - - return geo; -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -cvf::ref RivCrossSectionGeometryGenerator::createMeshDrawable() -{ - if (!(m_cellBorderLineVxes.notNull() && m_cellBorderLineVxes->size() != 0)) return NULL; - - cvf::ref geo = new cvf::DrawableGeo; - geo->setVertexArray(m_cellBorderLineVxes.p()); - - - cvf::ref prim = new cvf::PrimitiveSetDirect(cvf::PT_LINES); - prim->setIndexCount(m_cellBorderLineVxes->size()); - - geo->addPrimitiveSet(prim.p()); - return geo; -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -cvf::ref RivCrossSectionGeometryGenerator::createLineAlongPolylineDrawable() -{ - std::vector lineIndices; - std::vector vertices; - - cvf::Vec3d displayOffset = m_hexGrid->displayOffset(); - - for (size_t pLineIdx = 0; pLineIdx < m_polyLines.size(); ++pLineIdx) - { - const std::vector& m_polyLine = m_polyLines[pLineIdx]; - if (m_polyLine.size() < 2) continue; - - for (size_t i = 0; i < m_polyLine.size(); ++i) - { - vertices.push_back(cvf::Vec3f(m_polyLine[i] - displayOffset)); - if (i < m_polyLine.size() - 1) - { - lineIndices.push_back(static_cast(i)); - lineIndices.push_back(static_cast(i + 1)); - } - } - } - - if (vertices.size() == 0) return NULL; - - cvf::ref vx = new cvf::Vec3fArray; - vx->assign(vertices); - cvf::ref idxes = new cvf::UIntArray; - idxes->assign(lineIndices); - - cvf::ref prim = new cvf::PrimitiveSetIndexedUInt(cvf::PT_LINES); - prim->setIndices(idxes.p()); - - cvf::ref polylineGeo = new cvf::DrawableGeo; - polylineGeo->setVertexArray(vx.p()); - polylineGeo->addPrimitiveSet(prim.p()); - - return polylineGeo; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -cvf::ref RivCrossSectionGeometryGenerator::createPointsFromPolylineDrawable() -{ - std::vector vertices; - - cvf::Vec3d displayOffset = m_hexGrid->displayOffset(); - - for (size_t pLineIdx = 0; pLineIdx < m_polyLines.size(); ++pLineIdx) - { - const std::vector& m_polyLine = m_polyLines[pLineIdx]; - for (size_t i = 0; i < m_polyLine.size(); ++i) - { - vertices.push_back(cvf::Vec3f(m_polyLine[i] - displayOffset)); - } - } - - if (vertices.size() == 0) return NULL; - - cvf::ref primSet = new cvf::PrimitiveSetDirect(cvf::PT_POINTS); - primSet->setStartIndex(0); - primSet->setIndexCount(vertices.size()); - - cvf::ref geo = new cvf::DrawableGeo; - - cvf::ref vx = new cvf::Vec3fArray(vertices); - geo->setVertexArray(vx.p()); - geo->addPrimitiveSet(primSet.p()); - - return geo; -} - - -//-------------------------------------------------------------------------------------------------- -/// Remove the lines from the polyline that is nearly parallel to the extrusion direction -//-------------------------------------------------------------------------------------------------- -void RivCrossSectionGeometryGenerator::adjustPolyline(const std::vector& polyLine, - const cvf::Vec3d extrDir, - std::vector* adjustedPolyline) -{ - size_t lineCount = polyLine.size(); - if (!polyLine.size()) return; - - adjustedPolyline->push_back(polyLine[0]); - cvf::Vec3d p1 = polyLine[0]; - - for (size_t lIdx = 1; lIdx < lineCount; ++lIdx) - { - cvf::Vec3d p2 = polyLine[lIdx]; - cvf::Vec3d p1p2 = p2 - p1; - - if ((p1p2 - (p1p2 * extrDir)*extrDir).length() > 0.1 ) - { - adjustedPolyline->push_back(p2); - p1 = p2; - } - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -const std::vector& RivCrossSectionGeometryGenerator::triangleToCellIndex() const -{ - CVF_ASSERT(m_triangleVxes->size()); - return m_triangleToCellIdxMap; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -const std::vector& RivCrossSectionGeometryGenerator::triangleVxToCellCornerInterpolationWeights() const -{ - CVF_ASSERT(m_triangleVxes->size()); - return m_triVxToCellCornerWeights; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -const RimCrossSection* RivCrossSectionGeometryGenerator::crossSection() const -{ - return m_crossSection; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -bool RivCrossSectionGeometryGenerator::isAnyGeometryPresent() const -{ - if (m_triangleVxes->size() == 0) - { - return false; - } - else - { - return true; - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -#include "RigActiveCellInfo.h" - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RivEclipseCrossSectionGrid::RivEclipseCrossSectionGrid(const RigMainGrid * mainGrid, - const RigActiveCellInfo* activeCellInfo, - bool showInactiveCells) - : m_mainGrid(mainGrid), - m_activeCellInfo(activeCellInfo), - m_showInactiveCells(showInactiveCells) -{ - -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -cvf::Vec3d RivEclipseCrossSectionGrid::displayOffset() const -{ - return m_mainGrid->displayModelOffset(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -cvf::BoundingBox RivEclipseCrossSectionGrid::boundingBox() const -{ - return m_mainGrid->boundingBox(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivEclipseCrossSectionGrid::findIntersectingCells(const cvf::BoundingBox& intersectingBB, std::vector* intersectedCells) const -{ - m_mainGrid->findIntersectingCells(intersectingBB, intersectedCells); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -bool RivEclipseCrossSectionGrid::useCell(size_t cellIndex) const -{ - const RigCell& cell = m_mainGrid->globalCellArray()[cellIndex]; - if (m_showInactiveCells) - return !(cell.isInvalid() || (cell.subGrid() != NULL)); - else - return m_activeCellInfo->isActive(cellIndex) && (cell.subGrid() == NULL); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivEclipseCrossSectionGrid::cellCornerVertices(size_t cellIndex, cvf::Vec3d cellCorners[8]) const -{ - m_mainGrid->cellCornerVertices(cellIndex, cellCorners); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivEclipseCrossSectionGrid::cellCornerIndices(size_t cellIndex, size_t cornerIndices[8]) const -{ - const caf::SizeTArray8& cornerIndicesSource = m_mainGrid->globalCellArray()[cellIndex].cornerIndices(); - memcpy(cornerIndices, cornerIndicesSource.data(), 8); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -#include "RigFemPart.h" -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RivFemCrossSectionGrid::RivFemCrossSectionGrid(const RigFemPart * femPart): m_femPart(femPart) -{ - -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -cvf::Vec3d RivFemCrossSectionGrid::displayOffset() const -{ - return cvf::Vec3d::ZERO; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -cvf::BoundingBox RivFemCrossSectionGrid::boundingBox() const -{ - return m_femPart->boundingBox(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivFemCrossSectionGrid::findIntersectingCells(const cvf::BoundingBox& intersectingBB, std::vector* intersectedCells) const -{ - m_femPart->findIntersectingCells(intersectingBB, intersectedCells); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -bool RivFemCrossSectionGrid::useCell(size_t cellIndex) const -{ - RigElementType elmType = m_femPart->elementType(cellIndex); - - if (!(elmType == HEX8 || elmType == HEX8P)) return false; - - return true; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivFemCrossSectionGrid::cellCornerVertices(size_t cellIndex, cvf::Vec3d cellCorners[8]) const -{ - RigElementType elmType = m_femPart->elementType(cellIndex); - if (!(elmType == HEX8 || elmType == HEX8P)) return ; - - const std::vector& nodeCoords = m_femPart->nodes().coordinates; - const int* cornerIndices = m_femPart->connectivities(cellIndex); - - cellCorners[0] = cvf::Vec3d(nodeCoords[cornerIndices[0]]); - cellCorners[1] = cvf::Vec3d(nodeCoords[cornerIndices[1]]); - cellCorners[2] = cvf::Vec3d(nodeCoords[cornerIndices[2]]); - cellCorners[3] = cvf::Vec3d(nodeCoords[cornerIndices[3]]); - cellCorners[4] = cvf::Vec3d(nodeCoords[cornerIndices[4]]); - cellCorners[5] = cvf::Vec3d(nodeCoords[cornerIndices[5]]); - cellCorners[6] = cvf::Vec3d(nodeCoords[cornerIndices[6]]); - cellCorners[7] = cvf::Vec3d(nodeCoords[cornerIndices[7]]); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivFemCrossSectionGrid::cellCornerIndices(size_t cellIndex, size_t cornerIndices[8]) const -{ - RigElementType elmType = m_femPart->elementType(cellIndex); - if (!(elmType == HEX8 || elmType == HEX8P)) return ; - int elmIdx = static_cast(cellIndex); - cornerIndices[0] = m_femPart->elementNodeResultIdx(elmIdx, 0); - cornerIndices[1] = m_femPart->elementNodeResultIdx(elmIdx, 1); - cornerIndices[2] = m_femPart->elementNodeResultIdx(elmIdx, 2); - cornerIndices[3] = m_femPart->elementNodeResultIdx(elmIdx, 3); - cornerIndices[4] = m_femPart->elementNodeResultIdx(elmIdx, 4); - cornerIndices[5] = m_femPart->elementNodeResultIdx(elmIdx, 5); - cornerIndices[6] = m_femPart->elementNodeResultIdx(elmIdx, 6); - cornerIndices[7] = m_femPart->elementNodeResultIdx(elmIdx, 7); -} - diff --git a/ApplicationCode/ModelVisualization/RivCrossSectionGeometryGenerator.h b/ApplicationCode/ModelVisualization/RivCrossSectionGeometryGenerator.h deleted file mode 100644 index 58898eda4b..0000000000 --- a/ApplicationCode/ModelVisualization/RivCrossSectionGeometryGenerator.h +++ /dev/null @@ -1,173 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) Statoil ASA -// Copyright (C) Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#pragma once - -#include "cafPdmPointer.h" - -#include "cvfArray.h" -#include "cvfBase.h" -#include "cvfBoundingBox.h" -#include "cvfObject.h" -#include "cvfVector3.h" - -#include - -class RigMainGrid; -class RigActiveCellInfo; -class RigResultAccessor; -class RimCrossSection; - -namespace cvf -{ - class ScalarMapper; - class DrawableGeo; -} - - - -class RivCrossSectionHexGridIntf : public cvf::Object -{ -public: - virtual cvf::Vec3d displayOffset() const = 0; - virtual cvf::BoundingBox boundingBox() const = 0; - virtual void findIntersectingCells(const cvf::BoundingBox& intersectingBB, std::vector* intersectedCells) const = 0; - virtual bool useCell(size_t cellIndex) const = 0; - virtual void cellCornerVertices(size_t cellIndex, cvf::Vec3d cellCorners[8]) const = 0; - virtual void cellCornerIndices(size_t cellIndex, size_t cornerIndices[8]) const = 0; -}; - - -class RivEclipseCrossSectionGrid : public RivCrossSectionHexGridIntf -{ -public: - RivEclipseCrossSectionGrid(const RigMainGrid * mainGrid, const RigActiveCellInfo* activeCellInfo, bool showInactiveCells); - - virtual cvf::Vec3d displayOffset() const; - virtual cvf::BoundingBox boundingBox() const; - virtual void findIntersectingCells(const cvf::BoundingBox& intersectingBB, std::vector* intersectedCells) const; - virtual bool useCell(size_t cellIndex) const; - virtual void cellCornerVertices(size_t cellIndex, cvf::Vec3d cellCorners[8]) const; - virtual void cellCornerIndices(size_t cellIndex, size_t cornerIndices[8]) const; - -private: - cvf::cref m_mainGrid; - cvf::cref m_activeCellInfo; - bool m_showInactiveCells; -}; - -class RigFemPart; - -class RivFemCrossSectionGrid : public RivCrossSectionHexGridIntf -{ -public: - RivFemCrossSectionGrid(const RigFemPart * femPart); - - virtual cvf::Vec3d displayOffset() const; - virtual cvf::BoundingBox boundingBox() const; - virtual void findIntersectingCells(const cvf::BoundingBox& intersectingBB, std::vector* intersectedCells) const; - virtual bool useCell(size_t cellIndex) const; - virtual void cellCornerVertices(size_t cellIndex, cvf::Vec3d cellCorners[8]) const; - virtual void cellCornerIndices(size_t cellIndex, size_t cornerIndices[8]) const; - -private: - cvf::cref m_femPart; -}; - -class RivVertexWeights -{ -public: - explicit RivVertexWeights(size_t edge1Vx1, size_t edge1Vx2, double normDistFromE1V1, - size_t edge2Vx1, size_t edge2Vx2, double normDistFromE2V1, - double normDistFromE1Cut) : m_count(4) - { - m_vxIds[0] = (edge1Vx1); - m_vxIds[1] = (edge1Vx2); - m_vxIds[2] = (edge2Vx1); - m_vxIds[3] = (edge2Vx2); - - m_weights[0] = ((float)(1.0 - normDistFromE1V1 - normDistFromE1Cut + normDistFromE1V1*normDistFromE1Cut)); - m_weights[1] = ((float)(normDistFromE1V1 - normDistFromE1V1*normDistFromE1Cut)); - m_weights[2] = ((float)(normDistFromE1Cut - normDistFromE2V1*normDistFromE1Cut)); - m_weights[3] = ((float)(normDistFromE2V1*normDistFromE1Cut)); - } - - explicit RivVertexWeights(size_t edge1Vx1, size_t edge1Vx2, double normDistFromE1V1) : m_count(2) - { - m_vxIds[0] = (edge1Vx1); - m_vxIds[1] = (edge1Vx2); - - m_weights[0] = ((float)(1.0 - normDistFromE1V1)); - m_weights[1] = ((float)(normDistFromE1V1)); - } - - int size() const { return m_count;} - size_t vxId(int idx) const { return m_vxIds[idx];} - float weight(int idx)const { return m_weights[idx];} - -private: - - size_t m_vxIds[4]; - float m_weights[4]; - int m_count; -}; - -class RivCrossSectionGeometryGenerator : public cvf::Object -{ -public: - RivCrossSectionGeometryGenerator(const RimCrossSection* crossSection, - std::vector > &polylines, - const cvf::Vec3d& extrusionDirection, - const RivCrossSectionHexGridIntf* grid ); - - ~RivCrossSectionGeometryGenerator(); - - bool isAnyGeometryPresent() const; - - // Generate geometry - cvf::ref generateSurface(); - cvf::ref createMeshDrawable(); - cvf::ref createLineAlongPolylineDrawable(); - cvf::ref createPointsFromPolylineDrawable(); - - // Mapping between cells and geometry - const std::vector& triangleToCellIndex() const; - const std::vector& triangleVxToCellCornerInterpolationWeights() const; - - const RimCrossSection* crossSection() const; - -private: - void calculateArrays(); - static void adjustPolyline(const std::vector& polyLine, - const cvf::Vec3d extrDir, - std::vector* adjustedPolyline); - - cvf::cref m_hexGrid; - const std::vector > m_polyLines; - cvf::Vec3d m_extrusionDirection; - - // Output arrays - cvf::ref m_triangleVxes; - cvf::ref m_cellBorderLineVxes; - std::vector m_triangleToCellIdxMap; - std::vector m_triVxToCellCornerWeights; - - const RimCrossSection* m_crossSection; -}; - diff --git a/ApplicationCode/ModelVisualization/RivCrossSectionPartMgr.cpp b/ApplicationCode/ModelVisualization/RivCrossSectionPartMgr.cpp deleted file mode 100644 index 3aa569149e..0000000000 --- a/ApplicationCode/ModelVisualization/RivCrossSectionPartMgr.cpp +++ /dev/null @@ -1,564 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) Statoil ASA -// Copyright (C) Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#include "RivCrossSectionPartMgr.h" - -#include "RigCaseCellResultsData.h" -#include "RigCaseData.h" -#include "RigFemPartCollection.h" -#include "RigFemPartResultsCollection.h" -#include "RigGeoMechCaseData.h" -#include "RigResultAccessor.h" -#include "RigResultAccessorFactory.h" - -#include "RimCrossSection.h" -#include "RimEclipseCase.h" -#include "RimEclipseCellColors.h" -#include "RimEclipseView.h" -#include "RimGeoMechCase.h" -#include "RimGeoMechCellColors.h" -#include "RimGeoMechView.h" -#include "RimTernaryLegendConfig.h" - -#include "RivCrossSectionSourceInfo.h" -#include "RivResultToTextureMapper.h" -#include "RivScalarMapperUtils.h" -#include "RivTernaryScalarMapper.h" -#include "RivTernaryTextureCoordsCreator.h" - -#include "cvfDrawableGeo.h" -#include "cvfModelBasicList.h" -#include "cvfPart.h" -#include "cvfPrimitiveSetDirect.h" -#include "cvfRenderState_FF.h" -#include "cvfRenderStateDepth.h" -#include "cvfRenderStatePoint.h" - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RivCrossSectionPartMgr::RivCrossSectionPartMgr(const RimCrossSection* rimCrossSection) - : m_rimCrossSection(rimCrossSection), - m_defaultColor(cvf::Color3::WHITE) -{ - CVF_ASSERT(m_rimCrossSection); - - m_crossSectionFacesTextureCoords = new cvf::Vec2fArray; - - computeData(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivCrossSectionPartMgr::applySingleColorEffect() -{ - if (m_crossSectionGenerator.isNull()) return; - - m_defaultColor = cvf::Color3f::OLIVE;//m_rimCrossSection->CrossSectionColor(); - this->updatePartEffect(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivCrossSectionPartMgr::updateCellResultColor(size_t timeStepIndex) -{ - if (m_crossSectionGenerator.isNull()) return; - - if (!m_crossSectionGenerator->isAnyGeometryPresent()) return; - - RimEclipseView* eclipseView; - m_rimCrossSection->firstAnchestorOrThisOfType(eclipseView); - - if (eclipseView) - { - RimEclipseCellColors* cellResultColors = eclipseView->cellResult(); - CVF_ASSERT(cellResultColors); - - RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(cellResultColors->porosityModel()); - RigCaseData* eclipseCase = eclipseView->eclipseCase()->reservoirData(); - - // CrossSections - if (m_crossSectionFaces.notNull()) - { - if (cellResultColors->isTernarySaturationSelected()) - { - RivTernaryTextureCoordsCreator texturer(cellResultColors, cellResultColors->ternaryLegendConfig(), timeStepIndex); - - texturer.createTextureCoords(m_crossSectionFacesTextureCoords.p(), m_crossSectionGenerator->triangleToCellIndex()); - - const RivTernaryScalarMapper* mapper = cellResultColors->ternaryLegendConfig()->scalarMapper(); - RivScalarMapperUtils::applyTernaryTextureResultsToPart(m_crossSectionFaces.p(), - m_crossSectionFacesTextureCoords.p(), - mapper, - 1.0, - caf::FC_NONE, - eclipseView->isLightingDisabled()); - } - else - { - CVF_ASSERT(m_crossSectionGenerator.notNull()); - - const cvf::ScalarMapper* mapper = cellResultColors->legendConfig()->scalarMapper(); - cvf::ref resultAccessor; - - if (RimDefines::isPerCellFaceResult(cellResultColors->resultVariable())) - { - resultAccessor = new RigHugeValResultAccessor; - } - else - { - resultAccessor = RigResultAccessorFactory::createResultAccessor(cellResultColors->reservoirView()->eclipseCase()->reservoirData(), - 0, - timeStepIndex, - cellResultColors); - } - - RivCrossSectionPartMgr::calculateEclipseTextureCoordinates(m_crossSectionFacesTextureCoords.p(), - m_crossSectionGenerator->triangleToCellIndex(), - resultAccessor.p(), - mapper); - - - RivScalarMapperUtils::applyTextureResultsToPart(m_crossSectionFaces.p(), - m_crossSectionFacesTextureCoords.p(), - mapper, - 1.0, - caf::FC_NONE, - eclipseView->isLightingDisabled()); - } - } - } - - RimGeoMechView* geoView; - m_rimCrossSection->firstAnchestorOrThisOfType(geoView); - - if (geoView) - { - RimGeoMechCellColors* cellResultColors = geoView->cellResult(); - RigGeoMechCaseData* caseData = cellResultColors->ownerCaseData(); - - if (!caseData) return; - - RigFemResultAddress resVarAddress = cellResultColors->resultAddress(); - - // Do a "Hack" to show elm nodal and not nodal POR results - if (resVarAddress.resultPosType == RIG_NODAL && resVarAddress.fieldName == "POR-Bar") resVarAddress.resultPosType = RIG_ELEMENT_NODAL; - - const std::vector &vertexWeights = m_crossSectionGenerator->triangleVxToCellCornerInterpolationWeights(); - const std::vector& resultValues = caseData->femPartResults()->resultValues(resVarAddress, 0, (int)timeStepIndex); - bool isElementNodalResult = !(resVarAddress.resultPosType == RIG_NODAL); - RigFemPart* femPart = caseData->femParts()->part(0); - const cvf::ScalarMapper* mapper = cellResultColors->legendConfig()->scalarMapper(); - - RivCrossSectionPartMgr::calculateGeoMechTextureCoords(m_crossSectionFacesTextureCoords.p(), - vertexWeights, - resultValues, - isElementNodalResult, - femPart, - mapper); - - RivScalarMapperUtils::applyTextureResultsToPart(m_crossSectionFaces.p(), - m_crossSectionFacesTextureCoords.p(), - mapper, - 1.0, - caf::FC_NONE, - geoView->isLightingDisabled()); - } -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivCrossSectionPartMgr::calculateGeoMechTextureCoords(cvf::Vec2fArray* textureCoords, - const std::vector &vertexWeights, - const std::vector &resultValues, - bool isElementNodalResult, - const RigFemPart* femPart, - const cvf::ScalarMapper* mapper) -{ - textureCoords->resize(vertexWeights.size()); - - if (resultValues.size() == 0) - { - textureCoords->setAll(cvf::Vec2f(0.0, 1.0f)); - } - else - { - cvf::Vec2f* rawPtr = textureCoords->ptr(); - - int vxCount = static_cast(vertexWeights.size()); - -#pragma omp parallel for schedule(dynamic) - for (int triangleVxIdx = 0; triangleVxIdx < vxCount; ++triangleVxIdx) - { - float resValue = 0; - int weightCount = vertexWeights[triangleVxIdx].size(); - for (int wIdx = 0; wIdx < weightCount; ++wIdx) - { - size_t resIdx = isElementNodalResult ? vertexWeights[triangleVxIdx].vxId(wIdx) : - femPart->nodeIdxFromElementNodeResultIdx(vertexWeights[triangleVxIdx].vxId(wIdx)); - resValue += resultValues[resIdx] * vertexWeights[triangleVxIdx].weight(wIdx); - } - - if (resValue == HUGE_VAL || resValue != resValue) // a != a is true for NAN's - { - rawPtr[triangleVxIdx][1] = 1.0f; - } - else - { - rawPtr[triangleVxIdx] = mapper->mapToTextureCoord(resValue); - } - } - } -} - - - -//-------------------------------------------------------------------------------------------------- -/// Calculates the texture coordinates in a "nearly" one dimensional texture. -/// Undefined values are coded with a y-texturecoordinate value of 1.0 instead of the normal 0.5 -//-------------------------------------------------------------------------------------------------- -void RivCrossSectionPartMgr::calculateEclipseTextureCoordinates(cvf::Vec2fArray* textureCoords, - const std::vector& triangleToCellIdxMap, - const RigResultAccessor* resultAccessor, - const cvf::ScalarMapper* mapper) -{ - if (!resultAccessor) return; - - size_t numVertices = triangleToCellIdxMap.size()*3; - - textureCoords->resize(numVertices); - cvf::Vec2f* rawPtr = textureCoords->ptr(); - - double cellScalarValue; - cvf::Vec2f texCoord; - - int triangleCount = static_cast(triangleToCellIdxMap.size()); - -#pragma omp parallel for private(texCoord, cellScalarValue) - for (int tIdx = 0; tIdx < triangleCount; tIdx++) - { - cellScalarValue = resultAccessor->cellScalarGlobIdx(triangleToCellIdxMap[tIdx]); - texCoord = mapper->mapToTextureCoord(cellScalarValue); - if (cellScalarValue == HUGE_VAL || cellScalarValue != cellScalarValue) // a != a is true for NAN's - { - texCoord[1] = 1.0f; - } - - size_t j; - for (j = 0; j < 3; j++) - { - rawPtr[tIdx*3 + j] = texCoord; - } - } -} - -const int priCrossSectionGeo = 1; -const int priNncGeo = 2; -const int priMesh = 3; - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivCrossSectionPartMgr::generatePartGeometry() -{ - if (m_crossSectionGenerator.isNull()) return; - - bool useBufferObjects = true; - // Surface geometry - { - cvf::ref geo = m_crossSectionGenerator->generateSurface(); - if (geo.notNull()) - { - geo->computeNormals(); - - if (useBufferObjects) - { - geo->setRenderMode(cvf::DrawableGeo::BUFFER_OBJECT); - } - - cvf::ref part = new cvf::Part; - part->setName("Cross Section"); - part->setDrawable(geo.p()); - - // Set mapping from triangle face index to cell index - cvf::ref si = new RivCrossSectionSourceInfo(m_crossSectionGenerator.p()); - part->setSourceInfo(si.p()); - - part->updateBoundingBox(); - part->setEnableMask(faultBit); - part->setPriority(priCrossSectionGeo); - - m_crossSectionFaces = part; - } - } - - // Mesh geometry - { - cvf::ref geoMesh = m_crossSectionGenerator->createMeshDrawable(); - if (geoMesh.notNull()) - { - if (useBufferObjects) - { - geoMesh->setRenderMode(cvf::DrawableGeo::BUFFER_OBJECT); - } - - cvf::ref part = new cvf::Part; - part->setName("Cross Section mesh"); - part->setDrawable(geoMesh.p()); - - part->updateBoundingBox(); - part->setEnableMask(meshFaultBit); - part->setPriority(priMesh); - - m_crossSectionGridLines = part; - } - } - - // Highlight line - - m_highlightLineAlongPolyline = NULL; - m_highlightPointsForPolyline = NULL; - - if (m_rimCrossSection->type == RimCrossSection::CS_POLYLINE) - { - { - cvf::ref polylineGeo = m_crossSectionGenerator->createLineAlongPolylineDrawable(); - if (polylineGeo.notNull()) - { - if (useBufferObjects) - { - polylineGeo->setRenderMode(cvf::DrawableGeo::BUFFER_OBJECT); - } - - cvf::ref part = new cvf::Part; - part->setName("Cross Section Polyline"); - part->setDrawable(polylineGeo.p()); - - part->updateBoundingBox(); - part->setPriority(10000); - - // Always show this part, also when mesh is turned off - //part->setEnableMask(meshFaultBit); - - cvf::ref eff; - caf::MeshEffectGenerator lineEffGen(cvf::Color3::MAGENTA); - eff = lineEffGen.generateUnCachedEffect(); - - cvf::ref depth = new cvf::RenderStateDepth; - depth->enableDepthTest(false); - eff->setRenderState(depth.p()); - - part->setEffect(eff.p()); - - m_highlightLineAlongPolyline = part; - } - } - - cvf::ref polylinePointsGeo = m_crossSectionGenerator->createPointsFromPolylineDrawable(); - if (polylinePointsGeo.notNull()) - { - if (useBufferObjects) - { - polylinePointsGeo->setRenderMode(cvf::DrawableGeo::BUFFER_OBJECT); - } - - cvf::ref part = new cvf::Part; - part->setName("Cross Section Polyline"); - part->setDrawable(polylinePointsGeo.p()); - - part->updateBoundingBox(); - part->setPriority(10000); - - // Always show this part, also when mesh is turned off - //part->setEnableMask(meshFaultBit); - - cvf::ref eff; - caf::MeshEffectGenerator lineEffGen(cvf::Color3::MAGENTA); - eff = lineEffGen.generateUnCachedEffect(); - - cvf::ref depth = new cvf::RenderStateDepth; - depth->enableDepthTest(false); - eff->setRenderState(depth.p()); - - cvf::ref pointRendState = new cvf::RenderStatePoint(cvf::RenderStatePoint::FIXED_SIZE); - pointRendState->setSize(5.0f); - eff->setRenderState(pointRendState.p()); - - part->setEffect(eff.p()); - - m_highlightPointsForPolyline = part; - } - } - - updatePartEffect(); -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivCrossSectionPartMgr::updatePartEffect() -{ - if (m_crossSectionGenerator.isNull()) return; - - // Set deCrossSection effect - caf::SurfaceEffectGenerator geometryEffgen(m_defaultColor, caf::PO_1); - - cvf::ref geometryOnlyEffect = geometryEffgen.generateCachedEffect(); - - if (m_crossSectionFaces.notNull()) - { - m_crossSectionFaces->setEffect(geometryOnlyEffect.p()); - } - - // Update mesh colors as well, in case of change - //RiaPreferences* prefs = RiaApplication::instance()->preferences(); - - cvf::ref eff; - caf::MeshEffectGenerator CrossSectionEffGen(cvf::Color3::WHITE);//prefs->defaultCrossSectionGridLineColors()); - eff = CrossSectionEffGen.generateCachedEffect(); - - if (m_crossSectionGridLines.notNull()) - { - m_crossSectionGridLines->setEffect(eff.p()); - } - -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivCrossSectionPartMgr::appendNativeCrossSectionFacesToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform) -{ - if (m_crossSectionFaces.isNull()) - { - generatePartGeometry(); - } - - if (m_crossSectionFaces.notNull()) - { - m_crossSectionFaces->setTransform(scaleTransform); - model->addPart(m_crossSectionFaces.p()); - } -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivCrossSectionPartMgr::appendMeshLinePartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform) -{ - if (m_crossSectionGridLines.isNull()) - { - generatePartGeometry(); - } - - if (m_crossSectionGridLines.notNull()) - { - m_crossSectionGridLines->setTransform(scaleTransform); - model->addPart(m_crossSectionGridLines.p()); - } -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivCrossSectionPartMgr::appendPolylinePartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform) -{ - if (m_highlightLineAlongPolyline.notNull()) - { - m_highlightLineAlongPolyline->setTransform(scaleTransform); - model->addPart(m_highlightLineAlongPolyline.p()); - } - if (m_highlightPointsForPolyline.notNull()) - { - m_highlightPointsForPolyline->setTransform(scaleTransform); - model->addPart(m_highlightPointsForPolyline.p()); - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivCrossSectionPartMgr::computeData() -{ - std::vector< std::vector > polyLines = m_rimCrossSection->polyLines(); - if (polyLines.size() > 0) - { - cvf::Vec3d direction = extrusionDirection(polyLines[0]); - cvf::ref hexGrid = createHexGridInterface(); - m_crossSectionGenerator = new RivCrossSectionGeometryGenerator(m_rimCrossSection, polyLines, direction, hexGrid.p()); - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -cvf::ref RivCrossSectionPartMgr::createHexGridInterface() -{ - - RimEclipseView* eclipseView; - m_rimCrossSection->firstAnchestorOrThisOfType(eclipseView); - if (eclipseView) - { - RigMainGrid* grid = NULL; - grid = eclipseView->eclipseCase()->reservoirData()->mainGrid(); - return new RivEclipseCrossSectionGrid(grid, eclipseView->currentActiveCellInfo(), m_rimCrossSection->showInactiveCells()); - } - - RimGeoMechView* geoView; - m_rimCrossSection->firstAnchestorOrThisOfType(geoView); - if (geoView) - { - RigFemPart* femPart = geoView->geoMechCase()->geoMechData()->femParts()->part(0); - return new RivFemCrossSectionGrid(femPart); - } - - return NULL; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -cvf::Vec3d RivCrossSectionPartMgr::extrusionDirection(const std::vector& polyline) const -{ - CVF_ASSERT(m_rimCrossSection); - - cvf::Vec3d dir = cvf::Vec3d::Z_AXIS; - - if (m_rimCrossSection->direction == RimCrossSection::CS_HORIZONTAL && - polyline.size() > 1) - { - // Use first and last point of polyline to approximate orientation of polyline - // Then cross with Z axis to find extrusion direction - - cvf::Vec3d polyLineDir = polyline[polyline.size() - 1] - polyline[0]; - cvf::Vec3d up = cvf::Vec3d::Z_AXIS; - dir = polyLineDir ^ up; - } - - return dir; -} - diff --git a/ApplicationCode/ModelVisualization/RivCrossSectionPartMgr.h b/ApplicationCode/ModelVisualization/RivCrossSectionPartMgr.h deleted file mode 100644 index 979145f058..0000000000 --- a/ApplicationCode/ModelVisualization/RivCrossSectionPartMgr.h +++ /dev/null @@ -1,90 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) Statoil ASA -// Copyright (C) Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#pragma once - -#include "RivCrossSectionGeometryGenerator.h" - -#include "cvfBase.h" -#include "cvfObject.h" -#include "cvfColor4.h" -#include "cvfVector3.h" - - -namespace cvf -{ - class ModelBasicList; - class Transform; - class Part; -} - -class RigMainGrid; -class RimEclipseCellColors; -class RimCellEdgeColors; -class RimCrossSection; - -//================================================================================================== -/// -/// -//================================================================================================== - -class RivCrossSectionPartMgr : public cvf::Object -{ -public: - RivCrossSectionPartMgr(const RimCrossSection* rimCrossSection); - - void applySingleColorEffect(); - void updateCellResultColor(size_t timeStepIndex); - - - void appendNativeCrossSectionFacesToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform); - void appendMeshLinePartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform); - void appendPolylinePartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform); - -private: - void updatePartEffect(); - void generatePartGeometry(); - void computeData(); - - cvf::Vec3d extrusionDirection(const std::vector& polyline) const; - static void calculateEclipseTextureCoordinates(cvf::Vec2fArray* textureCoords, - const std::vector& triangleToCellIdxMap, - const RigResultAccessor* resultAccessor, - const cvf::ScalarMapper* mapper); - static void calculateGeoMechTextureCoords(cvf::Vec2fArray* textureCoords, - const std::vector &vertexWeights, - const std::vector &resultValues, - bool isElementNodalResult, - const RigFemPart* femPart, - const cvf::ScalarMapper* mapper); - cvf::ref createHexGridInterface(); -private: - - const RimCrossSection* m_rimCrossSection; - - cvf::Color3f m_defaultColor; - - cvf::ref m_crossSectionGenerator; - cvf::ref m_crossSectionFaces; - cvf::ref m_crossSectionGridLines; - cvf::ref m_crossSectionFacesTextureCoords; - - cvf::ref m_highlightLineAlongPolyline; - cvf::ref m_highlightPointsForPolyline; -}; diff --git a/ApplicationCode/ModelVisualization/RivCrossSectionSourceInfo.cpp b/ApplicationCode/ModelVisualization/RivCrossSectionSourceInfo.cpp deleted file mode 100644 index 2f35e3f6cd..0000000000 --- a/ApplicationCode/ModelVisualization/RivCrossSectionSourceInfo.cpp +++ /dev/null @@ -1,50 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) Statoil ASA -// Copyright (C) Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#include "RivCrossSectionSourceInfo.h" - -#include "RivCrossSectionGeometryGenerator.h" - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RivCrossSectionSourceInfo::RivCrossSectionSourceInfo(RivCrossSectionGeometryGenerator* geometryGenerator) - : m_crossSectionGeometryGenerator(geometryGenerator) -{ - CVF_ASSERT(m_crossSectionGeometryGenerator.notNull()); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -const std::vector& RivCrossSectionSourceInfo::triangleToCellIndex() const -{ - CVF_ASSERT(m_crossSectionGeometryGenerator.notNull()); - - return m_crossSectionGeometryGenerator->triangleToCellIndex(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -const RimCrossSection* RivCrossSectionSourceInfo::crossSection() const -{ - return m_crossSectionGeometryGenerator->crossSection(); -} diff --git a/ApplicationCode/ModelVisualization/RivCrossSectionSourceInfo.h b/ApplicationCode/ModelVisualization/RivCrossSectionSourceInfo.h deleted file mode 100644 index 46afb6e409..0000000000 --- a/ApplicationCode/ModelVisualization/RivCrossSectionSourceInfo.h +++ /dev/null @@ -1,40 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) Statoil ASA -// Copyright (C) Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#pragma once - -#include "cvfBase.h" -#include "cvfObject.h" -#include "cvfArray.h" - -class RivCrossSectionGeometryGenerator; -class RimCrossSection; - -class RivCrossSectionSourceInfo : public cvf::Object -{ -public: - RivCrossSectionSourceInfo(RivCrossSectionGeometryGenerator* geometryGenerator); - - const std::vector& triangleToCellIndex() const; - - const RimCrossSection* crossSection() const; - -private: - cvf::cref m_crossSectionGeometryGenerator; -}; diff --git a/ApplicationCode/ModelVisualization/RivFaultPartMgr.cpp b/ApplicationCode/ModelVisualization/RivFaultPartMgr.cpp index 4e5505915c..968dcdfb8b 100644 --- a/ApplicationCode/ModelVisualization/RivFaultPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivFaultPartMgr.cpp @@ -27,9 +27,10 @@ #include "RigResultAccessor.h" #include "RimEclipseCase.h" -#include "RimFaultCollection.h" -#include "RimEclipseView.h" #include "RimEclipseCellColors.h" +#include "RimEclipseView.h" +#include "RimFaultCollection.h" +#include "RimLegendConfig.h" #include "RimTernaryLegendConfig.h" #include "RivResultToTextureMapper.h" @@ -440,10 +441,10 @@ void RivFaultPartMgr::createLabelWithAnchorLine(const cvf::Part* part) // Fault label if (!m_rimFault->name().isEmpty()) { - cvf::Font* standardFont = RiaApplication::instance()->standardFont(); + cvf::Font* font = RiaApplication::instance()->customFont(); cvf::ref drawableText = new cvf::DrawableText; - drawableText->setFont(standardFont); + drawableText->setFont(font); drawableText->setCheckPosVisible(false); drawableText->setDrawBorder(false); drawableText->setDrawBackground(false); @@ -455,7 +456,7 @@ void RivFaultPartMgr::createLabelWithAnchorLine(const cvf::Part* part) if (noConstRimFault) { RimFaultCollection* parentObject; - noConstRimFault->firstAnchestorOrThisOfType(parentObject); + noConstRimFault->firstAncestorOrThisOfType(parentObject); if (parentObject) { defWellLabelColor = parentObject->faultLabelColor();; diff --git a/ApplicationCode/ModelVisualization/RivGridPartMgr.cpp b/ApplicationCode/ModelVisualization/RivGridPartMgr.cpp index 6cec946ce5..f517f779d4 100644 --- a/ApplicationCode/ModelVisualization/RivGridPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivGridPartMgr.cpp @@ -27,13 +27,14 @@ #include "RigCaseData.h" #include "RigResultAccessorFactory.h" -#include "RimEclipseCase.h" #include "RimCellEdgeColors.h" -#include "RimReservoirCellResultsStorage.h" -#include "RimEclipseView.h" +#include "RimEclipseCase.h" #include "RimEclipseCellColors.h" -#include "RimTernaryLegendConfig.h" +#include "RimEclipseView.h" #include "RimEclipseWellCollection.h" +#include "RimLegendConfig.h" +#include "RimReservoirCellResultsStorage.h" +#include "RimTernaryLegendConfig.h" #include "RivCellEdgeEffectGenerator.h" #include "RivResultToTextureMapper.h" diff --git a/ApplicationCode/ModelVisualization/RivNNCGeometryGenerator.cpp b/ApplicationCode/ModelVisualization/RivNNCGeometryGenerator.cpp index 31d019d018..c3cce69e43 100644 --- a/ApplicationCode/ModelVisualization/RivNNCGeometryGenerator.cpp +++ b/ApplicationCode/ModelVisualization/RivNNCGeometryGenerator.cpp @@ -159,14 +159,11 @@ void RivNNCGeometryGenerator::textureCoordinates(cvf::Vec2fArray* textureCoords, return; } - double cellScalarValue; - cvf::Vec2f texCoord; - -#pragma omp parallel for private(texCoord, cellScalarValue) +#pragma omp parallel for for (int tIdx = 0; tIdx < static_cast(m_triangleIndexToNNCIndex->size()); tIdx++) { - cellScalarValue = (*nncResultVals)[(*m_triangleIndexToNNCIndex)[tIdx]]; - texCoord = mapper->mapToTextureCoord(cellScalarValue); + double cellScalarValue = (*nncResultVals)[(*m_triangleIndexToNNCIndex)[tIdx]]; + cvf::Vec2f texCoord = mapper->mapToTextureCoord(cellScalarValue); if (cellScalarValue == HUGE_VAL || cellScalarValue != cellScalarValue) // a != a is true for NAN's { texCoord[1] = 1.0f; diff --git a/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp b/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp index 390bf19d25..8ac5974b15 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp @@ -19,20 +19,25 @@ #include "RivReservoirFaultsPartMgr.h" -#include "cvfPart.h" -#include "cvfModelBasicList.h" +#include "RigCaseData.h" +#include "RigMainGrid.h" + +#include "RimEclipseCase.h" +#include "RimEclipseCellColors.h" +#include "RimEclipseFaultColors.h" +#include "RimEclipseView.h" +#include "RimFaultCollection.h" + +#include "RivFaultPartMgr.h" + #include "cvfColor3.h" +#include "cvfModelBasicList.h" +#include "cvfPart.h" #include "cvfTransform.h" #include "cafPdmFieldCvfColor.h" -#include "RigMainGrid.h" -#include "RimFaultCollection.h" -#include "RimEclipseFaultColors.h" -#include "RimEclipseView.h" -#include "RimEclipseCellColors.h" -#include "RimEclipseCase.h" -#include "RigCaseData.h" +#include //-------------------------------------------------------------------------------------------------- /// @@ -54,7 +59,7 @@ RivReservoirFaultsPartMgr::RivReservoirFaultsPartMgr(const RigMainGrid* grid, R } } - m_forceVisibility = false; + m_forceWatertightGeometry = false; } //-------------------------------------------------------------------------------------------------- @@ -102,6 +107,20 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model) // Check match between model fault count and fault parts CVF_ASSERT(faultCollection->faults.size() == m_faultParts.size()); + // Parts that is overridden by the grid settings + bool forceDisplayOfFault = false; + if (!faultCollection->showFaultsOutsideFilters()) + { + forceDisplayOfFault = isShowingGrid; + } + + if (m_forceWatertightGeometry && isShowingGrid) + { + forceDisplayOfFault = true; + } + + //qDebug() << forceDisplayOfFault; + cvf::ModelBasicList parts; for (size_t i = 0; i < faultCollection->faults.size(); i++) @@ -111,18 +130,6 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model) cvf::ref rivFaultPart = m_faultParts[i]; CVF_ASSERT(rivFaultPart.notNull()); - // Parts that is overridden by the grid settings - bool forceDisplayOfFault = false; - if (!faultCollection->showFaultsOutsideFilters()) - { - forceDisplayOfFault = isShowingGrid; - } - - if (m_forceVisibility && isShowingGrid) - { - forceDisplayOfFault = true; - } - if ( (faultCollection->showFaultCollection() && rimFault->showFault()) || forceDisplayOfFault) { if (faultCollection->showFaultFaces() || forceDisplayOfFault) @@ -276,9 +283,17 @@ void RivReservoirFaultsPartMgr::appendLabelPartsToModel(cvf::ModelBasicList* mod //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RivReservoirFaultsPartMgr::setFaultForceVisibility(bool forceVisibility) +void RivReservoirFaultsPartMgr::forceWatertightGeometryOn() +{ + m_forceWatertightGeometry = true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivReservoirFaultsPartMgr::clearWatertightGeometryFlag() { - m_forceVisibility = forceVisibility; + m_forceWatertightGeometry = false; } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.h b/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.h index 6ec47c92f6..88cc1996c7 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.h +++ b/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.h @@ -20,19 +20,23 @@ #pragma once #include "cvfBase.h" +#include "cvfArray.h" +#include "cvfCollection.h" #include "cvfObject.h" -#include "RigGridBase.h" -#include "RivFaultPartMgr.h" +#include "cafPdmPointer.h" namespace cvf { class Transform; + class ModelBasicList; } class RimEclipseCellColors; class RimCellEdgeColors; class RimEclipseView; +class RivFaultPartMgr; +class RigMainGrid; //================================================================================================== /// @@ -45,7 +49,9 @@ class RivReservoirFaultsPartMgr : public cvf::Object void setTransform(cvf::Transform* scaleTransform); void setCellVisibility(cvf::UByteArray* cellVisibilities); - void setFaultForceVisibility(bool isFilterGenerated); + + void forceWatertightGeometryOn(); + void clearWatertightGeometryFlag(); void setOpacityLevel(float opacity); void applySingleColorEffect(); @@ -62,5 +68,5 @@ class RivReservoirFaultsPartMgr : public cvf::Object cvf::ref m_scaleTransform; caf::PdmPointer m_reservoirView; cvf::Collection m_faultParts; - bool m_forceVisibility; + bool m_forceWatertightGeometry; }; diff --git a/ApplicationCode/ModelVisualization/RivReservoirPartMgr.cpp b/ApplicationCode/ModelVisualization/RivReservoirPartMgr.cpp index a99d8c7218..fbe87a2c21 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivReservoirPartMgr.cpp @@ -20,12 +20,13 @@ #include "RivReservoirPartMgr.h" -#include "cvfStructGrid.h" -#include "cvfModelBasicList.h" - #include "RigCaseData.h" + #include "RivGridPartMgr.h" +#include "RivReservoirFaultsPartMgr.h" +#include "cvfStructGrid.h" +#include "cvfModelBasicList.h" //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -190,11 +191,22 @@ void RivReservoirPartMgr::appendFaultLabelPartsToModel(cvf::ModelBasicList* mode //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RivReservoirPartMgr::setFaultForceVisibility(bool isGeneratedByFilter) +void RivReservoirPartMgr::forceWatertightGeometryOn() +{ + if (m_faultsPartMgr.notNull()) + { + m_faultsPartMgr->forceWatertightGeometryOn(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivReservoirPartMgr::clearWatertightGeometryFlag() { if (m_faultsPartMgr.notNull()) { - m_faultsPartMgr->setFaultForceVisibility(isGeneratedByFilter); + m_faultsPartMgr->clearWatertightGeometryFlag(); } } diff --git a/ApplicationCode/ModelVisualization/RivReservoirPartMgr.h b/ApplicationCode/ModelVisualization/RivReservoirPartMgr.h index 69cee52abd..005817b625 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirPartMgr.h +++ b/ApplicationCode/ModelVisualization/RivReservoirPartMgr.h @@ -24,9 +24,6 @@ #include "cvfArray.h" #include "cvfCollection.h" -#include "RivGridPartMgr.h" -#include "RivReservoirFaultsPartMgr.h" - namespace cvf { class ModelBasicList; @@ -37,6 +34,8 @@ class RimEclipseCellColors; class RimCellEdgeColors; class RigCaseData; class RimEclipseView; +class RivReservoirFaultsPartMgr; +class RivGridPartMgr; //================================================================================================== /// @@ -51,7 +50,9 @@ class RivReservoirPartMgr: public cvf::Object void clearAndSetReservoir(const RigCaseData* eclipseCase, RimEclipseView* reservoirView); void setTransform(cvf::Transform* scaleTransform); void setCellVisibility(size_t gridIndex, cvf::UByteArray* cellVisibilities ); - void setFaultForceVisibility(bool isGeneratedByFilter); + + void forceWatertightGeometryOn(); + void clearWatertightGeometryFlag(); //size_t gridCount() { return m_allGrids.size(); } cvf::ref diff --git a/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp b/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp index 56209c427e..e68546347e 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp @@ -22,25 +22,28 @@ #include "RigCaseCellResultsData.h" #include "RigCaseData.h" +#include "RigCaseToCaseCellMapper.h" #include "RigGridBase.h" #include "RigResultAccessorFactory.h" #include "Rim3dOverlayInfoConfig.h" -#include "RimEclipseCase.h" #include "RimCellEdgeColors.h" -#include "RimEclipsePropertyFilterCollection.h" #include "RimCellRangeFilterCollection.h" -#include "RimFaultCollection.h" -#include "RimReservoirCellResultsStorage.h" -#include "RimEclipseView.h" -#include "RimEclipseResultDefinition.h" +#include "RimEclipseCase.h" #include "RimEclipseCellColors.h" +#include "RimEclipsePropertyFilterCollection.h" +#include "RimEclipseResultDefinition.h" +#include "RimEclipseView.h" #include "RimEclipseWellCollection.h" - -#include "RivGridPartMgr.h" +#include "RimFaultCollection.h" +#include "RimReservoirCellResultsStorage.h" #include "RimViewController.h" #include "RimViewLinker.h" -#include "RigCaseToCaseCellMapper.h" + +#include "RivGridPartMgr.h" +#include "RivReservoirFaultsPartMgr.h" + +#include //-------------------------------------------------------------------------------------------------- /// @@ -780,11 +783,8 @@ void RivReservoirViewPartMgr::computePropertyVisibility(cvf::UByteArray* cellVis { RimEclipsePropertyFilter* propertyFilter = propFilterColl->propertyFilters()[i]; - if (propertyFilter->isActive()&& propertyFilter->resultDefinition->hasResult()) + if (propertyFilter->isActive() && propertyFilter->resultDefinition->hasResult()) { - const double lowerBound = propertyFilter->lowerBound(); - const double upperBound = propertyFilter->upperBound(); - const RimCellFilter::FilterModeType filterType = propertyFilter->filterMode(); RigCaseData* eclipseCase = propFilterColl->reservoirView()->eclipseCase()->reservoirData(); @@ -802,26 +802,65 @@ void RivReservoirViewPartMgr::computePropertyVisibility(cvf::UByteArray* cellVis CVF_ASSERT(resultAccessor.notNull()); - //#pragma omp parallel for schedule(dynamic) - for (int cellIndex = 0; cellIndex < static_cast(grid->cellCount()); cellIndex++) + if (propertyFilter->isCategorySelectionActive()) { - if ( (*cellVisibility)[cellIndex] ) + std::vector integerVector = propertyFilter->selectedCategoryValues(); + std::set integerSet; + for (auto val : integerVector) { - size_t resultValueIndex = cellIndex; - - double scalarValue = resultAccessor->cellScalar(resultValueIndex); - if (lowerBound <= scalarValue && scalarValue <= upperBound) + integerSet.insert(val); + } + + for (int cellIndex = 0; cellIndex < static_cast(grid->cellCount()); cellIndex++) + { + if ((*cellVisibility)[cellIndex]) { - if (filterType == RimCellFilter::EXCLUDE) + size_t resultValueIndex = cellIndex; + + double scalarValue = resultAccessor->cellScalar(resultValueIndex); + if (integerSet.find(scalarValue) != integerSet.end()) { - (*cellVisibility)[cellIndex] = false; + if (filterType == RimCellFilter::EXCLUDE) + { + (*cellVisibility)[cellIndex] = false; + } + } + else + { + if (filterType == RimCellFilter::INCLUDE) + { + (*cellVisibility)[cellIndex] = false; + } } } - else + } + } + else + { + double lowerBound = 0.0; + double upperBound = 0.0; + propertyFilter->rangeValues(&lowerBound, &upperBound); + + for (int cellIndex = 0; cellIndex < static_cast(grid->cellCount()); cellIndex++) + { + if ((*cellVisibility)[cellIndex]) { - if (filterType == RimCellFilter::INCLUDE) + size_t resultValueIndex = cellIndex; + + double scalarValue = resultAccessor->cellScalar(resultValueIndex); + if (lowerBound <= scalarValue && scalarValue <= upperBound) + { + if (filterType == RimCellFilter::EXCLUDE) + { + (*cellVisibility)[cellIndex] = false; + } + } + else { - (*cellVisibility)[cellIndex] = false; + if (filterType == RimCellFilter::INCLUDE) + { + (*cellVisibility)[cellIndex] = false; + } } } } @@ -840,17 +879,6 @@ void RivReservoirViewPartMgr::updateCellColor(RivCellSetEnum geometryType, size_ pmgr->updateCellColor(color); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RivReservoirViewPartMgr::updateCellColor(RivCellSetEnum geometryType, cvf::Color4f color) -{ - //CVF_ASSERT(geometryType != PROPERTY_FILTERED); - //CVF_ASSERT(geometryType != PROPERTY_FILTERED_WELL_CELLS); - - updateCellColor(geometryType, 0 , color); -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -887,7 +915,10 @@ cvf::cref RivReservoirViewPartMgr::cellVisibility(RivCellSetEnu return pmgr->cellVisibility(gridIndex).p(); } -RivReservoirPartMgr * RivReservoirViewPartMgr::reservoirPartManager(RivCellSetEnum geometryType, size_t timeStepIndex ) +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RivReservoirPartMgr* RivReservoirViewPartMgr::reservoirPartManager(RivCellSetEnum geometryType, size_t timeStepIndex) { if (geometryType == PROPERTY_FILTERED) { @@ -927,10 +958,67 @@ void RivReservoirViewPartMgr::updateFaultColors(RivCellSetEnum geometryType, siz //-------------------------------------------------------------------------------------------------- void RivReservoirViewPartMgr::appendFaultsStaticGeometryPartsToModel(cvf::ModelBasicList* model, RivCellSetEnum geometryType) { + //CVF_ASSERT(geometryType < PROPERTY_FILTERED); + if (geometryType >= PROPERTY_FILTERED) return; + if (m_geometriesNeedsRegen[geometryType]) { createGeometry(geometryType); } + +/* + QString text; + switch (geometryType) + { + case OVERRIDDEN_CELL_VISIBILITY: + text = "OVERRIDDEN_CELL_VISIBILITY"; + break; + case ALL_CELLS: + text = "ALL_CELLS"; + break; + case ACTIVE: + text = "ACTIVE"; + break; + case ALL_WELL_CELLS: + text = "ALL_WELL_CELLS"; + break; + case VISIBLE_WELL_CELLS: + text = "VISIBLE_WELL_CELLS"; + break; + case VISIBLE_WELL_FENCE_CELLS: + text = "VISIBLE_WELL_FENCE_CELLS"; + break; + case INACTIVE: + text = "INACTIVE"; + break; + case RANGE_FILTERED: + text = "RANGE_FILTERED"; + break; + case RANGE_FILTERED_INACTIVE: + text = "RANGE_FILTERED_INACTIVE"; + break; + case RANGE_FILTERED_WELL_CELLS: + text = "RANGE_FILTERED_WELL_CELLS"; + break; + case VISIBLE_WELL_CELLS_OUTSIDE_RANGE_FILTER: + text = "VISIBLE_WELL_CELLS_OUTSIDE_RANGE_FILTER"; + break; + case VISIBLE_WELL_FENCE_CELLS_OUTSIDE_RANGE_FILTER: + text = "VISIBLE_WELL_FENCE_CELLS_OUTSIDE_RANGE_FILTER"; + break; + case PROPERTY_FILTERED: + text = "PROPERTY_FILTERED"; + break; + case PROPERTY_FILTERED_WELL_CELLS: + text = "PROPERTY_FILTERED_WELL_CELLS"; + break; + default: + break; + } + + qDebug() << text; +*/ + m_geometries[geometryType].appendFaultPartsToModel(model); } @@ -941,10 +1029,14 @@ void RivReservoirViewPartMgr::appendFaultsDynamicGeometryPartsToModel(cvf::Model { if (geometryType == PROPERTY_FILTERED) { + //qDebug() << "PROPERTY_FILTERED"; + m_propFilteredGeometryFrames[frameIndex]->appendFaultPartsToModel(model); } else if (geometryType == PROPERTY_FILTERED_WELL_CELLS) { + //qDebug() << "PROPERTY_FILTERED_WELL_CELLS"; + m_propFilteredWellGeometryFrames[frameIndex]->appendFaultPartsToModel(model); } } @@ -952,32 +1044,24 @@ void RivReservoirViewPartMgr::appendFaultsDynamicGeometryPartsToModel(cvf::Model //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RivCellSetEnum RivReservoirViewPartMgr::geometryTypeForFaultLabels(const std::vector& geometryTypes) const +RivCellSetEnum RivReservoirViewPartMgr::geometryTypeForFaultLabels(const std::set& geometryTypes, bool showFaultsOutsideFilters) const { - bool hasInactive = false; - for (size_t i = 0; i < geometryTypes.size(); i++) + for (RivCellSetEnum cellSetType : geometryTypes) { - if (geometryTypes[i] == PROPERTY_FILTERED) - { - return PROPERTY_FILTERED; - } - - if (geometryTypes[i] == RANGE_FILTERED) + if (!showFaultsOutsideFilters) { - return RANGE_FILTERED; - } + if (cellSetType == PROPERTY_FILTERED) + { + return PROPERTY_FILTERED; + } - if (geometryTypes[i] == INACTIVE) - { - hasInactive = true; + if (cellSetType == RANGE_FILTERED) + { + return RANGE_FILTERED; + } } } - if (hasInactive) - { - return INACTIVE; - } - return ACTIVE; } @@ -1004,11 +1088,49 @@ void RivReservoirViewPartMgr::appendFaultLabelsDynamicGeometryPartsToModel(cvf:: //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RivReservoirViewPartMgr::setFaultForceVisibilityForGeometryType(RivCellSetEnum geometryType, bool forceVisibility) +void RivReservoirViewPartMgr::forceWatertightGeometryOnForType(RivCellSetEnum geometryType) { - if (m_geometriesNeedsRegen[geometryType]) + if (geometryType == PROPERTY_FILTERED) { - createGeometry(geometryType); + for (size_t i = 0; i < m_propFilteredGeometryFrames.size(); ++i) + { + if (m_propFilteredGeometryFrames[i].p()) m_propFilteredGeometryFrames[i]->forceWatertightGeometryOn(); + } + } + else if (geometryType == PROPERTY_FILTERED_WELL_CELLS) + { + for (size_t i = 0; i < m_propFilteredWellGeometryFrames.size(); ++i) + { + if (m_propFilteredWellGeometryFrames[i].p()) m_propFilteredWellGeometryFrames[i]->forceWatertightGeometryOn(); + } + } + else + { + if (m_geometriesNeedsRegen[geometryType]) + { + createGeometry(geometryType); + } + m_geometries[geometryType].forceWatertightGeometryOn(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RivReservoirViewPartMgr::clearWatertightGeometryFlags() +{ + for (size_t i = 0; i < m_propFilteredGeometryFrames.size(); ++i) + { + if (m_propFilteredGeometryFrames[i].p()) m_propFilteredGeometryFrames[i]->clearWatertightGeometryFlag(); + } + + for (size_t i = 0; i < m_propFilteredWellGeometryFrames.size(); ++i) + { + if (m_propFilteredWellGeometryFrames[i].p()) m_propFilteredWellGeometryFrames[i]->clearWatertightGeometryFlag(); + } + + for (int i = 0; i < PROPERTY_FILTERED; i++) + { + m_geometries[RivCellSetEnum(i)].clearWatertightGeometryFlag(); } - m_geometries[geometryType].setFaultForceVisibility(forceVisibility); } diff --git a/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.h b/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.h index 87e0e82672..75417003be 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.h +++ b/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.h @@ -19,18 +19,29 @@ ///////////////////////////////////////////////////////////////////////////////// #pragma once -#include "RivReservoirPartMgr.h" -#include "cvfTransform.h" + +#include "RivCellSetEnum.h" +#include "RivReservoirPartMgr.h" // Must include here because of caf::FixedArray + #include "cafFixedArray.h" #include "cvfArray.h" +#include "cvfBase.h" +#include "cvfTransform.h" + #include "cafPdmObject.h" -#include "RivCellSetEnum.h" class RimEclipseView; class RigGridBase; class RimCellRangeFilterCollection; class RimEclipsePropertyFilterCollection; class RigActiveCellInfo; +class RimEclipseCellColors; +class RimCellEdgeColors; + +namespace cvf +{ + class ModelBasicList; +} class RivReservoirViewPartMgr: public cvf::Object { @@ -46,7 +57,6 @@ class RivReservoirViewPartMgr: public cvf::Object void appendStaticGeometryPartsToModel (cvf::ModelBasicList* model, RivCellSetEnum geometryType, const std::vector& gridIndices); void appendDynamicGeometryPartsToModel(cvf::ModelBasicList* model, RivCellSetEnum geometryType, size_t frameIndex, const std::vector& gridIndices); - void updateCellColor (RivCellSetEnum geometryType, cvf::Color4f color); void updateCellColor (RivCellSetEnum geometryType, size_t timeStepIndex, cvf::Color4f color); void updateCellResultColor (RivCellSetEnum geometryType, size_t timeStepIndex, @@ -64,11 +74,12 @@ class RivReservoirViewPartMgr: public cvf::Object RimCellEdgeColors* cellEdgeResultColors); // Fault labels - RivCellSetEnum geometryTypeForFaultLabels(const std::vector& geometryTypes) const; + RivCellSetEnum geometryTypeForFaultLabels(const std::set& geometryTypes, bool showFaultsOutsideFilters) const; void appendFaultLabelsStaticGeometryPartsToModel(cvf::ModelBasicList* model, RivCellSetEnum geometryType); void appendFaultLabelsDynamicGeometryPartsToModel(cvf::ModelBasicList* model, RivCellSetEnum geometryType, size_t frameIndex); - void setFaultForceVisibilityForGeometryType(RivCellSetEnum geometryType, bool forceVisibility); + void forceWatertightGeometryOnForType(RivCellSetEnum geometryType); + void clearWatertightGeometryFlags(); private: void createGeometry(RivCellSetEnum geometryType); diff --git a/ApplicationCode/ModelVisualization/RivScalarMapperUtils.cpp b/ApplicationCode/ModelVisualization/RivScalarMapperUtils.cpp index 1cfbbc3d5a..11ff995deb 100644 --- a/ApplicationCode/ModelVisualization/RivScalarMapperUtils.cpp +++ b/ApplicationCode/ModelVisualization/RivScalarMapperUtils.cpp @@ -20,9 +20,9 @@ #include "RivScalarMapperUtils.h" #include "RimCellEdgeColors.h" -#include "RimLegendConfig.h" -#include "RimEclipseView.h" #include "RimEclipseCellColors.h" +#include "RimEclipseView.h" +#include "RimLegendConfig.h" #include "RimTernaryLegendConfig.h" #include "RivCellEdgeEffectGenerator.h" @@ -90,11 +90,22 @@ cvf::ref RivScalarMapperUtils::createCellEdgeEffect(cvf::DrawableGe } else { - RivCellEdgeGeometryUtils::addCellEdgeResultsToDrawableGeo(timeStepIndex, cellResultColors, cellEdgeResultColors, - quadToCellFaceMapper, dg, gridIndex, opacityLevel); + bool useDefaultValueForHugeVals = false; + if (!cellResultColors->hasResult()) + { + useDefaultValueForHugeVals = true; + } - cvf::ScalarMapper* cellScalarMapper = cellResultColors->legendConfig()->scalarMapper(); - cellFaceEffectGen.setScalarMapper(cellScalarMapper); + RivCellEdgeGeometryUtils::addCellEdgeResultsToDrawableGeo(timeStepIndex, cellResultColors, cellEdgeResultColors, + quadToCellFaceMapper, dg, gridIndex, useDefaultValueForHugeVals, opacityLevel); + + if (cellResultColors->hasResult()) + { + // If no scalar mapper is set for the effect, a default color is used to fill the texture + // This is what we want when the fault colors should be visible in combination with cell edge + cvf::ScalarMapper* cellScalarMapper = cellResultColors->legendConfig()->scalarMapper(); + cellFaceEffectGen.setScalarMapper(cellScalarMapper); + } } cellFaceEffectGen.setOpacityLevel(opacityLevel); diff --git a/ApplicationCode/ModelVisualization/RivTernaryScalarMapperEffectGenerator.cpp b/ApplicationCode/ModelVisualization/RivTernaryScalarMapperEffectGenerator.cpp index cf78216d87..e1d09b88cb 100644 --- a/ApplicationCode/ModelVisualization/RivTernaryScalarMapperEffectGenerator.cpp +++ b/ApplicationCode/ModelVisualization/RivTernaryScalarMapperEffectGenerator.cpp @@ -32,6 +32,7 @@ #include "cvfShaderSourceProvider.h" #include "cvfTexture.h" #include "cvfTexture2D_FF.h" +#include "cvfUniform.h" @@ -81,6 +82,8 @@ void RivTernaryScalarMapperEffectGenerator::updateForShaderBasedRendering(cvf::E cvf::ref prog = gen.generate(); eff->setShaderProgram(prog.p()); + if(!m_disableLighting) prog->setDefaultUniform(new cvf::UniformFloat("u_ecLightPosition", cvf::Vec3f(0.5, 5.0, 7.0))); + // Result mapping texture m_textureImage = new cvf::TextureImage(); diff --git a/ApplicationCode/ModelVisualization/RivTernaryTextureCoordsCreator.cpp b/ApplicationCode/ModelVisualization/RivTernaryTextureCoordsCreator.cpp index af3985b783..a1a1400bac 100644 --- a/ApplicationCode/ModelVisualization/RivTernaryTextureCoordsCreator.cpp +++ b/ApplicationCode/ModelVisualization/RivTernaryTextureCoordsCreator.cpp @@ -138,17 +138,14 @@ void RivTernaryTextureCoordsCreator::createTextureCoords( quadTextureCoords->resize(numVertices); cvf::Vec2f* rawPtr = quadTextureCoords->ptr(); - cvf::Vec2d resultValue; - cvf::Vec2f texCoord; - -#pragma omp parallel for private(texCoord, resultValue) +#pragma omp parallel for for (int i = 0; i < static_cast(quadMapper->quadCount()); i++) { cvf::StructGridInterface::FaceType faceId = quadMapper->cellFace(i); size_t cellIdx = quadMapper->cellIndex(i); - resultValue = resultAccessor->cellFaceScalar(cellIdx, faceId); - texCoord = texMapper->getTexCoord(resultValue.x(), resultValue.y(), cellIdx); + cvf::Vec2d resultValue = resultAccessor->cellFaceScalar(cellIdx, faceId); + cvf::Vec2f texCoord = texMapper->getTexCoord(resultValue.x(), resultValue.y(), cellIdx); size_t j; for (j = 0; j < 4; j++) @@ -169,16 +166,13 @@ void RivTernaryTextureCoordsCreator::createTextureCoords(cvf::Vec2fArray* textur textureCoords->resize(numVertices); cvf::Vec2f* rawPtr = textureCoords->ptr(); - cvf::Vec2d resultValue; - cvf::Vec2f texCoord; - -#pragma omp parallel for private(texCoord, resultValue) +#pragma omp parallel for for (int i = 0; i < static_cast(triangleToCellIdx.size()); i++) { size_t cellIdx = triangleToCellIdx[i]; - resultValue = resultAccessor->cellScalarGlobIdx(cellIdx); - texCoord = texMapper->getTexCoord(resultValue.x(), resultValue.y(), cellIdx); + cvf::Vec2d resultValue = resultAccessor->cellScalarGlobIdx(cellIdx); + cvf::Vec2f texCoord = texMapper->getTexCoord(resultValue.x(), resultValue.y(), cellIdx); size_t j; for (j = 0; j < 3; j++) diff --git a/ApplicationCode/ModelVisualization/RivTextureCoordsCreator.cpp b/ApplicationCode/ModelVisualization/RivTextureCoordsCreator.cpp index 4f520b2c3d..1b95d89b3f 100644 --- a/ApplicationCode/ModelVisualization/RivTextureCoordsCreator.cpp +++ b/ApplicationCode/ModelVisualization/RivTextureCoordsCreator.cpp @@ -19,15 +19,19 @@ #include "RivTextureCoordsCreator.h" -#include "RimEclipseCellColors.h" -#include "RigCaseData.h" -#include "RimEclipseView.h" -#include "RimEclipseCase.h" #include "RigCaseCellResultsData.h" -#include "RigResultAccessorFactory.h" +#include "RigCaseData.h" #include "RigPipeInCellEvaluator.h" -#include "RivResultToTextureMapper.h" +#include "RigResultAccessorFactory.h" + +#include "RimEclipseCase.h" +#include "RimEclipseCellColors.h" +#include "RimEclipseView.h" #include "RimEclipseWellCollection.h" +#include "RimLegendConfig.h" + +#include "RivResultToTextureMapper.h" + //-------------------------------------------------------------------------------------------------- /// @@ -87,17 +91,14 @@ void RivTextureCoordsCreator::createTextureCoords( quadTextureCoords->resize(numVertices); cvf::Vec2f* rawPtr = quadTextureCoords->ptr(); - double resultValue; - cvf::Vec2f texCoord; - -#pragma omp parallel for private(texCoord, resultValue) +#pragma omp parallel for for (int i = 0; i < static_cast(quadMapper->quadCount()); i++) { cvf::StructGridInterface::FaceType faceId = quadMapper->cellFace(i); size_t cellIdx = quadMapper->cellIndex(i); - resultValue = resultAccessor->cellFaceScalar(cellIdx, faceId); - texCoord = texMapper->getTexCoord(resultValue, cellIdx); + double resultValue = resultAccessor->cellFaceScalar(cellIdx, faceId); + cvf::Vec2f texCoord = texMapper->getTexCoord(resultValue, cellIdx); size_t j; for (j = 0; j < 4; j++) diff --git a/ApplicationCode/ModelVisualization/RivWellHeadPartMgr.cpp b/ApplicationCode/ModelVisualization/RivWellHeadPartMgr.cpp index 0e741a8b50..26ea27b554 100644 --- a/ApplicationCode/ModelVisualization/RivWellHeadPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivWellHeadPartMgr.cpp @@ -22,40 +22,40 @@ #include "RivWellHeadPartMgr.h" -#include "cvfLibCore.h" +#include "RiaApplication.h" -#include "cvfModelBasicList.h" -#include "cvfTransform.h" -#include "cvfPart.h" -#include "cvfArrowGenerator.h" -#include "cafEffectGenerator.h" -#include "cvfDrawableGeo.h" -#include "cvfPrimitiveSetIndexedUShort.h" -#include "cvfGeometryBuilderFaceList.h" -#include "cvfDrawableText.h" -#include "cvfFixedAtlasFont.h" -#include "cvfqtUtils.h" +#include "RigCaseData.h" +#include "RigCell.h" -#include "RimEclipseView.h" -#include "RimEclipseWellCollection.h" -#include "cafPdmFieldCvfMat4d.h" +#include "Rim3dOverlayInfoConfig.h" #include "RimCellEdgeColors.h" #include "RimCellRangeFilterCollection.h" -#include "RimEclipsePropertyFilterCollection.h" -#include "Rim3dOverlayInfoConfig.h" -#include "RimReservoirCellResultsStorage.h" -#include "RimEclipseCellColors.h" -#include "RimLegendConfig.h" - #include "RimEclipseCase.h" +#include "RimEclipseCellColors.h" +#include "RimEclipsePropertyFilterCollection.h" +#include "RimEclipseView.h" #include "RimEclipseWell.h" - -#include "RigCaseData.h" -#include "RigCell.h" +#include "RimEclipseWellCollection.h" +#include "RimLegendConfig.h" +#include "RimReservoirCellResultsStorage.h" #include "RivPipeGeometryGenerator.h" #include "RivWellPipesPartMgr.h" -#include "RiaApplication.h" + +#include "cafEffectGenerator.h" +#include "cafPdmFieldCvfMat4d.h" + +#include "cvfArrowGenerator.h" +#include "cvfDrawableGeo.h" +#include "cvfDrawableText.h" +#include "cvfFixedAtlasFont.h" +#include "cvfGeometryBuilderFaceList.h" +#include "cvfLibCore.h" +#include "cvfModelBasicList.h" +#include "cvfPart.h" +#include "cvfPrimitiveSetIndexedUShort.h" +#include "cvfTransform.h" +#include "cvfqtUtils.h" //-------------------------------------------------------------------------------------------------- @@ -284,10 +284,10 @@ void RivWellHeadPartMgr::buildWellHeadParts(size_t frameIndex) if (m_rimReservoirView->wellCollection()->showWellLabel() && well->showWellLabel() && !well->name().isEmpty()) { - cvf::Font* standardFont = RiaApplication::instance()->standardFont(); + cvf::Font* font = RiaApplication::instance()->customFont(); cvf::ref drawableText = new cvf::DrawableText; - drawableText->setFont(standardFont); + drawableText->setFont(font); drawableText->setCheckPosVisible(false); drawableText->setDrawBorder(false); drawableText->setDrawBackground(false); diff --git a/ApplicationCode/ModelVisualization/RivWellPathPartMgr.cpp b/ApplicationCode/ModelVisualization/RivWellPathPartMgr.cpp index f390936e24..3f07969fb9 100644 --- a/ApplicationCode/ModelVisualization/RivWellPathPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivWellPathPartMgr.cpp @@ -88,7 +88,7 @@ void RivWellPathPartMgr::buildWellPathParts(cvf::Vec3d displayModelOffset, doubl cvf::BoundingBox wellPathClipBoundingBox) { RimWellPathCollection* wellPathCollection = NULL; - m_rimWellPath->firstAnchestorOrThisOfType(wellPathCollection); + m_rimWellPath->firstAncestorOrThisOfType(wellPathCollection); if (!wellPathCollection) return; RigWellPath* wellPathGeometry = m_rimWellPath->wellPathGeometry(); @@ -196,10 +196,10 @@ void RivWellPathPartMgr::buildWellPathParts(cvf::Vec3d displayModelOffset, doubl m_wellLabelPart = NULL; if (wellPathCollection->showWellPathLabel() && m_rimWellPath->showWellPathLabel() && !m_rimWellPath->name().isEmpty()) { - cvf::Font* standardFont = RiaApplication::instance()->standardFont(); + cvf::Font* font = RiaApplication::instance()->customFont(); cvf::ref drawableText = new cvf::DrawableText; - drawableText->setFont(standardFont); + drawableText->setFont(font); drawableText->setCheckPosVisible(false); drawableText->setDrawBorder(false); drawableText->setDrawBackground(false); @@ -234,7 +234,7 @@ void RivWellPathPartMgr::appendStaticGeometryPartsToModel(cvf::ModelBasicList* m double characteristicCellSize, cvf::BoundingBox wellPathClipBoundingBox) { RimWellPathCollection* wellPathCollection = NULL; - m_rimWellPath->firstAnchestorOrThisOfType(wellPathCollection); + m_rimWellPath->firstAncestorOrThisOfType(wellPathCollection); if (!wellPathCollection) return; if (m_rimWellPath.isNull()) return; diff --git a/ApplicationCode/ProjectDataModel/CMakeLists_files.cmake b/ApplicationCode/ProjectDataModel/CMakeLists_files.cmake index 9e8067c291..8c8897587f 100644 --- a/ApplicationCode/ProjectDataModel/CMakeLists_files.cmake +++ b/ApplicationCode/ProjectDataModel/CMakeLists_files.cmake @@ -45,6 +45,8 @@ ${CEE_CURRENT_LIST_DIR}RimCommandObject.h ${CEE_CURRENT_LIST_DIR}RimTools.h ${CEE_CURRENT_LIST_DIR}RimFault.h ${CEE_CURRENT_LIST_DIR}RimFaultCollection.h +${CEE_CURRENT_LIST_DIR}RimFormationNames.h +${CEE_CURRENT_LIST_DIR}RimFormationNamesCollection.h ${CEE_CURRENT_LIST_DIR}RimMockModelSettings.h ${CEE_CURRENT_LIST_DIR}RimTernaryLegendConfig.h ${CEE_CURRENT_LIST_DIR}RimEclipseFaultColors.h @@ -57,6 +59,7 @@ ${CEE_CURRENT_LIST_DIR}RimGeoMechPropertyFilter.h ${CEE_CURRENT_LIST_DIR}RimGeoMechPropertyFilterCollection.h ${CEE_CURRENT_LIST_DIR}RimGeoMechResultDefinition.h ${CEE_CURRENT_LIST_DIR}RimGeoMechCellColors.h +${CEE_CURRENT_LIST_DIR}RimViewWindow.h ${CEE_CURRENT_LIST_DIR}RimView.h ${CEE_CURRENT_LIST_DIR}RimCase.h ${CEE_CURRENT_LIST_DIR}RimTreeViewStateSerializer.h @@ -72,10 +75,13 @@ ${CEE_CURRENT_LIST_DIR}RimWellLogExtractionCurve.h ${CEE_CURRENT_LIST_DIR}RimWellLogFile.h ${CEE_CURRENT_LIST_DIR}RimWellLogFileChannel.h ${CEE_CURRENT_LIST_DIR}RimWellLogFileCurve.h -${CEE_CURRENT_LIST_DIR}RimCrossSection.h -${CEE_CURRENT_LIST_DIR}RimCrossSectionCollection.h +${CEE_CURRENT_LIST_DIR}RimIntersection.h +${CEE_CURRENT_LIST_DIR}RimIntersectionCollection.h ${CEE_CURRENT_LIST_DIR}RimContextCommandBuilder.h ${CEE_CURRENT_LIST_DIR}RimGridCollection.h +${CEE_CURRENT_LIST_DIR}RimPlotCurve.h +${CEE_CURRENT_LIST_DIR}RimEclipseInputCaseOpm.h +${CEE_CURRENT_LIST_DIR}RimIntersectionBox.h ) set (SOURCE_GROUP_SOURCE_FILES @@ -119,6 +125,8 @@ ${CEE_CURRENT_LIST_DIR}RimCommandObject.cpp ${CEE_CURRENT_LIST_DIR}RimTools.cpp ${CEE_CURRENT_LIST_DIR}RimFault.cpp ${CEE_CURRENT_LIST_DIR}RimFaultCollection.cpp +${CEE_CURRENT_LIST_DIR}RimFormationNames.cpp +${CEE_CURRENT_LIST_DIR}RimFormationNamesCollection.cpp ${CEE_CURRENT_LIST_DIR}RimMockModelSettings.cpp ${CEE_CURRENT_LIST_DIR}RimTernaryLegendConfig.cpp ${CEE_CURRENT_LIST_DIR}RimEclipseFaultColors.cpp @@ -131,6 +139,7 @@ ${CEE_CURRENT_LIST_DIR}RimGeoMechPropertyFilter.cpp ${CEE_CURRENT_LIST_DIR}RimGeoMechPropertyFilterCollection.cpp ${CEE_CURRENT_LIST_DIR}RimGeoMechResultDefinition.cpp ${CEE_CURRENT_LIST_DIR}RimGeoMechCellColors.cpp +${CEE_CURRENT_LIST_DIR}RimViewWindow.cpp ${CEE_CURRENT_LIST_DIR}RimView.cpp ${CEE_CURRENT_LIST_DIR}RimCase.cpp ${CEE_CURRENT_LIST_DIR}RimTreeViewStateSerializer.cpp @@ -146,10 +155,13 @@ ${CEE_CURRENT_LIST_DIR}RimWellLogExtractionCurve.cpp ${CEE_CURRENT_LIST_DIR}RimWellLogFile.cpp ${CEE_CURRENT_LIST_DIR}RimWellLogFileChannel.cpp ${CEE_CURRENT_LIST_DIR}RimWellLogFileCurve.cpp -${CEE_CURRENT_LIST_DIR}RimCrossSection.cpp -${CEE_CURRENT_LIST_DIR}RimCrossSectionCollection.cpp +${CEE_CURRENT_LIST_DIR}RimIntersection.cpp +${CEE_CURRENT_LIST_DIR}RimIntersectionCollection.cpp ${CEE_CURRENT_LIST_DIR}RimContextCommandBuilder.cpp ${CEE_CURRENT_LIST_DIR}RimGridCollection.cpp +${CEE_CURRENT_LIST_DIR}RimPlotCurve.cpp +${CEE_CURRENT_LIST_DIR}RimEclipseInputCaseOpm.cpp +${CEE_CURRENT_LIST_DIR}RimIntersectionBox.cpp ) list(APPEND CODE_HEADER_FILES diff --git a/ApplicationCode/ProjectDataModel/Rim3dOverlayInfoConfig.cpp b/ApplicationCode/ProjectDataModel/Rim3dOverlayInfoConfig.cpp index f7f0969899..ffd069bd20 100644 --- a/ApplicationCode/ProjectDataModel/Rim3dOverlayInfoConfig.cpp +++ b/ApplicationCode/ProjectDataModel/Rim3dOverlayInfoConfig.cpp @@ -22,28 +22,29 @@ #include "RigCaseCellResultsData.h" #include "RigCaseData.h" -#include "RimEclipseCase.h" +#include "RigEclipseNativeVisibleCellsStatCalc.h" +#include "RigFemNativeVisibleCellsStatCalc.h" +#include "RigFemPartCollection.h" +#include "RigFemPartResultsCollection.h" +#include "RigFemResultAddress.h" +#include "RigGeoMechCaseData.h" +#include "RigStatisticsDataCache.h" + #include "RimCellEdgeColors.h" -#include "RimEclipsePropertyFilterCollection.h" -#include "RimFaultCollection.h" +#include "RimEclipseCase.h" +#include "RimEclipseCellColors.h" #include "RimEclipseFaultColors.h" -#include "RimReservoirCellResultsStorage.h" +#include "RimEclipsePropertyFilterCollection.h" #include "RimEclipseView.h" -#include "RimEclipseCellColors.h" #include "RimEclipseWellCollection.h" -#include "RiuViewer.h" +#include "RimFaultCollection.h" +#include "RimGeoMechCase.h" +#include "RimGeoMechResultDefinition.h" #include "RimGeoMechView.h" +#include "RimReservoirCellResultsStorage.h" #include "RimView.h" -#include "RimGeoMechCase.h" -#include "RigGeoMechCaseData.h" -#include "RigFemPartCollection.h" -#include "RimGeoMechCellColors.h" -#include "RigFemResultAddress.h" -#include "RigFemPartResultsCollection.h" -#include "RigStatisticsDataCache.h" -#include "RigFemNativeVisibleCellsStatCalc.h" -#include "RigEclipseNativeVisibleCellsStatCalc.h" +#include "RiuViewer.h" CAF_PDM_SOURCE_INIT(Rim3dOverlayInfoConfig, "View3dOverlayInfoConfig"); //-------------------------------------------------------------------------------------------------- @@ -197,6 +198,7 @@ void Rim3dOverlayInfoConfig::updateEclipse3DInfo(RimEclipseView * eclipseView) double min = HUGE_VAL, max = HUGE_VAL; double p10 = HUGE_VAL, p90 = HUGE_VAL; double mean = HUGE_VAL; + double sum = 0.0; const std::vector* histogram = NULL; bool isResultsInfoRelevant = eclipseView->hasUserRequestedAnimation() && eclipseView->cellResult()->hasResult(); @@ -213,6 +215,7 @@ void Rim3dOverlayInfoConfig::updateEclipse3DInfo(RimEclipseView * eclipseView) eclipseView->currentGridCellResults()->cellResults()->minMaxCellScalarValues(scalarIndex, min, max); eclipseView->currentGridCellResults()->cellResults()->p10p90CellScalarValues(scalarIndex, p10, p90); eclipseView->currentGridCellResults()->cellResults()->meanCellScalarValues(scalarIndex, mean); + eclipseView->currentGridCellResults()->cellResults()->sumCellScalarValues(scalarIndex, sum); histogram = &(eclipseView->currentGridCellResults()->cellResults()->cellScalarValuesHistogram(scalarIndex)); } else if (m_statisticsTimeRange == CURRENT_TIMESTEP ) @@ -220,7 +223,8 @@ void Rim3dOverlayInfoConfig::updateEclipse3DInfo(RimEclipseView * eclipseView) int timeStepIdx = eclipseView->currentTimeStep(); eclipseView->currentGridCellResults()->cellResults()->minMaxCellScalarValues(scalarIndex, timeStepIdx, min, max); eclipseView->currentGridCellResults()->cellResults()->p10p90CellScalarValues(scalarIndex, timeStepIdx, p10, p90); - eclipseView->currentGridCellResults()->cellResults()->meanCellScalarValues(scalarIndex, timeStepIdx, mean); + eclipseView->currentGridCellResults()->cellResults()->meanCellScalarValues(scalarIndex, timeStepIdx, mean); + eclipseView->currentGridCellResults()->cellResults()->sumCellScalarValues(scalarIndex, timeStepIdx, sum); histogram = &(eclipseView->currentGridCellResults()->cellResults()->cellScalarValuesHistogram(scalarIndex, timeStepIdx)); } else @@ -237,6 +241,7 @@ void Rim3dOverlayInfoConfig::updateEclipse3DInfo(RimEclipseView * eclipseView) m_visibleCellStatistics->meanCellScalarValues(mean); m_visibleCellStatistics->minMaxCellScalarValues(min, max); m_visibleCellStatistics->p10p90CellScalarValues(p10, p90); + m_visibleCellStatistics->sumCellScalarValues(sum); histogram = &(m_visibleCellStatistics->cellScalarValuesHistogram()); } @@ -246,6 +251,7 @@ void Rim3dOverlayInfoConfig::updateEclipse3DInfo(RimEclipseView * eclipseView) m_visibleCellStatistics->meanCellScalarValues(currentTimeStep, mean); m_visibleCellStatistics->minMaxCellScalarValues(currentTimeStep, min, max); m_visibleCellStatistics->p10p90CellScalarValues(currentTimeStep, p10, p90); + m_visibleCellStatistics->sumCellScalarValues(currentTimeStep, sum); histogram = &(m_visibleCellStatistics->cellScalarValuesHistogram(currentTimeStep)); } @@ -303,9 +309,9 @@ void Rim3dOverlayInfoConfig::updateEclipse3DInfo(RimEclipseView * eclipseView) infoText += QString("Cell Property: %1 ").arg(propName); infoText += QString("
Statistics: ") + m_statisticsTimeRange().uiText() + " and " + m_statisticsCellRange().uiText(); infoText += QString("" - "" - "" - "
Min P10 Mean P90 Max
%1 %2 %3 %4 %5
").arg(min).arg(p10).arg(mean).arg(p90).arg(max); + " Min P10 Mean P90 Max Sum " + " %1 %2 %3 %4 %5 %6 " + "").arg(min).arg(p10).arg(mean).arg(p90).arg(max).arg(sum); if (eclipseView->faultResultSettings()->hasValidCustomResult()) { @@ -374,20 +380,21 @@ void Rim3dOverlayInfoConfig::updateGeoMech3DInfo(RimGeoMechView * geoMechView) { RimGeoMechCase* geoMechCase = geoMechView->geoMechCase(); RigGeoMechCaseData* caseData = geoMechCase ? geoMechCase->geoMechData() : NULL; - bool isResultsInfoRelevant = caseData && geoMechView->hasUserRequestedAnimation() && geoMechView->cellResult()->hasResult(); + bool isResultsInfoRelevant = caseData && geoMechView->hasUserRequestedAnimation() && geoMechView->cellResultResultDefinition()->hasResult(); // Retreive result stats if needed double min = HUGE_VAL, max = HUGE_VAL; double p10 = HUGE_VAL, p90 = HUGE_VAL; double mean = HUGE_VAL; + double sum = 0.0; const std::vector* histogram = NULL; if (showResultInfo() || showHistogram()) { if (isResultsInfoRelevant) { - RigFemResultAddress resAddress = geoMechView->cellResult()->resultAddress(); + RigFemResultAddress resAddress = geoMechView->cellResultResultDefinition()->resultAddress(); if (m_statisticsCellRange == ALL_CELLS) { if (m_statisticsTimeRange == ALL_TIMESTEPS) @@ -395,6 +402,7 @@ void Rim3dOverlayInfoConfig::updateGeoMech3DInfo(RimGeoMechView * geoMechView) caseData->femPartResults()->meanScalarValue(resAddress, &mean); caseData->femPartResults()->minMaxScalarValues(resAddress, &min, &max); caseData->femPartResults()->p10p90ScalarValues(resAddress, &p10, &p90); + caseData->femPartResults()->sumScalarValue(resAddress, &sum); histogram = &(caseData->femPartResults()->scalarValuesHistogram(resAddress)); } @@ -404,6 +412,7 @@ void Rim3dOverlayInfoConfig::updateGeoMech3DInfo(RimGeoMechView * geoMechView) caseData->femPartResults()->meanScalarValue(resAddress, timeStepIdx, &mean); caseData->femPartResults()->minMaxScalarValues(resAddress, timeStepIdx, &min, &max); caseData->femPartResults()->p10p90ScalarValues(resAddress, timeStepIdx, &p10, &p90); + caseData->femPartResults()->sumScalarValue(resAddress, timeStepIdx, &sum); histogram = &(caseData->femPartResults()->scalarValuesHistogram(resAddress, timeStepIdx)); } @@ -418,6 +427,7 @@ void Rim3dOverlayInfoConfig::updateGeoMech3DInfo(RimGeoMechView * geoMechView) m_visibleCellStatistics->meanCellScalarValues(mean); m_visibleCellStatistics->minMaxCellScalarValues(min, max); m_visibleCellStatistics->p10p90CellScalarValues(p10, p90); + m_visibleCellStatistics->sumCellScalarValues(sum); histogram = &(m_visibleCellStatistics->cellScalarValuesHistogram()); } @@ -427,6 +437,7 @@ void Rim3dOverlayInfoConfig::updateGeoMech3DInfo(RimGeoMechView * geoMechView) m_visibleCellStatistics->meanCellScalarValues(timeStepIdx, mean); m_visibleCellStatistics->minMaxCellScalarValues(timeStepIdx, min, max); m_visibleCellStatistics->p10p90CellScalarValues(timeStepIdx, p10, p90); + m_visibleCellStatistics->sumCellScalarValues(timeStepIdx, sum); histogram = &(m_visibleCellStatistics->cellScalarValuesHistogram(timeStepIdx)); } @@ -462,10 +473,10 @@ void Rim3dOverlayInfoConfig::updateGeoMech3DInfo(RimGeoMechView * geoMechView) { { QString resultPos; - QString fieldName = geoMechView->cellResult()->resultFieldUiName(); - QString compName = geoMechView->cellResult()->resultComponentUiName(); + QString fieldName = geoMechView->cellResultResultDefinition()->resultFieldUiName(); + QString compName = geoMechView->cellResultResultDefinition()->resultComponentUiName(); - switch (geoMechView->cellResult()->resultPositionType()) + switch (geoMechView->cellResultResultDefinition()->resultPositionType()) { case RIG_NODAL: resultPos = "Nodal"; @@ -488,10 +499,9 @@ void Rim3dOverlayInfoConfig::updateGeoMech3DInfo(RimGeoMechView * geoMechView) { infoText += QString("
Statistics: ") + m_statisticsTimeRange().uiText() + " and " + m_statisticsCellRange().uiText(); infoText += QString("" - "" - "" - "
Min P10 Mean P90 Max
%1 %2 %3 %4 %5
").arg(min).arg(p10).arg(mean).arg(p90).arg(max); - + " Min P10 Mean P90 Max Sum " + " %1 %2 %3 %4 %5 %6 " + "").arg(min).arg(p10).arg(mean).arg(p90).arg(max).arg(sum); } } @@ -528,7 +538,7 @@ void Rim3dOverlayInfoConfig::updateVisCellStatsIfNeeded() cvf::ref calc; if (geoMechView) { - RigFemResultAddress resAddress = geoMechView->cellResult()->resultAddress(); + RigFemResultAddress resAddress = geoMechView->cellResultResultDefinition()->resultAddress(); calc = new RigFemNativeVisibleCellsStatCalc(geoMechView->geoMechCase()->geoMechData(), resAddress, geoMechView->currentTotalCellVisibility().p()); diff --git a/ApplicationCode/ProjectDataModel/RimCase.cpp b/ApplicationCode/ProjectDataModel/RimCase.cpp index 1baf6e8942..daefa3f2ec 100644 --- a/ApplicationCode/ProjectDataModel/RimCase.cpp +++ b/ApplicationCode/ProjectDataModel/RimCase.cpp @@ -25,6 +25,11 @@ #include #include #include +#include "RimProject.h" +#include "RiaApplication.h" +#include "RimOilField.h" +#include "RimFormationNamesCollection.h" +#include "RimFormationNames.h" CAF_PDM_XML_ABSTRACT_SOURCE_INIT(RimCase, "RimCase"); @@ -39,6 +44,8 @@ RimCase::RimCase() CAF_PDM_InitField(&caseId, "CaseId", -1, "Case ID", "", "" ,""); caseId.uiCapability()->setUiReadOnly(true); + CAF_PDM_InitFieldNoDefault(&activeFormationNames, "DefaultFormationNames", "Formation Names File", "", "", ""); + } //-------------------------------------------------------------------------------------------------- @@ -49,167 +56,37 @@ RimCase::~RimCase() } - - //-------------------------------------------------------------------------------------------------- -/// Relocate the supplied file name, based on the search path as follows: -/// fileName, newProjectPath/fileNameWoPath, relocatedPath/fileNameWoPath -/// If the file is not found in any of the positions, the fileName is returned but converted to Qt Style path separators: "/" -/// -/// The relocatedPath is found in this way: -/// use the start of newProjectPath -/// plus the end of the path to m_gridFileName -/// such that the common start of oldProjectPath and m_gridFileName is removed from m_gridFileName -/// and replaced with the start of newProjectPath up to where newProjectPath starts to be equal to oldProjectPath +/// //-------------------------------------------------------------------------------------------------- -QString RimCase::relocateFile(const QString& orgFileName, const QString& orgNewProjectPath, const QString& orgOldProjectPath, - bool* foundFile, std::vector* searchedPaths) +cvf::Vec3d RimCase::displayModelOffset() const { - if (foundFile) *foundFile = true; - - // Make sure we have a Qt formatted path ( using "/" not "\") - QString fileName = QDir::fromNativeSeparators(orgFileName); - QString newProjectPath = QDir::fromNativeSeparators(orgNewProjectPath); - QString oldProjectPath = QDir::fromNativeSeparators(orgOldProjectPath); - - // If we from a file or whatever gets a real windows path on linux, we need to manually convert it - // because Qt will not. QDir::fromNativeSeparators does nothing on linux. - - bool isWindowsPath = false; - if (orgFileName.count("/")) isWindowsPath = false; // "/" are not allowed in a windows path - else if (orgFileName.count("\\") - && !QFile::exists(orgFileName)) // To make sure we do not convert single linux files containing "\" - { - isWindowsPath = true; - } - - if (isWindowsPath) - { - // Windows absolute path detected. transform. - fileName.replace(QString("\\"), QString("/")); - } - - if (searchedPaths) searchedPaths->push_back(fileName); - if (QFile::exists(fileName)) - { - return fileName; - } - - // First check in the new project file directory - { - QString fileNameWithoutPath = QFileInfo(fileName).fileName(); - QString candidate = QDir::fromNativeSeparators(newProjectPath + QDir::separator() + fileNameWithoutPath); - if (searchedPaths) searchedPaths->push_back(candidate); - - if (QFile::exists(candidate)) - { - return candidate; - } - } - - // Then find the possible move of a directory structure where projects and files referenced are moved in "paralell" - - QFileInfo gridFileInfo(QDir::fromNativeSeparators(fileName)); - QString gridFilePath = gridFileInfo.path(); - QString gridFileNameWoPath = gridFileInfo.fileName(); - QStringList gridPathElements = gridFilePath.split("/", QString::KeepEmptyParts); - - QString oldProjPath = QDir::fromNativeSeparators(oldProjectPath); - QStringList oldProjPathElements = oldProjPath.split("/", QString::KeepEmptyParts); - - QString newProjPath = QDir::fromNativeSeparators(newProjectPath); - QStringList newProjPathElements = newProjPath.split("/", QString::KeepEmptyParts); - - // Find the possible equal start of the old project path, and the referenced file - - bool pathStartsAreEqual = false; - bool pathEndsDiffer = false; - int firstDiffIdx = 0; - for ( firstDiffIdx = 0; firstDiffIdx < gridPathElements.size() && firstDiffIdx < oldProjPathElements.size(); ++firstDiffIdx) - { - if (gridPathElements[firstDiffIdx] == oldProjPathElements[firstDiffIdx]) - { - pathStartsAreEqual = pathStartsAreEqual || !gridPathElements[firstDiffIdx].isEmpty(); - } - else - { - pathEndsDiffer = true; - break; - } - } - - if (!pathEndsDiffer && firstDiffIdx < gridPathElements.size() || firstDiffIdx < oldProjPathElements.size()) - { - pathEndsDiffer = true; - } + return cvf::Vec3d::ZERO; +} - // If the path starts are equal, try to substitute it in the referenced file, with the corresponding new project path start +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QList RimCase::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) +{ + QList optionList; - if (pathStartsAreEqual) + if(fieldNeedingOptions == &activeFormationNames) { - if (pathEndsDiffer) + RimProject* proj = RiaApplication::instance()->project(); + if (proj && proj->activeOilField() && proj->activeOilField()->formationNamesCollection()) { - QString oldGridFilePathEnd; - for (int i = firstDiffIdx; i < gridPathElements.size(); ++i) - { - oldGridFilePathEnd += gridPathElements[i]; - oldGridFilePathEnd += "/"; - } - - // Find the new Project File Start Path - - QStringList oldProjectFilePathEndElements; - for (int i = firstDiffIdx; i < oldProjPathElements.size(); ++i) - { - oldProjectFilePathEndElements.push_back(oldProjPathElements[i]); - } - - int ppIdx = oldProjectFilePathEndElements.size() -1; - int lastDiffIdx = newProjPathElements.size() -1; - - for (; lastDiffIdx >= 0 && ppIdx >= 0; --lastDiffIdx, --ppIdx) + for(RimFormationNames* fnames : proj->activeOilField()->formationNamesCollection()->formationNamesList()) { - if (oldProjectFilePathEndElements[ppIdx] != newProjPathElements[lastDiffIdx]) - { - break; - } - } - - QString newProjecetFileStartPath; - for (int i = 0; i <= lastDiffIdx; ++i) - { - newProjecetFileStartPath += newProjPathElements[i]; - newProjecetFileStartPath += "/"; - } - - QString relocationPath = newProjecetFileStartPath + oldGridFilePathEnd; - - QString relocatedFileName = relocationPath + gridFileNameWoPath; - - if (searchedPaths) searchedPaths->push_back(relocatedFileName); - - if (QFile::exists(relocatedFileName)) - { - return relocatedFileName; + optionList.push_back(caf::PdmOptionItemInfo(fnames->fileNameWoPath(), + QVariant::fromValue(caf::PdmPointer(fnames)), + false, + fnames->uiCapability()->uiIcon())); } } - else - { - // The Grid file was located in the same dir as the Project file. This is supposed to be handled above. - // So we did not find it - } - } - - // return the unchanged filename, if we could not find a valid relocation file - if (foundFile) *foundFile = false; - return fileName; -} + optionList.push_front(caf::PdmOptionItemInfo("None", QVariant::fromValue(caf::PdmPointer(NULL)))); + } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -cvf::Vec3d RimCase::displayModelOffset() const -{ - return cvf::Vec3d::ZERO; + return optionList; } diff --git a/ApplicationCode/ProjectDataModel/RimCase.h b/ApplicationCode/ProjectDataModel/RimCase.h index fefae0e538..8b840399d9 100644 --- a/ApplicationCode/ProjectDataModel/RimCase.h +++ b/ApplicationCode/ProjectDataModel/RimCase.h @@ -19,6 +19,7 @@ #pragma once +#include "cafPdmPtrField.h" #include "cafPdmField.h" #include "cafPdmObject.h" @@ -28,6 +29,7 @@ #include class RimView; +class RimFormationNames; namespace cvf { class BoundingBox; @@ -40,15 +42,15 @@ class RimCase : public caf::PdmObject RimCase(); virtual ~RimCase(); + caf::PdmField caseId; caf::PdmField caseUserDescription; - caf::PdmField caseId; + caf::PdmPtrField activeFormationNames; + virtual std::vector views() = 0; virtual void updateFilePathsFromProjectPath(const QString& projectPath, const QString& oldProjectPath) = 0; - virtual caf::PdmFieldHandle* userDescriptionField() { return &caseUserDescription; } - virtual QStringList timeStepStrings() = 0; virtual QString timeStepName(int frameIdx) = 0; @@ -57,10 +59,11 @@ class RimCase : public caf::PdmObject virtual cvf::Vec3d displayModelOffset() const; -protected: - static QString relocateFile(const QString& fileName, const QString& newProjectPath, const QString& oldProjectPath, - bool* foundFile, std::vector* searchedPaths); + virtual void updateFormationNamesData() = 0; + private: + virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) override; + virtual caf::PdmFieldHandle* userDescriptionField() override { return &caseUserDescription; } }; diff --git a/ApplicationCode/ProjectDataModel/RimCellEdgeColors.cpp b/ApplicationCode/ProjectDataModel/RimCellEdgeColors.cpp index 56be7f3f1a..0dbae8b5d4 100644 --- a/ApplicationCode/ProjectDataModel/RimCellEdgeColors.cpp +++ b/ApplicationCode/ProjectDataModel/RimCellEdgeColors.cpp @@ -21,13 +21,28 @@ #include "RimCellEdgeColors.h" #include "RigCaseCellResultsData.h" + +#include "RimEclipseCellColors.h" +#include "RimEclipseView.h" #include "RimLegendConfig.h" #include "RimReservoirCellResultsStorage.h" -#include "RimEclipseView.h" #include "cafPdmUiListEditor.h" +#include "cafPdmUiTreeOrdering.h" + #include "cvfMath.h" +namespace caf +{ + template<> + void AppEnum< RimCellEdgeColors::PropertyType >::setUp() + { + addItem(RimCellEdgeColors::MULTI_AXIS_STATIC_PROPERTY, "MULTI_AXIS_STATIC_PROPERTY", "Multi Axis Static Property"); + addItem(RimCellEdgeColors::ANY_SINGLE_PROPERTY, "ANY_SINGLE_PROPERTY", "Any Single Property"); + setDefault(RimCellEdgeColors::MULTI_AXIS_STATIC_PROPERTY); + } +} + CAF_PDM_SOURCE_INIT(RimCellEdgeColors, "CellEdgeResultSlot"); @@ -39,19 +54,22 @@ RimCellEdgeColors::RimCellEdgeColors() CAF_PDM_InitObject("Cell Edge Result", ":/EdgeResult_1.png", "", ""); CAF_PDM_InitField(&enableCellEdgeColors, "EnableCellEdgeColors", true, "Enable cell edge results", "", "", ""); - enableCellEdgeColors.uiCapability()->setUiHidden(true); - CAF_PDM_InitFieldNoDefault(&resultVariable, "CellEdgeVariable", "Result property", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_propertyType, "propertyType", "Property Type", "", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_resultVariable, "CellEdgeVariable", "Result property", "", "", ""); CAF_PDM_InitField(&useXVariable, "UseXVariable", true, "Use X values", "", "", ""); CAF_PDM_InitField(&useYVariable, "UseYVariable", true, "Use Y values", "", "", ""); CAF_PDM_InitField(&useZVariable, "UseZVariable", true, "Use Z values", "", "", ""); - CAF_PDM_InitFieldNoDefault(&legendConfig, "LegendDefinition", "Legend Definition", ":/Legend.png", "", ""); - legendConfig.uiCapability()->setUiHidden(true); + CAF_PDM_InitFieldNoDefault(&m_legendConfig, "LegendDefinition", "Legend Definition", ":/Legend.png", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_singleVarEdgeResultColors, "SingleVarEdgeResult", "Result Property", ":/CellResult.png", "", ""); + m_singleVarEdgeResultColors = new RimEclipseCellColors(); - resultVariable.uiCapability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName()); + m_resultVariable.uiCapability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName()); - legendConfig = new RimLegendConfig(); + m_legendConfig = new RimLegendConfig(); m_ignoredResultScalar = cvf::UNDEFINED_DOUBLE; resetResultIndices(); @@ -62,7 +80,8 @@ RimCellEdgeColors::RimCellEdgeColors() //-------------------------------------------------------------------------------------------------- RimCellEdgeColors::~RimCellEdgeColors() { - delete legendConfig(); + delete m_legendConfig(); + delete m_singleVarEdgeResultColors; } //-------------------------------------------------------------------------------------------------- @@ -71,7 +90,8 @@ RimCellEdgeColors::~RimCellEdgeColors() void RimCellEdgeColors::setReservoirView(RimEclipseView* ownerReservoirView) { m_reservoirView = ownerReservoirView; - this->legendConfig()->setReservoirView(ownerReservoirView); + this->m_legendConfig()->setReservoirView(ownerReservoirView); + m_singleVarEdgeResultColors->setReservoirView(ownerReservoirView); } //-------------------------------------------------------------------------------------------------- @@ -81,30 +101,57 @@ void RimCellEdgeColors::loadResult() { CVF_ASSERT(m_reservoirView && m_reservoirView->currentGridCellResults()); - resetResultIndices(); - QStringList vars = findResultVariableNames(); - updateIgnoredScalarValue(); + if (isUsingSingleVariable()) + { + size_t resultindex = m_reservoirView->currentGridCellResults()->findOrLoadScalarResult(m_singleVarEdgeResultColors->resultType(), + m_singleVarEdgeResultColors->resultVariable()); - int i; - for (i = 0; i < vars.size(); ++i) + for (int cubeFaceIdx = 0; cubeFaceIdx < 6; ++cubeFaceIdx) + { + m_resultNameToIndexPairs[cubeFaceIdx] = std::make_pair(m_singleVarEdgeResultColors->resultVariable(), resultindex); + } + } + else { - size_t resultindex = m_reservoirView->currentGridCellResults()->findOrLoadScalarResult(RimDefines::STATIC_NATIVE, vars[i]); - int cubeFaceIdx; - for (cubeFaceIdx = 0; cubeFaceIdx < 6; ++cubeFaceIdx) - { - if ( ((cubeFaceIdx == 0 || cubeFaceIdx == 1) && useXVariable()) - || ((cubeFaceIdx == 2 || cubeFaceIdx == 3) && useYVariable()) - || ((cubeFaceIdx == 4 || cubeFaceIdx == 5) && useZVariable())) - { - QString varEnd = EdgeFaceEnum::textFromIndex(cubeFaceIdx); + resetResultIndices(); + QStringList vars = findResultVariableNames(); + updateIgnoredScalarValue(); - if (vars[i].endsWith(varEnd)) + int i; + for (i = 0; i < vars.size(); ++i) + { + size_t resultindex = m_reservoirView->currentGridCellResults()->findOrLoadScalarResult(RimDefines::STATIC_NATIVE, vars[i]); + int cubeFaceIdx; + for (cubeFaceIdx = 0; cubeFaceIdx < 6; ++cubeFaceIdx) + { + if ( ((cubeFaceIdx == 0 || cubeFaceIdx == 1) && useXVariable()) + || ((cubeFaceIdx == 2 || cubeFaceIdx == 3) && useYVariable()) + || ((cubeFaceIdx == 4 || cubeFaceIdx == 5) && useZVariable())) { - m_resultNameToIndexPairs[cubeFaceIdx] = std::make_pair(vars[i], resultindex); + QString varEnd = EdgeFaceEnum::textFromIndex(cubeFaceIdx); + + if (vars[i].endsWith(varEnd)) + { + m_resultNameToIndexPairs[cubeFaceIdx] = std::make_pair(vars[i], resultindex); + } } } - } + } } + + updateFieldVisibility(); + + updateConnectedEditors(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimCellEdgeColors::initAfterRead() +{ + m_singleVarEdgeResultColors->initAfterRead(); + + updateFieldVisibility(); } //-------------------------------------------------------------------------------------------------- @@ -138,7 +185,7 @@ namespace caf QList RimCellEdgeColors::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) { - if (fieldNeedingOptions == &resultVariable) + if (fieldNeedingOptions == &m_resultVariable) { if (m_reservoirView && m_reservoirView->currentGridCellResults()) { @@ -199,8 +246,8 @@ QList RimCellEdgeColors::calculateValueOptions(const caf } - optionList.push_front(caf::PdmOptionItemInfo( RimDefines::undefinedResultName(), "" )); - + optionList.push_front(caf::PdmOptionItemInfo(RimDefines::undefinedResultName(), "")); + if (useOptionsOnly) *useOptionsOnly = true; return optionList; @@ -210,6 +257,40 @@ QList RimCellEdgeColors::calculateValueOptions(const caf return QList(); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimCellEdgeColors::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) +{ + uiOrdering.add(&m_propertyType); + + if (isUsingSingleVariable()) + { + uiOrdering.add(&(m_singleVarEdgeResultColors->m_resultTypeUiField)); + uiOrdering.add(&(m_singleVarEdgeResultColors->m_porosityModelUiField)); + uiOrdering.add(&(m_singleVarEdgeResultColors->m_resultVariableUiField)); + } + else + { + uiOrdering.add(&m_resultVariable); + + uiOrdering.add(&useXVariable); + uiOrdering.add(&useYVariable); + uiOrdering.add(&useZVariable); + } + + uiOrdering.setForgetRemainingFields(true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimCellEdgeColors::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName /*= ""*/) +{ + uiTreeOrdering.add(legendConfig()); + uiTreeOrdering.setForgetRemainingFields(true); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -217,7 +298,7 @@ QStringList RimCellEdgeColors::findResultVariableNames() { QStringList varNames; - if (m_reservoirView && m_reservoirView->currentGridCellResults() && !resultVariable().isEmpty()) + if (m_reservoirView && m_reservoirView->currentGridCellResults() && !m_resultVariable().isEmpty()) { QStringList varList; varList = m_reservoirView->currentGridCellResults()->cellResults()->resultNames(RimDefines::STATIC_NATIVE); @@ -228,7 +309,7 @@ QStringList RimCellEdgeColors::findResultVariableNames() { if (RimDefines::isPerCellFaceResult(varList[i])) continue; - if (varList[i].startsWith(resultVariable)) + if (varList[i].startsWith(m_resultVariable)) { varNames.append(varList[i]); } @@ -254,7 +335,7 @@ void RimCellEdgeColors::gridScalarIndices(size_t resultIndices[6]) //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimCellEdgeColors::gridScalarResultNames(QStringList* resultNames) +void RimCellEdgeColors::gridScalarResultNames(std::vector* resultNames) { CVF_ASSERT(resultNames); @@ -263,7 +344,53 @@ void RimCellEdgeColors::gridScalarResultNames(QStringList* resultNames) { resultNames->push_back(m_resultNameToIndexPairs[cubeFaceIndex].first); } +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimCellEdgeColors::isUsingSingleVariable() const +{ + return (m_propertyType == ANY_SINGLE_PROPERTY); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimCellEdgeColors::cellEdgeMetaData(std::vector* metaDataVector) +{ + CVF_ASSERT(metaDataVector); + + size_t resultIndices[6]; + this->gridScalarIndices(resultIndices); + + std::vector resultNames; + this->gridScalarResultNames(&resultNames); + + bool isStatic = true; + if (isUsingSingleVariable()) + { + isStatic = m_singleVarEdgeResultColors->resultType() == RimDefines::STATIC_NATIVE; + } + + for (size_t i = 0; i < 6; i++) + { + RimCellEdgeMetaData metaData; + metaData.m_resultIndex = resultIndices[i]; + metaData.m_resultVariable = resultNames[i]; + metaData.m_isStatic = isStatic; + metaDataVector->push_back(metaData); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimCellEdgeColors::updateFieldVisibility() +{ + m_singleVarEdgeResultColors->updateFieldVisibility(); } //-------------------------------------------------------------------------------------------------- @@ -300,7 +427,7 @@ bool RimCellEdgeColors::hasResult() const //-------------------------------------------------------------------------------------------------- void RimCellEdgeColors::updateIgnoredScalarValue() { - if (resultVariable == "MULT" || resultVariable == "riMULT") + if (m_resultVariable == "MULT" || m_resultVariable == "riMULT") { m_ignoredResultScalar = 1.0; } @@ -367,6 +494,37 @@ void RimCellEdgeColors::posNegClosestToZero(double& pos, double& neg) } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimCellEdgeColors::setEclipseCase(RimEclipseCase* eclipseCase) +{ + m_singleVarEdgeResultColors->setEclipseCase(eclipseCase); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimCellEdgeColors::setResultVariable(const QString& variableName) +{ + m_resultVariable = variableName; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimCellEdgeColors::resultVariable() const +{ + if (isUsingSingleVariable()) + { + return m_singleVarEdgeResultColors->resultVariable(); + } + else + { + return m_resultVariable; + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -375,3 +533,34 @@ caf::PdmFieldHandle* RimCellEdgeColors::objectToggleField() return &enableCellEdgeColors; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimCellEdgeColors::hasCategoryResult() const +{ + return isUsingSingleVariable() && m_singleVarEdgeResultColors->hasCategoryResult(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimEclipseCellColors* RimCellEdgeColors::singleVarEdgeResultColors() +{ + return m_singleVarEdgeResultColors; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimLegendConfig* RimCellEdgeColors::legendConfig() +{ + if (isUsingSingleVariable()) + { + return m_singleVarEdgeResultColors->legendConfig(); + } + else + { + return m_legendConfig; + } +} + diff --git a/ApplicationCode/ProjectDataModel/RimCellEdgeColors.h b/ApplicationCode/ProjectDataModel/RimCellEdgeColors.h index 6a8e3c8215..519bcefc46 100644 --- a/ApplicationCode/ProjectDataModel/RimCellEdgeColors.h +++ b/ApplicationCode/ProjectDataModel/RimCellEdgeColors.h @@ -29,9 +29,18 @@ #include "cafPdmObject.h" class RigCaseCellResultsData; +class RimEclipseCase; +class RimEclipseCellColors; class RimEclipseView; class RimLegendConfig; +class RimCellEdgeMetaData +{ +public: + size_t m_resultIndex; + QString m_resultVariable; + bool m_isStatic; +}; //================================================================================================== /// @@ -51,42 +60,68 @@ class RimCellEdgeColors : public caf::PdmObject Z, NEG_Z }; + enum PropertyType + { + MULTI_AXIS_STATIC_PROPERTY, + ANY_SINGLE_PROPERTY + }; + typedef caf::AppEnum EdgeFaceEnum; void setReservoirView(RimEclipseView* ownerReservoirView); + void setEclipseCase(RimEclipseCase* eclipseCase); + + void setResultVariable(const QString& variableName); + QString resultVariable() const; - caf::PdmField resultVariable; caf::PdmField enableCellEdgeColors; - caf::PdmChildField legendConfig; double ignoredScalarValue() { return m_ignoredResultScalar; } void gridScalarIndices(size_t resultIndices[6]); - void gridScalarResultNames(QStringList* resultNames); + void cellEdgeMetaData(std::vector* metaData); + void loadResult(); bool hasResult() const; + bool hasCategoryResult() const; + RimEclipseCellColors* singleVarEdgeResultColors(); + RimLegendConfig* legendConfig(); void minMaxCellEdgeValues(double& min, double& max); void posNegClosestToZero(double& pos, double& neg); protected: + virtual void initAfterRead(); virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); virtual QList calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly ); + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering); + virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = ""); + QStringList findResultVariableNames(); private: - + void updateFieldVisibility(); void resetResultIndices(); void updateIgnoredScalarValue(); + void gridScalarResultNames(std::vector* resultNames); + virtual caf::PdmFieldHandle* objectToggleField(); + caf::PdmField m_resultVariable; caf::PdmField useXVariable; caf::PdmField useYVariable; caf::PdmField useZVariable; - caf::FixedArray, 6 > m_resultNameToIndexPairs; - caf::PdmPointer m_reservoirView; - double m_ignoredResultScalar; + caf::FixedArray, 6 > m_resultNameToIndexPairs; + caf::PdmPointer m_reservoirView; + double m_ignoredResultScalar; + + bool isUsingSingleVariable() const; + + caf::PdmField > m_propertyType; + caf::PdmChildField m_legendConfig; + caf::PdmChildField m_singleVarEdgeResultColors; + }; diff --git a/ApplicationCode/ProjectDataModel/RimCellFilter.cpp b/ApplicationCode/ProjectDataModel/RimCellFilter.cpp index 6cb52f57f2..ba4189ff9d 100644 --- a/ApplicationCode/ProjectDataModel/RimCellFilter.cpp +++ b/ApplicationCode/ProjectDataModel/RimCellFilter.cpp @@ -46,7 +46,10 @@ RimCellFilter::RimCellFilter() CAF_PDM_InitField(&name, "UserDescription", QString("Filter Name"), "Name", "", "", ""); CAF_PDM_InitField(&isActive, "Active", true, "Active", "", "", ""); isActive.uiCapability()->setUiHidden(true); - + + CAF_PDM_InitFieldNoDefault(&m_selectedCategoryValues, "SelectedValues", "Values", "", "", ""); + m_selectedCategoryValues.uiCapability()->setUiHidden(true); + CAF_PDM_InitFieldNoDefault(&filterMode, "FilterType", "Filter Type", "", "", ""); } @@ -65,6 +68,14 @@ caf::PdmFieldHandle* RimCellFilter::userDescriptionField() return &name; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RimCellFilter::selectedCategoryValues() const +{ + return m_selectedCategoryValues; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -112,3 +123,68 @@ caf::PdmFieldHandle* RimCellFilter::objectToggleField() { return &isActive; } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QList RimCellFilter::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) +{ + QList optionList; + + if (&m_selectedCategoryValues == fieldNeedingOptions) + { + if (useOptionsOnly) *useOptionsOnly = true; + + if (m_categoryValues.size() == m_categoryNames.size()) + { + for (size_t i = 0; i < m_categoryValues.size(); i++) + { + int categoryValue = m_categoryValues[i]; + QString categoryName = m_categoryNames[i]; + + optionList.push_back(caf::PdmOptionItemInfo(categoryName, categoryValue)); + } + } + else + { + for (auto it : m_categoryValues) + { + QString str = QString::number(it); + optionList.push_back(caf::PdmOptionItemInfo(str, it)); + } + } + } + + return optionList; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimCellFilter::setCategoryValues(const std::vector& categoryValues) +{ + m_categoryValues = categoryValues; + m_categoryNames.clear(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimCellFilter::setCategoryNames(const std::vector& categoryNames) +{ + m_categoryNames = categoryNames; + + for (size_t i = 0; i < m_categoryNames.size(); i++) + { + m_categoryValues.push_back(static_cast(i)); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimCellFilter::clearCategories() +{ + m_categoryValues.clear(); + m_categoryNames.clear(); +} diff --git a/ApplicationCode/ProjectDataModel/RimCellFilter.h b/ApplicationCode/ProjectDataModel/RimCellFilter.h index 1cbb3f3a9e..f17c67e968 100644 --- a/ApplicationCode/ProjectDataModel/RimCellFilter.h +++ b/ApplicationCode/ProjectDataModel/RimCellFilter.h @@ -45,9 +45,22 @@ class RimCellFilter : public caf::PdmObject caf::PdmField isActive; caf::PdmField< caf::AppEnum< FilterModeType > > filterMode; + std::vector selectedCategoryValues() const; + void updateIconState(); protected: - virtual caf::PdmFieldHandle* userDescriptionField(); - virtual caf::PdmFieldHandle* objectToggleField(); + virtual caf::PdmFieldHandle* userDescriptionField(); + virtual caf::PdmFieldHandle* objectToggleField(); + virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly); + + void setCategoryValues(const std::vector& categoryValues); + void setCategoryNames(const std::vector& categoryNames); + void clearCategories(); + +protected: + std::vector m_categoryValues; + std::vector m_categoryNames; + + caf::PdmField< std::vector > m_selectedCategoryValues; }; diff --git a/ApplicationCode/ProjectDataModel/RimCellRangeFilter.cpp b/ApplicationCode/ProjectDataModel/RimCellRangeFilter.cpp index cb5216f40e..812b78fc03 100644 --- a/ApplicationCode/ProjectDataModel/RimCellRangeFilter.cpp +++ b/ApplicationCode/ProjectDataModel/RimCellRangeFilter.cpp @@ -292,7 +292,7 @@ QList RimCellRangeFilter::calculateValueOptions(const ca bool RimCellRangeFilter::isRangeFilterControlled() { RimView* rimView = NULL; - firstAnchestorOrThisOfType(rimView); + firstAncestorOrThisOfType(rimView); CVF_ASSERT(rimView); bool isRangeFilterControlled = false; diff --git a/ApplicationCode/ProjectDataModel/RimCellRangeFilterCollection.cpp b/ApplicationCode/ProjectDataModel/RimCellRangeFilterCollection.cpp index fe47a95e20..7707b14feb 100644 --- a/ApplicationCode/ProjectDataModel/RimCellRangeFilterCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimCellRangeFilterCollection.cpp @@ -150,7 +150,7 @@ void RimCellRangeFilterCollection::fieldChangedByUi(const caf::PdmFieldHandle* c void RimCellRangeFilterCollection::updateDisplayModeNotifyManagedViews(RimCellRangeFilter* changedRangeFilter) { RimView* view = NULL; - firstAnchestorOrThisOfType(view); + firstAncestorOrThisOfType(view); if (view->isMasterView()) { @@ -306,7 +306,7 @@ RigFemPartCollection* RimCellRangeFilterCollection::femPartColl() const RimView* RimCellRangeFilterCollection::baseView() const { RimView* rimView = NULL; - firstAnchestorOrThisOfType(rimView); + firstAncestorOrThisOfType(rimView); return rimView; } diff --git a/ApplicationCode/ProjectDataModel/RimCommandObject.cpp b/ApplicationCode/ProjectDataModel/RimCommandObject.cpp index 553c79d4ea..81276fd83e 100644 --- a/ApplicationCode/ProjectDataModel/RimCommandObject.cpp +++ b/ApplicationCode/ProjectDataModel/RimCommandObject.cpp @@ -28,6 +28,7 @@ #include "cafPdmObjectGroup.h" #include "cafPdmUiPushButtonEditor.h" #include "cafPdmUiTextEditor.h" +#include "cafPdmValueField.h" #include @@ -227,9 +228,16 @@ void RimCommandIssueFieldChanged::redo() if (fieldHandle && fieldHandle->uiCapability()) { + caf::PdmValueField* valueField = dynamic_cast(fieldHandle); + CVF_ASSERT(valueField); + + QVariant oldValue = valueField->toQVariant(); + QVariant newValue(this->fieldValueToApply); + + valueField->setFromQVariant(newValue); + caf::PdmUiFieldHandle* uiFieldHandle = fieldHandle->uiCapability(); - QVariant variantValue(this->fieldValueToApply); - uiFieldHandle->setValueFromUi(variantValue); + uiFieldHandle->notifyFieldChanged(oldValue, newValue); } } } diff --git a/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp b/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp index 5ceea5fe05..51e0f56e86 100644 --- a/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp +++ b/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp @@ -23,8 +23,8 @@ #include "RimCaseCollection.h" #include "RimCellRangeFilter.h" #include "RimCellRangeFilterCollection.h" -#include "RimCrossSection.h" -#include "RimCrossSectionCollection.h" +#include "RimIntersection.h" +#include "RimIntersectionCollection.h" #include "RimEclipseCase.h" #include "RimEclipseCaseCollection.h" #include "RimEclipseCellColors.h" @@ -35,12 +35,20 @@ #include "RimEclipseStatisticsCase.h" #include "RimEclipseView.h" #include "RimEclipseWell.h" +#include "RimFormationNames.h" +#include "RimFormationNamesCollection.h" #include "RimGeoMechCase.h" #include "RimGeoMechPropertyFilter.h" #include "RimGeoMechPropertyFilterCollection.h" #include "RimGeoMechView.h" #include "RimIdenticalGridCaseGroup.h" +#include "RimIntersectionBox.h" #include "RimScriptCollection.h" +#include "RimSummaryCase.h" +#include "RimSummaryCurve.h" +#include "RimSummaryCurveFilter.h" +#include "RimSummaryPlot.h" +#include "RimSummaryPlotCollection.h" #include "RimViewController.h" #include "RimViewLinker.h" #include "RimWellLogCurve.h" @@ -63,6 +71,7 @@ #include #include +#include "RimFault.h" //-------------------------------------------------------------------------------------------------- /// @@ -77,14 +86,7 @@ QStringList RimContextCommandBuilder::commandsFromSelection() if (uiItems.size() == 0) { commandIds << "RicNewWellLogPlotFeature"; - } - else if (uiItems.size() > 1) - { - caf::PdmUiItem* uiItem = uiItems[0]; - if (dynamic_cast(uiItem)) - { - commandIds << "RicAddWellLogToPlotFeature"; - } + commandIds << "RicNewSummaryPlotFeature"; } else if (uiItems.size() == 1) { @@ -100,57 +102,57 @@ QStringList RimContextCommandBuilder::commandsFromSelection() } else if (dynamic_cast(uiItem)) { - commandIds << "RicNewViewFeature"; - commandIds << "RicCopyReferencesToClipboardFeature"; commandIds << "RicPasteGeoMechViewsFeature"; - commandIds << "RicDeleteItemFeature"; commandIds << "Separator"; + + commandIds << "RicNewViewFeature"; + commandIds << "Separator"; + commandIds << "RicCopyReferencesToClipboardFeature"; } else if (dynamic_cast(uiItem)) { - commandIds << "RicNewViewFeature"; - commandIds << "RicCopyReferencesToClipboardFeature"; commandIds << "RicPasteEclipseViewsFeature"; - commandIds << "RicDeleteItemFeature"; commandIds << "Separator"; + commandIds << "RicNewViewFeature"; + commandIds << "Separator"; + commandIds << "RicCopyReferencesToClipboardFeature"; } else if (dynamic_cast(uiItem)) { commandIds << "RicPasteEclipseCasesFeature"; + commandIds << "Separator"; commandIds << "RicNewStatisticsCaseFeature"; } else if (dynamic_cast(uiItem)) { commandIds << "RicNewViewFeature"; commandIds << "RicComputeStatisticsFeature"; - commandIds << "RicCloseCaseFeature"; - commandIds << "RicExecuteScriptForCasesFeature"; + commandIds << "Separator"; } else if (dynamic_cast(uiItem)) { - commandIds << "RicCopyReferencesToClipboardFeature"; - commandIds << "RicPasteEclipseCasesFeature"; commandIds << "RicPasteEclipseViewsFeature"; + commandIds << "Separator"; - commandIds << "RicCloseCaseFeature"; commandIds << "RicNewViewFeature"; commandIds << "RicEclipseCaseNewGroupFeature"; - commandIds << "RicExecuteScriptForCasesFeature"; + commandIds << "Separator"; + commandIds << "RicCopyReferencesToClipboardFeature"; + commandIds << "Separator"; } else if (dynamic_cast(uiItem)) { commandIds << "RicPasteGeoMechViewsFeature"; + commandIds << "Separator"; commandIds << "RicNewViewFeature"; commandIds << "Separator"; - - commandIds << "RicCloseCaseFeature"; } else if (dynamic_cast(uiItem)) { - commandIds << "RicEclipseCaseNewGroupFeature"; commandIds << "RicPasteEclipseCasesFeature"; - commandIds << "RicDeleteItemFeature"; + commandIds << "Separator"; + commandIds << "RicEclipseCaseNewGroupFeature"; } else if (dynamic_cast(uiItem)) { @@ -159,10 +161,10 @@ QStringList RimContextCommandBuilder::commandsFromSelection() else if (dynamic_cast(uiItem)) { commandIds << "RicAddEclipseInputPropertyFeature"; + commandIds << "RicAddOpmInputPropertyFeature"; } else if (dynamic_cast(uiItem)) { - commandIds << "RicDeleteItemFeature"; commandIds << "RicSaveEclipseInputPropertyFeature"; } else if (dynamic_cast(uiItem)) @@ -178,8 +180,6 @@ QStringList RimContextCommandBuilder::commandsFromSelection() commandIds << "RicRangeFilterNewSliceIFeature"; commandIds << "RicRangeFilterNewSliceJFeature"; commandIds << "RicRangeFilterNewSliceKFeature"; - commandIds << "Separator"; - commandIds << "RicDeleteItemFeature"; } else if (dynamic_cast(uiItem)) { @@ -188,8 +188,6 @@ QStringList RimContextCommandBuilder::commandsFromSelection() else if (dynamic_cast(uiItem)) { commandIds << "RicEclipsePropertyFilterInsertFeature"; - commandIds << "Separator"; - commandIds << "RicDeleteItemFeature"; } else if (dynamic_cast(uiItem)) { @@ -198,40 +196,43 @@ QStringList RimContextCommandBuilder::commandsFromSelection() else if (dynamic_cast(uiItem)) { commandIds << "RicGeoMechPropertyFilterInsertFeature"; - commandIds << "Separator"; - commandIds << "RicDeleteItemFeature"; } else if (dynamic_cast(uiItem)) { - commandIds << "RicWellPathsDeleteAllFeature"; commandIds << "RicWellPathsImportFileFeature"; commandIds << "RicWellPathsImportSsihubFeature"; commandIds << "RicWellLogsImportFileFeature"; + commandIds << "Separator"; + commandIds << "RicWellPathsDeleteAllFeature"; } else if (dynamic_cast(uiItem)) { commandIds << "RicNewWellLogFileCurveFeature"; commandIds << "RicNewWellLogCurveExtractionFeature"; - commandIds << "RicNewWellPathCrossSectionFeature"; + commandIds << "RicNewWellPathIntersectionFeature"; + commandIds << "Separator"; commandIds << "RicWellPathDeleteFeature"; } else if (dynamic_cast(uiItem)) { commandIds << "RicEditScriptFeature"; + commandIds << "Separator"; commandIds << "RicNewScriptFeature"; commandIds << "Separator"; commandIds << "RicExecuteScriptFeature"; } else if (dynamic_cast(uiItem)) { + commandIds << "RicNewScriptFeature"; + commandIds << "Separator"; commandIds << "RicAddScriptPathFeature"; + commandIds << "RicRefreshScriptsFeature"; + commandIds << "Separator"; commandIds << "RicDeleteScriptPathFeature"; } else if (dynamic_cast(uiItem)) { commandIds << "RicShowAllLinkedViewsFeature"; - commandIds << "Separator"; - commandIds << "RicDeleteItemFeature"; } else if (dynamic_cast(uiItem)) { @@ -241,52 +242,169 @@ QStringList RimContextCommandBuilder::commandsFromSelection() } else if (dynamic_cast(uiItem)) { + commandIds << "RicPasteWellLogPlotFeature"; + commandIds << "Separator"; commandIds << "RicNewWellLogPlotFeature"; } + else if (dynamic_cast(uiItem)) + { + commandIds << "RicPasteSummaryPlotFeature"; + commandIds << "Separator"; + commandIds << "RicNewSummaryPlotFeature"; + } else if (dynamic_cast(uiItem)) { + commandIds << "RicPasteWellLogPlotFeature"; + commandIds << "RicPasteWellLogTrackFeature"; + commandIds << "Separator"; commandIds << "RicNewWellLogPlotTrackFeature"; - commandIds << "RicDeleteItemFeature"; } else if (dynamic_cast(uiItem)) { + commandIds << "RicPasteWellLogTrackFeature"; + commandIds << "RicPasteWellLogCurveFeature"; + commandIds << "Separator"; commandIds << "RicNewWellLogCurveExtractionFeature"; commandIds << "RicNewWellLogFileCurveFeature"; + commandIds << "Separator"; commandIds << "RicDeleteWellLogPlotTrackFeature"; } else if (dynamic_cast(uiItem)) { - commandIds << "RicExportToLasFileFeature"; - commandIds << "RicDeleteItemFeature"; + commandIds << "RicPasteWellLogCurveFeature"; + } + else if (dynamic_cast(uiItem)) + { + commandIds << "RicPasteSummaryCurveFeature"; + commandIds << "RicPasteSummaryCurveFilterFeature"; + commandIds << "RicPasteSummaryPlotFeature"; + commandIds << "Separator"; + commandIds << "RicNewSummaryPlotFeature"; + commandIds << "RicNewSummaryCurveFilterFeature"; + commandIds << "RicNewSummaryCurveFeature"; + commandIds << "Separator"; + commandIds << "RicCopyReferencesToClipboardFeature"; + commandIds << "Separator"; + commandIds << "RicViewZoomAllFeature"; + } + else if (dynamic_cast(uiItem)) + { + commandIds << "RicPasteSummaryCurveFeature"; + commandIds << "Separator"; + commandIds << "RicNewSummaryCurveFilterFeature"; + commandIds << "RicNewSummaryCurveFeature"; + commandIds << "Separator"; + commandIds << "RicCopyReferencesToClipboardFeature"; + commandIds << "Separator"; + commandIds << "RicSummaryCurveSwitchAxisFeature"; + } + else if(dynamic_cast(uiItem)) + { + commandIds << "RicPasteSummaryCurveFilterFeature"; + commandIds << "Separator"; + commandIds << "RicNewSummaryCurveFilterFeature"; + commandIds << "RicNewSummaryCurveFeature"; + commandIds << "Separator"; + commandIds << "RicCopyReferencesToClipboardFeature"; + commandIds << "Separator"; + commandIds << "RicSummaryCurveSwitchAxisFeature"; + } + else if (dynamic_cast(uiItem)) + { + commandIds << "RicNewSummaryPlotFeature"; } else if (dynamic_cast(uiItem)) { commandIds << "RicAddWellLogToPlotFeature"; } - else if (dynamic_cast(uiItem)) + else if (dynamic_cast(uiItem)) + { + commandIds << "RicAppendIntersectionFeature"; + commandIds << "RicAppendIntersectionBoxFeature"; + } + else if (dynamic_cast(uiItem)) { - commandIds << "RicAppendCrossSectionFeature"; + commandIds << "RicAppendIntersectionFeature"; + commandIds << "RicAppendIntersectionBoxFeature"; } - else if (dynamic_cast(uiItem)) + else if (dynamic_cast(uiItem)) { - commandIds << "RicAppendCrossSectionFeature"; - commandIds << "RicDeleteItemFeature"; + commandIds << "RicAppendIntersectionFeature"; + commandIds << "RicAppendIntersectionBoxFeature"; } else if (dynamic_cast(uiItem)) { - commandIds << "RicNewSimWellCrossSectionFeature"; + commandIds << "RicNewSimWellIntersectionFeature"; } + else if(dynamic_cast(uiItem)) + { + commandIds << "RicImportFormationNamesFeature"; + commandIds << "RicReloadFormationNamesFeature"; + } + else if(dynamic_cast(uiItem)) + { + commandIds << "RicImportFormationNamesFeature"; + commandIds << "Separator"; + commandIds << "RicReloadFormationNamesFeature"; + } + else if ( dynamic_cast(uiItem) ) + { + commandIds << "RicExportFaultsFeature"; + } + if (dynamic_cast(uiItem)) { + commandIds << "Separator"; commandIds << "RicLinkVisibleViewsFeature"; commandIds << "RicLinkViewFeature"; - commandIds << "RicUnLinkViewFeature"; commandIds << "RicShowLinkOptionsFeature"; commandIds << "RicSetMasterViewFeature"; + commandIds << "RicUnLinkViewFeature"; + } + } + + // Command supporting multiple selected objects + if (uiItems.size() > 0) + { + caf::PdmUiItem* uiItem = uiItems[0]; + if (dynamic_cast(uiItem)) + { + commandIds << "RicAddWellLogToPlotFeature"; + } + else if (dynamic_cast(uiItem)) + { + commandIds << "RicExecuteScriptForCasesFeature"; + } + else if (dynamic_cast(uiItem)) + { + commandIds << "RicExecuteScriptForCasesFeature"; + } + else if (dynamic_cast(uiItem) || + dynamic_cast(uiItem) ) + { + commandIds << "RicCopyReferencesToClipboardFeature"; + commandIds << "RicSummaryCurveSwitchAxisFeature"; + + } + else if (dynamic_cast(uiItem) || + dynamic_cast(uiItem) || + dynamic_cast(uiItem)) + { + commandIds << "RicCopyReferencesToClipboardFeature"; + commandIds << "RicExportToLasFileFeature"; + } + else if (dynamic_cast(uiItem)) + { + commandIds << "RicExportToLasFileFeature"; + } + else if (dynamic_cast(uiItem) ) + { + commandIds << "RicExportFaultsFeature"; } } + if (RicToggleItemsFeatureImpl::isToggleCommandsAvailable()) { commandIds << "Separator"; @@ -295,6 +413,18 @@ QStringList RimContextCommandBuilder::commandsFromSelection() commandIds << "RicToggleItemsFeature"; } + if ( caf::CmdFeatureManager::instance()->getCommandFeature("RicDeleteItemFeature")->canFeatureBeExecuted() ) + { + commandIds << "Separator"; + commandIds << "RicDeleteItemFeature"; + } + + if ( caf::CmdFeatureManager::instance()->getCommandFeature("RicCloseCaseFeature")->canFeatureBeExecuted() ) + { + commandIds << "Separator"; + commandIds << "RicCloseCaseFeature"; + } + return commandIds; } diff --git a/ApplicationCode/ProjectDataModel/RimCrossSection.cpp b/ApplicationCode/ProjectDataModel/RimCrossSection.cpp deleted file mode 100644 index 40f3ffcc77..0000000000 --- a/ApplicationCode/ProjectDataModel/RimCrossSection.cpp +++ /dev/null @@ -1,560 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#include "RimCrossSection.h" - -#include "RiaApplication.h" - -#include "RigSimulationWellCenterLineCalculator.h" - -#include "RimCase.h" -#include "RimEclipseView.h" -#include "RimEclipseWell.h" -#include "RimEclipseWellCollection.h" -#include "RimOilField.h" -#include "RimProject.h" -#include "RimView.h" -#include "RimWellPath.h" - -#include "RiuViewer.h" -#include "RivCrossSectionPartMgr.h" - -#include "cafCmdFeature.h" -#include "cafCmdFeatureManager.h" -#include "cafPdmUiListEditor.h" -#include "cafPdmUiPushButtonEditor.h" - - -namespace caf { - -template<> -void caf::AppEnum< RimCrossSection::CrossSectionEnum >::setUp() -{ - addItem(RimCrossSection::CS_WELL_PATH, "CS_WELL_PATH", "Well Path"); - addItem(RimCrossSection::CS_SIMULATION_WELL, "CS_SIMULATION_WELL", "Simulation Well"); - addItem(RimCrossSection::CS_POLYLINE, "CS_POLYLINE", "Polyline"); - setDefault(RimCrossSection::CS_WELL_PATH); -} - -template<> -void caf::AppEnum< RimCrossSection::CrossSectionDirEnum >::setUp() -{ - addItem(RimCrossSection::CS_VERTICAL, "CS_VERTICAL", "Vertical"); - addItem(RimCrossSection::CS_HORIZONTAL, "CS_HORIZONTAL", "Horizontal"); - setDefault(RimCrossSection::CS_VERTICAL); -} - -} - - -CAF_PDM_SOURCE_INIT(RimCrossSection, "CrossSection"); - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RimCrossSection::RimCrossSection() -{ - CAF_PDM_InitObject("Intersection", ":/CrossSection16x16.png", "", ""); - - CAF_PDM_InitField(&name, "UserDescription", QString("Intersection Name"), "Name", "", "", ""); - CAF_PDM_InitField(&isActive, "Active", true, "Active", "", "", ""); - isActive.uiCapability()->setUiHidden(true); - - CAF_PDM_InitFieldNoDefault(&type, "Type", "Type", "", "", ""); - CAF_PDM_InitFieldNoDefault(&direction, "Direction", "Direction", "", "", ""); - CAF_PDM_InitFieldNoDefault(&wellPath, "WellPath", "Well Path ", "", "", ""); - CAF_PDM_InitFieldNoDefault(&simulationWell, "SimulationWell", "Simulation Well", "", "", ""); - CAF_PDM_InitFieldNoDefault(&m_userPolyline, "Points", "Points", "", "Use Ctrl-C for copy and Ctrl-V for paste", ""); - CAF_PDM_InitField (&m_branchIndex, "Branch", -1, "Branch", "", "", ""); - CAF_PDM_InitField (&m_extentLength, "ExtentLength", 200.0, "Extent length", "", "", ""); - CAF_PDM_InitField (&showInactiveCells, "ShowInactiveCells", false, "Inactive Cells", "", "", ""); - - CAF_PDM_InitFieldNoDefault(&inputFromViewerEnabled, "m_activateUiAppendPointsCommand", "", "", "", ""); - inputFromViewerEnabled.xmlCapability()->setIOWritable(false); - inputFromViewerEnabled.xmlCapability()->setIOReadable(false); - inputFromViewerEnabled.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName()); - - inputFromViewerEnabled = false; - - uiCapability()->setUiChildrenHidden(true); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RimCrossSection::~RimCrossSection() -{ - -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSection::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) -{ - if (changedField == &isActive || - changedField == &type || - changedField == &direction || - changedField == &wellPath || - changedField == &simulationWell || - changedField == &m_branchIndex || - changedField == &m_extentLength || - changedField == &showInactiveCells) - { - rebuildGeometryAndScheduleCreateDisplayModel(); - } - - if (changedField == &simulationWell - || changedField == &isActive - || changedField == &type) - { - m_wellBranchCenterlines.clear(); - updateWellCenterline(); - m_branchIndex = -1; - } - - - if (changedField == &simulationWell - || changedField == &wellPath - || changedField == &m_branchIndex) - { - updateName(); - } - - if (changedField == &inputFromViewerEnabled - || changedField == &m_userPolyline) - { - rebuildGeometryAndScheduleCreateDisplayModel(); - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) -{ - uiOrdering.add(&name); - caf::PdmUiGroup* geometryGroup = uiOrdering.addNewGroup("Intersecting Geometry"); - geometryGroup->add(&type); - - if (type == CS_WELL_PATH) - { - geometryGroup->add(&wellPath); - } - else if (type == CS_SIMULATION_WELL) - { - geometryGroup->add(&simulationWell); - updateWellCenterline(); - if (simulationWell() && m_wellBranchCenterlines.size() > 1) - { - geometryGroup->add(&m_branchIndex); - } - } - else if (type == CS_POLYLINE) - { - geometryGroup->add(&m_userPolyline); - geometryGroup->add(&inputFromViewerEnabled); - } - - caf::PdmUiGroup* optionsGroup = uiOrdering.addNewGroup("Options"); - - optionsGroup->add(&direction); - optionsGroup->add(&m_extentLength); - optionsGroup->add(&showInactiveCells); - - if (type == CS_POLYLINE) - { - m_extentLength.uiCapability()->setUiReadOnly(true); - } - else - { - m_extentLength.uiCapability()->setUiReadOnly(false); - } - - updateWellExtentDefaultValue(); - - uiOrdering.setForgetRemainingFields(true); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QList RimCrossSection::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) -{ - QList options; - - if (fieldNeedingOptions == &wellPath) - { - RimProject* proj = RiaApplication::instance()->project(); - if (proj->activeOilField()->wellPathCollection()) - { - caf::PdmChildArrayField& wellPaths = proj->activeOilField()->wellPathCollection()->wellPaths; - - QIcon wellIcon(":/Well.png"); - for (size_t i = 0; i < wellPaths.size(); i++) - { - options.push_back(caf::PdmOptionItemInfo(wellPaths[i]->name(), QVariant::fromValue(caf::PdmPointer(wellPaths[i])), false, wellIcon)); - } - } - - if (options.size() == 0) - { - options.push_front(caf::PdmOptionItemInfo("None", QVariant::fromValue(caf::PdmPointer(NULL)))); - } - } - else if (fieldNeedingOptions == &simulationWell) - { - RimEclipseWellCollection* coll = simulationWellCollection(); - if (coll) - { - caf::PdmChildArrayField& eclWells = coll->wells; - - QIcon simWellIcon(":/Well.png"); - for (size_t i = 0; i < eclWells.size(); i++) - { - options.push_back(caf::PdmOptionItemInfo(eclWells[i]->name(), QVariant::fromValue(caf::PdmPointer(eclWells[i])), false, simWellIcon)); - } - } - - if (options.size() == 0) - { - options.push_front(caf::PdmOptionItemInfo("None", QVariant::fromValue(caf::PdmPointer(NULL)))); - } - } - else if (fieldNeedingOptions == &m_branchIndex) - { - updateWellCenterline(); - - size_t branchCount = m_wellBranchCenterlines.size(); - - options.push_back(caf::PdmOptionItemInfo("All", -1)); - - for (size_t bIdx = 0; bIdx < branchCount; ++bIdx) - { - options.push_back(caf::PdmOptionItemInfo(QString::number(bIdx + 1), QVariant::fromValue(bIdx))); - } - } - return options; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -caf::PdmFieldHandle* RimCrossSection::userDescriptionField() -{ - return &name; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -caf::PdmFieldHandle* RimCrossSection::objectToggleField() -{ - return &isActive; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RimEclipseWellCollection* RimCrossSection::simulationWellCollection() -{ - RimEclipseView* eclipseView = NULL; - firstAnchestorOrThisOfType(eclipseView); - - if (eclipseView) - { - return eclipseView->wellCollection; - } - - return NULL; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -std::vector< std::vector > RimCrossSection::polyLines() const -{ - std::vector< std::vector > lines; - if (type == CS_WELL_PATH) - { - if (wellPath()) - { - lines.push_back(wellPath->wellPathGeometry()->m_wellPathPoints); - clipToReservoir(lines[0]); - } - } - else if (type == CS_SIMULATION_WELL) - { - if (simulationWell()) - { - updateWellCenterline(); - - if (0 <= m_branchIndex && m_branchIndex < static_cast(m_wellBranchCenterlines.size())) - { - lines.push_back(m_wellBranchCenterlines[m_branchIndex]); - } - - if (m_branchIndex == -1) - { - lines = m_wellBranchCenterlines; - } - } - } - else if (type == CS_POLYLINE) - { - lines.push_back(m_userPolyline); - } - - if (type == CS_WELL_PATH || type == CS_SIMULATION_WELL) - { - for (size_t lIdx = 0; lIdx < lines.size(); ++lIdx) - { - std::vector& polyLine = lines[lIdx]; - addExtents(polyLine); - } - } - - return lines; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RivCrossSectionPartMgr* RimCrossSection::crossSectionPartMgr() -{ - if (m_crossSectionPartMgr.isNull()) m_crossSectionPartMgr = new RivCrossSectionPartMgr(this); - - return m_crossSectionPartMgr.p(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSection::updateWellCenterline() const -{ - if (isActive() && type == CS_SIMULATION_WELL && simulationWell()) - { - if (m_wellBranchCenterlines.size() == 0) - { - std::vector< std::vector > pipeBranchesCellIds; - - RigSimulationWellCenterLineCalculator::calculateWellPipeCenterline(simulationWell(), m_wellBranchCenterlines, pipeBranchesCellIds); - } - } - else - { - m_wellBranchCenterlines.clear(); - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSection::addExtents(std::vector &polyLine) const -{ - size_t lineVxCount = polyLine.size(); - - if (lineVxCount == 0) return; - - // Add extent at end of well - { - size_t endIdxOffset = lineVxCount > 3 ? 3: lineVxCount; - cvf::Vec3d endDirection = (polyLine[lineVxCount-1] - polyLine[lineVxCount-endIdxOffset]); - endDirection[2] = 0; // Remove z. make extent lenght be horizontally - if (endDirection.length() < 1e-2) - { - endDirection = polyLine.back() - polyLine.front(); - endDirection[2] = 0; - - if (endDirection.length() < 1e-2) - { - endDirection = cvf::Vec3d::X_AXIS; - } - } - - endDirection.normalize(); - - cvf::Vec3d newEnd = polyLine.back() + endDirection * m_extentLength(); - - polyLine.push_back(newEnd); - } - - // Add extent at start - { - size_t endIdxOffset = lineVxCount > 3 ? 3: lineVxCount-1; - cvf::Vec3d startDirection = (polyLine[0] - polyLine[endIdxOffset]); - startDirection[2] = 0; // Remove z. make extent lenght be horizontally - if (startDirection.length() < 1e-2) - { - startDirection = polyLine.front() - polyLine.back(); - startDirection[2] = 0; - - if (startDirection.length() < 1e-2) - { - startDirection = -cvf::Vec3d::X_AXIS; - } - } - - startDirection.normalize(); - - cvf::Vec3d newStart = polyLine.front() + startDirection * m_extentLength(); - - polyLine.insert(polyLine.begin(), newStart); - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSection::updateWellExtentDefaultValue() -{ - RimCase* ownerCase = NULL; - firstAnchestorOrThisOfType(ownerCase); - - if (ownerCase) - { - cvf::BoundingBox caseBB = ownerCase->activeCellsBoundingBox(); - if (m_extentLength == m_extentLength.defaultValue() && caseBB.radius() < 1000) - { - m_extentLength = caseBB.radius() * 0.1; - } - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSection::updateName() -{ - if (type == CS_SIMULATION_WELL && simulationWell()) - { - name = simulationWell()->name(); - if (m_branchIndex() != -1) - { - name = name() + " Branch " + QString::number(m_branchIndex() + 1); - } - } - else if (type() == CS_WELL_PATH && wellPath()) - { - name = wellPath()->name(); - } - -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSection::clipToReservoir(std::vector &polyLine) const -{ - RimCase* ownerCase = NULL; - firstAnchestorOrThisOfType(ownerCase); - - std::vector clippedPolyLine; - - if (ownerCase) - { - cvf::BoundingBox caseBB = ownerCase->activeCellsBoundingBox(); - bool hasEnteredReservoirBB = false; - for (size_t vxIdx = 0 ; vxIdx < polyLine.size(); ++vxIdx) - { - if (!caseBB.contains(polyLine[vxIdx])) - { - continue; - } - - if (!hasEnteredReservoirBB) - { - if (vxIdx > 0) - { - // clip line, and add vx to start - cvf::Plane topPlane; - topPlane.setFromPointAndNormal(caseBB.max(), cvf::Vec3d::Z_AXIS); - cvf::Vec3d intersection; - - if (topPlane.intersect(polyLine[vxIdx-1], polyLine[vxIdx], &intersection)) - { - clippedPolyLine.push_back(intersection); - } - } - - hasEnteredReservoirBB = true; - } - - clippedPolyLine.push_back(polyLine[vxIdx]); - } - } - - polyLine.swap(clippedPolyLine); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSection::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) -{ - if (field == &inputFromViewerEnabled) - { - caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast (attribute); - - if (inputFromViewerEnabled) - { - attrib->m_buttonText = "Stop picking points"; - } - else - { - attrib->m_buttonText = "Start picking points"; - } - } - else if (field == &m_userPolyline) - { - caf::PdmUiListEditorAttribute* myAttr = dynamic_cast(attribute); - if (myAttr && inputFromViewerEnabled) - { - myAttr->m_baseColor.setRgb(255, 220, 255); - } - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSection::appendPointToPolyLine(const cvf::Vec3d& point) -{ - m_userPolyline.v().push_back(point); - - m_userPolyline.uiCapability()->updateConnectedEditors(); - - rebuildGeometryAndScheduleCreateDisplayModel(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSection::rebuildGeometryAndScheduleCreateDisplayModel() -{ - m_crossSectionPartMgr = NULL; - - RimView* rimView = NULL; - this->firstAnchestorOrThisOfType(rimView); - if (rimView) - { - rimView->scheduleCreateDisplayModelAndRedraw(); - } -} - diff --git a/ApplicationCode/ProjectDataModel/RimCrossSection.h b/ApplicationCode/ProjectDataModel/RimCrossSection.h deleted file mode 100644 index 85e20ba85b..0000000000 --- a/ApplicationCode/ProjectDataModel/RimCrossSection.h +++ /dev/null @@ -1,111 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#pragma once - -#include "cafAppEnum.h" -#include "cafPdmField.h" -#include "cafPdmFieldCvfVec3d.h" -#include "cafPdmObject.h" -#include "cafPdmPtrField.h" - -#include "cvfBase.h" -#include "cvfObject.h" -#include "cvfVector3.h" - -class RimEclipseWell; -class RimEclipseWellCollection; -class RimWellPath; -class RivCrossSectionPartMgr; - -//================================================================================================== -// -// -// -//================================================================================================== -class RimCrossSection : public caf::PdmObject -{ - CAF_PDM_HEADER_INIT; - -public: - enum CrossSectionEnum - { - CS_WELL_PATH, - CS_SIMULATION_WELL, - CS_POLYLINE - }; - - enum CrossSectionDirEnum - { - CS_VERTICAL, - CS_HORIZONTAL - }; - -public: - RimCrossSection(); - ~RimCrossSection(); - - caf::PdmField name; - caf::PdmField isActive; - - caf::PdmField< caf::AppEnum< CrossSectionEnum > > type; - caf::PdmField< caf::AppEnum< CrossSectionDirEnum > > direction; - caf::PdmField< bool > showInactiveCells; - - caf::PdmPtrField wellPath; - caf::PdmPtrField simulationWell; - - caf::PdmField< bool > inputFromViewerEnabled; - - std::vector< std::vector > polyLines() const; - RivCrossSectionPartMgr* crossSectionPartMgr(); - - void appendPointToPolyLine(const cvf::Vec3d& point); - -protected: - virtual caf::PdmFieldHandle* userDescriptionField(); - virtual caf::PdmFieldHandle* objectToggleField(); - - virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); - - - virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering); - virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute); - - virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly); - -private: - caf::PdmField m_branchIndex; - caf::PdmField m_extentLength; - - caf::PdmField< std::vector< cvf::Vec3d> > m_userPolyline; - - RimEclipseWellCollection* simulationWellCollection(); - void updateWellCenterline() const; - void updateWellExtentDefaultValue(); - void addExtents(std::vector &polyLine) const; - void clipToReservoir(std::vector &polyLine) const; - void updateName(); - void rebuildGeometryAndScheduleCreateDisplayModel(); -private: - cvf::ref m_crossSectionPartMgr; - - mutable - std::vector< std::vector > m_wellBranchCenterlines; -}; diff --git a/ApplicationCode/ProjectDataModel/RimCrossSectionCollection.cpp b/ApplicationCode/ProjectDataModel/RimCrossSectionCollection.cpp deleted file mode 100644 index 850e7840af..0000000000 --- a/ApplicationCode/ProjectDataModel/RimCrossSectionCollection.cpp +++ /dev/null @@ -1,145 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#include "RimCrossSectionCollection.h" - -#include "RimCrossSection.h" -#include "RivCrossSectionPartMgr.h" -#include "RiuMainWindow.h" -#include "RimView.h" - - -CAF_PDM_SOURCE_INIT(RimCrossSectionCollection, "CrossSectionCollection"); - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RimCrossSectionCollection::RimCrossSectionCollection() -{ - CAF_PDM_InitObject("Intersections", ":/CrossSections16x16.png", "", ""); - - CAF_PDM_InitFieldNoDefault(&m_crossSections, "CrossSections", "Intersections", "", "", ""); - m_crossSections.uiCapability()->setUiHidden(true); - - CAF_PDM_InitField(&isActive, "Active", true, "Active", "", "", ""); - isActive.uiCapability()->setUiHidden(true); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RimCrossSectionCollection::~RimCrossSectionCollection() -{ - m_crossSections.deleteAllChildObjects(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -caf::PdmFieldHandle* RimCrossSectionCollection::objectToggleField() -{ - return &isActive; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSectionCollection::applySingleColorEffect() -{ - for (size_t csIdx = 0; csIdx < m_crossSections.size(); ++csIdx) - { - RimCrossSection* cs = m_crossSections[csIdx]; - if (cs->isActive) - { - cs->crossSectionPartMgr()->applySingleColorEffect(); - } - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSectionCollection::updateCellResultColor(size_t timeStepIndex) -{ - for (size_t csIdx = 0; csIdx < m_crossSections.size(); ++csIdx) - { - RimCrossSection* cs = m_crossSections[csIdx]; - if (cs->isActive) - { - cs->crossSectionPartMgr()->updateCellResultColor(timeStepIndex); - } - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSectionCollection::appendPartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform) -{ - if (!isActive) return; - - for (size_t csIdx = 0; csIdx < m_crossSections.size(); ++csIdx) - { - RimCrossSection* cs = m_crossSections[csIdx]; - if (cs->isActive) - { - cs->crossSectionPartMgr()->appendNativeCrossSectionFacesToModel(model, scaleTransform); - cs->crossSectionPartMgr()->appendMeshLinePartsToModel(model, scaleTransform); - - if (cs->inputFromViewerEnabled) - { - cs->crossSectionPartMgr()->appendPolylinePartsToModel(model, scaleTransform); - } - } - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSectionCollection::appendCrossSection(RimCrossSection* crossSection) -{ - m_crossSections.push_back(crossSection); - - updateConnectedEditors(); - RiuMainWindow::instance()->selectAsCurrentItem(crossSection); - - RimView* rimView = NULL; - firstAnchestorOrThisOfType(rimView); - if (rimView) - { - rimView->scheduleCreateDisplayModelAndRedraw(); - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCrossSectionCollection::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) -{ - if (changedField == &isActive) - { - RimView* rimView = NULL; - firstAnchestorOrThisOfType(rimView); - if (rimView) - { - rimView->scheduleCreateDisplayModelAndRedraw(); - } - } -} diff --git a/ApplicationCode/ProjectDataModel/RimCrossSectionCollection.h b/ApplicationCode/ProjectDataModel/RimCrossSectionCollection.h deleted file mode 100644 index 4c8eb9ad94..0000000000 --- a/ApplicationCode/ProjectDataModel/RimCrossSectionCollection.h +++ /dev/null @@ -1,64 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2015- Statoil ASA -// Copyright (C) 2015- Ceetron Solutions AS -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#pragma once - -#include "cafPdmObject.h" -#include "cafPdmChildArrayField.h" -#include "cafPdmField.h" - -class RimCrossSection; -class RimEclipseCellColors; - -namespace cvf { - class ModelBasicList; - class Transform; -} - -//================================================================================================== -// -// -// -//================================================================================================== -class RimCrossSectionCollection : public caf::PdmObject -{ - CAF_PDM_HEADER_INIT; - -public: - RimCrossSectionCollection(); - ~RimCrossSectionCollection(); - - caf::PdmField isActive; - - void appendCrossSection(RimCrossSection* crossSection); - - - // Visualization interface - - void applySingleColorEffect(); - void updateCellResultColor(size_t timeStepIndex); - void appendPartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform); - -protected: - virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); - virtual caf::PdmFieldHandle* objectToggleField(); - -private: - caf::PdmChildArrayField m_crossSections; -}; diff --git a/ApplicationCode/ProjectDataModel/RimDefines.cpp b/ApplicationCode/ProjectDataModel/RimDefines.cpp index 6ac2275aaa..c590e393f1 100644 --- a/ApplicationCode/ProjectDataModel/RimDefines.cpp +++ b/ApplicationCode/ProjectDataModel/RimDefines.cpp @@ -31,7 +31,7 @@ namespace caf addItem(RimDefines::STATIC_NATIVE, "STATIC_NATIVE", "Static"); addItem(RimDefines::GENERATED, "GENERATED", "Generated"); addItem(RimDefines::INPUT_PROPERTY, "INPUT_PROPERTY", "Input Property"); - + addItem(RimDefines::FORMATION_NAMES, "FORMATION_NAMES", "Formation Names"); setDefault(RimDefines::DYNAMIC_NATIVE); } @@ -52,6 +52,16 @@ namespace caf setDefault(RimDefines::UNIT_METER); } + + template<> + void caf::AppEnum< RimDefines::PlotAxis >::setUp() + { + addItem(RimDefines::PLOT_AXIS_LEFT, "PLOT_AXIS_LEFT", "Left"); + addItem(RimDefines::PLOT_AXIS_RIGHT, "PLOT_AXIS_RIGHT", "Right"); + + setDefault(RimDefines::PLOT_AXIS_LEFT); + } + } diff --git a/ApplicationCode/ProjectDataModel/RimDefines.h b/ApplicationCode/ProjectDataModel/RimDefines.h index fa326307a2..06a35b1d1a 100644 --- a/ApplicationCode/ProjectDataModel/RimDefines.h +++ b/ApplicationCode/ProjectDataModel/RimDefines.h @@ -32,6 +32,7 @@ class RimDefines STATIC_NATIVE, GENERATED, INPUT_PROPERTY, + FORMATION_NAMES, REMOVED }; @@ -44,7 +45,8 @@ class RimDefines static bool isPerCellFaceResult(const QString& resultName); static QString undefinedResultName() { return "None"; } - static QString undefinedGridFaultName() { return "Undefined grid faults"; } + static QString undefinedGridFaultName() { return "Undefined Grid Faults"; } + static QString undefinedGridFaultWithInactiveName() { return "Undefined Grid Faults With Inactive"; } static QString combinedTransmissibilityResultName() { return "TRANXYZ"; } static QString ternarySaturationResultName() { return "TERNARY"; } static QString combinedMultResultName() { return "MULTXYZ"; } @@ -78,5 +80,17 @@ class RimDefines }; static double feetPerMeter() { return 3.2808399; } + + + // Defines relate to plotting + + enum PlotAxis + { + PLOT_AXIS_LEFT, + PLOT_AXIS_RIGHT + }; + + static double minimumDefaultValuePlot() { return - 10.0; } + static double maximumDefaultValuePlot() { return 100.0; } }; diff --git a/ApplicationCode/ProjectDataModel/RimEclipseCase.cpp b/ApplicationCode/ProjectDataModel/RimEclipseCase.cpp index 511b5f09f8..2be869f90c 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseCase.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseCase.cpp @@ -33,6 +33,7 @@ #include "RimEclipsePropertyFilter.h" #include "RimEclipsePropertyFilterCollection.h" #include "RimEclipseView.h" +#include "RimFormationNames.h" #include "RimReservoirCellResultsStorage.h" #include "RimProject.h" #include "RimMainPlotCollection.h" @@ -75,11 +76,11 @@ RimEclipseCase::RimEclipseCase() m_matrixModelResults = new RimReservoirCellResultsStorage; m_matrixModelResults.uiCapability()->setUiHidden(true); - m_matrixModelResults.uiCapability()->setUiChildrenHidden(true); + m_matrixModelResults.uiCapability()->setUiTreeChildrenHidden(true); m_fractureModelResults = new RimReservoirCellResultsStorage; m_fractureModelResults.uiCapability()->setUiHidden(true); - m_fractureModelResults.uiCapability()->setUiChildrenHidden(true); + m_fractureModelResults.uiCapability()->setUiTreeChildrenHidden(true); this->setReservoirData( NULL ); } @@ -157,7 +158,7 @@ RimEclipseView* RimEclipseCase::createAndAddReservoirView() { RimEclipseView* riv = new RimEclipseView(); riv->setEclipseCase(this); - riv->cellEdgeResult()->resultVariable = "MULT"; + riv->cellEdgeResult()->setResultVariable("MULT"); riv->cellEdgeResult()->enableCellEdgeColors = false; caf::PdmDocument::updateUiIconStateRecursively(riv); @@ -243,7 +244,7 @@ void RimEclipseCase::fieldChangedByUi(const caf::PdmFieldHandle* changedField, c RimCellEdgeColors* cellEdgeResult = reservoirView->cellEdgeResult; CVF_ASSERT(cellEdgeResult); - cellEdgeResult->resultVariable.v() = RimDefines::undefinedResultName(); + cellEdgeResult->setResultVariable(RimDefines::undefinedResultName()); cellEdgeResult->loadResult(); reservoirView->createDisplayModelAndRedraw(); @@ -283,6 +284,69 @@ void RimEclipseCase::fieldChangedByUi(const caf::PdmFieldHandle* changedField, c } } } + else if(changedField == &activeFormationNames) + { + updateFormationNamesData(); + } +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseCase::updateFormationNamesData() +{ + RigCaseData* rigEclipseCase = reservoirData(); + if(rigEclipseCase) + { + if(activeFormationNames()) + { + rigEclipseCase->setActiveFormationNames(activeFormationNames()->formationNamesData()); + } + else + { + rigEclipseCase->setActiveFormationNames(nullptr); + } + std::vector views = this->views(); + for(RimView* view : views) + { + RimEclipseView* eclView = dynamic_cast(view); + + if(eclView && eclView->isUsingFormationNames()) + { + if (!activeFormationNames()) + { + if (eclView->cellResult()->resultType() == RimDefines::FORMATION_NAMES) + { + eclView->cellResult()->setResultVariable(RimDefines::undefinedResultName()); + eclView->cellResult()->updateConnectedEditors(); + } + + RimEclipsePropertyFilterCollection* eclFilColl = eclView->eclipsePropertyFilterCollection(); + for ( RimEclipsePropertyFilter* propFilter : eclFilColl->propertyFilters ) + { + if ( propFilter->resultDefinition->resultType() == RimDefines::FORMATION_NAMES ) + { + propFilter->resultDefinition()->setResultVariable(RimDefines::undefinedResultName()); + } + } + } + + RimEclipsePropertyFilterCollection* eclFilColl = eclView->eclipsePropertyFilterCollection(); + for ( RimEclipsePropertyFilter* propFilter : eclFilColl->propertyFilters ) + { + if ( propFilter->resultDefinition->resultType() == RimDefines::FORMATION_NAMES ) + { + propFilter->setToDefaultValues(); + propFilter->updateConnectedEditors(); + } + } + + view->scheduleGeometryRegen(PROPERTY_FILTERED); + view->scheduleCreateDisplayModelAndRedraw(); + } + } + } } //-------------------------------------------------------------------------------------------------- @@ -299,11 +363,25 @@ void RimEclipseCase::computeCachedData() pInf.incrementProgress(); pInf.setNextProgressIncrement(10); + pInf.setProgressDescription("Calculating Cell Search Tree"); rigEclipseCase->mainGrid()->computeCachedData(); pInf.incrementProgress(); + pInf.setNextProgressIncrement(17); pInf.setProgressDescription("Calculating faults"); - rigEclipseCase->mainGrid()->calculateFaults(); + rigEclipseCase->mainGrid()->calculateFaults(rigEclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)); + pInf.incrementProgress(); + + pInf.setProgressDescription("Calculating Formation Names Result"); + if ( activeFormationNames() ) + { + rigEclipseCase->setActiveFormationNames(activeFormationNames()->formationNamesData()); + } + else + { + rigEclipseCase->setActiveFormationNames(nullptr); + } + pInf.incrementProgress(); } } diff --git a/ApplicationCode/ProjectDataModel/RimEclipseCase.h b/ApplicationCode/ProjectDataModel/RimEclipseCase.h index 72bb06ef0e..af495d16ce 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseCase.h +++ b/ApplicationCode/ProjectDataModel/RimEclipseCase.h @@ -98,6 +98,8 @@ class RimEclipseCase : public RimCase virtual void initAfterRead(); virtual void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ); + virtual void updateFormationNamesData() override; + // Internal methods protected: void computeCachedData(); diff --git a/ApplicationCode/ProjectDataModel/RimEclipseCaseCollection.cpp b/ApplicationCode/ProjectDataModel/RimEclipseCaseCollection.cpp index d4a36f89d2..44e66bafc7 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseCaseCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseCaseCollection.cpp @@ -81,10 +81,11 @@ RimIdenticalGridCaseGroup* RimEclipseCaseCollection::createIdenticalCaseGroupFro assert(RiaApplication::instance()->project()); RiaApplication::instance()->project()->assignIdToCaseGroup(group); + group->addCase(mainCase); RimEclipseCase* createdCase = group->createAndAppendStatisticsCase(); + RiaApplication::instance()->project()->assignCaseIdToCase(createdCase); - group->addCase(mainCase); caseGroups().push_back(group); return group; @@ -167,7 +168,7 @@ RigMainGrid* RimEclipseCaseCollection::registerCaseInGridCollection(RigCaseData* // This is the first insertion of this grid, compute cached data rigEclipseCase->mainGrid()->computeCachedData(); - rigEclipseCase->mainGrid()->calculateFaults(); + rigEclipseCase->mainGrid()->calculateFaults(rigEclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)); equalGrid = rigEclipseCase->mainGrid(); } diff --git a/ApplicationCode/ProjectDataModel/RimEclipseCellColors.cpp b/ApplicationCode/ProjectDataModel/RimEclipseCellColors.cpp index 09afb218d6..72dc13cdec 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseCellColors.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseCellColors.cpp @@ -20,14 +20,18 @@ #include "RimEclipseCellColors.h" +#include "RimCellEdgeColors.h" #include "RimEclipseFaultColors.h" #include "RimEclipseView.h" +#include "RimLegendConfig.h" #include "RimTernaryLegendConfig.h" #include "RimViewController.h" #include "RimViewLinker.h" #include "RiuMainWindow.h" +#include "cafPdmUiTreeOrdering.h" + CAF_PDM_SOURCE_INIT(RimEclipseCellColors, "ResultSlot"); //-------------------------------------------------------------------------------------------------- @@ -38,22 +42,14 @@ RimEclipseCellColors::RimEclipseCellColors() CAF_PDM_InitObject("Cell Result", ":/CellResult.png", "", ""); CAF_PDM_InitFieldNoDefault(&obsoleteField_legendConfig, "LegendDefinition", "Legend Definition", "", "", ""); - this->obsoleteField_legendConfig.uiCapability()->setUiHidden(true); - this->obsoleteField_legendConfig.uiCapability()->setUiChildrenHidden(true); this->obsoleteField_legendConfig.xmlCapability()->setIOWritable(false); CAF_PDM_InitFieldNoDefault(&m_legendConfigData, "ResultVarLegendDefinitionList", "", "", "", ""); - m_legendConfigData.uiCapability()->setUiHidden(true); - m_legendConfigData.uiCapability()->setUiChildrenHidden(true); CAF_PDM_InitFieldNoDefault(&ternaryLegendConfig, "TernaryLegendDefinition", "Ternary Legend Definition", "", "", ""); this->ternaryLegendConfig = new RimTernaryLegendConfig(); - this->ternaryLegendConfig.uiCapability()->setUiHidden(true); - this->ternaryLegendConfig.uiCapability()->setUiChildrenHidden(true); CAF_PDM_InitFieldNoDefault(&m_legendConfigPtrField, "LegendDefinitionPtrField", "Legend Definition PtrField", "", "", ""); - this->m_legendConfigPtrField.uiCapability()->setUiHidden(true); - this->m_legendConfigPtrField.uiCapability()->setUiChildrenHidden(true); // Make sure we have a created legend for the default/undefined result variable changeLegendConfig(this->resultVariable()); @@ -96,6 +92,12 @@ void RimEclipseCellColors::fieldChangedByUi(const caf::PdmFieldHandle* changedFi { faultColors->updateConnectedEditors(); } + + RimCellEdgeColors* cellEdgeColors = dynamic_cast(this->parentField()->ownerObject()); + if (cellEdgeColors) + { + cellEdgeColors->updateConnectedEditors(); + } } if (m_reservoirView) m_reservoirView->createDisplayModelAndRedraw(); @@ -106,15 +108,8 @@ void RimEclipseCellColors::fieldChangedByUi(const caf::PdmFieldHandle* changedFi //-------------------------------------------------------------------------------------------------- void RimEclipseCellColors::changeLegendConfig(QString resultVarNameOfNewLegend) { - if (resultVarNameOfNewLegend == RimDefines::ternarySaturationResultName()) + if (resultVarNameOfNewLegend != RimDefines::ternarySaturationResultName()) { - this->ternaryLegendConfig.uiCapability()->setUiChildrenHidden(false); - this->m_legendConfigPtrField.uiCapability()->setUiChildrenHidden(true); - } - else - { - this->ternaryLegendConfig.uiCapability()->setUiChildrenHidden(true); - bool found = false; QString legendResultVariable; @@ -147,8 +142,6 @@ void RimEclipseCellColors::changeLegendConfig(QString resultVarNameOfNewLegend) this->m_legendConfigPtrField = newLegend; } } - - this->m_legendConfigPtrField.uiCapability()->setUiChildrenHidden(false); } } @@ -181,6 +174,49 @@ void RimEclipseCellColors::initAfterRead() updateIconState(); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseCellColors::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName /*= ""*/) +{ + if (this->resultVariable() == RimDefines::ternarySaturationResultName()) + { + uiTreeOrdering.add(ternaryLegendConfig()); + } + else + { + uiTreeOrdering.add(m_legendConfigPtrField()); + } + + uiTreeOrdering.setForgetRemainingFields(true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseCellColors::updateLegendCategorySettings() +{ + changeLegendConfig(this->resultVariable()); + + if (this->hasCategoryResult()) + { + legendConfig()->setMappingMode(RimLegendConfig::CATEGORY_INTEGER); + legendConfig()->setColorRangeMode(RimLegendConfig::CATEGORY); + } + else + { + if (legendConfig()->mappingMode() == RimLegendConfig::CATEGORY_INTEGER) + { + legendConfig()->setMappingMode(RimLegendConfig::LINEAR_CONTINUOUS); + } + + if (legendConfig()->colorRangeMode() == RimLegendConfig::CATEGORY) + { + legendConfig()->setColorRangeMode(RimLegendConfig::NORMAL); + } + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -197,6 +233,7 @@ void RimEclipseCellColors::setReservoirView(RimEclipseView* ownerReservoirView) this->ternaryLegendConfig()->setReservoirView(ownerReservoirView); } + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -205,7 +242,6 @@ RimEclipseView* RimEclipseCellColors::reservoirView() return m_reservoirView; } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/RimEclipseCellColors.h b/ApplicationCode/ProjectDataModel/RimEclipseCellColors.h index e51e44d7d7..afce58e7b5 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseCellColors.h +++ b/ApplicationCode/ProjectDataModel/RimEclipseCellColors.h @@ -21,7 +21,6 @@ #pragma once #include "RimDefines.h" -#include "RimLegendConfig.h" #include "RimEclipseResultDefinition.h" #include "cafPdmChildArrayField.h" @@ -29,6 +28,7 @@ #include "cafPdmPtrField.h" class RimTernaryLegendConfig; +class RimLegendConfig; //================================================================================================== /// @@ -51,11 +51,15 @@ class RimEclipseCellColors : public RimEclipseResultDefinition void updateIconState(); + virtual void updateLegendCategorySettings() override; + protected: // Overridden methods virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); + virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "") override; friend class RimEclipseFaultColors; + friend class RimCellEdgeColors; virtual void initAfterRead(); private: diff --git a/ApplicationCode/ProjectDataModel/RimEclipseFaultColors.cpp b/ApplicationCode/ProjectDataModel/RimEclipseFaultColors.cpp index 9444b09cf7..931cd67220 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseFaultColors.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseFaultColors.cpp @@ -25,6 +25,7 @@ #include "RimEclipseCase.h" #include "RimEclipseCellColors.h" #include "RimEclipseView.h" +#include "RimLegendConfig.h" #include "RimTernaryLegendConfig.h" #include "RiuMainWindow.h" @@ -148,15 +149,5 @@ bool RimEclipseFaultColors::hasValidCustomResult() //-------------------------------------------------------------------------------------------------- void RimEclipseFaultColors::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName /*= ""*/) { - if (m_customFaultResultColors()->ternaryLegendConfig() - && !m_customFaultResultColors()->ternaryLegendConfig.uiCapability()->isUiChildrenHidden(uiConfigName)) - { - uiTreeOrdering.add(m_customFaultResultColors()->ternaryLegendConfig()); - } - else if (m_customFaultResultColors()->legendConfig()) - { - uiTreeOrdering.add(m_customFaultResultColors()->legendConfig()); - } - - uiTreeOrdering.setForgetRemainingFields(true); + m_customFaultResultColors()->defineUiTreeOrdering(uiTreeOrdering, uiConfigName); } diff --git a/ApplicationCode/ProjectDataModel/RimEclipseInputCase.cpp b/ApplicationCode/ProjectDataModel/RimEclipseInputCase.cpp index ae5fef1650..3159fe3e54 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseInputCase.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseInputCase.cpp @@ -21,17 +21,21 @@ #include "RimEclipseInputCase.h" #include "RiaPreferences.h" + #include "RifEclipseInputFileTools.h" #include "RifReaderEclipseInput.h" #include "RifReaderInterface.h" #include "RifReaderMockModel.h" #include "RifReaderSettings.h" + #include "RigCaseCellResultsData.h" #include "RigCaseData.h" #include "RimDefines.h" + #include "RimEclipseInputProperty.h" #include "RimEclipseInputPropertyCollection.h" #include "RimReservoirCellResultsStorage.h" +#include "RimTools.h" #include "cafProgressInfo.h" @@ -239,16 +243,14 @@ void RimEclipseInputCase::loadAndSyncronizeInputProperties() std::vector filenames = m_additionalFileNames; filenames.push_back(m_gridFileName); - const std::vector& knownKeywords = RifEclipseInputFileTools::knownPropertyKeywords(); - size_t inputPropCount = this->m_inputPropertyCollection()->inputProperties.size(); - caf::ProgressInfo progInfo(static_cast(filenames.size() *( inputPropCount + knownKeywords.size())), "Reading Input properties" ); + caf::ProgressInfo progInfo(static_cast(filenames.size() * inputPropCount), "Reading Input properties" ); int progress = 0; for_all(filenames, i) { - progress = static_cast(i*( inputPropCount + knownKeywords.size())); + progress = static_cast(i*inputPropCount); // Find all the keywords present on the file progInfo.setProgressDescription(filenames[i]); @@ -261,7 +263,7 @@ void RimEclipseInputCase::loadAndSyncronizeInputProperties() if (isExistingFile) { std::vector< RifKeywordAndFilePos > fileKeywords; - RifEclipseInputFileTools::findKeywordsOnFile(filenames[i], fileKeywords); + RifEclipseInputFileTools::findKeywordsOnFile(filenames[i], &fileKeywords); for_all(fileKeywords, fkIt) fileKeywordSet.insert(fileKeywords[fkIt].keyword); } @@ -284,7 +286,7 @@ void RimEclipseInputCase::loadAndSyncronizeInputProperties() ipsUsingThisFile[ipIdx]->resolvedState = RimEclipseInputProperty::KEYWORD_NOT_IN_FILE; if (fileKeywordSet.count(kw)) { - if (RifEclipseInputFileTools::readProperty(filenames[i], this->reservoirData(), kw, ipsUsingThisFile[ipIdx]->resultName )) + if (RifEclipseInputFileTools::readProperty(filenames[i], this->reservoirData(), kw, ipsUsingThisFile[ipIdx]->resultName )) { ipsUsingThisFile[ipIdx]->resolvedState = RimEclipseInputProperty::RESOLVED; } @@ -298,25 +300,22 @@ void RimEclipseInputCase::loadAndSyncronizeInputProperties() progInfo.setProgress(static_cast(progress + inputPropCount)); // Check if there are more known property keywords left on file. If it is, read them and create inputProperty objects - if (!fileKeywordSet.empty()) + for (const QString fileKeyword : fileKeywordSet) { - for_all(knownKeywords, fkIt) { - if (fileKeywordSet.count(knownKeywords[fkIt])) + QString resultName = this->reservoirData()->results(RifReaderInterface::MATRIX_RESULTS)->makeResultNameUnique(fileKeyword); + if (RifEclipseInputFileTools::readProperty(filenames[i], this->reservoirData(), fileKeyword, resultName)) { - QString resultName = this->reservoirData()->results(RifReaderInterface::MATRIX_RESULTS)->makeResultNameUnique(knownKeywords[fkIt]); - if (RifEclipseInputFileTools::readProperty(filenames[i], this->reservoirData(), knownKeywords[fkIt], resultName)) - { - RimEclipseInputProperty* inputProperty = new RimEclipseInputProperty; - inputProperty->resultName = resultName; - inputProperty->eclipseKeyword = knownKeywords[fkIt]; - inputProperty->fileName = filenames[i]; - inputProperty->resolvedState = RimEclipseInputProperty::RESOLVED; - m_inputPropertyCollection->inputProperties.push_back(inputProperty); - } + RimEclipseInputProperty* inputProperty = new RimEclipseInputProperty; + inputProperty->resultName = resultName; + inputProperty->eclipseKeyword = fileKeyword; + inputProperty->fileName = filenames[i]; + inputProperty->resolvedState = RimEclipseInputProperty::RESOLVED; + m_inputPropertyCollection->inputProperties.push_back(inputProperty); } - progInfo.setProgress(static_cast(progress + inputPropCount + fkIt)); } + + progInfo.setProgress(static_cast(progress + inputPropCount)); } } @@ -394,10 +393,10 @@ void RimEclipseInputCase::updateFilePathsFromProjectPath(const QString& newProje bool foundFile = false; std::vector searchedPaths; - m_gridFileName = relocateFile(m_gridFileName(), newProjectPath, oldProjectPath, &foundFile, &searchedPaths); + m_gridFileName = RimTools::relocateFile(m_gridFileName(), newProjectPath, oldProjectPath, &foundFile, &searchedPaths); for (size_t i = 0; i < m_additionalFileNames().size(); i++) { - m_additionalFileNames.v()[i] = relocateFile(m_additionalFileNames()[i], newProjectPath, oldProjectPath, &foundFile, &searchedPaths); + m_additionalFileNames.v()[i] = RimTools::relocateFile(m_additionalFileNames()[i], newProjectPath, oldProjectPath, &foundFile, &searchedPaths); } } diff --git a/ApplicationCode/ProjectDataModel/RimEclipseInputCaseOpm.cpp b/ApplicationCode/ProjectDataModel/RimEclipseInputCaseOpm.cpp new file mode 100644 index 0000000000..80ed512824 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimEclipseInputCaseOpm.cpp @@ -0,0 +1,268 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimEclipseInputCaseOpm.h" + +#include "RiaApplication.h" +#include "RiaPreferences.h" + +#include "RifReaderOpmParserInput.h" +#include "RifReaderSettings.h" + +#include "RigCaseCellResultsData.h" +#include "RigCaseData.h" + +#include "RimEclipseCase.h" +#include "RimEclipseInputProperty.h" +#include "RimEclipseInputPropertyCollection.h" +#include "RimReservoirCellResultsStorage.h" +#include "RimTools.h" + +#include "cafProgressInfo.h" + +#include + + +CAF_PDM_SOURCE_INIT(RimEclipseInputCaseOpm, "EclipseInputCaseOpm"); +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimEclipseInputCaseOpm::RimEclipseInputCaseOpm() + : RimEclipseCase() +{ + CAF_PDM_InitObject("RimInputCase", ":/EclipseInput48x48.png", "", ""); + + CAF_PDM_InitField(&m_gridFileName, "GridFileName", QString(), "Case grid filename", "", "" ,""); + m_gridFileName.uiCapability()->setUiReadOnly(true); + CAF_PDM_InitFieldNoDefault(&m_additionalFileNames, "AdditionalFileNames", "Additional files", "", "", ""); + m_additionalFileNames.uiCapability()->setUiReadOnly(true); + + CAF_PDM_InitFieldNoDefault(&m_inputPropertyCollection, "InputPropertyCollection", "", "", "", ""); + m_inputPropertyCollection = new RimEclipseInputPropertyCollection; + m_inputPropertyCollection->parentField()->uiCapability()->setUiHidden(true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimEclipseInputCaseOpm::~RimEclipseInputCaseOpm() +{ + delete m_inputPropertyCollection; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseInputCaseOpm::importNewEclipseGridAndProperties(const QString& fileName) +{ + m_gridFileName = fileName; + + QFileInfo gridFileName(m_gridFileName); + QString caseName = gridFileName.completeBaseName(); + this->caseUserDescription = caseName + " (opm-parser)"; + + importEclipseGridAndProperties(m_gridFileName); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseInputCaseOpm::appendPropertiesFromStandaloneFiles(const QStringList& fileNames) +{ + for (auto filename : fileNames) + { + QFileInfo fi(filename); + if (!fi.exists()) continue; + + RifReaderOpmParserPropertyReader propertyReader(filename); + std::set fileKeywordSet = propertyReader.keywords(); + + std::vector knownKeywords = RifReaderOpmParserInput::knownPropertyKeywords(); + for (auto knownKeyword : knownKeywords) + { + if (fileKeywordSet.count(knownKeyword) > 0) + { + QString qtKnownKeyword = QString::fromStdString(knownKeyword); + QString resultName = this->reservoirData()->results(RifReaderInterface::MATRIX_RESULTS)->makeResultNameUnique(qtKnownKeyword); + if (propertyReader.copyPropertyToCaseData(knownKeyword, this->reservoirData(), resultName)) + { + RimEclipseInputProperty* inputProperty = new RimEclipseInputProperty; + inputProperty->resultName = resultName; + inputProperty->eclipseKeyword = qtKnownKeyword; + inputProperty->fileName = filename; + inputProperty->resolvedState = RimEclipseInputProperty::RESOLVED; + m_inputPropertyCollection->inputProperties.push_back(inputProperty); + } + } + } + + m_additionalFileNames.v().push_back(filename); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimEclipseInputCaseOpm::openEclipseGridFile() +{ + importEclipseGridAndProperties(m_gridFileName); + + loadAndSyncronizeInputProperties(); + + return true; + } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimEclipseInputCaseOpm::locationOnDisc() const +{ + if (m_gridFileName().isEmpty()) return QString(); + + QFileInfo fi(m_gridFileName); + return fi.absolutePath(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseInputCaseOpm::updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) +{ + bool foundFile = false; + std::vector searchedPaths; + + m_gridFileName = RimTools::relocateFile(m_gridFileName(), newProjectPath, oldProjectPath, &foundFile, &searchedPaths); + + for (size_t i = 0; i < m_additionalFileNames().size(); i++) + { + m_additionalFileNames.v()[i] = RimTools::relocateFile(m_additionalFileNames()[i], newProjectPath, oldProjectPath, &foundFile, &searchedPaths); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseInputCaseOpm::importEclipseGridAndProperties(const QString& fileName) +{ + if (this->reservoirData() == NULL) + { + this->setReservoirData(new RigCaseData); + + RifReaderOpmParserInput::importGridPropertiesFaults(fileName, reservoirData()); + + if (this->reservoirData()->mainGrid() == NULL) + { + return; + } + + this->reservoirData()->mainGrid()->setFlipAxis(flipXAxis, flipYAxis); + + computeCachedData(); + + RiaApplication* app = RiaApplication::instance(); + if (app->preferences()->autocomputeDepthRelatedProperties) + { + RimReservoirCellResultsStorage* matrixResults = results(RifReaderInterface::MATRIX_RESULTS); + RimReservoirCellResultsStorage* fractureResults = results(RifReaderInterface::FRACTURE_RESULTS); + + matrixResults->computeDepthRelatedResults(); + fractureResults->computeDepthRelatedResults(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseInputCaseOpm::loadAndSyncronizeInputProperties() +{ + // Make sure we actually have reservoir data + + CVF_ASSERT(this->reservoirData()); + CVF_ASSERT(this->reservoirData()->mainGrid()->gridPointDimensions() != cvf::Vec3st(0, 0, 0)); + + // Then read the properties from all the files referenced by the InputReservoir + + for (QString filename : m_additionalFileNames()) + { + QFileInfo fileNameInfo(filename); + bool isExistingFile = fileNameInfo.exists(); + + // Find the input property objects referring to the file + + std::vector ipsUsingThisFile = this->m_inputPropertyCollection()->findInputProperties(filename); + + if (!isExistingFile) + { + for (auto inputProperty : ipsUsingThisFile) + { + inputProperty->resolvedState = RimEclipseInputProperty::FILE_MISSING; + } + } + else + { + RifReaderOpmParserPropertyReader propertyReader(filename); + std::set fileKeywordSet = propertyReader.keywords(); + + for (auto inputProperty : ipsUsingThisFile) + { + QString kw = inputProperty->eclipseKeyword(); + inputProperty->resolvedState = RimEclipseInputProperty::KEYWORD_NOT_IN_FILE; + if (fileKeywordSet.count(kw.toStdString())) + { + if (propertyReader.copyPropertyToCaseData(kw.toStdString(), this->reservoirData(), inputProperty->resultName)) + { + inputProperty->resolvedState = RimEclipseInputProperty::RESOLVED; + } + } + fileKeywordSet.erase(kw.toStdString()); + } + + if (!fileKeywordSet.empty()) + { + std::vector knownKeywords = RifReaderOpmParserInput::knownPropertyKeywords(); + for (auto knownKeyword : knownKeywords) + { + if (fileKeywordSet.count(knownKeyword) > 0) + { + QString qtKnownKeyword = QString::fromStdString(knownKeyword); + QString resultName = this->reservoirData()->results(RifReaderInterface::MATRIX_RESULTS)->makeResultNameUnique(qtKnownKeyword); + if (propertyReader.copyPropertyToCaseData(knownKeyword, this->reservoirData(), resultName)) + { + RimEclipseInputProperty* inputProperty = new RimEclipseInputProperty; + inputProperty->resultName = resultName; + inputProperty->eclipseKeyword = qtKnownKeyword; + inputProperty->fileName = filename; + inputProperty->resolvedState = RimEclipseInputProperty::RESOLVED; + m_inputPropertyCollection->inputProperties.push_back(inputProperty); + } + } + } + } + } + } + + for(auto inputProperty : m_inputPropertyCollection->inputProperties()) + { + if (inputProperty->resolvedState() == RimEclipseInputProperty::UNKNOWN) + { + inputProperty->resolvedState = RimEclipseInputProperty::FILE_MISSING; + } + } +} + diff --git a/ApplicationCode/ProjectDataModel/RimEclipseInputCaseOpm.h b/ApplicationCode/ProjectDataModel/RimEclipseInputCaseOpm.h new file mode 100644 index 0000000000..578074d1d7 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimEclipseInputCaseOpm.h @@ -0,0 +1,69 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "RimEclipseCase.h" + +#include "cafPdmChildField.h" +#include "cafPdmField.h" +#include "cafPdmObject.h" + +#include "cvfBase.h" +#include "cvfObject.h" + +class RimEclipseInputProperty; +class RimEclipseInputPropertyCollection; + +//================================================================================================== +// +// This class is intended to replace RimEclipseInputCase when the opm-parser is considered stable +// +//================================================================================================== +class RimEclipseInputCaseOpm : public RimEclipseCase +{ + CAF_PDM_HEADER_INIT; + +public: + RimEclipseInputCaseOpm(); + virtual ~RimEclipseInputCaseOpm(); + + void importNewEclipseGridAndProperties(const QString& fileName); + + void appendPropertiesFromStandaloneFiles(const QStringList& fileNames); + + // RimCase overrides + virtual bool openEclipseGridFile(); // Find grid file among file set. Read, Find read and validate property date. Syncronize child property sets. + + // Overrides from RimCase + virtual QString locationOnDisc() const; + virtual QString gridFileName() const { return m_gridFileName();} + + virtual void updateFilePathsFromProjectPath(const QString& projectPath, const QString& oldProjectPath); + +private: + void importEclipseGridAndProperties(const QString& fileName); + void loadAndSyncronizeInputProperties(); + + +private: + caf::PdmChildField m_inputPropertyCollection; + caf::PdmField > m_additionalFileNames; + + caf::PdmField m_gridFileName; +}; diff --git a/ApplicationCode/ProjectDataModel/RimEclipseInputProperty.cpp b/ApplicationCode/ProjectDataModel/RimEclipseInputProperty.cpp index 14c0c07807..bf4c9918d3 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseInputProperty.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseInputProperty.cpp @@ -20,6 +20,12 @@ #include "RimEclipseInputProperty.h" +#include "RigCaseCellResultsData.h" +#include "RigCaseData.h" + +#include "RimEclipseInputCase.h" +#include "RimEclipseResultDefinition.h" + #include "cafPdmUiLineEditor.h" #include "cvfAssert.h" @@ -69,3 +75,57 @@ RimEclipseInputProperty::~RimEclipseInputProperty() } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseInputProperty::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + if (changedField == &resultName) + { + RimEclipseInputCase* rimCase = nullptr; + this->firstAncestorOrThisOfType(rimCase); + if (rimCase) + { + bool anyNameUpdated = false; + + QString oldName = oldValue.toString(); + QString newName = newValue.toString(); + + RigCaseCellResultsData* matrixResults = rimCase->reservoirData()->results(RifReaderInterface::MATRIX_RESULTS); + if (matrixResults) + { + if (matrixResults->updateResultName(RimDefines::INPUT_PROPERTY, oldName, newName)) + { + anyNameUpdated = true; + } + } + + RigCaseCellResultsData* fracResults = rimCase->reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS); + if (fracResults) + { + if (fracResults->updateResultName(RimDefines::INPUT_PROPERTY, oldName, newName)) + { + anyNameUpdated = true; + } + } + + if (anyNameUpdated) + { + std::vector resDefs; + rimCase->descendantsIncludingThisOfType(resDefs); + + for (auto it : resDefs) + { + if (it->resultVariable() == oldName) + { + it->setResultVariable(newName); + } + + it->updateResultNameHasChanged(); + it->updateAnyFieldHasChanged(); + } + } + } + } +} + diff --git a/ApplicationCode/ProjectDataModel/RimEclipseInputProperty.h b/ApplicationCode/ProjectDataModel/RimEclipseInputProperty.h index 4a21500647..f8dbb9749a 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseInputProperty.h +++ b/ApplicationCode/ProjectDataModel/RimEclipseInputProperty.h @@ -57,8 +57,5 @@ class RimEclipseInputProperty : public caf::PdmObject // PdmObject Overrides virtual caf::PdmFieldHandle* userDescriptionField() { return &resultName;} - -private: - // Possibly the resultIndex, but it should be superfluous - + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; }; diff --git a/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilter.cpp b/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilter.cpp index 7c2c1503dc..7f1d704dea 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilter.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilter.cpp @@ -21,7 +21,10 @@ #include "RimEclipsePropertyFilter.h" #include "RigCaseCellResultsData.h" +#include "RigCaseData.h" +#include "RigFormationNames.h" +#include "RimEclipseCase.h" #include "RimEclipsePropertyFilterCollection.h" #include "RimEclipseResultDefinition.h" #include "RimEclipseView.h" @@ -67,13 +70,16 @@ RimEclipsePropertyFilter::RimEclipsePropertyFilter() // Set to hidden to avoid this item to been displayed as a child item // Fields in this object are displayed using defineUiOrdering() resultDefinition.uiCapability()->setUiHidden(true); - resultDefinition.uiCapability()->setUiChildrenHidden(true); + resultDefinition.uiCapability()->setUiTreeChildrenHidden(true); - CAF_PDM_InitField(&lowerBound, "LowerBound", 0.0, "Min", "", "", ""); - lowerBound.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); + CAF_PDM_InitField(&m_lowerBound, "LowerBound", 0.0, "Min", "", "", ""); + m_lowerBound.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); - CAF_PDM_InitField(&upperBound, "UpperBound", 0.0, "Max", "", "", ""); - upperBound.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); + CAF_PDM_InitField(&m_upperBound, "UpperBound", 0.0, "Max", "", "", ""); + m_upperBound.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); + + CAF_PDM_InitField(&m_categorySelection, "CategorySelection", false, "Category Selection", "", "", ""); + m_upperBound.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); updateIconState(); @@ -89,20 +95,45 @@ RimEclipsePropertyFilter::~RimEclipsePropertyFilter() delete resultDefinition; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipsePropertyFilter::rangeValues(double* lower, double* upper) const +{ + *lower = this->m_lowerBound; + *upper = this->m_upperBound; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimEclipsePropertyFilter::isCategorySelectionActive() const +{ + if (resultDefinition->hasCategoryResult() && m_categorySelection) + { + return true; + } + + return false; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimEclipsePropertyFilter::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) { - if (&name == changedField) + if (&m_categorySelection == changedField) { + updateFieldVisibility(); } - if ( &lowerBound == changedField - || &upperBound == changedField + if ( &m_lowerBound == changedField + || &m_upperBound == changedField || &obsoleteField_evaluationRegion == changedField || &isActive == changedField - || &filterMode == changedField) + || &filterMode == changedField + || &m_selectedCategoryValues == changedField + || &m_categorySelection == changedField) { updateFilterName(); this->updateIconState(); @@ -129,8 +160,13 @@ void RimEclipsePropertyFilter::setToDefaultValues() computeResultValueRange(); - lowerBound = m_minimumResultValue; - upperBound = m_maximumResultValue; + m_lowerBound = m_minimumResultValue; + m_upperBound = m_maximumResultValue; + + m_selectedCategoryValues = m_categoryValues; + m_categorySelection = true; + + updateFieldVisibility(); } //-------------------------------------------------------------------------------------------------- @@ -148,13 +184,16 @@ void RimEclipsePropertyFilter::defineUiOrdering(QString uiConfigName, caf::PdmUi group1->add(&(resultDefinition->m_resultVariableUiField)); // Fields declared in RimCellFilter - uiOrdering.add(&isActive); uiOrdering.add(&filterMode); + uiOrdering.add(&m_categorySelection); // Fields declared in this class (RimCellPropertyFilter) - uiOrdering.add(&lowerBound); - uiOrdering.add(&upperBound); - uiOrdering.add(&filterMode); + uiOrdering.add(&m_lowerBound); + uiOrdering.add(&m_upperBound); + + uiOrdering.add(&m_selectedCategoryValues); + + uiOrdering.setForgetRemainingFields(true); updateReadOnlyStateOfAllFields(); } @@ -196,7 +235,7 @@ void RimEclipsePropertyFilter::updateReadOnlyStateOfAllFields() bool RimEclipsePropertyFilter::isPropertyFilterControlled() { RimView* rimView = NULL; - firstAnchestorOrThisOfType(rimView); + firstAncestorOrThisOfType(rimView); CVF_ASSERT(rimView); bool isPropertyFilterControlled = false; @@ -217,6 +256,38 @@ void RimEclipsePropertyFilter::updateActiveState() isActive.uiCapability()->setUiReadOnly(isPropertyFilterControlled()); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipsePropertyFilter::updateFieldVisibility() +{ + if (resultDefinition->hasCategoryResult()) + { + m_categorySelection.uiCapability()->setUiHidden(false); + + if (!m_categorySelection) + { + m_selectedCategoryValues.uiCapability()->setUiHidden(true); + m_lowerBound.uiCapability()->setUiHidden(false); + m_upperBound.uiCapability()->setUiHidden(false); + } + else + { + m_selectedCategoryValues.uiCapability()->setUiHidden(false); + m_lowerBound.uiCapability()->setUiHidden(true); + m_upperBound.uiCapability()->setUiHidden(true); + } + } + else + { + m_lowerBound.uiCapability()->setUiHidden(false); + m_upperBound.uiCapability()->setUiHidden(false); + + m_selectedCategoryValues.uiCapability()->setUiHidden(true); + m_categorySelection.uiCapability()->setUiHidden(true); + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -227,7 +298,7 @@ void RimEclipsePropertyFilter::defineEditorAttribute(const caf::PdmFieldHandle* return; } - if (field == &lowerBound || field == &upperBound) + if (field == &m_lowerBound || field == &m_upperBound) { caf::PdmUiDoubleSliderEditorAttribute* myAttr = dynamic_cast(attribute); if (!myAttr) @@ -250,6 +321,8 @@ void RimEclipsePropertyFilter::computeResultValueRange() double min = 0.0; double max = 0.0; + clearCategories(); + size_t scalarIndex = resultDefinition->scalarResultIndex(); if (scalarIndex != cvf::UNDEFINED_SIZE_T) { @@ -257,14 +330,30 @@ void RimEclipsePropertyFilter::computeResultValueRange() if (results) { results->cellResults()->minMaxCellScalarValues(scalarIndex, min, max); + + if (resultDefinition->hasCategoryResult()) + { + if (resultDefinition->resultType() != RimDefines::FORMATION_NAMES) + { + setCategoryValues(results->cellResults()->uniqueCellScalarValues(scalarIndex)); + } + else + { + CVF_ASSERT(parentContainer()->reservoirView()->eclipseCase()->reservoirData()); + CVF_ASSERT(parentContainer()->reservoirView()->eclipseCase()->reservoirData()->activeFormationNames()); + + const std::vector& fnVector = parentContainer()->reservoirView()->eclipseCase()->reservoirData()->activeFormationNames()->formationNames(); + setCategoryNames(fnVector); + } + } } } m_maximumResultValue = max; m_minimumResultValue = min; - lowerBound.uiCapability()->setUiName(QString("Min (%1)").arg(min)); - upperBound.uiCapability()->setUiName(QString("Max (%1)").arg(max)); + m_lowerBound.uiCapability()->setUiName(QString("Min (%1)").arg(min)); + m_upperBound.uiCapability()->setUiName(QString("Max (%1)").arg(max)); } //-------------------------------------------------------------------------------------------------- @@ -272,12 +361,44 @@ void RimEclipsePropertyFilter::computeResultValueRange() //-------------------------------------------------------------------------------------------------- void RimEclipsePropertyFilter::updateFilterName() { - QString newFiltername; - newFiltername = resultDefinition->resultVariable() + " (" - + QString::number(lowerBound()) + " .. " + QString::number(upperBound) + ")"; - this->name = newFiltername; + QString newFiltername = resultDefinition->resultVariable(); + + if (isCategorySelectionActive()) + { + if (m_categoryNames.size() == 0) + { + newFiltername += " ("; + + if ( m_selectedCategoryValues().size() && m_selectedCategoryValues().size() == m_categoryValues.size() ) + { + newFiltername += QString::number(m_selectedCategoryValues()[0]); + newFiltername += ".."; + newFiltername += QString::number(m_selectedCategoryValues()[m_selectedCategoryValues().size() - 1]); + } + else + { + for (size_t i = 0; i < m_selectedCategoryValues().size(); i++) + { + int val = m_selectedCategoryValues()[i]; + newFiltername += QString::number(val); + + if (i < m_selectedCategoryValues().size() - 1) + { + newFiltername += ", "; + } + } + } + + newFiltername += ")"; + } + + } + else + { + newFiltername += " (" + QString::number(m_lowerBound) + " .. " + QString::number(m_upperBound) + ")"; + } - uiCapability()->updateConnectedEditors(); + this->name = newFiltername; } //-------------------------------------------------------------------------------------------------- @@ -291,5 +412,6 @@ void RimEclipsePropertyFilter::initAfterRead() resultDefinition->loadResult(); updateIconState(); computeResultValueRange(); + updateFieldVisibility(); } diff --git a/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilter.h b/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilter.h index b4e45f6cde..3053d8a8b7 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilter.h +++ b/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilter.h @@ -44,10 +44,10 @@ class RimEclipsePropertyFilter : public RimCellFilter RimEclipsePropertyFilter(); virtual ~RimEclipsePropertyFilter(); - caf::PdmChildField resultDefinition; + caf::PdmChildField resultDefinition; - caf::PdmField lowerBound; - caf::PdmField upperBound; + void rangeValues(double* lower, double* upper) const; + bool isCategorySelectionActive() const; RimEclipsePropertyFilterCollection* parentContainer(); void setToDefaultValues(); @@ -57,7 +57,6 @@ class RimEclipsePropertyFilter : public RimCellFilter virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); virtual void initAfterRead(); - void updateActiveState(); protected: virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering); @@ -66,11 +65,21 @@ class RimEclipsePropertyFilter : public RimCellFilter virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute); private: + friend class RimEclipsePropertyFilterCollection; + friend class RicEclipsePropertyFilterFeatureImpl; + + void updateActiveState(); + void updateFieldVisibility(); void updateReadOnlyStateOfAllFields(); bool isPropertyFilterControlled(); private: - double m_minimumResultValue; + caf::PdmField m_lowerBound; + caf::PdmField m_upperBound; + + caf::PdmField m_categorySelection; + + double m_minimumResultValue; double m_maximumResultValue; public: @@ -82,6 +91,5 @@ class RimEclipsePropertyFilter : public RimCellFilter }; private: caf::PdmField< caf::AppEnum< EvaluationRegionType > > obsoleteField_evaluationRegion; - }; diff --git a/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilterCollection.cpp b/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilterCollection.cpp index 5475d726f3..116026cd20 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilterCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilterCollection.cpp @@ -56,7 +56,7 @@ RimEclipsePropertyFilterCollection::~RimEclipsePropertyFilterCollection() RimEclipseView* RimEclipsePropertyFilterCollection::reservoirView() { RimEclipseView* eclipseView = NULL; - firstAnchestorOrThisOfType(eclipseView); + firstAncestorOrThisOfType(eclipseView); return eclipseView; } @@ -114,6 +114,24 @@ bool RimEclipsePropertyFilterCollection::hasActiveDynamicFilters() const } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimEclipsePropertyFilterCollection::isUsingFormationNames() const +{ + if ( !isActive ) return false; + + for ( size_t i = 0; i < propertyFilters.size(); i++ ) + { + RimEclipsePropertyFilter* propertyFilter = propertyFilters[i]; + if ( propertyFilter->isActive() + && propertyFilter->resultDefinition->resultType() == RimDefines::FORMATION_NAMES + && propertyFilter->resultDefinition->resultVariable() != RimDefines::undefinedResultName()) return true; + } + + return false; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -122,7 +140,7 @@ void RimEclipsePropertyFilterCollection::updateIconState() bool activeIcon = true; RimEclipseView* view = NULL; - this->firstAnchestorOrThisOfType(view); + this->firstAncestorOrThisOfType(view); RimViewController* viewController = view->viewController(); if (viewController && (viewController->isPropertyFilterOveridden() || viewController->isVisibleCellsOveridden())) diff --git a/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilterCollection.h b/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilterCollection.h index 3a36e7b028..11a0aff033 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilterCollection.h +++ b/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilterCollection.h @@ -45,6 +45,7 @@ class RimEclipsePropertyFilterCollection : public RimPropertyFilterCollection // Methods bool hasActiveFilters() const; bool hasActiveDynamicFilters() const; + bool isUsingFormationNames() const; void loadAndInitializePropertyFilters(); diff --git a/ApplicationCode/ProjectDataModel/RimEclipseResultCase.cpp b/ApplicationCode/ProjectDataModel/RimEclipseResultCase.cpp index d164a65afd..2210ec9bb7 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseResultCase.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseResultCase.cpp @@ -21,15 +21,19 @@ #include "RimEclipseResultCase.h" #include "RiaPreferences.h" + #include "RifEclipseOutputFileTools.h" #include "RifReaderEclipseOutput.h" #include "RifReaderMockModel.h" #include "RifReaderSettings.h" + #include "RigCaseCellResultsData.h" #include "RigCaseData.h" + #include "RimMockModelSettings.h" #include "RimProject.h" #include "RimReservoirCellResultsStorage.h" +#include "RimTools.h" #include "cafPdmSettings.h" #include "cafPdmUiPropertyViewDialog.h" @@ -322,7 +326,7 @@ void RimEclipseResultCase::updateFilePathsFromProjectPath(const QString& newProj std::vector searchedPaths; // Update filename and folder paths when opening project from a different file location - caseFileName = relocateFile(caseFileName(), newProjectPath, oldProjectPath, &foundFile, &searchedPaths); + caseFileName = RimTools::relocateFile(caseFileName(), newProjectPath, oldProjectPath, &foundFile, &searchedPaths); #if 0 // Output the search path for debugging for (size_t i = 0; i < searchedPaths.size(); ++i) diff --git a/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp b/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp index b21398df1f..91082aa2f4 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp @@ -23,6 +23,7 @@ #include "RigCaseCellResultsData.h" #include "RigCaseData.h" +#include "RimCellEdgeColors.h" #include "RimEclipseCase.h" #include "RimEclipseCellColors.h" #include "RimEclipseFaultColors.h" @@ -82,19 +83,26 @@ void RimEclipseResultDefinition::setEclipseCase(RimEclipseCase* eclipseCase) updateFieldVisibility(); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- QStringList RimEclipseResultDefinition::getResultVariableListForCurrentUIFieldSettings() { - if (!m_eclipseCase ) return QStringList(); + RimReservoirCellResultsStorage* cellResultsStorage = currentGridCellResults(); - RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(m_porosityModelUiField()); + if (!cellResultsStorage) return QStringList(); - return m_eclipseCase->results(porosityModel)->cellResults()->resultNames(m_resultTypeUiField()); -} + if (!cellResultsStorage->cellResults()) return QStringList(); + return cellResultsStorage->cellResults()->resultNames(m_resultTypeUiField()); +} +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- RimReservoirCellResultsStorage* RimEclipseResultDefinition::currentGridCellResults() const { - if (!m_eclipseCase ) return NULL; + if (!m_eclipseCase ) return nullptr; RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(m_porosityModel()); @@ -125,66 +133,118 @@ void RimEclipseResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha } - RimEclipsePropertyFilter* propFilter = dynamic_cast(this->parentField()->ownerObject()); - RimView* view = NULL; - this->firstAnchestorOrThisOfType(view); - RimWellLogCurve* curve = NULL; - this->firstAnchestorOrThisOfType(curve); - if (&m_resultVariableUiField == changedField) { m_porosityModel = m_porosityModelUiField; m_resultType = m_resultTypeUiField; m_resultVariable = m_resultVariableUiField; - loadResult(); + updateResultNameHasChanged(); + } - if (propFilter) - { - propFilter->setToDefaultValues(); - propFilter->updateFilterName(); + updateAnyFieldHasChanged(); +} - if (view) - { - view->scheduleGeometryRegen(PROPERTY_FILTERED); - view->scheduleCreateDisplayModelAndRedraw(); - } - } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseResultDefinition::updateAnyFieldHasChanged() +{ + RimEclipsePropertyFilter* propFilter = nullptr; + this->firstAncestorOrThisOfType(propFilter); + if (propFilter) + { + propFilter->updateConnectedEditors(); + } + + RimEclipseFaultColors* faultColors = nullptr; + this->firstAncestorOrThisOfType(faultColors); + if (faultColors) + { + faultColors->updateConnectedEditors(); + } - if (dynamic_cast(this)) - { - if (view) - { - RimViewLinker* viewLinker = view->assosiatedViewLinker(); - if (viewLinker) - { - viewLinker->updateCellResult(); - } - } - } + RimCellEdgeColors* cellEdgeColors = nullptr; + this->firstAncestorOrThisOfType(cellEdgeColors); + if (cellEdgeColors) + { + cellEdgeColors->updateConnectedEditors(); + } + + RimEclipseCellColors* cellColors = nullptr; + this->firstAncestorOrThisOfType(cellColors); + if (cellColors) + { + cellColors->updateConnectedEditors(); + } - if (curve) + RimWellLogCurve* curve = nullptr; + this->firstAncestorOrThisOfType(curve); + if (curve) + { + curve->updateConnectedEditors(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseResultDefinition::updateResultNameHasChanged() +{ + RimView* view = nullptr; + this->firstAncestorOrThisOfType(view); + + loadResult(); + + RimEclipsePropertyFilter* propFilter = nullptr; + this->firstAncestorOrThisOfType(propFilter); + if (propFilter) + { + propFilter->setToDefaultValues(); + propFilter->updateFilterName(); + + if (view) { - curve->updatePlotData(); + view->scheduleGeometryRegen(PROPERTY_FILTERED); + view->scheduleCreateDisplayModelAndRedraw(); } } - if (propFilter) + RimEclipseCellColors* cellColors = nullptr; + this->firstAncestorOrThisOfType(cellColors); + if (cellColors) { - propFilter->updateConnectedEditors(); + this->updateLegendCategorySettings(); + + if (view) + { + RimViewLinker* viewLinker = view->assosiatedViewLinker(); + if (viewLinker) + { + viewLinker->updateCellResult(); + } + } } - RimEclipseFaultColors* faultColors = dynamic_cast(this->parentField()->ownerObject()); - if (faultColors) + RimCellEdgeColors* cellEdgeColors = nullptr; + this->firstAncestorOrThisOfType(cellEdgeColors); + if (cellEdgeColors) { - faultColors->updateConnectedEditors(); + cellEdgeColors->singleVarEdgeResultColors()->updateLegendCategorySettings(); + cellEdgeColors->loadResult(); + + if (view) + { + view->scheduleCreateDisplayModelAndRedraw(); + } } + RimWellLogCurve* curve = nullptr; + this->firstAncestorOrThisOfType(curve); if (curve) { - curve->updateConnectedEditors(); + curve->loadDataAndUpdate(); } - } //-------------------------------------------------------------------------------------------------- @@ -194,17 +254,22 @@ QList RimEclipseResultDefinition::calculateValueOptions( { bool showPerFaceResultsFirst = false; - RimEclipseFaultColors* rimEclipseFaultColors = NULL; - this->firstAnchestorOrThisOfType(rimEclipseFaultColors); + RimEclipseFaultColors* rimEclipseFaultColors = nullptr; + this->firstAncestorOrThisOfType(rimEclipseFaultColors); if (rimEclipseFaultColors) showPerFaceResultsFirst = true; QList optionItems = calculateValueOptionsForSpecifiedDerivedListPosition(showPerFaceResultsFirst, fieldNeedingOptions, useOptionsOnly); - RimWellLogCurve* curve = NULL; - this->firstAnchestorOrThisOfType(curve); + RimWellLogCurve* curve = nullptr; + this->firstAncestorOrThisOfType(curve); + + RimEclipsePropertyFilter* propFilter = nullptr; + this->firstAncestorOrThisOfType(propFilter); - RimEclipsePropertyFilter* propFilter = dynamic_cast(this->parentField()->ownerObject()); - if (propFilter || curve) + RimCellEdgeColors* cellEdge = nullptr; + this->firstAncestorOrThisOfType(cellEdge); + + if (propFilter || curve || cellEdge) { removePerCellFaceOptionItems(optionItems); } @@ -424,6 +489,21 @@ bool RimEclipseResultDefinition::isTernarySaturationSelected() const return isTernary; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimEclipseResultDefinition::hasCategoryResult() const +{ + if (this->m_resultType() == RimDefines::FORMATION_NAMES + && m_eclipseCase + && m_eclipseCase->reservoirData() + && m_eclipseCase->reservoirData()->activeFormationNames() ) return true; + + if (!this->hasStaticResult()) return false; + + return this->resultVariable().contains("NUM", Qt::CaseInsensitive); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.h b/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.h index aad514465a..410766cf9a 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.h +++ b/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.h @@ -27,11 +27,11 @@ #include "cafPdmObject.h" #include "cafPdmPointer.h" - -class RimEclipseView; class RigCaseCellResultsData; -class RimReservoirCellResultsStorage; class RimEclipseCase; +class RimEclipseView; +class RimReservoirCellResultsStorage; + //================================================================================================== /// /// @@ -58,12 +58,22 @@ class RimEclipseResultDefinition : public caf::PdmObject bool hasDynamicResult() const; bool hasResult() const; bool isTernarySaturationSelected() const; + bool hasCategoryResult() const; RimReservoirCellResultsStorage* currentGridCellResults() const; + virtual void initAfterRead(); + + virtual void updateLegendCategorySettings() {}; + + void updateResultNameHasChanged(); + void updateAnyFieldHasChanged(); + virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly); - virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); - virtual void initAfterRead(); + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); + +protected: + void updateFieldVisibility(); protected: caf::PdmField< caf::AppEnum< RimDefines::ResultCatType > > m_resultType; @@ -81,9 +91,6 @@ class RimEclipseResultDefinition : public caf::PdmObject caf::PdmPointer m_eclipseCase; -protected: - void updateFieldVisibility(); - private: QList calculateValueOptionsForSpecifiedDerivedListPosition(bool showDerivedResultsFirstInList, const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly); QStringList getResultVariableListForCurrentUIFieldSettings(); diff --git a/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCase.cpp b/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCase.cpp index 24aef638ca..1d23259e85 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCase.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCase.cpp @@ -20,15 +20,19 @@ #include "RimEclipseStatisticsCase.h" +#include "RicNewViewFeature.h" + #include "RigCaseCellResultsData.h" #include "RigCaseData.h" + #include "RimCaseCollection.h" -#include "RimIdenticalGridCaseGroup.h" -#include "RimReservoirCellResultsStorage.h" -#include "RimEclipseView.h" #include "RimEclipseCellColors.h" #include "RimEclipseStatisticsCaseEvaluator.h" +#include "RimEclipseView.h" #include "RimEclipseWellCollection.h" +#include "RimIdenticalGridCaseGroup.h" +#include "RimReservoirCellResultsStorage.h" + #include "RiuMainWindow.h" #include "cafPdmUiPushButtonEditor.h" @@ -105,6 +109,10 @@ RimEclipseStatisticsCase::RimEclipseStatisticsCase() CAF_PDM_InitField(&m_highPercentile, "HighPercentile", 90.0, "High", "", "", ""); CAF_PDM_InitField(&m_wellDataSourceCase, "WellDataSourceCase", RimDefines::undefinedResultName(), "Well Data Source Case", "", "", "" ); + + CAF_PDM_InitField(&m_useZeroAsInactiveCellValue, "UseZeroAsInactiveCellValue", false, "Use Zero as Inactive Cell Value", "", "", ""); + + m_populateSelectionAfterLoadingGrid = false; } //-------------------------------------------------------------------------------------------------- @@ -150,7 +158,12 @@ bool RimEclipseStatisticsCase::openEclipseGridFile() this->setReservoirData( eclipseCase.p() ); - this->populateWithDefaultsIfNeeded(); + if (m_populateSelectionAfterLoadingGrid) + { + this->populateResultSelection(); + + m_populateSelectionAfterLoadingGrid = false; + } return true; } @@ -163,6 +176,14 @@ RimCaseCollection* RimEclipseStatisticsCase::parentStatisticsCaseCollection() return dynamic_cast(this->parentField()->ownerObject()); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseStatisticsCase::populateResultSelectionAfterLoadingGrid() +{ + m_populateSelectionAfterLoadingGrid = true; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -250,7 +271,13 @@ void RimEclipseStatisticsCase::computeStatistics() resultSpecification.append(RimEclipseStatisticsCaseEvaluator::ResSpec(RifReaderInterface::FRACTURE_RESULTS, RimDefines::INPUT_PROPERTY, m_selectedFractureInputProperties()[pIdx])); } - RimEclipseStatisticsCaseEvaluator stat(sourceCases, timeStepIndices, statisticsConfig, resultCase); + RimEclipseStatisticsCaseEvaluator stat(sourceCases, timeStepIndices, statisticsConfig, resultCase, gridCaseGroup); + + if (m_useZeroAsInactiveCellValue) + { + stat.useZeroAsValueForInActiveCellsBasedOnUnionOfActiveCells(); + } + stat.evaluateForResults(resultSpecification); } @@ -306,7 +333,6 @@ RimIdenticalGridCaseGroup* RimEclipseStatisticsCase::caseGroup() //-------------------------------------------------------------------------------------------------- void RimEclipseStatisticsCase::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { - updateSelectionSummaryLabel(); updateSelectionListVisibilities(); updatePercentileUiVisibility(); @@ -329,6 +355,9 @@ void RimEclipseStatisticsCase::defineUiOrdering(QString uiConfigName, caf::PdmUi group->add(&m_selectedFractureStaticProperties); group->add(&m_selectedFractureGeneratedProperties); group->add(&m_selectedFractureInputProperties); + + uiOrdering.add(&m_useZeroAsInactiveCellValue); + m_useZeroAsInactiveCellValue.uiCapability()->setUiHidden(hasComputedStatistics()); group = uiOrdering.addNewGroup("Percentile setup"); group->setUiHidden(hasComputedStatistics()); @@ -337,6 +366,7 @@ void RimEclipseStatisticsCase::defineUiOrdering(QString uiConfigName, caf::PdmUi group->add(&m_lowPercentile); group->add(&m_midPercentile); group->add(&m_highPercentile); + } QList toOptionList(const QStringList& varList) @@ -441,9 +471,7 @@ void RimEclipseStatisticsCase::fieldChangedByUi(const caf::PdmFieldHandle* chang } else { - computeStatistics(); - scheduleACTIVEGeometryRegenOnReservoirViews(); - updateConnectedEditorsAndReservoirViews(); + computeStatisticsAndUpdateViews(); } m_calculateEditCommand = false; } @@ -528,7 +556,7 @@ void RimEclipseStatisticsCase::updateSelectionSummaryLabel() html += "

Statistical variables to compute:

"; html += "

"; - html += "Min, Max, Range, Mean, Std.dev"; ; + html += "Min, Max, Sum, Range, Mean, Std.dev"; ; if (m_calculatePercentiles()) { html += "
"; @@ -635,6 +663,7 @@ void RimEclipseStatisticsCase::updateConnectedEditorsAndReservoirViews() // It is usually not needed to create new display model, but if any derived geometry based on generated data (from Octave) // a full display model rebuild is required + reservoirViews[i]->hasUserRequestedAnimation = true; reservoirViews[i]->scheduleCreateDisplayModelAndRedraw(); } } @@ -647,8 +676,15 @@ void RimEclipseStatisticsCase::updateConnectedEditorsAndReservoirViews() //-------------------------------------------------------------------------------------------------- void RimEclipseStatisticsCase::clearComputedStatistics() { - reservoirData()->results(RifReaderInterface::MATRIX_RESULTS)->clearAllResults(); - reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS)->clearAllResults(); + if (reservoirData() && reservoirData()->results(RifReaderInterface::MATRIX_RESULTS)) + { + reservoirData()->results(RifReaderInterface::MATRIX_RESULTS)->clearAllResults(); + } + + if (reservoirData() && reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS)) + { + reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS)->clearAllResults(); + } updateConnectedEditorsAndReservoirViews(); } @@ -656,12 +692,27 @@ void RimEclipseStatisticsCase::clearComputedStatistics() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimEclipseStatisticsCase::populateWithDefaultsIfNeeded() +void RimEclipseStatisticsCase::computeStatisticsAndUpdateViews() +{ + computeStatistics(); + scheduleACTIVEGeometryRegenOnReservoirViews(); + updateConnectedEditorsAndReservoirViews(); + + if (reservoirViews.size() == 0) + { + RicNewViewFeature::addReservoirView(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseStatisticsCase::populateResultSelection() { RimIdenticalGridCaseGroup* idgcg = caseGroup(); if (!(caseGroup() && caseGroup()->mainCase() && caseGroup()->mainCase()->reservoirData())) { - return ; + return; } RigCaseData* caseData = idgcg->mainCase()->reservoirData(); diff --git a/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCase.h b/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCase.h index e9cdb4f180..68aa5854b3 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCase.h +++ b/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCase.h @@ -54,8 +54,8 @@ class RimEclipseStatisticsCase : public RimEclipseCase void computeStatistics(); bool hasComputedStatistics() const; void clearComputedStatistics(); + void computeStatisticsAndUpdateViews(); - void scheduleACTIVEGeometryRegenOnReservoirViews(); void updateConnectedEditorsAndReservoirViews(); virtual bool openEclipseGridFile(); @@ -71,13 +71,17 @@ class RimEclipseStatisticsCase : public RimEclipseCase caf::PdmField< bool > m_calculateEditCommand; virtual void updateFilePathsFromProjectPath(const QString& projectPath, const QString& oldProjectPath){} + + void populateResultSelectionAfterLoadingGrid(); private: + void scheduleACTIVEGeometryRegenOnReservoirViews(); + RimIdenticalGridCaseGroup* caseGroup(); void getSourceCases(std::vector& sourceCases); - void populateWithDefaultsIfNeeded(); + void populateResultSelection(); void updateSelectionListVisibilities(); void updateSelectionSummaryLabel(); @@ -117,4 +121,8 @@ class RimEclipseStatisticsCase : public RimEclipseCase caf::PdmField m_highPercentile; caf::PdmField m_wellDataSourceCase; + + caf::PdmField< bool > m_useZeroAsInactiveCellValue; + + bool m_populateSelectionAfterLoadingGrid; }; diff --git a/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCaseEvaluator.cpp b/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCaseEvaluator.cpp index 3daa9f75c6..f43aa7a128 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCaseEvaluator.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCaseEvaluator.cpp @@ -27,6 +27,7 @@ #include "RigResultModifierFactory.h" #include "RigStatisticsMath.h" +#include "RimIdenticalGridCaseGroup.h" #include "RimReservoirCellResultsStorage.h" #include "cafProgressInfo.h" @@ -60,7 +61,8 @@ void RimEclipseStatisticsCaseEvaluator::addNamedResult(RigCaseCellResultsData* d QString createResultNameMin(const QString& resultName) { return resultName + "_MIN"; } -QString createResultNameMax(const QString& resultName) { return resultName + "_MAX"; } +QString createResultNameMax(const QString& resultName) { return resultName + "_MAX"; } +QString createResultNameSum(const QString& resultName) { return resultName + "_SUM"; } QString createResultNameMean(const QString& resultName) { return resultName + "_MEAN"; } QString createResultNameDev(const QString& resultName) { return resultName + "_DEV"; } QString createResultNameRange(const QString& resultName) { return resultName + "_RANGE"; } @@ -94,6 +96,7 @@ void RimEclipseStatisticsCaseEvaluator::evaluateForResults(const QList& statisticalResultNames.push_back(createResultNameMin(resultName)); statisticalResultNames.push_back(createResultNameMax(resultName)); + statisticalResultNames.push_back(createResultNameSum(resultName)); statisticalResultNames.push_back(createResultNameMean(resultName)); statisticalResultNames.push_back(createResultNameDev(resultName)); statisticalResultNames.push_back(createResultNameRange(resultName)); @@ -173,6 +176,7 @@ void RimEclipseStatisticsCaseEvaluator::evaluateForResults(const QList& statisticalResultNames[MIN] = createResultNameMin(resultName); statisticalResultNames[MAX] = createResultNameMax(resultName); + statisticalResultNames[SUM] = createResultNameSum(resultName); statisticalResultNames[RANGE] = createResultNameRange(resultName); statisticalResultNames[MEAN] = createResultNameMean(resultName); statisticalResultNames[STDEV] = createResultNameDev(resultName); @@ -200,12 +204,20 @@ void RimEclipseStatisticsCaseEvaluator::evaluateForResults(const QList& { // Extract the cell values from each of the cases and assemble them into one vector - - bool foundAnyValidValues = false; for (size_t caseIdx = 0; caseIdx < sourceDataAccessList.size(); caseIdx++) { double val = sourceDataAccessList.at(caseIdx)->cellScalar(cellIdx); + + // Replace huge_val with zero in the statistical computation for the following case + if (m_useZeroAsInactiveCellValue || resultName.toUpper() == "ACTNUM") + { + if (m_identicalGridCaseGroup->unionOfActiveCells(poroModel)->isActive(reservoirCellIndex) && + val == HUGE_VAL) + { + val = 0.0; + } + } values[caseIdx] = val; if (val != HUGE_VAL) @@ -214,12 +226,13 @@ void RimEclipseStatisticsCaseEvaluator::evaluateForResults(const QList& } } + // Do the real statistics calculations if (foundAnyValidValues) { - RigStatisticsMath::calculateBasicStatistics(values, &statParams[MIN], &statParams[MAX], &statParams[RANGE], &statParams[MEAN], &statParams[STDEV]); + RigStatisticsMath::calculateBasicStatistics(values, &statParams[MIN], &statParams[MAX], &statParams[SUM], &statParams[RANGE], &statParams[MEAN], &statParams[STDEV]); // Calculate percentiles if (m_statisticsConfig.m_calculatePercentiles ) @@ -303,12 +316,14 @@ void RimEclipseStatisticsCaseEvaluator::evaluateForResults(const QList& //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimEclipseStatisticsCaseEvaluator::RimEclipseStatisticsCaseEvaluator(const std::vector& sourceCases, const std::vector& timeStepIndices, const RimStatisticsConfig& statisticsConfig, RigCaseData* destinationCase) +RimEclipseStatisticsCaseEvaluator::RimEclipseStatisticsCaseEvaluator(const std::vector& sourceCases, const std::vector& timeStepIndices, const RimStatisticsConfig& statisticsConfig, RigCaseData* destinationCase, RimIdenticalGridCaseGroup* identicalGridCaseGroup) : m_sourceCases(sourceCases), m_statisticsConfig(statisticsConfig), m_destinationCase(destinationCase), m_reservoirCellCount(0), - m_timeStepIndices(timeStepIndices) + m_timeStepIndices(timeStepIndices), + m_identicalGridCaseGroup(identicalGridCaseGroup), + m_useZeroAsInactiveCellValue(false) { if (sourceCases.size() > 0) { @@ -318,3 +333,11 @@ RimEclipseStatisticsCaseEvaluator::RimEclipseStatisticsCaseEvaluator(const std:: CVF_ASSERT(m_destinationCase); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimEclipseStatisticsCaseEvaluator::useZeroAsValueForInActiveCellsBasedOnUnionOfActiveCells() +{ + m_useZeroAsInactiveCellValue = true; +} + diff --git a/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCaseEvaluator.h b/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCaseEvaluator.h index ca39be70cb..3b24b093b6 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCaseEvaluator.h +++ b/ApplicationCode/ProjectDataModel/RimEclipseStatisticsCaseEvaluator.h @@ -59,7 +59,8 @@ class RimEclipseStatisticsCaseEvaluator RimEclipseStatisticsCaseEvaluator(const std::vector& sourceCases, const std::vector& timeStepIndices, const RimStatisticsConfig& statisticsConfig, - RigCaseData* destinationCase); + RigCaseData* destinationCase, + RimIdenticalGridCaseGroup* identicalGridCaseGroup); struct ResSpec { @@ -73,13 +74,15 @@ class RimEclipseStatisticsCaseEvaluator QString m_resVarName; }; + void useZeroAsValueForInActiveCellsBasedOnUnionOfActiveCells(); + void evaluateForResults(const QList& resultSpecification); private: void addNamedResult(RigCaseCellResultsData* cellResults, RimDefines::ResultCatType resultType, const QString& resultName, size_t activeCellCount); void buildSourceMetaData(RifReaderInterface::PorosityModelResultType poroModel, RimDefines::ResultCatType resultType, const QString& resultName); - enum StatisticsParamType { MIN, MAX, RANGE, MEAN, STDEV, PMIN, PMID, PMAX, STAT_PARAM_COUNT }; + enum StatisticsParamType { MIN, MAX, SUM, RANGE, MEAN, STDEV, PMIN, PMID, PMAX, STAT_PARAM_COUNT }; private: std::vector m_sourceCases; @@ -88,5 +91,7 @@ class RimEclipseStatisticsCaseEvaluator size_t m_reservoirCellCount; RimStatisticsConfig m_statisticsConfig; RigCaseData* m_destinationCase; + RimIdenticalGridCaseGroup* m_identicalGridCaseGroup; + bool m_useZeroAsInactiveCellValue; }; diff --git a/ApplicationCode/ProjectDataModel/RimEclipseView.cpp b/ApplicationCode/ProjectDataModel/RimEclipseView.cpp index c3cd15b896..4a7c8af8a7 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseView.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseView.cpp @@ -25,14 +25,15 @@ #include "RigCaseCellResultsData.h" #include "RigCaseData.h" +#include "RigFormationNames.h" #include "RigResultAccessor.h" #include "RigResultAccessorFactory.h" #include "Rim3dOverlayInfoConfig.h" #include "RimCellEdgeColors.h" #include "RimCellRangeFilterCollection.h" -#include "RimCrossSection.h" -#include "RimCrossSectionCollection.h" +#include "RimIntersection.h" +#include "RimIntersectionCollection.h" #include "RimEclipseCase.h" #include "RimEclipseCellColors.h" #include "RimEclipseFaultColors.h" @@ -41,6 +42,7 @@ #include "RimEclipseWellCollection.h" #include "RimFaultCollection.h" #include "RimGridCollection.h" +#include "RimLegendConfig.h" #include "RimOilField.h" #include "RimProject.h" #include "RimTernaryLegendConfig.h" @@ -87,7 +89,7 @@ RimEclipseView::RimEclipseView() RiaPreferences* preferences = app->preferences(); CVF_ASSERT(preferences); - CAF_PDM_InitObject("Reservoir View", ":/ReservoirView.png", "", ""); + CAF_PDM_InitObject("Reservoir View", ":/3DView16x16.png", "", ""); CAF_PDM_InitFieldNoDefault(&cellResult, "GridCellResult", "Cell Result", ":/CellResult.png", "", ""); cellResult = new RimEclipseCellColors(); @@ -210,7 +212,7 @@ void RimEclipseView::fieldChangedByUi(const caf::PdmFieldHandle* changedField, c { if (m_viewer) { - windowGeometry = RiuMainWindow::instance()->windowGeometryForViewer(m_viewer->layoutWidget()); + this->setMdiWindowGeometry( RiuMainWindow::instance()->windowGeometryForViewer(m_viewer->layoutWidget())); RiuMainWindow::instance()->removeViewer(m_viewer->layoutWidget()); delete m_viewer; @@ -401,24 +403,28 @@ void RimEclipseView::createDisplayModel() m_visibleGridParts = geometryTypesToAdd; } + m_reservoirGridPartManager->clearWatertightGeometryFlags(); + if (faultCollection()->showFaultsOutsideFilters() || !this->eclipsePropertyFilterCollection()->hasActiveFilters() ) { - forceFaultVisibilityOn(); - - std::vector faultGeometryTypesToAppend = visibleFaultGeometryTypes(); + for (RivCellSetEnum cellSetType : m_visibleGridParts) + { + m_reservoirGridPartManager->forceWatertightGeometryOnForType(cellSetType); + } - RivCellSetEnum faultLabelType = m_reservoirGridPartManager->geometryTypeForFaultLabels(faultGeometryTypesToAppend); + std::set faultGeometryTypesToAppend = allVisibleFaultGeometryTypes(); + RivCellSetEnum faultLabelType = m_reservoirGridPartManager->geometryTypeForFaultLabels(faultGeometryTypesToAppend, faultCollection()->showFaultsOutsideFilters()); for (size_t frameIdx = 0; frameIdx < frameModels.size(); ++frameIdx) { - for (size_t gtIdx = 0; gtIdx < faultGeometryTypesToAppend.size(); ++gtIdx) + for (RivCellSetEnum geometryType : faultGeometryTypesToAppend) { - m_reservoirGridPartManager->appendFaultsStaticGeometryPartsToModel(frameModels[frameIdx].p(), faultGeometryTypesToAppend[gtIdx]); + if (geometryType == PROPERTY_FILTERED || geometryType == PROPERTY_FILTERED_WELL_CELLS) continue; + m_reservoirGridPartManager->appendFaultsStaticGeometryPartsToModel(frameModels[frameIdx].p(), geometryType); } m_reservoirGridPartManager->appendFaultLabelsStaticGeometryPartsToModel(frameModels[frameIdx].p(), faultLabelType); } - } @@ -526,26 +532,32 @@ void RimEclipseView::updateCurrentTimeStep() geometriesToRecolor.push_back( PROPERTY_FILTERED_WELL_CELLS); m_reservoirGridPartManager->appendDynamicGeometryPartsToModel(frameParts.p(), PROPERTY_FILTERED_WELL_CELLS, m_currentTimeStep, gridIndices); - if (faultCollection()->showFaultsOutsideFilters()) - { - std::vector faultGeometryTypesToAppend = visibleFaultGeometryTypes(); + m_visibleGridParts = geometriesToRecolor; - for (size_t i = 0; i < faultGeometryTypesToAppend.size(); i++) + std::set faultGeometryTypesToAppend = allVisibleFaultGeometryTypes(); + for (RivCellSetEnum geometryType : faultGeometryTypesToAppend) + { + if (geometryType == PROPERTY_FILTERED || geometryType == PROPERTY_FILTERED_WELL_CELLS) + { + m_reservoirGridPartManager->appendFaultsDynamicGeometryPartsToModel(frameParts.p(), geometryType, m_currentTimeStep); + } + else { - m_reservoirGridPartManager->appendFaultsStaticGeometryPartsToModel(frameParts.p(), faultGeometryTypesToAppend[i]); + m_reservoirGridPartManager->appendFaultsStaticGeometryPartsToModel(frameParts.p(), geometryType); } + } - RivCellSetEnum faultLabelType = m_reservoirGridPartManager->geometryTypeForFaultLabels(faultGeometryTypesToAppend); - m_reservoirGridPartManager->appendFaultLabelsStaticGeometryPartsToModel(frameParts.p(), faultLabelType); + RivCellSetEnum faultLabelType = m_reservoirGridPartManager->geometryTypeForFaultLabels(faultGeometryTypesToAppend, faultCollection()->showFaultsOutsideFilters()); + if (faultLabelType == PROPERTY_FILTERED) + { + m_reservoirGridPartManager->appendFaultLabelsDynamicGeometryPartsToModel(frameParts.p(), faultLabelType, m_currentTimeStep); } else { - m_reservoirGridPartManager->appendFaultsDynamicGeometryPartsToModel(frameParts.p(), PROPERTY_FILTERED, m_currentTimeStep); - m_reservoirGridPartManager->appendFaultLabelsDynamicGeometryPartsToModel(frameParts.p(), PROPERTY_FILTERED, m_currentTimeStep); - - m_reservoirGridPartManager->appendFaultsDynamicGeometryPartsToModel(frameParts.p(), PROPERTY_FILTERED_WELL_CELLS, m_currentTimeStep); + m_reservoirGridPartManager->appendFaultLabelsStaticGeometryPartsToModel(frameParts.p(), faultLabelType); } + // Set the transparency on all the Wellcell parts before setting the result color float opacity = static_cast< float> (1 - cvf::Math::clamp(this->wellCollection()->wellCellTransparencyLevel(), 0.0, 1.0)); m_reservoirGridPartManager->updateCellColor(PROPERTY_FILTERED_WELL_CELLS, m_currentTimeStep, cvf::Color4f(cvf::Color3f(cvf::Color3::WHITE), opacity)); @@ -586,8 +598,6 @@ void RimEclipseView::updateCurrentTimeStep() frameParts->updateBoundingBoxesRecursive(); } } - - m_visibleGridParts = geometriesToRecolor; } else if (this->rangeFilterCollection()->hasActiveFilters() && this->wellCollection()->hasVisibleWellCells()) { @@ -765,7 +775,16 @@ void RimEclipseView::updateStaticCellColors(RivCellSetEnum geometryType) case RANGE_FILTERED_INACTIVE: color = cvf::Color4f(cvf::Color3::LIGHT_GRAY); break; } - m_reservoirGridPartManager->updateCellColor(geometryType, color); + if (geometryType == PROPERTY_FILTERED || geometryType == PROPERTY_FILTERED_WELL_CELLS) + { + // Always use current time step when updating color of property geometry + m_reservoirGridPartManager->updateCellColor(geometryType, m_currentTimeStep, color); + } + else + { + // Use static timestep (timestep 0) for geometry with no change between time steps + m_reservoirGridPartManager->updateCellColor(geometryType, 0, color); + } } //-------------------------------------------------------------------------------------------------- @@ -939,16 +958,29 @@ void RimEclipseView::updateLegends() this->cellEdgeResult()->minMaxCellEdgeValues(globalMin, globalMax); this->cellEdgeResult()->posNegClosestToZero(globalPosClosestToZero, globalNegClosestToZero); - this->cellEdgeResult()->legendConfig->setClosestToZeroValues(globalPosClosestToZero, globalNegClosestToZero, globalPosClosestToZero, globalNegClosestToZero); - this->cellEdgeResult()->legendConfig->setAutomaticRanges(globalMin, globalMax, globalMin, globalMax); + this->cellEdgeResult()->legendConfig()->setClosestToZeroValues(globalPosClosestToZero, globalNegClosestToZero, globalPosClosestToZero, globalNegClosestToZero); + this->cellEdgeResult()->legendConfig()->setAutomaticRanges(globalMin, globalMax, globalMin, globalMax); - m_viewer->addColorLegendToBottomLeftCorner(this->cellEdgeResult()->legendConfig->legend()); - this->cellEdgeResult()->legendConfig->legend()->setTitle(cvfqt::Utils::toString(QString("Edge Results: \n") + this->cellEdgeResult()->resultVariable)); + if (this->cellEdgeResult()->hasCategoryResult()) + { + if(cellEdgeResult()->singleVarEdgeResultColors()->resultType() != RimDefines::FORMATION_NAMES) + { + cellEdgeResult()->legendConfig()->setIntegerCategories(results->uniqueCellScalarValues(cellEdgeResult()->singleVarEdgeResultColors()->scalarResultIndex())); + } + else + { + const std::vector& fnVector = eclipseCase->activeFormationNames()->formationNames(); + cellEdgeResult()->legendConfig()->setNamedCategoriesInverse(fnVector); + } + } + + m_viewer->addColorLegendToBottomLeftCorner(this->cellEdgeResult()->legendConfig()->legend()); + this->cellEdgeResult()->legendConfig()->setTitle(cvfqt::Utils::toString(QString("Edge Results: \n") + this->cellEdgeResult()->resultVariable())); } else { - this->cellEdgeResult()->legendConfig->setClosestToZeroValues(0, 0, 0, 0); - this->cellEdgeResult()->legendConfig->setAutomaticRanges(cvf::UNDEFINED_DOUBLE, cvf::UNDEFINED_DOUBLE, cvf::UNDEFINED_DOUBLE, cvf::UNDEFINED_DOUBLE); + this->cellEdgeResult()->legendConfig()->setClosestToZeroValues(0, 0, 0, 0); + this->cellEdgeResult()->legendConfig()->setAutomaticRanges(cvf::UNDEFINED_DOUBLE, cvf::UNDEFINED_DOUBLE, cvf::UNDEFINED_DOUBLE, cvf::UNDEFINED_DOUBLE); } } @@ -985,8 +1017,21 @@ void RimEclipseView::updateMinMaxValuesAndAddLegendToView(QString legendLabel, R resultColors->legendConfig()->setClosestToZeroValues(globalPosClosestToZero, globalNegClosestToZero, localPosClosestToZero, localNegClosestToZero); resultColors->legendConfig()->setAutomaticRanges(globalMin, globalMax, localMin, localMax); + if (resultColors->hasCategoryResult()) + { + if(resultColors->resultType() != RimDefines::FORMATION_NAMES) + { + resultColors->legendConfig()->setIntegerCategories(cellResultsData->uniqueCellScalarValues(resultColors->scalarResultIndex())); + } + else + { + const std::vector& fnVector = eclipseCase()->reservoirData()->activeFormationNames()->formationNames(); + resultColors->legendConfig()->setNamedCategoriesInverse(fnVector); + } + } + m_viewer->addColorLegendToBottomLeftCorner(resultColors->legendConfig()->legend()); - resultColors->legendConfig()->legend()->setTitle(cvfqt::Utils::toString(legendLabel + resultColors->resultVariable())); + resultColors->legendConfig()->setTitle(cvfqt::Utils::toString(legendLabel + resultColors->resultVariable())); } @@ -1059,6 +1104,7 @@ void RimEclipseView::setEclipseCase(RimEclipseCase* reservoir) cellResult()->setEclipseCase(reservoir); faultResultSettings()->customFaultResult()->setEclipseCase(reservoir); + cellEdgeResult()->setEclipseCase(reservoir); } //-------------------------------------------------------------------------------------------------- @@ -1317,124 +1363,26 @@ void RimEclipseView::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering uiTreeOrdering.setForgetRemainingFields(true); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimEclipseView::forceFaultVisibilityOn() -{ - if (this->viewController() && this->viewController()->isVisibleCellsOveridden()) - { - m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(OVERRIDDEN_CELL_VISIBILITY, true); - return; - } - - // Force visibility of faults based on application state - // As fault geometry is visible in grid visualization mode, fault geometry must be forced visible - // even if the fault item is disabled in project tree view - - if (!faultCollection->showFaultCollection) - { - m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(ALL_WELL_CELLS, true); - } - - m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(RANGE_FILTERED, true); - m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(VISIBLE_WELL_FENCE_CELLS, true); - m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(VISIBLE_WELL_FENCE_CELLS_OUTSIDE_RANGE_FILTER, true); -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -std::vector RimEclipseView::visibleFaultGeometryTypes() const +std::set RimEclipseView::allVisibleFaultGeometryTypes() const { - std::vector faultParts; - if (this->viewController() && this->viewController()->isVisibleCellsOveridden()) - { - if (this->faultCollection()->showFaultsOutsideFilters()) - { - faultParts.push_back(ACTIVE); - faultParts.push_back(ALL_WELL_CELLS); - - if (this->showInactiveCells()) - { - faultParts.push_back(INACTIVE); - } - } - else - { - faultParts.push_back(OVERRIDDEN_CELL_VISIBILITY); - } - } - else if (this->eclipsePropertyFilterCollection()->hasActiveFilters() && !faultCollection()->showFaultsOutsideFilters()) - { - faultParts.push_back(PROPERTY_FILTERED); - faultParts.push_back(PROPERTY_FILTERED_WELL_CELLS); + std::set faultGeoTypes; + faultGeoTypes.insert(m_visibleGridParts.begin(), m_visibleGridParts.end()); - if (this->showInactiveCells()) - { - faultParts.push_back(INACTIVE); - faultParts.push_back(RANGE_FILTERED_INACTIVE); - } - } - else if (this->faultCollection()->showFaultsOutsideFilters()) + if (faultCollection()->showFaultsOutsideFilters()) { - faultParts.push_back(ACTIVE); - faultParts.push_back(ALL_WELL_CELLS); - /// Why are these added ? JJS --> - faultParts.push_back(RANGE_FILTERED); - faultParts.push_back(RANGE_FILTERED_WELL_CELLS); - faultParts.push_back(VISIBLE_WELL_CELLS_OUTSIDE_RANGE_FILTER); - faultParts.push_back(VISIBLE_WELL_FENCE_CELLS_OUTSIDE_RANGE_FILTER); - /// <-- JJS + faultGeoTypes.insert(ACTIVE); + faultGeoTypes.insert(ALL_WELL_CELLS); - if (this->showInactiveCells()) + if (showInactiveCells()) { - faultParts.push_back(INACTIVE); - /// Why is this added ? JJS --> - faultParts.push_back(RANGE_FILTERED_INACTIVE); - /// <-- JJS + faultGeoTypes.insert(INACTIVE); } } - else if (this->rangeFilterCollection()->hasActiveFilters() && this->wellCollection()->hasVisibleWellCells()) - { - faultParts.push_back(RANGE_FILTERED); - faultParts.push_back(RANGE_FILTERED_WELL_CELLS); - faultParts.push_back(VISIBLE_WELL_CELLS_OUTSIDE_RANGE_FILTER); - faultParts.push_back(VISIBLE_WELL_FENCE_CELLS_OUTSIDE_RANGE_FILTER); - if (this->showInactiveCells()) - { - faultParts.push_back(RANGE_FILTERED_INACTIVE); - } - } - else if (!this->rangeFilterCollection()->hasActiveFilters() && this->wellCollection()->hasVisibleWellCells()) - { - faultParts.push_back(VISIBLE_WELL_CELLS); - faultParts.push_back(VISIBLE_WELL_FENCE_CELLS); - } - else if (this->rangeFilterCollection()->hasActiveFilters() && !this->wellCollection()->hasVisibleWellCells()) - { - faultParts.push_back(RANGE_FILTERED); - faultParts.push_back(RANGE_FILTERED_WELL_CELLS); - - if (this->showInactiveCells()) - { - faultParts.push_back(RANGE_FILTERED_INACTIVE); - } - } - else - { - faultParts.push_back(ACTIVE); - faultParts.push_back(ALL_WELL_CELLS); - - if (this->showInactiveCells()) - { - faultParts.push_back(INACTIVE); - faultParts.push_back(RANGE_FILTERED_INACTIVE); - } - } - - return faultParts; + return faultGeoTypes; } //-------------------------------------------------------------------------------------------------- @@ -1442,20 +1390,19 @@ std::vector RimEclipseView::visibleFaultGeometryTypes() const //-------------------------------------------------------------------------------------------------- void RimEclipseView::updateFaultColors() { - // Update all fault geometry - std::vector faultGeometriesToRecolor = visibleFaultGeometryTypes(); + std::set faultGeometriesToRecolor = allVisibleFaultGeometryTypes(); RimEclipseCellColors* faultResultColors = currentFaultResultColors(); - for (size_t i = 0; i < faultGeometriesToRecolor.size(); ++i) + for (RivCellSetEnum cellSetType : faultGeometriesToRecolor) { if (this->hasUserRequestedAnimation() && this->cellEdgeResult()->hasResult()) { - m_reservoirGridPartManager->updateFaultCellEdgeResultColor(faultGeometriesToRecolor[i], m_currentTimeStep, faultResultColors, this->cellEdgeResult()); + m_reservoirGridPartManager->updateFaultCellEdgeResultColor(cellSetType, m_currentTimeStep, faultResultColors, this->cellEdgeResult()); } else { - m_reservoirGridPartManager->updateFaultColors(faultGeometriesToRecolor[i], m_currentTimeStep, faultResultColors); + m_reservoirGridPartManager->updateFaultColors(cellSetType, m_currentTimeStep, faultResultColors); } } } @@ -1509,13 +1456,13 @@ void RimEclipseView::resetLegendsInViewer() if (cellResultNormalLegendConfig) cellResultNormalLegendConfig->recreateLegend(); this->cellResult()->ternaryLegendConfig->recreateLegend(); - this->cellEdgeResult()->legendConfig->recreateLegend(); + this->cellEdgeResult()->legendConfig()->recreateLegend(); m_viewer->removeAllColorLegends(); if (cellResultNormalLegendConfig) m_viewer->addColorLegendToBottomLeftCorner(cellResultNormalLegendConfig->legend()); - m_viewer->addColorLegendToBottomLeftCorner(this->cellEdgeResult()->legendConfig->legend()); + m_viewer->addColorLegendToBottomLeftCorner(this->cellEdgeResult()->legendConfig()->legend()); } //-------------------------------------------------------------------------------------------------- @@ -1666,6 +1613,16 @@ void RimEclipseView::axisLabels(cvf::String* xLabel, cvf::String* yLabel, cvf::S *zLabel = "Z"; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimEclipseView::isUsingFormationNames() const +{ + if ((cellResult()->resultType() == RimDefines::FORMATION_NAMES)) return true; + + return eclipsePropertyFilterCollection()->isUsingFormationNames(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/RimEclipseView.h b/ApplicationCode/ProjectDataModel/RimEclipseView.h index 559dfb31a5..30abe0e99d 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseView.h +++ b/ApplicationCode/ProjectDataModel/RimEclipseView.h @@ -55,7 +55,7 @@ class RimEclipseCellColors; class RimEclipseWellCollection; class RiuViewer; class RivReservoirPipesPartMgr; -class RivCrossSectionPartMgr; +class RivIntersectionPartMgr; namespace cvf { @@ -136,6 +136,8 @@ class RimEclipseView : public RimView virtual void axisLabels(cvf::String* xLabel, cvf::String* yLabel, cvf::String* zLabel); + virtual bool isUsingFormationNames() const override; + protected: virtual void initAfterRead(); virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ); @@ -160,8 +162,7 @@ class RimEclipseView : public RimView virtual void resetLegendsInViewer(); virtual void updateViewerWidgetWindowTitle(); - std::vector visibleFaultGeometryTypes() const; - void forceFaultVisibilityOn(); + std::set allVisibleFaultGeometryTypes() const; void updateFaultColors(); void syncronizeWellsWithResults(); diff --git a/ApplicationCode/ProjectDataModel/RimEclipseWell.cpp b/ApplicationCode/ProjectDataModel/RimEclipseWell.cpp index 4fa6c14651..2472ccef0f 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseWell.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseWell.cpp @@ -20,6 +20,7 @@ #include "RimEclipseWell.h" +#include "RimIntersectionCollection.h" #include "RimEclipseView.h" #include "RimEclipseWellCollection.h" @@ -179,6 +180,9 @@ bool RimEclipseWell::calculateWellPipeVisibility(size_t frameIndex) if (m_reservoirView->wellCollection()->wellPipeVisibility() == RimEclipseWellCollection::PIPES_INDIVIDUALLY) return true; + if (m_reservoirView->crossSectionCollection()->hasActiveIntersectionForSimulationWell(this)) + return true; + if (m_reservoirView->wellCollection()->wellPipeVisibility() == RimEclipseWellCollection::PIPES_OPEN_IN_VISIBLE_CELLS) { const std::vector& visGridParts = m_reservoirView->visibleGridParts(); diff --git a/ApplicationCode/ProjectDataModel/RimFault.cpp b/ApplicationCode/ProjectDataModel/RimFault.cpp index 7fcdfd47dc..c8e80b04a1 100644 --- a/ApplicationCode/ProjectDataModel/RimFault.cpp +++ b/ApplicationCode/ProjectDataModel/RimFault.cpp @@ -70,7 +70,7 @@ void RimFault::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const Q { RimEclipseView* reservoirView = NULL; - this->firstAnchestorOrThisOfType(reservoirView); + this->firstAncestorOrThisOfType(reservoirView); if (reservoirView) { diff --git a/ApplicationCode/ProjectDataModel/RimFaultCollection.cpp b/ApplicationCode/ProjectDataModel/RimFaultCollection.cpp index a4f4d41521..b2c7f1a127 100644 --- a/ApplicationCode/ProjectDataModel/RimFaultCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimFaultCollection.cpp @@ -21,12 +21,17 @@ #include "RiaApplication.h" #include "RiaPreferences.h" + #include "RigCaseData.h" + #include "RimEclipseCase.h" +#include "RimEclipseView.h" +#include "RimFault.h" #include "RimNoCommonAreaNNC.h" #include "RimNoCommonAreaNncCollection.h" -#include "RimEclipseView.h" + #include "RiuMainWindow.h" + #include "RivColorTableArray.h" #include "cafAppEnum.h" @@ -193,21 +198,35 @@ void RimFaultCollection::syncronizeFaults() std::sort(sortedFaults.begin(), sortedFaults.end(), faultComparator); cvf::ref undefinedFaults; + cvf::ref undefinedFaultsWInactive; + for (size_t i = 0; i < sortedFaults.size(); i++) { - if (sortedFaults[i]->name().compare(RimDefines::undefinedGridFaultName(), Qt::CaseInsensitive) == 0) + QString faultName = sortedFaults[i]->name(); + if (faultName.compare(RimDefines::undefinedGridFaultName(), Qt::CaseInsensitive) == 0) { undefinedFaults = sortedFaults[i]; } + + if(faultName.startsWith(RimDefines::undefinedGridFaultName(), Qt::CaseInsensitive) + && faultName.contains("Inactive")) + { + undefinedFaultsWInactive = sortedFaults[i]; + } } if (undefinedFaults.notNull()) { sortedFaults.erase(undefinedFaults.p()); - rigFaults.push_back(undefinedFaults.p()); } + if(undefinedFaultsWInactive.notNull()) + { + sortedFaults.erase(undefinedFaultsWInactive.p()); + rigFaults.push_back(undefinedFaultsWInactive.p()); + } + for (size_t i = 0; i < sortedFaults.size(); i++) { rigFaults.push_back(sortedFaults[i].p()); @@ -228,6 +247,13 @@ void RimFaultCollection::syncronizeFaults() { rimFault = new RimFault(); rimFault->faultColor = partColors->get(fIdx % partColors->size()); + QString faultName = rigFaults[fIdx]->name(); + + if (faultName.startsWith(RimDefines::undefinedGridFaultName(), Qt::CaseInsensitive) + && faultName.contains("Inactive")) + { + rimFault->showFault = false; // Turn fault against inactive cells off by default + } } rimFault->setFaultGeometry(rigFaults[fIdx].p()); diff --git a/ApplicationCode/ProjectDataModel/RimFormationNames.cpp b/ApplicationCode/ProjectDataModel/RimFormationNames.cpp new file mode 100644 index 0000000000..749983db3e --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimFormationNames.cpp @@ -0,0 +1,220 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimFormationNames.h" + +#include "RigFormationNames.h" + +#include "RimCase.h" +#include "RimTools.h" +#include "RimView.h" + +#include "cafPdmUiFilePathEditor.h" + +#include +#include +#include "QMessageBox" + +CAF_PDM_SOURCE_INIT(RimFormationNames, "FormationNames"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimFormationNames::RimFormationNames() +{ + CAF_PDM_InitObject("Formation Names", ":/Formations16x16.png", "", ""); + + CAF_PDM_InitField(&m_formationNamesFileName, "FormationNamesFileName", QString(""), "File Name", "", "", ""); + + m_formationNamesFileName.uiCapability()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName()); + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimFormationNames::~RimFormationNames() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimFormationNames::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + if (&m_formationNamesFileName == changedField) + { + updateUiTreeName(); + QString errorMessage; + readFormationNamesFile(&errorMessage); + if (!errorMessage.isEmpty()) + { + QMessageBox::warning(nullptr, "Formation Names", errorMessage); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimFormationNames::initAfterRead() +{ + updateUiTreeName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimFormationNames::updateUiTreeName() +{ + this->uiCapability()->setUiName(fileNameWoPath()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimFormationNames::setFileName(const QString& fileName) +{ + m_formationNamesFileName = fileName; + + updateUiTreeName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const QString& RimFormationNames::fileName() +{ + return m_formationNamesFileName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimFormationNames::fileNameWoPath() +{ + QFileInfo fnameFileInfo(m_formationNamesFileName()); + return fnameFileInfo.fileName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimFormationNames::updateConnectedViews() +{ + std::vector usingObjs; + this->objectsWithReferringPtrFields(usingObjs); + for (caf::PdmObjectHandle* obj: usingObjs) + { + RimCase* caseObj = dynamic_cast(obj); + if (caseObj) + { + caseObj->updateFormationNamesData(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimFormationNames::readFormationNamesFile(QString * errorMessage) +{ + QFile dataFile(m_formationNamesFileName()); + + if (!dataFile.open(QFile::ReadOnly)) + { + if (errorMessage) (*errorMessage) += "Could not open the File: " + (m_formationNamesFileName()) + "\n"; + return; + } + + m_formationNamesData = new RigFormationNames; + + QTextStream stream(&dataFile); + int lineNumber = 1; + while (!stream.atEnd()) + { + QString line = stream.readLine(); + QStringList lineSegs = line.split("'", QString::KeepEmptyParts); + + if(lineSegs.size() == 0) continue; // Empty line + if(lineSegs.size() == 1) continue; // No name present. Comment line ? + if(lineSegs.size() == 2) + { + if (errorMessage) (*errorMessage) += "Missing quote on line : " + QString::number(lineNumber) + "\n"; + continue; // One quote present + } + + if (lineSegs.size() == 3) // Normal case + { + if ( lineSegs[0].contains("--")) continue; // Comment line + QString formationName = lineSegs[1]; + int commentMarkPos = lineSegs[2].indexOf("--"); + QString numberString = lineSegs[2]; + if (commentMarkPos >= 0) numberString.truncate(commentMarkPos); + + QStringList numberWords = numberString.split(QRegExp("-"), QString::SkipEmptyParts); + if (numberWords.size() == 2) + { + bool isNumber1 = false; + bool isNumber2 = false; + int startK = numberWords[0].toInt(&isNumber1); + int endK = numberWords[1].toInt(&isNumber2); + + if (!(isNumber2 && isNumber1)) + { + if (errorMessage) (*errorMessage) += "Format error on line: " + QString::number(lineNumber) + "\n"; + continue; + } + + int tmp = startK; startK = tmp < endK ? tmp : endK; + endK = tmp > endK ? tmp: endK; + + m_formationNamesData->appendFormationRange(formationName, startK-1, endK-1); + } + else if (numberWords.size() == 1) + { + bool isNumber1 = false; + int kLayerCount = numberWords[0].toInt(&isNumber1); + + if ( !isNumber1 ) + { + if ( errorMessage ) (*errorMessage) += "Format error on line: " + QString::number(lineNumber) + "\n"; + continue; + } + + m_formationNamesData->appendFormationRangeHeight(formationName, kLayerCount); + } + else + { + if (errorMessage) (*errorMessage) += "Format error on line: " + QString::number(lineNumber) + "\n"; + } + } + + ++lineNumber; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimFormationNames::updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) +{ + m_formationNamesFileName = RimTools::relocateFile(m_formationNamesFileName(), newProjectPath, oldProjectPath, NULL, NULL); +} + diff --git a/ApplicationCode/ProjectDataModel/RimFormationNames.h b/ApplicationCode/ProjectDataModel/RimFormationNames.h new file mode 100644 index 0000000000..2e6a71320c --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimFormationNames.h @@ -0,0 +1,54 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#pragma once + +#include "cafPdmObject.h" +#include "cafPdmField.h" +#include "cvfObject.h" + +class RigFormationNames; + +class RimFormationNames : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; + +public: + RimFormationNames(); + ~RimFormationNames(); + + void setFileName(const QString& fileName); + const QString& fileName(); + QString fileNameWoPath(); + + RigFormationNames* formationNamesData() { return m_formationNamesData.p();} + void updateConnectedViews(); + + void readFormationNamesFile(QString * errorMessage); + void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath); + +protected: + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; + virtual void initAfterRead() override; + +private: + void updateUiTreeName(); + + caf::PdmField m_formationNamesFileName; + + cvf::ref m_formationNamesData; +}; diff --git a/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.cpp b/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.cpp new file mode 100644 index 0000000000..06de7100b2 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.cpp @@ -0,0 +1,120 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#include "RimFormationNamesCollection.h" + +#include "RimFormationNames.h" +#include "QMessageBox" + +CAF_PDM_SOURCE_INIT(RimFormationNamesCollection, "FormationNamesCollectionObject"); + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimFormationNamesCollection::RimFormationNamesCollection() +{ + CAF_PDM_InitObject("Formations", ":/FormationCollection16x16.png", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_formationNamesList, "FormationNamesList", "Formations", "", "", ""); + m_formationNamesList.uiCapability()->setUiHidden(true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimFormationNamesCollection::~RimFormationNamesCollection() +{ + m_formationNamesList.deleteAllChildObjects(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimFormationNamesCollection::readAllFormationNames() +{ + for(RimFormationNames* fmNames: m_formationNamesList) + { + fmNames->readFormationNamesFile(nullptr); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimFormationNamesCollection::importFiles(const QStringList& fileNames) +{ + QStringList newFileNames; + std::vector formNamesObjsToReload; + + for(const QString& newFileName : fileNames) + { + bool isFound = false; + for(RimFormationNames* fmNames: m_formationNamesList) + { + if(fmNames->fileName() == newFileName) + { + formNamesObjsToReload.push_back(fmNames); + isFound = true; + break; + } + } + + if(!isFound) + { + newFileNames.push_back(newFileName); + } + } + + for(const QString& newFileName : newFileNames) + { + RimFormationNames* newFNs = new RimFormationNames; + newFNs->setFileName(newFileName); + m_formationNamesList.push_back(newFNs); + formNamesObjsToReload.push_back(newFNs); + } + + QString totalErrorMessage; + + for (RimFormationNames* fmNames: formNamesObjsToReload) + { + QString errormessage; + + fmNames->readFormationNamesFile(&errormessage); + if (!errormessage.isEmpty()) + { + totalErrorMessage += "\nError in: " + fmNames->fileName() + + "\n\t" + errormessage; + } + } + + if (!totalErrorMessage.isEmpty()) + { + QMessageBox::warning(nullptr, "Import Formation Names", totalErrorMessage); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimFormationNamesCollection::updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) +{ + for(RimFormationNames* fmNames: m_formationNamesList) + { + fmNames->updateFilePathsFromProjectPath(newProjectPath, oldProjectPath); + } +} diff --git a/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.h b/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.h new file mode 100644 index 0000000000..7d3facfa1d --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.h @@ -0,0 +1,41 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#pragma once + +#include "cafPdmObject.h" +#include "cafPdmChildArrayField.h" + +class RimFormationNames; + +class RimFormationNamesCollection: public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; + +public: + RimFormationNamesCollection(); + ~RimFormationNamesCollection(); + + const caf::PdmChildArrayField& formationNamesList() const { return m_formationNamesList;} + + void readAllFormationNames(); + + void importFiles(const QStringList& fileNames); + void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath); +private: + caf::PdmChildArrayField m_formationNamesList; +}; \ No newline at end of file diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechCase.cpp b/ApplicationCode/ProjectDataModel/RimGeoMechCase.cpp index d6f5fbe69b..3d73488e10 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechCase.cpp +++ b/ApplicationCode/ProjectDataModel/RimGeoMechCase.cpp @@ -27,11 +27,18 @@ #include "RigFemPartCollection.h" #include "RigFemPartResultsCollection.h" #include "RigGeoMechCaseData.h" +#include "RigFormationNames.h" #include "RimGeoMechView.h" #include "RimMainPlotCollection.h" #include "RimProject.h" +#include "RimTools.h" #include "RimWellLogPlotCollection.h" +#include "RimFormationNames.h" +#include "RimGeoMechPropertyFilterCollection.h" +#include "RimGeoMechCellColors.h" +#include "RimGeoMechResultDefinition.h" +#include "RimGeoMechPropertyFilter.h" #include @@ -47,6 +54,10 @@ RimGeoMechCase::RimGeoMechCase(void) m_caseFileName.uiCapability()->setUiReadOnly(true); CAF_PDM_InitFieldNoDefault(&geoMechViews, "GeoMechViews", "", "", "", ""); geoMechViews.uiCapability()->setUiHidden(true); + + CAF_PDM_InitField(&m_cohesion, "CaseCohesion", 10.0, "Cohesion", "", "Used to calculate the SE:SFI result", ""); + CAF_PDM_InitField(&m_frictionAngleDeg, "FrctionAngleDeg", 30.0, "Friction Angle [Deg]", "", "Used to calculate the SE:SFI result", ""); + } //-------------------------------------------------------------------------------------------------- @@ -113,7 +124,17 @@ bool RimGeoMechCase::openGeoMechCase(std::string* errorMessage) // Also, several places is checked for this data to validate availability of data m_geoMechCaseData = NULL; } - + else + { + if ( activeFormationNames() ) + { + m_geoMechCaseData->femPartResults()->setActiveFormationNames(activeFormationNames()->formationNamesData()); + } + else + { + m_geoMechCaseData->femPartResults()->setActiveFormationNames(nullptr); + } + } return fileOpenSuccess; } @@ -126,7 +147,7 @@ void RimGeoMechCase::updateFilePathsFromProjectPath(const QString& newProjectPat std::vector searchedPaths; // Update filename and folder paths when opening project from a different file location - m_caseFileName = relocateFile(m_caseFileName(), newProjectPath, oldProjectPath, &foundFile, &searchedPaths); + m_caseFileName = RimTools::relocateFile(m_caseFileName(), newProjectPath, oldProjectPath, &foundFile, &searchedPaths); #if 0 // Output the search path for debugging for (size_t i = 0; i < searchedPaths.size(); ++i) @@ -172,10 +193,14 @@ QStringList RimGeoMechCase::timeStepStrings() { QStringList stringList; - std::vector stepNames = geoMechData()->femPartResults()->stepNames(); - for (size_t i = 0; i < stepNames.size(); i++) + RigGeoMechCaseData* rigCaseData = geoMechData(); + if (rigCaseData && rigCaseData->femPartResults()) { - stringList += QString::fromStdString(stepNames[i]); + std::vector stepNames = rigCaseData->femPartResults()->stepNames(); + for (size_t i = 0; i < stepNames.size(); i++) + { + stringList += QString::fromStdString(stepNames[i]); + } } return stringList; @@ -186,9 +211,15 @@ QStringList RimGeoMechCase::timeStepStrings() //-------------------------------------------------------------------------------------------------- QString RimGeoMechCase::timeStepName(int frameIdx) { - std::vector stepNames = geoMechData()->femPartResults()->stepNames(); + RigGeoMechCaseData* rigCaseData = geoMechData(); + if (rigCaseData && rigCaseData->femPartResults()) + { + std::vector stepNames = rigCaseData->femPartResults()->stepNames(); - return QString::fromStdString(stepNames[frameIdx]); + return QString::fromStdString(stepNames[frameIdx]); + } + + return ""; } //-------------------------------------------------------------------------------------------------- @@ -239,6 +270,97 @@ std::vector RimGeoMechCase::dateTimeVectorFromTimeStepStrings(const Q return dates; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimGeoMechCase::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + if(changedField == &activeFormationNames) + { + updateFormationNamesData(); + } + + if (changedField == &m_cohesion || changedField == &m_frictionAngleDeg) + { + + RigGeoMechCaseData* rigCaseData = geoMechData(); + if ( rigCaseData && rigCaseData->femPartResults() ) + { + rigCaseData->femPartResults()->setCalculationParameters(m_cohesion(), cvf::Math::toRadians(m_frictionAngleDeg())); + } + + std::vector views = this->views(); + for ( RimView* view : views ) + { + if ( view ) // Todo: only those using the variable actively + { + view->scheduleCreateDisplayModelAndRedraw(); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimGeoMechCase::updateFormationNamesData() +{ + RigGeoMechCaseData* rigCaseData = geoMechData(); + if(rigCaseData && rigCaseData->femPartResults()) + { + if(activeFormationNames()) + { + rigCaseData->femPartResults()->setActiveFormationNames(activeFormationNames()->formationNamesData()); + } + else + { + rigCaseData->femPartResults()->setActiveFormationNames(nullptr); + } + + std::vector views = this->views(); + for(RimView* view : views) + { + RimGeoMechView* geomView = dynamic_cast(view); + + if ( geomView && geomView->isUsingFormationNames() ) + { + if ( !activeFormationNames() ) + { + if ( geomView->cellResult()->resultPositionType() == RIG_FORMATION_NAMES ) + { + geomView->cellResult()->setResultAddress(RigFemResultAddress(RIG_FORMATION_NAMES, "", "")); + geomView->cellResult()->updateConnectedEditors(); + } + + RimGeoMechPropertyFilterCollection* eclFilColl = geomView->geoMechPropertyFilterCollection(); + for ( RimGeoMechPropertyFilter* propFilter : eclFilColl->propertyFilters ) + { + if ( propFilter->resultDefinition()->resultPositionType() == RIG_FORMATION_NAMES ) + { + propFilter->resultDefinition()->setResultAddress(RigFemResultAddress(RIG_FORMATION_NAMES, "", "")); + } + } + } + + RimGeoMechPropertyFilterCollection* eclFilColl = geomView->geoMechPropertyFilterCollection(); + for ( RimGeoMechPropertyFilter* propFilter : eclFilColl->propertyFilters ) + { + if ( propFilter->resultDefinition->resultPositionType() == RIG_FORMATION_NAMES ) + { + propFilter->setToDefaultValues(); + propFilter->updateConnectedEditors(); + } + } + + geomView->cellResult()->updateConnectedEditors(); + + view->scheduleGeometryRegen(PROPERTY_FILTERED); + view->scheduleCreateDisplayModelAndRedraw(); + } + } + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -268,3 +390,19 @@ QString RimGeoMechCase::subStringOfDigits(const QString& inputString, int number return ""; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimGeoMechCase::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) +{ + uiOrdering.add(&caseUserDescription); + uiOrdering.add(&caseId); + uiOrdering.add(&m_caseFileName); + + auto group = uiOrdering.addNewGroup("Case Options"); + group->add(&activeFormationNames); + group->add(&m_cohesion); + group->add(&m_frictionAngleDeg); + +} + diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechCase.h b/ApplicationCode/ProjectDataModel/RimGeoMechCase.h index 320f3fd37c..08926ce81a 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechCase.h +++ b/ApplicationCode/ProjectDataModel/RimGeoMechCase.h @@ -69,11 +69,22 @@ class RimGeoMechCase : public RimCase static std::vector dateTimeVectorFromTimeStepStrings(const QStringList& timeStepStrings); + + private: + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; + + virtual void updateFormationNamesData() override; + virtual void initAfterRead(); static QString subStringOfDigits(const QString& timeStepString, int numberOfDigitsToFind); private: cvf::ref m_geoMechCaseData; caf::PdmField m_caseFileName; + caf::PdmField m_cohesion; + caf::PdmField m_frictionAngleDeg; +protected: + }; diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechCellColors.cpp b/ApplicationCode/ProjectDataModel/RimGeoMechCellColors.cpp index c6892aadb4..3232cd06c7 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechCellColors.cpp +++ b/ApplicationCode/ProjectDataModel/RimGeoMechCellColors.cpp @@ -52,7 +52,7 @@ RimGeoMechCellColors::~RimGeoMechCellColors(void) void RimGeoMechCellColors::updateIconState() { RimView* rimView = NULL; - this->firstAnchestorOrThisOfType(rimView); + this->firstAncestorOrThisOfType(rimView); CVF_ASSERT(rimView); RimViewController* viewController = rimView->viewController(); @@ -75,3 +75,27 @@ void RimGeoMechCellColors::initAfterRead() { updateIconState(); } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimGeoMechCellColors::updateLegendCategorySettings() +{ + if(this->hasCategoryResult()) + { + legendConfig->setMappingMode(RimLegendConfig::CATEGORY_INTEGER); + legendConfig->setColorRangeMode(RimLegendConfig::CATEGORY); + } + else + { + if(legendConfig->mappingMode() == RimLegendConfig::CATEGORY_INTEGER) + { + legendConfig->setMappingMode(RimLegendConfig::LINEAR_CONTINUOUS); + } + + if(legendConfig->colorRangeMode() == RimLegendConfig::CATEGORY) + { + legendConfig->setColorRangeMode(RimLegendConfig::NORMAL); + } + } +} diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechCellColors.h b/ApplicationCode/ProjectDataModel/RimGeoMechCellColors.h index f718382963..24e7a0fa22 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechCellColors.h +++ b/ApplicationCode/ProjectDataModel/RimGeoMechCellColors.h @@ -43,4 +43,7 @@ class RimGeoMechCellColors : public RimGeoMechResultDefinition void updateIconState(); virtual void initAfterRead(); + +protected: + void updateLegendCategorySettings() override; }; diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilter.cpp b/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilter.cpp index dc136b27a9..ae63df3d51 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilter.cpp +++ b/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilter.cpp @@ -21,6 +21,7 @@ #include "RigFemPartResultsCollection.h" #include "RigGeoMechCaseData.h" +#include "RigFormationNames.h" #include "RimGeoMechPropertyFilterCollection.h" #include "RimGeoMechResultDefinition.h" @@ -50,7 +51,7 @@ RimGeoMechPropertyFilter::RimGeoMechPropertyFilter() // Set to hidden to avoid this item to been displayed as a child item // Fields in this object are displayed using defineUiOrdering() resultDefinition.uiCapability()->setUiHidden(true); - resultDefinition.uiCapability()->setUiChildrenHidden(true); + resultDefinition.uiCapability()->setUiTreeChildrenHidden(true); CAF_PDM_InitField(&lowerBound, "LowerBound", 0.0, "Min", "", "", ""); lowerBound.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); @@ -77,10 +78,11 @@ RimGeoMechPropertyFilter::~RimGeoMechPropertyFilter() //-------------------------------------------------------------------------------------------------- void RimGeoMechPropertyFilter::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) { - if ( &lowerBound == changedField + if ( &lowerBound == changedField || &upperBound == changedField || &isActive == changedField - || &filterMode == changedField) + || &filterMode == changedField + || &m_selectedCategoryValues == changedField) { this->updateIconState(); this->updateFilterName(); @@ -117,6 +119,10 @@ void RimGeoMechPropertyFilter::setToDefaultValues() lowerBound = m_minimumResultValue; upperBound = m_maximumResultValue; + + m_selectedCategoryValues = m_categoryValues; + + this->updateFieldVisibility(); this->updateFilterName(); } @@ -128,15 +134,15 @@ void RimGeoMechPropertyFilter::defineUiOrdering(QString uiConfigName, caf::PdmUi uiOrdering.add(&name); caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Result"); - group1->add(&(resultDefinition->m_resultPositionTypeUiField)); - group1->add(&(resultDefinition->m_resultVariableUiField)); + resultDefinition->defineUiOrdering(uiConfigName, *group1); uiOrdering.add(&isActive); uiOrdering.add(&filterMode); uiOrdering.add(&lowerBound); uiOrdering.add(&upperBound); - uiOrdering.add(&filterMode); + + uiOrdering.add(&m_selectedCategoryValues); updateReadOnlyStateOfAllFields(); } @@ -164,6 +170,8 @@ void RimGeoMechPropertyFilter::updateReadOnlyStateOfAllFields() // Include fields declared in RimResultDefinition objFields.push_back(&(resultDefinition->m_resultPositionTypeUiField)); objFields.push_back(&(resultDefinition->m_resultVariableUiField)); + objFields.push_back(&(resultDefinition->m_isTimeLapseResultUiField)); + objFields.push_back(&(resultDefinition->m_timeLapseBaseTimestepUiField)); for (size_t i = 0; i < objFields.size(); i++) { @@ -177,7 +185,7 @@ void RimGeoMechPropertyFilter::updateReadOnlyStateOfAllFields() bool RimGeoMechPropertyFilter::isPropertyFilterControlled() { RimView* rimView = NULL; - firstAnchestorOrThisOfType(rimView); + firstAncestorOrThisOfType(rimView); CVF_ASSERT(rimView); bool isPropertyFilterControlled = false; @@ -190,6 +198,25 @@ bool RimGeoMechPropertyFilter::isPropertyFilterControlled() return isPropertyFilterControlled; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimGeoMechPropertyFilter::updateFieldVisibility() +{ + if (resultDefinition->hasCategoryResult()) + { + m_selectedCategoryValues.uiCapability()->setUiHidden(false); + lowerBound.uiCapability()->setUiHidden(true); + upperBound.uiCapability()->setUiHidden(true); + } + else + { + m_selectedCategoryValues.uiCapability()->setUiHidden(true); + lowerBound.uiCapability()->setUiHidden(false); + upperBound.uiCapability()->setUiHidden(false); + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -231,10 +258,24 @@ void RimGeoMechPropertyFilter::computeResultValueRange() double min = 0.0; double max = 0.0; + clearCategories(); + RigFemResultAddress resultAddress = resultDefinition->resultAddress(); if (resultAddress.isValid() && resultDefinition->ownerCaseData()) { - resultDefinition->ownerCaseData()->femPartResults()->minMaxScalarValues(resultAddress, &min, &max); + if (resultDefinition->hasCategoryResult()) + { + std::vector fnVector; + if (resultDefinition->ownerCaseData()->femPartResults()->activeFormationNames()) + { + fnVector = resultDefinition->ownerCaseData()->femPartResults()->activeFormationNames()->formationNames(); + } + setCategoryNames(fnVector); + } + else + { + resultDefinition->ownerCaseData()->femPartResults()->minMaxScalarValues(resultAddress, &min, &max); + } } m_maximumResultValue = max; @@ -251,21 +292,29 @@ void RimGeoMechPropertyFilter::updateFilterName() { RigFemResultAddress resultAddress = resultDefinition->resultAddress(); QString newFiltername; - QString posName; - switch (resultAddress.resultPosType) + if (resultAddress.resultPosType == RIG_FORMATION_NAMES) { - case RIG_NODAL: posName = "N"; break; - case RIG_ELEMENT_NODAL: posName = "EN"; break; - case RIG_INTEGRATION_POINT: posName = "IP"; break; + newFiltername = resultDefinition->resultFieldName(); } + else + { + QString posName; + + switch (resultAddress.resultPosType) + { + case RIG_NODAL: posName = "N"; break; + case RIG_ELEMENT_NODAL: posName = "EN"; break; + case RIG_INTEGRATION_POINT: posName = "IP"; break; + } - QString fieldUiName = resultDefinition->resultFieldUiName(); - QString compoUiName = resultDefinition->resultComponentUiName(); + QString fieldUiName = resultDefinition->resultFieldUiName(); + QString compoUiName = resultDefinition->resultComponentUiName(); + newFiltername = posName + ", " + fieldUiName + ", " + compoUiName + " (" + + QString::number(lowerBound()) + " .. " + QString::number(upperBound) + ")"; + } - newFiltername = posName + ", " + fieldUiName + ", " + compoUiName + " (" - + QString::number(lowerBound()) + " .. " + QString::number(upperBound) + ")"; this->name = newFiltername; uiCapability()->updateConnectedEditors(); diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilter.h b/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilter.h index 3551a31a6e..168c908c34 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilter.h +++ b/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilter.h @@ -50,6 +50,7 @@ class RimGeoMechPropertyFilter : public RimCellFilter void updateFilterName(); void computeResultValueRange(); + void updateFieldVisibility(); void updateActiveState(); protected: diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilterCollection.cpp b/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilterCollection.cpp index d17479ff5b..90cad2cb83 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilterCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilterCollection.cpp @@ -19,8 +19,8 @@ #include "RimGeoMechPropertyFilterCollection.h" -#include "RimGeoMechCellColors.h" #include "RimGeoMechPropertyFilter.h" +#include "RimGeoMechResultDefinition.h" #include "RimGeoMechView.h" #include "RimViewController.h" #include "RimViewLinker.h" @@ -56,7 +56,7 @@ RimGeoMechPropertyFilterCollection::~RimGeoMechPropertyFilterCollection() RimGeoMechView* RimGeoMechPropertyFilterCollection::reservoirView() { RimGeoMechView* geoMechView = NULL; - firstAnchestorOrThisOfType(geoMechView); + firstAncestorOrThisOfType(geoMechView); return geoMechView; } @@ -73,6 +73,7 @@ void RimGeoMechPropertyFilterCollection::loadAndInitializePropertyFilters() propertyFilter->resultDefinition->setGeoMechCase(reservoirView()->geoMechCase()); propertyFilter->resultDefinition->loadResult(); propertyFilter->computeResultValueRange(); + propertyFilter->updateFieldVisibility(); } } @@ -117,6 +118,24 @@ bool RimGeoMechPropertyFilterCollection::hasActiveDynamicFilters() const return hasActiveFilters(); } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimGeoMechPropertyFilterCollection::isUsingFormationNames() const +{ + if ( !isActive ) return false; + + for ( size_t i = 0; i < propertyFilters.size(); i++ ) + { + RimGeoMechPropertyFilter* propertyFilter = propertyFilters[i]; + if ( propertyFilter->isActive() + && propertyFilter->resultDefinition->resultPositionType() == RIG_FORMATION_NAMES + && propertyFilter->resultDefinition->resultFieldName() != "") return true; + } + + return false; +} //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -125,7 +144,7 @@ void RimGeoMechPropertyFilterCollection::updateIconState() bool activeIcon = true; RimGeoMechView* view = NULL; - this->firstAnchestorOrThisOfType(view); + this->firstAncestorOrThisOfType(view); RimViewController* viewController = view->viewController(); if (viewController && ( viewController->isPropertyFilterOveridden() || viewController->isVisibleCellsOveridden())) diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilterCollection.h b/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilterCollection.h index 2f9430706e..440f0a9d9e 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilterCollection.h +++ b/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilterCollection.h @@ -47,6 +47,7 @@ class RimGeoMechPropertyFilterCollection : public RimPropertyFilterCollection // Methods bool hasActiveFilters() const; bool hasActiveDynamicFilters() const; + bool isUsingFormationNames() const; void loadAndInitializePropertyFilters(); void updateIconState(); diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.cpp b/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.cpp index c813f5f263..ea31ef9658 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.cpp +++ b/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.cpp @@ -43,6 +43,8 @@ void caf::AppEnum< RigFemResultPosEnum >::setUp() addItem(RIG_NODAL, "NODAL", "Nodal"); addItem(RIG_ELEMENT_NODAL, "ELEMENT_NODAL", "Element Nodal"); addItem(RIG_INTEGRATION_POINT,"INTEGRATION_POINT","Integration Point"); + addItem(RIG_ELEMENT_NODAL_FACE, "ELEMENT_NODAL_FACE", "Element Nodal On Face"); + addItem(RIG_FORMATION_NAMES, "FORMATION_NAMES", "Formation Names"); setDefault(RIG_NODAL); } } @@ -60,11 +62,19 @@ RimGeoMechResultDefinition::RimGeoMechResultDefinition(void) CAF_PDM_InitFieldNoDefault(&m_resultPositionType, "ResultPositionType" , "Result Position", "", "", ""); m_resultPositionType.uiCapability()->setUiHidden(true); + CAF_PDM_InitField(&m_resultFieldName, "ResultFieldName", QString(""), "Field Name", "", "", ""); m_resultFieldName.uiCapability()->setUiHidden(true); + CAF_PDM_InitField(&m_resultComponentName, "ResultComponentName", QString(""), "Component", "", "", ""); m_resultComponentName.uiCapability()->setUiHidden(true); + CAF_PDM_InitField(&m_isTimeLapseResult, "IsTimeLapseResult", false, "TimeLapseResult", "", "", ""); + m_isTimeLapseResult.uiCapability()->setUiHidden(true); + + CAF_PDM_InitField(&m_timeLapseBaseTimestep, "TimeLapseBaseTimeStep", 0, "Base Time Step", "", "", ""); + m_timeLapseBaseTimestep.uiCapability()->setUiHidden(true); + CAF_PDM_InitFieldNoDefault(&m_resultPositionTypeUiField, "ResultPositionTypeUi", "Result Position", "", "", ""); m_resultPositionTypeUiField.xmlCapability()->setIOWritable(false); m_resultPositionTypeUiField.xmlCapability()->setIOReadable(false); @@ -73,8 +83,19 @@ RimGeoMechResultDefinition::RimGeoMechResultDefinition(void) m_resultVariableUiField.xmlCapability()->setIOWritable(false); m_resultVariableUiField.xmlCapability()->setIOReadable(false); + CAF_PDM_InitField(&m_isTimeLapseResultUiField, "IsTimeLapseResultUI", false, "Enable Relative Result", "", "Use the difference with respect to a specific time step as the result variable to plot", ""); + m_isTimeLapseResultUiField.xmlCapability()->setIOWritable(false); + m_isTimeLapseResultUiField.xmlCapability()->setIOReadable(false); + + CAF_PDM_InitField(&m_timeLapseBaseTimestepUiField, "TimeLapseBaseTimeStepUI", 0, "Base Time Step", "", "", ""); + m_timeLapseBaseTimestepUiField.xmlCapability()->setIOWritable(false); + m_timeLapseBaseTimestepUiField.xmlCapability()->setIOReadable(false); + m_resultVariableUiField.uiCapability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName()); m_resultVariableUiField.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::TOP); + + + } //-------------------------------------------------------------------------------------------------- @@ -85,6 +106,22 @@ RimGeoMechResultDefinition::~RimGeoMechResultDefinition(void) } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimGeoMechResultDefinition::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) +{ + uiOrdering.add(&m_resultPositionTypeUiField); + uiOrdering.add(&m_resultVariableUiField); + + caf::PdmUiGroup * timeLapseGr = uiOrdering.addNewGroup("Relative Result Options"); + timeLapseGr->add(&m_isTimeLapseResultUiField); + if (m_isTimeLapseResultUiField()) + timeLapseGr->add(&m_timeLapseBaseTimestepUiField); + + uiOrdering.setForgetRemainingFields(true); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -100,13 +137,31 @@ QList RimGeoMechResultDefinition::calculateValueOptions( std::map > fieldCompNames = getResultMetaDataForUIFieldSetting(); QStringList uiVarNames; QStringList varNames; - getUiAndResultVariableStringList(&uiVarNames, &varNames, fieldCompNames); + getUiAndResultVariableStringList(&uiVarNames, &varNames, fieldCompNames, m_isTimeLapseResultUiField, m_timeLapseBaseTimestepUiField); for (int oIdx = 0; oIdx < uiVarNames.size(); ++oIdx) { options.push_back(caf::PdmOptionItemInfo(uiVarNames[oIdx], varNames[oIdx])); } } + else if (&m_isTimeLapseResultUiField == fieldNeedingOptions) + { + //options.push_back(caf::PdmOptionItemInfo("Absolute", false)); + //options.push_back(caf::PdmOptionItemInfo("Time Lapse", true)); + } + else if (&m_timeLapseBaseTimestepUiField == fieldNeedingOptions) + { + std::vector stepNames; + if(m_geomCase->geoMechData()) + { + stepNames = m_geomCase->geoMechData()->femPartResults()->stepNames(); + } + + for (size_t stepIdx = 0; stepIdx < stepNames.size(); ++stepIdx) + { + options.push_back(caf::PdmOptionItemInfo(QString::fromStdString(stepNames[stepIdx]), static_cast(stepIdx))); + } + } } return options; @@ -127,14 +182,18 @@ void RimGeoMechResultDefinition::setGeoMechCase(RimGeoMechCase* geomCase) //-------------------------------------------------------------------------------------------------- void RimGeoMechResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) { - if(&m_resultPositionTypeUiField == changedField) + if( &m_resultPositionTypeUiField == changedField + || &m_isTimeLapseResultUiField == changedField + || &m_timeLapseBaseTimestepUiField == changedField) { std::map > fieldCompNames = getResultMetaDataForUIFieldSetting(); QStringList uiVarNames; QStringList varNames; - getUiAndResultVariableStringList(&uiVarNames, &varNames, fieldCompNames); + getUiAndResultVariableStringList(&uiVarNames, &varNames, fieldCompNames, m_isTimeLapseResultUiField, m_timeLapseBaseTimestepUiField); if (m_resultPositionTypeUiField() == m_resultPositionType() + && m_isTimeLapseResultUiField() == m_isTimeLapseResult() + && m_timeLapseBaseTimestepUiField() == m_timeLapseBaseTimestep() && varNames.contains(composeFieldCompString(m_resultFieldName(), m_resultComponentName()))) { m_resultVariableUiField = composeFieldCompString(m_resultFieldName(), m_resultComponentName()); @@ -143,15 +202,14 @@ void RimGeoMechResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha { m_resultVariableUiField = ""; } - } // Get the possible property filter owner RimGeoMechPropertyFilter* propFilter = dynamic_cast(this->parentField()->ownerObject()); RimView* view = NULL; - this->firstAnchestorOrThisOfType(view); + this->firstAncestorOrThisOfType(view); RimWellLogCurve* curve = NULL; - this->firstAnchestorOrThisOfType(curve); + this->firstAncestorOrThisOfType(curve); if (&m_resultVariableUiField == changedField) @@ -160,16 +218,29 @@ void RimGeoMechResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha if (fieldComponentNames.size() > 0) { m_resultPositionType = m_resultPositionTypeUiField; - m_resultFieldName = fieldComponentNames[0]; - if (fieldComponentNames.size() > 1) + if (m_resultPositionType() == RIG_FORMATION_NAMES) { - m_resultComponentName = fieldComponentNames[1]; + // Complete string of selected formation is stored in m_resultFieldName + m_resultFieldName = m_resultVariableUiField(); + m_resultComponentName = ""; + m_isTimeLapseResult = false; + m_timeLapseBaseTimestep = 0; } else { - m_resultComponentName = ""; - } + m_resultFieldName = fieldComponentNames[0]; + if (fieldComponentNames.size() > 1) + { + m_resultComponentName = fieldComponentNames[1]; + } + else + { + m_resultComponentName = ""; + } + m_isTimeLapseResult = m_isTimeLapseResultUiField(); + m_timeLapseBaseTimestep = m_timeLapseBaseTimestepUiField(); + } if (m_geomCase->geoMechData()->femPartResults()->assertResultsLoaded(this->resultAddress())) { @@ -187,6 +258,8 @@ void RimGeoMechResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha if (dynamic_cast(this)) { + this->updateLegendCategorySettings(); + if (view) { RimViewLinker* viewLinker = view->assosiatedViewLinker(); @@ -199,7 +272,7 @@ void RimGeoMechResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha if (curve) { - curve->updatePlotData(); + curve->loadDataAndUpdate(); } } } @@ -221,21 +294,23 @@ void RimGeoMechResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha std::map > RimGeoMechResultDefinition::getResultMetaDataForUIFieldSetting() { RimGeoMechCase* gmCase = m_geomCase; + std::map > fieldWithComponentNames; if (gmCase && gmCase->geoMechData()) { - return gmCase->geoMechData()->femPartResults()->scalarFieldAndComponentNames(m_resultPositionTypeUiField()); - } - else - { - return std::map >() ; + fieldWithComponentNames = gmCase->geoMechData()->femPartResults()->scalarFieldAndComponentNames(m_resultPositionTypeUiField()); } + + return fieldWithComponentNames; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimGeoMechResultDefinition::getUiAndResultVariableStringList(QStringList* uiNames, QStringList* variableNames, - const std::map >& fieldCompNames) +void RimGeoMechResultDefinition::getUiAndResultVariableStringList(QStringList* uiNames, + QStringList* variableNames, + const std::map >& fieldCompNames, + bool isTimeLapseResultList, + int baseFrameIdx) { CVF_ASSERT(uiNames && variableNames); @@ -246,7 +321,7 @@ void RimGeoMechResultDefinition::getUiAndResultVariableStringList(QStringList* u if (resultFieldName == "E" || resultFieldName == "S" || resultFieldName == "POR") continue; // We will not show the native POR, Stress and Strain - QString resultFieldUiName = convertToUiResultFieldName(resultFieldName); + QString resultFieldUiName = convertToUiResultFieldName(resultFieldName, isTimeLapseResultList, baseFrameIdx); uiNames->push_back(resultFieldUiName); variableNames->push_back(resultFieldName); @@ -255,7 +330,7 @@ void RimGeoMechResultDefinition::getUiAndResultVariableStringList(QStringList* u for (compIt = fieldIt->second.begin(); compIt != fieldIt->second.end(); ++compIt) { QString resultCompName = QString::fromStdString(*compIt); - uiNames->push_back(" " + convertToUIComponentName(resultCompName)); + uiNames->push_back(" " + convertToUIComponentName(resultCompName, isTimeLapseResultList, baseFrameIdx)); variableNames->push_back(composeFieldCompString(resultFieldName, resultCompName)); } } @@ -280,7 +355,8 @@ void RimGeoMechResultDefinition::initAfterRead() { m_resultPositionTypeUiField = m_resultPositionType; m_resultVariableUiField = composeFieldCompString(m_resultFieldName(), m_resultComponentName()); - + m_isTimeLapseResultUiField = m_isTimeLapseResult; + m_timeLapseBaseTimestepUiField = m_timeLapseBaseTimestep; } @@ -295,6 +371,18 @@ void RimGeoMechResultDefinition::loadResult() } } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFemResultAddress RimGeoMechResultDefinition::resultAddress() +{ + if(m_isTimeLapseResult) + return RigFemResultAddress(resultPositionType(), resultFieldName().toStdString(), resultComponentName().toStdString(), m_timeLapseBaseTimestep); + else + return RigFemResultAddress(resultPositionType(), resultFieldName().toStdString(), resultComponentName().toStdString()); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -317,7 +405,7 @@ bool RimGeoMechResultDefinition::hasResult() //-------------------------------------------------------------------------------------------------- QString RimGeoMechResultDefinition::resultFieldUiName() { - return convertToUiResultFieldName(m_resultFieldName()); + return convertToUiResultFieldName(m_resultFieldName(), m_isTimeLapseResult, m_timeLapseBaseTimestep); } //-------------------------------------------------------------------------------------------------- @@ -325,27 +413,37 @@ QString RimGeoMechResultDefinition::resultFieldUiName() //-------------------------------------------------------------------------------------------------- QString RimGeoMechResultDefinition::resultComponentUiName() { - return convertToUIComponentName(m_resultComponentName()); + return convertToUIComponentName(m_resultComponentName(), m_isTimeLapseResult, m_timeLapseBaseTimestep); } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -QString RimGeoMechResultDefinition::convertToUiResultFieldName(QString resultFieldName) +QString RimGeoMechResultDefinition::convertToUiResultFieldName(QString resultFieldName, + bool isTimeLapseResultList, + int baseFrameIdx) { - if (resultFieldName == "E") return "NativeAbaqus Strain"; - if (resultFieldName == "S") return "NativeAbaqus Stress"; - if (resultFieldName == "NE") return "E"; // Make NE and NS appear as E and SE - if (resultFieldName == "POR-Bar") return "POR"; // POR-Bar appear as POR + QString newName (resultFieldName); - return resultFieldName; + if (resultFieldName == "E") newName = "NativeAbaqus Strain"; + if (resultFieldName == "S") newName = "NativeAbaqus Stress"; + if (resultFieldName == "NE") newName = "E"; // Make NE and NS appear as E and SE + if (resultFieldName == "POR-Bar") newName = "POR"; // POR-Bar appear as POR + + if (isTimeLapseResultList) newName += "_D" + QString::number(baseFrameIdx); + + return newName; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -QString RimGeoMechResultDefinition::convertToUIComponentName(QString resultComponentName) +QString RimGeoMechResultDefinition::convertToUIComponentName(QString resultComponentName, + bool isTimeLapseResultList, + int baseFrameIdx) { + if(isTimeLapseResultList) resultComponentName += "_D" + QString::number(baseFrameIdx); + return resultComponentName; } @@ -357,7 +455,12 @@ void RimGeoMechResultDefinition::setResultAddress( const RigFemResultAddress& re m_resultPositionType = resultAddress.resultPosType; m_resultFieldName = QString::fromStdString(resultAddress.fieldName); m_resultComponentName = QString::fromStdString(resultAddress.componentName); + m_isTimeLapseResult = resultAddress.isTimeLapse(); + + m_timeLapseBaseTimestep = m_isTimeLapseResult ? resultAddress.timeLapseBaseFrameIdx: 0; m_resultPositionTypeUiField = m_resultPositionType; m_resultVariableUiField = composeFieldCompString(m_resultFieldName(), m_resultComponentName()); + m_isTimeLapseResultUiField = m_isTimeLapseResult; + m_timeLapseBaseTimestepUiField = m_timeLapseBaseTimestep; } diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.h b/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.h index f4470dfa3c..13974fb11b 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.h +++ b/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.h @@ -39,53 +39,82 @@ class RimGeoMechCase; class RimGeoMechResultDefinition : public caf::PdmObject { CAF_PDM_HEADER_INIT; - public: RimGeoMechResultDefinition(void); virtual ~RimGeoMechResultDefinition(void); - void setGeoMechCase(RimGeoMechCase* geomCase); + void setGeoMechCase(RimGeoMechCase* geomCase); + + RigGeoMechCaseData* ownerCaseData(); + bool hasResult(); + void loadResult(); - RigGeoMechCaseData* ownerCaseData(); - bool hasResult(); - void loadResult(); + RigFemResultAddress resultAddress(); - RigFemResultAddress resultAddress() { return RigFemResultAddress(resultPositionType(), resultFieldName().toStdString(), resultComponentName().toStdString());} + RigFemResultPosEnum resultPositionType() { return m_resultPositionType();} + QString resultFieldName() { return m_resultFieldName();} + QString resultComponentName() { return m_resultComponentName();} + void setResultAddress(const RigFemResultAddress& resultAddress); - RigFemResultPosEnum resultPositionType() { return m_resultPositionType();} - QString resultFieldName() { return m_resultFieldName();} - QString resultComponentName() { return m_resultComponentName();} - void setResultAddress(const RigFemResultAddress& resultAddress); + QString resultFieldUiName(); + QString resultComponentUiName(); - QString resultFieldUiName(); - QString resultComponentUiName(); + bool hasCategoryResult() { return m_resultPositionType() == RIG_FORMATION_NAMES; } protected: - + virtual void updateLegendCategorySettings() {}; + + + private: - virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, - bool * useOptionsOnly); - std::map > getResultMetaDataForUIFieldSetting(); - virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); - static void getUiAndResultVariableStringList(QStringList* uiNames, QStringList* variableNames, - const std::map >& fieldCompNames); - static QString composeFieldCompString(const QString& resultFieldName, const QString& resultComponentName); + // Overridden PDM methods - virtual void initAfterRead(); + virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, + bool * useOptionsOnly); + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, + const QVariant& oldValue, + const QVariant& newValue); + virtual void initAfterRead(); + + // Metadata and option build tools + + std::map > getResultMetaDataForUIFieldSetting(); + static void getUiAndResultVariableStringList(QStringList* uiNames, + QStringList* variableNames, + const std::map >& fieldCompNames, + bool isTimeLapseResultList, + int baseFrameIdx); + static QString composeFieldCompString(const QString& resultFieldName, + const QString& resultComponentName); + + static QString convertToUiResultFieldName(QString resultFieldName, + bool isTimeLapseResultList, + int baseFrameIdx); + static QString convertToUIComponentName(QString resultComponentName, + bool isTimeLapseResultList, + int baseFrameIdx); + + // Data Fields caf::PdmField > m_resultPositionType; - caf::PdmField m_resultFieldName; - caf::PdmField m_resultComponentName; + caf::PdmField m_resultFieldName; + caf::PdmField m_resultComponentName; + caf::PdmField m_isTimeLapseResult; + caf::PdmField m_timeLapseBaseTimestep; + + // UI Fields only - friend class RimGeoMechPropertyFilter; // Property filter needs the ui fields + friend class RimGeoMechPropertyFilter; // Property filter needs the ui fields friend class RimWellLogExtractionCurve; // Curve needs the ui fields + friend class RimGeoMechCellColors; // Needs the ui fields caf::PdmField > m_resultPositionTypeUiField; - caf::PdmField m_resultVariableUiField; + caf::PdmField m_resultVariableUiField; + caf::PdmField m_isTimeLapseResultUiField; + caf::PdmField m_timeLapseBaseTimestepUiField; - caf::PdmPointer m_geomCase; - static QString convertToUiResultFieldName(QString resultFieldName); - static QString convertToUIComponentName(QString resultComponentName); + caf::PdmPointer m_geomCase; }; diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechView.cpp b/ApplicationCode/ProjectDataModel/RimGeoMechView.cpp index d3aaf1366a..9842376684 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechView.cpp +++ b/ApplicationCode/ProjectDataModel/RimGeoMechView.cpp @@ -25,11 +25,12 @@ #include "RigFemPartCollection.h" #include "RigFemPartGrid.h" #include "RigFemPartResultsCollection.h" +#include "RigFormationNames.h" #include "RigGeoMechCaseData.h" #include "Rim3dOverlayInfoConfig.h" #include "RimCellRangeFilterCollection.h" -#include "RimCrossSectionCollection.h" +#include "RimIntersectionCollection.h" #include "RimEclipseView.h" #include "RimGeoMechCase.h" #include "RimGeoMechCellColors.h" @@ -73,7 +74,7 @@ RimGeoMechView::RimGeoMechView(void) RiaPreferences* preferences = app->preferences(); CVF_ASSERT(preferences); - CAF_PDM_InitObject("Geomechanical View", ":/ReservoirView.png", "", ""); + CAF_PDM_InitObject("Geomechanical View", ":/3DView16x16.png", "", ""); CAF_PDM_InitFieldNoDefault(&cellResult, "GridCellResult", "Color Result", ":/CellResult.png", "", ""); cellResult = new RimGeoMechCellColors(); @@ -161,7 +162,7 @@ void RimGeoMechView::loadDataAndUpdate() updateViewerWidget(); this->geoMechPropertyFilterCollection()->loadAndInitializePropertyFilters(); - + this->scheduleCreateDisplayModelAndRedraw(); progress.incrementProgress(); @@ -263,6 +264,8 @@ void RimGeoMechView::createDisplayModel() { updateLegends(); m_vizLogic->updateStaticCellColors(-1); + crossSectionCollection->applySingleColorEffect(); + m_overlayInfoConfig()->update3DInfo(); } } @@ -298,14 +301,19 @@ void RimGeoMechView::updateCurrentTimeStep() m_vizLogic->updateStaticCellColors(m_currentTimeStep()); if (this->cellResult()->hasResult()) + { crossSectionCollection->updateCellResultColor(m_currentTimeStep); + } else + { crossSectionCollection->applySingleColorEffect(); - + } } else { m_vizLogic->updateStaticCellColors(-1); + crossSectionCollection->applySingleColorEffect(); + m_viewer->animationControl()->slotPause(); // To avoid animation timer spinning in the background } @@ -418,7 +426,17 @@ void RimGeoMechView::updateLegends() cellResult()->legendConfig->setClosestToZeroValues(globalPosClosestToZero, globalNegClosestToZero, localPosClosestToZero, localNegClosestToZero); cellResult()->legendConfig->setAutomaticRanges(globalMin, globalMax, localMin, localMax); - + + if (cellResult()->hasCategoryResult()) + { + std::vector fnVector; + if (gmCase->femPartResults()->activeFormationNames()) + { + fnVector = gmCase->femPartResults()->activeFormationNames()->formationNames(); + } + cellResult()->legendConfig->setNamedCategoriesInverse(fnVector); + } + m_viewer->addColorLegendToBottomLeftCorner(cellResult()->legendConfig->legend()); cvf::String legendTitle = cvfqt::Utils::toString( @@ -430,12 +448,13 @@ void RimGeoMechView::updateLegends() legendTitle += ", " + cvfqt::Utils::toString(cellResult->resultComponentUiName()); } - if (cellResult->resultFieldName() == "SE" || cellResult->resultFieldName() == "ST" || cellResult->resultFieldName() == "POR-Bar") + if ( cellResult->resultFieldName() == "SE" || cellResult->resultFieldName() == "ST" || cellResult->resultFieldName() == "POR-Bar" + || cellResult->resultFieldName() == "SM" || cellResult->resultFieldName() == "SEM" || cellResult->resultFieldName() == "Q" ) { legendTitle += " [Bar]"; } - cellResult()->legendConfig->legend()->setTitle(legendTitle); + cellResult()->legendConfig->setTitle(legendTitle); } //-------------------------------------------------------------------------------------------------- @@ -500,7 +519,7 @@ void RimGeoMechView::fieldChangedByUi(const caf::PdmFieldHandle* changedField, c { if (m_viewer) { - windowGeometry = RiuMainWindow::instance()->windowGeometryForViewer(m_viewer->layoutWidget()); + this->setMdiWindowGeometry( RiuMainWindow::instance()->windowGeometryForViewer(m_viewer->layoutWidget())); RiuMainWindow::instance()->removeViewer(m_viewer->layoutWidget()); delete m_viewer; @@ -648,6 +667,16 @@ void RimGeoMechView::axisLabels(cvf::String* xLabel, cvf::String* yLabel, cvf::S *zLabel = "Z(3)"; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimGeoMechView::isUsingFormationNames() const +{ + if (cellResult()->hasCategoryResult()) return true; // Correct for now + + return geoMechPropertyFilterCollection()->isUsingFormationNames(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -662,10 +691,18 @@ void RimGeoMechView::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering uiTreeOrdering.add(m_rangeFilterCollection()); uiTreeOrdering.add(m_propertyFilterCollection()); - + uiTreeOrdering.setForgetRemainingFields(true); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimGeoMechResultDefinition* RimGeoMechView::cellResultResultDefinition() +{ + return cellResult(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechView.h b/ApplicationCode/ProjectDataModel/RimGeoMechView.h index bcf20262f5..a28aae99a4 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechView.h +++ b/ApplicationCode/ProjectDataModel/RimGeoMechView.h @@ -36,6 +36,7 @@ class Rim3dOverlayInfoConfig; class RimCellRangeFilterCollection; class RimGeoMechCase; class RimGeoMechCellColors; +class RimGeoMechResultDefinition; class RimGeoMechPropertyFilterCollection; class RiuViewer; class RivGeoMechPartMgr; @@ -65,6 +66,7 @@ class RimGeoMechView : public RimView virtual void loadDataAndUpdate(); caf::PdmChildField cellResult; + RimGeoMechResultDefinition* cellResultResultDefinition(); virtual const RimPropertyFilterCollection* propertyFilterCollection() const; @@ -80,6 +82,8 @@ class RimGeoMechView : public RimView virtual void axisLabels(cvf::String* xLabel, cvf::String* yLabel, cvf::String* zLabel); + virtual bool isUsingFormationNames() const override; + protected: virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = ""); @@ -115,9 +119,3 @@ class RimGeoMechView : public RimView }; -#include "cvfArray.h" - -namespace cvf { - class CellRangeFilter; -} - diff --git a/ApplicationCode/ProjectDataModel/RimGridCollection.cpp b/ApplicationCode/ProjectDataModel/RimGridCollection.cpp index 59e5738bcb..5ccf7522ab 100644 --- a/ApplicationCode/ProjectDataModel/RimGridCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimGridCollection.cpp @@ -58,7 +58,7 @@ void RimGridCollection::fieldChangedByUi(const caf::PdmFieldHandle* changedField if (changedField == &isActive) { RimView* rimView = NULL; - this->firstAnchestorOrThisOfType(rimView); + this->firstAncestorOrThisOfType(rimView); CVF_ASSERT(rimView); rimView->showGridCells(isActive); diff --git a/ApplicationCode/ProjectDataModel/RimIdenticalGridCaseGroup.cpp b/ApplicationCode/ProjectDataModel/RimIdenticalGridCaseGroup.cpp index a1346db662..671aadd93d 100644 --- a/ApplicationCode/ProjectDataModel/RimIdenticalGridCaseGroup.cpp +++ b/ApplicationCode/ProjectDataModel/RimIdenticalGridCaseGroup.cpp @@ -180,6 +180,10 @@ void RimIdenticalGridCaseGroup::loadMainCaseAndActiveCellInfo() RigCaseData* rigCaseData = mainCase->reservoirData(); CVF_ASSERT(rigCaseData); + RifReaderInterface::PorosityModelResultType poroModel = RifReaderInterface::MATRIX_RESULTS; + mainCase->results(poroModel)->cellResults()->createPlaceholderResultEntries(); + + // Action A : Read active cell info // Read active cell info from all source cases. The file access is optimized for this purpose, and result meta data // is copied from main case to all other cases (see "Action B") @@ -245,11 +249,15 @@ void RimIdenticalGridCaseGroup::loadMainCaseAndActiveCellInfo() RimDefines::ResultCatType resultType = resultInfos[resIdx].m_resultType; QString resultName = resultInfos[resIdx].m_resultName; bool needsToBeStored = resultInfos[resIdx].m_needsToBeStored; + bool mustBeCalculated = resultInfos[resIdx].m_mustBeCalculated; size_t scalarResultIndex = cellResultsStorage->cellResults()->findScalarResultIndex(resultType, resultName); if (scalarResultIndex == cvf::UNDEFINED_SIZE_T) { size_t scalarResultIndex = cellResultsStorage->cellResults()->addEmptyScalarResult(resultType, resultName, needsToBeStored); + + if (mustBeCalculated) cellResultsStorage->cellResults()->setMustBeCalculated(scalarResultIndex); + cellResultsStorage->cellResults()->setTimeStepDates(scalarResultIndex, timeStepDates); std::vector< std::vector >& dataValues = cellResultsStorage->cellResults()->cellScalarResults(scalarResultIndex); @@ -370,7 +378,8 @@ RimEclipseStatisticsCase* RimIdenticalGridCaseGroup::createAndAppendStatisticsCa newStatisticsCase->caseUserDescription = QString("Statistics ") + QString::number(statisticsCaseCollection()->reservoirs.size()+1); statisticsCaseCollection()->reservoirs.push_back(newStatisticsCase); - + + newStatisticsCase->populateResultSelectionAfterLoadingGrid(); newStatisticsCase->openEclipseGridFile(); return newStatisticsCase; @@ -420,7 +429,7 @@ void RimIdenticalGridCaseGroup::clearStatisticsResults() { RimEclipseView* rimReservoirView = rimStaticsCase->reservoirViews[j]; rimReservoirView->cellResult()->setResultVariable(RimDefines::undefinedResultName()); - rimReservoirView->cellEdgeResult()->resultVariable = RimDefines::undefinedResultName(); + rimReservoirView->cellEdgeResult()->setResultVariable(RimDefines::undefinedResultName()); rimReservoirView->loadDataAndUpdate(); } } diff --git a/ApplicationCode/ProjectDataModel/RimIntersection.cpp b/ApplicationCode/ProjectDataModel/RimIntersection.cpp new file mode 100644 index 0000000000..793043f292 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimIntersection.cpp @@ -0,0 +1,671 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimIntersection.h" + +#include "RiaApplication.h" + +#include "RigSimulationWellCenterLineCalculator.h" + +#include "RimCase.h" +#include "RimEclipseView.h" +#include "RimEclipseWell.h" +#include "RimEclipseWellCollection.h" +#include "RimOilField.h" +#include "RimProject.h" +#include "RimView.h" +#include "RimWellPath.h" + +#include "RiuViewer.h" +#include "RivIntersectionPartMgr.h" + +#include "cafCmdFeature.h" +#include "cafCmdFeatureManager.h" +#include "cafPdmUiListEditor.h" +#include "cafPdmUiPushButtonEditor.h" + + +namespace caf { + +template<> +void caf::AppEnum< RimIntersection::CrossSectionEnum >::setUp() +{ + addItem(RimIntersection::CS_WELL_PATH, "CS_WELL_PATH", "Well Path"); + addItem(RimIntersection::CS_SIMULATION_WELL, "CS_SIMULATION_WELL", "Simulation Well"); + addItem(RimIntersection::CS_POLYLINE, "CS_POLYLINE", "Polyline"); + setDefault(RimIntersection::CS_WELL_PATH); +} + +template<> +void caf::AppEnum< RimIntersection::CrossSectionDirEnum >::setUp() +{ + addItem(RimIntersection::CS_VERTICAL, "CS_VERTICAL", "Vertical"); + addItem(RimIntersection::CS_HORIZONTAL, "CS_HORIZONTAL", "Horizontal"); + addItem(RimIntersection::CS_TWO_POINTS, "CS_TWO_POINTS", "Defined by two points"); + setDefault(RimIntersection::CS_VERTICAL); +} + +} + + +CAF_PDM_SOURCE_INIT(RimIntersection, "CrossSection"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimIntersection::RimIntersection() +{ + CAF_PDM_InitObject("Intersection", ":/CrossSection16x16.png", "", ""); + + CAF_PDM_InitField(&name, "UserDescription", QString("Intersection Name"), "Name", "", "", ""); + CAF_PDM_InitField(&isActive, "Active", true, "Active", "", "", ""); + isActive.uiCapability()->setUiHidden(true); + + CAF_PDM_InitFieldNoDefault(&type, "Type", "Type", "", "", ""); + CAF_PDM_InitFieldNoDefault(&direction, "Direction", "Direction", "", "", ""); + CAF_PDM_InitFieldNoDefault(&wellPath, "WellPath", "Well Path ", "", "", ""); + CAF_PDM_InitFieldNoDefault(&simulationWell, "SimulationWell", "Simulation Well", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_userPolyline, "Points", "Points", "", "Use Ctrl-C for copy and Ctrl-V for paste", ""); + + CAF_PDM_InitFieldNoDefault(&m_customExtrusionPoints, "CustomExtrusionPoints", "", "", "", ""); + + CAF_PDM_InitField (&m_branchIndex, "Branch", -1, "Branch", "", "", ""); + CAF_PDM_InitField (&m_extentLength, "ExtentLength", 200.0, "Extent length", "", "", ""); + CAF_PDM_InitField (&showInactiveCells, "ShowInactiveCells", false, "Show Inactive Cells", "", "", ""); + + CAF_PDM_InitFieldNoDefault(&inputPolyLineFromViewerEnabled, "m_activateUiAppendPointsCommand", "", "", "", ""); + inputPolyLineFromViewerEnabled.xmlCapability()->setIOWritable(false); + inputPolyLineFromViewerEnabled.xmlCapability()->setIOReadable(false); + inputPolyLineFromViewerEnabled.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName()); + + inputPolyLineFromViewerEnabled = false; + + CAF_PDM_InitFieldNoDefault(&inputExtrusionPointsFromViewerEnabled, "inputExtrusionPointsFromViewerEnabled", "", "", "", ""); + inputExtrusionPointsFromViewerEnabled.xmlCapability()->setIOWritable(false); + inputExtrusionPointsFromViewerEnabled.xmlCapability()->setIOReadable(false); + inputExtrusionPointsFromViewerEnabled.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName()); + + inputExtrusionPointsFromViewerEnabled = false; + + uiCapability()->setUiTreeChildrenHidden(true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimIntersection::~RimIntersection() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersection::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + if (changedField == &isActive || + changedField == &type || + changedField == &direction || + changedField == &wellPath || + changedField == &simulationWell || + changedField == &m_branchIndex || + changedField == &m_extentLength || + changedField == &showInactiveCells) + { + rebuildGeometryAndScheduleCreateDisplayModel(); + } + + if (changedField == &simulationWell + || changedField == &isActive + || changedField == &type) + { + m_wellBranchCenterlines.clear(); + updateWellCenterline(); + m_branchIndex = -1; + } + + if (changedField == &simulationWell + || changedField == &wellPath + || changedField == &m_branchIndex) + { + updateName(); + } + + if (changedField == &inputPolyLineFromViewerEnabled + || changedField == &m_userPolyline) + { + if (inputPolyLineFromViewerEnabled) + { + inputExtrusionPointsFromViewerEnabled = false; + } + + rebuildGeometryAndScheduleCreateDisplayModel(); + } + + if (changedField == &inputExtrusionPointsFromViewerEnabled + || changedField == &m_customExtrusionPoints) + { + if (inputExtrusionPointsFromViewerEnabled) + { + inputPolyLineFromViewerEnabled = false; + } + + rebuildGeometryAndScheduleCreateDisplayModel(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) +{ + uiOrdering.add(&name); + caf::PdmUiGroup* geometryGroup = uiOrdering.addNewGroup("Intersecting Geometry"); + geometryGroup->add(&type); + + if (type == CS_WELL_PATH) + { + geometryGroup->add(&wellPath); + } + else if (type == CS_SIMULATION_WELL) + { + geometryGroup->add(&simulationWell); + updateWellCenterline(); + if (simulationWell() && m_wellBranchCenterlines.size() > 1) + { + geometryGroup->add(&m_branchIndex); + } + } + else if (type == CS_POLYLINE) + { + geometryGroup->add(&m_userPolyline); + geometryGroup->add(&inputPolyLineFromViewerEnabled); + } + + caf::PdmUiGroup* optionsGroup = uiOrdering.addNewGroup("Options"); + + optionsGroup->add(&direction); + + if (direction == CS_TWO_POINTS) + { + optionsGroup->add(&m_customExtrusionPoints); + optionsGroup->add(&inputExtrusionPointsFromViewerEnabled); + } + + optionsGroup->add(&m_extentLength); + optionsGroup->add(&showInactiveCells); + + if (type == CS_POLYLINE) + { + m_extentLength.uiCapability()->setUiReadOnly(true); + } + else + { + m_extentLength.uiCapability()->setUiReadOnly(false); + } + + updateWellExtentDefaultValue(); + + + uiOrdering.setForgetRemainingFields(true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QList RimIntersection::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) +{ + QList options; + + if (fieldNeedingOptions == &wellPath) + { + RimProject* proj = RiaApplication::instance()->project(); + if (proj->activeOilField()->wellPathCollection()) + { + caf::PdmChildArrayField& wellPaths = proj->activeOilField()->wellPathCollection()->wellPaths; + + QIcon wellIcon(":/Well.png"); + for (size_t i = 0; i < wellPaths.size(); i++) + { + options.push_back(caf::PdmOptionItemInfo(wellPaths[i]->name(), QVariant::fromValue(caf::PdmPointer(wellPaths[i])), false, wellIcon)); + } + } + + if (options.size() == 0) + { + options.push_front(caf::PdmOptionItemInfo("None", QVariant::fromValue(caf::PdmPointer(NULL)))); + } + } + else if (fieldNeedingOptions == &simulationWell) + { + RimEclipseWellCollection* coll = simulationWellCollection(); + if (coll) + { + caf::PdmChildArrayField& eclWells = coll->wells; + + QIcon simWellIcon(":/Well.png"); + for (size_t i = 0; i < eclWells.size(); i++) + { + options.push_back(caf::PdmOptionItemInfo(eclWells[i]->name(), QVariant::fromValue(caf::PdmPointer(eclWells[i])), false, simWellIcon)); + } + } + + if (options.size() == 0) + { + options.push_front(caf::PdmOptionItemInfo("None", QVariant::fromValue(caf::PdmPointer(NULL)))); + } + } + else if (fieldNeedingOptions == &m_branchIndex) + { + updateWellCenterline(); + + size_t branchCount = m_wellBranchCenterlines.size(); + + options.push_back(caf::PdmOptionItemInfo("All", -1)); + + for (size_t bIdx = 0; bIdx < branchCount; ++bIdx) + { + options.push_back(caf::PdmOptionItemInfo(QString::number(bIdx + 1), QVariant::fromValue(bIdx))); + } + } + return options; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmFieldHandle* RimIntersection::userDescriptionField() +{ + return &name; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmFieldHandle* RimIntersection::objectToggleField() +{ + return &isActive; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimEclipseWellCollection* RimIntersection::simulationWellCollection() +{ + RimEclipseView* eclipseView = NULL; + firstAncestorOrThisOfType(eclipseView); + + if (eclipseView) + { + return eclipseView->wellCollection; + } + + return NULL; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector< std::vector > RimIntersection::polyLines() const +{ + std::vector< std::vector > lines; + if (type == CS_WELL_PATH) + { + if (wellPath()) + { + lines.push_back(wellPath->wellPathGeometry()->m_wellPathPoints); + clipToReservoir(lines[0]); + } + } + else if (type == CS_SIMULATION_WELL) + { + if (simulationWell()) + { + updateWellCenterline(); + + if (0 <= m_branchIndex && m_branchIndex < static_cast(m_wellBranchCenterlines.size())) + { + lines.push_back(m_wellBranchCenterlines[m_branchIndex]); + } + + if (m_branchIndex == -1) + { + lines = m_wellBranchCenterlines; + } + } + } + else if (type == CS_POLYLINE) + { + lines.push_back(m_userPolyline); + } + + if (type == CS_WELL_PATH || type == CS_SIMULATION_WELL) + { + for (size_t lIdx = 0; lIdx < lines.size(); ++lIdx) + { + std::vector& polyLine = lines[lIdx]; + addExtents(polyLine); + } + } + + return lines; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RivIntersectionPartMgr* RimIntersection::intersectionPartMgr() +{ + if (m_crossSectionPartMgr.isNull()) m_crossSectionPartMgr = new RivIntersectionPartMgr(this); + + return m_crossSectionPartMgr.p(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector< std::vector > RimIntersection::polyLinesForExtrusionDirection() const +{ + std::vector< std::vector > lines; + + lines.push_back(m_customExtrusionPoints); + + return lines; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersection::updateWellCenterline() const +{ + if (isActive() && type == CS_SIMULATION_WELL && simulationWell()) + { + if (m_wellBranchCenterlines.size() == 0) + { + std::vector< std::vector > pipeBranchesCellIds; + + RigSimulationWellCenterLineCalculator::calculateWellPipeCenterline(simulationWell(), m_wellBranchCenterlines, pipeBranchesCellIds); + } + } + else + { + m_wellBranchCenterlines.clear(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersection::addExtents(std::vector &polyLine) const +{ + size_t lineVxCount = polyLine.size(); + + if (lineVxCount == 0) return; + + // Add extent at end of well + { + size_t endIdxOffset = lineVxCount > 3 ? 3: lineVxCount; + cvf::Vec3d endDirection = (polyLine[lineVxCount-1] - polyLine[lineVxCount-endIdxOffset]); + endDirection[2] = 0; // Remove z. make extent lenght be horizontally + if (endDirection.length() < 1e-2) + { + endDirection = polyLine.back() - polyLine.front(); + endDirection[2] = 0; + + if (endDirection.length() < 1e-2) + { + endDirection = cvf::Vec3d::X_AXIS; + } + } + + endDirection.normalize(); + + cvf::Vec3d newEnd = polyLine.back() + endDirection * m_extentLength(); + + polyLine.push_back(newEnd); + } + + // Add extent at start + { + size_t endIdxOffset = lineVxCount > 3 ? 3: lineVxCount-1; + cvf::Vec3d startDirection = (polyLine[0] - polyLine[endIdxOffset]); + startDirection[2] = 0; // Remove z. make extent lenght be horizontally + if (startDirection.length() < 1e-2) + { + startDirection = polyLine.front() - polyLine.back(); + startDirection[2] = 0; + + if (startDirection.length() < 1e-2) + { + startDirection = -cvf::Vec3d::X_AXIS; + } + } + + startDirection.normalize(); + + cvf::Vec3d newStart = polyLine.front() + startDirection * m_extentLength(); + + polyLine.insert(polyLine.begin(), newStart); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersection::updateWellExtentDefaultValue() +{ + RimCase* ownerCase = NULL; + firstAncestorOrThisOfType(ownerCase); + + if (ownerCase) + { + cvf::BoundingBox caseBB = ownerCase->activeCellsBoundingBox(); + if (m_extentLength == m_extentLength.defaultValue() && caseBB.radius() < 1000) + { + m_extentLength = caseBB.radius() * 0.1; + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersection::updateName() +{ + if (type == CS_SIMULATION_WELL && simulationWell()) + { + name = simulationWell()->name(); + if (m_branchIndex() != -1) + { + name = name() + " Branch " + QString::number(m_branchIndex() + 1); + } + } + else if (type() == CS_WELL_PATH && wellPath()) + { + name = wellPath()->name(); + } + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersection::clipToReservoir(std::vector &polyLine) const +{ + RimCase* ownerCase = NULL; + firstAncestorOrThisOfType(ownerCase); + + std::vector clippedPolyLine; + + if (ownerCase) + { + cvf::BoundingBox caseBB = ownerCase->activeCellsBoundingBox(); + bool hasEnteredReservoirBB = false; + for (size_t vxIdx = 0 ; vxIdx < polyLine.size(); ++vxIdx) + { + if (!caseBB.contains(polyLine[vxIdx])) + { + continue; + } + + if (!hasEnteredReservoirBB) + { + if (vxIdx > 0) + { + // clip line, and add vx to start + cvf::Plane topPlane; + topPlane.setFromPointAndNormal(caseBB.max(), cvf::Vec3d::Z_AXIS); + cvf::Vec3d intersection; + + if (topPlane.intersect(polyLine[vxIdx-1], polyLine[vxIdx], &intersection)) + { + clippedPolyLine.push_back(intersection); + } + } + + hasEnteredReservoirBB = true; + } + + clippedPolyLine.push_back(polyLine[vxIdx]); + } + } + + polyLine.swap(clippedPolyLine); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersection::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) +{ + if (field == &inputPolyLineFromViewerEnabled) + { + caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast (attribute); + + if (inputPolyLineFromViewerEnabled) + { + attrib->m_buttonText = "Stop picking points"; + } + else + { + attrib->m_buttonText = "Start picking points"; + } + } + else if (field == &m_userPolyline) + { + caf::PdmUiListEditorAttribute* myAttr = dynamic_cast(attribute); + if (myAttr && inputPolyLineFromViewerEnabled) + { + myAttr->m_baseColor.setRgb(255, 220, 255); + } + } + else if (field == &inputExtrusionPointsFromViewerEnabled) + { + caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast (attribute); + + if (inputExtrusionPointsFromViewerEnabled) + { + attrib->m_buttonText = "Stop picking points"; + } + else + { + attrib->m_buttonText = "Start picking points"; + } + } + else if (field == &m_customExtrusionPoints) + { + caf::PdmUiListEditorAttribute* myAttr = dynamic_cast(attribute); + if (myAttr && inputExtrusionPointsFromViewerEnabled) + { + myAttr->m_baseColor.setRgb(255, 220, 255); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersection::appendPointToPolyLine(const cvf::Vec3d& point) +{ + m_userPolyline.v().push_back(point); + + m_userPolyline.uiCapability()->updateConnectedEditors(); + + rebuildGeometryAndScheduleCreateDisplayModel(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersection::appendPointToExtrusionDirection(const cvf::Vec3d& point) +{ + if (m_customExtrusionPoints().size() > 1) m_customExtrusionPoints.v().clear(); + + m_customExtrusionPoints.v().push_back(point); + + m_customExtrusionPoints.uiCapability()->updateConnectedEditors(); + + rebuildGeometryAndScheduleCreateDisplayModel(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Vec3d RimIntersection::extrusionDirection() const +{ + cvf::Vec3d dir = cvf::Vec3d::Z_AXIS; + + if (direction() == RimIntersection::CS_HORIZONTAL) + { + std::vector< std::vector > lines = this->polyLines(); + if (lines.size() > 0 && lines[0].size() > 1) + { + std::vector firstLine = lines[0]; + + // Use first and last point of polyline to approximate orientation of polyline + // Then cross with Z axis to find extrusion direction + + cvf::Vec3d polyLineDir = firstLine[firstLine.size() - 1] - firstLine[0]; + cvf::Vec3d up = cvf::Vec3d::Z_AXIS; + dir = polyLineDir ^ up; + } + } + else if (direction() == RimIntersection::CS_TWO_POINTS && m_customExtrusionPoints().size() > 1) + { + dir = m_customExtrusionPoints()[m_customExtrusionPoints().size() - 1] - m_customExtrusionPoints()[0]; + } + + return dir; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersection::rebuildGeometryAndScheduleCreateDisplayModel() +{ + m_crossSectionPartMgr = NULL; + + RimView* rimView = NULL; + this->firstAncestorOrThisOfType(rimView); + if (rimView) + { + rimView->scheduleCreateDisplayModelAndRedraw(); + } +} + diff --git a/ApplicationCode/ProjectDataModel/RimIntersection.h b/ApplicationCode/ProjectDataModel/RimIntersection.h new file mode 100644 index 0000000000..63abfaa413 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimIntersection.h @@ -0,0 +1,119 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafAppEnum.h" +#include "cafPdmField.h" +#include "cafPdmFieldCvfVec3d.h" +#include "cafPdmObject.h" +#include "cafPdmPtrField.h" + +#include "cvfBase.h" +#include "cvfObject.h" +#include "cvfVector3.h" + +class RimEclipseWell; +class RimEclipseWellCollection; +class RimWellPath; +class RivIntersectionPartMgr; + +//================================================================================================== +// +// +// +//================================================================================================== +class RimIntersection : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; + +public: + enum CrossSectionEnum + { + CS_WELL_PATH, + CS_SIMULATION_WELL, + CS_POLYLINE + }; + + enum CrossSectionDirEnum + { + CS_VERTICAL, + CS_HORIZONTAL, + CS_TWO_POINTS + }; + +public: + RimIntersection(); + ~RimIntersection(); + + caf::PdmField name; + caf::PdmField isActive; + + caf::PdmField< caf::AppEnum< CrossSectionEnum > > type; + caf::PdmField< caf::AppEnum< CrossSectionDirEnum > > direction; + caf::PdmField< bool > showInactiveCells; + + caf::PdmPtrField wellPath; + caf::PdmPtrField simulationWell; + + caf::PdmField< bool > inputPolyLineFromViewerEnabled; + caf::PdmField< bool > inputExtrusionPointsFromViewerEnabled; + + std::vector< std::vector > polyLines() const; + void appendPointToPolyLine(const cvf::Vec3d& point); + + RivIntersectionPartMgr* intersectionPartMgr(); + + std::vector< std::vector > polyLinesForExtrusionDirection() const; + void appendPointToExtrusionDirection(const cvf::Vec3d& point); + + cvf::Vec3d extrusionDirection() const; + +protected: + virtual caf::PdmFieldHandle* userDescriptionField(); + virtual caf::PdmFieldHandle* objectToggleField(); + + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); + + + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering); + virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute); + + virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly); + +private: + caf::PdmField m_branchIndex; + caf::PdmField m_extentLength; + + caf::PdmField< std::vector< cvf::Vec3d> > m_userPolyline; + caf::PdmField< std::vector< cvf::Vec3d> > m_customExtrusionPoints; + + RimEclipseWellCollection* simulationWellCollection(); + void updateWellCenterline() const; + void updateWellExtentDefaultValue(); + void addExtents(std::vector &polyLine) const; + void clipToReservoir(std::vector &polyLine) const; + void updateName(); + void rebuildGeometryAndScheduleCreateDisplayModel(); +private: + cvf::ref m_crossSectionPartMgr; + + mutable + std::vector< std::vector > m_wellBranchCenterlines; +}; diff --git a/ApplicationCode/ProjectDataModel/RimIntersectionBox.cpp b/ApplicationCode/ProjectDataModel/RimIntersectionBox.cpp new file mode 100644 index 0000000000..5f357ef89c --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimIntersectionBox.cpp @@ -0,0 +1,665 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimIntersectionBox.h" + +#include "RimCase.h" +#include "RimEclipseView.h" +#include "RimView.h" + +#include "IntersectionBoxCommands/RicBoxManipulatorEventHandler.h" + +#include "RiuViewer.h" + +#include "RivIntersectionBoxPartMgr.h" + +#include "cafPdmUiDoubleSliderEditor.h" +#include "cafPdmUiPushButtonEditor.h" +#include "cafPdmUiSliderEditor.h" +#include "cafDisplayCoordTransform.h" + + +namespace caf +{ + template<> + void AppEnum< RimIntersectionBox::SinglePlaneState >::setUp() + { + addItem(RimIntersectionBox::PLANE_STATE_NONE, "PLANE_STATE_NONE", "Box"); + addItem(RimIntersectionBox::PLANE_STATE_X, "PLANE_STATE_X", "X Plane"); + addItem(RimIntersectionBox::PLANE_STATE_Y, "PLANE_STATE_Y", "Y Plane"); + addItem(RimIntersectionBox::PLANE_STATE_Z, "PLANE_STATE_Z", "Z Plane"); + setDefault(RimIntersectionBox::PLANE_STATE_NONE); + } +} + + +CAF_PDM_SOURCE_INIT(RimIntersectionBox, "IntersectionBox"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimIntersectionBox::RimIntersectionBox() +{ + CAF_PDM_InitObject("Intersection Box", ":/IntersectionBox16x16.png", "", ""); + + CAF_PDM_InitField(&name, "UserDescription", QString("Intersection Name"), "Name", "", "", ""); + CAF_PDM_InitField(&isActive, "Active", true, "Active", "", "", ""); + isActive.uiCapability()->setUiHidden(true); + + CAF_PDM_InitField(&m_singlePlaneState, "singlePlaneState", caf::AppEnum(SinglePlaneState::PLANE_STATE_NONE), "Box Type", "", "", ""); + + CAF_PDM_InitField(&m_minXCoord, "MinXCoord", 0.0, "Min", "", "", ""); + m_minXCoord.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); + + CAF_PDM_InitField(&m_maxXCoord, "MaxXCoord", 0.0, "Max", "", "", ""); + m_maxXCoord.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); + + CAF_PDM_InitField(&m_minYCoord, "MinYCoord", 0.0, "Min", "", "", ""); + m_minYCoord.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); + + CAF_PDM_InitField(&m_maxYCoord, "MaxYCoord", 0.0, "Max", "", "", ""); + m_maxYCoord.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); + + CAF_PDM_InitField(&m_minDepth, "MinDepth", 0.0, "Min", "", "", ""); + m_minDepth.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); + + CAF_PDM_InitField(&m_maxDepth, "MaxDepth", 0.0, "Max", "", "", ""); + m_maxDepth.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); + + CAF_PDM_InitField (&showInactiveCells, "ShowInactiveCells", false, "Show Inactive Cells", "", "", ""); + CAF_PDM_InitField (&m_xySliderStepSize, "xySliderStepSize", 1.0, "XY Slider Step Size", "", "", ""); + CAF_PDM_InitField (&m_depthSliderStepSize, "DepthSliderStepSize", 0.5, "Depth Slider Step Size", "", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_show3DManipulator, "show3DManipulator", "", "", "", ""); + m_show3DManipulator.xmlCapability()->setIOWritable(false); + m_show3DManipulator.xmlCapability()->setIOReadable(false); + m_show3DManipulator.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName()); + m_show3DManipulator.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); + + m_show3DManipulator = false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimIntersectionBox::~RimIntersectionBox() +{ + if (m_boxManipulator) + { + m_boxManipulator->deleteLater(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Mat4d RimIntersectionBox::boxOrigin() const +{ + cvf::Mat4d mx(cvf::Mat4d::IDENTITY); + mx.setTranslation(cvf::Vec3d(m_minXCoord, m_minYCoord, -m_maxDepth)); + return mx; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Vec3d RimIntersectionBox::boxSize() const +{ + return cvf::Vec3d(m_maxXCoord, m_maxYCoord, m_maxDepth) - cvf::Vec3d(m_minXCoord, m_minYCoord, m_minDepth); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::setFromOriginAndSize(const cvf::Vec3d& origin, const cvf::Vec3d& size) +{ + m_minXCoord = origin.x(); + m_minYCoord = origin.y(); + m_minDepth = -(origin.z() + size.z()); + + m_maxXCoord = origin.x() + size.x(); + m_maxYCoord = origin.y() + size.y(); + m_maxDepth = -origin.z(); + + clampSinglePlaneValues(); + + updateBoxManipulatorGeometry(); + + updateConnectedEditors(); + + rebuildGeometryAndScheduleCreateDisplayModel(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimIntersectionBox::show3dManipulator() const +{ + return m_show3DManipulator; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimIntersectionBox::SinglePlaneState RimIntersectionBox::singlePlaneState() const +{ + return m_singlePlaneState(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::setToDefaultSizeBox() +{ + cvf::BoundingBox boundingBox = currentCellBoundingBox(); + cvf::Vec3d center = boundingBox.center(); + + double defaultWidthFactor = 0.5; + + m_minXCoord = center.x() - 0.5 * boundingBox.extent().x() * defaultWidthFactor; + m_minYCoord = center.y() - 0.5 * boundingBox.extent().y() * defaultWidthFactor; + m_minDepth = -(center.z() + 0.5 * boundingBox.extent().z() * defaultWidthFactor); + m_maxXCoord = center.x() + 0.5 * boundingBox.extent().x() * defaultWidthFactor; + m_maxYCoord = center.y() + 0.5 * boundingBox.extent().y() * defaultWidthFactor; + m_maxDepth = -(center.z() - 0.5 * boundingBox.extent().z() * defaultWidthFactor); + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::setToDefaultSizeSlice(SinglePlaneState plane, const cvf::Vec3d& position) +{ + m_singlePlaneState = plane; + + cvf::BoundingBox boundingBox = currentCellBoundingBox(); + cvf::Vec3d center = position; + + if (center.isUndefined()) center = boundingBox.center(); + + double defaultWidthFactor = 0.5; + + m_minXCoord = center[0] - 0.5 * boundingBox.extent().x() * defaultWidthFactor; + m_minYCoord = center[1] - 0.5 * boundingBox.extent().y() * defaultWidthFactor; + m_minDepth = -(center[2] + 0.5 * boundingBox.extent().z() * defaultWidthFactor); + m_maxXCoord = center[0] + 0.5 * boundingBox.extent().x() * defaultWidthFactor; + m_maxYCoord = center[1] + 0.5 * boundingBox.extent().y() * defaultWidthFactor; + m_maxDepth = -(center[2] - 0.5 * boundingBox.extent().z() * defaultWidthFactor); + + switch (plane) + { + case PLANE_STATE_X: m_minXCoord = m_maxXCoord = center[0]; break; + case PLANE_STATE_Y: m_minYCoord = m_maxYCoord = center[1]; break; + case PLANE_STATE_Z: m_minDepth = m_maxDepth = -center[2]; break; + } + + updateVisibility(); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RivIntersectionBoxPartMgr* RimIntersectionBox::intersectionBoxPartMgr() +{ + if (m_intersectionBoxPartMgr.isNull()) m_intersectionBoxPartMgr = new RivIntersectionBoxPartMgr(this); + + return m_intersectionBoxPartMgr.p(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::appendManipulatorPartsToModel(cvf::ModelBasicList* model) +{ + if (show3dManipulator() && m_boxManipulator) + { + m_boxManipulator->appendPartsToModel(model); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + if (changedField == &m_singlePlaneState) + { + switchSingelPlaneState(); + updateVisibility(); + updateBoxManipulatorGeometry(); + } + else if (changedField == &m_minXCoord) + { + if (m_singlePlaneState == PLANE_STATE_X) + { + m_maxXCoord = m_minXCoord; + } + else + { + m_minXCoord = CVF_MIN(m_maxXCoord, m_minXCoord); + } + } + else if (changedField == &m_minYCoord) + { + if (m_singlePlaneState == PLANE_STATE_Y) + { + m_maxYCoord = m_minYCoord; + } + else + { + m_minYCoord = CVF_MIN(m_maxYCoord, m_minYCoord); + } + } + else if (changedField == &m_minDepth) + { + if (m_singlePlaneState == PLANE_STATE_Z) + { + m_maxDepth = m_minDepth; + } + else + { + m_minDepth = CVF_MIN(m_maxDepth, m_minDepth); + } + } + else if (changedField == &m_maxXCoord) + { + m_maxXCoord = CVF_MAX(m_maxXCoord, m_minXCoord); + } + else if (changedField == &m_maxYCoord) + { + m_maxYCoord = CVF_MAX(m_maxYCoord, m_minYCoord); + } + else if (changedField == &m_maxDepth) + { + m_maxDepth = CVF_MAX(m_maxDepth, m_minDepth); + } + else if (changedField == &m_show3DManipulator) + { + if (m_show3DManipulator) + { + if (viewer()) + { + m_boxManipulator = new RicBoxManipulatorEventHandler(viewer()); + + connect(m_boxManipulator, SIGNAL(notifyRedraw()), this, SLOT(slotScheduleRedraw())); + connect(m_boxManipulator, SIGNAL(notifyUpdate(const cvf::Vec3d&, const cvf::Vec3d&)), this, SLOT(slotUpdateGeometry(const cvf::Vec3d&, const cvf::Vec3d&))); + + updateBoxManipulatorGeometry(); + } + } + else + { + if (m_boxManipulator) + { + m_boxManipulator->deleteLater(); + m_boxManipulator = nullptr; + } + } + } + + if (changedField == &m_minXCoord || + changedField == &m_minYCoord || + changedField == &m_minDepth || + changedField == &m_maxXCoord || + changedField == &m_maxYCoord || + changedField == &m_maxDepth) + { + if (m_boxManipulator) + { + RimView* rimView = nullptr; + this->firstAncestorOrThisOfType(rimView); + + if (rimView) + { + cvf::ref transForm = rimView->displayCoordTransform(); + + m_boxManipulator->setOrigin(transForm->transformToDisplayCoord(boxOrigin().translation())); + m_boxManipulator->setSize(transForm->scaleToDisplaySize(boxSize())); + } + } + } + + + if (changedField != &name) + { + rebuildGeometryAndScheduleCreateDisplayModel(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::updateBoxManipulatorGeometry() +{ + if (m_boxManipulator.isNull()) return; + + RimView* rimView = nullptr; + this->firstAncestorOrThisOfType(rimView); + cvf::ref transForm = rimView->displayCoordTransform(); + + m_boxManipulator->setOrigin(transForm->transformToDisplayCoord(boxOrigin().translation())); + m_boxManipulator->setSize(transForm->scaleToDisplaySize(boxSize())); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) +{ + caf::PdmUiDoubleSliderEditorAttribute* myAttr = dynamic_cast(attribute); + if (myAttr) + { + cvf::BoundingBox cellsBoundingBox = currentCellBoundingBox(); + if (field == &m_minXCoord || field == &m_maxXCoord) + { + myAttr->m_minimum = cellsBoundingBox.min().x(); + myAttr->m_maximum = cellsBoundingBox.max().x(); + + int range = cellsBoundingBox.extent().x(); + int tickCount = range / m_xySliderStepSize; + + myAttr->m_sliderTickCount = cvf::Math::abs(tickCount); + } + else if (field == &m_minYCoord || field == &m_maxYCoord) + { + myAttr->m_minimum = cellsBoundingBox.min().y(); + myAttr->m_maximum = cellsBoundingBox.max().y(); + + int range = cellsBoundingBox.extent().y(); + int tickCount = range / m_xySliderStepSize; + + myAttr->m_sliderTickCount = cvf::Math::abs(tickCount); + } + else if (field == &m_minDepth || field == &m_maxDepth) + { + myAttr->m_minimum = -cellsBoundingBox.max().z(); + myAttr->m_maximum = -cellsBoundingBox.min().z(); + + int range = cellsBoundingBox.extent().z(); + int tickCount = range / m_depthSliderStepSize; + + myAttr->m_sliderTickCount = cvf::Math::abs(tickCount); + } + } + + if (field == &m_show3DManipulator) + { + caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast (attribute); + + if (m_show3DManipulator) + { + attrib->m_buttonText = "Hide 3D manipulator"; + } + else + { + attrib->m_buttonText = "Show 3D manipulator"; + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) +{ + uiOrdering.add(&name); + + { + caf::PdmUiGroup* group = uiOrdering.addNewGroup("Options"); + group->add(&m_singlePlaneState); + group->add(&showInactiveCells); + } + + cvf::BoundingBox cellsBoundingBox = currentCellBoundingBox(); + { + caf::PdmUiGroup* group = uiOrdering.addNewGroup("X Coordinates " + QString(" [%1 %2]").arg(cellsBoundingBox.min().x()).arg(cellsBoundingBox.max().x())); + group->add(&m_minXCoord); + group->add(&m_maxXCoord); + } + + { + caf::PdmUiGroup* group = uiOrdering.addNewGroup("Y Coordinates" + QString(" [%1 %2]").arg(cellsBoundingBox.min().y()).arg(cellsBoundingBox.max().y())); + group->add(&m_minYCoord); + group->add(&m_maxYCoord); + } + + { + caf::PdmUiGroup* group = uiOrdering.addNewGroup("Depth" + QString(" [%1 %2]").arg(-cellsBoundingBox.max().z()).arg(-cellsBoundingBox.min().z())); + group->add(&m_minDepth); + group->add(&m_maxDepth); + } + + { + caf::PdmUiGroup* group = uiOrdering.addNewGroup("Slider Options"); + group->add(&m_xySliderStepSize); + group->add(&m_depthSliderStepSize); + } + + uiOrdering.add(&m_show3DManipulator); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::initAfterRead() +{ + updateVisibility(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::slotScheduleRedraw() +{ + RimView* rimView = nullptr; + this->firstAncestorOrThisOfType(rimView); + + rimView->scheduleCreateDisplayModelAndRedraw(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::slotUpdateGeometry(const cvf::Vec3d& origin, const cvf::Vec3d& size) +{ + RimView* rimView = nullptr; + this->firstAncestorOrThisOfType(rimView); + + if (rimView) + { + cvf::ref transForm = rimView->displayCoordTransform(); + + cvf::Vec3d domainOrigin = transForm->transformToDomainCoord(origin); + cvf::Vec3d domainSize = transForm->scaleToDomainSize(size); + + setFromOriginAndSize(domainOrigin, domainSize); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmFieldHandle* RimIntersectionBox::userDescriptionField() +{ + return &name; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmFieldHandle* RimIntersectionBox::objectToggleField() +{ + return &isActive; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::rebuildGeometryAndScheduleCreateDisplayModel() +{ + m_intersectionBoxPartMgr = nullptr; + + RimView* rimView = NULL; + this->firstAncestorOrThisOfType(rimView); + if (rimView) + { + rimView->scheduleCreateDisplayModelAndRedraw(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::updateVisibility() +{ + m_maxXCoord.uiCapability()->setUiReadOnly(false); + m_maxYCoord.uiCapability()->setUiReadOnly(false); + m_maxDepth.uiCapability()->setUiReadOnly(false); + + if (m_singlePlaneState == PLANE_STATE_X) + { + m_maxXCoord.uiCapability()->setUiReadOnly(true); + this->setUiIcon(QIcon(QString(":/IntersectionXPlane16x16.png"))); + } + else if (m_singlePlaneState == PLANE_STATE_Y) + { + m_maxYCoord.uiCapability()->setUiReadOnly(true); + this->setUiIcon(QIcon(QString(":/IntersectionYPlane16x16.png"))); + } + else if (m_singlePlaneState == PLANE_STATE_Z) + { + m_maxDepth.uiCapability()->setUiReadOnly(true); + this->setUiIcon(QIcon(QString(":/IntersectionZPlane16x16.png"))); + } + else + { + this->setUiIcon(QIcon(QString(":/IntersectionBox16x16.png"))); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::clampSinglePlaneValues() +{ + if (m_singlePlaneState == PLANE_STATE_X) + { + m_maxXCoord = m_minXCoord = 0.5*(m_minXCoord + m_maxXCoord); + } + else if (m_singlePlaneState == PLANE_STATE_Y) + { + m_maxYCoord = m_minYCoord = 0.5*(m_minYCoord + m_maxYCoord); + } + else if (m_singlePlaneState == PLANE_STATE_Z) + { + m_maxDepth = m_minDepth = 0.5*(m_minDepth + m_maxDepth); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionBox::switchSingelPlaneState() +{ + cvf::Vec3d orgSize = boxSize(); + double orgWidth = orgSize.length(); + + switch( m_singlePlaneState()) // New collapsed direction + { + case PLANE_STATE_X: + orgWidth = orgSize[0]; + break; + case PLANE_STATE_Y: + orgWidth = orgSize[1]; + break; + case PLANE_STATE_Z: + orgWidth = orgSize[2]; + break; + case PLANE_STATE_NONE: + orgWidth = orgSize.length() *0.3; + break; + } + + // For the originally collapsed direction, set a new width + + if(m_minXCoord() == m_maxXCoord()) + { + double center = m_minXCoord; + m_minXCoord = center - 0.5*orgWidth; + m_maxXCoord = center + 0.5*orgWidth; + } + + if(m_minYCoord() == m_maxYCoord()) + { + double center = m_minYCoord; + m_minYCoord = center - 0.5*orgWidth; + m_maxYCoord = center + 0.5*orgWidth; + } + + if(m_minDepth() == m_maxDepth()) + { + double center = m_minDepth; + m_minDepth = center - 0.5*orgWidth; + m_maxDepth = center + 0.5*orgWidth; + } + + clampSinglePlaneValues(); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::BoundingBox RimIntersectionBox::currentCellBoundingBox() +{ + RimCase* rimCase = NULL; + this->firstAncestorOrThisOfType(rimCase); + + CVF_ASSERT(rimCase); + + RimEclipseView* eclView = nullptr; + this->firstAncestorOrThisOfType(eclView); + + bool useAllCells = true; + if (eclView) + { + useAllCells = eclView->showInactiveCells(); + } + + if(false)//useAllCells) // For now, only use the active CellsBBox. + return rimCase->allCellsBoundingBox(); + else + return rimCase->activeCellsBoundingBox(); + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuViewer* RimIntersectionBox::viewer() +{ + RimView* rimView = nullptr; + this->firstAncestorOrThisOfType(rimView); + + RiuViewer* riuViewer = nullptr; + if (rimView) riuViewer = rimView->viewer(); + + return riuViewer; +} diff --git a/ApplicationCode/ProjectDataModel/RimIntersectionBox.h b/ApplicationCode/ProjectDataModel/RimIntersectionBox.h new file mode 100644 index 0000000000..8971c4e5d9 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimIntersectionBox.h @@ -0,0 +1,127 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafPdmObject.h" +#include "cafPdmField.h" + +#include "cvfBase.h" +#include "cvfVector3.h" +#include "cvfBoundingBox.h" + +#include +#include + +class RicBoxManipulatorEventHandler; +class RiuViewer; +class RivIntersectionBoxPartMgr; + +namespace cvf { + class ModelBasicList; +} + +//================================================================================================== +// +// +// +//================================================================================================== +class RimIntersectionBox : public QObject, public caf::PdmObject +{ + Q_OBJECT; + + CAF_PDM_HEADER_INIT; + +public: + enum SinglePlaneState + { + PLANE_STATE_NONE, + PLANE_STATE_X, + PLANE_STATE_Y, + PLANE_STATE_Z + }; + +public: + RimIntersectionBox(); + ~RimIntersectionBox(); + + // Fields + caf::PdmField name; + caf::PdmField isActive; + caf::PdmField showInactiveCells; + + cvf::Mat4d boxOrigin() const; + cvf::Vec3d boxSize() const; + SinglePlaneState singlePlaneState() const; + + bool show3dManipulator() const; + RivIntersectionBoxPartMgr* intersectionBoxPartMgr(); + void appendManipulatorPartsToModel(cvf::ModelBasicList* model); + + void setToDefaultSizeBox(); + void setToDefaultSizeSlice(SinglePlaneState plane, const cvf::Vec3d& position); + +protected: + virtual caf::PdmFieldHandle* userDescriptionField() override; + virtual caf::PdmFieldHandle* objectToggleField() override; + + virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute) override; + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; + virtual void initAfterRead() override; + +protected slots: + void slotScheduleRedraw(); + void slotUpdateGeometry(const cvf::Vec3d& origin, const cvf::Vec3d& size); + +private: + friend class RimIntersectionCollection; + void updateBoxManipulatorGeometry(); + + void rebuildGeometryAndScheduleCreateDisplayModel(); + void updateVisibility(); + void clampSinglePlaneValues(); + void switchSingelPlaneState(); + + void setFromOriginAndSize(const cvf::Vec3d& origin, const cvf::Vec3d& size); + + cvf::BoundingBox currentCellBoundingBox(); + + RiuViewer* viewer(); + +private: + caf::PdmField > m_singlePlaneState; + + caf::PdmField m_minXCoord; + caf::PdmField m_minYCoord; + caf::PdmField m_minDepth; + + caf::PdmField m_maxXCoord; + caf::PdmField m_maxYCoord; + caf::PdmField m_maxDepth; + + caf::PdmField m_xySliderStepSize; + caf::PdmField m_depthSliderStepSize; + + caf::PdmField m_show3DManipulator; + + + + cvf::ref m_intersectionBoxPartMgr; + QPointer m_boxManipulator; +}; diff --git a/ApplicationCode/ProjectDataModel/RimIntersectionCollection.cpp b/ApplicationCode/ProjectDataModel/RimIntersectionCollection.cpp new file mode 100644 index 0000000000..350d3bd606 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimIntersectionCollection.cpp @@ -0,0 +1,220 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimIntersectionCollection.h" + +#include "RimEclipseWell.h" +#include "RimIntersection.h" +#include "RimIntersectionBox.h" +#include "RimView.h" + +#include "RiuMainWindow.h" + +#include "RivIntersectionBoxPartMgr.h" +#include "RivIntersectionPartMgr.h" + + +CAF_PDM_SOURCE_INIT(RimIntersectionCollection, "CrossSectionCollection"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimIntersectionCollection::RimIntersectionCollection() +{ + CAF_PDM_InitObject("Intersections", ":/CrossSections16x16.png", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_intersections, "CrossSections", "Intersections", "", "", ""); + m_intersections.uiCapability()->setUiHidden(true); + + CAF_PDM_InitFieldNoDefault(&m_intersectionBoxes, "IntersectionBoxes", "IntersectionBoxes", "", "", ""); + m_intersectionBoxes.uiCapability()->setUiHidden(true); + + CAF_PDM_InitField(&isActive, "Active", true, "Active", "", "", ""); + isActive.uiCapability()->setUiHidden(true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimIntersectionCollection::~RimIntersectionCollection() +{ + m_intersections.deleteAllChildObjects(); + m_intersectionBoxes.deleteAllChildObjects(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmFieldHandle* RimIntersectionCollection::objectToggleField() +{ + return &isActive; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionCollection::applySingleColorEffect() +{ + if(!this->isActive()) return; + + for (RimIntersection* cs : m_intersections) + { + if (cs->isActive) + { + cs->intersectionPartMgr()->applySingleColorEffect(); + } + } + + for (RimIntersectionBox* cs : m_intersectionBoxes) + { + if(cs->isActive) + { + cs->intersectionBoxPartMgr()->applySingleColorEffect(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionCollection::updateCellResultColor(size_t timeStepIndex) +{ + if(!this->isActive()) return; + + for (RimIntersection* cs : m_intersections) + { + if(cs->isActive) + { + cs->intersectionPartMgr()->updateCellResultColor(timeStepIndex); + } + } + + for (RimIntersectionBox* cs : m_intersectionBoxes) + { + if(cs->isActive) + { + cs->intersectionBoxPartMgr()->updateCellResultColor(timeStepIndex); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionCollection::appendPartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform) +{ + if (!isActive) return; + + for (RimIntersection* cs : m_intersections) + { + if (cs->isActive) + { + cs->intersectionPartMgr()->appendNativeCrossSectionFacesToModel(model, scaleTransform); + cs->intersectionPartMgr()->appendMeshLinePartsToModel(model, scaleTransform); + cs->intersectionPartMgr()->appendPolylinePartsToModel(model, scaleTransform); + } + } + + for (RimIntersectionBox* cs : m_intersectionBoxes) + { + if(cs->isActive) + { + cs->intersectionBoxPartMgr()->appendNativeCrossSectionFacesToModel(model, scaleTransform); + cs->intersectionBoxPartMgr()->appendMeshLinePartsToModel(model, scaleTransform); + + if (cs->show3dManipulator()) + { + cs->appendManipulatorPartsToModel(model); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionCollection::appendIntersection(RimIntersection* intersection) +{ + m_intersections.push_back(intersection); + + updateConnectedEditors(); + RiuMainWindow::instance()->selectAsCurrentItem(intersection); + + RimView* rimView = NULL; + firstAncestorOrThisOfType(rimView); + if (rimView) + { + rimView->scheduleCreateDisplayModelAndRedraw(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionCollection::appendIntersectionBox(RimIntersectionBox* intersectionBox) +{ + m_intersectionBoxes.push_back(intersectionBox); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionCollection::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + if (changedField == &isActive) + { + RimView* rimView = NULL; + firstAncestorOrThisOfType(rimView); + if (rimView) + { + rimView->scheduleCreateDisplayModelAndRedraw(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimIntersectionCollection::hasActiveIntersectionForSimulationWell(RimEclipseWell* eclipseWell) const +{ + if (!isActive) return false; + + for (RimIntersection* cs : m_intersections) + { + if (cs->isActive && + cs->type() == RimIntersection::CS_SIMULATION_WELL && + cs->simulationWell() == eclipseWell) + { + return true; + } + } + + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimIntersectionCollection::updateIntersectionBoxGeometry() +{ + for (RimIntersectionBox* intersectionBox : m_intersectionBoxes) + { + intersectionBox->updateBoxManipulatorGeometry(); + } +} diff --git a/ApplicationCode/ProjectDataModel/RimIntersectionCollection.h b/ApplicationCode/ProjectDataModel/RimIntersectionCollection.h new file mode 100644 index 0000000000..29866d3f11 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimIntersectionCollection.h @@ -0,0 +1,71 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2015- Statoil ASA +// Copyright (C) 2015- Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafPdmObject.h" +#include "cafPdmChildArrayField.h" +#include "cafPdmField.h" + +class RimIntersection; +class RimIntersectionBox; +class RimEclipseCellColors; +class RimEclipseWell; + +namespace cvf { + class ModelBasicList; + class Transform; +} + +//================================================================================================== +// +// +// +//================================================================================================== +class RimIntersectionCollection : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; + +public: + RimIntersectionCollection(); + ~RimIntersectionCollection(); + + caf::PdmField isActive; + + void appendIntersection(RimIntersection* intersection); + void appendIntersectionBox(RimIntersectionBox* intersectionBox); + + bool hasActiveIntersectionForSimulationWell(RimEclipseWell* eclipseWell) const; + + void updateIntersectionBoxGeometry(); + + // Visualization interface + + void applySingleColorEffect(); + void updateCellResultColor(size_t timeStepIndex); + void appendPartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform); + +protected: + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); + virtual caf::PdmFieldHandle* objectToggleField(); + +private: + caf::PdmChildArrayField m_intersections; + caf::PdmChildArrayField m_intersectionBoxes; +}; diff --git a/ApplicationCode/ProjectDataModel/RimLegendConfig.cpp b/ApplicationCode/ProjectDataModel/RimLegendConfig.cpp index e6263e212c..d726b519e4 100644 --- a/ApplicationCode/ProjectDataModel/RimLegendConfig.cpp +++ b/ApplicationCode/ProjectDataModel/RimLegendConfig.cpp @@ -20,6 +20,16 @@ #include "RimLegendConfig.h" +#include "RiaApplication.h" + +#include "RimCellEdgeColors.h" +#include "RimEclipseCellColors.h" +#include "RimEclipseView.h" +#include "RimGeoMechResultDefinition.h" + +#include "cafCategoryLegend.h" +#include "cafCategoryMapper.h" + #include "cafFactory.h" #include "cafPdmFieldCvfColor.h" #include "cafPdmFieldCvfMat4d.h" @@ -31,12 +41,10 @@ #include "cvfScalarMapperContinuousLog.h" #include "cvfScalarMapperDiscreteLinear.h" #include "cvfScalarMapperDiscreteLog.h" +#include "cvfqtUtils.h" #include -#include "RiaApplication.h" -#include "RimEclipseView.h" - CAF_PDM_SOURCE_INIT(RimLegendConfig, "Legend"); @@ -59,10 +67,12 @@ namespace caf { addItem(RimLegendConfig::OPPOSITE_NORMAL,"OPPOSITE_NORMAL", "Full color, Blue on top"); addItem(RimLegendConfig::WHITE_PINK, "WHITE_PIMK", "White to pink"); addItem(RimLegendConfig::PINK_WHITE, "PINK_WHITE", "Pink to white"); - addItem(RimLegendConfig::BLUE_WHITE_RED, "BLUE_WHITE_RED", "Blue, white, red"); - addItem(RimLegendConfig::RED_WHITE_BLUE, "RED_WHITE_BLUE", "Red, white, blue"); + addItem(RimLegendConfig::BLUE_WHITE_RED, "BLUE_WHITE_RED", "Blue, white, red"); + addItem(RimLegendConfig::RED_WHITE_BLUE, "RED_WHITE_BLUE", "Red, white, blue"); addItem(RimLegendConfig::WHITE_BLACK, "WHITE_BLACK", "White to black"); addItem(RimLegendConfig::BLACK_WHITE, "BLACK_WHITE", "Black to white"); + addItem(RimLegendConfig::CATEGORY, "CATEGORY", "Category colors"); + addItem(RimLegendConfig::ANGULAR, "ANGULAR", "Full color cyclic"); setDefault(RimLegendConfig::NORMAL); } } @@ -75,6 +85,7 @@ namespace caf { addItem(RimLegendConfig::LINEAR_CONTINUOUS, "LinearContinuous", "Continuous Linear"); addItem(RimLegendConfig::LOG10_CONTINUOUS, "Log10Continuous", "Continuous Logarithmic"); addItem(RimLegendConfig::LOG10_DISCRETE, "Log10Discrete", "Discrete Logarithmic"); + addItem(RimLegendConfig::CATEGORY_INTEGER, "Category", "Category"); setDefault(RimLegendConfig::LINEAR_CONTINUOUS); } } @@ -123,8 +134,11 @@ RimLegendConfig::RimLegendConfig() m_currentScalarMapper = m_linDiscreteScalarMapper; + m_categoryMapper = new caf::CategoryMapper; + cvf::Font* standardFont = RiaApplication::instance()->standardFont(); - m_legend = new cvf::OverlayScalarMapperLegend(standardFont); + m_scalarMapperLegend = new cvf::OverlayScalarMapperLegend(standardFont); + m_categoryLegend = new caf::CategoryLegend(standardFont, m_categoryMapper.p()); updateFieldVisibility(); updateLegend(); @@ -148,7 +162,8 @@ void RimLegendConfig::fieldChangedByUi(const caf::PdmFieldHandle* changedField, int upperLimit = std::numeric_limits::max(); m_numLevels = cvf::Math::clamp(m_numLevels.v(), 1, upperLimit); } - else if (changedField == &m_rangeMode) + else if (changedField == &m_rangeMode || + changedField == &m_mappingMode) { if (m_rangeMode == USER_DEFINED) { @@ -206,7 +221,6 @@ void RimLegendConfig::updateLegend() negClosestToZero = m_globalAutoNegClosestToZero; } - m_linDiscreteScalarMapper->setRange(adjustedMin, adjustedMax); m_linSmoothScalarMapper->setRange(adjustedMin, adjustedMax); @@ -328,6 +342,50 @@ void RimLegendConfig::updateLegend() } break; + case CATEGORY: + { + // Based on http://stackoverflow.com/questions/470690/how-to-automatically-generate-n-distinct-colors + // and Kelly Colors and sorted by hue + // See also http://www.w3schools.com/colors/ for palettes etc. + legendColors.reserve(20); + legendColors.add(cvf::Color3ub(128, 62, 117)); // hwb(310, 24%, 50%) strong_purple + legendColors.add(cvf::Color3ub(212, 28, 132)); // hwb(326, 11%, 17%) strong_purplish_red + legendColors.add(cvf::Color3ub(246, 118, 142)); // hwb(349, 46%, 4%) strong_purplish_pink + legendColors.add(cvf::Color3ub(193, 0, 32)); // hwb(350, 0%, 24%) vivid_red + legendColors.add(cvf::Color3ub(127, 24, 13)); // hwb( 6, 5%, 50%) strong_reddish_brown + legendColors.add(cvf::Color3ub(241, 58, 19)); // hwb( 11, 7%, 5%) vivid_reddish_orange + legendColors.add(cvf::Color3ub(255, 122, 92)); // hwb( 11, 36%, 0%) strong_yellowish_pink + legendColors.add(cvf::Color3ub(129, 112, 102)); // hwb( 22, 40%, 49%) medium_gray + legendColors.add(cvf::Color3ub(255, 104, 0)); // hwb( 24, 0%, 0%) vivid_orange + legendColors.add(cvf::Color3ub( 89, 51, 21)); // hwb( 26, 8%, 65%) deep_yellowish_brown + legendColors.add(cvf::Color3ub(255, 142, 0)); // hwb( 33, 0%, 0%) vivid_orange_yellow + legendColors.add(cvf::Color3ub(206, 162, 98)); // hwb( 36, 38%, 19%) grayish_yellow + legendColors.add(cvf::Color3ub(244, 200, 0)); // hwb( 49, 0%, 4%) vivid_greenish_yellow + legendColors.add(cvf::Color3ub(147, 170, 0)); // hwb( 68, 0%, 33%) vivid_yellowish_green + legendColors.add(cvf::Color3ub( 59, 84, 23)); // hwb( 85, 9%, 67%) dark_olive_green + legendColors.add(cvf::Color3ub( 0, 125, 52)); // hwb(145, 0%, 51%) vivid_green + legendColors.add(cvf::Color3ub( 54, 125, 123)); // hwb(178, 21%, 51%) vivid_blueish_green + legendColors.add(cvf::Color3ub( 0, 83, 138)); // hwb(204, 0%, 46%) strong_blue + legendColors.add(cvf::Color3ub(166, 189, 215)); // hwb(212, 65%, 16%) very_light_blue + legendColors.add(cvf::Color3ub( 46, 76, 224)); // hwb(230, 18%, 12%) medium_blue + } + break; + + case ANGULAR: + { + legendColors.reserve(9); + legendColors.add(cvf::Color3ub(255, 0, 255)); + legendColors.add(cvf::Color3ub(0, 0, 255)); + legendColors.add(cvf::Color3ub(0, 127, 255)); + legendColors.add(cvf::Color3ub(0, 255, 255)); + legendColors.add(cvf::Color3ub(0, 255, 0)); + legendColors.add(cvf::Color3ub(255, 255, 0)); + legendColors.add(cvf::Color3ub(255, 127, 0)); + legendColors.add(cvf::Color3ub(255, 0, 0)); + legendColors.add(cvf::Color3ub(255, 0, 255)); + } + break; + } m_linDiscreteScalarMapper->setColors(legendColors); @@ -335,6 +393,7 @@ void RimLegendConfig::updateLegend() m_logSmoothScalarMapper->setColors(legendColors); m_linSmoothScalarMapper->setColors(legendColors); + m_linDiscreteScalarMapper->setLevelCount(m_numLevels, true); m_logDiscreteScalarMapper->setLevelCount(m_numLevels, true); m_logSmoothScalarMapper->setLevelCount(m_numLevels, true); @@ -354,11 +413,19 @@ void RimLegendConfig::updateLegend() case LOG10_DISCRETE: m_currentScalarMapper = m_logDiscreteScalarMapper.p(); break; + case CATEGORY_INTEGER: + m_categoryMapper->setCategoriesWithNames(m_categories, m_categoryNames); + m_categoryMapper->setInterpolateColors(legendColors); + m_currentScalarMapper = m_categoryMapper.p(); + break; default: break; } - m_legend->setScalarMapper(m_currentScalarMapper.p()); + if (m_currentScalarMapper != m_categoryMapper.p()) + { + m_scalarMapperLegend->setScalarMapper(m_currentScalarMapper.p()); + } double decadesInRange = 0; if (m_mappingMode == LOG10_CONTINUOUS || m_mappingMode == LOG10_DISCRETE) @@ -378,7 +445,7 @@ void RimLegendConfig::updateLegend() // Using Fixed format NumberFormatType nft = m_tickNumberFormat(); - m_legend->setTickFormat((cvf::OverlayScalarMapperLegend::NumberFormat)nft); + m_scalarMapperLegend->setTickFormat((cvf::OverlayScalarMapperLegend::NumberFormat)nft); // Set the fixed number of digits after the decimal point to the number needed to show all the significant digits. int numDecimalDigits = m_precision(); @@ -386,7 +453,7 @@ void RimLegendConfig::updateLegend() { numDecimalDigits -= static_cast(decadesInRange); } - m_legend->setTickPrecision(cvf::Math::clamp(numDecimalDigits, 0, 20)); + m_scalarMapperLegend->setTickPrecision(cvf::Math::clamp(numDecimalDigits, 0, 20)); if (m_globalAutoMax != cvf::UNDEFINED_DOUBLE ) @@ -467,7 +534,14 @@ void RimLegendConfig::initAfterRead() //-------------------------------------------------------------------------------------------------- void RimLegendConfig::updateFieldVisibility() { - if (m_rangeMode == USER_DEFINED) + bool showRangeItems = m_mappingMode == CATEGORY_INTEGER ? false : true; + + m_numLevels.uiCapability()->setUiHidden(!showRangeItems); + m_precision.uiCapability()->setUiHidden(!showRangeItems); + m_tickNumberFormat.uiCapability()->setUiHidden(!showRangeItems); + m_rangeMode.uiCapability()->setUiHidden(!showRangeItems); + + if (showRangeItems && m_rangeMode == USER_DEFINED) { m_userDefinedMaxValue.uiCapability()->setUiHidden(false); m_userDefinedMinValue.uiCapability()->setUiHidden(false); @@ -488,6 +562,15 @@ void RimLegendConfig::setColorRangeMode(ColorRangesType colorMode) updateLegend(); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimLegendConfig::setMappingMode(MappingType mappingType) +{ + m_mappingMode = mappingType; + updateLegend(); +} + /* //-------------------------------------------------------------------------------------------------- /// @@ -536,6 +619,7 @@ cvf::ref RimLegendConfig::interpolateColorArray(const cvf::C } */ + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -546,7 +630,8 @@ void RimLegendConfig::recreateLegend() // the legend disappeared because of this, so workaround: recreate the legend when needed: cvf::Font* standardFont = RiaApplication::instance()->standardFont(); - m_legend = new cvf::OverlayScalarMapperLegend(standardFont); + m_scalarMapperLegend = new cvf::OverlayScalarMapperLegend(standardFont); + m_categoryLegend = new caf::CategoryLegend(standardFont, m_categoryMapper.p()); updateLegend(); } @@ -619,6 +704,60 @@ void RimLegendConfig::setClosestToZeroValues(double globalPosClosestToZero, doub } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimLegendConfig::setIntegerCategories(const std::vector& categories) +{ + m_categories = categories; + m_categoryNames.clear(); + + updateLegend(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimLegendConfig::setNamedCategoriesInverse(const std::vector& categoryNames) +{ + std::vector nameIndices; + std::vector names; + for(int i = static_cast(categoryNames.size()) - 1; i >= 0; --i) + { + nameIndices.push_back(i); + names.push_back(cvfqt::Utils::toString(categoryNames[i])); + } + + m_categories = nameIndices; + m_categoryNames = names; + + updateLegend(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimLegendConfig::setTitle(const cvf::String& title) +{ + m_scalarMapperLegend->setTitle(title); + m_categoryLegend->setTitle(title); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::OverlayItem* RimLegendConfig::legend() +{ + if (m_currentScalarMapper == m_categoryMapper) + { + return m_categoryLegend.p(); + } + else + { + return m_scalarMapperLegend.p(); + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -637,5 +776,79 @@ void RimLegendConfig::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& mappingGr->add(&m_userDefinedMaxValue); mappingGr->add(&m_userDefinedMinValue); } + + updateFieldVisibility(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QList RimLegendConfig::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) +{ + + bool isCategoryResult = false; + { + RimEclipseCellColors* eclCellColors = nullptr; + this->firstAncestorOrThisOfType(eclCellColors); + RimGeoMechResultDefinition* gmCellColors = nullptr; + this->firstAncestorOrThisOfType(gmCellColors); + RimCellEdgeColors* eclCellEdgColors = nullptr; + this->firstAncestorOrThisOfType(eclCellEdgColors); + + if ( ( eclCellColors && eclCellColors->hasCategoryResult()) + || ( gmCellColors && gmCellColors->hasCategoryResult()) + || ( eclCellEdgColors && eclCellEdgColors->hasCategoryResult()) ) + { + isCategoryResult = true; + } + } + + QList optionList; + + if (fieldNeedingOptions == &m_mappingMode) + { + // This is an app enum field, see cafInternalPdmFieldTypeSpecializations.h for the default specialization of this type + std::vector mappingTypes; + mappingTypes.push_back(LINEAR_DISCRETE); + mappingTypes.push_back(LINEAR_CONTINUOUS); + mappingTypes.push_back(LOG10_CONTINUOUS); + mappingTypes.push_back(LOG10_DISCRETE); + + if (isCategoryResult) + { + mappingTypes.push_back(CATEGORY_INTEGER); + } + + for(MappingType mapType: mappingTypes) + { + optionList.push_back(caf::PdmOptionItemInfo(MappingEnum::uiText(mapType), mapType)); + } + } + else if (fieldNeedingOptions == &m_colorRangeMode) + { + // This is an app enum field, see cafInternalPdmFieldTypeSpecializations.h for the default specialization of this type + std::vector rangeTypes; + rangeTypes.push_back(NORMAL); + rangeTypes.push_back(OPPOSITE_NORMAL); + rangeTypes.push_back(WHITE_PINK); + rangeTypes.push_back(PINK_WHITE); + rangeTypes.push_back(BLUE_WHITE_RED); + rangeTypes.push_back(RED_WHITE_BLUE); + rangeTypes.push_back(WHITE_BLACK); + rangeTypes.push_back(BLACK_WHITE); + rangeTypes.push_back(ANGULAR); + + if (isCategoryResult) + { + rangeTypes.push_back(CATEGORY); + } + + for(ColorRangesType colType: rangeTypes) + { + optionList.push_back(caf::PdmOptionItemInfo(ColorRangeEnum::uiText(colType), colType)); + } + } + + return optionList; } diff --git a/ApplicationCode/ProjectDataModel/RimLegendConfig.h b/ApplicationCode/ProjectDataModel/RimLegendConfig.h index 328113a4cc..c71276467e 100644 --- a/ApplicationCode/ProjectDataModel/RimLegendConfig.h +++ b/ApplicationCode/ProjectDataModel/RimLegendConfig.h @@ -21,22 +21,27 @@ #pragma once #include "cvfBase.h" #include "cvfObject.h" -#include "cvfVector2.h" #include "cvfArray.h" #include "cafPdmObject.h" #include "cafPdmField.h" -#include "cafPdmPointer.h" -#include "cafAppEnum.h" namespace cvf { class ScalarMapperContinuousLog; class ScalarMapperContinuousLinear; + class OverlayItem; class OverlayScalarMapperLegend; class ScalarMapperDiscreteLinear; class ScalarMapperDiscreteLog; class ScalarMapper; + class String; +} + +namespace caf +{ + class CategoryLegend; + class CategoryMapper; } class RimView; @@ -74,7 +79,9 @@ class RimLegendConfig: public caf::PdmObject WHITE_BLACK, BLACK_WHITE, BLUE_WHITE_RED, - RED_WHITE_BLUE + RED_WHITE_BLUE, + CATEGORY, + ANGULAR }; typedef caf::AppEnum ColorRangeEnum; @@ -84,24 +91,35 @@ class RimLegendConfig: public caf::PdmObject LINEAR_DISCRETE, LINEAR_CONTINUOUS, LOG10_CONTINUOUS, - LOG10_DISCRETE + LOG10_DISCRETE, + CATEGORY_INTEGER }; enum NumberFormatType { AUTO, SCIENTIFIC, FIXED}; typedef caf::AppEnum MappingEnum; void recreateLegend(); + void setColorRangeMode(ColorRangesType colorMode); + ColorRangesType colorRangeMode() { return m_colorRangeMode();} + void setMappingMode(MappingType mappingType); + MappingType mappingMode() { return m_mappingMode();} + void setAutomaticRanges(double globalMin, double globalMax, double localMin, double localMax); void setClosestToZeroValues(double globalPosClosestToZero, double globalNegClosestToZero, double localPosClosestToZero, double localNegClosestToZero); + void setIntegerCategories(const std::vector& categories); + void setNamedCategoriesInverse(const std::vector& categoryNames); - cvf::ScalarMapper* scalarMapper() { return m_currentScalarMapper.p(); } - cvf::OverlayScalarMapperLegend* legend() { return m_legend.p(); } + void setTitle(const cvf::String& title); + cvf::ScalarMapper* scalarMapper() { return m_currentScalarMapper.p(); } + cvf::OverlayItem* legend(); protected: virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); virtual void initAfterRead(); virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ); + virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly); + private: void updateLegend(); void updateFieldVisibility(); @@ -118,7 +136,10 @@ class RimLegendConfig: public caf::PdmObject cvf::ref m_linSmoothScalarMapper; cvf::ref m_currentScalarMapper; - cvf::ref m_legend; + cvf::ref m_scalarMapperLegend; + + cvf::ref m_categoryMapper; + cvf::ref m_categoryLegend; double m_globalAutoMax; double m_globalAutoMin; @@ -130,6 +151,9 @@ class RimLegendConfig: public caf::PdmObject double m_localAutoPosClosestToZero; double m_localAutoNegClosestToZero; + std::vector m_categories; + std::vector m_categoryNames; + // Fields caf::PdmField m_numLevels; caf::PdmField m_precision; @@ -139,5 +163,4 @@ class RimLegendConfig: public caf::PdmObject caf::PdmField m_userDefinedMinValue; caf::PdmField > m_colorRangeMode; caf::PdmField > m_mappingMode; - }; diff --git a/ApplicationCode/ProjectDataModel/RimMainPlotCollection.cpp b/ApplicationCode/ProjectDataModel/RimMainPlotCollection.cpp index feac205cde..d778da5ccf 100644 --- a/ApplicationCode/ProjectDataModel/RimMainPlotCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimMainPlotCollection.cpp @@ -18,11 +18,13 @@ ///////////////////////////////////////////////////////////////////////////////// #include "RimMainPlotCollection.h" + +#include "RimProject.h" +#include "RimSummaryPlotCollection.h" #include "RimWellLogPlotCollection.h" #include "RiuMainWindow.h" - -#include "cafPdmUiTreeView.h" +#include "RiuProjectPropertyView.h" CAF_PDM_SOURCE_INIT(RimMainPlotCollection, "MainPlotCollection"); @@ -33,13 +35,20 @@ RimMainPlotCollection::RimMainPlotCollection() { CAF_PDM_InitObject("Plots", "", "", ""); - CAF_PDM_InitField(&show, "Show", true, "Show plots", "", "", ""); + CAF_PDM_InitField(&show, "Show", true, "Show 2D Plot Window", "", "", ""); show.uiCapability()->setUiHidden(true); CAF_PDM_InitFieldNoDefault(&m_wellLogPlotCollection, "WellLogPlotCollection", "", "", "", ""); m_wellLogPlotCollection.uiCapability()->setUiHidden(true); + CAF_PDM_InitFieldNoDefault(&m_summaryPlotCollection, "SummaryPlotCollection", "Summary Plots", "", "", ""); + m_summaryPlotCollection.uiCapability()->setUiHidden(true); + m_wellLogPlotCollection = new RimWellLogPlotCollection(); + m_summaryPlotCollection = new RimSummaryPlotCollection(); + + //m_plotMainWindow = NULL; + //m_plotManagerMainWindow = NULL; } //-------------------------------------------------------------------------------------------------- @@ -48,6 +57,10 @@ RimMainPlotCollection::RimMainPlotCollection() RimMainPlotCollection::~RimMainPlotCollection() { if (m_wellLogPlotCollection()) delete m_wellLogPlotCollection(); + if (m_summaryPlotCollection()) delete m_summaryPlotCollection(); + + //m_plotManagerMainWindow->close(); + //m_plotManagerMainWindow->deleteLater(); } //-------------------------------------------------------------------------------------------------- @@ -55,8 +68,62 @@ RimMainPlotCollection::~RimMainPlotCollection() //-------------------------------------------------------------------------------------------------- void RimMainPlotCollection::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) { +#if 0 + if (changedField == &showWindow) + { + if (showWindow) + { + showPlotWindow(); + } + else + { + hidePlotWindow(); + } + } + #endif } +#if 0 +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimMainPlotCollection::showPlotWindow() +{ + if (!m_plotManagerMainWindow) + { + m_plotManagerMainWindow = new QMainWindow; + m_plotManagerMainWindow->setDockNestingEnabled(true); + + m_plotMainWindow = new QMainWindow; + m_plotMainWindow->setDockNestingEnabled(true); + + // NOTE! setCentralWidget takes ownership of widget + m_plotManagerMainWindow->setCentralWidget(m_plotMainWindow); + { + QDockWidget* dockWidget = new QDockWidget("Plots", m_plotManagerMainWindow); + dockWidget->setObjectName("dockWidget"); + + RiuMainWindow* mainWindow = RiuMainWindow::instance(); + + RiuProjectAndPropertyView* projPropView = new RiuProjectAndPropertyView(dockWidget); + dockWidget->setWidget(projPropView); + + RimProject* proj = NULL; + this->firstAncestorOrThisOfType(proj); + + projPropView->setPdmItem(this); + + m_plotManagerMainWindow->addDockWidget(Qt::LeftDockWidgetArea, dockWidget); + } + } + + m_plotMainWindow->show(); + + m_plotManagerMainWindow->showNormal(); + m_plotManagerMainWindow->raise(); +} + +#endif //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -72,3 +139,124 @@ RimWellLogPlotCollection* RimMainPlotCollection::wellLogPlotCollection() { return m_wellLogPlotCollection(); } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryPlotCollection* RimMainPlotCollection::summaryPlotCollection() +{ + return m_summaryPlotCollection(); +} + +#if 0 +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimMainPlotCollection::createDockWindowsForAllPlots() +{ + for (size_t i = 0; i < m_graphPlots.size(); i++) + { + if (!dockWidgetFromPlot(m_graphPlots[i])) + { + createPlotDockWidget(m_graphPlots[i]); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QDockWidget* RimMainPlotCollection::dockWidgetFromPlot(RimSummaryPlot* graphPlot) +{ + foreach(QDockWidget* dockW, m_plotViewDockWidgets) + { + if (dockW && dockW->widget() == graphPlot->widget()) + { + return dockW; + } + } + + return NULL; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimMainPlotCollection::createPlotDockWidget(RimSummaryPlot* graphPlot) +{ + assert(m_plotMainWindow != NULL); + + QDockWidget* dockWidget = new QDockWidget(QString("Plot Widget Tree (%1)").arg(m_plotViewDockWidgets.size() + 1), m_plotMainWindow); + dockWidget->setObjectName("dockWidget"); + // dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); + + QWidget* widget = graphPlot->createPlotWidget(m_plotMainWindow); + + dockWidget->setWidget(widget); + + m_plotMainWindow->addDockWidget(Qt::RightDockWidgetArea, dockWidget); + + m_plotViewDockWidgets.push_back(dockWidget); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimMainPlotCollection::eraseDockWidget(RimSummaryPlot* graphPlot) +{ + QDockWidget* dockW = dockWidgetFromPlot(graphPlot); + if (dockW) + { + m_plotMainWindow->removeDockWidget(dockW); + dockW->setWidget(NULL); + dockW->deleteLater(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimMainPlotCollection::redrawAllPlots() +{ + for (size_t i = 0; i < m_graphPlots.size(); i++) + { + m_graphPlots[i]->redrawAllCurves(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QMainWindow* RimMainPlotCollection::windowWithGraphPlots() +{ + return m_plotMainWindow; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimMainPlotCollection::initAfterRead() +{ + if (show()) + { + showPlotWindow(); + } + else + { + hidePlotWindow(); + } +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimMainPlotCollection::hidePlotWindow() +{ + if (m_plotManagerMainWindow) + { + m_plotManagerMainWindow->hide(); + } +} +#endif \ No newline at end of file diff --git a/ApplicationCode/ProjectDataModel/RimMainPlotCollection.h b/ApplicationCode/ProjectDataModel/RimMainPlotCollection.h index 6cd50243dc..b9de518b2d 100644 --- a/ApplicationCode/ProjectDataModel/RimMainPlotCollection.h +++ b/ApplicationCode/ProjectDataModel/RimMainPlotCollection.h @@ -23,7 +23,15 @@ #include "cafPdmField.h" #include "cafPdmChildField.h" +#include +#include + + class RimWellLogPlotCollection; +class RimSummaryPlotCollection; +class RimSummaryPlot; +class RifReaderEclipseSummary; +class RimEclipseResultCase; //================================================================================================== @@ -38,16 +46,38 @@ class RimMainPlotCollection : public caf::PdmObject virtual ~RimMainPlotCollection(); RimWellLogPlotCollection* wellLogPlotCollection(); + RimSummaryPlotCollection* summaryPlotCollection(); + + #if 0 + // Separate Window stuff + void showPlotWindow(); + void hidePlotWindow(); + + void redrawAllPlots(); + void createDockWindowsForAllPlots(); + QMainWindow* windowWithGraphPlots(); +private: + + QDockWidget* dockWidgetFromPlot(RimSummaryPlot* graphPlot); + void createPlotDockWidget(RimSummaryPlot* graphPlot); + void eraseDockWidget(RimSummaryPlot* graphPlot); + +private: + QMainWindow* m_plotManagerMainWindow; // Outer main Window + QMainWindow* m_plotMainWindow; // Inner main window + std::vector > m_plotViewDockWidgets; // ChildPlotWidgets + #endif protected: // Overridden PDM methods + virtual caf::PdmFieldHandle* objectToggleField(); virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); + //virtual void initAfterRead(); + -private: - virtual caf::PdmFieldHandle* objectToggleField(); - -private: caf::PdmChildField m_wellLogPlotCollection; + caf::PdmChildField m_summaryPlotCollection; + caf::PdmField show; }; diff --git a/ApplicationCode/ProjectDataModel/RimOilField.cpp b/ApplicationCode/ProjectDataModel/RimOilField.cpp index 7a9440b24a..db2a467338 100644 --- a/ApplicationCode/ProjectDataModel/RimOilField.cpp +++ b/ApplicationCode/ProjectDataModel/RimOilField.cpp @@ -23,6 +23,8 @@ #include "RimEclipseCaseCollection.h" #include "RimWellPathCollection.h" #include "RimGeoMechModels.h" +#include "RimSummaryCaseCollection.h" +#include "RimFormationNamesCollection.h" CAF_PDM_SOURCE_INIT(RimOilField, "ResInsightOilField"); //-------------------------------------------------------------------------------------------------- @@ -35,9 +37,12 @@ RimOilField::RimOilField(void) CAF_PDM_InitFieldNoDefault(&analysisModels, "AnalysisModels", "Grid Models", ":/GridModels.png", "", ""); CAF_PDM_InitFieldNoDefault(&geoMechModels, "GeoMechModels", "Geo Mech Models", ":/GridModels.png", "", ""); CAF_PDM_InitFieldNoDefault(&wellPathCollection, "WellPathCollection", "Well Paths", ":/WellCollection.png", "", ""); - + CAF_PDM_InitFieldNoDefault(&summaryCaseCollection,"SummaryCaseCollection","Summary Cases",":/GridModels.png","",""); + CAF_PDM_InitFieldNoDefault(&formationNamesCollection,"FormationNamesCollection","Formations","","",""); + analysisModels = new RimEclipseCaseCollection(); wellPathCollection = new RimWellPathCollection(); + summaryCaseCollection = new RimSummaryCaseCollection(); } //-------------------------------------------------------------------------------------------------- @@ -48,5 +53,7 @@ RimOilField::~RimOilField(void) if (wellPathCollection()) delete wellPathCollection(); if (geoMechModels()) delete geoMechModels(); if (analysisModels()) delete analysisModels(); + if (summaryCaseCollection()) delete summaryCaseCollection(); + if (formationNamesCollection()) delete formationNamesCollection(); } diff --git a/ApplicationCode/ProjectDataModel/RimOilField.h b/ApplicationCode/ProjectDataModel/RimOilField.h index 9240f1793e..7e86ce7de2 100644 --- a/ApplicationCode/ProjectDataModel/RimOilField.h +++ b/ApplicationCode/ProjectDataModel/RimOilField.h @@ -28,6 +28,8 @@ class RimEclipseCaseCollection; class RimGeoMechModels; class RimWellPathCollection; +class RimSummaryCaseCollection; +class RimFormationNamesCollection; //================================================================================================== /// @@ -44,4 +46,7 @@ class RimOilField : public caf::PdmObject caf::PdmChildField analysisModels; caf::PdmChildField geoMechModels; caf::PdmChildField wellPathCollection; + caf::PdmChildField summaryCaseCollection; + caf::PdmChildField formationNamesCollection; + }; diff --git a/ApplicationCode/ProjectDataModel/RimPlotCurve.cpp b/ApplicationCode/ProjectDataModel/RimPlotCurve.cpp new file mode 100644 index 0000000000..405d82a39a --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimPlotCurve.cpp @@ -0,0 +1,410 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimPlotCurve.h" +#include "RimSummaryCurveFilter.h" +#include "RiuLineSegmentQwtPlotCurve.h" + +#include "cafPdmUiComboBoxEditor.h" + +#include "cvfAssert.h" + +#include "qwt_symbol.h" +#include "qwt_plot.h" + +// NB! Special macro for pure virtual class +CAF_PDM_XML_ABSTRACT_SOURCE_INIT(RimPlotCurve, "PlotCurve"); + +namespace caf +{ +template<> +void caf::AppEnum< RimPlotCurve::LineStyleEnum >::setUp() +{ + addItem(RimPlotCurve::STYLE_NONE, "STYLE_NONE", "None"); + addItem(RimPlotCurve::STYLE_SOLID, "STYLE_SOLID", "Solid"); + addItem(RimPlotCurve::STYLE_DASH, "STYLE_DASH", "Dashes"); + addItem(RimPlotCurve::STYLE_DOT, "STYLE_DOT", "Dots"); + addItem(RimPlotCurve::STYLE_DASH_DOT, "STYLE_DASH_DOT", "Dashes and Dots"); + + setDefault(RimPlotCurve::STYLE_SOLID); +} + + +template<> +void caf::AppEnum< RimPlotCurve::PointSymbolEnum >::setUp() +{ + addItem(RimPlotCurve::SYMBOL_NONE, "SYMBOL_NONE", "None"); + addItem(RimPlotCurve::SYMBOL_ELLIPSE, "SYMBOL_ELLIPSE", "Ellipse"); + addItem(RimPlotCurve::SYMBOL_RECT, "SYMBOL_RECT", "Rect"); + addItem(RimPlotCurve::SYMBOL_DIAMOND, "SYMBOL_DIAMOND", "Diamond"); + addItem(RimPlotCurve::SYMBOL_TRIANGLE, "SYMBOL_TRIANGLE", "Triangle"); + addItem(RimPlotCurve::SYMBOL_CROSS, "SYMBOL_CROSS", "Cross"); + addItem(RimPlotCurve::SYMBOL_XCROSS, "SYMBOL_XCROSS", "X Cross"); + + setDefault(RimPlotCurve::SYMBOL_NONE); +} +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimPlotCurve::RimPlotCurve() +{ + CAF_PDM_InitObject("Curve", ":/WellLogCurve16x16.png", "", ""); + + CAF_PDM_InitField(&m_showCurve, "Show", true, "Show curve", "", "", ""); + m_showCurve.uiCapability()->setUiHidden(true); + + CAF_PDM_InitFieldNoDefault(&m_curveName, "CurveName", "Curve Name", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_customCurveName, "CurveDescription", "Custom Name", "", "", ""); + m_customCurveName.uiCapability()->setUiHidden(true); + + CAF_PDM_InitField(&m_isUsingAutoName, "AutoName", true, "Auto Name", "", "", ""); + + CAF_PDM_InitField(&m_curveColor, "Color", cvf::Color3f(cvf::Color3::BLACK), "Color", "", "", ""); + + CAF_PDM_InitField(&m_curveThickness, "Thickness", 1, "Thickness", "", "", ""); + m_curveThickness.uiCapability()->setUiEditorTypeName(caf::PdmUiComboBoxEditor::uiEditorTypeName()); + + caf::AppEnum< RimPlotCurve::LineStyleEnum > lineStyle = STYLE_SOLID; + CAF_PDM_InitField(&m_lineStyle, "LineStyle", lineStyle, "Line style", "", "", ""); + + caf::AppEnum< RimPlotCurve::PointSymbolEnum > pointSymbol = SYMBOL_NONE; + CAF_PDM_InitField(&m_pointSymbol, "PointSymbol", pointSymbol, "Point style", "", "", ""); + + CAF_PDM_InitField(&m_symbolSkipPixelDistance, "SymbolSkipPxDist", 0.0f, "Symbol Skip Distance", "", "Minimum pixel distance between symbols", ""); + + m_qwtPlotCurve = new RiuLineSegmentQwtPlotCurve; + + m_parentQwtPlot = NULL; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimPlotCurve::~RimPlotCurve() +{ + if (m_qwtPlotCurve) + { + m_qwtPlotCurve->detach(); + delete m_qwtPlotCurve; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + if (changedField == &m_showCurve) + { + this->updateCurveVisibility(); + if (m_showCurve()) loadDataAndUpdate(); + } + else if (changedField == &m_curveName) + { + m_customCurveName = m_curveName; + updateCurveName(); + } + else if (&m_curveColor == changedField + || &m_curveThickness == changedField + || &m_pointSymbol == changedField + || &m_lineStyle == changedField + || &m_symbolSkipPixelDistance == changedField) + { + updateCurveAppearance(); + } + else if (changedField == &m_isUsingAutoName) + { + if (!m_isUsingAutoName) + { + m_customCurveName = createCurveAutoName(); + } + + updateOptionSensitivity(); + updateCurveName(); + } + + if (m_parentQwtPlot) m_parentQwtPlot->replot(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmFieldHandle* RimPlotCurve::objectToggleField() +{ + return &m_showCurve; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::updateCurveVisibility() +{ + bool isVisibleInPossibleParent = true; + { + RimSummaryCurveFilter* cFilter = nullptr; + this->firstAncestorOrThisOfType(cFilter); + if(cFilter) isVisibleInPossibleParent = cFilter->isCurvesVisible(); + } + + if (m_showCurve() && m_parentQwtPlot && isVisibleInPossibleParent) + { + m_qwtPlotCurve->attach(m_parentQwtPlot); + } + else + { + m_qwtPlotCurve->detach(); + } + + updateZoomInParentPlot(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::updateCurvePresentation() +{ + this->updateCurveVisibility(); + this->updateCurveName(); + + updateCurveAppearance(); + // Todo: Rest of the curve setup controlled from this class +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::setParentQwtPlot(QwtPlot* plot) +{ + m_parentQwtPlot = plot; + if (m_showCurve && m_parentQwtPlot) + { + m_qwtPlotCurve->attach(m_parentQwtPlot); + m_parentQwtPlot->replot(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmFieldHandle* RimPlotCurve::userDescriptionField() +{ + return &m_curveName; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::setColor(const cvf::Color3f& color) +{ + m_curveColor = color; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::detachQwtCurve() +{ + m_qwtPlotCurve->detach(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QwtPlotCurve* RimPlotCurve::qwtPlotCurve() const +{ + return m_qwtPlotCurve; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimPlotCurve::isCurveVisible() const +{ + return m_showCurve; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::initAfterRead() +{ + updateOptionSensitivity(); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::updateCurveName() +{ + if (m_isUsingAutoName) + { + m_curveName = this->createCurveAutoName(); + } + else + { + m_curveName = m_customCurveName; + } + + m_qwtPlotCurve->setTitle(m_curveName); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::updateOptionSensitivity() +{ + m_curveName.uiCapability()->setUiReadOnly(m_isUsingAutoName); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::updateCurveAppearance() +{ + CVF_ASSERT(m_qwtPlotCurve); + + QColor curveColor(m_curveColor.value().rByte(), m_curveColor.value().gByte(), m_curveColor.value().bByte()); + + QwtSymbol* symbol = NULL; + + if (m_pointSymbol() != SYMBOL_NONE) + { + QwtSymbol::Style style = QwtSymbol::NoSymbol; + + switch (m_pointSymbol()) + { + case SYMBOL_ELLIPSE: + style = QwtSymbol::Ellipse; + break; + case SYMBOL_RECT: + style = QwtSymbol::Rect; + break; + case SYMBOL_DIAMOND: + style = QwtSymbol::Diamond; + break; + case SYMBOL_TRIANGLE: + style = QwtSymbol::Triangle; + break; + case SYMBOL_CROSS: + style = QwtSymbol::Cross; + break; + case SYMBOL_XCROSS: + style = QwtSymbol::XCross; + break; + + default: + break; + } + + // QwtPlotCurve will take ownership of the symbol + symbol = new QwtSymbol(style); + + symbol->setSize(6, 6); + symbol->setColor(curveColor); + } + + QwtPlotCurve::CurveStyle curveStyle = QwtPlotCurve::NoCurve; + Qt::PenStyle penStyle = Qt::SolidLine; + + if (m_lineStyle() != STYLE_NONE) + { + curveStyle = QwtPlotCurve::Lines; + + switch (m_lineStyle()) + { + case STYLE_SOLID: + penStyle = Qt::SolidLine; + break; + case STYLE_DASH: + penStyle = Qt::DashLine; + break; + case STYLE_DOT: + penStyle = Qt::DotLine; + break; + case STYLE_DASH_DOT: + penStyle = Qt::DashDotLine; + break; + + default: + break; + } + } + QPen curvePen(curveColor); + curvePen.setWidth(m_curveThickness); + curvePen.setStyle(penStyle); + + m_qwtPlotCurve->setPen(curvePen); + m_qwtPlotCurve->setStyle(curveStyle); + m_qwtPlotCurve->setSymbol(symbol); + m_qwtPlotCurve->setSymbolSkipPixelDistance(m_symbolSkipPixelDistance()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QList RimPlotCurve::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) +{ + QList options; + + if (fieldNeedingOptions == &m_curveThickness) + { + for (size_t i = 0; i < 10; i++) + { + options.push_back(caf::PdmOptionItemInfo(QString::number(i + 1), QVariant::fromValue(i + 1))); + } + } + + return options; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::loadDataAndUpdate() +{ + this->onLoadDataAndUpdate(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::setLineStyle(LineStyleEnum lineStyle) +{ + m_lineStyle = lineStyle; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::setSymbol(PointSymbolEnum symbolStyle) +{ + m_pointSymbol = symbolStyle; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimPlotCurve::setLineThickness(int thickness) +{ + m_curveThickness = thickness; +} + diff --git a/ApplicationCode/ProjectDataModel/RimPlotCurve.h b/ApplicationCode/ProjectDataModel/RimPlotCurve.h new file mode 100644 index 0000000000..599431c181 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimPlotCurve.h @@ -0,0 +1,120 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#pragma once + +#include "cafPdmField.h" +#include "cafPdmFieldCvfColor.h" +#include "cafPdmObject.h" + +#include + +class RiuLineSegmentQwtPlotCurve; + +class QwtPlot; +class QwtPlotCurve; + +//================================================================================================== +/// +/// +//================================================================================================== +class RimPlotCurve : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; +public: + enum LineStyleEnum + { + STYLE_NONE, + STYLE_SOLID, + STYLE_DASH, + STYLE_DOT, + STYLE_DASH_DOT + }; + + enum PointSymbolEnum + { + SYMBOL_NONE, + SYMBOL_ELLIPSE, + SYMBOL_RECT, + SYMBOL_DIAMOND, + SYMBOL_TRIANGLE, + SYMBOL_CROSS, + SYMBOL_XCROSS + }; + +public: + RimPlotCurve(); + virtual ~RimPlotCurve(); + + void loadDataAndUpdate(); + + void setParentQwtPlot(QwtPlot* plot); + void detachQwtCurve(); + QwtPlotCurve* qwtPlotCurve() const; + + void setColor(const cvf::Color3f& color); + cvf::Color3f color() const { return m_curveColor; } + void setLineStyle(LineStyleEnum lineStyle); + void setSymbol(PointSymbolEnum symbolStyle); + void setLineThickness(int thickness); + + bool isCurveVisible() const; + + void updateCurveName(); + QString curveName() const { return m_curveName; } + + void updateCurveVisibility(); + +protected: + + virtual QString createCurveAutoName() = 0; + virtual void updateZoomInParentPlot() = 0; + virtual void onLoadDataAndUpdate() = 0; + + void updateCurvePresentation(); + void updateCurveAppearance(); + + void updateOptionSensitivity(); + +protected: + + // Overridden PDM methods + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); + virtual caf::PdmFieldHandle* objectToggleField(); + virtual caf::PdmFieldHandle* userDescriptionField(); + virtual void initAfterRead(); + virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly); + +protected: + QPointer m_parentQwtPlot; + RiuLineSegmentQwtPlotCurve* m_qwtPlotCurve; + + caf::PdmField m_showCurve; + caf::PdmField m_curveName; + caf::PdmField m_customCurveName; + + caf::PdmField m_isUsingAutoName; + caf::PdmField m_curveColor; + caf::PdmField m_curveThickness; + caf::PdmField m_symbolSkipPixelDistance; + + + caf::PdmField< caf::AppEnum< PointSymbolEnum > > m_pointSymbol; + caf::PdmField< caf::AppEnum< LineStyleEnum > > m_lineStyle; +}; + + diff --git a/ApplicationCode/ProjectDataModel/RimProject.cpp b/ApplicationCode/ProjectDataModel/RimProject.cpp index f93e1e77cd..46dd4fc816 100644 --- a/ApplicationCode/ProjectDataModel/RimProject.cpp +++ b/ApplicationCode/ProjectDataModel/RimProject.cpp @@ -32,12 +32,16 @@ #include "RimContextCommandBuilder.h" #include "RimEclipseCase.h" #include "RimEclipseCaseCollection.h" +#include "RimFormationNamesCollection.h" #include "RimGeoMechCase.h" #include "RimGeoMechModels.h" +#include "RimGridSummaryCase.h" #include "RimIdenticalGridCaseGroup.h" #include "RimMainPlotCollection.h" #include "RimOilField.h" #include "RimScriptCollection.h" +#include "RimSummaryCaseCollection.h" +#include "RimSummaryPlotCollection.h" #include "RimView.h" #include "RimViewLinker.h" #include "RimViewLinkerCollection.h" @@ -46,6 +50,7 @@ #include "RimWellPathImport.h" #include "RiuMainWindow.h" +#include "RiuMainPlotWindow.h" #include "OctaveScriptCommands/RicExecuteScriptForCasesFeature.h" @@ -77,13 +82,11 @@ RimProject::RimProject(void) CAF_PDM_InitFieldNoDefault(&scriptCollection, "ScriptCollection", "Scripts", ":/Default.png", "", ""); scriptCollection.uiCapability()->setUiHidden(true); - CAF_PDM_InitFieldNoDefault(&treeViewState, "TreeViewState", "", "", "", ""); - treeViewState.uiCapability()->setUiHidden(true); CAF_PDM_InitFieldNoDefault(&wellPathImport, "WellPathImport", "WellPathImport", "", "", ""); wellPathImport = new RimWellPathImport(); wellPathImport.uiCapability()->setUiHidden(true); - wellPathImport.uiCapability()->setUiChildrenHidden(true); + wellPathImport.uiCapability()->setUiTreeChildrenHidden(true); CAF_PDM_InitFieldNoDefault(&mainPlotCollection, "MainPlotCollection", "Plots", "", "", ""); mainPlotCollection.uiCapability()->setUiHidden(true); @@ -95,8 +98,21 @@ RimProject::RimProject(void) CAF_PDM_InitFieldNoDefault(&commandObjects, "CommandObjects", "CommandObjects", "", "", ""); //wellPathImport.uiCapability()->setUiHidden(true); - CAF_PDM_InitFieldNoDefault(¤tModelIndexPath, "TreeViewCurrentModelIndexPath", "", "", "", ""); - currentModelIndexPath.uiCapability()->setUiHidden(true); + CAF_PDM_InitFieldNoDefault(&mainWindowTreeViewState, "TreeViewState", "", "", "", ""); + mainWindowTreeViewState.uiCapability()->setUiHidden(true); + CAF_PDM_InitFieldNoDefault(&mainWindowCurrentModelIndexPath, "TreeViewCurrentModelIndexPath", "", "", "", ""); + mainWindowCurrentModelIndexPath.uiCapability()->setUiHidden(true); + + CAF_PDM_InitFieldNoDefault(&plotWindowTreeViewState, "PlotWindowTreeViewState", "", "", "", ""); + plotWindowTreeViewState.uiCapability()->setUiHidden(true); + CAF_PDM_InitFieldNoDefault(&plotWindowCurrentModelIndexPath, "PlotWindowTreeViewCurrentModelIndexPath", "", "", "", ""); + plotWindowCurrentModelIndexPath.uiCapability()->setUiHidden(true); + + CAF_PDM_InitField(&m_show3DWindow, "show3DWindow", true, "Show 3D Window", "", "", ""); + m_show3DWindow.uiCapability()->setUiHidden(true); + + CAF_PDM_InitField(&m_showPlotWindow, "showPlotWindow", false, "Show Plot Window", "", "", ""); + m_showPlotWindow.uiCapability()->setUiHidden(true); // Obsolete fields. The content is moved to OilFields and friends CAF_PDM_InitFieldNoDefault(&casesObsolete, "Reservoirs", "", "", "", ""); @@ -144,6 +160,11 @@ void RimProject::close() mainPlotCollection()->wellLogPlotCollection()->wellLogPlots.deleteAllChildObjects(); } + if (mainPlotCollection() && mainPlotCollection()->summaryPlotCollection()) + { + mainPlotCollection()->summaryPlotCollection()->m_summaryPlots.deleteAllChildObjects(); + } + oilFields.deleteAllChildObjects(); oilFields.push_back(new RimOilField); @@ -161,8 +182,10 @@ void RimProject::close() nextValidCaseId = 0; nextValidCaseGroupId = 0; - currentModelIndexPath = ""; - treeViewState = ""; + mainWindowCurrentModelIndexPath = ""; + mainWindowTreeViewState = ""; + plotWindowCurrentModelIndexPath = ""; + plotWindowTreeViewState = ""; } @@ -315,6 +338,18 @@ void RimProject::initAfterRead() //-------------------------------------------------------------------------------------------------- void RimProject::setupBeforeSave() { + m_show3DWindow = RiuMainWindow::instance()->isVisible(); + + if (RiaApplication::instance()->mainPlotWindow() && + RiaApplication::instance()->mainPlotWindow()->isVisible()) + { + m_showPlotWindow = true; + } + else + { + m_showPlotWindow = false; + } + m_projectFileVersionString = STRPRODUCTVER; } @@ -382,9 +417,19 @@ void RimProject::setProjectFileNameAndUpdateDependencies(const QString& fileName { RimOilField* oilField = oilFields[oilFieldIdx]; if (oilField == NULL || oilField->wellPathCollection == NULL) continue; - oilField->wellPathCollection->updateFilePathsFromProjectPath(); + oilField->wellPathCollection->updateFilePathsFromProjectPath(newProjectPath, oldProjectPath); } + for(RimOilField* oilField: oilFields) + { + if(oilField == NULL) continue; + if(oilField->formationNamesCollection() != NULL) + { + oilField->formationNamesCollection()->updateFilePathsFromProjectPath(newProjectPath, oldProjectPath); + } + } + + wellPathImport->updateFilePaths(); } @@ -465,6 +510,25 @@ void RimProject::allCases(std::vector& cases) } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimProject::allSummaryCases(std::vector& sumCases) +{ + for (RimOilField* oilField: oilFields) + { + if(!oilField) continue; + RimSummaryCaseCollection* sumCaseColl = oilField->summaryCaseCollection(); + if(sumCaseColl) + { + for (size_t scIdx = 0; scIdx < sumCaseColl->summaryCaseCount(); ++scIdx) + { + sumCases.push_back(sumCaseColl->summaryCase(scIdx)); + } + } + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -668,6 +732,22 @@ void RimProject::actionsBasedOnSelection(QMenu& contextMenu) } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimProject::show3DWindow() const +{ + return m_show3DWindow; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimProject::showPlotWindow() const +{ + return m_showPlotWindow; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -708,30 +788,50 @@ void RimProject::appendScriptItems(QMenu* menu, RimScriptCollection* scriptColle //-------------------------------------------------------------------------------------------------- void RimProject::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName /*= ""*/) { - if (viewLinkerCollection()->viewLinker()) + if (uiConfigName == "PlotWindow") { - // Use object instead of field to avoid duplicate entries in the tree view - uiTreeOrdering.add(viewLinkerCollection()); - } + RimOilField* oilField = activeOilField(); + if (oilField) + { + if (oilField->summaryCaseCollection()) uiTreeOrdering.add(oilField->summaryCaseCollection()); + } - RimOilField* oilField = activeOilField(); - if (oilField) - { - if (oilField->analysisModels()) uiTreeOrdering.add(oilField->analysisModels()); - if (oilField->geoMechModels()) uiTreeOrdering.add(oilField->geoMechModels()); - if (oilField->wellPathCollection()) uiTreeOrdering.add(oilField->wellPathCollection()); - } + if (mainPlotCollection) + { + if (mainPlotCollection->wellLogPlotCollection()) + { + uiTreeOrdering.add(mainPlotCollection->wellLogPlotCollection()); + } + if (mainPlotCollection->summaryPlotCollection()) + { + uiTreeOrdering.add(mainPlotCollection->summaryPlotCollection()); + } + } - if (mainPlotCollection) + uiTreeOrdering.setForgetRemainingFields(true); + + return; + } + else { - if (mainPlotCollection->wellLogPlotCollection()) + if (viewLinkerCollection()->viewLinker()) { - uiTreeOrdering.add(mainPlotCollection->wellLogPlotCollection()); + // Use object instead of field to avoid duplicate entries in the tree view + uiTreeOrdering.add(viewLinkerCollection()); } - } - uiTreeOrdering.add(scriptCollection()); - - uiTreeOrdering.setForgetRemainingFields(true); + RimOilField* oilField = activeOilField(); + if (oilField) + { + if (oilField->analysisModels()) uiTreeOrdering.add(oilField->analysisModels()); + if (oilField->geoMechModels()) uiTreeOrdering.add(oilField->geoMechModels()); + if (oilField->wellPathCollection()) uiTreeOrdering.add(oilField->wellPathCollection()); + if (oilField->formationNamesCollection()) uiTreeOrdering.add(oilField->formationNamesCollection()); + } + + uiTreeOrdering.add(scriptCollection()); + + uiTreeOrdering.setForgetRemainingFields(true); + } } diff --git a/ApplicationCode/ProjectDataModel/RimProject.h b/ApplicationCode/ProjectDataModel/RimProject.h index 4554ddfa15..d9fdc0860b 100644 --- a/ApplicationCode/ProjectDataModel/RimProject.h +++ b/ApplicationCode/ProjectDataModel/RimProject.h @@ -38,6 +38,7 @@ class RimViewLinkerCollection; class RimMainPlotCollection; class RimOilField; class RimScriptCollection; +class RimSummaryCase; class RimView; class RimWellPathImport; @@ -68,9 +69,12 @@ class RimProject : public caf::PdmDocument caf::PdmChildField mainPlotCollection; caf::PdmChildField viewLinkerCollection; caf::PdmChildArrayField commandObjects; - caf::PdmField treeViewState; - caf::PdmField currentModelIndexPath; + + caf::PdmField mainWindowTreeViewState; + caf::PdmField mainWindowCurrentModelIndexPath; + caf::PdmField plotWindowTreeViewState; + caf::PdmField plotWindowCurrentModelIndexPath; void setScriptDirectories(const QString& scriptDirectories); QString projectFileVersionString() const; @@ -82,6 +86,7 @@ class RimProject : public caf::PdmDocument void assignIdToCaseGroup(RimIdenticalGridCaseGroup* caseGroup); void allCases(std::vector& cases); + void allSummaryCases(std::vector& sumCases); void allNotLinkedViews(std::vector& views); void allVisibleViews(std::vector& views); @@ -93,6 +98,9 @@ class RimProject : public caf::PdmDocument void actionsBasedOnSelection(QMenu& contextMenu); + bool show3DWindow() const; + bool showPlotWindow() const; + protected: // Overridden methods void initScriptDirectories(); @@ -105,11 +113,14 @@ class RimProject : public caf::PdmDocument void appendScriptItems(QMenu* menu, RimScriptCollection* scriptCollection); private: - caf::PdmField m_projectFileVersionString; + caf::PdmField m_projectFileVersionString; + + caf::PdmField m_show3DWindow; + caf::PdmField m_showPlotWindow; caf::PdmField nextValidCaseId; // Unique case ID within a project, used to identify a case from Octave scripts caf::PdmField nextValidCaseGroupId; // Unique case group ID within a project, used to identify a case group from Octave scripts - caf::PdmChildArrayField casesObsolete; // obsolete - caf::PdmChildArrayField caseGroupsObsolete; // obsolete + caf::PdmChildArrayField casesObsolete; // obsolete + caf::PdmChildArrayField caseGroupsObsolete; // obsolete }; diff --git a/ApplicationCode/ProjectDataModel/RimPropertyFilterCollection.cpp b/ApplicationCode/ProjectDataModel/RimPropertyFilterCollection.cpp index 609ca992c5..185c9df9a4 100644 --- a/ApplicationCode/ProjectDataModel/RimPropertyFilterCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimPropertyFilterCollection.cpp @@ -47,7 +47,7 @@ RimPropertyFilterCollection::~RimPropertyFilterCollection() void RimPropertyFilterCollection::updateDisplayModelNotifyManagedViews() const { RimView* view = NULL; - this->firstAnchestorOrThisOfType(view); + this->firstAncestorOrThisOfType(view); CVF_ASSERT(view); view->scheduleGeometryRegen(PROPERTY_FILTERED); @@ -83,7 +83,7 @@ void RimPropertyFilterCollection::defineUiTreeOrdering(caf::PdmUiTreeOrdering& u PdmObject::defineUiTreeOrdering(uiTreeOrdering, uiConfigName); RimView* rimView = NULL; - this->firstAnchestorOrThisOfType(rimView); + this->firstAncestorOrThisOfType(rimView); RimViewController* viewController = rimView->viewController(); if (viewController && (viewController->isPropertyFilterOveridden() || viewController->isVisibleCellsOveridden())) diff --git a/ApplicationCode/ProjectDataModel/RimReservoirCellResultsStorage.cpp b/ApplicationCode/ProjectDataModel/RimReservoirCellResultsStorage.cpp index ea1b71d9b5..fc8db4dc07 100644 --- a/ApplicationCode/ProjectDataModel/RimReservoirCellResultsStorage.cpp +++ b/ApplicationCode/ProjectDataModel/RimReservoirCellResultsStorage.cpp @@ -413,6 +413,8 @@ size_t RimReservoirCellResultsStorage::findOrLoadScalarResultForTimeStep(RimDefi if (m_cellResults->mustBeCalculated(soilScalarResultIndex)) { + m_cellResults->cellScalarResults(soilScalarResultIndex).resize(m_cellResults->maxTimeStepCount()); + std::vector& values = m_cellResults->cellScalarResults(soilScalarResultIndex)[timeStepIndex]; if (values.size() == 0) { @@ -1512,7 +1514,7 @@ double RimReservoirCellResultsStorage::darchysValue() double darchy = 0.008527; // (ECLIPSE 100) (METRIC) RimEclipseCase* rimCase = NULL; - this->firstAnchestorOrThisOfType(rimCase); + this->firstAncestorOrThisOfType(rimCase); if (rimCase && rimCase->reservoirData()) { diff --git a/ApplicationCode/ProjectDataModel/RimTools.cpp b/ApplicationCode/ProjectDataModel/RimTools.cpp index f1fadca848..7c982956ab 100644 --- a/ApplicationCode/ProjectDataModel/RimTools.cpp +++ b/ApplicationCode/ProjectDataModel/RimTools.cpp @@ -24,6 +24,7 @@ #include "RimProject.h" #include +#include //-------------------------------------------------------------------------------------------------- /// @@ -44,3 +45,158 @@ QString RimTools::getCacheRootDirectoryPathFromProject() return cacheRootFolderPath; } + +//-------------------------------------------------------------------------------------------------- +/// Relocate the supplied file name, based on the search path as follows: +/// fileName, newProjectPath/fileNameWoPath, relocatedPath/fileNameWoPath +/// If the file is not found in any of the positions, the fileName is returned but converted to Qt Style path separators: "/" +/// +/// The relocatedPath is found in this way: +/// use the start of newProjectPath +/// plus the end of the path to m_gridFileName +/// such that the common start of oldProjectPath and m_gridFileName is removed from m_gridFileName +/// and replaced with the start of newProjectPath up to where newProjectPath starts to be equal to oldProjectPath +//-------------------------------------------------------------------------------------------------- +QString RimTools::relocateFile(const QString& orgFileName, const QString& orgNewProjectPath, const QString& orgOldProjectPath, + bool* foundFile, std::vector* searchedPaths) +{ + if (foundFile) *foundFile = true; + + // Make sure we have a Qt formatted path ( using "/" not "\") + QString fileName = QDir::fromNativeSeparators(orgFileName); + QString newProjectPath = QDir::fromNativeSeparators(orgNewProjectPath); + QString oldProjectPath = QDir::fromNativeSeparators(orgOldProjectPath); + + // If we from a file or whatever gets a real windows path on linux, we need to manually convert it + // because Qt will not. QDir::fromNativeSeparators does nothing on linux. + + bool isWindowsPath = false; + if (orgFileName.count("/")) isWindowsPath = false; // "/" are not allowed in a windows path + else if (orgFileName.count("\\") + && !QFile::exists(orgFileName)) // To make sure we do not convert single linux files containing "\" + { + isWindowsPath = true; + } + + if (isWindowsPath) + { + // Windows absolute path detected. transform. + fileName.replace(QString("\\"), QString("/")); + } + + if (searchedPaths) searchedPaths->push_back(fileName); + if (QFile::exists(fileName)) + { + return fileName; + } + + // First check in the new project file directory + { + QString fileNameWithoutPath = QFileInfo(fileName).fileName(); + QString candidate = QDir::fromNativeSeparators(newProjectPath + QDir::separator() + fileNameWithoutPath); + if (searchedPaths) searchedPaths->push_back(candidate); + + if (QFile::exists(candidate)) + { + return candidate; + } + } + + // Then find the possible move of a directory structure where projects and files referenced are moved in "paralell" + + QFileInfo gridFileInfo(QDir::fromNativeSeparators(fileName)); + QString gridFilePath = gridFileInfo.path(); + QString gridFileNameWoPath = gridFileInfo.fileName(); + QStringList gridPathElements = gridFilePath.split("/", QString::KeepEmptyParts); + + QString oldProjPath = QDir::fromNativeSeparators(oldProjectPath); + QStringList oldProjPathElements = oldProjPath.split("/", QString::KeepEmptyParts); + + QString newProjPath = QDir::fromNativeSeparators(newProjectPath); + QStringList newProjPathElements = newProjPath.split("/", QString::KeepEmptyParts); + + // Find the possible equal start of the old project path, and the referenced file + + bool pathStartsAreEqual = false; + bool pathEndsDiffer = false; + int firstDiffIdx = 0; + for (firstDiffIdx = 0; firstDiffIdx < gridPathElements.size() && firstDiffIdx < oldProjPathElements.size(); ++firstDiffIdx) + { + if (gridPathElements[firstDiffIdx] == oldProjPathElements[firstDiffIdx]) + { + pathStartsAreEqual = pathStartsAreEqual || !gridPathElements[firstDiffIdx].isEmpty(); + } + else + { + pathEndsDiffer = true; + break; + } + } + + if (!pathEndsDiffer && firstDiffIdx < gridPathElements.size() || firstDiffIdx < oldProjPathElements.size()) + { + pathEndsDiffer = true; + } + + // If the path starts are equal, try to substitute it in the referenced file, with the corresponding new project path start + + if (pathStartsAreEqual) + { + if (pathEndsDiffer) + { + QString oldGridFilePathEnd; + for (int i = firstDiffIdx; i < gridPathElements.size(); ++i) + { + oldGridFilePathEnd += gridPathElements[i]; + oldGridFilePathEnd += "/"; + } + + // Find the new Project File Start Path + + QStringList oldProjectFilePathEndElements; + for (int i = firstDiffIdx; i < oldProjPathElements.size(); ++i) + { + oldProjectFilePathEndElements.push_back(oldProjPathElements[i]); + } + + int ppIdx = oldProjectFilePathEndElements.size() - 1; + int lastDiffIdx = newProjPathElements.size() - 1; + + for (; lastDiffIdx >= 0 && ppIdx >= 0; --lastDiffIdx, --ppIdx) + { + if (oldProjectFilePathEndElements[ppIdx] != newProjPathElements[lastDiffIdx]) + { + break; + } + } + + QString newProjecetFileStartPath; + for (int i = 0; i <= lastDiffIdx; ++i) + { + newProjecetFileStartPath += newProjPathElements[i]; + newProjecetFileStartPath += "/"; + } + + QString relocationPath = newProjecetFileStartPath + oldGridFilePathEnd; + + QString relocatedFileName = relocationPath + gridFileNameWoPath; + + if (searchedPaths) searchedPaths->push_back(relocatedFileName); + + if (QFile::exists(relocatedFileName)) + { + return relocatedFileName; + } + } + else + { + // The Grid file was located in the same dir as the Project file. This is supposed to be handled above. + // So we did not find it + } + } + + // return the unchanged filename, if we could not find a valid relocation file + if (foundFile) *foundFile = false; + + return fileName; +} diff --git a/ApplicationCode/ProjectDataModel/RimTools.h b/ApplicationCode/ProjectDataModel/RimTools.h index 8dbcb7e535..e2f39a0eb3 100644 --- a/ApplicationCode/ProjectDataModel/RimTools.h +++ b/ApplicationCode/ProjectDataModel/RimTools.h @@ -22,8 +22,12 @@ #include +#include + class RimTools { public: static QString getCacheRootDirectoryPathFromProject(); + + static QString relocateFile(const QString& fileName, const QString& newProjectPath, const QString& oldProjectPath, bool* foundFile, std::vector* searchedPaths); }; diff --git a/ApplicationCode/ProjectDataModel/RimView.cpp b/ApplicationCode/ProjectDataModel/RimView.cpp index 4249bf4b1f..aff25c9b4b 100644 --- a/ApplicationCode/ProjectDataModel/RimView.cpp +++ b/ApplicationCode/ProjectDataModel/RimView.cpp @@ -7,10 +7,10 @@ #include "Rim3dOverlayInfoConfig.h" #include "RimCellRangeFilterCollection.h" -#include "RimCrossSectionCollection.h" #include "RimEclipseCase.h" #include "RimEclipseView.h" #include "RimGridCollection.h" +#include "RimIntersectionCollection.h" #include "RimOilField.h" #include "RimProject.h" #include "RimPropertyFilterCollection.h" @@ -24,8 +24,10 @@ #include "RivWellPathCollectionPartMgr.h" +#include "cafDisplayCoordTransform.h" #include "cafFrameAnimationControl.h" #include "cafPdmObjectFactory.h" + #include "cvfCamera.h" #include "cvfModel.h" #include "cvfModelBasicList.h" @@ -75,11 +77,14 @@ RimView::RimView(void) CAF_PDM_InitField(&showWindow, "ShowWindow", true, "Show 3D viewer", "", "", ""); showWindow.uiCapability()->setUiHidden(true); + CAF_PDM_InitField(&cameraPosition, "CameraPosition", cvf::Mat4d::IDENTITY, "", "", "", ""); cameraPosition.uiCapability()->setUiHidden(true); + CAF_PDM_InitField(&cameraPointOfInterest, "CameraPointOfInterest", cvf::Vec3d::ZERO, "", "", "", ""); + cameraPointOfInterest.uiCapability()->setUiHidden(true); + CAF_PDM_InitField(&isPerspectiveView, "PerspectiveProjection", true, "Perspective Projection", "", "", ""); - isPerspectiveView.uiCapability()->setUiHidden(true); // For now as this is experimental double defaultScaleFactor = preferences->defaultScaleFactorZ; CAF_PDM_InitField(&scaleZ, "GridZScale", defaultScaleFactor, "Z Scale", "", "Scales the scene in the Z direction", ""); @@ -109,8 +114,6 @@ RimView::RimView(void) CAF_PDM_InitField(&m_disableLighting, "DisableLighting", false, "Disable Results Lighting", "", "Disable light model for scalar result colors", ""); - CAF_PDM_InitFieldNoDefault(&windowGeometry, "WindowGeometry", "", "", "", ""); - windowGeometry.uiCapability()->setUiHidden(true); CAF_PDM_InitFieldNoDefault(&m_rangeFilterCollection, "RangeFilters", "Range Filters", "", "", ""); m_rangeFilterCollection.uiCapability()->setUiHidden(true); @@ -123,7 +126,7 @@ RimView::RimView(void) CAF_PDM_InitFieldNoDefault(&crossSectionCollection, "CrossSections", "Intersections", "", "", ""); crossSectionCollection.uiCapability()->setUiHidden(true); - crossSectionCollection = new RimCrossSectionCollection(); + crossSectionCollection = new RimIntersectionCollection(); CAF_PDM_InitFieldNoDefault(&m_gridCollection, "GridCollection", "GridCollection", "", "", ""); m_gridCollection.uiCapability()->setUiHidden(true); @@ -205,8 +208,8 @@ void RimView::updateViewerWidget() m_viewer = new RiuViewer(glFormat, NULL); m_viewer->setOwnerReservoirView(this); - RiuMainWindow::instance()->addViewer(m_viewer->layoutWidget(), windowGeometry()); - m_viewer->setMinNearPlaneDistance(10); + RiuMainWindow::instance()->addViewer(m_viewer->layoutWidget(), mdiWindowGeometry()); + m_viewer->setDefaultPerspectiveNearPlaneDistance(10); this->resetLegendsInViewer(); @@ -218,10 +221,16 @@ void RimView::updateViewerWidget() RiuMainWindow::instance()->setActiveViewer(m_viewer->layoutWidget()); - if (isViewerCreated) m_viewer->mainCamera()->setViewMatrix(cameraPosition); + if(isViewerCreated) + { + m_viewer->mainCamera()->setViewMatrix(cameraPosition); + m_viewer->setPointOfInterest(cameraPointOfInterest()); + m_viewer->enableParallelProjection(!isPerspectiveView()); + } m_viewer->mainCamera()->viewport()->setClearColor(cvf::Color4f(backgroundColor())); this->updateGridBoxData(); + this->createHighlightAndGridBoxDisplayModel(); m_viewer->update(); } @@ -244,6 +253,21 @@ void RimView::updateViewerWidget() } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QImage RimView::snapshotWindowContent() +{ + if (m_viewer) + { + m_viewer->repaint(); + + return m_viewer->snapshotImage(); + } + + return QImage(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -302,6 +326,7 @@ void RimView::createDisplayModelAndRedraw() { setDefaultView(); cameraPosition = m_viewer->mainCamera()->viewMatrix(); + cameraPointOfInterest = m_viewer->pointOfInterest(); } } @@ -340,9 +365,10 @@ void RimView::setupBeforeSave() { hasUserRequestedAnimation = m_viewer->isAnimationActive(); // JJS: This is not conceptually correct. The variable is updated as we go, and store the user intentions. But I guess that in practice... cameraPosition = m_viewer->mainCamera()->viewMatrix(); + cameraPointOfInterest = m_viewer->pointOfInterest(); - windowGeometry = RiuMainWindow::instance()->windowGeometryForViewer(m_viewer->layoutWidget()); - } + setMdiWindowGeometry(RiuMainWindow::instance()->windowGeometryForViewer(m_viewer->layoutWidget())); + } } //-------------------------------------------------------------------------------------------------- @@ -368,14 +394,14 @@ void RimView::setMeshOnlyDrawstyle() { if (isGridVisualizationMode()) { - meshMode.uiCapability()->setValueFromUi(FULL_MESH); + meshMode.setValueWithFieldChanged(FULL_MESH); } else { - meshMode.uiCapability()->setValueFromUi(FAULTS_MESH); + meshMode.setValueWithFieldChanged(FAULTS_MESH); } - surfaceMode.uiCapability()->setValueFromUi(NO_SURFACE); + surfaceMode.setValueWithFieldChanged(NO_SURFACE); } //-------------------------------------------------------------------------------------------------- @@ -385,13 +411,13 @@ void RimView::setMeshSurfDrawstyle() { if (isGridVisualizationMode()) { - surfaceMode.uiCapability()->setValueFromUi(SURFACE); - meshMode.uiCapability()->setValueFromUi(FULL_MESH); + surfaceMode.setValueWithFieldChanged(SURFACE); + meshMode.setValueWithFieldChanged(FULL_MESH); } else { - surfaceMode.uiCapability()->setValueFromUi(FAULTS); - meshMode.uiCapability()->setValueFromUi(FAULTS_MESH); + surfaceMode.setValueWithFieldChanged(FAULTS); + meshMode.setValueWithFieldChanged(FAULTS_MESH); } } @@ -407,14 +433,14 @@ void RimView::setFaultMeshSurfDrawstyle() // Mesh SF SF SF if (this->isGridVisualizationMode()) { - surfaceMode.uiCapability()->setValueFromUi(SURFACE); + surfaceMode.setValueWithFieldChanged(SURFACE); } else { - surfaceMode.uiCapability()->setValueFromUi(FAULTS); + surfaceMode.setValueWithFieldChanged(FAULTS); } - meshMode.uiCapability()->setValueFromUi(FAULTS_MESH); + meshMode.setValueWithFieldChanged(FAULTS_MESH); } //-------------------------------------------------------------------------------------------------- @@ -424,14 +450,14 @@ void RimView::setSurfOnlyDrawstyle() { if (isGridVisualizationMode()) { - surfaceMode.uiCapability()->setValueFromUi(SURFACE); + surfaceMode.setValueWithFieldChanged(SURFACE); } else { - surfaceMode.uiCapability()->setValueFromUi(FAULTS); + surfaceMode.setValueWithFieldChanged(FAULTS); } - meshMode.uiCapability()->setValueFromUi(NO_MESH); + meshMode.setValueWithFieldChanged(NO_MESH); } //-------------------------------------------------------------------------------------------------- @@ -442,13 +468,13 @@ void RimView::showGridCells(bool enableGridCells) if (!enableGridCells) { m_previousGridModeMeshLinesWasFaults = meshMode() == FAULTS_MESH; - if (surfaceMode() != NO_SURFACE) surfaceMode.uiCapability()->setValueFromUi(FAULTS); - if (meshMode() != NO_MESH) meshMode.uiCapability()->setValueFromUi(FAULTS_MESH); + if (surfaceMode() != NO_SURFACE) surfaceMode.setValueWithFieldChanged(FAULTS); + if (meshMode() != NO_MESH) meshMode.setValueWithFieldChanged(FAULTS_MESH); } else { - if (surfaceMode() != NO_SURFACE) surfaceMode.uiCapability()->setValueFromUi(SURFACE); - if (meshMode() != NO_MESH) meshMode.uiCapability()->setValueFromUi(m_previousGridModeMeshLinesWasFaults ? FAULTS_MESH : FULL_MESH); + if (surfaceMode() != NO_SURFACE) surfaceMode.setValueWithFieldChanged(SURFACE); + if (meshMode() != NO_MESH) meshMode.setValueWithFieldChanged(m_previousGridModeMeshLinesWasFaults ? FAULTS_MESH : FULL_MESH); } m_gridCollection->isActive = enableGridCells; @@ -461,7 +487,7 @@ void RimView::showGridCells(bool enableGridCells) //-------------------------------------------------------------------------------------------------- void RimView::setSurfaceDrawstyle() { - if (surfaceMode() != NO_SURFACE) surfaceMode.uiCapability()->setValueFromUi(SURFACE); + if (surfaceMode() != NO_SURFACE) surfaceMode.setValueWithFieldChanged(SURFACE); } //-------------------------------------------------------------------------------------------------- @@ -509,6 +535,8 @@ void RimView::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QV RimWellPathCollection* wellPathCollection = (oilFields) ? oilFields->wellPathCollection() : NULL; if (wellPathCollection) wellPathCollection->wellPathCollectionPartMgr()->scheduleGeometryRegen(); + crossSectionCollection->updateIntersectionBoxGeometry(); + if (m_viewer) { cvf::Vec3d poi = m_viewer->pointOfInterest(); @@ -680,6 +708,9 @@ void RimView::setScaleZAndUpdate(double scaleZ) { this->scaleZ = scaleZ; updateScaleTransform(); + + this->updateGridBoxData(); + this->scheduleCreateDisplayModelAndRedraw(); } @@ -886,3 +917,41 @@ void RimView::selectOverlayInfoConfig() RiuMainWindow::instance()->selectAsCurrentItem(m_overlayInfoConfig); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimView::zoomAll() +{ + if (m_viewer) + { + m_viewer->zoomAll(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref RimView::displayCoordTransform() +{ + cvf::ref coordTrans = new caf::DisplayCoordTransform; + + cvf::Vec3d scale(1.0, 1.0, scaleZ); + coordTrans->setScale(scale); + + RimCase* rimCase = ownerCase(); + if (rimCase) + { + coordTrans->setTranslation(rimCase->displayModelOffset()); + } + + return coordTrans; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QWidget* RimView::viewWidget() +{ + return m_viewer; +} + diff --git a/ApplicationCode/ProjectDataModel/RimView.h b/ApplicationCode/ProjectDataModel/RimView.h index 29e2ab952f..0ed45f58c8 100644 --- a/ApplicationCode/ProjectDataModel/RimView.h +++ b/ApplicationCode/ProjectDataModel/RimView.h @@ -25,10 +25,13 @@ #include "cafPdmField.h" #include "cafPdmFieldCvfColor.h" #include "cafPdmFieldCvfMat4d.h" +#include "cafPdmFieldCvfVec3d.h" #include "cafPdmObject.h" #include "RivCellSetEnum.h" +#include "RimViewWindow.h" + #include "cvfArray.h" #include "cvfBase.h" #include "cvfCollection.h" @@ -36,12 +39,13 @@ #include + class Rim3dOverlayInfoConfig; class RimCase; class RimCellRangeFilter; -class RimGridCollection; class RimCellRangeFilterCollection; -class RimCrossSectionCollection; +class RimIntersectionCollection; +class RimGridCollection; class RimPropertyFilterCollection; class RimViewController; class RimViewLinker; @@ -57,11 +61,15 @@ namespace cvf class Part; } +namespace caf +{ + class DisplayCoordTransform; +} //================================================================================================== /// /// //================================================================================================== -class RimView : public caf::PdmObject +class RimView : public RimViewWindow { CAF_PDM_HEADER_INIT; public: @@ -76,6 +84,7 @@ class RimView : public caf::PdmObject caf::PdmField showWindow; caf::PdmField cameraPosition; + caf::PdmField cameraPointOfInterest; caf::PdmField isPerspectiveView; caf::PdmField< cvf::Color3f > backgroundColor; @@ -90,9 +99,8 @@ class RimView : public caf::PdmObject void setOverrideRangeFilterCollection(RimCellRangeFilterCollection* rfc); void replaceRangeFilterCollectionWithOverride(); - caf::PdmField< std::vector > windowGeometry; - caf::PdmChildField crossSectionCollection; + caf::PdmChildField crossSectionCollection; // Draw style @@ -143,6 +151,7 @@ class RimView : public caf::PdmObject bool isMasterView() const; RimViewLinker* assosiatedViewLinker() const; + virtual bool isUsingFormationNames() const = 0; cvf::ref currentTotalCellVisibility(); virtual bool showActiveCellsOnly(); @@ -150,6 +159,14 @@ class RimView : public caf::PdmObject void selectOverlayInfoConfig(); + virtual QImage snapshotWindowContent() override; + + virtual void zoomAll() override; + + cvf::ref displayCoordTransform(); + + virtual QWidget* viewWidget() override; + public: virtual void loadDataAndUpdate() = 0; virtual RimCase* ownerCase() = 0; diff --git a/ApplicationCode/ProjectDataModel/RimViewController.cpp b/ApplicationCode/ProjectDataModel/RimViewController.cpp index f1ad0f2f3b..e016374774 100644 --- a/ApplicationCode/ProjectDataModel/RimViewController.cpp +++ b/ApplicationCode/ProjectDataModel/RimViewController.cpp @@ -23,6 +23,7 @@ #include "RigCaseData.h" #include "RigCaseToCaseCellMapper.h" +#include "RigCaseToCaseRangeFilterMapper.h" #include "RigFemPartCollection.h" #include "RigGeoMechCaseData.h" @@ -44,7 +45,6 @@ #include "RiuViewer.h" #include "cafPdmUiTreeOrdering.h" -#include "RigCaseToCaseRangeFilterMapper.h" #include @@ -64,7 +64,7 @@ RimViewController::RimViewController(void) m_name.uiCapability()->setUiHidden(true); CAF_PDM_InitFieldNoDefault(&m_managedView, "ManagedView", "Linked View", "", "", ""); - m_managedView.uiCapability()->setUiChildrenHidden(true); + m_managedView.uiCapability()->setUiTreeChildrenHidden(true); CAF_PDM_InitField(&m_syncCamera, "SyncCamera", true, "Camera", "", "", ""); CAF_PDM_InitField(&m_syncTimeStep, "SyncTimeStep", true, "Time Step", "", "", ""); @@ -108,14 +108,14 @@ QList RimViewController::calculateValueOptions(const caf } RimViewLinker* linkedViews = NULL; - this->firstAnchestorOrThisOfType(linkedViews); + this->firstAncestorOrThisOfType(linkedViews); for (size_t i = 0; i< views.size(); i++) { if (views[i] != linkedViews->masterView()) { RimCase* rimCase = NULL; - views[i]->firstAnchestorOrThisOfType(rimCase); + views[i]->firstAncestorOrThisOfType(rimCase); QIcon icon; if (rimCase) { @@ -351,7 +351,7 @@ void RimViewController::removeOverrides(RimView* view) void RimViewController::updateOptionSensitivity() { RimViewLinker* linkedViews = NULL; - firstAnchestorOrThisOfType(linkedViews); + firstAncestorOrThisOfType(linkedViews); CVF_ASSERT(linkedViews); RimView* mainView = linkedViews->masterView(); @@ -504,7 +504,7 @@ void RimViewController::updateResultColorsControl() RimViewLinker* RimViewController::ownerViewLinker() { RimViewLinker* viewLinker = NULL; - this->firstAnchestorOrThisOfType(viewLinker); + this->firstAncestorOrThisOfType(viewLinker); return viewLinker; } @@ -873,9 +873,11 @@ bool RimViewController::isPropertyFilterOveridden() //-------------------------------------------------------------------------------------------------- void RimViewController::updateRangeFilterOverrides(RimCellRangeFilter* changedRangeFilter) { + if (!m_managedView) return; + if (!isRangeFiltersControlled()) { - managedView()->setOverrideRangeFilterCollection(NULL); + m_managedView->setOverrideRangeFilterCollection(NULL); return; } @@ -930,10 +932,8 @@ void RimViewController::updateRangeFilterOverrides(RimCellRangeFilter* changedRa } } - managedView()->setOverrideRangeFilterCollection(overrideRangeFilterColl); + m_managedView->setOverrideRangeFilterCollection(overrideRangeFilterColl); } - - } //-------------------------------------------------------------------------------------------------- @@ -941,6 +941,8 @@ void RimViewController::updateRangeFilterOverrides(RimCellRangeFilter* changedRa //-------------------------------------------------------------------------------------------------- void RimViewController::applyRangeFilterCollectionByUserChoice() { + if (!m_managedView) return; + if (!m_managedView->hasOverridenRangeFilterCollection()) { return; diff --git a/ApplicationCode/ProjectDataModel/RimViewLinker.cpp b/ApplicationCode/ProjectDataModel/RimViewLinker.cpp index b8239c3944..8d1e71c6a8 100644 --- a/ApplicationCode/ProjectDataModel/RimViewLinker.cpp +++ b/ApplicationCode/ProjectDataModel/RimViewLinker.cpp @@ -61,12 +61,12 @@ RimViewLinker::RimViewLinker(void) m_name.uiCapability()->setUiHidden(true); CAF_PDM_InitFieldNoDefault(&m_masterView, "MainView", "Main View", "", "", ""); - m_masterView.uiCapability()->setUiChildrenHidden(true); + m_masterView.uiCapability()->setUiTreeChildrenHidden(true); m_masterView.uiCapability()->setUiHidden(true); CAF_PDM_InitFieldNoDefault(&m_viewControllers, "ManagedViews", "Managed Views", "", "", ""); m_viewControllers.uiCapability()->setUiHidden(true); - m_viewControllers.uiCapability()->setUiChildrenHidden(true); + m_viewControllers.uiCapability()->setUiTreeChildrenHidden(true); } //-------------------------------------------------------------------------------------------------- @@ -275,7 +275,7 @@ QString RimViewLinker::displayNameForView(RimView* view) if (view) { RimCase* rimCase = NULL; - view->firstAnchestorOrThisOfType(rimCase); + view->firstAncestorOrThisOfType(rimCase); displayName = rimCase->caseUserDescription() + ": " + view->name; } @@ -370,7 +370,7 @@ void RimViewLinker::updateScaleZ(RimView* sourceView, double scaleZ) bool RimViewLinker::isActive() { RimViewLinkerCollection* viewLinkerCollection = NULL; - this->firstAnchestorOrThisOfType(viewLinkerCollection); + this->firstAncestorOrThisOfType(viewLinkerCollection); if (!viewLinkerCollection) { @@ -446,7 +446,7 @@ void RimViewLinker::findNameAndIconFromView(QString* name, QIcon* icon, RimView* if (view) { RimCase* rimCase = NULL; - view->firstAnchestorOrThisOfType(rimCase); + view->firstAncestorOrThisOfType(rimCase); if (dynamic_cast(rimCase)) { @@ -516,19 +516,21 @@ void RimViewLinker::updateCamera(RimView* sourceView) sourceSceneBB.transform(trans); } - // Propagate view matrix to all relevant views - - const cvf::Mat4d mat = sourceView->viewer()->mainCamera()->viewMatrix(); - for (size_t i = 0; i < viewsToUpdate.size(); i++) + for (RimView* destinationView : viewsToUpdate) { - if (viewsToUpdate[i] && viewsToUpdate[i]->viewer()) + if (!destinationView) continue; + + destinationView->isPerspectiveView = sourceView->isPerspectiveView; + + RiuViewer* destinationViewer = destinationView->viewer(); + if (destinationViewer) { - RiuViewer* destinationViewer = viewsToUpdate[i]->viewer(); + destinationViewer->enableParallelProjection(!sourceView->isPerspectiveView); // Destination bounding box in global coordinates including scaleZ cvf::BoundingBox destSceneBB = destinationViewer->currentScene()->boundingBox(); - RimEclipseView* destEclipseView = dynamic_cast(viewsToUpdate[i]); + RimEclipseView* destEclipseView = dynamic_cast(destinationView); if (destEclipseView && destEclipseView->eclipseCase() && destEclipseView->eclipseCase()->reservoirData() @@ -567,6 +569,8 @@ void RimViewLinker::updateCamera(RimView* sourceView) } } + destinationViewer->updateParallelProjectionSettings(sourceView->viewer()); + destinationViewer->update(); } } diff --git a/ApplicationCode/ProjectDataModel/RimViewWindow.cpp b/ApplicationCode/ProjectDataModel/RimViewWindow.cpp new file mode 100644 index 0000000000..d7ea0b0309 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimViewWindow.cpp @@ -0,0 +1,78 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimViewWindow.h" + + +CAF_PDM_XML_ABSTRACT_SOURCE_INIT(RimViewWindow, "ViewWindow"); // Do not use. Abstract class + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimViewWindow::RimViewWindow(void) +{ + CAF_PDM_InitFieldNoDefault(&m_windowGeometry, "WindowGeometry", "", "", "", ""); + m_windowGeometry.uiCapability()->setUiHidden(true); + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimViewWindow::~RimViewWindow(void) +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimViewWindow::setMdiWindowGeometry(const RimMdiWindowGeometry& windowGeometry) +{ + std::vector geom; + geom.clear(); + if (windowGeometry.isValid()) + { + geom.push_back(windowGeometry.x); + geom.push_back(windowGeometry.y); + geom.push_back(windowGeometry.width); + geom.push_back(windowGeometry.height); + geom.push_back(windowGeometry.isMaximized); + } + m_windowGeometry.setValue(geom); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimMdiWindowGeometry RimViewWindow::mdiWindowGeometry() +{ + + RimMdiWindowGeometry wg; + if (m_windowGeometry.value().size() == 5) + { + wg.x = m_windowGeometry.value()[0]; + wg.y = m_windowGeometry.value()[1]; + wg.width = m_windowGeometry.value()[2]; + wg.height = m_windowGeometry.value()[3]; + wg.isMaximized = m_windowGeometry.value()[4]; + } + + return wg; +} + diff --git a/ApplicationCode/ProjectDataModel/RimViewWindow.h b/ApplicationCode/ProjectDataModel/RimViewWindow.h new file mode 100644 index 0000000000..d351aba516 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/RimViewWindow.h @@ -0,0 +1,56 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafPdmObject.h" +#include "cafPdmField.h" + +#include + +struct RimMdiWindowGeometry +{ + RimMdiWindowGeometry() : x(0), y(0), width(-1), height(-1) {} + bool isValid() const { return (width >= 0 && height >= 0);} + + int x; + int y; + int width; + int height; + bool isMaximized; +}; + +class RimViewWindow : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; +public: + RimViewWindow(void); + virtual ~RimViewWindow(void); + + void setMdiWindowGeometry(const RimMdiWindowGeometry& windowGeometry); + RimMdiWindowGeometry mdiWindowGeometry(); + + virtual QImage snapshotWindowContent() = 0; + virtual void zoomAll() = 0; + + virtual QWidget* viewWidget() = 0; + +private: + caf::PdmField< std::vector > m_windowGeometry; +}; + diff --git a/ApplicationCode/ProjectDataModel/RimWellLogCurve.cpp b/ApplicationCode/ProjectDataModel/RimWellLogCurve.cpp index af592db80a..61e36ba395 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogCurve.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellLogCurve.cpp @@ -35,68 +35,17 @@ // NB! Special macro for pure virtual class CAF_PDM_XML_ABSTRACT_SOURCE_INIT(RimWellLogCurve, "WellLogPlotCurve"); -namespace caf -{ - template<> - void caf::AppEnum< RimWellLogCurve::LineStyleEnum >::setUp() - { - addItem(RimWellLogCurve::STYLE_NONE, "STYLE_NONE", "None"); - addItem(RimWellLogCurve::STYLE_SOLID, "STYLE_SOLID", "Solid"); - addItem(RimWellLogCurve::STYLE_DASH, "STYLE_DASH", "Dashes"); - addItem(RimWellLogCurve::STYLE_DOT, "STYLE_DOT", "Dots"); - addItem(RimWellLogCurve::STYLE_DASH_DOT,"STYLE_DASH_DOT", "Dashes and Dots"); - - setDefault(RimWellLogCurve::STYLE_SOLID); - } - - - template<> - void caf::AppEnum< RimWellLogCurve::PointSymbolEnum >::setUp() - { - addItem(RimWellLogCurve::SYMBOL_NONE, "SYMBOL_NONE", "None"); - addItem(RimWellLogCurve::SYMBOL_ELLIPSE, "SYMBOL_ELLIPSE", "Ellipse"); - addItem(RimWellLogCurve::SYMBOL_RECT, "SYMBOL_RECT", "Rect"); - addItem(RimWellLogCurve::SYMBOL_DIAMOND, "SYMBOL_DIAMOND", "Diamond"); - addItem(RimWellLogCurve::SYMBOL_TRIANGLE, "SYMBOL_TRIANGLE", "Triangle"); - addItem(RimWellLogCurve::SYMBOL_CROSS, "SYMBOL_CROSS", "Cross"); - addItem(RimWellLogCurve::SYMBOL_XCROSS, "SYMBOL_XCROSS", "X Cross"); - - setDefault(RimWellLogCurve::SYMBOL_NONE); - } -} //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RimWellLogCurve::RimWellLogCurve() { - CAF_PDM_InitObject("Curve", ":/WellLogCurve16x16.png", "", ""); - - CAF_PDM_InitField(&m_showCurve, "Show", true, "Show curve", "", "", ""); - m_showCurve.uiCapability()->setUiHidden(true); + CAF_PDM_InitObject("WellLogCurve", ":/WellLogCurve16x16.png", "", ""); - CAF_PDM_InitFieldNoDefault(&m_curveName, "CurveName", "Curve Name", "", "", ""); - CAF_PDM_InitFieldNoDefault(&m_customCurveName, "CurveDescription", "Custom Name", "", "", ""); - m_customCurveName.uiCapability()->setUiHidden(true); - - CAF_PDM_InitField(&m_autoName, "AutoName", true, "Auto Name", "", "", ""); - - CAF_PDM_InitField(&m_curveColor, "Color", cvf::Color3f(cvf::Color3::BLACK), "Color", "", "", ""); - - CAF_PDM_InitField(&m_curveThickness, "Thickness", 1.0f, "Thickness", "", "", ""); - m_curveThickness.uiCapability()->setUiEditorTypeName(caf::PdmUiComboBoxEditor::uiEditorTypeName()); - - caf::AppEnum< RimWellLogCurve::LineStyleEnum > lineStyle = STYLE_SOLID; - CAF_PDM_InitField(&m_lineStyle, "LineStyle", lineStyle, "Line style", "", "", ""); - - caf::AppEnum< RimWellLogCurve::PointSymbolEnum > pointSymbol = SYMBOL_NONE; - CAF_PDM_InitField(&m_pointSymbol, "PointSymbol", pointSymbol, "Point style", "", "", ""); - - m_qwtPlotCurve = new RiuLineSegmentQwtPlotCurve; m_qwtPlotCurve->setXAxis(QwtPlot::xTop); m_qwtPlotCurve->setYAxis(QwtPlot::yLeft); - m_ownerQwtTrack = NULL; } //-------------------------------------------------------------------------------------------------- @@ -106,120 +55,14 @@ RimWellLogCurve::~RimWellLogCurve() { m_qwtPlotCurve->detach(); delete m_qwtPlotCurve; + m_qwtPlotCurve = NULL; - if (m_ownerQwtTrack) + if (m_parentQwtPlot) { - m_ownerQwtTrack->replot(); + m_parentQwtPlot->replot(); } } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimWellLogCurve::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) -{ - if (changedField == &m_showCurve) - { - this->updateCurveVisibility(); - } - else if (changedField == &m_curveName) - { - m_customCurveName = m_curveName; - updatePlotTitle(); - } - else if (&m_curveColor == changedField - || &m_curveThickness == changedField - || &m_pointSymbol == changedField - || &m_lineStyle == changedField) - { - updateCurveAppearance(); - } - else if (changedField == &m_autoName) - { - if (!m_autoName) - { - m_customCurveName = createCurveName(); - } - - updateOptionSensitivity(); - updateCurveName(); - updatePlotTitle(); - } - - if (m_ownerQwtTrack) m_ownerQwtTrack->replot(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -caf::PdmFieldHandle* RimWellLogCurve::objectToggleField() -{ - return &m_showCurve; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimWellLogCurve::updateCurveVisibility() -{ - if (m_showCurve() && m_ownerQwtTrack) - { - m_qwtPlotCurve->attach(m_ownerQwtTrack); - } - else - { - m_qwtPlotCurve->detach(); - } - - RimWellLogPlot* wellLogPlot; - this->firstAnchestorOrThisOfType(wellLogPlot); - if (wellLogPlot) - { - wellLogPlot->calculateAvailableDepthRange(); - } - - RimWellLogTrack* wellLogPlotTrack; - this->firstAnchestorOrThisOfType(wellLogPlotTrack); - if (wellLogPlotTrack) - { - wellLogPlotTrack->zoomAllXAndZoomAllDepthOnOwnerPlot(); - } - -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimWellLogCurve::updatePlotConfiguration() -{ - this->updateCurveVisibility(); - this->updateCurveName(); - this->updatePlotTitle(); - - updateCurveAppearance(); - // Todo: Rest of the curve setup controlled from this class -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimWellLogCurve::setQwtTrack(RiuWellLogTrack* plot) -{ - m_ownerQwtTrack = plot; - if (m_showCurve) - { - m_qwtPlotCurve->attach(m_ownerQwtTrack); - m_ownerQwtTrack->replot(); - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -caf::PdmFieldHandle* RimWellLogCurve::userDescriptionField() -{ - return &m_curveName; -} //-------------------------------------------------------------------------------------------------- /// @@ -259,61 +102,14 @@ bool RimWellLogCurve::valueRange(double* minimumValue, double* maximumValue) con return true; } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimWellLogCurve::setColor(const cvf::Color3f& color) -{ - m_curveColor = color; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimWellLogCurve::detachQwtCurve() -{ - m_qwtPlotCurve->detach(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QwtPlotCurve* RimWellLogCurve::plotCurve() const -{ - return m_qwtPlotCurve; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimWellLogCurve::updatePlotTitle() -{ - m_qwtPlotCurve->setTitle(m_curveName); -} //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -bool RimWellLogCurve::isCurveVisible() const -{ - return m_showCurve; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimWellLogCurve::initAfterRead() -{ - updateOptionSensitivity(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimWellLogCurve::zoomAllOwnerTrackAndPlot() +void RimWellLogCurve::updateZoomInParentPlot() { RimWellLogPlot* wellLogPlot; - firstAnchestorOrThisOfType(wellLogPlot); + firstAncestorOrThisOfType(wellLogPlot); if (wellLogPlot) { wellLogPlot->calculateAvailableDepthRange(); @@ -321,35 +117,13 @@ void RimWellLogCurve::zoomAllOwnerTrackAndPlot() } RimWellLogTrack* plotTrack; - firstAnchestorOrThisOfType(plotTrack); + firstAncestorOrThisOfType(plotTrack); if (plotTrack) { - plotTrack->zoomAllXAndZoomAllDepthOnOwnerPlot(); + plotTrack->updateXZoomAndParentPlotDepthZoom(); } } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimWellLogCurve::updateCurveName() -{ - if (m_autoName) - { - m_curveName = this->createCurveName(); - } - else - { - m_curveName = m_customCurveName; - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimWellLogCurve::updateOptionSensitivity() -{ - m_curveName.uiCapability()->setUiReadOnly(m_autoName); -} //-------------------------------------------------------------------------------------------------- /// @@ -358,101 +132,3 @@ const RigWellLogCurveData* RimWellLogCurve::curveData() const { return m_curveData.p(); } - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimWellLogCurve::updateCurveAppearance() -{ - CVF_ASSERT(m_qwtPlotCurve); - - QColor curveColor(m_curveColor.value().rByte(), m_curveColor.value().gByte(), m_curveColor.value().bByte()); - - QwtSymbol* symbol = NULL; - - if (m_pointSymbol() != SYMBOL_NONE) - { - QwtSymbol::Style style = QwtSymbol::NoSymbol; - - switch (m_pointSymbol()) - { - case SYMBOL_ELLIPSE : - style = QwtSymbol::Ellipse; - break; - case SYMBOL_RECT: - style = QwtSymbol::Rect; - break; - case SYMBOL_DIAMOND: - style = QwtSymbol::Diamond; - break; - case SYMBOL_TRIANGLE: - style = QwtSymbol::Triangle; - break; - case SYMBOL_CROSS: - style = QwtSymbol::Cross; - break; - case SYMBOL_XCROSS: - style = QwtSymbol::XCross; - break; - - default: - break; - } - - // QwtPlotCurve will take ownership of the symbol - symbol = new QwtSymbol(style); - - symbol->setSize(6, 6); - symbol->setColor(curveColor); - } - - QwtPlotCurve::CurveStyle curveStyle = QwtPlotCurve::NoCurve; - Qt::PenStyle penStyle = Qt::SolidLine; - - if (m_lineStyle() != STYLE_NONE) - { - curveStyle = QwtPlotCurve::Lines; - - switch (m_lineStyle()) - { - case STYLE_SOLID: - penStyle = Qt::SolidLine; - break; - case STYLE_DASH: - penStyle = Qt::DashLine; - break; - case STYLE_DOT: - penStyle = Qt::DotLine; - break; - case STYLE_DASH_DOT: - penStyle = Qt::DashDotLine; - break; - - default: - break; - } - } - - m_qwtPlotCurve->setPen(curveColor, m_curveThickness, penStyle); - m_qwtPlotCurve->setStyle(curveStyle); - m_qwtPlotCurve->setSymbol(symbol); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QList RimWellLogCurve::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) -{ - QList options; - - if (fieldNeedingOptions == &m_curveThickness) - { - for (size_t i = 0; i < 10; i++) - { - options.push_back(caf::PdmOptionItemInfo(QString::number(i + 1), QVariant::fromValue(i + 1))); - } - } - - return options; -} - diff --git a/ApplicationCode/ProjectDataModel/RimWellLogCurve.h b/ApplicationCode/ProjectDataModel/RimWellLogCurve.h index 31b427596b..df1dff236f 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogCurve.h +++ b/ApplicationCode/ProjectDataModel/RimWellLogCurve.h @@ -19,107 +19,35 @@ #pragma once -#include "cafPdmField.h" -#include "cafPdmFieldCvfColor.h" -#include "cafPdmObject.h" - +#include "RimPlotCurve.h" #include "RigWellLogCurveData.h" -#include - -#include - class RigWellLogCurveData; -class RiuWellLogTrack; -class RiuLineSegmentQwtPlotCurve; - -class QwtPlotCurve; - -class QString; //================================================================================================== /// /// //================================================================================================== -class RimWellLogCurve : public caf::PdmObject +class RimWellLogCurve : public RimPlotCurve { CAF_PDM_HEADER_INIT; public: - enum LineStyleEnum - { - STYLE_NONE, - STYLE_SOLID, - STYLE_DASH, - STYLE_DOT, - STYLE_DASH_DOT - }; - - enum PointSymbolEnum - { - SYMBOL_NONE, - SYMBOL_ELLIPSE, - SYMBOL_RECT, - SYMBOL_DIAMOND, - SYMBOL_TRIANGLE, - SYMBOL_CROSS, - SYMBOL_XCROSS - }; - + public: RimWellLogCurve(); virtual ~RimWellLogCurve(); - void setColor(const cvf::Color3f& color); - bool depthRange(double* minimumDepth, double* maximumDepth) const; bool valueRange(double* minimumValue, double* maximumValue) const; - void setQwtTrack(RiuWellLogTrack* plot); - void detachQwtCurve(); - - bool isCurveVisible() const; - - QwtPlotCurve* plotCurve() const; const RigWellLogCurveData* curveData() const; - QString name() const { return m_curveName; } - void updateCurveName(); - void updatePlotTitle(); - virtual QString wellName() const = 0; virtual QString wellLogChannelName() const = 0; virtual QString wellDate() const { return ""; }; - virtual void updatePlotData() = 0; protected: - virtual QString createCurveName() = 0; - - void updatePlotConfiguration(); - void updateCurveVisibility(); - void zoomAllOwnerTrackAndPlot(); - void updateOptionSensitivity(); - void updateCurveAppearance(); - - // Overridden PDM methods - virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); - virtual caf::PdmFieldHandle* objectToggleField(); - virtual caf::PdmFieldHandle* userDescriptionField(); - virtual void initAfterRead(); - virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly); + virtual void updateZoomInParentPlot(); - - QPointer m_ownerQwtTrack; - RiuLineSegmentQwtPlotCurve* m_qwtPlotCurve; cvf::ref m_curveData; - - caf::PdmField m_showCurve; - caf::PdmField m_curveName; - caf::PdmField m_customCurveName; - - caf::PdmField m_autoName; - caf::PdmField m_curveColor; - caf::PdmField m_curveThickness; - - caf::PdmField< caf::AppEnum< PointSymbolEnum > > m_pointSymbol; - caf::PdmField< caf::AppEnum< LineStyleEnum > > m_lineStyle; }; diff --git a/ApplicationCode/ProjectDataModel/RimWellLogExtractionCurve.cpp b/ApplicationCode/ProjectDataModel/RimWellLogExtractionCurve.cpp index 87a7ea1718..b00a0c7b14 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogExtractionCurve.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellLogExtractionCurve.cpp @@ -30,27 +30,28 @@ #include "RigResultAccessorFactory.h" #include "RimEclipseCase.h" +#include "RimEclipseCellColors.h" #include "RimEclipseResultDefinition.h" +#include "RimEclipseView.h" #include "RimGeoMechCase.h" #include "RimGeoMechResultDefinition.h" +#include "RimGeoMechView.h" #include "RimOilField.h" #include "RimProject.h" +#include "RimWellLogCurve.h" #include "RimWellLogPlot.h" #include "RimWellLogPlotCollection.h" -#include "RimWellLogCurve.h" #include "RimWellLogTrack.h" #include "RimWellPath.h" #include "RimWellPathCollection.h" -#include "RimEclipseView.h" -#include "RimEclipseCellColors.h" -#include "RimGeoMechView.h" -#include "RimGeoMechCellColors.h" #include "RiuLineSegmentQwtPlotCurve.h" #include "RiuWellLogTrack.h" #include "cafPdmUiTreeOrdering.h" +#include + //================================================================================================== /// /// @@ -66,20 +67,20 @@ RimWellLogExtractionCurve::RimWellLogExtractionCurve() CAF_PDM_InitObject("Well Log Curve", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_wellPath, "CurveWellPath", "Well Path", "", "", ""); - m_wellPath.uiCapability()->setUiChildrenHidden(true); + m_wellPath.uiCapability()->setUiTreeChildrenHidden(true); //m_wellPath.uiCapability()->setUiHidden(true); CAF_PDM_InitFieldNoDefault(&m_case, "CurveCase", "Case", "", "", ""); - m_case.uiCapability()->setUiChildrenHidden(true); + m_case.uiCapability()->setUiTreeChildrenHidden(true); //m_case.uiCapability()->setUiHidden(true); CAF_PDM_InitFieldNoDefault(&m_eclipseResultDefinition, "CurveEclipseResult", "", "", "", ""); m_eclipseResultDefinition.uiCapability()->setUiHidden(true); - m_eclipseResultDefinition.uiCapability()->setUiChildrenHidden(true); + m_eclipseResultDefinition.uiCapability()->setUiTreeChildrenHidden(true); m_eclipseResultDefinition = new RimEclipseResultDefinition; CAF_PDM_InitFieldNoDefault(&m_geomResultDefinition, "CurveGeomechResult", "", "", "", ""); m_geomResultDefinition.uiCapability()->setUiHidden(true); - m_geomResultDefinition.uiCapability()->setUiChildrenHidden(true); + m_geomResultDefinition.uiCapability()->setUiTreeChildrenHidden(true); m_geomResultDefinition = new RimGeoMechResultDefinition; CAF_PDM_InitField(&m_timeStep, "CurveTimeStep", 0,"Time Step", "", "", ""); @@ -135,7 +136,7 @@ void RimWellLogExtractionCurve::setPropertiesFromView(RimView* view) RimGeoMechView* geoMechView = dynamic_cast(view); if (geoMechView) { - m_geomResultDefinition->setResultAddress(geoMechView->cellResult()->resultAddress()); + m_geomResultDefinition->setResultAddress(geoMechView->cellResultResultDefinition()->resultAddress()); m_timeStep = geoMechView->currentTimeStep(); } } @@ -165,15 +166,15 @@ void RimWellLogExtractionCurve::fieldChangedByUi(const caf::PdmFieldHandle* chan { clampTimestep(); - this->updatePlotData(); + this->loadDataAndUpdate(); } else if (changedField == &m_wellPath) { - this->updatePlotData(); + this->loadDataAndUpdate(); } else if (changedField == &m_timeStep) { - this->updatePlotData(); + this->loadDataAndUpdate(); } if (changedField == &m_addCaseNameToCurveName || @@ -184,16 +185,15 @@ void RimWellLogExtractionCurve::fieldChangedByUi(const caf::PdmFieldHandle* chan { this->uiCapability()->updateConnectedEditors(); updateCurveName(); - updatePlotTitle(); } } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimWellLogExtractionCurve::updatePlotData() +void RimWellLogExtractionCurve::onLoadDataAndUpdate() { - RimWellLogCurve::updatePlotConfiguration(); + RimWellLogCurve::updateCurvePresentation(); if (isCurveVisible()) { @@ -205,7 +205,7 @@ void RimWellLogExtractionCurve::updatePlotData() m_geomResultDefinition->setGeoMechCase(geomCase); RimWellLogPlotCollection* wellLogCollection = NULL; - this->firstAnchestorOrThisOfType(wellLogCollection); + this->firstAncestorOrThisOfType(wellLogCollection); CVF_ASSERT(wellLogCollection); cvf::ref eclExtractor = wellLogCollection->findOrCreateExtractor(m_wellPath, eclipseCase); @@ -219,15 +219,8 @@ void RimWellLogExtractionCurve::updatePlotData() if (eclExtractor.notNull()) { - RimWellLogPlot* wellLogPlot; - firstAnchestorOrThisOfType(wellLogPlot); - CVF_ASSERT(wellLogPlot); - measuredDepthValues = eclExtractor->measuredDepth(); - if (wellLogPlot->depthType() == RimWellLogPlot::TRUE_VERTICAL_DEPTH) - { - tvDepthValues = eclExtractor->trueVerticalDepth(); - } + tvDepthValues = eclExtractor->trueVerticalDepth(); m_eclipseResultDefinition->loadResult(); @@ -252,15 +245,9 @@ void RimWellLogExtractionCurve::updatePlotData() } else if (geomExtractor.notNull()) // geomExtractor { - RimWellLogPlot* wellLogPlot; - firstAnchestorOrThisOfType(wellLogPlot); - CVF_ASSERT(wellLogPlot); measuredDepthValues = geomExtractor->measuredDepth(); - if (wellLogPlot->depthType() == RimWellLogPlot::TRUE_VERTICAL_DEPTH) - { - tvDepthValues = geomExtractor->trueVerticalDepth(); - } + tvDepthValues = geomExtractor->trueVerticalDepth(); m_geomResultDefinition->loadResult(); @@ -283,20 +270,27 @@ void RimWellLogExtractionCurve::updatePlotData() RimDefines::DepthUnitType displayUnit = RimDefines::UNIT_METER; RimWellLogPlot* wellLogPlot; - firstAnchestorOrThisOfType(wellLogPlot); - if (wellLogPlot) + firstAncestorOrThisOfType(wellLogPlot); + CVF_ASSERT(wellLogPlot); + + displayUnit = wellLogPlot->depthUnit(); + + if(wellLogPlot->depthType() == RimWellLogPlot::TRUE_VERTICAL_DEPTH) + { + m_qwtPlotCurve->setSamples(m_curveData->xPlotValues().data(), m_curveData->trueDepthPlotValues(displayUnit).data(), static_cast(m_curveData->xPlotValues().size())); + } + else { - displayUnit = wellLogPlot->depthUnit(); + m_qwtPlotCurve->setSamples(m_curveData->xPlotValues().data(), m_curveData->measuredDepthPlotValues(displayUnit).data(), static_cast(m_curveData->xPlotValues().size())); } - m_qwtPlotCurve->setSamples(m_curveData->xPlotValues().data(), m_curveData->depthPlotValues(displayUnit).data(), static_cast(m_curveData->xPlotValues().size())); m_qwtPlotCurve->setLineSegmentStartStopIndices(m_curveData->polylineStartStopIndices()); - zoomAllOwnerTrackAndPlot(); + updateZoomInParentPlot(); setLogScaleFromSelectedResult(); - if (m_ownerQwtTrack) m_ownerQwtTrack->replot(); + if (m_parentQwtPlot) m_parentQwtPlot->replot(); } } @@ -370,14 +364,13 @@ QList RimWellLogExtractionCurve::calculateValueOptions(c void RimWellLogExtractionCurve::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup("Curve Data"); + curveDataGroup->add(&m_wellPath); + curveDataGroup->add(&m_case); RimGeoMechCase* geomCase = dynamic_cast(m_case.value()); RimEclipseCase* eclipseCase = dynamic_cast(m_case.value()); - curveDataGroup->add(&m_wellPath); - - curveDataGroup->add(&m_case); if (eclipseCase) { curveDataGroup->add(&(m_eclipseResultDefinition->m_resultTypeUiField)); @@ -401,10 +394,11 @@ void RimWellLogExtractionCurve::defineUiOrdering(QString uiConfigName, caf::PdmU appearanceGroup->add(&m_curveColor); appearanceGroup->add(&m_curveThickness); appearanceGroup->add(&m_pointSymbol); + appearanceGroup->add(&m_symbolSkipPixelDistance); appearanceGroup->add(&m_lineStyle); appearanceGroup->add(&m_curveName); - appearanceGroup->add(&m_autoName); - if (m_autoName) + appearanceGroup->add(&m_isUsingAutoName); + if (m_isUsingAutoName) { appearanceGroup->add(&m_addWellNameToCurveName); appearanceGroup->add(&m_addCaseNameToCurveName); @@ -449,7 +443,7 @@ void RimWellLogExtractionCurve::setLogScaleFromSelectedResult() if (resVar.toUpper().contains("PERM")) { RimWellLogTrack* track = NULL; - this->firstAnchestorOrThisOfType(track); + this->firstAncestorOrThisOfType(track); if (track) { if (track->curveCount() == 1) @@ -463,7 +457,7 @@ void RimWellLogExtractionCurve::setLogScaleFromSelectedResult() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -QString RimWellLogExtractionCurve::createCurveName() +QString RimWellLogExtractionCurve::createCurveAutoName() { RimGeoMechCase* geomCase = dynamic_cast(m_case.value()); RimEclipseCase* eclipseCase = dynamic_cast(m_case.value()); @@ -576,7 +570,14 @@ QString RimWellLogExtractionCurve::wellLogChannelName() const //-------------------------------------------------------------------------------------------------- QString RimWellLogExtractionCurve::wellName() const { - return m_wellPath->name(); + if (m_wellPath) + { + return m_wellPath->name(); + } + else + { + return QString(); + } } //-------------------------------------------------------------------------------------------------- @@ -607,3 +608,61 @@ QString RimWellLogExtractionCurve::wellDate() const return (m_timeStep < timeStepNames.size()) ? timeStepNames[m_timeStep] : ""; } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimWellLogExtractionCurve::isEclipseCurve() const +{ + RimEclipseCase* eclipseCase = dynamic_cast(m_case.value()); + if (eclipseCase) + { + return true; + } + + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimWellLogExtractionCurve::caseName() const +{ + if (m_case) + { + return m_case->caseUserDescription(); + } + + return QString(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +double RimWellLogExtractionCurve::rkbDiff() const +{ + if (m_wellPath && m_wellPath->wellPathGeometry()) + { + RigWellPath* geo = m_wellPath->wellPathGeometry(); + + if (geo->hasDatumElevation()) + { + return geo->datumElevation(); + } + + // If measured depth is zero, use the z-value of the well path points + if (geo->m_wellPathPoints.size() > 0 && geo->m_measuredDepths.size() > 0) + { + double epsilon = 1e-3; + + if (cvf::Math::abs(geo->m_measuredDepths[0]) < epsilon) + { + double diff = geo->m_measuredDepths[0] - (-geo->m_wellPathPoints[0].z()); + + return diff; + } + } + } + + return HUGE_VAL; +} diff --git a/ApplicationCode/ProjectDataModel/RimWellLogExtractionCurve.h b/ApplicationCode/ProjectDataModel/RimWellLogExtractionCurve.h index df2b4bcc49..0df85b9df2 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogExtractionCurve.h +++ b/ApplicationCode/ProjectDataModel/RimWellLogExtractionCurve.h @@ -41,7 +41,6 @@ class RimWellLogExtractionCurve : public RimWellLogCurve RimWellLogExtractionCurve(); virtual ~RimWellLogExtractionCurve(); - virtual void updatePlotData(); void setWellPath(RimWellPath* wellPath); void setPropertiesFromView(RimView* view); @@ -50,8 +49,13 @@ class RimWellLogExtractionCurve : public RimWellLogCurve virtual QString wellLogChannelName() const; virtual QString wellDate() const; + bool isEclipseCurve() const; + QString caseName() const; + double rkbDiff() const; + protected: - virtual QString createCurveName(); + virtual QString createCurveAutoName(); + virtual void onLoadDataAndUpdate(); virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering); diff --git a/ApplicationCode/ProjectDataModel/RimWellLogFile.cpp b/ApplicationCode/ProjectDataModel/RimWellLogFile.cpp index 576030190f..332e5f4fff 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogFile.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellLogFile.cpp @@ -143,7 +143,7 @@ bool RimWellLogFile::readFile(QString* errorMessage) } RimWellPath* wellPath; - firstAnchestorOrThisOfType(wellPath); + firstAncestorOrThisOfType(wellPath); if (wellPath) { if (wellPath->filepath().isEmpty()) diff --git a/ApplicationCode/ProjectDataModel/RimWellLogFileCurve.cpp b/ApplicationCode/ProjectDataModel/RimWellLogFileCurve.cpp index cc5233b32d..5a575cf94d 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogFileCurve.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellLogFileCurve.cpp @@ -49,7 +49,7 @@ RimWellLogFileCurve::RimWellLogFileCurve() CAF_PDM_InitObject("Well Log File Curve", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_wellPath, "CurveWellPath", "Well Path", "", "", ""); - m_wellPath.uiCapability()->setUiChildrenHidden(true); + m_wellPath.uiCapability()->setUiTreeChildrenHidden(true); CAF_PDM_InitFieldNoDefault(&m_wellLogChannnelName, "CurveWellLogChannel", "Well Log Channel", "", "", ""); @@ -68,16 +68,16 @@ RimWellLogFileCurve::~RimWellLogFileCurve() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimWellLogFileCurve::updatePlotData() +void RimWellLogFileCurve::onLoadDataAndUpdate() { - RimWellLogCurve::updatePlotConfiguration(); + RimWellLogCurve::updateCurvePresentation(); if (isCurveVisible()) { m_curveData = new RigWellLogCurveData; RimWellLogPlot* wellLogPlot; - firstAnchestorOrThisOfType(wellLogPlot); + firstAncestorOrThisOfType(wellLogPlot); CVF_ASSERT(wellLogPlot); if (wellLogPlot->depthType() == RimWellLogPlot::TRUE_VERTICAL_DEPTH) @@ -107,9 +107,9 @@ void RimWellLogFileCurve::updatePlotData() } } - if (m_autoName) + if (m_isUsingAutoName) { - m_qwtPlotCurve->setTitle(createCurveName()); + m_qwtPlotCurve->setTitle(createCurveAutoName()); } } } @@ -120,12 +120,12 @@ void RimWellLogFileCurve::updatePlotData() displayUnit = wellLogPlot->depthUnit(); } - m_qwtPlotCurve->setSamples(m_curveData->xPlotValues().data(), m_curveData->depthPlotValues(displayUnit).data(), static_cast(m_curveData->xPlotValues().size())); + m_qwtPlotCurve->setSamples(m_curveData->xPlotValues().data(), m_curveData->measuredDepthPlotValues(displayUnit).data(), static_cast(m_curveData->xPlotValues().size())); m_qwtPlotCurve->setLineSegmentStartStopIndices(m_curveData->polylineStartStopIndices()); - zoomAllOwnerTrackAndPlot(); + updateZoomInParentPlot(); - if (m_ownerQwtTrack) m_ownerQwtTrack->replot(); + if (m_parentQwtPlot) m_parentQwtPlot->replot(); } } @@ -154,14 +154,14 @@ void RimWellLogFileCurve::fieldChangedByUi(const caf::PdmFieldHandle* changedFie if (changedField == &m_wellPath) { - this->updatePlotData(); + this->loadDataAndUpdate(); } else if (changedField == &m_wellLogChannnelName) { - this->updatePlotData(); + this->loadDataAndUpdate(); } - if (m_ownerQwtTrack) m_ownerQwtTrack->replot(); + if (m_parentQwtPlot) m_parentQwtPlot->replot(); } //-------------------------------------------------------------------------------------------------- @@ -177,9 +177,10 @@ void RimWellLogFileCurve::defineUiOrdering(QString uiConfigName, caf::PdmUiOrder appearanceGroup->add(&m_curveColor); appearanceGroup->add(&m_curveThickness); appearanceGroup->add(&m_pointSymbol); + appearanceGroup->add(&m_symbolSkipPixelDistance); appearanceGroup->add(&m_lineStyle); appearanceGroup->add(&m_curveName); - appearanceGroup->add(&m_autoName); + appearanceGroup->add(&m_isUsingAutoName); } //-------------------------------------------------------------------------------------------------- @@ -251,7 +252,7 @@ QList RimWellLogFileCurve::calculateValueOptions(const c //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -QString RimWellLogFileCurve::createCurveName() +QString RimWellLogFileCurve::createCurveAutoName() { if (m_wellPath) { @@ -266,7 +267,7 @@ QString RimWellLogFileCurve::createCurveName() if (wellLogFile) { RimWellLogPlot* wellLogPlot; - firstAnchestorOrThisOfType(wellLogPlot); + firstAncestorOrThisOfType(wellLogPlot); CVF_ASSERT(wellLogPlot); QString unitName = wellLogFile->wellLogChannelUnitString(m_wellLogChannnelName, wellLogPlot->depthUnit()); diff --git a/ApplicationCode/ProjectDataModel/RimWellLogFileCurve.h b/ApplicationCode/ProjectDataModel/RimWellLogFileCurve.h index c2c99be728..3e05860a66 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogFileCurve.h +++ b/ApplicationCode/ProjectDataModel/RimWellLogFileCurve.h @@ -45,13 +45,13 @@ class RimWellLogFileCurve : public RimWellLogCurve void setWellLogChannelName(const QString& name); // Overrides from RimWellLogPlotCurve - virtual void updatePlotData(); virtual QString wellName() const; virtual QString wellLogChannelName() const; protected: // Overrides from RimWellLogPlotCurve - virtual QString createCurveName(); + virtual QString createCurveAutoName(); + virtual void onLoadDataAndUpdate(); // Pdm overrrides virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); diff --git a/ApplicationCode/ProjectDataModel/RimWellLogPlot.cpp b/ApplicationCode/ProjectDataModel/RimWellLogPlot.cpp index d0b49819fb..2b9476659f 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogPlot.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellLogPlot.cpp @@ -19,13 +19,13 @@ #include "RimWellLogPlot.h" +#include "RiaApplication.h" + #include "RimWellLogTrack.h" +#include "RiuMainPlotWindow.h" #include "RiuWellLogPlot.h" #include "RiuWellLogTrack.h" -#include "RiuMainWindow.h" - -#include "cafPdmUiTreeView.h" #include "cvfAssert.h" @@ -49,6 +49,7 @@ namespace caf { CAF_PDM_SOURCE_INIT(RimWellLogPlot, "WellLogPlot"); + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -76,9 +77,6 @@ RimWellLogPlot::RimWellLogPlot() CAF_PDM_InitFieldNoDefault(&m_tracks, "Tracks", "", "", "", ""); m_tracks.uiCapability()->setUiHidden(true); - CAF_PDM_InitFieldNoDefault(&windowGeometry, "WindowGeometry", "", "", "", ""); - windowGeometry.uiCapability()->setUiHidden(true); - m_minAvailableDepth = HUGE_VAL; m_maxAvailableDepth = -HUGE_VAL; } @@ -88,7 +86,10 @@ RimWellLogPlot::RimWellLogPlot() //-------------------------------------------------------------------------------------------------- RimWellLogPlot::~RimWellLogPlot() { - RiuMainWindow::instance()->removeViewer(m_viewer); + if (RiaApplication::instance()->mainPlotWindow()) + { + RiaApplication::instance()->mainPlotWindow()->removeViewer(m_viewer); + } detachAllCurves(); m_tracks.deleteAllChildObjects(); @@ -101,16 +102,19 @@ RimWellLogPlot::~RimWellLogPlot() //-------------------------------------------------------------------------------------------------- void RimWellLogPlot::updateViewerWidget() { + RiuMainPlotWindow* mainPlotWindow = RiaApplication::instance()->mainPlotWindow(); + if (!mainPlotWindow) return; + if (m_showWindow()) { if (!m_viewer) { - m_viewer = new RiuWellLogPlot(this, RiuMainWindow::instance()); + m_viewer = new RiuWellLogPlot(this, mainPlotWindow); recreateTrackPlots(); - RiuMainWindow::instance()->addViewer(m_viewer, windowGeometry()); - RiuMainWindow::instance()->setActiveViewer(m_viewer); + mainPlotWindow->addViewer(m_viewer, this->mdiWindowGeometry()); + mainPlotWindow->setActiveViewer(m_viewer); } updateViewerWidgetWindowTitle(); @@ -119,14 +123,13 @@ void RimWellLogPlot::updateViewerWidget() { if (m_viewer) { - windowGeometry = RiuMainWindow::instance()->windowGeometryForViewer(m_viewer); + this->setMdiWindowGeometry(mainPlotWindow->windowGeometryForViewer(m_viewer)); - RiuMainWindow::instance()->removeViewer(m_viewer); + mainPlotWindow->removeViewer(m_viewer); detachAllCurves(); delete m_viewer; m_viewer = NULL; - } } } @@ -178,6 +181,22 @@ caf::PdmFieldHandle* RimWellLogPlot::objectToggleField() return &m_showWindow; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QImage RimWellLogPlot::snapshotWindowContent() +{ + QImage image; + + if (m_viewer) + { + QPixmap pix = QPixmap::grabWidget(m_viewer); + image = pix.toImage(); + } + + return image; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -231,7 +250,7 @@ void RimWellLogPlot::moveTracks(RimWellLogTrack* insertAfterTrack, const std::ve RimWellLogTrack* track = tracksToMove[tIdx]; RimWellLogPlot* wellLogPlot; - track->firstAnchestorOrThisOfType(wellLogPlot); + track->firstAncestorOrThisOfType(wellLogPlot); if (wellLogPlot) { wellLogPlot->removeTrack(track); @@ -250,14 +269,6 @@ void RimWellLogPlot::moveTracks(RimWellLogTrack* insertAfterTrack, const std::ve updateTrackNames(); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RiuWellLogPlot* RimWellLogPlot::viewer() -{ - return m_viewer; -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -351,6 +362,25 @@ bool RimWellLogPlot::hasAvailableDepthRange() const return m_minAvailableDepth < HUGE_VAL && m_maxAvailableDepth > -HUGE_VAL; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimWellLogPlot::zoomAll() +{ + m_isAutoScaleDepthEnabled = true; + m_isAutoScaleDepthEnabled.uiCapability()->updateConnectedEditors(); + + updateDepthZoom(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QWidget* RimWellLogPlot::viewWidget() +{ + return m_viewer; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -368,7 +398,10 @@ void RimWellLogPlot::setupBeforeSave() { if (m_viewer) { - windowGeometry = RiuMainWindow::instance()->windowGeometryForViewer(m_viewer); + if (RiaApplication::instance()->mainPlotWindow()) + { + this->setMdiWindowGeometry(RiaApplication::instance()->mainPlotWindow()->windowGeometryForViewer(m_viewer)); + } } } @@ -504,6 +537,14 @@ void RimWellLogPlot::setDescription(const QString& description) m_userName = description; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimWellLogPlot::description() const +{ + return m_userName(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/RimWellLogPlot.h b/ApplicationCode/ProjectDataModel/RimWellLogPlot.h index 2912a87e22..1db858f1ef 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogPlot.h +++ b/ApplicationCode/ProjectDataModel/RimWellLogPlot.h @@ -27,6 +27,8 @@ #include #include "RimDefines.h" +#include "RimViewWindow.h" + class RiuWellLogPlot; class RimWellLogTrack; @@ -35,7 +37,7 @@ class RimWellLogTrack; /// /// //================================================================================================== -class RimWellLogPlot : public caf::PdmObject +class RimWellLogPlot : public RimViewWindow { CAF_PDM_HEADER_INIT; @@ -46,11 +48,13 @@ class RimWellLogPlot : public caf::PdmObject TRUE_VERTICAL_DEPTH }; + public: RimWellLogPlot(); virtual ~RimWellLogPlot(); void setDescription(const QString& description); + QString description() const; DepthTypeEnum depthType() const; @@ -59,8 +63,6 @@ class RimWellLogPlot : public caf::PdmObject QString depthPlotTitle() const; - caf::PdmField< std::vector > windowGeometry; - void addTrack(RimWellLogTrack* track); void insertTrack(RimWellLogTrack* track, size_t index); size_t trackCount() { return m_tracks.size();} @@ -72,8 +74,6 @@ class RimWellLogPlot : public caf::PdmObject void updateTracks(); void updateTrackNames(); - RiuWellLogPlot* viewer(); - void updateDepthZoom(); void setDepthZoomByFactorAndCenter(double zoomFactor, double zoomCenter); void panDepth(double panFactor); @@ -84,6 +84,9 @@ class RimWellLogPlot : public caf::PdmObject void availableDepthRange(double* minimumDepth, double* maximumDepth) const; bool hasAvailableDepthRange() const; + virtual void zoomAll() override; + virtual QWidget* viewWidget() override; + protected: // Overridden PDM methods @@ -93,6 +96,9 @@ class RimWellLogPlot : public caf::PdmObject virtual caf::PdmFieldHandle* objectToggleField(); virtual caf::PdmFieldHandle* userDescriptionField() { return &m_userName; } + virtual QImage snapshotWindowContent() override; + + private: void updateViewerWidget(); void updateViewerWidgetWindowTitle(); diff --git a/ApplicationCode/ProjectDataModel/RimWellLogPlotCollection.cpp b/ApplicationCode/ProjectDataModel/RimWellLogPlotCollection.cpp index 2b9d42d520..95fda59b02 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogPlotCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellLogPlotCollection.cpp @@ -19,17 +19,16 @@ #include "RimWellLogPlotCollection.h" -#include "RimWellLogPlot.h" - -#include "cafPdmUiTreeView.h" #include "RigCaseData.h" +#include "RigEclipseWellLogExtractor.h" #include "RigGeoMechCaseData.h" -#include "RimWellPath.h" +#include "RigGeoMechWellLogExtractor.h" + #include "RimEclipseCase.h" -#include "RigEclipseWellLogExtractor.h" -#include "RimWellPathCollection.h" #include "RimGeoMechCase.h" -#include "RigGeoMechWellLogExtractor.h" +#include "RimWellLogPlot.h" +#include "RimWellPath.h" +#include "RimWellPathCollection.h" #include "cvfAssert.h" diff --git a/ApplicationCode/ProjectDataModel/RimWellLogTrack.cpp b/ApplicationCode/ProjectDataModel/RimWellLogTrack.cpp index 8fb6447c01..580e5314cb 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogTrack.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellLogTrack.cpp @@ -28,8 +28,6 @@ #include "RiuWellLogPlot.h" #include "RiuMainWindow.h" -#include "cafPdmUiTreeView.h" - #include "cvfAssert.h" #include "cvfMath.h" @@ -98,12 +96,17 @@ void RimWellLogTrack::fieldChangedByUi(const caf::PdmFieldHandle* changedField, } RimWellLogPlot* wellLogPlot; - this->firstAnchestorOrThisOfType(wellLogPlot); + this->firstAncestorOrThisOfType(wellLogPlot); if (wellLogPlot) { wellLogPlot->calculateAvailableDepthRange(); wellLogPlot->updateDepthZoom(); - if (wellLogPlot->viewer()) wellLogPlot->viewer()->updateChildrenLayout(); + + RiuWellLogPlot* wellLogPlotViewer = dynamic_cast(wellLogPlot->viewWidget()); + if (wellLogPlotViewer) + { + wellLogPlotViewer->updateChildrenLayout(); + } } } else if (changedField == &m_visibleXRangeMin || changedField == &m_visibleXRangeMax) @@ -116,7 +119,7 @@ void RimWellLogTrack::fieldChangedByUi(const caf::PdmFieldHandle* changedField, { if (m_isAutoScaleXEnabled()) { - this->zoomAllXAxisIfAutoScale(); + this->updateXZoom(); computeAndSetXRangeMinForLogarithmicScale(); if (m_wellLogTrackPlotWidget) m_wellLogTrackPlotWidget->replot(); @@ -126,7 +129,7 @@ void RimWellLogTrack::fieldChangedByUi(const caf::PdmFieldHandle* changedField, { updateAxisScaleEngine(); - this->zoomAllXAxisIfAutoScale(); + this->updateXZoom(); computeAndSetXRangeMinForLogarithmicScale(); m_wellLogTrackPlotWidget->setXRange(m_visibleXRangeMin, m_visibleXRangeMax); @@ -160,7 +163,7 @@ void RimWellLogTrack::addCurve(RimWellLogCurve* curve) if (m_wellLogTrackPlotWidget) { - curve->setQwtTrack(m_wellLogTrackPlotWidget); + curve->setParentQwtPlot(m_wellLogTrackPlotWidget); } } @@ -174,7 +177,7 @@ void RimWellLogTrack::insertCurve(RimWellLogCurve* curve, size_t index) if (m_wellLogTrackPlotWidget) { - curve->setQwtTrack(m_wellLogTrackPlotWidget); + curve->setParentQwtPlot(m_wellLogTrackPlotWidget); } } @@ -238,18 +241,16 @@ void RimWellLogTrack::availableDepthRange(double* minimumDepth, double* maximumD //-------------------------------------------------------------------------------------------------- void RimWellLogTrack::loadDataAndUpdate() { - CVF_ASSERT(m_wellLogTrackPlotWidget); - RimWellLogPlot* wellLogPlot; - firstAnchestorOrThisOfType(wellLogPlot); - if (wellLogPlot) + firstAncestorOrThisOfType(wellLogPlot); + if (wellLogPlot && m_wellLogTrackPlotWidget) { m_wellLogTrackPlotWidget->setDepthTitle(wellLogPlot->depthPlotTitle()); } for (size_t cIdx = 0; cIdx < curves.size(); ++cIdx) { - curves[cIdx]->updatePlotData(); + curves[cIdx]->loadDataAndUpdate(); } } @@ -265,7 +266,7 @@ void RimWellLogTrack::recreateViewer() for (size_t cIdx = 0; cIdx < curves.size(); ++cIdx) { - curves[cIdx]->setQwtTrack(this->m_wellLogTrackPlotWidget); + curves[cIdx]->setParentQwtPlot(this->m_wellLogTrackPlotWidget); } } } @@ -284,18 +285,18 @@ void RimWellLogTrack::detachAllCurves() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimWellLogTrack::zoomAllXAndZoomAllDepthOnOwnerPlot() +void RimWellLogTrack::updateXZoomAndParentPlotDepthZoom() { if (m_wellLogTrackPlotWidget) { RimWellLogPlot* wellLogPlot; - firstAnchestorOrThisOfType(wellLogPlot); + firstAncestorOrThisOfType(wellLogPlot); if (wellLogPlot) { wellLogPlot->updateDepthZoom(); } - zoomAllXAxisIfAutoScale(); + updateXZoom(); m_wellLogTrackPlotWidget->replot(); } @@ -304,9 +305,14 @@ void RimWellLogTrack::zoomAllXAndZoomAllDepthOnOwnerPlot() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimWellLogTrack::zoomAllXAxisIfAutoScale() +void RimWellLogTrack::updateXZoom() { - if (!m_isAutoScaleXEnabled()) return; + if (!m_isAutoScaleXEnabled()) + { + m_wellLogTrackPlotWidget->setXRange(m_visibleXRangeMin, m_visibleXRangeMax); + m_wellLogTrackPlotWidget->replot(); + return; + } double minValue = HUGE_VAL; double maxValue = -HUGE_VAL; @@ -353,7 +359,7 @@ RimWellLogCurve* RimWellLogTrack::curveDefinitionFromCurve(const QwtPlotCurve* c { for (size_t idx = 0; idx < curves.size(); idx++) { - if (curves[idx]->plotCurve() == curve) + if (curves[idx]->qwtPlotCurve() == curve) { return curves[idx]; } diff --git a/ApplicationCode/ProjectDataModel/RimWellLogTrack.h b/ApplicationCode/ProjectDataModel/RimWellLogTrack.h index 0080fe58d0..fb23a715ea 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogTrack.h +++ b/ApplicationCode/ProjectDataModel/RimWellLogTrack.h @@ -57,8 +57,8 @@ class RimWellLogTrack : public caf::PdmObject void loadDataAndUpdate(); void availableDepthRange(double* minimumDepth, double* maximumDepth); - void zoomAllXAndZoomAllDepthOnOwnerPlot(); - void zoomAllXAxisIfAutoScale(); + void updateXZoomAndParentPlotDepthZoom(); + void updateXZoom(); RiuWellLogTrack* viewer(); diff --git a/ApplicationCode/ProjectDataModel/RimWellPath.cpp b/ApplicationCode/ProjectDataModel/RimWellPath.cpp index 6689eba785..2612ef6004 100644 --- a/ApplicationCode/ProjectDataModel/RimWellPath.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellPath.cpp @@ -34,6 +34,7 @@ #include #include #include +#include CAF_PDM_SOURCE_INIT(RimWellPath, "WellPath"); @@ -74,6 +75,11 @@ RimWellPath::RimWellPath() m_surveyType.xmlCapability()->setIOWritable(false); m_surveyType.xmlCapability()->setIOReadable(false); + CAF_PDM_InitFieldNoDefault(&m_datumElevation, "DatumElevation", "Datum Elevation", "", "", ""); + m_datumElevation.uiCapability()->setUiReadOnly(true); + m_datumElevation.xmlCapability()->setIOWritable(false); + m_datumElevation.xmlCapability()->setIOReadable(false); + CAF_PDM_InitField(&filepath, "WellPathFilepath", QString(""), "Filepath", "", "", ""); filepath.uiCapability()->setUiReadOnly(true); CAF_PDM_InitField(&wellPathIndexInFile, "WellPathNumberInFile", -1, "Well Number in file", "", "", ""); @@ -105,7 +111,7 @@ RimWellPath::~RimWellPath() } RimProject* project; - firstAnchestorOrThisOfType(project); + firstAncestorOrThisOfType(project); if (project) { if (project->mainPlotCollection()) @@ -149,7 +155,7 @@ RivWellPathPartMgr* RimWellPath::partMgr() if (m_wellPathPartMgr.isNull()) { RimWellPathCollection* wpColl; - this->firstAnchestorOrThisOfType(wpColl); + this->firstAncestorOrThisOfType(wpColl); if (wpColl) m_wellPathPartMgr = new RivWellPathPartMgr(this); } @@ -164,7 +170,7 @@ void RimWellPath::fieldChangedByUi(const caf::PdmFieldHandle* changedField, cons partMgr()->scheduleGeometryRegen(); RimProject* proj; - this->firstAnchestorOrThisOfType(proj); + this->firstAncestorOrThisOfType(proj); if (proj) proj->createDisplayModelAndRedrawAllViews(); } @@ -210,7 +216,7 @@ bool RimWellPath::readWellPathFile(QString* errorMessage, RifWellPathAsciiFileRe void RimWellPath::readJsonWellPathFile() { RigWellPath* wellPathGeom = new RigWellPath(); - JsonReader jsonReader; + ResInsightInternalJson::JsonReader jsonReader; QMap jsonMap = jsonReader.decodeFile(filepath); // General well info @@ -237,6 +243,7 @@ void RimWellPath::readJsonWellPathFile() // Well path points double datumElevation = jsonMap["datumElevation"].toDouble(); + wellPathGeom->setDatumElevation(datumElevation); QList pathList = jsonMap["path"].toList(); foreach (QVariant point, pathList) @@ -287,6 +294,17 @@ void RimWellPath::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiO ssihubGroup->add(&updateDate); ssihubGroup->add(&updateUser); ssihubGroup->add(&m_surveyType); + ssihubGroup->add(&m_datumElevation); + + if (m_wellPath.notNull() && m_wellPath->hasDatumElevation()) + { + m_datumElevation = m_wellPath->datumElevation(); + m_datumElevation.uiCapability()->setUiHidden(false); + } + else + { + m_datumElevation.uiCapability()->setUiHidden(true); + } } //-------------------------------------------------------------------------------------------------- @@ -365,13 +383,20 @@ bool RimWellPath::isStoredInCache() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimWellPath::updateFilePathsFromProjectPath() +void RimWellPath::updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) { - QString newCacheFileName = getCacheFileName(); + if (isStoredInCache()) + { + QString newCacheFileName = getCacheFileName(); - if (QFile::exists(newCacheFileName)) + if (QFile::exists(newCacheFileName)) + { + filepath = newCacheFileName; + } + } + else { - filepath = newCacheFileName; + filepath = RimTools::relocateFile(filepath(), newProjectPath, oldProjectPath, NULL, NULL); } } diff --git a/ApplicationCode/ProjectDataModel/RimWellPath.h b/ApplicationCode/ProjectDataModel/RimWellPath.h index 2d38dd0917..7483b658e5 100644 --- a/ApplicationCode/ProjectDataModel/RimWellPath.h +++ b/ApplicationCode/ProjectDataModel/RimWellPath.h @@ -73,7 +73,7 @@ class RimWellPath : public caf::PdmObject RivWellPathPartMgr* partMgr(); bool readWellPathFile(QString * errorMessage, RifWellPathAsciiFileReader* asciiReader); - void updateFilePathsFromProjectPath(); + void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath); @@ -99,6 +99,7 @@ class RimWellPath : public caf::PdmObject caf::PdmField updateUser; caf::PdmField m_surveyType; + caf::PdmField m_datumElevation; cvf::ref m_wellPath; cvf::ref m_wellPathPartMgr; diff --git a/ApplicationCode/ProjectDataModel/RimWellPathCollection.cpp b/ApplicationCode/ProjectDataModel/RimWellPathCollection.cpp index 05a72d77a3..5d77b67e80 100644 --- a/ApplicationCode/ProjectDataModel/RimWellPathCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellPathCollection.cpp @@ -303,18 +303,18 @@ void RimWellPathCollection::scheduleGeometryRegenAndRedrawViews() { m_wellPathCollectionPartManager->scheduleGeometryRegen(); RimProject* proj; - this->firstAnchestorOrThisOfType(proj); + this->firstAncestorOrThisOfType(proj); if (proj) proj->createDisplayModelAndRedrawAllViews(); } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimWellPathCollection::updateFilePathsFromProjectPath() +void RimWellPathCollection::updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) { for (size_t wellPathIdx = 0; wellPathIdx < wellPaths.size(); wellPathIdx++) { - wellPaths[wellPathIdx]->updateFilePathsFromProjectPath(); + wellPaths[wellPathIdx]->updateFilePathsFromProjectPath(newProjectPath, oldProjectPath); } } diff --git a/ApplicationCode/ProjectDataModel/RimWellPathCollection.h b/ApplicationCode/ProjectDataModel/RimWellPathCollection.h index 19f4cbe079..279b56d00a 100644 --- a/ApplicationCode/ProjectDataModel/RimWellPathCollection.h +++ b/ApplicationCode/ProjectDataModel/RimWellPathCollection.h @@ -91,7 +91,7 @@ class RimWellPathCollection : public caf::PdmObject void scheduleGeometryRegenAndRedrawViews(); - void updateFilePathsFromProjectPath(); + void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath); protected: virtual void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ); diff --git a/ApplicationCode/ProjectDataModel/Summary/CMakeLists_files.cmake b/ApplicationCode/ProjectDataModel/Summary/CMakeLists_files.cmake new file mode 100644 index 0000000000..4e539739a2 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/CMakeLists_files.cmake @@ -0,0 +1,49 @@ + +# Use this workaround until we're on 2.8.3 on all platforms and can use CMAKE_CURRENT_LIST_DIR directly +if (${CMAKE_VERSION} VERSION_GREATER "2.8.2") + set(CEE_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_DIR}/) +endif() + +set (SOURCE_GROUP_HEADER_FILES +${CEE_CURRENT_LIST_DIR}RimFileSummaryCase.h +${CEE_CURRENT_LIST_DIR}RimGridSummaryCase.h +${CEE_CURRENT_LIST_DIR}RimSummaryCase.h +${CEE_CURRENT_LIST_DIR}RimSummaryCaseCollection.h +${CEE_CURRENT_LIST_DIR}RimSummaryCurve.h +${CEE_CURRENT_LIST_DIR}RimSummaryCurveAppearanceCalculator.h +${CEE_CURRENT_LIST_DIR}RimSummaryCurveAutoName.h +${CEE_CURRENT_LIST_DIR}RimSummaryCurveFilter.h +${CEE_CURRENT_LIST_DIR}RimSummaryCurvesCalculator.h +${CEE_CURRENT_LIST_DIR}RimSummaryFilter.h +${CEE_CURRENT_LIST_DIR}RimSummaryPlot.h +${CEE_CURRENT_LIST_DIR}RimSummaryPlotCollection.h +${CEE_CURRENT_LIST_DIR}RimSummaryTimeAxisProperties.h +${CEE_CURRENT_LIST_DIR}RimSummaryYAxisProperties.h +) + +set (SOURCE_GROUP_SOURCE_FILES +${CEE_CURRENT_LIST_DIR}RimFileSummaryCase.cpp +${CEE_CURRENT_LIST_DIR}RimGridSummaryCase.cpp +${CEE_CURRENT_LIST_DIR}RimSummaryCase.cpp +${CEE_CURRENT_LIST_DIR}RimSummaryCaseCollection.cpp +${CEE_CURRENT_LIST_DIR}RimSummaryCurve.cpp +${CEE_CURRENT_LIST_DIR}RimSummaryCurveAppearanceCalculator.cpp +${CEE_CURRENT_LIST_DIR}RimSummaryCurveAutoName.cpp +${CEE_CURRENT_LIST_DIR}RimSummaryCurveFilter.cpp +${CEE_CURRENT_LIST_DIR}RimSummaryCurvesCalculator.cpp +${CEE_CURRENT_LIST_DIR}RimSummaryFilter.cpp +${CEE_CURRENT_LIST_DIR}RimSummaryPlot.cpp +${CEE_CURRENT_LIST_DIR}RimSummaryPlotCollection.cpp +${CEE_CURRENT_LIST_DIR}RimSummaryTimeAxisProperties.cpp +${CEE_CURRENT_LIST_DIR}RimSummaryYAxisProperties.cpp +) + +list(APPEND CODE_HEADER_FILES +${SOURCE_GROUP_HEADER_FILES} +) + +list(APPEND CODE_SOURCE_FILES +${SOURCE_GROUP_SOURCE_FILES} +) + +source_group( "ProjectDataModel\\Summary" FILES ${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES} ${CEE_CURRENT_LIST_DIR}CMakeLists_files.cmake ) diff --git a/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.cpp b/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.cpp new file mode 100644 index 0000000000..5d80f255c0 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.cpp @@ -0,0 +1,74 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimFileSummaryCase.h" +#include "QFileInfo" + + +//================================================================================================== +// +// +// +//================================================================================================== +CAF_PDM_SOURCE_INIT(RimFileSummaryCase,"FileSummaryCase"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimFileSummaryCase::RimFileSummaryCase() +{ + CAF_PDM_InitFieldNoDefault(&m_summaryHeaderFilename, "SummaryHeaderFilename", "Summary Header File", "", "", ""); + m_summaryHeaderFilename.uiCapability()->setUiReadOnly(true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimFileSummaryCase::~RimFileSummaryCase() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimFileSummaryCase::setSummaryHeaderFilename(const QString& fileName) +{ + m_summaryHeaderFilename = fileName; + + this->updateAutoShortName(); + this->updateTreeItemName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimFileSummaryCase::summaryHeaderFilename() const +{ + return m_summaryHeaderFilename(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimFileSummaryCase::caseName() const +{ + QFileInfo caseFileName(this->summaryHeaderFilename()); + + return caseFileName.completeBaseName(); +} diff --git a/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.h b/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.h new file mode 100644 index 0000000000..7340af129a --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimFileSummaryCase.h @@ -0,0 +1,44 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#pragma once + +#include "RimSummaryCase.h" + +//================================================================================================== +// +// +// +//================================================================================================== + +class RimFileSummaryCase: public RimSummaryCase +{ + CAF_PDM_HEADER_INIT; +public: + RimFileSummaryCase(); + virtual ~RimFileSummaryCase(); + + void setSummaryHeaderFilename(const QString& fileName); + virtual QString summaryHeaderFilename() const override; + virtual QString caseName() const override; + +private: + caf::PdmField m_summaryHeaderFilename; +}; + + + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimGridSummaryCase.cpp b/ApplicationCode/ProjectDataModel/Summary/RimGridSummaryCase.cpp new file mode 100644 index 0000000000..7db50f87be --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimGridSummaryCase.cpp @@ -0,0 +1,111 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimGridSummaryCase.h" + +#include "RigSummaryCaseData.h" +#include "RimEclipseCase.h" + +#include + +//================================================================================================== +// +// +// +//================================================================================================== + + +CAF_PDM_SOURCE_INIT(RimGridSummaryCase,"GridSummaryCase"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimGridSummaryCase::RimGridSummaryCase() +{ + CAF_PDM_InitFieldNoDefault(&m_eclipseCase, "Associated3DCase", "Main View", "", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_eclipseGridFileName, "Associated3DCaseGridFileName", "Grid File Name", "", "", ""); + m_eclipseGridFileName.registerGetMethod(this, &RimGridSummaryCase::eclipseGridFileName); + m_eclipseGridFileName.uiCapability()->setUiReadOnly(true); + + CAF_PDM_InitFieldNoDefault(&m_eclipseSummaryFileName, "SummaryFileName", "Summary File Name", "", "", ""); + m_eclipseSummaryFileName.registerGetMethod(this, &RimGridSummaryCase::summaryHeaderFilename); + m_eclipseSummaryFileName.uiCapability()->setUiReadOnly(true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimGridSummaryCase::~RimGridSummaryCase() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimGridSummaryCase::setAssociatedEclipseCase(RimEclipseCase* eclipseCase) +{ + m_eclipseCase = eclipseCase; + this->updateAutoShortName(); + this->updateTreeItemName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimEclipseCase* RimGridSummaryCase::associatedEclipseCase() +{ + return m_eclipseCase(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimGridSummaryCase::summaryHeaderFilename() const +{ + if (!m_eclipseCase()) return QString(); + + QFileInfo gridFileInfo(m_eclipseCase()->gridFileName()); + + QString possibleSumHeaderFileName = gridFileInfo.path() +"/"+ gridFileInfo.completeBaseName() + ".SMSPEC"; + + return possibleSumHeaderFileName; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimGridSummaryCase::caseName() const +{ + if (!m_eclipseCase()) return QString(); + + return m_eclipseCase()->caseUserDescription(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimGridSummaryCase::eclipseGridFileName() const +{ + if (!m_eclipseCase()) return QString(); + + return m_eclipseCase()->gridFileName(); +} + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimGridSummaryCase.h b/ApplicationCode/ProjectDataModel/Summary/RimGridSummaryCase.h new file mode 100644 index 0000000000..1f51facd9d --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimGridSummaryCase.h @@ -0,0 +1,54 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#pragma once + +#include "RimSummaryCase.h" + +#include "cafPdmProxyValueField.h" + +class RimEclipseCase; + +//================================================================================================== +// +// +// +//================================================================================================== + +class RimGridSummaryCase: public RimSummaryCase +{ + CAF_PDM_HEADER_INIT; +public: + RimGridSummaryCase(); + virtual ~RimGridSummaryCase(); + + void setAssociatedEclipseCase(RimEclipseCase* eclipseCase); + RimEclipseCase* associatedEclipseCase(); + + virtual QString summaryHeaderFilename() const override; + virtual QString caseName() const override; + +private: + QString eclipseGridFileName() const; + +private: + caf::PdmPtrField m_eclipseCase; + caf::PdmProxyValueField m_eclipseGridFileName; + caf::PdmProxyValueField m_eclipseSummaryFileName; +}; + + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp new file mode 100644 index 0000000000..da8d4fccd3 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp @@ -0,0 +1,149 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimSummaryCase.h" + +#include "RigSummaryCaseData.h" +#include "RimEclipseCase.h" +#include "RimSummaryCaseCollection.h" + +#include +#include "RimProject.h" +#include "RimSummaryPlotCollection.h" +#include "RimMainPlotCollection.h" + +CAF_PDM_ABSTRACT_SOURCE_INIT(RimSummaryCase,"SummaryCase"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCase::RimSummaryCase() +{ + CAF_PDM_InitObject("Summary Case",":/SummaryCase48x48.png","",""); + + CAF_PDM_InitField(&m_shortName, "ShortName", QString("Display Name"), "Display Name", "", "", ""); + CAF_PDM_InitField(&m_useAutoShortName, "AutoShortyName", false, "Use Auto Display Name", "", "", ""); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCase::~RimSummaryCase() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCase::loadCase() +{ + if (m_summaryCaseData.isNull()) m_summaryCaseData = new RigSummaryCaseData(this->summaryHeaderFilename()); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigSummaryCaseData* RimSummaryCase::caseData() +{ + return m_summaryCaseData.p(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCase::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + if (changedField == &m_useAutoShortName) + { + this->updateAutoShortName(); + } + else if (changedField == &m_shortName) + { + updateTreeItemName(); + } + + RimProject* proj = NULL; + this->firstAncestorOrThisOfType(proj); + + RimMainPlotCollection* mainPlotColl = proj->mainPlotCollection(); + RimSummaryPlotCollection* summaryPlotColl = mainPlotColl->summaryPlotCollection(); + + summaryPlotColl->updateSummaryNameHasChanged(); + + updateOptionSensitivity(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCase::updateOptionSensitivity() +{ + m_shortName.uiCapability()->setUiReadOnly(m_useAutoShortName); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCase::updateTreeItemName() +{ + if (caseName() != shortName()) + this->setUiName(caseName() + " (" + shortName() +")"); + else + this->setUiName(caseName()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimSummaryCase::shortName() const +{ + return m_shortName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCase::initAfterRead() +{ + updateOptionSensitivity(); + + updateTreeItemName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCase::updateAutoShortName() +{ + if(m_useAutoShortName) + { + RimSummaryCaseCollection* summaryCaseCollection = NULL; + this->firstAncestorOrThisOfType(summaryCaseCollection); + CVF_ASSERT(summaryCaseCollection); + + m_shortName = summaryCaseCollection->uniqueShortNameForCase(this); + updateTreeItemName(); + } + else if (m_shortName() == QString("Display Name")) + { + m_shortName = caseName(); + updateTreeItemName(); + } +} diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.h new file mode 100644 index 0000000000..1f1a1b0dce --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.h @@ -0,0 +1,63 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#pragma once + +#include "cafPdmChildArrayField.h" +#include "cafPdmObject.h" +#include "cafPdmField.h" +#include "cvfObject.h" +#include "cafPdmPtrField.h" + +class RigSummaryCaseData; + +//================================================================================================== +// +// +// +//================================================================================================== + +class RimSummaryCase : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; +public: + RimSummaryCase(); + virtual ~RimSummaryCase(); + + virtual QString summaryHeaderFilename() const = 0; + virtual QString caseName() const = 0; + QString shortName() const; + + void updateAutoShortName(); + void updateOptionSensitivity(); + + void loadCase(); + RigSummaryCaseData* caseData(); + +protected: + void updateTreeItemName(); + + caf::PdmField m_shortName; + caf::PdmField m_useAutoShortName; + + cvf::ref m_summaryCaseData; + +private: + // Overridden PDM methods + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); + virtual void initAfterRead() override; +}; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCaseCollection.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCaseCollection.cpp new file mode 100644 index 0000000000..cbc4ffff3f --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCaseCollection.cpp @@ -0,0 +1,266 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#include "RimSummaryCaseCollection.h" + +#include "RifEclipseSummaryTools.h" +#include "RimEclipseResultCase.h" +#include "RimFileSummaryCase.h" +#include "RimGridSummaryCase.h" +#include "RimOilField.h" +#include "RimProject.h" +#include "RimSummaryCase.h" + +#include + + +CAF_PDM_SOURCE_INIT(RimSummaryCaseCollection,"SummaryCaseCollection"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCaseCollection::RimSummaryCaseCollection() +{ + CAF_PDM_InitObject("Summary Cases",":/Cases16x16.png","",""); + + CAF_PDM_InitFieldNoDefault(&m_cases,"SummaryCases","","","",""); + m_cases.uiCapability()->setUiHidden(true); + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCaseCollection::~RimSummaryCaseCollection() +{ + m_cases.deleteAllChildObjects(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCaseCollection::createSummaryCasesFromRelevantEclipseResultCases() +{ + RimProject* proj = nullptr; + firstAncestorOrThisOfType(proj); + if (proj) + { + std::vector all3DCases; + proj->allCases(all3DCases); + for (RimCase* aCase: all3DCases) + { + RimEclipseResultCase* eclResCase = dynamic_cast(aCase); + if (eclResCase) + { + // If we have no summary case corresponding to this eclipse case, + // try to create one. + bool isFound = false; + for (size_t scIdx = 0; scIdx < m_cases.size(); ++scIdx) + { + RimGridSummaryCase* grdSumCase = dynamic_cast(m_cases[scIdx]); + if (grdSumCase) + { + if (grdSumCase->associatedEclipseCase() == eclResCase) + { + isFound = true; + break; + } + } + } + + if (!isFound) + { + // Create new GridSummaryCase + createAndAddSummaryCaseFromEclipseResultCase(eclResCase); + + } + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCase* RimSummaryCaseCollection::findSummaryCaseFromEclipseResultCase(RimEclipseResultCase* eclipseResultCase) const +{ + for (RimSummaryCase* summaryCase : m_cases) + { + RimGridSummaryCase* gridSummaryCase = dynamic_cast(summaryCase); + if (gridSummaryCase && gridSummaryCase->associatedEclipseCase()) + { + if (gridSummaryCase->associatedEclipseCase()->gridFileName() == eclipseResultCase->gridFileName()) + { + return gridSummaryCase; + } + } + } + + return nullptr; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCase* RimSummaryCaseCollection::findSummaryCaseFromFileName(const QString& fileName) const +{ + // Use QFileInfo object to compare two file names to avoid mix of / and \\ + + QFileInfo incomingFileInfo(fileName); + + for (RimSummaryCase* summaryCase : m_cases) + { + RimFileSummaryCase* fileSummaryCase = dynamic_cast(summaryCase); + if (fileSummaryCase) + { + QFileInfo summaryFileInfo(fileSummaryCase->summaryHeaderFilename()); + if (incomingFileInfo == summaryFileInfo) + { + return fileSummaryCase; + } + } + } + + return nullptr; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCaseCollection::deleteCase(RimSummaryCase* summaryCase) +{ + m_cases.removeChildObject(summaryCase); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCase* RimSummaryCaseCollection::summaryCase(size_t idx) +{ + return m_cases[idx]; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +size_t RimSummaryCaseCollection::summaryCaseCount() +{ + return m_cases.size(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCaseCollection::loadAllSummaryCaseData() +{ + for (RimSummaryCase* sumCase: m_cases) + { + if (sumCase) sumCase->loadCase(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCase* RimSummaryCaseCollection::createAndAddSummaryCaseFromEclipseResultCase(RimEclipseResultCase* eclResCase) +{ + QString gridFileName = eclResCase->gridFileName(); + if(RifEclipseSummaryTools::hasSummaryFiles(QDir::toNativeSeparators(gridFileName).toStdString())) + { + RimGridSummaryCase* newSumCase = new RimGridSummaryCase(); + this->m_cases.push_back(newSumCase); + newSumCase->setAssociatedEclipseCase(eclResCase); + newSumCase->updateOptionSensitivity(); + return newSumCase; + } + return nullptr; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCase* RimSummaryCaseCollection::createAndAddSummaryCaseFromFileName(const QString& fileName) +{ + RimFileSummaryCase* newSumCase = new RimFileSummaryCase(); + + this->m_cases.push_back(newSumCase); + newSumCase->setSummaryHeaderFilename(fileName); + newSumCase->updateOptionSensitivity(); + + return newSumCase; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimSummaryCaseCollection::uniqueShortNameForCase(RimSummaryCase* summaryCase) +{ + std::set allAutoShortNames; + + for (RimSummaryCase* sumCase : m_cases) + { + if (sumCase && sumCase != summaryCase) + { + allAutoShortNames.insert(sumCase->shortName()); + } + } + + bool foundUnique = false; + + QString caseName = summaryCase->caseName(); + QString shortName; + + if (caseName.size() > 2) + { + QString candidate; + candidate += caseName[0]; + + for (int i = 1; i < caseName.size(); ++i ) + { + if (allAutoShortNames.count(candidate + caseName[i]) == 0) + { + shortName = candidate + caseName[i]; + foundUnique = true; + break; + } + } + } + else + { + shortName = caseName.left(2); + if(allAutoShortNames.count(shortName) == 0) + { + foundUnique = true; + } + } + + QString candidate = shortName; + int autoNumber = 0; + + while (!foundUnique) + { + candidate = shortName + QString::number(autoNumber++); + if(allAutoShortNames.count(candidate) == 0) + { + shortName = candidate; + foundUnique = true; + } + } + + return shortName; +} + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCaseCollection.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCaseCollection.h new file mode 100644 index 0000000000..5eaaa731a1 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCaseCollection.h @@ -0,0 +1,54 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#pragma once + +#include "cafPdmChildArrayField.h" +#include "cafPdmObject.h" + +class RimSummaryCase; +class RimEclipseResultCase; + +class RimSummaryCaseCollection : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; +public: + RimSummaryCaseCollection(); + virtual ~RimSummaryCaseCollection(); + + RimSummaryCase* summaryCase(size_t idx); + size_t summaryCaseCount(); + + void createSummaryCasesFromRelevantEclipseResultCases(); + RimSummaryCase* createAndAddSummaryCaseFromEclipseResultCase(RimEclipseResultCase* eclResCase); + RimSummaryCase* createAndAddSummaryCaseFromFileName(const QString& fileName); + + RimSummaryCase* findSummaryCaseFromEclipseResultCase(RimEclipseResultCase* eclResCase) const; + RimSummaryCase* findSummaryCaseFromFileName(const QString& fileName) const; + + void deleteCase(RimSummaryCase* summaryCase); + + + void loadAllSummaryCaseData(); + + QString uniqueShortNameForCase(RimSummaryCase* summaryCase); + +private: + +private: + caf::PdmChildArrayField m_cases; +}; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp new file mode 100644 index 0000000000..c964234cc7 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp @@ -0,0 +1,581 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimSummaryCurve.h" + +#include "RiaApplication.h" + +#include "RifReaderEclipseSummary.h" + +#include "RigSummaryCaseData.h" + +#include "RimDefines.h" +#include "RimEclipseResultCase.h" +#include "RimProject.h" +#include "RimSummaryCase.h" +#include "RimSummaryCurveAutoName.h" +#include "RimSummaryCurveFilter.h" +#include "RimSummaryFilter.h" +#include "RimSummaryPlot.h" + +#include "RiuLineSegmentQwtPlotCurve.h" +#include "RiuSummaryQwtPlot.h" + +#include "cafPdmUiComboBoxEditor.h" +#include "cafPdmUiListEditor.h" +#include "cafPdmUiTreeOrdering.h" + +#include "qwt_date.h" +#include "RimSummaryTimeAxisProperties.h" + + +CAF_PDM_SOURCE_INIT(RimSummaryAddress, "SummaryAddress"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryAddress::RimSummaryAddress() +{ + + CAF_PDM_InitFieldNoDefault(&m_category, "SummaryVarType", "Type", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_quantityName, "SummaryQuantityName", "Quantity", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_regionNumber, "SummaryRegion", "Region", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_regionNumber2, "SummaryRegion2", "Region2", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_wellGroupName, "SummaryWellGroup", "Group", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_wellName, "SummaryWell", "Well", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_wellSegmentNumber, "SummaryWellSegment", "Well Segment", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_lgrName, "SummaryLgr", "Grid", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_cellI, "SummaryCellI", "I", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_cellJ, "SummaryCellJ", "J", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_cellK, "SummaryCellK", "K", "", "", ""); + + m_category = RifEclipseSummaryAddress::SUMMARY_INVALID; + m_regionNumber = m_regionNumber2 = m_wellSegmentNumber = m_cellI = m_cellJ = m_cellK = -1; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryAddress::~RimSummaryAddress() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryAddress::setAddress(const RifEclipseSummaryAddress& addr) +{ + m_category = addr.category(); + m_quantityName = addr.quantityName().c_str(); + m_regionNumber = addr.regionNumber(); + m_regionNumber2 = addr.regionNumber2(); + m_wellGroupName = addr.wellGroupName().c_str(); + m_wellName = addr.wellName().c_str(); + m_wellSegmentNumber = addr.wellSegmentNumber(); + m_lgrName = addr.lgrName().c_str(); + + m_cellI = addr.cellI(); m_cellJ = addr.cellJ(); m_cellK = addr.cellK(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifEclipseSummaryAddress RimSummaryAddress::address() +{ + return RifEclipseSummaryAddress( m_category(), + m_quantityName().toStdString(), + m_regionNumber(), + m_regionNumber2(), + m_wellGroupName().toStdString(), + m_wellName().toStdString(), + m_wellSegmentNumber(), + m_lgrName().toStdString(), + m_cellI(), m_cellJ(), m_cellK()); +} + +namespace caf +{ + +template<> +void caf::AppEnum::setUp() +{ + addItem(RifEclipseSummaryAddress::SUMMARY_FIELD, "SUMMARY_FIELD", "Field"); + addItem(RifEclipseSummaryAddress::SUMMARY_AQUIFER, "SUMMARY_AQUIFER", "Aquifer"); + addItem(RifEclipseSummaryAddress::SUMMARY_NETWORK, "SUMMARY_NETWORK", "Network"); + addItem(RifEclipseSummaryAddress::SUMMARY_MISC, "SUMMARY_MISC", "Misc"); + addItem(RifEclipseSummaryAddress::SUMMARY_REGION, "SUMMARY_REGION", "Region"); + addItem(RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION, "SUMMARY_REGION_2_REGION", "Region-Region"); + addItem(RifEclipseSummaryAddress::SUMMARY_WELL_GROUP, "SUMMARY_WELL_GROUP", "Group"); + addItem(RifEclipseSummaryAddress::SUMMARY_WELL, "SUMMARY_WELL", "Well"); + addItem(RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION, "SUMMARY_WELL_COMPLETION", "Completion"); + addItem(RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION_LGR, "SUMMARY_WELL_COMPLETION_LGR", "Lgr-Completion"); + addItem(RifEclipseSummaryAddress::SUMMARY_WELL_LGR, "SUMMARY_WELL_LGR", "Lgr-Well"); + addItem(RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT, "SUMMARY_SEGMENT", "Segment"); + addItem(RifEclipseSummaryAddress::SUMMARY_BLOCK, "SUMMARY_BLOCK", "Block"); + addItem(RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR, "SUMMARY_BLOCK_LGR", "Lgr-Block"); + setDefault(RifEclipseSummaryAddress::SUMMARY_FIELD); +} + +} + + +CAF_PDM_SOURCE_INIT(RimSummaryCurve, "SummaryCurve"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCurve::RimSummaryCurve() +{ + CAF_PDM_InitObject("Summary Curve", ":/SummaryCurve16x16.png", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_summaryCase, "SummaryCase", "Case", "", "", ""); + m_summaryCase.uiCapability()->setUiTreeChildrenHidden(true); + + CAF_PDM_InitFieldNoDefault(&m_selectedVariableDisplayField, "SelectedVariableDisplayVar", "Vector", "", "", ""); + m_selectedVariableDisplayField.xmlCapability()->setIOWritable(false); + m_selectedVariableDisplayField.xmlCapability()->setIOReadable(false); + m_selectedVariableDisplayField.uiCapability()->setUiReadOnly(true); + + CAF_PDM_InitFieldNoDefault(&m_summaryFilter, "VarListFilter", "Filter", "", "", ""); + m_summaryFilter.uiCapability()->setUiTreeChildrenHidden(true); + m_summaryFilter.uiCapability()->setUiHidden(true); + + m_summaryFilterObject = std::unique_ptr(new RimSummaryFilter); + m_summaryFilter = m_summaryFilterObject.get(); + + CAF_PDM_InitFieldNoDefault(&m_uiFilterResultSelection, "FilterResultSelection", "Filter Result", "", "", ""); + m_uiFilterResultSelection.xmlCapability()->setIOWritable(false); + m_uiFilterResultSelection.xmlCapability()->setIOReadable(false); + m_uiFilterResultSelection.uiCapability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName()); + m_uiFilterResultSelection.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); + m_uiFilterResultSelection.uiCapability()->setAutoAddingOptionFromValue(false); + + CAF_PDM_InitFieldNoDefault(&m_curveVariable, "SummaryAddress", "SummaryAddress", "", "", ""); + m_curveVariable.uiCapability()->setUiHidden(true); + m_curveVariable.uiCapability()->setUiTreeChildrenHidden(true); + + m_curveVariableObject = std::unique_ptr(new RimSummaryAddress); + m_curveVariable = m_curveVariableObject.get(); + + CAF_PDM_InitFieldNoDefault(&m_plotAxis, "PlotAxis", "Axis", "", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_curveNameConfig, "SummaryCurveNameConfig", "SummaryCurveNameConfig", "", "", ""); + m_curveNameConfig.uiCapability()->setUiHidden(true); + m_curveNameConfig.uiCapability()->setUiTreeChildrenHidden(true); + + m_curveNameConfigObject = std::unique_ptr(new RimSummaryCurveAutoName); + m_curveNameConfig = m_curveNameConfigObject.get(); + + m_symbolSkipPixelDistance = 10.0f; + m_curveThickness = 2; + updateOptionSensitivity(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCurve::~RimSummaryCurve() +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurve::setSummaryCase(RimSummaryCase* sumCase) +{ + m_summaryCase = sumCase; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCase* RimSummaryCurve::summaryCase() +{ + return m_summaryCase(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurve::setVariable(QString varName) +{ + m_curveVariable->setAddress(RifEclipseSummaryAddress::fieldVarAddress(varName.toStdString())); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifEclipseSummaryAddress RimSummaryCurve::summaryAddress() +{ + return m_curveVariable->address(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurve::setSummaryAddress(const RifEclipseSummaryAddress& address) +{ + m_curveVariable->setAddress(address); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::string RimSummaryCurve::unitName() +{ + RifReaderEclipseSummary* reader = summaryReader(); + if (reader) return reader->unitName(this->summaryAddress()); + return ""; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RimSummaryCurve::yValues() const +{ + std::vector values; + + RifReaderEclipseSummary* reader = summaryReader(); + + if ( !reader ) return values; + + RifEclipseSummaryAddress addr = m_curveVariable()->address(); + reader->values(addr, &values); + + return values; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RimSummaryCurve::timeSteps() const +{ + static std::vector emptyVector; + RifReaderEclipseSummary* reader = summaryReader(); + + if ( !reader ) return emptyVector; + + return reader->timeSteps(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurve::setYAxis(RimDefines::PlotAxis plotAxis) +{ + m_plotAxis = plotAxis; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimDefines::PlotAxis RimSummaryCurve::yAxis() const +{ + return m_plotAxis(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QList RimSummaryCurve::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) +{ + QList optionList = this->RimPlotCurve::calculateValueOptions(fieldNeedingOptions,useOptionsOnly); + if (!optionList.isEmpty()) return optionList; + + + if (fieldNeedingOptions == &m_summaryCase) + { + RimProject* proj = RiaApplication::instance()->project(); + std::vector cases; + + proj->allSummaryCases(cases); + + for (size_t i = 0; i < cases.size(); i++) + { + RimSummaryCase* rimCase = cases[i]; + + optionList.push_back(caf::PdmOptionItemInfo(rimCase->caseName(), QVariant::fromValue(caf::PdmPointer(rimCase)))); + } + + if (optionList.size() > 0) + { + optionList.push_front(caf::PdmOptionItemInfo("None", QVariant::fromValue(caf::PdmPointer(NULL)))); + } + } + else if(fieldNeedingOptions == &m_uiFilterResultSelection) + { + if(m_summaryCase) + { + RifReaderEclipseSummary* reader = summaryReader(); + int addressCount = 0; + if(reader) + { + const std::vector allAddresses = reader->allResultAddresses(); + addressCount = static_cast(allAddresses.size()); + std::map addrToIdxMap; + for(int i = 0; i isIncludedByFilter(allAddresses[i] )) continue; + addrToIdxMap[allAddresses[i]] = i; + } + + for (const auto& addrIntPair: addrToIdxMap) + { + std::string name = addrIntPair.first.uiText(); + QString s = QString::fromStdString(name); + optionList.push_back(caf::PdmOptionItemInfo(s, addrIntPair.second)); + } + } + + optionList.push_front(caf::PdmOptionItemInfo(RimDefines::undefinedResultName(), addressCount)); + + if(useOptionsOnly) *useOptionsOnly = true; + } + } + return optionList; + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimSummaryCurve::createCurveAutoName() +{ + return m_curveNameConfig->curveName(m_curveVariable->address()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurve::updateZoomInParentPlot() +{ + RimSummaryPlot* plot = nullptr; + firstAncestorOrThisOfType(plot); + + plot->updateZoomInQwt(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurve::onLoadDataAndUpdate() +{ + this->RimPlotCurve::updateCurvePresentation(); + + m_selectedVariableDisplayField = QString::fromStdString(m_curveVariable->address().uiText()); + + RifReaderEclipseSummary* reader = summaryReader(); + if (reader) + { + const std::vector allAddresses = reader->allResultAddresses(); + + for (size_t i = 0; i < allAddresses.size(); i++) + { + if (allAddresses[i].uiText() == m_curveVariable->address().uiText()) + { + m_uiFilterResultSelection = static_cast(i); + updateConnectedEditors(); + } + } + } + + if (isCurveVisible()) + { + std::vector dateTimes = this->timeSteps(); + std::vector values = this->yValues(); + + RimSummaryPlot* plot = nullptr; + firstAncestorOrThisOfType(plot); + bool isLogCurve = plot->isLogarithmicScaleEnabled(this->yAxis()); + + if (dateTimes.size() > 0 && dateTimes.size() == values.size()) + { + if (plot->timeAxisProperties()->timeMode() == RimSummaryTimeAxisProperties::DATE) + { + m_qwtPlotCurve->setSamplesFromTimeTAndValues(dateTimes, values, isLogCurve); + } + else + { + double timeScale = plot->timeAxisProperties()->fromTimeTToDisplayUnitScale(); + + std::vector times; + if ( dateTimes.size() ) + { + time_t startDate = dateTimes[0]; + for ( time_t& date: dateTimes ) + { + times.push_back(timeScale*(date - startDate)); + } + } + + m_qwtPlotCurve->setSamplesFromTimeAndValues(times, values, isLogCurve); + } + + } + else + { + m_qwtPlotCurve->setSamplesFromTimeTAndValues(std::vector(), std::vector(), isLogCurve); + } + + updateZoomInParentPlot(); + + if (m_parentQwtPlot) m_parentQwtPlot->replot(); + } + + updateQwtPlotAxis(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurve::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) +{ + caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup("Summary Vector"); + curveDataGroup->add(&m_summaryCase); + curveDataGroup->add(&m_selectedVariableDisplayField); + + caf::PdmUiGroup* curveVarSelectionGroup = curveDataGroup->addNewGroup("Vector Selection"); + m_summaryFilter->defineUiOrdering(uiConfigName, *curveVarSelectionGroup); + + curveVarSelectionGroup->add(&m_uiFilterResultSelection); + + caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroup("Appearance"); + appearanceGroup->add(&m_curveColor); + appearanceGroup->add(&m_curveThickness); + appearanceGroup->add(&m_pointSymbol); + appearanceGroup->add(&m_symbolSkipPixelDistance); + appearanceGroup->add(&m_lineStyle); + appearanceGroup->add(&m_curveName); + appearanceGroup->add(&m_isUsingAutoName); + + if (m_isUsingAutoName) + { + caf::PdmUiGroup* autoNameGroup = appearanceGroup->addNewGroup("Auto Name Config"); + m_curveNameConfig->defineUiOrdering(uiConfigName, *autoNameGroup); + } + + uiOrdering.add(&m_plotAxis); + + uiOrdering.setForgetRemainingFields(true); // For now. +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurve::updateQwtPlotAxis() +{ + if (m_qwtPlotCurve) + { + if (this->yAxis() == RimDefines::PLOT_AXIS_LEFT) + { + m_qwtPlotCurve->setYAxis(QwtPlot::yLeft); + } + else + { + m_qwtPlotCurve->setYAxis(QwtPlot::yRight); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurve::applyCurveAutoNameSettings(const RimSummaryCurveAutoName& autoNameSettings) +{ + m_curveNameConfig->applySettings(autoNameSettings); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurve::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + this->RimPlotCurve::fieldChangedByUi(changedField,oldValue,newValue); + + RimSummaryPlot* plot = nullptr; + firstAncestorOrThisOfType(plot); + CVF_ASSERT(plot); + + if(changedField == &m_uiFilterResultSelection) + { + if (0 <= m_uiFilterResultSelection() && static_cast(m_uiFilterResultSelection()) < summaryReader()->allResultAddresses().size()) + { + m_curveVariable->setAddress(summaryReader()->allResultAddresses()[m_uiFilterResultSelection()]); + } + else + { + m_curveVariable->setAddress(RifEclipseSummaryAddress()); + } + + this->loadDataAndUpdate(); + + plot->updateAxes(); + } + else if (&m_showCurve == changedField) + { + plot->updateAxes(); + } + else if (changedField == &m_plotAxis) + { + updateQwtPlotAxis(); + + plot->updateAxes(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifReaderEclipseSummary* RimSummaryCurve::summaryReader() const +{ + if (!m_summaryCase()) return nullptr; + + if (!m_summaryCase->caseData()) return nullptr; + + return m_summaryCase()->caseData()->summaryReader(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurve::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName /*= ""*/) +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimSummaryCurve::curveData(std::vector* timeSteps, std::vector* values) const +{ + CVF_ASSERT(timeSteps && values); + + RifReaderEclipseSummary* reader = summaryReader(); + + if (!reader) return false; + + std::vector times = reader->timeSteps(); + *timeSteps = RifReaderEclipseSummary::fromTimeT(times); + + if (!times.size()) return false; + + RifEclipseSummaryAddress addr = m_curveVariable()->address(); + return reader->values(addr, values); +} + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.h new file mode 100644 index 0000000000..ff357156e0 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.h @@ -0,0 +1,133 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + + +#pragma once + +#include "cafPdmField.h" +#include "cafPdmObject.h" +#include "cafPdmPointer.h" +#include "cafPdmPtrField.h" +#include "cafPdmChildField.h" + +#include "RifEclipseSummaryAddress.h" +#include "RimDefines.h" +#include "RimPlotCurve.h" + +#include "cafAppEnum.h" + +#include + +class RifReaderEclipseSummary; +class RimSummaryCase; +class RimSummaryFilter; +class RiuLineSegmentQwtPlotCurve; +class RimSummaryCurveAutoName; + +class RimSummaryAddress: public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; +public: + RimSummaryAddress();; + virtual ~RimSummaryAddress(); + + void setAddress(const RifEclipseSummaryAddress& addr); + RifEclipseSummaryAddress address(); + +private: + + caf::PdmField > + m_category; + caf::PdmField m_quantityName; + caf::PdmField m_regionNumber; + caf::PdmField m_regionNumber2; + caf::PdmField m_wellGroupName; + caf::PdmField m_wellName; + caf::PdmField m_wellSegmentNumber; + caf::PdmField m_lgrName; + caf::PdmField m_cellI; + caf::PdmField m_cellJ; + caf::PdmField m_cellK; + +}; + +//================================================================================================== +/// +/// +//================================================================================================== +class RimSummaryCurve : public RimPlotCurve +{ + CAF_PDM_HEADER_INIT; + +public: + RimSummaryCurve(); + virtual ~RimSummaryCurve(); + + void setSummaryCase(RimSummaryCase* sumCase); + RimSummaryCase* summaryCase(); + void setVariable(QString varName); + + RifEclipseSummaryAddress summaryAddress(); + void setSummaryAddress(const RifEclipseSummaryAddress& address); + std::string unitName(); + + std::vector yValues() const; + const std::vector& timeSteps() const; + + void setYAxis(RimDefines::PlotAxis plotAxis); + RimDefines::PlotAxis yAxis() const; + void updateQwtPlotAxis(); + + void applyCurveAutoNameSettings(const RimSummaryCurveAutoName& autoNameSettings); + +protected: + // RimPlotCurve overrides + + virtual QString createCurveAutoName() override; + virtual void updateZoomInParentPlot() override; + virtual void onLoadDataAndUpdate() override; + +private: + RifReaderEclipseSummary* summaryReader() const; + bool curveData(std::vector* timeSteps, std::vector* values) const; + + // Overridden PDM methods + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); + virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = ""); + virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly); + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; + +private: + // Fields + caf::PdmPtrField m_summaryCase; + caf::PdmChildField m_curveVariable; + caf::PdmField m_selectedVariableDisplayField; + + caf::PdmChildField m_curveNameConfig; + + caf::PdmField< caf::AppEnum< RimDefines::PlotAxis > > m_plotAxis; + + // Filter fields + caf::PdmChildField m_summaryFilter; + caf::PdmField m_uiFilterResultSelection; + + // Internal objects managed by unique_ptr + std::unique_ptr m_curveVariableObject; + std::unique_ptr m_summaryFilterObject; + std::unique_ptr m_curveNameConfigObject; +}; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAppearanceCalculator.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAppearanceCalculator.cpp new file mode 100644 index 0000000000..b65ff72be7 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAppearanceCalculator.cpp @@ -0,0 +1,468 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimSummaryCurveAppearanceCalculator.h" +#include "RimSummaryCurve.h" +#include "cvfVector3.h" + +#include + +namespace caf +{ +template<> +void caf::AppEnum< RimSummaryCurveAppearanceCalculator::CurveAppearanceType >::setUp() +{ + addItem(RimSummaryCurveAppearanceCalculator::NONE, "NONE", "None"); + addItem(RimSummaryCurveAppearanceCalculator::COLOR, "COLOR", "Color"); + addItem(RimSummaryCurveAppearanceCalculator::SYMBOL, "SYMBOL", "Symbols"); + addItem(RimSummaryCurveAppearanceCalculator::LINE_STYLE, "LINE_STYLE", "Line Style"); + addItem(RimSummaryCurveAppearanceCalculator::GRADIENT, "GRADIENT", "Gradient"); + addItem(RimSummaryCurveAppearanceCalculator::LINE_THICKNESS, "LINE_THICKNESS", "Line Thickness"); + + setDefault(RimSummaryCurveAppearanceCalculator::NONE); +} +} +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCurveAppearanceCalculator::RimSummaryCurveAppearanceCalculator(const std::set >& curveDefinitions) +{ + for(const std::pair& curveDef : curveDefinitions) + { + if(curveDef.first) m_caseToAppearanceIdxMap[curveDef.first] = -1; + if(!curveDef.second.wellName().empty()) m_welToAppearanceIdxMap[curveDef.second.wellName()] = -1; + if(!curveDef.second.wellGroupName().empty()) m_grpToAppearanceIdxMap[curveDef.second.wellGroupName()] = -1; + if(!(curveDef.second.regionNumber() == -1)) m_regToAppearanceIdxMap[curveDef.second.regionNumber()] = -1; + + if(!curveDef.second.quantityName().empty()) + { + std::string varname = curveDef.second.quantityName(); + m_varToAppearanceIdxMap[varname] = -1; + + // Indexes for sub color ranges + char secondChar = 0; + if(varname.size() > 1) + { + secondChar = varname[1]; + if ( secondChar != 'W' + && secondChar != 'O' + && secondChar != 'G' + && secondChar != 'V') + { + secondChar = 0; // Consider all others as one group for coloring + } + } + m_secondCharToVarToAppearanceIdxMap[secondChar][varname] = -1; + } + } + + m_caseCount = m_caseToAppearanceIdxMap.size(); + m_variableCount = m_varToAppearanceIdxMap .size(); + m_wellCount = m_welToAppearanceIdxMap .size(); + m_groupCount = m_grpToAppearanceIdxMap .size(); + m_regionCount = m_regToAppearanceIdxMap .size(); + + // Select the default appearance type for each data "dimension" + + m_caseAppearanceType = NONE; + m_varAppearanceType = NONE; + m_wellAppearanceType = NONE; + m_groupAppearanceType = NONE; + m_regionAppearanceType = NONE; + + std::set unusedAppearTypes; + unusedAppearTypes.insert(COLOR); + unusedAppearTypes.insert(GRADIENT); + unusedAppearTypes.insert(LINE_STYLE); + unusedAppearTypes.insert(SYMBOL); + unusedAppearTypes.insert(LINE_THICKNESS); + + m_dimensionCount = 0; + if(m_variableCount > 1) { m_varAppearanceType = *(unusedAppearTypes.begin()); unusedAppearTypes.erase(unusedAppearTypes.begin()); m_dimensionCount++; } + if(m_caseCount > 1) { m_caseAppearanceType = *(unusedAppearTypes.begin()); unusedAppearTypes.erase(unusedAppearTypes.begin()); m_dimensionCount++; } + if(m_wellCount > 1) { m_wellAppearanceType = *(unusedAppearTypes.begin()); unusedAppearTypes.erase(unusedAppearTypes.begin()); m_dimensionCount++; } + if(m_groupCount > 1) { m_groupAppearanceType = *(unusedAppearTypes.begin()); unusedAppearTypes.erase(unusedAppearTypes.begin()); m_dimensionCount++; } + if(m_regionCount > 1) { m_regionAppearanceType = *(unusedAppearTypes.begin()); unusedAppearTypes.erase(unusedAppearTypes.begin()); m_dimensionCount++; } + + if (m_dimensionCount == 0) m_varAppearanceType = COLOR; // basically one curve + + // Assign increasing indexes + { int idx = 0; for(auto& pair : m_caseToAppearanceIdxMap) pair.second = idx++; } + { int idx = 0; for(auto& pair : m_varToAppearanceIdxMap) pair.second = idx++; } + { int idx = 0; for(auto& pair : m_welToAppearanceIdxMap) pair.second = idx++; } + { int idx = 0; for(auto& pair : m_grpToAppearanceIdxMap) pair.second = idx++; } + { int idx = 0; for(auto& pair : m_regToAppearanceIdxMap) pair.second = idx++; } + + for (auto& charMapPair : m_secondCharToVarToAppearanceIdxMap) + { int idx = 0; for(auto& pair : charMapPair.second) pair.second = idx++; } + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveAppearanceCalculator::assignDimensions( CurveAppearanceType caseAppearance, + CurveAppearanceType variAppearance, + CurveAppearanceType wellAppearance, + CurveAppearanceType gropAppearance, + CurveAppearanceType regiAppearance) +{ + m_caseAppearanceType = caseAppearance; + m_varAppearanceType = variAppearance; + m_wellAppearanceType = wellAppearance; + m_groupAppearanceType = gropAppearance; + m_regionAppearanceType = regiAppearance; + + // Update the dimensionCount + m_dimensionCount = 0; + if(m_caseAppearanceType != NONE) ++m_dimensionCount; + if(m_varAppearanceType != NONE) ++m_dimensionCount; + if(m_wellAppearanceType != NONE) ++m_dimensionCount; + if(m_groupAppearanceType != NONE) ++m_dimensionCount; + if(m_regionAppearanceType != NONE) ++m_dimensionCount; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveAppearanceCalculator::getDimensions(CurveAppearanceType* caseAppearance, + CurveAppearanceType* variAppearance, + CurveAppearanceType* wellAppearance, + CurveAppearanceType* gropAppearance, + CurveAppearanceType* regiAppearance) const +{ + *caseAppearance = m_caseAppearanceType ; + *variAppearance = m_varAppearanceType ; + *wellAppearance = m_wellAppearanceType ; + *gropAppearance = m_groupAppearanceType ; + *regiAppearance = m_regionAppearanceType; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveAppearanceCalculator::setupCurveLook(RimSummaryCurve* curve) +{ + m_currentCurveBaseColor = cvf::Color3f(0, 0, 0); + m_currentCurveGradient = 0.0f; + + int caseAppearanceIdx = m_caseToAppearanceIdxMap[curve->summaryCase()]; + int varAppearanceIdx = m_varToAppearanceIdxMap[curve->summaryAddress().quantityName()]; + int welAppearanceIdx = m_welToAppearanceIdxMap[curve->summaryAddress().wellName()]; + int grpAppearanceIdx = m_grpToAppearanceIdxMap[curve->summaryAddress().wellGroupName()]; + int regAppearanceIdx = m_regToAppearanceIdxMap[curve->summaryAddress().regionNumber()]; + + // Remove index for curves without value at the specific dimension + if(curve->summaryAddress().wellName().empty()) welAppearanceIdx = -1; + if(curve->summaryAddress().wellGroupName().empty()) grpAppearanceIdx = -1; + if(curve->summaryAddress().regionNumber() < 0) regAppearanceIdx = -1; + + setOneCurveAppearance(m_caseAppearanceType, m_caseCount, caseAppearanceIdx, curve); + setOneCurveAppearance(m_wellAppearanceType, m_wellCount, welAppearanceIdx, curve); + setOneCurveAppearance(m_groupAppearanceType, m_groupCount, grpAppearanceIdx, curve); + setOneCurveAppearance(m_regionAppearanceType, m_regionCount, regAppearanceIdx, curve); + + if (m_varAppearanceType == COLOR && m_secondCharToVarToAppearanceIdxMap.size() > 1) + { + int subColorIndex = -1; + char secondChar = 0; + std::string varname = curve->summaryAddress().quantityName(); + if (varname.size() > 1) secondChar = varname[1]; + + subColorIndex = m_secondCharToVarToAppearanceIdxMap[secondChar][varname]; + + if (secondChar == 'W') + { + // Pick blue + m_currentCurveBaseColor = cycledBlueColor(subColorIndex); + } + else if (secondChar == 'O') + { + // Pick Green + m_currentCurveBaseColor = cycledGreenColor(subColorIndex); + } + else if (secondChar == 'G') + { + // Pick Red + m_currentCurveBaseColor = cycledRedColor(subColorIndex); + } + else if(secondChar == 'V') + { + // Pick Brown + m_currentCurveBaseColor = cycledBrownColor(subColorIndex); + } + else + { + m_currentCurveBaseColor = cycledNoneRGBBrColor(subColorIndex); + } + } + else + { + setOneCurveAppearance(m_varAppearanceType, m_variableCount, varAppearanceIdx, curve); + } + + curve->setColor(gradeColor(m_currentCurveBaseColor, m_currentCurveGradient)); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveAppearanceCalculator::setOneCurveAppearance(CurveAppearanceType appeaType, size_t totalCount, int appeaIdx, RimSummaryCurve* curve) +{ + switch(appeaType) + { + case NONE: + break; + case COLOR: + m_currentCurveBaseColor = cycledPaletteColor(appeaIdx); + break; + case GRADIENT: + m_currentCurveGradient = gradient(totalCount, appeaIdx); + break; + case LINE_STYLE: + curve->setLineStyle(cycledLineStyle(appeaIdx)); + break; + case SYMBOL: + curve->setSymbol(cycledSymbol(appeaIdx)); + break; + case LINE_THICKNESS: + curve->setLineThickness(cycledLineThickness(appeaIdx)); + break; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Color3f RimSummaryCurveAppearanceCalculator::cycledPaletteColor(int colorIndex) +{ + if (colorIndex < 0) return cvf::Color3f::BLACK; + + static const int colorCount = 15; + static const cvf::ubyte colorData[][3] = + { + { 0, 112, 136 }, // Dark Green-Blue + { 202, 0, 0 }, // Red + { 78, 204, 0 }, // Clear Green + { 236, 118, 0 }, // Orange + { 0 , 0, 0 }, // Black + { 56, 56, 255 }, // Vivid Blue + { 248, 0, 170 }, // Magenta + { 169, 2, 240 }, // Purple + { 0, 221, 221 }, // Turquoise + { 201, 168, 206 }, // Light Violet + { 0, 205, 68 }, // Bluish Green + { 236, 188, 0 }, // Mid Yellow + { 51, 204, 255 }, // Bluer Turquoise + { 164, 193, 0 }, // Mid Yellowish Green + { 0, 143, 239 }, // Dark Light Blue + }; + + int paletteIdx = colorIndex % colorCount; + + cvf::Color3ub ubColor(colorData[paletteIdx][0], colorData[paletteIdx][1], colorData[paletteIdx][2]); + cvf::Color3f cvfColor(ubColor); + return cvfColor; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Color3f RimSummaryCurveAppearanceCalculator::cycledNoneRGBBrColor(int colorIndex) +{ + if(colorIndex < 0) return cvf::Color3f::BLACK; + + static const int colorCount = 7; + static const cvf::ubyte colorData[][3] = + { + { 236, 118, 0 }, // Orange + { 0 , 0, 0 }, // Black + { 248, 0, 170 }, // Magenta + { 236, 188, 0 }, // Mid Yellow + { 169, 2, 240 }, // Purple + { 0, 221, 221 }, // Turquoise + { 201, 168, 206 }, // Light Violet + }; + + int paletteIdx = colorIndex % colorCount; + + cvf::Color3ub ubColor(colorData[paletteIdx][0], colorData[paletteIdx][1], colorData[paletteIdx][2]); + cvf::Color3f cvfColor(ubColor); + return cvfColor; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Color3f RimSummaryCurveAppearanceCalculator::cycledGreenColor(int colorIndex) +{ + if(colorIndex < 0) return cvf::Color3f::BLACK; + + static const int colorCount = 3; + static const cvf::ubyte colorData[][3] = + { + { 78, 204, 0 }, // Clear Green + { 164, 193, 0 }, // Mid Yellowish Green + { 0, 205, 68 } // Bluish Green + }; + + int paletteIdx = colorIndex % colorCount; + + cvf::Color3ub ubColor(colorData[paletteIdx][0], colorData[paletteIdx][1], colorData[paletteIdx][2]); + cvf::Color3f cvfColor(ubColor); + return cvfColor; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Color3f RimSummaryCurveAppearanceCalculator::cycledBlueColor(int colorIndex) +{ + if(colorIndex < 0) return cvf::Color3f::BLACK; + + static const int colorCount = 3; + static const cvf::ubyte colorData[][3] = + { + { 56, 56, 255 }, // Vivid Blue + { 0, 143, 239 }, // Dark Light Blue + { 153, 153, 255 }, // Off Light Blue + }; + + int paletteIdx = colorIndex % colorCount; + + cvf::Color3ub ubColor(colorData[paletteIdx][0], colorData[paletteIdx][1], colorData[paletteIdx][2]); + cvf::Color3f cvfColor(ubColor); + return cvfColor; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Color3f RimSummaryCurveAppearanceCalculator::cycledRedColor(int colorIndex) +{ + if(colorIndex < 0) return cvf::Color3f::BLACK; + + static const int colorCount = 3; + static const cvf::ubyte colorData[][3] = + { + { 202, 0, 0 }, // Off Red + { 255, 51, 51}, // Bright Red + { 255, 102, 102 } // Light Red + }; + + int paletteIdx = colorIndex % colorCount; + + cvf::Color3ub ubColor(colorData[paletteIdx][0], colorData[paletteIdx][1], colorData[paletteIdx][2]); + cvf::Color3f cvfColor(ubColor); + return cvfColor; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Color3f RimSummaryCurveAppearanceCalculator::cycledBrownColor(int colorIndex) +{ + if(colorIndex < 0) return cvf::Color3f::BLACK; + + static const int colorCount = 3; + static const cvf::ubyte colorData[][3] = + { + {186, 101, 44}, + { 99, 53, 23 }, // Highway Brown + { 103, 56, 24} // Dark Brown + }; + + int paletteIdx = colorIndex % colorCount; + + cvf::Color3ub ubColor(colorData[paletteIdx][0], colorData[paletteIdx][1], colorData[paletteIdx][2]); + cvf::Color3f cvfColor(ubColor); + return cvfColor; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimPlotCurve::LineStyleEnum RimSummaryCurveAppearanceCalculator::cycledLineStyle(int index) +{ + if (index < 0) return RimPlotCurve::STYLE_SOLID; + + return caf::AppEnum::fromIndex(1 + (index % (caf::AppEnum::size() - 1))); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimPlotCurve::PointSymbolEnum RimSummaryCurveAppearanceCalculator::cycledSymbol(int index) +{ + if (index < 0) return RimPlotCurve::SYMBOL_NONE; + + return caf::AppEnum::fromIndex(1 + (index % (caf::AppEnum::size() - 1))); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int RimSummaryCurveAppearanceCalculator::cycledLineThickness(int index) +{ + static const int thicknessCount = 3; + static const int thicknesses[] ={ 1, 3, 5 }; + + if (index < 0) return 1; + return (thicknesses[(index) % 3]); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +float RimSummaryCurveAppearanceCalculator::gradient(size_t totalCount, int index) +{ + if(totalCount == 1 || index < 0) return 0.0f; + + const float darkLimit = -0.45f; + const float lightLimit = 0.7f; + float totalSpan = lightLimit - darkLimit; + float step = totalSpan / (totalCount -1); + return darkLimit + (index * step); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Color3f RimSummaryCurveAppearanceCalculator::gradeColor(const cvf::Color3f& color, float factor) +{ + CVF_ASSERT(-1.0 <= factor && factor <= 1.0); + + cvf::Vec3f orgC(color.r(), color.g(), color.b()); + cvf::Vec3f targetC; + if(factor < 0) + { + targetC = cvf::Vec3f(0, 0, 0); + } + else + { + targetC = cvf::Vec3f(1, 1, 1); + } + + cvf::Vec3f newColor = ((float)fabs(factor)) * (targetC - orgC) + orgC; + + return cvf::Color3f(newColor[0], newColor[1], newColor[2]); +} diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAppearanceCalculator.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAppearanceCalculator.h new file mode 100644 index 0000000000..4c591db5a3 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAppearanceCalculator.h @@ -0,0 +1,101 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#pragma once +#include "cvfBase.h" +#include "cvfColor3.h" +#include +#include "RifEclipseSummaryAddress.h" +#include "RimPlotCurve.h" + +class RimSummaryCurve; +class RimSummaryCase; + +class RimSummaryCurveAppearanceCalculator +{ +public: + RimSummaryCurveAppearanceCalculator(const std::set >& curveDefinitions); + enum CurveAppearanceType + { + NONE, + COLOR, + SYMBOL, + LINE_STYLE, + GRADIENT, + LINE_THICKNESS + }; + + void assignDimensions(CurveAppearanceType caseAppearance, + CurveAppearanceType variAppearance, + CurveAppearanceType wellAppearance, + CurveAppearanceType gropAppearance, + CurveAppearanceType regiAppearance); + void getDimensions(CurveAppearanceType* caseAppearance, + CurveAppearanceType* variAppearance, + CurveAppearanceType* wellAppearance, + CurveAppearanceType* gropAppearance, + CurveAppearanceType* regiAppearance) const; + + void setupCurveLook(RimSummaryCurve* curve); + +private: + + + void setOneCurveAppearance(CurveAppearanceType appeaType, size_t totalCount, int appeaIdx, RimSummaryCurve* curve); + + cvf::Color3f cycledPaletteColor(int colorIndex); + cvf::Color3f cycledNoneRGBBrColor(int colorIndex); + cvf::Color3f cycledGreenColor(int colorIndex); + cvf::Color3f cycledBlueColor(int colorIndex); + cvf::Color3f cycledRedColor(int colorIndex); + cvf::Color3f cycledBrownColor(int colorIndex); + + RimPlotCurve::LineStyleEnum cycledLineStyle(int index); + RimPlotCurve::PointSymbolEnum cycledSymbol(int index); + int cycledLineThickness(int index); + float gradient(size_t totalCount, int index); + + cvf::Color3f gradeColor(const cvf::Color3f& color , float factor); + + cvf::Color3f m_currentCurveBaseColor; + float m_currentCurveGradient; + + size_t m_caseCount; + size_t m_variableCount; + size_t m_wellCount; + size_t m_groupCount; + size_t m_regionCount; + int m_dimensionCount; + + CurveAppearanceType m_caseAppearanceType; + CurveAppearanceType m_varAppearanceType; + CurveAppearanceType m_wellAppearanceType; + CurveAppearanceType m_groupAppearanceType; + CurveAppearanceType m_regionAppearanceType; + + std::map m_caseToAppearanceIdxMap; + std::map m_varToAppearanceIdxMap; + std::map m_welToAppearanceIdxMap; + std::map m_grpToAppearanceIdxMap; + std::map m_regToAppearanceIdxMap; + + std::map > m_secondCharToVarToAppearanceIdxMap; + +}; + + + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAutoName.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAutoName.cpp new file mode 100644 index 0000000000..cdccb7c83f --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAutoName.cpp @@ -0,0 +1,305 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimSummaryCurveAutoName.h" + +#include "RifEclipseSummaryAddress.h" + +#include "RimSummaryCurve.h" +#include "RimSummaryCase.h" +#include "RimSummaryCurveFilter.h" + +#include "cafPdmUiPushButtonEditor.h" + + + +CAF_PDM_SOURCE_INIT(RimSummaryCurveAutoName, "SummaryCurveAutoName"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCurveAutoName::RimSummaryCurveAutoName() +{ + CAF_PDM_InitObject("RimSummaryCurveAutoName", "", "", ""); + + CAF_PDM_InitField(&m_vectorName, "VectorName", true, "Vector Name", "", "", ""); + CAF_PDM_InitField(&m_unit, "Unit", false,"Unit", "", "", ""); + CAF_PDM_InitField(&m_regionNumber, "RegionNumber", true, "Region Number", "", "", ""); + CAF_PDM_InitField(&m_wellGroupName, "WellGroupName", true, "Group Name", "", "", ""); + CAF_PDM_InitField(&m_wellName, "WellName", true, "Well Name", "", "", ""); + CAF_PDM_InitField(&m_wellSegmentNumber, "WellSegmentNumber", true, "Well Segment Number", "", "", ""); + CAF_PDM_InitField(&m_lgrName, "LgrName", true, "Lgr Name", "", "", ""); + CAF_PDM_InitField(&m_completion, "Completion", true, "I, J, K", "", "", ""); + + CAF_PDM_InitField(&m_caseName, "CaseName", true, "Case Name", "", "", ""); + + CAF_PDM_InitField(&m_showAdvancedProperties, "ShowAdvancedProperties", false, "Show Advanced Properties", "", "", ""); + m_showAdvancedProperties.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName()); + m_showAdvancedProperties.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimSummaryCurveAutoName::curveName(const RifEclipseSummaryAddress& summaryAddress) const +{ + std::string text; + + RimSummaryCurve* summaryCurve = nullptr; + this->firstAncestorOrThisOfType(summaryCurve); + + if (m_vectorName) + { + text += summaryAddress.quantityName(); + + if (m_unit && summaryCurve) + { + text += "[" + summaryCurve->unitName() + "]"; + } + } + + switch (summaryAddress.category()) + { + case RifEclipseSummaryAddress::SUMMARY_REGION: + { + if (m_regionNumber) + { + if (text.size() > 0) text +=":"; + text += std::to_string(summaryAddress.regionNumber()); + } + } + break; + case RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION: + { + if (m_regionNumber) + { + if (text.size() > 0) text += ":"; + text += std::to_string(summaryAddress.regionNumber()); + text += "-" + std::to_string(summaryAddress.regionNumber2()); + } + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP: + { + if (m_wellGroupName) + { + if (text.size() > 0) text += ":"; + text += summaryAddress.wellGroupName(); + } + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL: + { + appendWellName(text, summaryAddress); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION: + { + appendWellName(text, summaryAddress); + + if (m_completion) + { + if (text.size() > 0) text += ":"; + text += std::to_string(summaryAddress.cellI()) + ", " + + std::to_string(summaryAddress.cellJ()) + ", " + + std::to_string(summaryAddress.cellK()); + } + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_LGR: + { + appendLgrName(text, summaryAddress); + appendWellName(text, summaryAddress); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION_LGR: + { + appendLgrName(text, summaryAddress); + appendWellName(text, summaryAddress); + + if (m_completion) + { + if (text.size() > 0) text += ":"; + text += std::to_string(summaryAddress.cellI()) + ", " + + std::to_string(summaryAddress.cellJ()) + ", " + + std::to_string(summaryAddress.cellK()); + } + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT: + { + appendWellName(text, summaryAddress); + + if (m_wellSegmentNumber) + { + if (text.size() > 0) text += ":"; + text += ":" + summaryAddress.wellSegmentNumber(); + } + } + break; + case RifEclipseSummaryAddress::SUMMARY_BLOCK: + { + if (m_completion) + { + if (text.size() > 0) text += ":"; + text += std::to_string(summaryAddress.cellI()) + ", " + + std::to_string(summaryAddress.cellJ()) + ", " + + std::to_string(summaryAddress.cellK()); + } + } + break; + case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR: + { + appendLgrName(text, summaryAddress); + + if (m_completion) + { + if (text.size() > 0) text += ":"; + text += std::to_string(summaryAddress.cellI()) + ", " + + std::to_string(summaryAddress.cellJ()) + ", " + + std::to_string(summaryAddress.cellK()); + } + } + break; + } + + + if (summaryCurve) + { + if (m_caseName) + { + if (summaryCurve && summaryCurve->summaryCase()) + { + if (text.size() > 0) text += ", "; + text += summaryCurve->summaryCase()->caseName().toStdString(); + } + } + } + + return QString::fromStdString(text); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveAutoName::applySettings(const RimSummaryCurveAutoName& other) +{ + m_caseName = other.m_caseName; + m_vectorName = other.m_vectorName; + m_unit = other.m_unit; + m_regionNumber = other.m_regionNumber; + m_wellGroupName = other.m_wellGroupName; + m_wellName = other.m_wellName; + m_wellSegmentNumber = other.m_wellSegmentNumber; + m_lgrName = other.m_lgrName; + m_completion = other.m_completion; + + m_showAdvancedProperties = other.m_showAdvancedProperties; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveAutoName::appendWellName(std::string& text, const RifEclipseSummaryAddress& summaryAddress) const +{ + if (m_wellName) + { + if (text.size() > 0) text += ":"; + text += summaryAddress.wellName(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveAutoName::appendLgrName(std::string& text, const RifEclipseSummaryAddress& summaryAddress) const +{ + if (m_lgrName) + { + if (text.size() > 0) text += ":"; + text += ":" + summaryAddress.lgrName(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveAutoName::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + // NOTE: The curve filter is parent object of a summary curve, and the update is supposed to update + // the first parent, not the grandparent. This is the reason for not using firstAncestorOrThisOfType() + + RimSummaryCurve* summaryCurve = dynamic_cast(this->parentField()->ownerObject()); + if (summaryCurve) + { + summaryCurve->updateCurveName(); + summaryCurve->updateConnectedEditors(); + } + + RimSummaryCurveFilter* summaryCurveFilter = dynamic_cast(this->parentField()->ownerObject()); + if (summaryCurveFilter) + { + summaryCurveFilter->updateCurveNames(); + summaryCurveFilter->updateConnectedEditors(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveAutoName::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) +{ + uiOrdering.add(&m_caseName); + uiOrdering.add(&m_vectorName); + uiOrdering.add(&m_wellGroupName); + uiOrdering.add(&m_wellName); + + if (m_showAdvancedProperties) + { + uiOrdering.add(&m_regionNumber); + uiOrdering.add(&m_lgrName); + uiOrdering.add(&m_completion); + uiOrdering.add(&m_wellSegmentNumber); + uiOrdering.add(&m_unit); + } + + uiOrdering.add(&m_showAdvancedProperties); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveAutoName::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute) +{ + if (&m_showAdvancedProperties == field) + { + caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast (attribute); + if (attrib) + { + if (m_showAdvancedProperties) + { + attrib->m_buttonText = "Hide Advanced Options"; + } + else + { + attrib->m_buttonText = "Show Advanced Options"; + } + } + } +} + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAutoName.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAutoName.h new file mode 100644 index 0000000000..5dc0043157 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAutoName.h @@ -0,0 +1,65 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + + +#pragma once + +#include "cafPdmField.h" +#include "cafPdmObject.h" + + +class RifEclipseSummaryAddress; + +class RimSummaryCurveAutoName : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; +public: + RimSummaryCurveAutoName();; + + QString curveName(const RifEclipseSummaryAddress& summaryAddress) const; + + void applySettings(const RimSummaryCurveAutoName& other); + + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; + +protected: + friend class RimSummaryCurve; + friend class RimSummaryCurveFilter; + + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; + virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute); + +private: + void appendWellName(std::string& text, const RifEclipseSummaryAddress& summaryAddress) const; + void appendLgrName(std::string& text, const RifEclipseSummaryAddress& summaryAddress) const; + +private: + caf::PdmField m_vectorName; + caf::PdmField m_unit; + caf::PdmField m_regionNumber; + caf::PdmField m_wellGroupName; + caf::PdmField m_wellName; + caf::PdmField m_wellSegmentNumber; + caf::PdmField m_lgrName; + caf::PdmField m_completion; + + caf::PdmField m_caseName; + + caf::PdmField m_showAdvancedProperties; +}; + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveFilter.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveFilter.cpp new file mode 100644 index 0000000000..acb5f9a86a --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveFilter.cpp @@ -0,0 +1,664 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimSummaryCurveFilter.h" + +#include "RiaApplication.h" + +#include "RifReaderEclipseSummary.h" + +#include "RigSummaryCaseData.h" + +#include "RimDefines.h" +#include "RimEclipseResultCase.h" +#include "RimProject.h" +#include "RimSummaryCase.h" +#include "RimSummaryCurve.h" +#include "RimSummaryCurveAppearanceCalculator.h" +#include "RimSummaryCurveAutoName.h" +#include "RimSummaryFilter.h" +#include "RimSummaryPlot.h" +#include "RimSummaryPlotCollection.h" + +#include "RiuLineSegmentQwtPlotCurve.h" +#include "RiuSummaryQwtPlot.h" + +#include "WellLogCommands/RicWellLogPlotCurveFeatureImpl.h" + +#include "cafPdmUiListEditor.h" +#include "cafPdmUiPushButtonEditor.h" + + +QTextStream& operator << (QTextStream& str, const std::vector& sobj) +{ + CVF_ASSERT(false); + return str; +} + +QTextStream& operator >> (QTextStream& str, std::vector& sobj) +{ + CVF_ASSERT(false); + return str; +} + + +CAF_PDM_SOURCE_INIT(RimSummaryCurveFilter, "SummaryCurveFilter"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCurveFilter::RimSummaryCurveFilter() +{ + CAF_PDM_InitObject("Curve Filter", ":/SummaryCurveFilter16x16.png", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_selectedSummaryCases, "SummaryCases", "Cases", "", "", ""); + m_selectedSummaryCases.uiCapability()->setUiTreeChildrenHidden(true); + m_selectedSummaryCases.uiCapability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName()); + m_selectedSummaryCases.uiCapability()->setAutoAddingOptionFromValue(false); + m_selectedSummaryCases.xmlCapability()->setIOWritable(false); + m_selectedSummaryCases.xmlCapability()->setIOReadable(false); + m_selectedSummaryCases.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::TOP); + + CAF_PDM_InitFieldNoDefault(&m_summaryFilter, "VarListFilter", "Filter", "", "", ""); + m_summaryFilter.uiCapability()->setUiTreeChildrenHidden(true); + m_summaryFilter.uiCapability()->setUiHidden(true); + + m_summaryFilterObject = std::unique_ptr(new RimSummaryFilter); + m_summaryFilter = m_summaryFilterObject.get(); + + CAF_PDM_InitFieldNoDefault(&m_uiFilterResultMultiSelection, "FilterResultSelection", "Filter Result", "", "Ctrl-A : Select All", ""); + m_uiFilterResultMultiSelection.xmlCapability()->setIOWritable(false); + m_uiFilterResultMultiSelection.xmlCapability()->setIOReadable(false); + m_uiFilterResultMultiSelection.uiCapability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName()); + m_uiFilterResultMultiSelection.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); + m_uiFilterResultMultiSelection.uiCapability()->setAutoAddingOptionFromValue(false); + + CAF_PDM_InitFieldNoDefault(&m_curves, "FilteredCurves", "Filtered Curves", "", "", ""); + m_curves.uiCapability()->setUiHidden(true); + m_curves.uiCapability()->setUiTreeChildrenHidden(false); + + CAF_PDM_InitFieldNoDefault(&m_applyButtonField, "ApplySelection", "Apply", "", "", ""); + m_applyButtonField.xmlCapability()->setIOWritable(false); + m_applyButtonField.xmlCapability()->setIOReadable(false); + m_applyButtonField = false; + m_applyButtonField.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName()); + m_applyButtonField.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); + + CAF_PDM_InitField(&m_autoApplyChangesToPlot, "AutoApplyFilterChanges", false, "Auto Apply Changes", "", "", ""); + + CAF_PDM_InitField(&m_showCurves, "IsActive", true, "Show Curves", "", "", ""); + m_showCurves.uiCapability()->setUiHidden(true); + + CAF_PDM_InitField(&m_useAutoAppearanceAssignment, "UseAutoAppearanceAssignment", true, "Auto", "", "", "" ); + + CAF_PDM_InitFieldNoDefault(&m_caseAppearanceType, "CaseAppearanceType", "Case", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_variableAppearanceType, "VariableAppearanceType", "Vector", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_wellAppearanceType, "WellAppearanceType", "Well", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_groupAppearanceType, "GroupAppearanceType", "Group", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_regionAppearanceType, "RegionAppearanceType", "Region", "", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_plotAxis, "PlotAxis", "Axis", "", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_curveNameConfig, "SummaryCurveNameConfig", "SummaryCurveNameConfig", "", "", ""); + m_curveNameConfig.uiCapability()->setUiHidden(true); + m_curveNameConfig.uiCapability()->setUiTreeChildrenHidden(true); + + m_curveNameConfigObject = std::unique_ptr(new RimSummaryCurveAutoName); + m_curveNameConfig = m_curveNameConfigObject.get(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCurveFilter::~RimSummaryCurveFilter() +{ + m_curves.deleteAllChildObjects(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::createCurves(RimSummaryCase* summaryCase, const QString& stringFilter) +{ + if (summaryCase) + { + std::vector selectedCases; + selectedCases.push_back(summaryCase); + + m_summaryFilter->setCompleteVarStringFilter(stringFilter); + + std::set > newCurveDefinitions; + + createSetOfCasesAndResultAdresses(selectedCases, *m_summaryFilter, &newCurveDefinitions); + + createCurvesFromCurveDefinitions(newCurveDefinitions); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QList RimSummaryCurveFilter::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) +{ + QList optionList; + + if (fieldNeedingOptions == &m_selectedSummaryCases) + { + RimProject* proj = RiaApplication::instance()->project(); + std::vector cases; + + proj->allSummaryCases(cases); + + for (size_t i = 0; i < cases.size(); i++) + { + RimSummaryCase* rimCase = cases[i]; + + optionList.push_back(caf::PdmOptionItemInfo(rimCase->caseName(), QVariant::fromValue(caf::PdmPointer(rimCase)))); + } + } + else if(fieldNeedingOptions == &m_uiFilterResultMultiSelection) + { + std::set addrUnion = findPossibleSummaryAddresses(); + + for(const auto& address: addrUnion) + { + std::string name = address.uiText(); + QString s = QString::fromStdString(name); + optionList.push_back(caf::PdmOptionItemInfo(s, QVariant::fromValue(address))); + } + } + + if(useOptionsOnly) *useOptionsOnly = true; + + return optionList; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) +{ + caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup("Summary Vectors"); + curveDataGroup->add(&m_selectedSummaryCases); + + caf::PdmUiGroup* curveVarSelectionGroup = curveDataGroup->addNewGroup("Vector Selection"); + + m_summaryFilter->defineUiOrdering(uiConfigName, *curveVarSelectionGroup); + + curveVarSelectionGroup->add(&m_uiFilterResultMultiSelection); + + caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroup("Appearance settings"); + appearanceGroup->add(&m_useAutoAppearanceAssignment); + if(!m_useAutoAppearanceAssignment()) + { + appearanceGroup->add(&m_caseAppearanceType); + appearanceGroup->add(&m_variableAppearanceType); + appearanceGroup->add(&m_wellAppearanceType); + appearanceGroup->add(&m_groupAppearanceType); + appearanceGroup->add(&m_regionAppearanceType); + } + + // Set sensitivity + { + m_caseAppearanceType.uiCapability()->setUiReadOnly(m_useAutoAppearanceAssignment); + m_variableAppearanceType.uiCapability()->setUiReadOnly(m_useAutoAppearanceAssignment); + m_wellAppearanceType.uiCapability()->setUiReadOnly(m_useAutoAppearanceAssignment); + m_groupAppearanceType.uiCapability()->setUiReadOnly(m_useAutoAppearanceAssignment); + m_regionAppearanceType.uiCapability()->setUiReadOnly(m_useAutoAppearanceAssignment); + } + + caf::PdmUiGroup* autoNameGroup = uiOrdering.addNewGroup("Curve Name Configuration"); + m_curveNameConfig->defineUiOrdering(uiConfigName, *autoNameGroup); + + uiOrdering.add(&m_plotAxis); + uiOrdering.add(&m_autoApplyChangesToPlot); + uiOrdering.add(&m_applyButtonField); + + uiOrdering.setForgetRemainingFields(true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + bool plotNeedsRedraw = false; + + if (changedField == &m_uiFilterResultMultiSelection) + { + plotNeedsRedraw = true; + } + else if (changedField == &m_applyButtonField) + { + m_applyButtonField = false; + + loadDataAndUpdatePlot(); + } + else if (changedField == &m_showCurves) + { + for(RimSummaryCurve* curve : m_curves) + { + curve->updateCurveVisibility(); + } + updatePlotAxisForCurves(); + } + else if (changedField == &m_plotAxis) + { + updatePlotAxisForCurves(); + } + else if (changedField == &m_selectedSummaryCases) + { + if (newValue.toList().size() < 1) + { + if (m_selectionCache.size() > 0) + { + m_selectedSummaryCases.setValue(m_selectionCache); + } + } + else + { + m_selectionCache = m_selectedSummaryCases.value(); + } + + plotNeedsRedraw = true; + } + else + { + plotNeedsRedraw = true; + } + + if (plotNeedsRedraw) + { + if (m_autoApplyChangesToPlot) + { + loadDataAndUpdatePlot(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::loadDataAndUpdatePlot() +{ + syncCurvesFromUiSelection(); + loadDataAndUpdate(); + + RimSummaryPlot* plot = nullptr; + firstAncestorOrThisOfType(plot); + plot->updateAxes(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::setParentQwtPlot(QwtPlot* plot) +{ + m_parentQwtPlot = plot; + for (RimSummaryCurve* curve : m_curves) + { + curve->setParentQwtPlot(plot); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::detachQwtCurves() +{ + for(RimSummaryCurve* curve : m_curves) + { + curve->detachQwtCurve(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCurve* RimSummaryCurveFilter::findRimCurveFromQwtCurve(const QwtPlotCurve* qwtCurve) const +{ + for(RimSummaryCurve* rimCurve: m_curves) + { + if(rimCurve->qwtPlotCurve() == qwtCurve) + { + return rimCurve; + } + } + + return NULL; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::syncCurvesFromUiSelection() +{ + // Create a search map containing whats supposed to be curves + + std::set > newCurveDefinitions; + + // Populate the newCurveDefinitions from the Gui + + std::set addrUnion = findPossibleSummaryAddresses(); + + for (RimSummaryCase* currentCase: m_selectedSummaryCases) + { + if (!currentCase || !currentCase->caseData() || !currentCase->caseData()->summaryReader()) continue; + + RifReaderEclipseSummary* reader = currentCase->caseData()->summaryReader(); + + for(const RifEclipseSummaryAddress& addr: m_uiFilterResultMultiSelection.v()) + { + if(!reader->hasAddress(addr)) continue; + if (addrUnion.count(addr) == 0 ) continue; // Wash the possible "old" ui selection with new filter + + newCurveDefinitions.insert(std::make_pair(currentCase, addr)); + } + } + + m_curves.deleteAllChildObjects(); + + createCurvesFromCurveDefinitions(newCurveDefinitions); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::syncUiSelectionFromCurves() +{ + // Create a search map containing whats supposed to be uiSelected + std::set referredCases; + std::set existingCurveDefinitions; + + // Populate the existingCurveDefinitions from the existing curves + for(RimSummaryCurve* curve: m_curves) + { + existingCurveDefinitions.insert(curve->summaryAddress()); + referredCases.insert(curve->summaryCase()); + } + + if (m_curves.size()) // Only sync the selected cases if we actually have some curves. To avoid user getting an empty variable list accidentally + { + m_selectedSummaryCases.clear(); + + for(RimSummaryCase* currCase: referredCases) + { + m_selectedSummaryCases.push_back(currCase); + } + } + + m_uiFilterResultMultiSelection.v().clear(); + + for(const RifEclipseSummaryAddress& addr: existingCurveDefinitions) + { + m_uiFilterResultMultiSelection.v().push_back(addr); + } + + updateConnectedEditors(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute) +{ + if(&m_applyButtonField == field) + { + caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast (attribute); + attrib->m_buttonText = "Apply"; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::updatePlotAxisForCurves() +{ + for (RimSummaryCurve* curve : m_curves) + { + curve->setYAxis(m_plotAxis()); + curve->updateQwtPlotAxis(); + } + + RimSummaryPlot* plot = nullptr; + firstAncestorOrThisOfType(plot); + plot->updateAxes(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::loadDataAndUpdate() +{ + for (RimSummaryCurve* curve: m_curves) + { + curve->loadDataAndUpdate(); + } + + syncUiSelectionFromCurves(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::set RimSummaryCurveFilter::unitNames() +{ + std::set unitNames; + for(RimSummaryCurve* curve: m_curves) + { + if (curve->isCurveVisible()) unitNames.insert( curve->unitName()); + } + return unitNames; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RimSummaryCurveFilter::curves() +{ + std::vector myCurves; + for ( RimSummaryCurve* curve: m_curves) + { + myCurves.push_back(curve); + } + + return myCurves; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::createSetOfCasesAndResultAdresses( + const std::vector& cases, + const RimSummaryFilter& filter, + std::set >* curveDefinitions) const +{ + for (RimSummaryCase* currentCase : cases) + { + if (!currentCase || !currentCase->caseData() || !currentCase->caseData()->summaryReader()) continue; + + RifReaderEclipseSummary* reader = currentCase->caseData()->summaryReader(); + + const std::vector allAddresses = reader->allResultAddresses(); + int addressCount = static_cast(allAddresses.size()); + for (int i = 0; i < addressCount; i++) + { + if (!filter.isIncludedByFilter(allAddresses[i])) continue; + + curveDefinitions->insert(std::make_pair(currentCase, allAddresses[i])); + } + } +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::createCurvesFromCurveDefinitions(const std::set >& curveDefinitions) +{ + int colorIndex = 2; + int lineStyleIdx = -1; + + RimSummaryCase* prevCase = nullptr; + RimPlotCurve::LineStyleEnum lineStyle = RimPlotCurve::STYLE_SOLID; + RimSummaryCurveAppearanceCalculator curveLookCalc(curveDefinitions); + + if (!m_useAutoAppearanceAssignment()) + { + curveLookCalc.assignDimensions( m_caseAppearanceType(), + m_variableAppearanceType(), + m_wellAppearanceType(), + m_groupAppearanceType(), + m_regionAppearanceType()); + } + else + { + RimSummaryCurveAppearanceCalculator::CurveAppearanceType caseAppearance; + RimSummaryCurveAppearanceCalculator::CurveAppearanceType variAppearance; + RimSummaryCurveAppearanceCalculator::CurveAppearanceType wellAppearance; + RimSummaryCurveAppearanceCalculator::CurveAppearanceType gropAppearance; + RimSummaryCurveAppearanceCalculator::CurveAppearanceType regiAppearance; + + curveLookCalc.getDimensions(&caseAppearance, + &variAppearance, + &wellAppearance, + &gropAppearance, + ®iAppearance); + + m_caseAppearanceType = caseAppearance; + m_variableAppearanceType = variAppearance; + m_wellAppearanceType = wellAppearance; + m_groupAppearanceType = gropAppearance; + m_regionAppearanceType = regiAppearance; + } + + for (auto& caseAddrPair : curveDefinitions) + { + RimSummaryCase* currentCase = caseAddrPair.first; + + RimSummaryCurve* curve = new RimSummaryCurve(); + curve->setParentQwtPlot(m_parentQwtPlot); + curve->setSummaryCase(currentCase); + curve->setSummaryAddress(caseAddrPair.second); + curve->setYAxis(m_plotAxis()); + curve->applyCurveAutoNameSettings(*m_curveNameConfig()); + + m_curves.push_back(curve); + + curveLookCalc.setupCurveLook(curve); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::updateCaseNameHasChanged() +{ + for (RimSummaryCurve* curve : m_curves) + { + curve->updateCurveName(); + curve->updateConnectedEditors(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimDefines::PlotAxis RimSummaryCurveFilter::associatedPlotAxis() const +{ + return m_plotAxis(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::setPlotAxis(RimDefines::PlotAxis plotAxis) +{ + m_plotAxis = plotAxis; + updateConnectedEditors(); + + updatePlotAxisForCurves(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::updateCompleteVariableStringFilterChanged() +{ + if (m_autoApplyChangesToPlot) + { + loadDataAndUpdatePlot(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurveFilter::updateCurveNames() +{ + for (RimSummaryCurve* curve : m_curves) + { + curve->applyCurveAutoNameSettings(*m_curveNameConfig()); + curve->updateCurveName(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimSummaryCurveFilter::isCurvesVisible() +{ + return m_showCurves(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmFieldHandle* RimSummaryCurveFilter::objectToggleField() +{ + return &m_showCurves; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::set RimSummaryCurveFilter::findPossibleSummaryAddresses() +{ + std::set addrUnion; + + for(RimSummaryCase* currCase: m_selectedSummaryCases) + { + RifReaderEclipseSummary* reader = nullptr; + if(currCase && currCase->caseData()) reader = currCase->caseData()->summaryReader(); + + if(reader) + { + const std::vector allAddresses = reader->allResultAddresses(); + int addressCount = static_cast(allAddresses.size()); + + for(int i = 0; i isIncludedByFilter(allAddresses[i])) continue; + addrUnion.insert(allAddresses[i]); + } + } + } + + return addrUnion; +} diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveFilter.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveFilter.h new file mode 100644 index 0000000000..6ada07ace1 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveFilter.h @@ -0,0 +1,138 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + + +#pragma once + +#include "cafPdmField.h" +#include "cafPdmObject.h" +#include "cafPdmPointer.h" +#include "cafPdmPtrField.h" +#include "cafPdmChildField.h" +#include "cafPdmChildArrayField.h" +#include "cafAppEnum.h" +#include "cafPdmPtrArrayField.h" + +#include "RimDefines.h" +#include "RimSummaryCurveAppearanceCalculator.h" + + +#include + +class QwtPlot; +class QwtPlotCurve; +class RifReaderEclipseSummary; +class RimSummaryCase; +class RimSummaryCurve; +class RimSummaryFilter; +class RiuLineSegmentQwtPlotCurve; +class RimSummaryCurveAutoName; + + + +Q_DECLARE_METATYPE(RifEclipseSummaryAddress); + +//================================================================================================== +/// +/// +//================================================================================================== +class RimSummaryCurveFilter : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; + +public: + RimSummaryCurveFilter(); + virtual ~RimSummaryCurveFilter(); + + void createCurves(RimSummaryCase* summaryCase, const QString& stringFilter); + bool isCurvesVisible(); + + void loadDataAndUpdate(); + void setParentQwtPlot(QwtPlot* plot); + void detachQwtCurves(); + + RimSummaryCurve* findRimCurveFromQwtCurve(const QwtPlotCurve* qwtCurve) const; + std::set unitNames(); + std::vector curves(); + + void updateCaseNameHasChanged(); + + RimDefines::PlotAxis associatedPlotAxis() const; + void setPlotAxis(RimDefines::PlotAxis plotAxis); + + void updateCompleteVariableStringFilterChanged(); + + void updateCurveNames(); + +private: + void syncCurvesFromUiSelection(); + void createCurvesFromCurveDefinitions(const std::set >& curveDefinitions); + void syncUiSelectionFromCurves(); + std::set findPossibleSummaryAddresses(); + + void createSetOfCasesAndResultAdresses( + const std::vector& cases, + const RimSummaryFilter& filter, + std::set >* curveDefinitions) const; + + // Overridden PDM methods + virtual caf::PdmFieldHandle* objectToggleField() override; + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); + + virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly); + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; + void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute) override; + void updatePlotAxisForCurves(); + void loadDataAndUpdatePlot(); + +private: + QPointer m_parentQwtPlot; + + // Fields + caf::PdmField m_showCurves; + caf::PdmPtrArrayField m_selectedSummaryCases; + caf::PdmChildArrayField m_curves; + + caf::PdmField< caf::AppEnum< RimDefines::PlotAxis > > m_plotAxis; + + + // Filter fields + caf::PdmChildField m_summaryFilter; + caf::PdmField > + m_uiFilterResultMultiSelection; + + caf::PdmChildField m_curveNameConfig; + + caf::PdmField m_autoApplyChangesToPlot; + caf::PdmField m_applyButtonField; + + caf::PdmField m_useAutoAppearanceAssignment; + typedef caf::AppEnum AppearanceTypeAppEnum; + caf::PdmField< AppearanceTypeAppEnum > m_caseAppearanceType; + caf::PdmField< AppearanceTypeAppEnum > m_variableAppearanceType; + caf::PdmField< AppearanceTypeAppEnum > m_wellAppearanceType; + caf::PdmField< AppearanceTypeAppEnum > m_groupAppearanceType; + caf::PdmField< AppearanceTypeAppEnum > m_regionAppearanceType; + + std::vector< caf::PdmPointer > m_selectionCache; + + // Internal objects managed by unique_ptr + std::unique_ptr m_summaryFilterObject; + std::unique_ptr m_curveNameConfigObject; +}; + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.cpp new file mode 100644 index 0000000000..047304e503 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.cpp @@ -0,0 +1,326 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimSummaryCurvesCalculator.h" + +#include "RigStatisticsCalculator.h" + +#include "RimDefines.h" +#include "RimSummaryCurve.h" +#include "RimSummaryCurveFilter.h" +#include "RimSummaryYAxisProperties.h" + +#include "RiuSummaryQwtPlot.h" + +#include "qwt_plot_curve.h" +#include "qwt_scale_draw.h" +#include "qwt_scale_engine.h" + +#include +#include +#include + +//-------------------------------------------------------------------------------------------------- +// e format as [-]9.9e[+|-]999 +// E format as[-]9.9E[+| -]999 +// f format as[-]9.9 +// g use e or f format, whichever is the most concise +// G use E or f format, whichever is the most concise + +//-------------------------------------------------------------------------------------------------- +class DecimalScaleDraw : public QwtScaleDraw +{ +public: + virtual QwtText label(double value) const override + { + if (qFuzzyCompare(value + 1.0, 1.0)) + value = 0.0; + + int precision = DecimalScaleDraw::calculatePrecision(value); + + return QString::number(value, 'f', precision); + } + +private: + static int calculatePrecision(double value) + { + double absVal = fabs(value); + + const int numberOfDigits = 2; + + if (1e-16 < absVal && absVal < 1.0e3) + { + int logVal = static_cast(log10(absVal)); + int numDigitsAfterPoint = abs(logVal - numberOfDigits); + return numDigitsAfterPoint; + } + else + { + return numberOfDigits; + } + } +}; + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +class ScientificScaleDraw : public QwtScaleDraw +{ + +public: + virtual QwtText label(double value) const override + { + if (qFuzzyCompare(value + 1.0, 1.0)) + value = 0.0; + + return QString::number(value, 'e', 2); + } +}; + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryPlotYAxisFormater::RimSummaryPlotYAxisFormater(RimSummaryYAxisProperties* axisProperties, + const std::vector& curves, + const std::vector& curveFilters) +: m_axisProperties(axisProperties), + m_singleCurves(curves), + m_curveFilters(curveFilters) +{ +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlotYAxisFormater::applyYAxisPropertiesToPlot(RiuSummaryQwtPlot* qwtPlot) +{ + if (!qwtPlot) return; + + { + QString axisTitle = m_axisProperties->customTitle; + if (m_axisProperties->isAutoTitle) axisTitle = autoAxisTitle(); + + QwtText axisTitleY = qwtPlot->axisTitle(m_axisProperties->qwtPlotAxisType()); + + QFont axisTitleYFont = axisTitleY.font(); + axisTitleYFont.setBold(true); + axisTitleYFont.setPixelSize(m_axisProperties->fontSize); + axisTitleY.setFont(axisTitleYFont); + + axisTitleY.setText(axisTitle); + + switch (m_axisProperties->titlePositionEnum()) + { + case RimSummaryYAxisProperties::AXIS_TITLE_CENTER: + axisTitleY.setRenderFlags(Qt::AlignCenter); + break; + case RimSummaryYAxisProperties::AXIS_TITLE_END: + axisTitleY.setRenderFlags(Qt::AlignRight); + break; + } + + qwtPlot->setAxisTitle(m_axisProperties->qwtPlotAxisType(), axisTitleY); + } + + { + QFont yAxisFont = qwtPlot->axisFont(m_axisProperties->qwtPlotAxisType()); + yAxisFont.setBold(false); + yAxisFont.setPixelSize(m_axisProperties->fontSize); + qwtPlot->setAxisFont(m_axisProperties->qwtPlotAxisType(), yAxisFont); + } + + { + if (m_axisProperties->numberFormat == RimSummaryYAxisProperties::NUMBER_FORMAT_AUTO) + { + qwtPlot->setAxisScaleDraw(m_axisProperties->qwtPlotAxisType(), new QwtScaleDraw); + } + else if (m_axisProperties->numberFormat == RimSummaryYAxisProperties::NUMBER_FORMAT_DECIMAL) + { + qwtPlot->setAxisScaleDraw(m_axisProperties->qwtPlotAxisType(), new DecimalScaleDraw); + } + else if (m_axisProperties->numberFormat == RimSummaryYAxisProperties::NUMBER_FORMAT_SCIENTIFIC) + { + qwtPlot->setAxisScaleDraw(m_axisProperties->qwtPlotAxisType(), new ScientificScaleDraw()); + } + + } + + { + if (m_axisProperties->isLogarithmicScaleEnabled) + { + QwtLogScaleEngine* currentScaleEngine = dynamic_cast(qwtPlot->axisScaleEngine(m_axisProperties->qwtPlotAxisType())); + if (!currentScaleEngine) + { + qwtPlot->setAxisScaleEngine(m_axisProperties->qwtPlotAxisType(), new QwtLogScaleEngine); + qwtPlot->setAxisMaxMinor(m_axisProperties->qwtPlotAxisType(), 5); + } + + } + else + { + QwtLinearScaleEngine* currentScaleEngine = dynamic_cast(qwtPlot->axisScaleEngine(m_axisProperties->qwtPlotAxisType())); + if (!currentScaleEngine) + { + qwtPlot->setAxisScaleEngine(m_axisProperties->qwtPlotAxisType(), new QwtLinearScaleEngine); + qwtPlot->setAxisMaxMinor(m_axisProperties->qwtPlotAxisType(), 3); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimSummaryPlotYAxisFormater::autoAxisTitle() const +{ + std::map > unitToQuantityNameMap; + + for ( RimSummaryCurve* rimCurve : m_singleCurves ) + { + if ( rimCurve->isCurveVisible() && rimCurve->yAxis() == this->m_axisProperties->plotAxisType() ) + { + unitToQuantityNameMap[rimCurve->unitName()].insert(rimCurve->summaryAddress().quantityName()); + } + } + + for ( RimSummaryCurveFilter* curveFilter : m_curveFilters ) + { + if ( curveFilter->isCurvesVisible() ) + { + std::vector curveFilterCurves = curveFilter->curves(); + + for ( RimSummaryCurve* rimCurve : curveFilterCurves ) + { + if ( rimCurve->isCurveVisible() && rimCurve->yAxis() == this->m_axisProperties->plotAxisType() ) + { + unitToQuantityNameMap[rimCurve->unitName()].insert(rimCurve->summaryAddress().quantityName()); + } + } + } + } + + QString assembledYAxisText; + + for ( auto unitIt : unitToQuantityNameMap ) + { + for (const auto &quantIt: unitIt.second) + { + assembledYAxisText += QString::fromStdString(quantIt) + " "; + } + assembledYAxisText += "[" + QString::fromStdString(unitIt.first) + "] "; + } + + return assembledYAxisText; +} + + + + + + + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryPlotYAxisRangeCalculator::RimSummaryPlotYAxisRangeCalculator(RimSummaryYAxisProperties* axisProperties, const std::vector& curves) + : m_axisProperties(axisProperties), + m_singleCurves(curves) +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlotYAxisRangeCalculator::computeYRange(double* min, double* max) const +{ + double minValue = HUGE_VAL; + double maxValue = -HUGE_VAL; + + for (RimSummaryCurve* curve : m_singleCurves) + { + double minCurveValue = HUGE_VAL; + double maxCurveValue = -HUGE_VAL; + + if (curve->isCurveVisible() && curveValueRangeY(curve->qwtPlotCurve(), &minCurveValue, &maxCurveValue)) + { + if (minCurveValue < minValue) + { + minValue = minCurveValue; + } + + if (maxCurveValue > maxValue) + { + maxValue = maxCurveValue; + } + } + } + + if (minValue == HUGE_VAL) + { + minValue = RimDefines::minimumDefaultValuePlot(); + maxValue = RimDefines::maximumDefaultValuePlot(); + } + + if (m_axisProperties->isLogarithmicScaleEnabled) + { + // For logarithmic auto scaling, compute positive curve value closest to zero and use + // this value as the plot visible minimum + + double pos = HUGE_VAL; + double neg = -HUGE_VAL; + + for (RimSummaryCurve* curve : m_singleCurves) + { + if (curve->isCurveVisible()) + { + RigStatisticsCalculator::posNegClosestToZero(curve->yValues(), pos, neg); + } + } + + if (pos != HUGE_VAL) + { + minValue = pos; + } + } + + *min = minValue; + *max = maxValue; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimSummaryPlotYAxisRangeCalculator::curveValueRangeY(const QwtPlotCurve* qwtCurve, double* min, double* max) const +{ + if (!qwtCurve) return false; + + if (qwtCurve->data()->size() < 1) + { + return false; + } + + *min = qwtCurve->minYValue(); + *max = qwtCurve->maxYValue(); + + return true; +} + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.h new file mode 100644 index 0000000000..3622bccff1 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurvesCalculator.h @@ -0,0 +1,66 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#pragma once + +#include + +#include + +class RimSummaryCurve; +class RimSummaryCurveFilter; +class RimSummaryYAxisProperties; + +class RiuSummaryQwtPlot; + +class QwtPlotCurve; + +class RimSummaryPlotYAxisFormater +{ +public: + RimSummaryPlotYAxisFormater(RimSummaryYAxisProperties* axisProperties, + const std::vector& curves, + const std::vector& curveFilters); + + void applyYAxisPropertiesToPlot(RiuSummaryQwtPlot* qwtPlot); + +private: + QString autoAxisTitle() const; + +private: + RimSummaryYAxisProperties* m_axisProperties; + std::vector m_singleCurves; + std::vector m_curveFilters; +}; + + +class RimSummaryPlotYAxisRangeCalculator +{ +public: + RimSummaryPlotYAxisRangeCalculator(RimSummaryYAxisProperties* axisProperties, + const std::vector& curves); + + void computeYRange(double* min, double* max) const; + +private: + bool curveValueRangeY(const QwtPlotCurve* qwtCurve, double* min, double* max) const; + +private: + RimSummaryYAxisProperties* m_axisProperties; + std::vector m_singleCurves; +}; + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryFilter.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryFilter.cpp new file mode 100644 index 0000000000..94e4a7ee8d --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryFilter.cpp @@ -0,0 +1,382 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimSummaryFilter.h" + +#include "RimSummaryCurve.h" +#include "RimSummaryCurveFilter.h" + +namespace caf +{ + +template<> +void caf::AppEnum::setUp() +{ + addItem(RimSummaryFilter::SUM_FILTER_VAR_STRING, "SUM_FILTER_VAR_STRING", "All"); + addItem(RimSummaryFilter::SUM_FILTER_FIELD, "SUM_FILTER_FIELD", "Field"); + addItem(RimSummaryFilter::SUM_FILTER_WELL, "SUM_FILTER_WELL", "Well"); + addItem(RimSummaryFilter::SUM_FILTER_WELL_GROUP, "SUM_FILTER_WELL_GROUP", "Group"); + addItem(RimSummaryFilter::SUM_FILTER_WELL_COMPLETION, "SUM_FILTER_WELL_COMPLETION", "Completion"); + addItem(RimSummaryFilter::SUM_FILTER_WELL_SEGMENT, "SUM_FILTER_SEGMENT", "Segment"); + addItem(RimSummaryFilter::SUM_FILTER_BLOCK, "SUM_FILTER_BLOCK", "Block"); + addItem(RimSummaryFilter::SUM_FILTER_REGION, "SUM_FILTER_REGION", "Region"); + addItem(RimSummaryFilter::SUM_FILTER_REGION_2_REGION, "SUM_FILTER_REGION_2_REGION", "Region-Region"); + addItem(RimSummaryFilter::SUM_FILTER_WELL_LGR, "SUM_FILTER_WELL_LGR", "Lgr-Well"); + addItem(RimSummaryFilter::SUM_FILTER_WELL_COMPLETION_LGR, "SUM_FILTER_WELL_COMPLETION_LGR", "Lgr-Completion"); + addItem(RimSummaryFilter::SUM_FILTER_BLOCK_LGR, "SUM_FILTER_BLOCK_LGR", "Lgr-Block"); + addItem(RimSummaryFilter::SUM_FILTER_MISC, "SUM_FILTER_MISC", "Misc"); + addItem(RimSummaryFilter::SUM_FILTER_AQUIFER, "SUM_FILTER_AQUIFER", "Aquifer"); + addItem(RimSummaryFilter::SUM_FILTER_NETWORK, "SUM_FILTER_NETWORK", "Network"); + addItem(RimSummaryFilter::SUM_FILTER_ANY, "SUM_FILTER_ANY", "All (Advanced)"); + setDefault(RimSummaryFilter::SUM_FILTER_VAR_STRING); +} + +} + +CAF_PDM_SOURCE_INIT(RimSummaryFilter, "SummaryFilterSettings"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryFilter::RimSummaryFilter() +{ + CAF_PDM_InitObject("Summary Filter", "", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_filterType, "SummaryFilterType", "Search", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_completeVarStringFilter, "SummaryCompleteVarStringFilter", "Filter", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_filterQuantityName, "SummaryVarQuantityFilter", "Vector name", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_regionNumberFilter, "SummaryRegionNumberFilter", "Region number", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_regionNumber2Filter, "SummaryRegionNumber2Filter", "2. Region number", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_wellGroupNameFilter, "SummaryWellGroupNameFilter", "Group name", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_wellNameFilter, "SummaryWellNameFilter", "Well name", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_wellSegmentNumberFilter, "SummaryWellSegmentNumberFilter", "Segment number", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_lgrNameFilter, "SummaryLgrNameFilter", "Lgr name", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_cellIJKFilter, "SummaryCellIJKFilter", "I, J, K", "", "", ""); + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryFilter::~RimSummaryFilter() +{ + +} + + + + +bool isNumberMatch(QString numericalFilterString, int number) +{ + if(numericalFilterString.isEmpty()) return true; + + if (numericalFilterString.trimmed() == "*") + { + if(number >= 0) return true; + else return false; + } + + // Todo: Ranges, and lists + int filterNumber = numericalFilterString.toInt(); + return number == filterNumber; +} + +bool isStringMatch(QString filterString, std::string value) +{ + if(filterString.isEmpty()) return true; + if(filterString.trimmed() == "*") + { + if(!value.empty()) return true; + else return false; + } + + QRegExp searcher(filterString, Qt::CaseInsensitive, QRegExp::WildcardUnix); + QString qstrValue = QString::fromStdString(value); + return searcher.exactMatch(qstrValue); +} + +bool isIJKMatch(QString filterString, int cellI, int cellJ, int cellK) +{ + if(filterString.isEmpty()) return true; + if(filterString.trimmed() == "*") + { + if(cellI >= 0 && cellJ >= 0 && cellK >= 0) return true; + else return false; + } + + QString ijkString; + if(cellI >= 0 && cellJ >= 0 && cellK >= 0) + { + ijkString = QString::number(cellI) + ", " + QString::number(cellJ) + ", " + QString::number(cellK); + } + + // Todo: Ranges, and lists + QRegExp searcher(filterString, Qt::CaseInsensitive, QRegExp::WildcardUnix); + + return searcher.exactMatch(ijkString); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimSummaryFilter::isIncludedByFilter(const RifEclipseSummaryAddress& addr) const +{ + if(!isSumVarTypeMatchingFilterType(m_filterType(), addr.category())) return false; + + if(m_filterType() == SUM_FILTER_VAR_STRING) + { + return isStringMatch(m_completeVarStringFilter(), addr.uiText()); + } + + if(!isStringMatch(m_filterQuantityName(), addr.quantityName())) return false; + + if(m_filterType() == SUM_FILTER_ANY) + { + return (isNumberMatch(m_regionNumberFilter(), addr.regionNumber()) + && isNumberMatch(m_regionNumber2Filter(), addr.regionNumber2()) + && isStringMatch(m_wellGroupNameFilter(), addr.wellGroupName()) + && isStringMatch(m_wellNameFilter(), addr.wellName()) + && isStringMatch(m_lgrNameFilter(), addr.lgrName()) + && isNumberMatch(m_wellSegmentNumberFilter(), addr.wellSegmentNumber()) + && isIJKMatch(m_cellIJKFilter(), addr.cellI(), addr.cellJ(), addr.cellK())); + } + + switch(addr.category()) + { + case RifEclipseSummaryAddress::SUMMARY_REGION: + { + return isNumberMatch(m_regionNumberFilter(), addr.regionNumber()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION: + { + return isNumberMatch(m_regionNumberFilter(), addr.regionNumber()) + && isNumberMatch(m_regionNumber2Filter(), addr.regionNumber2()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP: + { + return isStringMatch(m_wellGroupNameFilter(), addr.wellGroupName()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL: + { + return isStringMatch(m_wellNameFilter(), addr.wellName()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION: + { + return isStringMatch(m_wellNameFilter(), addr.wellName()) + && isIJKMatch(m_cellIJKFilter(), addr.cellI(), addr.cellJ(), addr.cellK()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_LGR: + { + return isStringMatch(m_wellNameFilter(), addr.wellName()) + && isStringMatch(m_lgrNameFilter(), addr.lgrName()); + } + break; + + case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION_LGR: + { + return isStringMatch(m_wellNameFilter(), addr.wellName()) + && isStringMatch(m_lgrNameFilter(), addr.lgrName()) + && isIJKMatch(m_cellIJKFilter(), addr.cellI(), addr.cellJ(), addr.cellK()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT: + { + return isStringMatch(m_wellNameFilter(), addr.wellName()) + && isNumberMatch(m_wellSegmentNumberFilter(), addr.wellSegmentNumber()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_BLOCK: + { + return isIJKMatch(m_cellIJKFilter(), addr.cellI(), addr.cellJ(), addr.cellK()); + } + break; + case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR: + { + return isStringMatch(m_lgrNameFilter(), addr.lgrName()) + && isIJKMatch(m_cellIJKFilter(), addr.cellI(), addr.cellJ(), addr.cellK()); + } + break; + } + + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimSummaryFilter::isSumVarTypeMatchingFilterType(SummaryFilterType sumFilterType, RifEclipseSummaryAddress::SummaryVarCategory sumVarType) +{ + if(sumVarType == RifEclipseSummaryAddress::SUMMARY_INVALID) return false; + if(sumFilterType == SUM_FILTER_ANY || sumFilterType == SUM_FILTER_VAR_STRING) return true; + + switch(sumVarType) + { + case RifEclipseSummaryAddress::SUMMARY_FIELD: { return (sumFilterType == SUM_FILTER_FIELD); } break; + case RifEclipseSummaryAddress::SUMMARY_AQUIFER: { return (sumFilterType == SUM_FILTER_AQUIFER); } break; + case RifEclipseSummaryAddress::SUMMARY_NETWORK: { return (sumFilterType == SUM_FILTER_NETWORK); } break; + case RifEclipseSummaryAddress::SUMMARY_MISC: { return (sumFilterType == SUM_FILTER_MISC); } break; + case RifEclipseSummaryAddress::SUMMARY_REGION: { return (sumFilterType == SUM_FILTER_REGION); } break; + case RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION: { return (sumFilterType == SUM_FILTER_REGION_2_REGION); } break; + case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP: { return (sumFilterType == SUM_FILTER_WELL_GROUP); } break; + case RifEclipseSummaryAddress::SUMMARY_WELL: { return (sumFilterType == SUM_FILTER_WELL); } break; + case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION: { return (sumFilterType == SUM_FILTER_WELL_COMPLETION); } break; + case RifEclipseSummaryAddress::SUMMARY_WELL_LGR: { return (sumFilterType == SUM_FILTER_WELL_LGR); } break; + case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION_LGR: { return (sumFilterType == SUM_FILTER_WELL_COMPLETION_LGR); } break; + case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT: { return (sumFilterType == SUM_FILTER_WELL_SEGMENT); } break; + case RifEclipseSummaryAddress::SUMMARY_BLOCK: { return (sumFilterType == SUM_FILTER_BLOCK); } break; + case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR: { return (sumFilterType == SUM_FILTER_BLOCK_LGR); } break; + } + + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) +{ + uiOrdering.add(&m_filterType); + + caf::PdmUiGroup* curveVarFilterGroup = nullptr; + + if(m_filterType() == SUM_FILTER_VAR_STRING) + { + uiOrdering.add(&m_completeVarStringFilter); + } + else + { + caf::PdmUiOrdering* curveVarFilterGroup = &uiOrdering;//uiOrdering.addNewGroup("Search Options"); + + curveVarFilterGroup->add(&m_filterQuantityName); + + switch(m_filterType()) + { + case SUM_FILTER_ANY: + { + curveVarFilterGroup->add(&m_wellNameFilter); + curveVarFilterGroup->add(&m_wellGroupNameFilter); + curveVarFilterGroup->add(&m_regionNumberFilter); + curveVarFilterGroup->add(&m_regionNumber2Filter); + curveVarFilterGroup->add(&m_wellSegmentNumberFilter); + curveVarFilterGroup->add(&m_lgrNameFilter); + curveVarFilterGroup->add(&m_cellIJKFilter); + } + break; + case SUM_FILTER_REGION: + { + curveVarFilterGroup->add(&m_regionNumberFilter); + } + break; + case SUM_FILTER_REGION_2_REGION: + { + curveVarFilterGroup->add(&m_regionNumberFilter); + curveVarFilterGroup->add(&m_regionNumber2Filter); + + } + break; + case SUM_FILTER_WELL_GROUP: + { + curveVarFilterGroup->add(&m_wellGroupNameFilter); + + } + break; + case SUM_FILTER_WELL: + { + curveVarFilterGroup->add(&m_wellNameFilter); + + } + break; + case SUM_FILTER_WELL_COMPLETION: + { + curveVarFilterGroup->add(&m_wellNameFilter); + curveVarFilterGroup->add(&m_cellIJKFilter); + + } + break; + case SUM_FILTER_WELL_LGR: + { + curveVarFilterGroup->add(&m_wellNameFilter); + curveVarFilterGroup->add(&m_lgrNameFilter); + } + break; + case SUM_FILTER_WELL_COMPLETION_LGR: + { + curveVarFilterGroup->add(&m_wellNameFilter); + curveVarFilterGroup->add(&m_lgrNameFilter); + curveVarFilterGroup->add(&m_cellIJKFilter); + } + break; + case SUM_FILTER_WELL_SEGMENT: + { + curveVarFilterGroup->add(&m_wellNameFilter); + curveVarFilterGroup->add(&m_wellSegmentNumberFilter); + } + break; + case SUM_FILTER_BLOCK: + { + curveVarFilterGroup->add(&m_cellIJKFilter); + } + break; + case SUM_FILTER_BLOCK_LGR: + { + curveVarFilterGroup->add(&m_lgrNameFilter); + curveVarFilterGroup->add(&m_cellIJKFilter); + } + break; + + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryFilter::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + caf::PdmObject* parent = dynamic_cast(this->parentField()->ownerObject()); + + if (parent) + { + parent->updateConnectedEditors(); + } + + if (changedField == &m_completeVarStringFilter) + { + RimSummaryCurveFilter* curveFilter = nullptr; + this->firstAncestorOrThisOfType(curveFilter); + if (curveFilter) + { + curveFilter->updateCompleteVariableStringFilterChanged(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryFilter::setCompleteVarStringFilter(const QString& stringFilter) +{ + m_filterType = SUM_FILTER_VAR_STRING; + m_completeVarStringFilter = stringFilter; +} + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryFilter.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryFilter.h new file mode 100644 index 0000000000..b37a22cff6 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryFilter.h @@ -0,0 +1,79 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once +#include "cafPdmField.h" +#include "cafPdmObject.h" +#include "RifEclipseSummaryAddress.h" + +class RimSummaryFilter: public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; +public: + + enum SummaryFilterType + { + SUM_FILTER_VAR_STRING, + SUM_FILTER_ANY, + SUM_FILTER_FIELD, + SUM_FILTER_AQUIFER, + SUM_FILTER_NETWORK, + SUM_FILTER_MISC, + SUM_FILTER_REGION, + SUM_FILTER_REGION_2_REGION, + SUM_FILTER_WELL_GROUP, + SUM_FILTER_WELL, + SUM_FILTER_WELL_COMPLETION, + SUM_FILTER_WELL_COMPLETION_LGR, + SUM_FILTER_WELL_LGR, + SUM_FILTER_WELL_SEGMENT, + SUM_FILTER_BLOCK, + SUM_FILTER_BLOCK_LGR, + }; + + RimSummaryFilter(); + virtual ~RimSummaryFilter(); + + bool isIncludedByFilter(const RifEclipseSummaryAddress& addr) const; + + void setCompleteVarStringFilter(const QString& stringFilter); + + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; + +private: + friend class RimSummaryCurve; + friend class RimSummaryCurveFilter; + + static bool isSumVarTypeMatchingFilterType(SummaryFilterType sumFilterType, RifEclipseSummaryAddress::SummaryVarCategory sumVarType); + + caf::PdmField > + m_filterType; + caf::PdmField m_completeVarStringFilter; + + caf::PdmField m_filterQuantityName; + caf::PdmField m_regionNumberFilter; + caf::PdmField m_regionNumber2Filter; + caf::PdmField m_wellGroupNameFilter; + caf::PdmField m_wellNameFilter; + caf::PdmField m_wellSegmentNumberFilter; + caf::PdmField m_lgrNameFilter; + caf::PdmField m_cellIJKFilter; + + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; + +}; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.cpp new file mode 100644 index 0000000000..35fb3eab11 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.cpp @@ -0,0 +1,769 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimSummaryPlot.h" + +#include "RiaApplication.h" + +#include "RimSummaryCurve.h" +#include "RimSummaryCurveFilter.h" +#include "RimSummaryCurvesCalculator.h" +#include "RimSummaryPlotCollection.h" +#include "RimSummaryTimeAxisProperties.h" +#include "RimSummaryYAxisProperties.h" + +#include "RiuMainPlotWindow.h" +#include "RiuSelectionColors.h" +#include "RiuSummaryQwtPlot.h" + +#include "cvfBase.h" +#include "cvfColor3.h" + +#include "cafPdmUiTreeOrdering.h" + +#include +#include + +#include "qwt_plot_curve.h" +#include "qwt_plot_renderer.h" + + +CAF_PDM_SOURCE_INIT(RimSummaryPlot, "SummaryPlot"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryPlot::RimSummaryPlot() +{ + CAF_PDM_InitObject("Summary Plot", ":/SummaryPlot16x16.png", "", ""); + CAF_PDM_InitField(&m_showWindow, "ShowWindow", true, "Show Summary Plot", "", "", ""); + m_showWindow.uiCapability()->setUiHidden(true); + + CAF_PDM_InitField(&m_userName, "PlotDescription", QString("Summary Plot"), "Name", "", "", ""); + CAF_PDM_InitField(&m_showPlotTitle, "ShowPlotTitle", true, "Show Plot Title", "", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_curveFilters, "SummaryCurveFilters", "", "", "", ""); + m_curveFilters.uiCapability()->setUiTreeHidden(true); + + CAF_PDM_InitFieldNoDefault(&m_curves, "SummaryCurves", "", "", "", ""); + m_curves.uiCapability()->setUiTreeHidden(true); + + CAF_PDM_InitFieldNoDefault(&m_leftYAxisProperties, "LeftYAxisProperties", "Left Y Axis", "", "", ""); + m_leftYAxisProperties.uiCapability()->setUiTreeHidden(true); + + m_leftYAxisPropertiesObject = std::unique_ptr(new RimSummaryYAxisProperties); + m_leftYAxisPropertiesObject->setNameAndAxis("Left Y-Axis", QwtPlot::yLeft); + m_leftYAxisProperties = m_leftYAxisPropertiesObject.get(); + + CAF_PDM_InitFieldNoDefault(&m_rightYAxisProperties, "RightYAxisProperties", "Right Y Axis", "", "", ""); + m_rightYAxisProperties.uiCapability()->setUiTreeHidden(true); + + m_rightYAxisPropertiesObject = std::unique_ptr(new RimSummaryYAxisProperties); + m_rightYAxisPropertiesObject->setNameAndAxis("Right Y-Axis", QwtPlot::yRight); + m_rightYAxisProperties = m_rightYAxisPropertiesObject.get(); + + CAF_PDM_InitFieldNoDefault(&m_timeAxisProperties, "TimeAxisProperties", "Time Axis", "", "", ""); + m_timeAxisProperties.uiCapability()->setUiTreeHidden(true); + + m_timeAxisPropertiesObject = std::unique_ptr(new RimSummaryTimeAxisProperties); + m_timeAxisProperties = m_timeAxisPropertiesObject.get(); + + CAF_PDM_InitField(&m_isAutoZoom, "AutoZoom", true, "Auto Zoom", "", "", ""); + m_isAutoZoom.uiCapability()->setUiHidden(true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryPlot::~RimSummaryPlot() +{ + if (RiaApplication::instance()->mainPlotWindow()) + { + RiaApplication::instance()->mainPlotWindow()->removeViewer(m_qwtPlot); + } + + deletePlotWidget(); + + m_curves.deleteAllChildObjects(); + m_curveFilters.deleteAllChildObjects(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::deletePlotWidget() +{ + if (m_qwtPlot) + { + m_qwtPlot->deleteLater(); + m_qwtPlot = NULL; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::updateAxes() +{ + updateAxis(RimDefines::PLOT_AXIS_LEFT); + updateAxis(RimDefines::PLOT_AXIS_RIGHT); + + updateZoomInQwt(); + + updateTimeAxis(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimSummaryPlot::isLogarithmicScaleEnabled(RimDefines::PlotAxis plotAxis) const +{ + if (plotAxis == RimDefines::PLOT_AXIS_LEFT) + { + return m_leftYAxisProperties->isLogarithmicScaleEnabled(); + } + else + { + return m_rightYAxisProperties->isLogarithmicScaleEnabled(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryTimeAxisProperties* RimSummaryPlot::timeAxisProperties() +{ + return m_timeAxisProperties(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::selectAxisInPropertyEditor(int axis) +{ + RiuMainPlotWindow* plotwindow = RiaApplication::instance()->getOrCreateAndShowMainPlotWindow(); + if (axis == QwtPlot::yLeft) + { + plotwindow->selectAsCurrentItem(m_leftYAxisProperties); + } + else if (axis == QwtPlot::yRight) + { + plotwindow->selectAsCurrentItem(m_rightYAxisProperties); + } + else if (axis == QwtPlot::xBottom) + { + plotwindow->selectAsCurrentItem(m_timeAxisProperties); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +time_t RimSummaryPlot::firstTimeStepOfFirstCurve() +{ + RimSummaryCurve * firstCurve = nullptr; + + for (RimSummaryCurveFilter* curveFilter : m_curveFilters ) + { + if (curveFilter) + { + std::vector curves = curveFilter->curves(); + size_t i = 0; + while (firstCurve == nullptr && i < curves.size()) + { + firstCurve = curves[i]; + i++; + } + + if (firstCurve) break; + } + } + + size_t i = 0; + while (firstCurve == nullptr && i < m_curves.size()) + { + firstCurve = m_curves[i]; + ++i; + } + + if (firstCurve && firstCurve->timeSteps().size() > 0) + { + return firstCurve->timeSteps()[0]; + } + else return time_t(0); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QWidget* RimSummaryPlot::viewWidget() +{ + return m_qwtPlot; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::updateAxis(RimDefines::PlotAxis plotAxis) +{ + if (!m_qwtPlot) return; + + QwtPlot::Axis qwtAxis = QwtPlot::yLeft; + RimSummaryYAxisProperties* yAxisProperties = nullptr; + if (plotAxis == RimDefines::PLOT_AXIS_LEFT) + { + qwtAxis = QwtPlot::yLeft; + yAxisProperties = m_leftYAxisProperties(); + } + else + { + qwtAxis = QwtPlot::yRight; + yAxisProperties = m_rightYAxisProperties(); + } + + if (!yAxisProperties->isActive()) + { + m_qwtPlot->enableAxis(qwtAxis, false); + } + else + { + if (hasVisibleCurvesForAxis(plotAxis)) + { + std::vector curves; + curves.insert(curves.begin(), m_curves.begin(), m_curves.end()); + + std::vector curveFilters; + curveFilters.insert(curveFilters.begin(), m_curveFilters.begin(), m_curveFilters.end()); + + m_qwtPlot->enableAxis(qwtAxis, true); + + RimSummaryPlotYAxisFormater calc(yAxisProperties, curves, curveFilters); + calc.applyYAxisPropertiesToPlot(m_qwtPlot); + } + else + { + m_qwtPlot->enableAxis(qwtAxis, false); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RimSummaryPlot::curvesForAxis(RimDefines::PlotAxis plotAxis) const +{ + std::vector curves; + + std::vector childCurves; + this->descendantsIncludingThisOfType(childCurves); + + for (RimSummaryCurve* curve : childCurves) + { + if (curve->yAxis() == plotAxis) + { + curves.push_back(curve); + } + } + + return curves; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimSummaryPlot::hasVisibleCurvesForAxis(RimDefines::PlotAxis plotAxis) const +{ + for (RimSummaryCurve* curve : m_curves) + { + if (curve->isCurveVisible() && curve->yAxis() == plotAxis) return true; + } + + for (RimSummaryCurveFilter * curveFilter : m_curveFilters) + { + if (curveFilter->isCurvesVisible()) + { + for ( RimSummaryCurve* curve : curveFilter->curves() ) + { + if ( curve->isCurveVisible() && curve->yAxis() == plotAxis ) return true; + } + } + } + + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::updateTimeAxis() +{ + if (!m_qwtPlot) return; + + if (!m_timeAxisProperties->isActive()) + { + m_qwtPlot->enableAxis(QwtPlot::xBottom, false); + + return; + } + + if (m_timeAxisProperties->timeMode() == RimSummaryTimeAxisProperties::DATE) + { + m_qwtPlot->useDateBasedTimeAxis(); + } + else + { + m_qwtPlot->useTimeBasedTimeAxis(); + } + + m_qwtPlot->enableAxis(QwtPlot::xBottom, true); + + { + QString axisTitle; + if (m_timeAxisProperties->showTitle) axisTitle = m_timeAxisProperties->title(); + + QwtText timeAxisTitle = m_qwtPlot->axisTitle(QwtPlot::xBottom); + + QFont font = timeAxisTitle.font(); + font.setBold(true); + font.setPixelSize(m_timeAxisProperties->fontSize); + timeAxisTitle.setFont(font); + + timeAxisTitle.setText(axisTitle); + + switch ( m_timeAxisProperties->titlePositionEnum() ) + { + case RimSummaryTimeAxisProperties::AXIS_TITLE_CENTER: + timeAxisTitle.setRenderFlags(Qt::AlignCenter); + break; + case RimSummaryTimeAxisProperties::AXIS_TITLE_END: + timeAxisTitle.setRenderFlags(Qt::AlignRight); + break; + } + + m_qwtPlot->setAxisTitle(QwtPlot::xBottom, timeAxisTitle); + } + + { + QFont timeAxisFont = m_qwtPlot->axisFont(QwtPlot::xBottom); + timeAxisFont.setBold(false); + timeAxisFont.setPixelSize(m_timeAxisProperties->fontSize); + m_qwtPlot->setAxisFont(QwtPlot::xBottom, timeAxisFont); + } + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::handleViewerDeletion() +{ + m_showWindow = false; + + if (m_qwtPlot) + { + detachAllCurves(); + } + + uiCapability()->updateUiIconFromToggleField(); + updateConnectedEditors(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::updateCaseNameHasChanged() +{ + for (RimSummaryCurve* curve : m_curves) + { + curve->updateCurveName(); + curve->updateConnectedEditors(); + } + + for (RimSummaryCurveFilter* curveFilter : m_curveFilters) + { + curveFilter->updateCaseNameHasChanged(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::setZoomWindow(const QwtInterval& leftAxis, const QwtInterval& rightAxis, const QwtInterval& timeAxis) +{ + m_leftYAxisProperties->visibleRangeMax = leftAxis.maxValue(); + m_leftYAxisProperties->visibleRangeMin = leftAxis.minValue(); + m_leftYAxisProperties->updateConnectedEditors(); + + m_rightYAxisProperties->visibleRangeMax = rightAxis.maxValue(); + m_rightYAxisProperties->visibleRangeMin = rightAxis.minValue(); + m_rightYAxisProperties->updateConnectedEditors(); + + m_timeAxisProperties->setVisibleRangeMin(timeAxis.minValue()); + m_timeAxisProperties->setVisibleRangeMax(timeAxis.maxValue()); + m_timeAxisProperties->updateConnectedEditors(); + + disableAutoZoom(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::zoomAll() +{ + if (m_qwtPlot) + { + m_qwtPlot->setAxisAutoScale(QwtPlot::xBottom, true); + + if (m_leftYAxisProperties->isLogarithmicScaleEnabled) + { + std::vector curves = curvesForAxis(RimDefines::PLOT_AXIS_LEFT); + + double min, max; + RimSummaryPlotYAxisRangeCalculator calc(m_leftYAxisProperties, curves); + calc.computeYRange(&min, &max); + + m_qwtPlot->setAxisScale(m_leftYAxisProperties->qwtPlotAxisType(), min, max); + } + else + { + m_qwtPlot->setAxisAutoScale(QwtPlot::yLeft, true); + } + + if (m_rightYAxisProperties->isLogarithmicScaleEnabled) + { + std::vector curves = curvesForAxis(RimDefines::PLOT_AXIS_RIGHT); + + double min, max; + RimSummaryPlotYAxisRangeCalculator calc(m_rightYAxisProperties, curves); + calc.computeYRange(&min, &max); + + m_qwtPlot->setAxisScale(m_rightYAxisProperties->qwtPlotAxisType(), min, max); + } + else + { + m_qwtPlot->setAxisAutoScale(QwtPlot::yRight, true); + } + + m_qwtPlot->replot(); + } + + updateZoomFromQwt(); + + m_isAutoZoom = true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::addCurve(RimSummaryCurve* curve) +{ + if (curve) + { + m_curves.push_back(curve); + if (m_qwtPlot) + { + curve->setParentQwtPlot(m_qwtPlot); + this->updateAxes(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::addCurveFilter(RimSummaryCurveFilter* curveFilter) +{ + if(curveFilter) + { + m_curveFilters.push_back(curveFilter); + if(m_qwtPlot) + { + curveFilter->setParentQwtPlot(m_qwtPlot); + this->updateAxes(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + if (changedField == &m_showWindow) + { + if (m_showWindow) + { + loadDataAndUpdate(); + } + else + { + updateViewerWidget(); + } + + uiCapability()->updateUiIconFromToggleField(); + } + else if (changedField == &m_userName || + changedField == &m_showPlotTitle) + { + updateViewerWidgetWindowTitle(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::setupBeforeSave() +{ + if (m_qwtPlot && RiaApplication::instance()->mainPlotWindow()) + { + this->setMdiWindowGeometry(RiaApplication::instance()->mainPlotWindow()->windowGeometryForViewer(m_qwtPlot)); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QImage RimSummaryPlot::snapshotWindowContent() +{ + QImage image; + + if (m_qwtPlot) + { + image = QImage(m_qwtPlot->size(), QImage::Format_ARGB32); + image.fill(QColor(Qt::white).rgb()); + + QPainter painter(&image); + QRectF rect(0, 0, m_qwtPlot->size().width(), m_qwtPlot->size().height()); + + QwtPlotRenderer plotRenderer; + plotRenderer.render(m_qwtPlot, &painter, rect); + } + + return image; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName /*= ""*/) +{ + caf::PdmUiTreeOrdering* axisFolder = uiTreeOrdering.add("Axes", ":/Axes16x16.png"); + axisFolder->add(&m_timeAxisProperties); + axisFolder->add(&m_leftYAxisProperties); + axisFolder->add(&m_rightYAxisProperties); + + uiTreeOrdering.add(&m_curveFilters); + uiTreeOrdering.add(&m_curves); + + uiTreeOrdering.setForgetRemainingFields(true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::loadDataAndUpdate() +{ + updateViewerWidget(); + + for (RimSummaryCurveFilter* curveFilter: m_curveFilters) + { + curveFilter->loadDataAndUpdate(); + } + + for (RimSummaryCurve* curve : m_curves) + { + curve->loadDataAndUpdate(); + } + + this->updateAxes(); + + updateZoomInQwt(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::updateZoomInQwt() +{ + if (!m_qwtPlot) return; + + if (m_isAutoZoom) + { + zoomAll(); + } + else + { + setZoomIntervalsInQwtPlot(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::setZoomIntervalsInQwtPlot() +{ + QwtInterval left, right, time; + + left.setMinValue(m_leftYAxisProperties->visibleRangeMin()); + left.setMaxValue(m_leftYAxisProperties->visibleRangeMax()); + right.setMinValue(m_rightYAxisProperties->visibleRangeMin()); + right.setMaxValue(m_rightYAxisProperties->visibleRangeMax()); + time.setMinValue(m_timeAxisProperties->visibleRangeMin()); + time.setMaxValue(m_timeAxisProperties->visibleRangeMax()); + + m_qwtPlot->setZoomWindow(left, right, time); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::updateZoomFromQwt() +{ + if (!m_qwtPlot) return; + + QwtInterval left, right, time; + m_qwtPlot->currentVisibleWindow(&left, &right, &time); + + setZoomWindow(left, right, time); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::disableAutoZoom() +{ + m_isAutoZoom = false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::setDescription(const QString& description) +{ + m_userName = description; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimSummaryPlot::description() const +{ + return m_userName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::updateViewerWidget() +{ + RiuMainPlotWindow* mainPlotWindow = RiaApplication::instance()->mainPlotWindow(); + if (!mainPlotWindow) return; + + if (m_showWindow()) + { + if (!m_qwtPlot) + { + m_qwtPlot = new RiuSummaryQwtPlot(this, mainPlotWindow); + + for(RimSummaryCurveFilter* curveFilter: m_curveFilters) + { + curveFilter->setParentQwtPlot(m_qwtPlot); + } + + for(RimSummaryCurve* curve : m_curves) + { + curve->setParentQwtPlot(m_qwtPlot); + } + + mainPlotWindow->addViewer(m_qwtPlot, this->mdiWindowGeometry()); + mainPlotWindow->setActiveViewer(m_qwtPlot); + } + + updateViewerWidgetWindowTitle(); + } + else + { + if (m_qwtPlot) + { + this->setMdiWindowGeometry(mainPlotWindow->windowGeometryForViewer(m_qwtPlot)); + + mainPlotWindow->removeViewer(m_qwtPlot); + detachAllCurves(); + + deletePlotWidget(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::updateViewerWidgetWindowTitle() +{ + if (m_qwtPlot) + { + m_qwtPlot->setWindowTitle(m_userName); + + if (m_showPlotTitle) + { + m_qwtPlot->setTitle(m_userName); + } + else + { + m_qwtPlot->setTitle(""); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlot::detachAllCurves() +{ + for(RimSummaryCurveFilter* curveFilter: m_curveFilters) + { + curveFilter->detachQwtCurves(); + } + + for(RimSummaryCurve* curve : m_curves) + { + curve->detachQwtCurve(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryCurve* RimSummaryPlot::findRimCurveFromQwtCurve(const QwtPlotCurve* qwtCurve) const +{ + for(RimSummaryCurve* rimCurve: m_curves) + { + if(rimCurve->qwtPlotCurve() == qwtCurve) + { + return rimCurve; + } + } + + for (RimSummaryCurveFilter* curveFilter: m_curveFilters) + { + RimSummaryCurve* foundCurve = curveFilter->findRimCurveFromQwtCurve(qwtCurve); + if (foundCurve) return foundCurve; + } + + return NULL; +} diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.h new file mode 100644 index 0000000000..113dbfbb8b --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.h @@ -0,0 +1,133 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + + +#pragma once + +#include "cafPdmObject.h" +#include "cafPdmField.h" +#include "cafPdmChildArrayField.h" +#include "cafAppEnum.h" +#include "cafPdmChildField.h" + +#include "RimDefines.h" +#include "RimViewWindow.h" + +#include + +#include + +class RiuSummaryQwtPlot; +class RimSummaryCurve; +class RimSummaryCurveFilter; +class RimSummaryYAxisProperties; +class RimSummaryTimeAxisProperties; +class PdmUiTreeOrdering; + +class QwtPlotCurve; +class QwtInterval; + +//================================================================================================== +/// +/// +//================================================================================================== +class RimSummaryPlot : public RimViewWindow +{ + CAF_PDM_HEADER_INIT; + +public: + RimSummaryPlot(); + virtual ~RimSummaryPlot(); + + void setDescription(const QString& description); + QString description() const; + + void addCurve(RimSummaryCurve* curve); + void addCurveFilter(RimSummaryCurveFilter* curveFilter); + + RimSummaryCurve* findRimCurveFromQwtCurve(const QwtPlotCurve* curve) const; + + void loadDataAndUpdate(); + + void handleViewerDeletion(); + void updateCaseNameHasChanged(); + + void updateAxes(); + virtual void zoomAll() override; + void setZoomWindow(const QwtInterval& leftAxis, + const QwtInterval& rightAxis, + const QwtInterval& timeAxis); + + void updateZoomInQwt(); + void updateZoomFromQwt(); + void disableAutoZoom(); + + bool isLogarithmicScaleEnabled(RimDefines::PlotAxis plotAxis) const; + + RimSummaryTimeAxisProperties* timeAxisProperties(); + time_t firstTimeStepOfFirstCurve(); + + void selectAxisInPropertyEditor(int axis); + + virtual QWidget* viewWidget() override; + +protected: + // Overridden PDM methods + virtual caf::PdmFieldHandle* objectToggleField() { return &m_showWindow; } + virtual caf::PdmFieldHandle* userDescriptionField() { return &m_userName; } + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; + virtual void setupBeforeSave() override; + virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "") override; + + virtual QImage snapshotWindowContent() override; + +private: + void updateViewerWidget(); + void updateViewerWidgetWindowTitle(); + void detachAllCurves(); + void deletePlotWidget(); + + void updateAxis(RimDefines::PlotAxis plotAxis); + std::vector curvesForAxis(RimDefines::PlotAxis plotAxis) const; + bool hasVisibleCurvesForAxis(RimDefines::PlotAxis plotAxis) const; + + void updateTimeAxis(); + void setZoomIntervalsInQwtPlot(); + + +private: + caf::PdmField m_showWindow; + + caf::PdmField m_showPlotTitle; + caf::PdmField m_userName; + + caf::PdmChildArrayField m_curves; + caf::PdmChildArrayField m_curveFilters; + + caf::PdmField m_isAutoZoom; + caf::PdmChildField m_leftYAxisProperties; + caf::PdmChildField m_rightYAxisProperties; + caf::PdmChildField m_timeAxisProperties; + + QPointer m_qwtPlot; + + // Internal objects managed by unique_ptr + std::unique_ptr m_leftYAxisPropertiesObject; + std::unique_ptr m_rightYAxisPropertiesObject; + std::unique_ptr m_timeAxisPropertiesObject; +}; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotCollection.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotCollection.cpp new file mode 100644 index 0000000000..5eea46d180 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotCollection.cpp @@ -0,0 +1,132 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimSummaryPlotCollection.h" + +#include "RifEclipseSummaryTools.h" +#include "RifReaderEclipseSummary.h" + +#include "RimEclipseResultCase.h" +#include "RimSummaryPlot.h" +#include "RimProject.h" + +#include "RiuProjectPropertyView.h" + +#include +#include "RiuMainWindow.h" + + +CAF_PDM_SOURCE_INIT(RimSummaryPlotCollection, "SummaryPlotCollection"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryPlotCollection::RimSummaryPlotCollection() +{ + CAF_PDM_InitObject("Summary Plots", ":/SummaryPlots16x16.png", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_summaryPlots, "SummaryPlots", "Summary Plots", "", "", ""); + m_summaryPlots.uiCapability()->setUiHidden(true); + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryPlotCollection::~RimSummaryPlotCollection() +{ + m_summaryPlots.deleteAllChildObjects(); + + for (auto it = m_summaryFileReaders.begin(); it != m_summaryFileReaders.end(); it++) + { + delete it->second; + } + m_summaryFileReaders.clear(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifReaderEclipseSummary* RimSummaryPlotCollection::getOrCreateSummaryFileReader(const QString& eclipseCaseFilePathBasename) +{ + auto it = m_summaryFileReaders.find(eclipseCaseFilePathBasename); + if (it != m_summaryFileReaders.end()) + { + return it->second; + } + else + { + return createSummaryFileReader(eclipseCaseFilePathBasename); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifReaderEclipseSummary* RimSummaryPlotCollection::getOrCreateSummaryFileReader(const RimEclipseResultCase* eclipseCase) +{ + if (!eclipseCase) return NULL; + + QString caseName = eclipseCase->gridFileName(); + QString caseNameWithNoExtension = caseName.remove(".egrid", Qt::CaseInsensitive); + + QString caseNameAbsPath = caseNameWithNoExtension.replace("/", "\\"); + + return this->getOrCreateSummaryFileReader(caseNameAbsPath); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifReaderEclipseSummary* RimSummaryPlotCollection::createSummaryFileReader(const QString& eclipseCaseFilePathBasename) +{ + std::string headerFile; + bool isFormatted = false; + RifEclipseSummaryTools::findSummaryHeaderFile(eclipseCaseFilePathBasename.toStdString(), &headerFile, &isFormatted); + + if (headerFile.empty()) return nullptr; + + std::vector dataFiles = RifEclipseSummaryTools::findSummaryDataFiles(eclipseCaseFilePathBasename.toStdString()); + + if (!dataFiles.size()) return nullptr; + + RifReaderEclipseSummary* reader = new RifReaderEclipseSummary; + if (!reader->open(headerFile, dataFiles)) + { + delete reader; + + return nullptr; + } + else + { + m_summaryFileReaders.insert(std::make_pair(eclipseCaseFilePathBasename, reader)); + return reader; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryPlotCollection::updateSummaryNameHasChanged() +{ + for (RimSummaryPlot* plot : m_summaryPlots) + { + plot->updateCaseNameHasChanged(); + } +} + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotCollection.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotCollection.h new file mode 100644 index 0000000000..00afb0d151 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotCollection.h @@ -0,0 +1,56 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafPdmChildArrayField.h" +#include "cafPdmField.h" +#include "cafPdmObject.h" + +#include +#include + +class RimSummaryPlot; +class RicDropEnabledMainWindow; +class RifReaderEclipseSummary; +class RimEclipseResultCase; + +//================================================================================================== +/// +/// +//================================================================================================== +class RimSummaryPlotCollection : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; +public: + RimSummaryPlotCollection(); + virtual ~RimSummaryPlotCollection(); + + RifReaderEclipseSummary* getOrCreateSummaryFileReader(const RimEclipseResultCase* eclipseCase); + + caf::PdmChildArrayField m_summaryPlots; + + void updateSummaryNameHasChanged(); +private: + RifReaderEclipseSummary* createSummaryFileReader(const QString& eclipseCaseFilePathBasename); + RifReaderEclipseSummary* getOrCreateSummaryFileReader(const QString& eclipseCaseFilePathBasename); + +private: + // Map from path to case to summary file reader objects + std::map m_summaryFileReaders; +}; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.cpp new file mode 100644 index 0000000000..09ebc322a7 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.cpp @@ -0,0 +1,355 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimSummaryTimeAxisProperties.h" + +#include "RimSummaryPlot.h" + +#include "cafPdmUiLineEditor.h" + +#include "qwt_date.h" +#include "cvfAssert.h" + + +namespace caf +{ +template<> +void caf::AppEnum< RimSummaryTimeAxisProperties::AxisTitlePositionType >::setUp() +{ + addItem(RimSummaryTimeAxisProperties::AXIS_TITLE_CENTER, "AXIS_TITLE_CENTER", "Center"); + addItem(RimSummaryTimeAxisProperties::AXIS_TITLE_END, "AXIS_TITLE_END", "At End"); + + setDefault(RimSummaryTimeAxisProperties::AXIS_TITLE_CENTER); +} + +template<> +void caf::AppEnum< RimSummaryTimeAxisProperties::TimeModeType >::setUp() +{ + addItem(RimSummaryTimeAxisProperties::DATE, "DATE", "Date"); + addItem(RimSummaryTimeAxisProperties::TIME_FROM_SIMULATION_START, "TIME_FROM_SIMULATION_START", "Time From Simulation Start"); + + setDefault(RimSummaryTimeAxisProperties::DATE); +} + +template<> +void caf::AppEnum< RimSummaryTimeAxisProperties::TimeUnitType >::setUp() +{ + addItem(RimSummaryTimeAxisProperties::SECONDS, "SECONDS", "Seconds"); + addItem(RimSummaryTimeAxisProperties::MINUTES, "MINUTES", "Minutes"); + addItem(RimSummaryTimeAxisProperties::HOURS, "HOURS", "Hours"); + addItem(RimSummaryTimeAxisProperties::DAYS, "DAYS ", "Days"); + addItem(RimSummaryTimeAxisProperties::YEARS, "YEARS", "Years"); + + setDefault(RimSummaryTimeAxisProperties::YEARS); +} + +} + + + +CAF_PDM_SOURCE_INIT(RimSummaryTimeAxisProperties, "SummaryTimeAxisProperties"); + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryTimeAxisProperties::RimSummaryTimeAxisProperties() +{ + CAF_PDM_InitObject("Time Axis", ":/BottomAxis16x16.png", "", ""); + + CAF_PDM_InitField(&m_isActive, "Active", true, "Active", "", "", ""); + m_isActive.uiCapability()->setUiHidden(true); + + CAF_PDM_InitField(&showTitle, "ShowTitle", false, "Show Title", "", "", ""); + CAF_PDM_InitField(&title, "Title", QString("Time"), "Title", "", "", ""); + CAF_PDM_InitFieldNoDefault(&titlePositionEnum, "TitlePosition", "Title Position", "", "", ""); + + CAF_PDM_InitField(&fontSize, "FontSize", 11, "Font Size", "", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_timeMode, "TimeMode", "Time Mode", "", "", ""); + CAF_PDM_InitFieldNoDefault(&m_timeUnit, "TimeUnit", "Time Unit", "", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_visibleDateRangeMax, "VisibleRangeMax", "Max", "", "", ""); + m_visibleDateRangeMax.uiCapability()->setUiEditorTypeName(caf::PdmUiLineEditor::uiEditorTypeName()); + + CAF_PDM_InitFieldNoDefault(&m_visibleDateRangeMin, "VisibleRangeMin", "Min", "", "", ""); + m_visibleDateRangeMin.uiCapability()->setUiEditorTypeName(caf::PdmUiLineEditor::uiEditorTypeName()); + + CAF_PDM_InitFieldNoDefault(&m_visibleTimeRangeMax, "VisibleTimeModeRangeMax", "Max", "", "", ""); + m_visibleDateRangeMax.uiCapability()->setUiEditorTypeName(caf::PdmUiLineEditor::uiEditorTypeName()); + + CAF_PDM_InitFieldNoDefault(&m_visibleTimeRangeMin, "VisibleTimeModeRangeMin", "Min", "", "", ""); + m_visibleDateRangeMin.uiCapability()->setUiEditorTypeName(caf::PdmUiLineEditor::uiEditorTypeName()); + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +double RimSummaryTimeAxisProperties::visibleRangeMin() const +{ + if ( m_timeMode() == DATE ) + return QwtDate::toDouble(m_visibleDateRangeMin()); + else + return m_visibleTimeRangeMin(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +double RimSummaryTimeAxisProperties::visibleRangeMax() const +{ + if ( m_timeMode() == DATE ) + return QwtDate::toDouble(m_visibleDateRangeMax()); + else + return m_visibleTimeRangeMax(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryTimeAxisProperties::setVisibleRangeMin(double value) +{ + if ( m_timeMode() == DATE ) + { + m_visibleDateRangeMin = QwtDate::toDateTime(value); + m_visibleTimeRangeMin = fromDateToDisplayTime(m_visibleDateRangeMin()); + } + else + { + m_visibleTimeRangeMin = value; + m_visibleDateRangeMin = fromDisplayTimeToDate(value); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryTimeAxisProperties::setVisibleRangeMax(double value) +{ + if ( m_timeMode() == DATE ) + { + m_visibleDateRangeMax = QwtDate::toDateTime(value); + m_visibleTimeRangeMax = fromDateToDisplayTime(m_visibleDateRangeMax()); + + } + else + { + m_visibleTimeRangeMax = value; + m_visibleDateRangeMax = fromDisplayTimeToDate(value); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryTimeAxisProperties::updateTimeVisibleRange() +{ + m_visibleTimeRangeMax = fromDateToDisplayTime(m_visibleDateRangeMax()); + m_visibleTimeRangeMin = fromDateToDisplayTime(m_visibleDateRangeMin()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryTimeAxisProperties::updateDateVisibleRange() +{ + m_visibleDateRangeMin = fromDisplayTimeToDate(m_visibleTimeRangeMin()); + m_visibleDateRangeMax = fromDisplayTimeToDate(m_visibleTimeRangeMax()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QDateTime RimSummaryTimeAxisProperties::fromDisplayTimeToDate(double displayTime) +{ + RimSummaryPlot* rimSummaryPlot = nullptr; + this->firstAncestorOrThisOfType(rimSummaryPlot); + time_t startOfSimulation = rimSummaryPlot->firstTimeStepOfFirstCurve(); + + time_t secsSinceSimulationStart = displayTime/fromTimeTToDisplayUnitScale(); + QDateTime date; + date.setTime_t(startOfSimulation + secsSinceSimulationStart); + + return date; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +double RimSummaryTimeAxisProperties::fromDateToDisplayTime(const QDateTime& displayTime) +{ + time_t secsSinceEpoc = displayTime.toTime_t(); + + RimSummaryPlot* rimSummaryPlot = nullptr; + this->firstAncestorOrThisOfType(rimSummaryPlot); + time_t startOfSimulation = rimSummaryPlot->firstTimeStepOfFirstCurve(); + + return fromTimeTToDisplayUnitScale()*(secsSinceEpoc - startOfSimulation); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimSummaryTimeAxisProperties::isActive() const +{ + return m_isActive; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QList RimSummaryTimeAxisProperties::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) +{ + QList options; + *useOptionsOnly = true; + + if (&fontSize == fieldNeedingOptions) + { + std::vector fontSizes; + fontSizes.push_back(8); + fontSizes.push_back(10); + fontSizes.push_back(11); + fontSizes.push_back(12); + fontSizes.push_back(16); + fontSizes.push_back(24); + + for (int value : fontSizes) + { + QString text = QString("%1").arg(value); + options.push_back(caf::PdmOptionItemInfo(text, value)); + } + } + + return options; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmFieldHandle* RimSummaryTimeAxisProperties::objectToggleField() +{ + return &m_isActive; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +double RimSummaryTimeAxisProperties::fromTimeTToDisplayUnitScale() +{ + double scale = 1.0; + switch (m_timeUnit()) + { + case SECONDS: + break; + case MINUTES: + scale = 1.0/60.0; + break; + case HOURS: + scale = 1.0/(60.0*60.0); + break; + case DAYS: + scale = 1.0/(60.0*60.0*24.0); + break; + case YEARS: + scale = 1.0/31556952.0; + break; + default: + CVF_ASSERT(false); + break; + } + + return scale; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryTimeAxisProperties::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) +{ + uiOrdering.add(&showTitle); + uiOrdering.add(&title); + uiOrdering.add(&titlePositionEnum); + uiOrdering.add(&fontSize); + caf::PdmUiGroup* timeGroup = uiOrdering.addNewGroup("Time"); + timeGroup->add(&m_timeMode); + if (m_timeMode() == DATE) + { + timeGroup->add( &m_visibleDateRangeMax); + timeGroup->add(&m_visibleDateRangeMin); + } + else + { + timeGroup->add(&m_timeUnit); + timeGroup->add(&m_visibleTimeRangeMax); + timeGroup->add(&m_visibleTimeRangeMin); + } + + uiOrdering.setForgetRemainingFields(true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryTimeAxisProperties::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + RimSummaryPlot* rimSummaryPlot = nullptr; + this->firstAncestorOrThisOfType(rimSummaryPlot); + + if (changedField == &m_visibleDateRangeMax) + { + QDateTime test = newValue.toDateTime(); + if (!test.isValid()) + { + m_visibleDateRangeMax = oldValue.toDateTime(); + } + + updateTimeVisibleRange(); + rimSummaryPlot->disableAutoZoom(); + } + else if (changedField == &m_visibleDateRangeMin) + { + QDateTime test = newValue.toDateTime(); + if (!test.isValid()) + { + m_visibleDateRangeMin = oldValue.toDateTime(); + } + + updateTimeVisibleRange(); + rimSummaryPlot->disableAutoZoom(); + } + else if (changedField == &m_visibleTimeRangeMin || changedField == &m_visibleTimeRangeMax) + { + updateDateVisibleRange(); + rimSummaryPlot->disableAutoZoom(); + } + else if (changedField == &m_timeMode) + { + rimSummaryPlot->loadDataAndUpdate(); + } + else if (changedField == &m_timeUnit) + { + updateTimeVisibleRange(); // Use the stored max min dates to update the visible time range to new unit + rimSummaryPlot->loadDataAndUpdate(); + updateDateVisibleRange(); + } + + rimSummaryPlot->updateAxes(); +} + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.h new file mode 100644 index 0000000000..3e528c7be9 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.h @@ -0,0 +1,101 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + + +#pragma once + +#include "cafPdmObject.h" +#include "cafPdmField.h" +#include "cafPdmChildArrayField.h" +#include "cafAppEnum.h" + +#include +#include + +//================================================================================================== +/// +/// +//================================================================================================== +class RimSummaryTimeAxisProperties : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; + +public: + + enum AxisTitlePositionType + { + AXIS_TITLE_CENTER, + AXIS_TITLE_END + }; + + enum TimeModeType + { + DATE, + TIME_FROM_SIMULATION_START + }; + + enum TimeUnitType + { + SECONDS, + MINUTES, + HOURS, + DAYS, + YEARS + }; + +public: + RimSummaryTimeAxisProperties(); + + caf::PdmField fontSize; + caf::PdmField title; + caf::PdmField showTitle; + caf::PdmField< caf::AppEnum< AxisTitlePositionType > > titlePositionEnum; + + TimeModeType timeMode() const { return m_timeMode(); } + void setTimeMode(TimeModeType val) { m_timeMode = val; } + double fromTimeTToDisplayUnitScale(); + + double visibleRangeMin() const; + double visibleRangeMax() const; + + void setVisibleRangeMin(double value); + void setVisibleRangeMax(double value); + + bool isActive() const; + +protected: + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; + virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) override; + virtual caf::PdmFieldHandle* objectToggleField() override; + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; + + double fromDateToDisplayTime(const QDateTime& displayTime); + QDateTime fromDisplayTimeToDate(double displayTime); + void updateTimeVisibleRange(); + void updateDateVisibleRange(); + +private: + caf::PdmField< caf::AppEnum< TimeModeType > > m_timeMode; + caf::PdmField< caf::AppEnum< TimeUnitType > > m_timeUnit; + + caf::PdmField m_isActive; + caf::PdmField m_visibleDateRangeMin; + caf::PdmField m_visibleDateRangeMax; + caf::PdmField m_visibleTimeRangeMin; + caf::PdmField m_visibleTimeRangeMax; +}; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.cpp new file mode 100644 index 0000000000..af382360cf --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.cpp @@ -0,0 +1,211 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RimSummaryYAxisProperties.h" + +#include "RimSummaryPlot.h" +#include "RimDefines.h" + + +namespace caf +{ + template<> + void caf::AppEnum< RimSummaryYAxisProperties::NumberFormatType >::setUp() + { + addItem(RimSummaryYAxisProperties::NUMBER_FORMAT_AUTO, "NUMBER_FORMAT_AUTO", "Auto"); + addItem(RimSummaryYAxisProperties::NUMBER_FORMAT_DECIMAL, "NUMBER_FORMAT_DECIMAL", "Decimal"); + addItem(RimSummaryYAxisProperties::NUMBER_FORMAT_SCIENTIFIC,"NUMBER_FORMAT_SCIENTIFIC", "Scientific"); + + setDefault(RimSummaryYAxisProperties::NUMBER_FORMAT_AUTO); + } +} + +namespace caf +{ +template<> +void caf::AppEnum< RimSummaryYAxisProperties::AxisTitlePositionType >::setUp() +{ + addItem(RimSummaryYAxisProperties::AXIS_TITLE_CENTER, "AXIS_TITLE_CENTER", "Center"); + addItem(RimSummaryYAxisProperties::AXIS_TITLE_END, "AXIS_TITLE_END", "At End"); + + setDefault(RimSummaryYAxisProperties::AXIS_TITLE_CENTER); +} +} + + +CAF_PDM_SOURCE_INIT(RimSummaryYAxisProperties, "SummaryYAxisProperties"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryYAxisProperties::RimSummaryYAxisProperties() +{ + CAF_PDM_InitObject("Y-Axis Properties", ":/LeftAxis16x16.png", "", ""); + + CAF_PDM_InitField(&m_isActive, "Active", true, "Active", "", "", ""); + m_isActive.uiCapability()->setUiHidden(true); + + CAF_PDM_InitFieldNoDefault(&m_name, "Name", "Name", "", "", ""); + m_name.uiCapability()->setUiHidden(true); + + CAF_PDM_InitField(&isAutoTitle, "AutoTitle", true, "Auto Title", "", "", ""); + CAF_PDM_InitFieldNoDefault(&customTitle, "CustomTitle", "Title", "", "", ""); + CAF_PDM_InitFieldNoDefault(&titlePositionEnum, "TitlePosition", "Title Position", "", "", ""); + CAF_PDM_InitField(&fontSize, "FontSize", 11, "Font Size", "", "", ""); + + CAF_PDM_InitField(&visibleRangeMax, "VisibleRangeMax", RimDefines::maximumDefaultValuePlot(), "Max", "", "", ""); + CAF_PDM_InitField(&visibleRangeMin, "VisibleRangeMin", RimDefines::minimumDefaultValuePlot(), "Min", "", "", ""); + + CAF_PDM_InitFieldNoDefault(&numberFormat, "NumberFormat", "Number Format", "", "", ""); + + CAF_PDM_InitField(&isLogarithmicScaleEnabled, "LogarithmicScale", false, "Logarithmic Scale", "", "", ""); + + updateOptionSensitivity(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmFieldHandle* RimSummaryYAxisProperties::userDescriptionField() +{ + return &m_name; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QList RimSummaryYAxisProperties::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) +{ + QList options; + *useOptionsOnly = true; + + if (&fontSize == fieldNeedingOptions) + { + std::vector fontSizes; + fontSizes.push_back(8); + fontSizes.push_back(10); + fontSizes.push_back(12); + fontSizes.push_back(16); + fontSizes.push_back(24); + + for (int value : fontSizes) + { + QString text = QString("%1").arg(value); + options.push_back(caf::PdmOptionItemInfo(text, value)); + } + } + + return options; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryYAxisProperties::setNameAndAxis(const QString& name, QwtPlot::Axis axis) +{ + m_name = name; + m_axis = axis; + + if (axis == QwtPlot::yRight) this->setUiIcon(QIcon(":/RightAxis16x16.png")); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QwtPlot::Axis RimSummaryYAxisProperties::qwtPlotAxisType() const +{ + return m_axis; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimDefines::PlotAxis RimSummaryYAxisProperties::plotAxisType() const +{ + if (m_axis == QwtPlot::yRight) return RimDefines::PLOT_AXIS_RIGHT; + + return RimDefines::PLOT_AXIS_LEFT; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimSummaryYAxisProperties::isActive() const +{ + return m_isActive; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryYAxisProperties::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +{ + RimSummaryPlot* rimSummaryPlot = nullptr; + this->firstAncestorOrThisOfType(rimSummaryPlot); + + if (changedField == &isAutoTitle) + { + updateOptionSensitivity(); + } + else if (changedField == &visibleRangeMax) + { + if (visibleRangeMin > visibleRangeMax) visibleRangeMax = oldValue.toDouble(); + + rimSummaryPlot->disableAutoZoom(); + } + else if (changedField == &visibleRangeMin) + { + if (visibleRangeMin > visibleRangeMax) visibleRangeMin = oldValue.toDouble(); + + rimSummaryPlot->disableAutoZoom(); + } + + if (changedField == &isLogarithmicScaleEnabled) + { + rimSummaryPlot->loadDataAndUpdate(); + } + else + { + rimSummaryPlot->updateAxes(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryYAxisProperties::updateOptionSensitivity() +{ + customTitle.uiCapability()->setUiReadOnly(isAutoTitle); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryYAxisProperties::initAfterRead() +{ + updateOptionSensitivity(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmFieldHandle* RimSummaryYAxisProperties::objectToggleField() +{ + return &m_isActive; +} + diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.h new file mode 100644 index 0000000000..37afeb5369 --- /dev/null +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryYAxisProperties.h @@ -0,0 +1,92 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + + +#pragma once + +#include "RimDefines.h" + +#include "cafPdmObject.h" +#include "cafPdmField.h" +#include "cafPdmChildArrayField.h" +#include "cafAppEnum.h" + +#include "qwt_plot.h" + +#include + + + +//================================================================================================== +/// +/// +//================================================================================================== +class RimSummaryYAxisProperties : public caf::PdmObject +{ + CAF_PDM_HEADER_INIT; + +public: + enum NumberFormatType + { + NUMBER_FORMAT_AUTO, + NUMBER_FORMAT_DECIMAL, + NUMBER_FORMAT_SCIENTIFIC + }; + + enum AxisTitlePositionType + { + AXIS_TITLE_CENTER, + AXIS_TITLE_END + }; + +public: + RimSummaryYAxisProperties(); + + void setNameAndAxis(const QString& name, QwtPlot::Axis axis); + QwtPlot::Axis qwtPlotAxisType() const; + RimDefines::PlotAxis plotAxisType() const; + + caf::PdmField isAutoTitle; + caf::PdmField customTitle; + caf::PdmField fontSize; + caf::PdmField< caf::AppEnum< AxisTitlePositionType > > titlePositionEnum; + + caf::PdmField visibleRangeMin; + caf::PdmField visibleRangeMax; + + caf::PdmField< caf::AppEnum< NumberFormatType > > numberFormat; + + caf::PdmField isLogarithmicScaleEnabled; + + bool isActive() const; + +protected: + virtual void initAfterRead() override; + virtual caf::PdmFieldHandle* userDescriptionField() override; + virtual caf::PdmFieldHandle* objectToggleField() override; + virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; + virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) override; + +private: + void updateOptionSensitivity(); + +private: + caf::PdmField m_isActive; + caf::PdmField m_name; + QwtPlot::Axis m_axis; +}; diff --git a/ApplicationCode/ReservoirDataModel/CMakeLists_files.cmake b/ApplicationCode/ReservoirDataModel/CMakeLists_files.cmake index 92c65ad47c..6f63e66697 100644 --- a/ApplicationCode/ReservoirDataModel/CMakeLists_files.cmake +++ b/ApplicationCode/ReservoirDataModel/CMakeLists_files.cmake @@ -19,6 +19,7 @@ ${CEE_CURRENT_LIST_DIR}RigCombTransResultAccessor.h ${CEE_CURRENT_LIST_DIR}RigCombMultResultAccessor.h ${CEE_CURRENT_LIST_DIR}RigResultModifier.h ${CEE_CURRENT_LIST_DIR}RigResultModifierFactory.h +${CEE_CURRENT_LIST_DIR}RigFormationNames.h ${CEE_CURRENT_LIST_DIR}RigWellLogExtractor.h ${CEE_CURRENT_LIST_DIR}RigEclipseWellLogExtractor.h ${CEE_CURRENT_LIST_DIR}RigLocalGrid.h @@ -39,6 +40,8 @@ ${CEE_CURRENT_LIST_DIR}RigEclipseMultiPropertyStatCalc.h ${CEE_CURRENT_LIST_DIR}RigWellLogCurveData.h ${CEE_CURRENT_LIST_DIR}RigTimeHistoryResultAccessor.h ${CEE_CURRENT_LIST_DIR}RigCurveDataTools.h +${CEE_CURRENT_LIST_DIR}RigSummaryCaseData.h +${CEE_CURRENT_LIST_DIR}RigLasFileExporter.h ) set (SOURCE_GROUP_SOURCE_FILES @@ -55,6 +58,7 @@ ${CEE_CURRENT_LIST_DIR}RigCellEdgeResultAccessor.cpp ${CEE_CURRENT_LIST_DIR}RigCombTransResultAccessor.cpp ${CEE_CURRENT_LIST_DIR}RigCombMultResultAccessor.cpp ${CEE_CURRENT_LIST_DIR}RigResultModifierFactory.cpp +${CEE_CURRENT_LIST_DIR}RigFormationNames.cpp ${CEE_CURRENT_LIST_DIR}RigWellLogExtractor.cpp ${CEE_CURRENT_LIST_DIR}RigEclipseWellLogExtractor.cpp ${CEE_CURRENT_LIST_DIR}RigLocalGrid.cpp @@ -73,6 +77,8 @@ ${CEE_CURRENT_LIST_DIR}RigEclipseMultiPropertyStatCalc.cpp ${CEE_CURRENT_LIST_DIR}RigWellLogCurveData.cpp ${CEE_CURRENT_LIST_DIR}RigTimeHistoryResultAccessor.cpp ${CEE_CURRENT_LIST_DIR}RigCurveDataTools.cpp +${CEE_CURRENT_LIST_DIR}RigSummaryCaseData.cpp +${CEE_CURRENT_LIST_DIR}RigLasFileExporter.cpp ) list(APPEND CODE_HEADER_FILES diff --git a/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.cpp b/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.cpp index 1a27ad8c62..9354aea2ba 100644 --- a/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.cpp +++ b/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.cpp @@ -162,7 +162,7 @@ void RigActiveCellInfo::IJKBoundingBox(cvf::Vec3st& min, cvf::Vec3st& max) const //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RigActiveCellInfo::gridActiveCellCounts(size_t gridIndex, size_t& activeCellCount) +void RigActiveCellInfo::gridActiveCellCounts(size_t gridIndex, size_t& activeCellCount) const { activeCellCount = m_perGridActiveCellInfo[gridIndex].activeCellCount(); } diff --git a/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.h b/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.h index 93c23ba12a..87a9224f9f 100644 --- a/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.h +++ b/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.h @@ -46,7 +46,7 @@ class RigActiveCellInfo : public cvf::Object void setGridCount(size_t gridCount); void setGridActiveCellCounts(size_t gridIndex, size_t activeCellCount); - void gridActiveCellCounts(size_t gridIndex, size_t& activeCellCount); + void gridActiveCellCounts(size_t gridIndex, size_t& activeCellCount) const; void computeDerivedData(); void setIJKBoundingBox(const cvf::Vec3st& min, const cvf::Vec3st& max); diff --git a/ApplicationCode/ReservoirDataModel/RigActiveCellsResultAccessor.cpp b/ApplicationCode/ReservoirDataModel/RigActiveCellsResultAccessor.cpp index 446a95bdfd..2db41e94b7 100644 --- a/ApplicationCode/ReservoirDataModel/RigActiveCellsResultAccessor.cpp +++ b/ApplicationCode/ReservoirDataModel/RigActiveCellsResultAccessor.cpp @@ -44,9 +44,12 @@ double RigActiveCellsResultAccessor::cellScalar(size_t gridLocalCellIndex) const size_t resultValueIndex = m_activeCellInfo->cellResultIndex(reservoirCellIndex); if (resultValueIndex == cvf::UNDEFINED_SIZE_T) return HUGE_VAL; - CVF_TIGHT_ASSERT(resultValueIndex < m_reservoirResultValues->size()); + if (resultValueIndex < m_reservoirResultValues->size()) + return m_reservoirResultValues->at(resultValueIndex); - return m_reservoirResultValues->at(resultValueIndex); + CVF_TIGHT_ASSERT(resultValueIndex < m_activeCellInfo->reservoirActiveCellCount()); // Because some static results might lack LGR data + + return HUGE_VAL; } //-------------------------------------------------------------------------------------------------- @@ -67,9 +70,12 @@ double RigActiveCellsResultAccessor::cellScalarGlobIdx(size_t reservoirCellIndex size_t resultValueIndex = m_activeCellInfo->cellResultIndex(reservoirCellIndex); if (resultValueIndex == cvf::UNDEFINED_SIZE_T) return HUGE_VAL; - CVF_TIGHT_ASSERT(resultValueIndex < m_reservoirResultValues->size()); + if(resultValueIndex < m_reservoirResultValues->size()) + return m_reservoirResultValues->at(resultValueIndex); - return m_reservoirResultValues->at(resultValueIndex); + CVF_TIGHT_ASSERT(resultValueIndex < m_activeCellInfo->reservoirActiveCellCount()); // Because some static results might lack LGR data + + return HUGE_VAL; } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.cpp b/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.cpp index df4291934e..b2ef4e3cec 100644 --- a/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.cpp +++ b/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.cpp @@ -127,6 +127,30 @@ void RigCaseCellResultsData::meanCellScalarValues(size_t scalarResultIndex, size m_statisticsDataCache[scalarResultIndex]->meanCellScalarValues(timeStepIndex, meanValue); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RigCaseCellResultsData::uniqueCellScalarValues(size_t scalarResultIndex) +{ + return m_statisticsDataCache[scalarResultIndex]->uniqueCellScalarValues(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigCaseCellResultsData::sumCellScalarValues(size_t scalarResultIndex, double& sumValue) +{ + m_statisticsDataCache[scalarResultIndex]->sumCellScalarValues(sumValue); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigCaseCellResultsData::sumCellScalarValues(size_t scalarResultIndex, size_t timeStepIndex, double& sumValue) +{ + m_statisticsDataCache[scalarResultIndex]->sumCellScalarValues(timeStepIndex, sumValue); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -215,6 +239,11 @@ size_t RigCaseCellResultsData::findScalarResultIndex(const QString& resultName) scalarResultIndex = this->findScalarResultIndex(RimDefines::INPUT_PROPERTY, resultName); } + if(scalarResultIndex == cvf::UNDEFINED_SIZE_T) + { + scalarResultIndex = this->findScalarResultIndex(RimDefines::FORMATION_NAMES, resultName); + } + return scalarResultIndex; } @@ -446,6 +475,7 @@ void RigCaseCellResultsData::clearAllResults() { m_cellScalarResults.clear(); m_resultInfos.clear(); + m_statisticsDataCache.clear(); } //-------------------------------------------------------------------------------------------------- @@ -489,6 +519,25 @@ RifReaderInterface::PorosityModelResultType RigCaseCellResultsData::convertFromP return RifReaderInterface::FRACTURE_RESULTS; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RigCaseCellResultsData::updateResultName(RimDefines::ResultCatType resultType, QString& oldName, const QString& newName) +{ + bool anyNameUpdated = false; + + for (auto& it : m_resultInfos) + { + if (it.m_resultType == resultType && it.m_resultName == oldName) + { + anyNameUpdated = true; + it.m_resultName = newName; + } + } + + return anyNameUpdated; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.h b/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.h index 901b57d224..73038a9089 100644 --- a/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.h +++ b/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.h @@ -59,6 +59,9 @@ class RigCaseCellResultsData : public cvf::Object void p10p90CellScalarValues(size_t scalarResultIndex, size_t timeStepIndex, double& p10, double& p90); void meanCellScalarValues(size_t scalarResultIndex, double& meanValue); void meanCellScalarValues(size_t scalarResultIndex, size_t timeStepIndex, double& meanValue); + const std::vector& uniqueCellScalarValues(size_t scalarResultIndex); + void sumCellScalarValues(size_t scalarResultIndex, double& sumValue); + void sumCellScalarValues(size_t scalarResultIndex, size_t timeStepIndex, double& sumValue); // Access meta-information about the results size_t resultCount() const; @@ -93,6 +96,8 @@ class RigCaseCellResultsData : public cvf::Object static RifReaderInterface::PorosityModelResultType convertFromProjectModelPorosityModel(RimDefines::PorosityModelType porosityModel); + bool updateResultName(RimDefines::ResultCatType resultType, QString& oldName, const QString& newName); + public: class ResultInfo { diff --git a/ApplicationCode/ReservoirDataModel/RigCaseData.cpp b/ApplicationCode/ReservoirDataModel/RigCaseData.cpp index 2f86949a8b..04ca8067e8 100644 --- a/ApplicationCode/ReservoirDataModel/RigCaseData.cpp +++ b/ApplicationCode/ReservoirDataModel/RigCaseData.cpp @@ -19,10 +19,14 @@ ///////////////////////////////////////////////////////////////////////////////// #include "RigCaseData.h" -#include "RigMainGrid.h" + #include "RigCaseCellResultsData.h" +#include "RigFormationNames.h" +#include "RigMainGrid.h" #include "RigResultAccessorFactory.h" +#include + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -138,6 +142,25 @@ void RigCaseData::computeWellCellsPrGrid() std::vector grids; this->allGrids(&grids); + + // Debug code used to display grid names and grid sizes +/* + size_t totCellCount = 0; + for (auto g : grids) + { + qDebug() << g->gridName().data(); + qDebug() << g->cellCountI() << " " << g->cellCountJ() << " " << g->cellCountK() << " "; + + size_t cellCount = g->cellCount(); + totCellCount += cellCount; + qDebug() << cellCount; + + qDebug() << "\n"; + } + + qDebug() << "\nTotal cell count " << totCellCount; +*/ + size_t gIdx; // Allocate and initialize the arrays @@ -168,32 +191,38 @@ void RigCaseData::computeWellCellsPrGrid() { RigWellResultFrame& wellCells = m_wellResults[wIdx]->m_wellCellsTimeSteps[tIdx]; - size_t gridIndex = wellCells.m_wellHead.m_gridIndex; - size_t gridCellIndex = wellCells.m_wellHead.m_gridCellIndex; - - if (gridIndex < m_wellCellsInGrid.size() && gridCellIndex < m_wellCellsInGrid[gridIndex]->size()) + // Well head { - size_t reservoirCellIndex = grids[gridIndex]->reservoirCellIndex(gridCellIndex); - if (m_activeCellInfo->isActive(reservoirCellIndex) - || m_fractureActiveCellInfo->isActive(reservoirCellIndex)) + size_t gridIndex = wellCells.m_wellHead.m_gridIndex; + size_t gridCellIndex = wellCells.m_wellHead.m_gridCellIndex; + + if (gridIndex < m_wellCellsInGrid.size() && gridCellIndex < m_wellCellsInGrid[gridIndex]->size()) { - m_wellCellsInGrid[gridIndex]->set(gridCellIndex, true); - m_gridCellToResultWellIndex[gridIndex]->set(gridCellIndex, static_cast(wIdx)); + size_t reservoirCellIndex = grids[gridIndex]->reservoirCellIndex(gridCellIndex); + if (m_activeCellInfo->isActive(reservoirCellIndex) + || m_fractureActiveCellInfo->isActive(reservoirCellIndex)) + { + m_wellCellsInGrid[gridIndex]->set(gridCellIndex, true); + m_gridCellToResultWellIndex[gridIndex]->set(gridCellIndex, static_cast(wIdx)); + } } } - size_t sIdx; - for (sIdx = 0; sIdx < wellCells.m_wellResultBranches.size(); ++sIdx) + // Well result branches + for (size_t sIdx = 0; sIdx < wellCells.m_wellResultBranches.size(); ++sIdx) { RigWellResultBranch& wellSegment = wellCells.m_wellResultBranches[sIdx]; size_t cdIdx; for (cdIdx = 0; cdIdx < wellSegment.m_branchResultPoints.size(); ++cdIdx) { - gridIndex = wellSegment.m_branchResultPoints[cdIdx].m_gridIndex; - gridCellIndex = wellSegment.m_branchResultPoints[cdIdx].m_gridCellIndex; + size_t gridIndex = wellSegment.m_branchResultPoints[cdIdx].m_gridIndex; + size_t gridCellIndex = wellSegment.m_branchResultPoints[cdIdx].m_gridCellIndex; if(gridIndex < m_wellCellsInGrid.size() && gridCellIndex < m_wellCellsInGrid[gridIndex]->size()) { + // NOTE : We do not check if the grid cell is active as we do for well head. + // If we add test for active cell, thorough testing and verification of the new behaviour must be adressed + m_wellCellsInGrid[gridIndex]->set(gridCellIndex, true); m_gridCellToResultWellIndex[gridIndex]->set(gridCellIndex, static_cast(wIdx)); } @@ -468,6 +497,78 @@ void RigCaseData::computeActiveCellsGeometryBoundingBox() m_mainGrid->setDisplayModelOffset(bb.min()); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigCaseData::setActiveFormationNames(RigFormationNames* activeFormationNames) +{ + m_activeFormationNamesData = activeFormationNames; + + size_t totalGlobCellCount = m_mainGrid->globalCellArray().size(); + size_t resIndex = m_matrixModelResults->addStaticScalarResult(RimDefines::FORMATION_NAMES, + "Active Formation Names", + false, + totalGlobCellCount); + + std::vector& fnData = m_matrixModelResults->cellScalarResults(resIndex,0); + + if (m_activeFormationNamesData.isNull()) + { + for ( size_t cIdx = 0; cIdx < totalGlobCellCount; ++cIdx ) + { + fnData[cIdx] = HUGE_VAL; + } + + return; + } + + size_t localCellCount = m_mainGrid->cellCount(); + for (size_t cIdx = 0; cIdx < localCellCount; ++cIdx) + { + size_t i (cvf::UNDEFINED_SIZE_T), j(cvf::UNDEFINED_SIZE_T), k(cvf::UNDEFINED_SIZE_T); + + if(!m_mainGrid->ijkFromCellIndex(cIdx, &i, &j, &k)) continue; + + int formNameIdx = activeFormationNames->formationIndexFromKLayerIdx(k); + if (formNameIdx != -1) + { + fnData[cIdx] = formNameIdx; + } + else + { + fnData[cIdx] = HUGE_VAL; + } + } + + for (size_t cIdx = localCellCount; cIdx < totalGlobCellCount; ++cIdx) + { + size_t mgrdCellIdx = m_mainGrid->globalCellArray()[cIdx].mainGridCellIndex(); + + size_t i (cvf::UNDEFINED_SIZE_T), j(cvf::UNDEFINED_SIZE_T), k(cvf::UNDEFINED_SIZE_T); + + if(!m_mainGrid->ijkFromCellIndex(mgrdCellIdx, &i, &j, &k)) continue; + + int formNameIdx = activeFormationNames->formationIndexFromKLayerIdx(k); + if (formNameIdx != -1) + { + fnData[cIdx] = formNameIdx; + } + else + { + fnData[cIdx] = HUGE_VAL; + } + } + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFormationNames* RigCaseData::activeFormationNames() +{ + return m_activeFormationNamesData.p(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/RigCaseData.h b/ApplicationCode/ReservoirDataModel/RigCaseData.h index d259494d3f..c5c53ef753 100644 --- a/ApplicationCode/ReservoirDataModel/RigCaseData.h +++ b/ApplicationCode/ReservoirDataModel/RigCaseData.h @@ -30,7 +30,7 @@ #include "RigActiveCellInfo.h" class RigCaseCellResultsData; - +class RigFormationNames; class RigCaseData : public cvf::Object { @@ -62,7 +62,10 @@ class RigCaseData : public cvf::Object RigActiveCellInfo* activeCellInfo(RifReaderInterface::PorosityModelResultType porosityModel); const RigActiveCellInfo* activeCellInfo(RifReaderInterface::PorosityModelResultType porosityModel) const; void setActiveCellInfo(RifReaderInterface::PorosityModelResultType porosityModel, RigActiveCellInfo* activeCellInfo); - + + void setActiveFormationNames(RigFormationNames* activeFormationNames); + RigFormationNames* activeFormationNames(); + void setWellResults(const cvf::Collection& data); const cvf::Collection& wellResults() { return m_wellResults; } @@ -90,9 +93,12 @@ class RigCaseData : public cvf::Object cvf::ref m_matrixModelResults; cvf::ref m_fractureModelResults; + cvf::ref m_activeFormationNamesData; + cvf::Collection m_wellResults; //< A WellResults object for each well in the reservoir cvf::Collection m_wellCellsInGrid; //< A bool array pr grid with one bool pr cell telling wether the cell is a well cell or not cvf::Collection m_gridCellToResultWellIndex; //< Array pr grid with index to well pr cell telling which well a cell is in UnitsType m_unitsType; + }; diff --git a/ApplicationCode/ReservoirDataModel/RigCurveDataTools.cpp b/ApplicationCode/ReservoirDataModel/RigCurveDataTools.cpp index b9a856afa4..b9811afe78 100644 --- a/ApplicationCode/ReservoirDataModel/RigCurveDataTools.cpp +++ b/ApplicationCode/ReservoirDataModel/RigCurveDataTools.cpp @@ -25,7 +25,7 @@ //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RigCurveDataTools::calculateIntervalsOfValidValues(const std::vector& values, std::vector< std::pair >* intervals) +void RigCurveDataTools::calculateIntervalsOfValidValues(const std::vector& values, std::vector< std::pair >* intervals, bool removeNegativeValues) { CVF_ASSERT(intervals); @@ -36,7 +36,19 @@ void RigCurveDataTools::calculateIntervalsOfValidValues(const std::vector= 0) { diff --git a/ApplicationCode/ReservoirDataModel/RigCurveDataTools.h b/ApplicationCode/ReservoirDataModel/RigCurveDataTools.h index 8633ad0a05..e1a8155503 100644 --- a/ApplicationCode/ReservoirDataModel/RigCurveDataTools.h +++ b/ApplicationCode/ReservoirDataModel/RigCurveDataTools.h @@ -32,7 +32,8 @@ class RigCurveDataTools { public: static void calculateIntervalsOfValidValues(const std::vector& values, - std::vector< std::pair >* intervals); + std::vector< std::pair >* intervals, + bool removeNegativeValues); template static void getValuesByIntervals(const std::vector& values, diff --git a/ApplicationCode/ReservoirDataModel/RigEclipseMultiPropertyStatCalc.cpp b/ApplicationCode/ReservoirDataModel/RigEclipseMultiPropertyStatCalc.cpp index 7bceecbf91..5ff4e3cfb4 100644 --- a/ApplicationCode/ReservoirDataModel/RigEclipseMultiPropertyStatCalc.cpp +++ b/ApplicationCode/ReservoirDataModel/RigEclipseMultiPropertyStatCalc.cpp @@ -97,6 +97,20 @@ void RigEclipseMultiPropertyStatCalc::addDataToHistogramCalculator(size_t timeSt } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigEclipseMultiPropertyStatCalc::uniqueValues(size_t timeStepIndex, std::set& values) +{ + for (size_t i = 0; i < m_nativeStatisticsCalculators.size(); i++) + { + if (m_nativeStatisticsCalculators.at(i)) + { + m_nativeStatisticsCalculators.at(i)->uniqueValues(timeStepIndex, values); + } + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/RigEclipseMultiPropertyStatCalc.h b/ApplicationCode/ReservoirDataModel/RigEclipseMultiPropertyStatCalc.h index 6a85fa2afb..8c664611a7 100644 --- a/ApplicationCode/ReservoirDataModel/RigEclipseMultiPropertyStatCalc.h +++ b/ApplicationCode/ReservoirDataModel/RigEclipseMultiPropertyStatCalc.h @@ -48,6 +48,8 @@ class RigEclipseMultiPropertyStatCalc : public RigStatisticsCalculator virtual void addDataToHistogramCalculator(size_t timeStepIndex, RigHistogramCalculator& histogramCalculator); + virtual void uniqueValues(size_t timeStepIndex, std::set& values); + virtual size_t timeStepCount(); private: diff --git a/ApplicationCode/ReservoirDataModel/RigEclipseNativeStatCalc.cpp b/ApplicationCode/ReservoirDataModel/RigEclipseNativeStatCalc.cpp index 1a0c0a1665..3d3783b0d2 100644 --- a/ApplicationCode/ReservoirDataModel/RigEclipseNativeStatCalc.cpp +++ b/ApplicationCode/ReservoirDataModel/RigEclipseNativeStatCalc.cpp @@ -83,6 +83,19 @@ void RigEclipseNativeStatCalc::addDataToHistogramCalculator(size_t timeStepIndex histogramCalculator.addData(values); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigEclipseNativeStatCalc::uniqueValues(size_t timeStepIndex, std::set& values) +{ + std::vector& doubleValues = m_resultsData->cellScalarResults(m_scalarResultIndex, timeStepIndex); + + for (size_t cIdx = 0; cIdx < doubleValues.size(); ++cIdx) + { + values.insert(std::floor(doubleValues[cIdx])); + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/RigEclipseNativeStatCalc.h b/ApplicationCode/ReservoirDataModel/RigEclipseNativeStatCalc.h index 2ad79f4c4d..0012bb6741 100644 --- a/ApplicationCode/ReservoirDataModel/RigEclipseNativeStatCalc.h +++ b/ApplicationCode/ReservoirDataModel/RigEclipseNativeStatCalc.h @@ -43,6 +43,8 @@ class RigEclipseNativeStatCalc : public RigStatisticsCalculator virtual void addDataToHistogramCalculator(size_t timeStepIndex, RigHistogramCalculator& histogramCalculator); + virtual void uniqueValues(size_t timeStepIndex, std::set& values); + virtual size_t timeStepCount(); private: diff --git a/ApplicationCode/ReservoirDataModel/RigEclipseNativeVisibleCellsStatCalc.cpp b/ApplicationCode/ReservoirDataModel/RigEclipseNativeVisibleCellsStatCalc.cpp index 0281f7b94d..5db1bda0eb 100644 --- a/ApplicationCode/ReservoirDataModel/RigEclipseNativeVisibleCellsStatCalc.cpp +++ b/ApplicationCode/ReservoirDataModel/RigEclipseNativeVisibleCellsStatCalc.cpp @@ -80,6 +80,16 @@ void RigEclipseNativeVisibleCellsStatCalc::addDataToHistogramCalculator(size_t t traverseCells(histogramCalculator, timeStepIndex); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigEclipseNativeVisibleCellsStatCalc::uniqueValues(size_t timeStepIndex, std::set& values) +{ + UniqueValueAccumulator acc; + traverseCells(acc, timeStepIndex); + values = acc.uniqueValues; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/RigEclipseNativeVisibleCellsStatCalc.h b/ApplicationCode/ReservoirDataModel/RigEclipseNativeVisibleCellsStatCalc.h index fb1b077f80..f5a229a04f 100644 --- a/ApplicationCode/ReservoirDataModel/RigEclipseNativeVisibleCellsStatCalc.h +++ b/ApplicationCode/ReservoirDataModel/RigEclipseNativeVisibleCellsStatCalc.h @@ -43,6 +43,7 @@ class RigEclipseNativeVisibleCellsStatCalc : public RigStatisticsCalculator virtual void posNegClosestToZero(size_t timeStepIndex, double& pos, double& neg); virtual void valueSumAndSampleCount(size_t timeStepIndex, double& valueSum, size_t& sampleCount); virtual void addDataToHistogramCalculator(size_t timeStepIndex, RigHistogramCalculator& histogramCalculator); + virtual void uniqueValues(size_t timeStepIndex, std::set& values); virtual size_t timeStepCount(); private: diff --git a/ApplicationCode/ReservoirDataModel/RigFault.h b/ApplicationCode/ReservoirDataModel/RigFault.h index e259850d57..e65e8ad15d 100644 --- a/ApplicationCode/ReservoirDataModel/RigFault.h +++ b/ApplicationCode/ReservoirDataModel/RigFault.h @@ -33,6 +33,10 @@ class RigMainGrid; +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- + class RigFaultsPrCellAccumulator : public cvf::Object { public: @@ -61,6 +65,12 @@ class RigFaultsPrCellAccumulator : public cvf::Object std::vector< caf::IntArray6 > m_faultIdxForCellFace; }; + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- + class RigFault : public cvf::Object { public: diff --git a/ApplicationCode/ReservoirDataModel/RigFormationNames.cpp b/ApplicationCode/ReservoirDataModel/RigFormationNames.cpp new file mode 100644 index 0000000000..88e3939557 --- /dev/null +++ b/ApplicationCode/ReservoirDataModel/RigFormationNames.cpp @@ -0,0 +1,91 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RigFormationNames.h" + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFormationNames::RigFormationNames() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigFormationNames::~RigFormationNames() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RigFormationNames::formationNameFromKLayerIdx(size_t Kidx) +{ + int idx = formationIndexFromKLayerIdx(Kidx); + if(idx >= static_cast(m_formationNames.size())) return ""; + if(idx == -1) return ""; + + return m_formationNames[idx]; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigFormationNames::appendFormationRange(const QString& name, int kStartIdx, int kEndIdx) +{ + CVF_ASSERT(kStartIdx <= kEndIdx); + + int nameIdx = static_cast(m_formationNames.size()); + + m_formationNames.push_back(name); + + if ( kEndIdx >= static_cast(m_nameIndexPrKLayer.size()) ) + { + m_nameIndexPrKLayer.resize(kEndIdx + 1, -1); + } + + for ( int kIdx = kStartIdx; kIdx <= kEndIdx; ++kIdx ) + { + m_nameIndexPrKLayer[kIdx] = nameIdx; + } +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigFormationNames::appendFormationRangeHeight(const QString& name, int kLayerCount) +{ + if (kLayerCount < 1) return; + + int nameIdx = static_cast(m_formationNames.size()); + + m_formationNames.push_back(name); + + int kStartIdx = static_cast(m_nameIndexPrKLayer.size()); + + m_nameIndexPrKLayer.resize(kStartIdx + kLayerCount, -1); + + for ( int kIdx = kStartIdx; kIdx < kStartIdx + kLayerCount; ++kIdx ) + { + m_nameIndexPrKLayer[kIdx] = nameIdx; + } +} diff --git a/ApplicationCode/ReservoirDataModel/RigFormationNames.h b/ApplicationCode/ReservoirDataModel/RigFormationNames.h new file mode 100644 index 0000000000..a984421256 --- /dev/null +++ b/ApplicationCode/ReservoirDataModel/RigFormationNames.h @@ -0,0 +1,52 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cvfBase.h" +#include "cvfObject.h" +#include + +#include + +class RigFormationNames: public cvf::Object +{ +public: + RigFormationNames(); + ~RigFormationNames(); + + int formationIndexFromKLayerIdx(size_t Kidx) + { + if(Kidx >= m_nameIndexPrKLayer.size()) return -1; + return m_nameIndexPrKLayer[Kidx]; + } + + QString formationNameFromKLayerIdx(size_t Kidx); + + const std::vector& formationNames() const { return m_formationNames;} + + void appendFormationRange(const QString& name, int kStartIdx, int kEndIdx); + void appendFormationRangeHeight(const QString& name, int kLayerCount); + +private: + + std::vector m_nameIndexPrKLayer; + std::vector m_formationNames; +}; + + diff --git a/ApplicationCode/ReservoirDataModel/RigGridBase.cpp b/ApplicationCode/ReservoirDataModel/RigGridBase.cpp index 061f8b7def..9344584342 100644 --- a/ApplicationCode/ReservoirDataModel/RigGridBase.cpp +++ b/ApplicationCode/ReservoirDataModel/RigGridBase.cpp @@ -484,6 +484,15 @@ bool RigGridCellFaceVisibilityFilter::isFaceVisible(size_t i, size_t j, size_t k return true; } + // Do not show cell geometry if a fault is present to avoid z fighting between surfaces + // It will always be a better solution to avoid geometry creation instead of part priority and polygon offset + size_t nativeResvCellIndex = m_grid->reservoirCellIndex(cellIndex); + const RigFault* fault = m_grid->mainGrid()->findFaultFromCellIndexAndCellFace(nativeResvCellIndex, face); + if (fault) + { + return false; + } + // If the neighbour cell is invisible, we need to draw the face if ((cellVisibility != NULL) && !(*cellVisibility)[neighborCellIndex]) { diff --git a/ApplicationCode/ReservoirDataModel/RigGridManager.cpp b/ApplicationCode/ReservoirDataModel/RigGridManager.cpp index 22e89b82f6..d02816ce5d 100644 --- a/ApplicationCode/ReservoirDataModel/RigGridManager.cpp +++ b/ApplicationCode/ReservoirDataModel/RigGridManager.cpp @@ -113,8 +113,6 @@ bool RigGridManager::isGridDimensionsEqual(const std::vector< std::vector > if (mainCaseGridDimensions[j][1] != caseGridDimensions[j][1]) return false; // ny if (mainCaseGridDimensions[j][2] != caseGridDimensions[j][2]) return false; // nz - if (mainCaseGridDimensions[j][3] != caseGridDimensions[j][3]) return false; // active_cells - } return true; diff --git a/ApplicationCode/ReservoirDataModel/RigLasFileExporter.cpp b/ApplicationCode/ReservoirDataModel/RigLasFileExporter.cpp new file mode 100644 index 0000000000..d304e09aa5 --- /dev/null +++ b/ApplicationCode/ReservoirDataModel/RigLasFileExporter.cpp @@ -0,0 +1,580 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RigLasFileExporter.h" + +#include "RigWellLogCurveData.h" +#include "RimCase.h" +#include "RimDefines.h" +#include "RimWellLogCurve.h" +#include "RimWellLogExtractionCurve.h" + +#include "cvfAssert.h" + +#include "laswell.hpp" + +#include +#include + +#include // Needed for HUGE_VAL on Linux + + +namespace NRLib +{ + class LasWell; +}; + + +class SingleChannelData +{ +public: + SingleChannelData(const std::string& channelName, const std::string& unit, const std::string& comment, const RigWellLogCurveData* curveData) + : m_channelName(channelName), + m_unit(unit), + m_comment(comment), + m_curveData(curveData) + { + } + + void appendDataToLasFile(NRLib::LasWell* lasFile, double absentValue) const + { + CVF_ASSERT(lasFile); + + std::vector wellLogValues = m_curveData->xValues(); + for (size_t vIdx = 0; vIdx < wellLogValues.size(); vIdx++) + { + double value = wellLogValues[vIdx]; + if (value == HUGE_VAL || value == -HUGE_VAL || value != value) + { + wellLogValues[vIdx] = absentValue; + } + } + + lasFile->AddLog(m_channelName, m_unit, m_comment, wellLogValues); + } + + std::string channelName() const + { + return m_channelName; + } + + const RigWellLogCurveData* curveData() const + { + return m_curveData; + } + +private: + std::string m_channelName; + std::string m_unit; + std::string m_comment; + + const RigWellLogCurveData* m_curveData; +}; + +class SingleLasFileMetaData +{ +public: + SingleLasFileMetaData() + : m_minimumCurveValue(HUGE_VAL), + m_rkbDiff(HUGE_VAL), + m_exportTvdrkb(false) + { + } + + void setWellName(const QString& wellName) + { + m_wellName = wellName; + } + + QString wellName() + { + return m_wellName; + } + + void setCaseName(const QString& caseName) + { + m_caseName = caseName; + } + + void setDate(const QString& date) + { + m_date = date; + } + + void setRkbDiff(double rkbDiff) + { + m_rkbDiff = rkbDiff; + } + + void enableTvdrkbExport() + { + m_exportTvdrkb = true; + } + + double rkbDiff() + { + return m_rkbDiff; + } + + void addLogData(const std::string& channelName, const std::string& unit, const std::string& comment, const RigWellLogCurveData* curveData) + { + m_logCurveData.push_back(SingleChannelData(channelName, unit, comment, curveData)); + + for (double xValue : curveData->xValues()) + { + if (xValue < m_minimumCurveValue) + { + m_minimumCurveValue = xValue; + } + } + } + + std::string generateFilename() const + { + QString f; + QString separator("-"); + + if (!m_wellName.isEmpty()) + { + f += m_wellName; + } + + if (!m_caseName.isEmpty()) + { + if (!f.isEmpty()) f += separator; + f += m_caseName; + } + + // Add property name if only one curve is exported + if (m_logCurveData.size() == 1) + { + if (!f.isEmpty()) f += separator; + f += QString::fromStdString(m_logCurveData[0].channelName()); + } + + if (!m_date.isEmpty()) + { + if (!f.isEmpty()) f += separator; + f += m_date; + } + + QString cleanFileName = f.trimmed(); + cleanFileName.replace(".", "_"); + cleanFileName.replace(",", "_"); + cleanFileName.replace(":", "_"); + cleanFileName.replace(";", "_"); + cleanFileName.replace(" ", "_"); + cleanFileName.replace("/", "_"); + cleanFileName.replace(QRegExp("_+"), "_"); + + cleanFileName += ".las"; + + return cleanFileName.toStdString(); + } + + void appendDataToLasFile(NRLib::LasWell* lasFile) const + { + if (m_logCurveData.size() == 0) return; + + lasFile->addWellInfo("WELL", m_wellName.toStdString()); + + QString wellLogDate = m_date; + wellLogDate.replace(".", "_"); + wellLogDate.replace(" ", "_"); + + lasFile->addWellInfo("DATE", wellLogDate.toStdString()); + + const RigWellLogCurveData* firstCurveData = curveDataForFirstCurve(); + + if (firstCurveData->depthUnit() == RimDefines::UNIT_METER) + { + lasFile->AddLog("DEPTH", "M", "Depth in meters", firstCurveData->measuredDepths()); + } + else if (firstCurveData->depthUnit() == RimDefines::UNIT_FEET) + { + lasFile->AddLog("DEPTH", "FT", "Depth in feet", firstCurveData->measuredDepths()); + } + + if (firstCurveData->tvDepths().size()) + { + lasFile->AddLog("TVDMSL", "M", "True vertical depth in meters", firstCurveData->tvDepths()); + + if (m_exportTvdrkb && m_rkbDiff != -1.0) + { + // Export True Vertical Depth Rotary Kelly Bushing - TVDRKB + std::vector tvdrkbValues = firstCurveData->tvDepths(); + for (auto& value : tvdrkbValues) + { + value += m_rkbDiff; + } + + if (firstCurveData->depthUnit() == RimDefines::UNIT_METER) + { + lasFile->AddLog("TVDRKB", "M", "True vertical depth (Rotary Kelly Bushing)", tvdrkbValues); + } + else if (firstCurveData->depthUnit() == RimDefines::UNIT_FEET) + { + lasFile->AddLog("TVDRKB", "FT", "True vertical depth (Rotary Kelly Bushing)", tvdrkbValues); + } + } + } + + double minDepth = 0.0; + double maxDepth = 0.0; + firstCurveData->calculateMDRange(&minDepth, &maxDepth); + + lasFile->setStartDepth(minDepth); + lasFile->setStopDepth(maxDepth); + + if (firstCurveData->depthUnit() == RimDefines::UNIT_METER) + { + lasFile->setDepthUnit("M"); + } + else if (firstCurveData->depthUnit() == RimDefines::UNIT_FEET) + { + lasFile->setDepthUnit("FT"); + } + + double absentValue = SingleLasFileMetaData::createAbsentValue(m_minimumCurveValue); + lasFile->SetMissing(absentValue); + + for (auto curveData : m_logCurveData) + { + curveData.appendDataToLasFile(lasFile, absentValue); + } + } + + +private: + const RigWellLogCurveData* curveDataForFirstCurve() const + { + CVF_ASSERT(m_logCurveData.size() > 0); + + return m_logCurveData[0].curveData(); + } + + static double createAbsentValue(double lowestDataValue) + { + double absentValue = -999.0; + + while (absentValue > lowestDataValue) + { + absentValue *= 10; + absentValue -= 9; + } + + return absentValue - 0.25; + } + +private: + QString m_wellName; + QString m_caseName; + QString m_date; + + double m_rkbDiff; + double m_exportTvdrkb; + + RimDefines::DepthUnitType m_depthUnit; + std::vector m_depthValues; + + std::vector m_logCurveData; + double m_minimumCurveValue; +}; + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigLasFileExporter::RigLasFileExporter(const std::vector& curves) + : m_curves(curves), + m_isResampleActive(false), + m_resamplingInterval(1.0) +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigLasFileExporter::setResamplingInterval(double interval) +{ + m_isResampleActive = true; + m_resamplingInterval = interval; + m_resampledCurveDatas.clear(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigLasFileExporter::wellPathsAndRkbDiff(std::vector* wellNames, std::vector* rkbDiffs) +{ + std::vector lasFileDescriptions = createLasFileDescriptions(m_curves); + + std::set uniqueWellNames; + + for (auto metaData : lasFileDescriptions) + { + QString wellName = metaData.wellName(); + if (uniqueWellNames.find(wellName) == uniqueWellNames.end()) + { + uniqueWellNames.insert(wellName); + + wellNames->push_back(wellName); + rkbDiffs->push_back(metaData.rkbDiff()); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigLasFileExporter::setRkbDiffs(const std::vector& wellNames, const std::vector& rkbDiffs) +{ + assert(wellNames.size() == rkbDiffs.size()); + + std::vector lasFileDescriptions = createLasFileDescriptions(m_curves); + + for (size_t i = 0; i < wellNames.size(); i++) + { + for (auto& metaData : lasFileDescriptions) + { + if (metaData.wellName() == wellNames[i]) + { + m_userDefinedRkbOffsets.push_back(rkbDiffs[i]); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RigLasFileExporter::writeToFolder(const QString& exportFolder) +{ + std::vector lasFileDescriptions = createLasFileDescriptions(m_curves); + + applyUserDefinedRkbOffsets(&lasFileDescriptions); + + for (auto lasFileDescr : lasFileDescriptions) + { + NRLib::LasWell lasFile; + lasFile.setVersionInfo("2.0"); + + lasFileDescr.appendDataToLasFile(&lasFile); + if (m_isResampleActive) + { + lasFile.setDepthStep(m_resamplingInterval); + } + + QDir dir(exportFolder); + QString fileName = dir.absoluteFilePath(QString::fromStdString(lasFileDescr.generateFilename())); + if (QFile::exists(fileName)) + { + QString txt = QString("File %1 exists.\n\nDo you want to overwrite the file?").arg(fileName); + int ret = QMessageBox::question(NULL, "LAS File Export", + txt, + QMessageBox::Yes | QMessageBox::No, + QMessageBox::Yes); + + if (ret != QMessageBox::Yes) continue; + } + + std::vector commentHeader; + lasFile.WriteToFile(fileName.toStdString(), commentHeader); + } + + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RigLasFileExporter::createLasFileDescriptions(const std::vector& curves) +{ + std::vector eclipseCurves; + std::vector geoMechCurves; + std::vector externalLasCurves; + + for (auto curve : curves) + { + RimWellLogExtractionCurve* extractionCurve = dynamic_cast(curve); + if (extractionCurve) + { + if (extractionCurve->isEclipseCurve()) + { + eclipseCurves.push_back(extractionCurve); + } + else + { + geoMechCurves.push_back(extractionCurve); + } + } + else + { + externalLasCurves.push_back(curve); + } + } + + // External LAS files + + std::vector lasFileDescriptions; + + appendLasFileDescriptions(externalLasCurves, &lasFileDescriptions); + appendLasFileDescriptions(eclipseCurves, &lasFileDescriptions); + appendLasFileDescriptions(geoMechCurves, &lasFileDescriptions); + + return lasFileDescriptions; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigLasFileExporter::appendLasFileDescriptions(const std::vector& curves, std::vector* lasFileDescriptions) +{ + CVF_ASSERT(lasFileDescriptions); + + struct CurveCollectionDefinition + { + CurveCollectionDefinition(const QString& wellName, const QString& caseName, const QString& date) + : m_wellName(wellName), + m_caseName(caseName), + m_date(date) + {} + + bool isEqual(RimWellLogCurve* curve, const QString& caseName) + { + if (m_wellName == curve->wellName() && + m_caseName == caseName && + m_date == curve->wellDate()) + { + return true; + } + + return false; + } + + QString m_wellName; + QString m_caseName; + QString m_date; + }; + + std::vector curveDefinitions; + for (auto curve : curves) + { + QString caseName = caseNameFromCurve(curve); + + bool found = false; + for (auto curveDef : curveDefinitions) + { + if (curveDef.isEqual(curve, caseName)) + { + found = true; + } + } + + if (!found) + { + CurveCollectionDefinition curveDefCandidate(curve->wellName(), caseName, curve->wellDate()); + curveDefinitions.push_back(curveDefCandidate); + } + } + + for (auto curveDef : curveDefinitions) + { + SingleLasFileMetaData singleLasFileMeta; + singleLasFileMeta.setWellName(curveDef.m_wellName); + singleLasFileMeta.setCaseName(curveDef.m_caseName); + singleLasFileMeta.setDate(curveDef.m_date); + + for (auto curve : curves) + { + + if (curveDef.isEqual(curve, caseNameFromCurve(curve))) + { + singleLasFileMeta.setRkbDiff(rkbDiff(curve)); + + const RigWellLogCurveData* curveData = nullptr; + if (m_isResampleActive) + { + cvf::ref resampledData = curve->curveData()->calculateResampledCurveData(m_resamplingInterval); + m_resampledCurveDatas.push_back(resampledData.p()); + + curveData = resampledData.p(); + } + else + { + curveData = curve->curveData(); + } + singleLasFileMeta.addLogData(curve->wellLogChannelName().toStdString(), "NO_UNIT", "", curveData); + } + } + + lasFileDescriptions->push_back(singleLasFileMeta); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RigLasFileExporter::caseNameFromCurve(RimWellLogCurve* curve) +{ + QString caseName; + + RimWellLogExtractionCurve* extractionCurve = dynamic_cast(curve); + if (extractionCurve) + { + caseName = extractionCurve->caseName(); + } + else + { + caseName = "unnamed"; + } + + return caseName; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +double RigLasFileExporter::rkbDiff(RimWellLogCurve* curve) +{ + RimWellLogExtractionCurve* extractionCurve = dynamic_cast(curve); + if (extractionCurve) + { + return extractionCurve->rkbDiff(); + } + + return HUGE_VAL; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigLasFileExporter::applyUserDefinedRkbOffsets(std::vector* lasFileDescriptions) +{ + if (m_userDefinedRkbOffsets.size() == lasFileDescriptions->size()) + { + for (size_t i = 0; i < m_userDefinedRkbOffsets.size(); i++) + { + if (m_userDefinedRkbOffsets[i] != HUGE_VAL) + { + lasFileDescriptions->at(i).setRkbDiff(m_userDefinedRkbOffsets[i]); + lasFileDescriptions->at(i).enableTvdrkbExport(); + } + } + } +} + diff --git a/ApplicationCode/ReservoirDataModel/RigLasFileExporter.h b/ApplicationCode/ReservoirDataModel/RigLasFileExporter.h new file mode 100644 index 0000000000..503bd9561c --- /dev/null +++ b/ApplicationCode/ReservoirDataModel/RigLasFileExporter.h @@ -0,0 +1,60 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cvfBase.h" +#include "cvfCollection.h" + +#include + +#include + +class RimWellLogCurve; +class RigWellLogCurveData; +class SingleLasFileMetaData; + +class RigLasFileExporter +{ +public: + RigLasFileExporter(const std::vector& curves); + + void setResamplingInterval(double interval); + + void wellPathsAndRkbDiff(std::vector* wellNames, std::vector* rkbDiffs); + void setRkbDiffs(const std::vector& wellNames, const std::vector& rkbDiffs); + + bool writeToFolder(const QString& exportFolder); + +private: + std::vector createLasFileDescriptions(const std::vector& curves); + void appendLasFileDescriptions(const std::vector& curves, + std::vector* lasFileDescriptions); + QString caseNameFromCurve(RimWellLogCurve* curve); + double rkbDiff(RimWellLogCurve* curve); + + void applyUserDefinedRkbOffsets(std::vector* lasFileDescriptions); + +private: + std::vector m_curves; + std::vector m_userDefinedRkbOffsets; + + bool m_isResampleActive; + double m_resamplingInterval; + cvf::Collection m_resampledCurveDatas; +}; diff --git a/ApplicationCode/ReservoirDataModel/RigMainGrid.cpp b/ApplicationCode/ReservoirDataModel/RigMainGrid.cpp index 0c1038860b..3bc6632a2b 100644 --- a/ApplicationCode/ReservoirDataModel/RigMainGrid.cpp +++ b/ApplicationCode/ReservoirDataModel/RigMainGrid.cpp @@ -24,6 +24,7 @@ #include "RimDefines.h" #include "RigFault.h" #include "cvfBoundingBoxTree.h" +#include "RigActiveCellInfo.h" RigMainGrid::RigMainGrid(void) @@ -218,7 +219,7 @@ void RigMainGrid::setFaults(const cvf::Collection& faults) //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RigMainGrid::calculateFaults() +void RigMainGrid::calculateFaults(const RigActiveCellInfo* activeCellInfo) { m_faultsPrCellAcc = new RigFaultsPrCellAccumulator(m_cells.size()); @@ -228,10 +229,20 @@ void RigMainGrid::calculateFaults() m_faults[fIdx]->accumulateFaultsPrCell(m_faultsPrCellAcc.p(), static_cast(fIdx)); } - // Find the geometrical faults that is in addition + // Find the geometrical faults that is in addition: Has no user defined (eclipse) fault assigned. + // Separate the grid faults that has an inactive cell as member - RigFault * unNamedFault = new RigFault; + RigFault* unNamedFault = new RigFault; + unNamedFault->setName(RimDefines::undefinedGridFaultName()); int unNamedFaultIdx = static_cast(m_faults.size()); + m_faults.push_back(unNamedFault); + + RigFault* unNamedFaultWithInactive = new RigFault; + unNamedFaultWithInactive->setName(RimDefines::undefinedGridFaultWithInactiveName()); + int unNamedFaultWithInactiveIdx = static_cast(m_faults.size()); + m_faults.push_back(unNamedFaultWithInactive); + + const std::vector& vxs = m_mainGrid->nodes(); for (int gcIdx = 0 ; gcIdx < static_cast(m_cells.size()); ++gcIdx) { @@ -245,11 +256,14 @@ void RigMainGrid::calculateFaults() size_t i, j, k; RigGridBase* hostGrid = NULL; bool firstNO_FAULTFaceForCell = true; + bool isCellActive = true; for (char faceIdx = 0; faceIdx < 6; ++faceIdx) { cvf::StructGridInterface::FaceType face = cvf::StructGridInterface::FaceType(faceIdx); + // For faces that has no used defined Fault assigned: + if (m_faultsPrCellAcc->faultIdx(gcIdx, face) == RigFaultsPrCellAccumulator::NO_FAULT) { // Find neighbor cell @@ -257,6 +271,8 @@ void RigMainGrid::calculateFaults() { hostGrid = m_cells[gcIdx].hostGrid(); hostGrid->ijkFromCellIndex(m_cells[gcIdx].gridLocalCellIndex(), &i,&j, &k); + isCellActive = activeCellInfo->isActive(gcIdx); + firstNO_FAULTFaceForCell = false; } @@ -271,15 +287,15 @@ void RigMainGrid::calculateFaults() continue; } + bool isNeighborCellActive = activeCellInfo->isActive(neighborReservoirCellIdx); + double tolerance = 1e-6; - caf::SizeTArray4 faceIdxs; m_cells[gcIdx].faceIndices(face, &faceIdxs); caf::SizeTArray4 nbFaceIdxs; m_cells[neighborReservoirCellIdx].faceIndices(StructGridInterface::oppositeFace(face), &nbFaceIdxs); - const std::vector& vxs = m_mainGrid->nodes(); bool sharedFaceVertices = true; if (sharedFaceVertices && vxs[faceIdxs[0]].pointDistance(vxs[nbFaceIdxs[0]]) > tolerance ) sharedFaceVertices = false; @@ -292,20 +308,26 @@ void RigMainGrid::calculateFaults() continue; } - // To avoid doing this calculation for the opposite face + // To avoid doing this calculation for the opposite face + int faultIdx = unNamedFaultIdx; + if (!(isCellActive && isNeighborCellActive)) faultIdx = unNamedFaultWithInactiveIdx; - m_faultsPrCellAcc->setFaultIdx(gcIdx, face, unNamedFaultIdx); - m_faultsPrCellAcc->setFaultIdx(neighborReservoirCellIdx, StructGridInterface::oppositeFace(face), unNamedFaultIdx); + m_faultsPrCellAcc->setFaultIdx(gcIdx, face, faultIdx); + m_faultsPrCellAcc->setFaultIdx(neighborReservoirCellIdx, StructGridInterface::oppositeFace(face), faultIdx); // Add as fault face only if the grid index is less than the neighbors if (static_cast(gcIdx) < neighborReservoirCellIdx) { + RigFault::FaultFace ff(gcIdx, cvf::StructGridInterface::FaceType(faceIdx), neighborReservoirCellIdx); + if(isCellActive && isNeighborCellActive) { - RigFault::FaultFace ff(gcIdx, cvf::StructGridInterface::FaceType(faceIdx), neighborReservoirCellIdx); unNamedFault->faultFaces().push_back(ff); } - + else + { + unNamedFaultWithInactive->faultFaces().push_back(ff); + } } else { @@ -315,21 +337,21 @@ void RigMainGrid::calculateFaults() } } - if (unNamedFault->faultFaces().size()) - { - unNamedFault->setName(RimDefines::undefinedGridFaultName()); - m_faults.push_back(unNamedFault); - } - - // Distribute nnc's to the faults + distributeNNCsToFaults(); +} +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigMainGrid::distributeNNCsToFaults() +{ const std::vector& nncs = this->nncData()->connections(); - for (size_t nncIdx = 0; nncIdx < nncs.size(); ++nncIdx) + for (size_t nncIdx = 0; nncIdx < nncs.size(); ++nncIdx) { // Find the fault for each side of the nnc const RigConnection& conn = nncs[nncIdx]; - int fIdx1 = RigFaultsPrCellAccumulator::NO_FAULT; - int fIdx2 = RigFaultsPrCellAccumulator::NO_FAULT; + int fIdx1 = RigFaultsPrCellAccumulator::NO_FAULT; + int fIdx2 = RigFaultsPrCellAccumulator::NO_FAULT; if (conn.m_c1Face != StructGridInterface::NO_FACE) { @@ -339,13 +361,13 @@ void RigMainGrid::calculateFaults() if (fIdx1 < 0 && fIdx2 < 0) { - cvf::String lgrString ("Same Grid"); - if (m_cells[conn.m_c1GlobIdx].hostGrid() != m_cells[conn.m_c2GlobIdx].hostGrid() ) + cvf::String lgrString("Same Grid"); + if (m_cells[conn.m_c1GlobIdx].hostGrid() != m_cells[conn.m_c2GlobIdx].hostGrid()) { lgrString = "Different Grid"; } - //cvf::Trace::show("NNC: No Fault for NNC C1: " + cvf::String((int)conn.m_c1GlobIdx) + " C2: " + cvf::String((int)conn.m_c2GlobIdx) + " Grid: " + lgrString); + //cvf::Trace::show("NNC: No Fault for NNC C1: " + cvf::String((int)conn.m_c1GlobIdx) + " C2: " + cvf::String((int)conn.m_c2GlobIdx) + " Grid: " + lgrString); } if (fIdx1 >= 0) diff --git a/ApplicationCode/ReservoirDataModel/RigMainGrid.h b/ApplicationCode/ReservoirDataModel/RigMainGrid.h index 085da40b03..470454a58a 100644 --- a/ApplicationCode/ReservoirDataModel/RigMainGrid.h +++ b/ApplicationCode/ReservoirDataModel/RigMainGrid.h @@ -30,11 +30,14 @@ #include #include "RigNNCData.h" +class RigActiveCellInfo; + namespace cvf { class BoundingBoxTree; } + class RigMainGrid : public RigGridBase { public: @@ -57,7 +60,10 @@ class RigMainGrid : public RigGridBase RigNNCData* nncData(); void setFaults(const cvf::Collection& faults); const cvf::Collection& faults() { return m_faults; } - void calculateFaults(); + void calculateFaults(const RigActiveCellInfo* activeCellInfo); + + void distributeNNCsToFaults(); + const RigFault* findFaultFromCellIndexAndCellFace(size_t reservoirCellIndex, cvf::StructGridInterface::FaceType face) const; bool isFaceNormalsOutwards() const; @@ -74,7 +80,6 @@ class RigMainGrid : public RigGridBase private: void initAllSubGridsParentGridPointer(); void initAllSubCellsMainGridCellIndex(); - void computeActiveAndValidCellRanges(); void buildCellSearchTree(); private: diff --git a/ApplicationCode/ReservoirDataModel/RigResultAccessorFactory.cpp b/ApplicationCode/ReservoirDataModel/RigResultAccessorFactory.cpp index e6895fcb81..c9d3514bad 100644 --- a/ApplicationCode/ReservoirDataModel/RigResultAccessorFactory.cpp +++ b/ApplicationCode/ReservoirDataModel/RigResultAccessorFactory.cpp @@ -57,6 +57,8 @@ cvf::ref RigResultAccessorFactory::createResultAccessor(RigCa if (uiResultName == RimDefines::combinedTransmissibilityResultName()) { + CVF_ASSERT(timeStepIndex == 0); // Static result, only data for first time step + cvf::ref cellFaceAccessObject = new RigCombTransResultAccessor(grid); cvf::ref xTransAccessor = RigResultAccessorFactory::createNativeResultAccessor(eclipseCase, gridIndex, porosityModel, timeStepIndex, "TRANX"); @@ -69,6 +71,8 @@ cvf::ref RigResultAccessorFactory::createResultAccessor(RigCa } else if (uiResultName == RimDefines::combinedMultResultName()) { + CVF_ASSERT(timeStepIndex == 0); // Static result, only data for first time step + cvf::ref cellFaceAccessObject = new RigCombMultResultAccessor(grid); cvf::ref multXPos = RigResultAccessorFactory::createNativeResultAccessor(eclipseCase, gridIndex, porosityModel, timeStepIndex, "MULTX"); @@ -84,6 +88,8 @@ cvf::ref RigResultAccessorFactory::createResultAccessor(RigCa } else if (uiResultName == RimDefines::combinedRiTranResultName()) { + CVF_ASSERT(timeStepIndex == 0); // Static result, only data for first time step + cvf::ref cellFaceAccessObject = new RigCombTransResultAccessor(grid); cvf::ref xTransAccessor = RigResultAccessorFactory::createNativeResultAccessor(eclipseCase, gridIndex, porosityModel, timeStepIndex, RimDefines::riTranXResultName()); @@ -96,6 +102,8 @@ cvf::ref RigResultAccessorFactory::createResultAccessor(RigCa } else if (uiResultName == RimDefines::combinedRiMultResultName()) { + CVF_ASSERT(timeStepIndex == 0); // Static result, only data for first time step + cvf::ref cellFaceAccessObject = new RigCombTransResultAccessor(grid); cvf::ref xRiMultAccessor = RigResultAccessorFactory::createNativeResultAccessor(eclipseCase, gridIndex, porosityModel, timeStepIndex, RimDefines::riMultXResultName()); @@ -108,6 +116,8 @@ cvf::ref RigResultAccessorFactory::createResultAccessor(RigCa } else if (uiResultName == RimDefines::combinedRiAreaNormTranResultName()) { + CVF_ASSERT(timeStepIndex == 0); // Static result, only data for first time step + cvf::ref cellFaceAccessObject = new RigCombTransResultAccessor(grid); cvf::ref xRiAreaNormTransAccessor = RigResultAccessorFactory::createNativeResultAccessor(eclipseCase, gridIndex, porosityModel, timeStepIndex, RimDefines::riAreaNormTranXResultName()); @@ -118,6 +128,7 @@ cvf::ref RigResultAccessorFactory::createResultAccessor(RigCa return cellFaceAccessObject; } + return RigResultAccessorFactory::createNativeResultAccessor(eclipseCase, gridIndex, porosityModel, timeStepIndex, uiResultName); } diff --git a/ApplicationCode/ReservoirDataModel/RigSimulationWellCenterLineCalculator.cpp b/ApplicationCode/ReservoirDataModel/RigSimulationWellCenterLineCalculator.cpp index 3e797092b8..ae03466d2c 100644 --- a/ApplicationCode/ReservoirDataModel/RigSimulationWellCenterLineCalculator.cpp +++ b/ApplicationCode/ReservoirDataModel/RigSimulationWellCenterLineCalculator.cpp @@ -41,7 +41,7 @@ void RigSimulationWellCenterLineCalculator::calculateWellPipeCenterline(RimEclip { CVF_ASSERT(rimWell); RimEclipseView* eclipseView; - rimWell->firstAnchestorOrThisOfType(eclipseView); + rimWell->firstAncestorOrThisOfType(eclipseView); CVF_ASSERT(eclipseView); isAutoDetectBranches = eclipseView->wellCollection()->isAutoDetectingBranches(); diff --git a/ApplicationCode/ReservoirDataModel/RigSummaryCaseData.cpp b/ApplicationCode/ReservoirDataModel/RigSummaryCaseData.cpp new file mode 100644 index 0000000000..037f02a889 --- /dev/null +++ b/ApplicationCode/ReservoirDataModel/RigSummaryCaseData.cpp @@ -0,0 +1,60 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RigSummaryCaseData.h" + +#include "RifEclipseSummaryTools.h" +#include "RifReaderEclipseSummary.h" + +#include +#include + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigSummaryCaseData::RigSummaryCaseData(const QString& summaryHeaderFileName) +{ + std::string headerFileName; + std::vector dataFileNames; + std::string nativeSumHeadFileName = QDir::toNativeSeparators(summaryHeaderFileName).toStdString(); + RifEclipseSummaryTools::findSummaryFiles(nativeSumHeadFileName, &headerFileName, &dataFileNames); + + m_summaryFileReader = new RifReaderEclipseSummary(); + if (!m_summaryFileReader->open(headerFileName, dataFileNames)) + { + m_summaryFileReader = nullptr; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigSummaryCaseData::~RigSummaryCaseData() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RifReaderEclipseSummary* RigSummaryCaseData::summaryReader() +{ + return m_summaryFileReader.p(); +} + + diff --git a/ApplicationCode/ReservoirDataModel/RigSummaryCaseData.h b/ApplicationCode/ReservoirDataModel/RigSummaryCaseData.h new file mode 100644 index 0000000000..70eb3574e3 --- /dev/null +++ b/ApplicationCode/ReservoirDataModel/RigSummaryCaseData.h @@ -0,0 +1,39 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cvfBase.h" +#include "cvfObject.h" + +class QString; +class RifReaderEclipseSummary; + +class RigSummaryCaseData: public cvf::Object +{ +public: + RigSummaryCaseData(const QString& summaryHeaderFileName ); + ~RigSummaryCaseData(); + + + RifReaderEclipseSummary* summaryReader(); + +private: + cvf::ref m_summaryFileReader; + +}; diff --git a/ApplicationCode/ReservoirDataModel/RigWellLogCurveData.cpp b/ApplicationCode/ReservoirDataModel/RigWellLogCurveData.cpp index f083080f67..365d5ce437 100644 --- a/ApplicationCode/ReservoirDataModel/RigWellLogCurveData.cpp +++ b/ApplicationCode/ReservoirDataModel/RigWellLogCurveData.cpp @@ -102,6 +102,14 @@ const std::vector& RigWellLogCurveData::measuredDepths() const } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RigWellLogCurveData::tvDepths() const +{ + return m_tvDepths; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -116,12 +124,12 @@ std::vector RigWellLogCurveData::xPlotValues() const //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -std::vector RigWellLogCurveData::depthPlotValues(RimDefines::DepthUnitType destinationDepthUnit) const +std::vector RigWellLogCurveData::trueDepthPlotValues(RimDefines::DepthUnitType destinationDepthUnit) const { std::vector filteredValues; - if (m_tvDepths.size()) + if(m_tvDepths.size()) { - if (destinationDepthUnit == m_depthUnit) + if(destinationDepthUnit == m_depthUnit) { RigCurveDataTools::getValuesByIntervals(m_tvDepths, m_intervalsOfContinousValidValues, &filteredValues); } @@ -131,17 +139,25 @@ std::vector RigWellLogCurveData::depthPlotValues(RimDefines::DepthUnitTy RigCurveDataTools::getValuesByIntervals(convertedValues, m_intervalsOfContinousValidValues, &filteredValues); } } + + return filteredValues; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RigWellLogCurveData::measuredDepthPlotValues(RimDefines::DepthUnitType destinationDepthUnit) const +{ + std::vector filteredValues; + + if(destinationDepthUnit == m_depthUnit) + { + RigCurveDataTools::getValuesByIntervals(m_measuredDepths, m_intervalsOfContinousValidValues, &filteredValues); + } else { - if (destinationDepthUnit == m_depthUnit) - { - RigCurveDataTools::getValuesByIntervals(m_measuredDepths, m_intervalsOfContinousValidValues, &filteredValues); - } - else - { - std::vector convertedValues = convertDepthValues(destinationDepthUnit, m_measuredDepths); - RigCurveDataTools::getValuesByIntervals(convertedValues, m_intervalsOfContinousValidValues, &filteredValues); - } + std::vector convertedValues = convertDepthValues(destinationDepthUnit, m_measuredDepths); + RigCurveDataTools::getValuesByIntervals(convertedValues, m_intervalsOfContinousValidValues, &filteredValues); } return filteredValues; @@ -159,13 +175,82 @@ std::vector< std::pair > RigWellLogCurveData::polylineStartStopI } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref RigWellLogCurveData::calculateResampledCurveData(double newMeasuredDepthStepSize) const +{ + std::vector xValues; + std::vector measuredDepths; + + bool isTvDepthsAvailable = false; + std::vector tvDepths; + + size_t segmentStartIdx = 0; + + if (m_tvDepths.size() > 0) isTvDepthsAvailable = true; + + if(m_measuredDepths.size() > 0) + { + double currentMd = m_measuredDepths[0]; + + while(segmentStartIdx < m_measuredDepths.size() - 1) + { + double segmentStartMd = m_measuredDepths[segmentStartIdx]; + double segmentEndMd = m_measuredDepths[segmentStartIdx + 1]; + double segmentStartX = m_xValues[segmentStartIdx]; + double segmentEndX = m_xValues[segmentStartIdx +1]; + + double segmentStartTvd = 0.0; + double segmentEndTvd = 0.0; + if (isTvDepthsAvailable) + { + segmentStartTvd = m_tvDepths[segmentStartIdx]; + segmentEndTvd = m_tvDepths[segmentStartIdx +1]; + } + + while(currentMd <= segmentEndMd) + { + measuredDepths.push_back(currentMd); + double endWeight = (currentMd - segmentStartMd)/ (segmentEndMd - segmentStartMd); + xValues.push_back((1.0-endWeight) * segmentStartX + endWeight*segmentEndX); + + // The tvd calculation is a simplification. We should use the wellpath, as it might have a better resolution, and have a none-linear shape + // This is much simpler, and possibly accurate enough ? + + if (isTvDepthsAvailable) + { + tvDepths.push_back((1.0-endWeight) * segmentStartTvd + endWeight*segmentEndTvd); + } + + currentMd += newMeasuredDepthStepSize; + } + + segmentStartIdx++; + } + } + + cvf::ref reSampledData = new RigWellLogCurveData; + + if (isTvDepthsAvailable) + { + reSampledData->setValuesWithTVD(xValues, measuredDepths, tvDepths, m_depthUnit); + } + else + { + reSampledData->setValuesAndMD(xValues, measuredDepths, m_depthUnit, m_isExtractionCurve); + } + + return reSampledData; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RigWellLogCurveData::calculateIntervalsOfContinousValidValues() { std::vector< std::pair > intervalsOfValidValues; - RigCurveDataTools::calculateIntervalsOfValidValues(m_xValues, &intervalsOfValidValues); + RigCurveDataTools::calculateIntervalsOfValidValues(m_xValues, &intervalsOfValidValues, false); m_intervalsOfContinousValidValues.clear(); diff --git a/ApplicationCode/ReservoirDataModel/RigWellLogCurveData.h b/ApplicationCode/ReservoirDataModel/RigWellLogCurveData.h index 30ea1200af..bff672e31c 100644 --- a/ApplicationCode/ReservoirDataModel/RigWellLogCurveData.h +++ b/ApplicationCode/ReservoirDataModel/RigWellLogCurveData.h @@ -49,14 +49,18 @@ class RigWellLogCurveData : public cvf::Object const std::vector& xValues() const; const std::vector& measuredDepths() const; + const std::vector& tvDepths() const; bool calculateMDRange(double* minMD, double* maxMD) const; RimDefines::DepthUnitType depthUnit() const; std::vector xPlotValues() const; - std::vector depthPlotValues(RimDefines::DepthUnitType displayDepthUnit) const; + std::vector trueDepthPlotValues(RimDefines::DepthUnitType destinationDepthUnit) const; + std::vector measuredDepthPlotValues(RimDefines::DepthUnitType destinationDepthUnit) const; std::vector< std::pair > polylineStartStopIndices() const; + cvf::ref calculateResampledCurveData(double newMeasuredDepthStepSize) const; + private: void calculateIntervalsOfContinousValidValues(); diff --git a/ApplicationCode/ReservoirDataModel/RigWellLogFile.cpp b/ApplicationCode/ReservoirDataModel/RigWellLogFile.cpp index a0f787efd9..76f78734e9 100644 --- a/ApplicationCode/ReservoirDataModel/RigWellLogFile.cpp +++ b/ApplicationCode/ReservoirDataModel/RigWellLogFile.cpp @@ -279,6 +279,12 @@ bool RigWellLogFile::exportToLasFile(const RimWellLogCurve* curve, const QString else if (curveData->depthUnit() == RimDefines::UNIT_FEET) { lasFile.AddLog("DEPTH", "FT", "Depth in feet", curveData->measuredDepths()); + + } + + if(curveData->tvDepths().size()) + { + lasFile.AddLog("TVDMSL", "M", "True vertical depth in meters", curveData->tvDepths()); } lasFile.AddLog(wellLogChannelName.trimmed().toStdString(), "NO_UNIT", "", wellLogValues); diff --git a/ApplicationCode/ReservoirDataModel/RigWellPath.cpp b/ApplicationCode/ReservoirDataModel/RigWellPath.cpp index 700bde7cab..7c84a68612 100644 --- a/ApplicationCode/ReservoirDataModel/RigWellPath.cpp +++ b/ApplicationCode/ReservoirDataModel/RigWellPath.cpp @@ -17,171 +17,38 @@ ///////////////////////////////////////////////////////////////////////////////// #include "RigWellPath.h" -#include -#include +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigWellPath::RigWellPath() + : m_hasDatumElevation(false), + m_datumElevation(0.0) +{ +} //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -// void RigWellPath::computeStaticWellCellPath() -// { -// if (m_wellCellsTimeSteps.size() == 0) return; -// -// std::map < size_t, std::list< RigWellResultCell > > staticWellBranches; -// -// // Add ResultCell data from the first timestep to the final result. -// -// for (size_t bIdx = 0; bIdx < m_wellCellsTimeSteps[0].m_wellResultBranches.size(); ++bIdx) -// { -// size_t branchNumber = m_wellCellsTimeSteps[0].m_wellResultBranches[bIdx].m_branchNumber; -// std::vector& frameCells = m_wellCellsTimeSteps[0].m_wellResultBranches[bIdx].m_wellCells; -// -// std::list< RigWellResultCell >& branch = staticWellBranches[branchNumber]; -// -// for(size_t cIdx = 0; cIdx < frameCells.size(); ++cIdx) -// { -// branch.push_back(frameCells[cIdx]); -// } -// } -// -// -// -// for (size_t tIdx = 1; tIdx < m_wellCellsTimeSteps.size(); ++tIdx) -// { -// // Merge well branches separately -// -// for (size_t bIdx = 0; bIdx < m_wellCellsTimeSteps[tIdx].m_wellResultBranches.size(); ++bIdx) -// { -// size_t branchNumber = m_wellCellsTimeSteps[tIdx].m_wellResultBranches[bIdx].m_branchNumber; -// std::vector& resBranch = m_wellCellsTimeSteps[tIdx].m_wellResultBranches[bIdx].m_wellCells; -// -// std::list< RigWellResultCell >& stBranch = staticWellBranches[branchNumber]; -// std::list< RigWellResultCell >::iterator it; -// std::list< RigWellResultCell >::iterator sStartIt; -// std::list< RigWellResultCell >::iterator sEndIt; -// size_t rStartIdx; -// size_t rEndIdx; -// -// -// size_t sGridIdx; -// size_t sCellIdx; -// size_t rGridIdx; -// size_t rCellIdx; -// -// // First detect if we have cells on the start of the result frame, that is not in the static frame -// { -// sEndIt = stBranch.begin(); -// bool found = false; -// if (stBranch.size()) -// { -// sGridIdx = sEndIt->m_gridIndex; -// sCellIdx = sEndIt->m_gridCellIndex; -// -// for (rEndIdx = 0; !found && rEndIdx < resBranch.size(); ++rEndIdx) -// { -// rGridIdx = resBranch[rEndIdx].m_gridIndex; -// rCellIdx = resBranch[rEndIdx].m_gridCellIndex; -// -// if (sGridIdx == rGridIdx && sCellIdx == rCellIdx) { found = true; break; } -// } -// } -// -// if (found) -// { -// if (rEndIdx > 0) -// { -// // Found cells in start, merge them in -// for (size_t cIdx = 0; cIdx < rEndIdx; ++cIdx) -// { -// stBranch.insert(sEndIt, resBranch[cIdx]); -// } -// } -// } -// else -// { -// // The result probably starts later in the well -// rEndIdx = 0; -// } -// -// sStartIt = sEndIt; -// rStartIdx = rEndIdx; -// } -// -// // Now find all result cells in ranges between pairs in the static path -// // If the result has items that "compete" with those in the static path, -// // those items are inserted after the ones in the static path. This -// // is not neccesarily correct. They could be in front, and also merged in -// // strange ways. A geometric test could make this more robust, but we will -// // not solve before we see that it actually ends up as a problem -// -// if (sEndIt != stBranch.end()) ++sEndIt; -// for ( ; sEndIt != stBranch.end() ; ++sEndIt) -// { -// sGridIdx = sEndIt->m_gridIndex; -// sCellIdx = sEndIt->m_gridCellIndex; -// -// bool found = false; -// for (rEndIdx += 1; !found && rEndIdx < resBranch.size(); ++rEndIdx) -// { -// rGridIdx = resBranch[rEndIdx].m_gridIndex; -// rCellIdx = resBranch[rEndIdx].m_gridCellIndex; -// -// if (sGridIdx == rGridIdx && sCellIdx == rCellIdx) { found = true; break; } -// } -// -// if (found) -// { -// if (rEndIdx - rStartIdx > 1) -// { -// // Found cell range in result that we do not have in the static result, merge them in -// for (size_t cIdx = rStartIdx + 1; cIdx < rEndIdx; ++cIdx) -// { -// stBranch.insert(sEndIt, resBranch[cIdx]); -// } -// } -// } -// else -// { -// // The static path probably has some extra cells -// rEndIdx = rStartIdx; -// } -// -// sStartIt = sEndIt; -// rStartIdx = rEndIdx; -// } -// -// // Then add cells from the end of the resultpath not present in the static path -// for (size_t cIdx = rEndIdx + 1; cIdx < resBranch.size(); ++cIdx) -// { -// stBranch.push_back(resBranch[cIdx]); -// } -// } -// } -// -// // Populate the static well info -// -// std::map < size_t, std::list< RigWellResultCell > >::iterator bIt; -// -// m_staticWellCells.m_wellResultBranches.clear(); -// m_staticWellCells.m_wellHead = m_wellCellsTimeSteps[0].m_wellHead; -// -// for (bIt = staticWellBranches.begin(); bIt != staticWellBranches.end(); ++bIt) -// { -// RigWellResultBranch rigBranch; -// rigBranch.m_branchNumber = bIt->first; -// -// std::list< RigWellResultCell >& branch = bIt->second; -// std::list< RigWellResultCell >::iterator cIt; -// -// for (cIt = branch.begin(); cIt != branch.end(); ++cIt) -// { -// RigWellResultCell rwc = *cIt; -// rwc.m_isOpen = false; // Reset the dynamic property -// rigBranch.m_wellCells.push_back(*cIt); -// } -// -// m_staticWellCells.m_wellResultBranches.push_back(rigBranch); -// } -// } +void RigWellPath::setDatumElevation(double value) +{ + m_hasDatumElevation = true; + m_datumElevation = value; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RigWellPath::hasDatumElevation() const +{ + return m_hasDatumElevation; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +double RigWellPath::datumElevation() const +{ + return m_datumElevation; +} diff --git a/ApplicationCode/ReservoirDataModel/RigWellPath.h b/ApplicationCode/ReservoirDataModel/RigWellPath.h index 7fce36f533..d77cf8e77e 100644 --- a/ApplicationCode/ReservoirDataModel/RigWellPath.h +++ b/ApplicationCode/ReservoirDataModel/RigWellPath.h @@ -23,18 +23,25 @@ #include "cvfMath.h" #include "cvfVector3.h" -#include "RimDefines.h" -#include #include - //================================================================================================== /// //================================================================================================== class RigWellPath : public cvf::Object { public: - std::vector m_wellPathPoints; - std::vector m_measuredDepths; + RigWellPath(); + + std::vector m_wellPathPoints; + std::vector m_measuredDepths; + + void setDatumElevation(double value); + bool hasDatumElevation() const; + double datumElevation() const; + +private: + bool m_hasDatumElevation; + double m_datumElevation; }; diff --git a/ApplicationCode/ReservoirDataModel/cvfGeometryTools.cpp b/ApplicationCode/ReservoirDataModel/cvfGeometryTools.cpp index 7c1fc0c5ee..3e0a245178 100644 --- a/ApplicationCode/ReservoirDataModel/cvfGeometryTools.cpp +++ b/ApplicationCode/ReservoirDataModel/cvfGeometryTools.cpp @@ -38,6 +38,35 @@ cvf::Vec3d GeometryTools::computeFaceCenter(const cvf::Vec3d& v0, const cvf::Vec return centerCoord; } +//-------------------------------------------------------------------------------------------------- +/// Ez = Plane normal, Ex = in XY plane (horizontal), Ey = semi vertical upwards +//-------------------------------------------------------------------------------------------------- +cvf::Mat3f GeometryTools::computePlaneHorizontalRotationMx(const cvf::Vec3f& inPlaneVec0, const cvf::Vec3f& inPlaneVec1) +{ + cvf::Vec3f Ez = inPlaneVec0 ^ inPlaneVec1; + + if (!Ez.normalize()) return cvf::Mat3f::IDENTITY; + + cvf::Vec3f Ex = Ez ^ cvf::Vec3f::Z_AXIS; + + if (!Ex.normalize()) return cvf::Mat3f::IDENTITY; + + cvf::Vec3f Ey = Ez ^ Ex; + + if(Ey[2] < 0.0f) // Semi vertical is down + { + return cvf::Mat3f(-Ex[0], -Ey[0], Ez[0], + -Ex[1], -Ey[1], Ez[1], + -Ex[2], -Ey[2], Ez[2]); + } + else + { + return cvf::Mat3f(Ex[0], Ey[0], Ez[0], + Ex[1], Ey[1], Ez[1], + Ex[2], Ey[2], Ez[2]); + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/cvfGeometryTools.h b/ApplicationCode/ReservoirDataModel/cvfGeometryTools.h index 538a856b03..2a7b730af0 100644 --- a/ApplicationCode/ReservoirDataModel/cvfGeometryTools.h +++ b/ApplicationCode/ReservoirDataModel/cvfGeometryTools.h @@ -23,6 +23,7 @@ #include #include #include "cvfArrayWrapperConst.h" +#include "cvfMatrix3.h" namespace cvf { @@ -35,6 +36,7 @@ class GeometryTools { public: static cvf::Vec3d computeFaceCenter(const cvf::Vec3d& v0, const cvf::Vec3d& v1, const cvf::Vec3d& v2, const cvf::Vec3d& v3); + static cvf::Mat3f computePlaneHorizontalRotationMx(const cvf::Vec3f& inPlaneVec0, const cvf::Vec3f& inPlaneVec1); static cvf::Vec3d projectPointOnLine(const cvf::Vec3d& p1, const cvf::Vec3d& p2, const cvf::Vec3d& p3, double* normalizedIntersection); diff --git a/ApplicationCode/Resources/3DView16x16.png b/ApplicationCode/Resources/3DView16x16.png new file mode 100644 index 0000000000..fea97a9c45 Binary files /dev/null and b/ApplicationCode/Resources/3DView16x16.png differ diff --git a/ApplicationCode/Resources/3DWindow24x24.png b/ApplicationCode/Resources/3DWindow24x24.png new file mode 100644 index 0000000000..702e07ddb2 Binary files /dev/null and b/ApplicationCode/Resources/3DWindow24x24.png differ diff --git a/ApplicationCode/Resources/Axes16x16.png b/ApplicationCode/Resources/Axes16x16.png new file mode 100644 index 0000000000..58919d3573 Binary files /dev/null and b/ApplicationCode/Resources/Axes16x16.png differ diff --git a/ApplicationCode/Resources/BottomAxis16x16.png b/ApplicationCode/Resources/BottomAxis16x16.png new file mode 100644 index 0000000000..a61212a60a Binary files /dev/null and b/ApplicationCode/Resources/BottomAxis16x16.png differ diff --git a/ApplicationCode/Resources/Copy.png b/ApplicationCode/Resources/Copy.png new file mode 100644 index 0000000000..572599b17f Binary files /dev/null and b/ApplicationCode/Resources/Copy.png differ diff --git a/ApplicationCode/Resources/EclipseInput48x48.png b/ApplicationCode/Resources/EclipseInput48x48.png index a172f14dbd..487da4807b 100644 Binary files a/ApplicationCode/Resources/EclipseInput48x48.png and b/ApplicationCode/Resources/EclipseInput48x48.png differ diff --git a/ApplicationCode/Resources/Erase.png b/ApplicationCode/Resources/Erase.png new file mode 100644 index 0000000000..8de141595a Binary files /dev/null and b/ApplicationCode/Resources/Erase.png differ diff --git a/ApplicationCode/Resources/FormationCollection16x16.png b/ApplicationCode/Resources/FormationCollection16x16.png new file mode 100644 index 0000000000..8ceac78b35 Binary files /dev/null and b/ApplicationCode/Resources/FormationCollection16x16.png differ diff --git a/ApplicationCode/Resources/Formations16x16.png b/ApplicationCode/Resources/Formations16x16.png new file mode 100644 index 0000000000..89e6420d1d Binary files /dev/null and b/ApplicationCode/Resources/Formations16x16.png differ diff --git a/ApplicationCode/Resources/IntersectionBox16x16.png b/ApplicationCode/Resources/IntersectionBox16x16.png new file mode 100644 index 0000000000..73c078e87f Binary files /dev/null and b/ApplicationCode/Resources/IntersectionBox16x16.png differ diff --git a/ApplicationCode/Resources/IntersectionBoxes16x16.png b/ApplicationCode/Resources/IntersectionBoxes16x16.png new file mode 100644 index 0000000000..d24a88b612 Binary files /dev/null and b/ApplicationCode/Resources/IntersectionBoxes16x16.png differ diff --git a/ApplicationCode/Resources/IntersectionXPlane16x16.png b/ApplicationCode/Resources/IntersectionXPlane16x16.png new file mode 100644 index 0000000000..927558ac4a Binary files /dev/null and b/ApplicationCode/Resources/IntersectionXPlane16x16.png differ diff --git a/ApplicationCode/Resources/IntersectionYPlane16x16.png b/ApplicationCode/Resources/IntersectionYPlane16x16.png new file mode 100644 index 0000000000..270f5a1cdc Binary files /dev/null and b/ApplicationCode/Resources/IntersectionYPlane16x16.png differ diff --git a/ApplicationCode/Resources/IntersectionZPlane16x16.png b/ApplicationCode/Resources/IntersectionZPlane16x16.png new file mode 100644 index 0000000000..58dd809a4b Binary files /dev/null and b/ApplicationCode/Resources/IntersectionZPlane16x16.png differ diff --git a/ApplicationCode/Resources/LeftAxis16x16.png b/ApplicationCode/Resources/LeftAxis16x16.png new file mode 100644 index 0000000000..1b6d12b4c4 Binary files /dev/null and b/ApplicationCode/Resources/LeftAxis16x16.png differ diff --git a/ApplicationCode/Resources/Parallel16x16.png b/ApplicationCode/Resources/Parallel16x16.png new file mode 100644 index 0000000000..1e92197f2e Binary files /dev/null and b/ApplicationCode/Resources/Parallel16x16.png differ diff --git a/ApplicationCode/Resources/Parallel24x24.png b/ApplicationCode/Resources/Parallel24x24.png new file mode 100644 index 0000000000..02717d3246 Binary files /dev/null and b/ApplicationCode/Resources/Parallel24x24.png differ diff --git a/ApplicationCode/Resources/Perspective16x16.png b/ApplicationCode/Resources/Perspective16x16.png new file mode 100644 index 0000000000..0fb1b0ab2d Binary files /dev/null and b/ApplicationCode/Resources/Perspective16x16.png differ diff --git a/ApplicationCode/Resources/Perspective24x24.png b/ApplicationCode/Resources/Perspective24x24.png new file mode 100644 index 0000000000..ec2d2ad9aa Binary files /dev/null and b/ApplicationCode/Resources/Perspective24x24.png differ diff --git a/ApplicationCode/Resources/PlotWindow24x24.png b/ApplicationCode/Resources/PlotWindow24x24.png new file mode 100644 index 0000000000..6d7f5fa745 Binary files /dev/null and b/ApplicationCode/Resources/PlotWindow24x24.png differ diff --git a/ApplicationCode/Resources/Refresh-32.png b/ApplicationCode/Resources/Refresh-32.png new file mode 100644 index 0000000000..5b87cfd9a6 Binary files /dev/null and b/ApplicationCode/Resources/Refresh-32.png differ diff --git a/ApplicationCode/Resources/ResInsight.qrc b/ApplicationCode/Resources/ResInsight.qrc index 8ae3257529..4e9ac12226 100644 --- a/ApplicationCode/Resources/ResInsight.qrc +++ b/ApplicationCode/Resources/ResInsight.qrc @@ -8,7 +8,6 @@ WestViewArrow.png UpViewArrow.png DownViewArrow.png - ReservoirView.png CellFilter_Values.png CellFilter_Range.png CellResult.png @@ -48,7 +47,7 @@ GeoMechCase48x48.png GeoMechCases48x48.png chain.png - view-page-multi-24.png + TileWindows24x24.png LasFile16x16.png WellLogTrack16x16.png WellLogPlot16x16.png @@ -56,6 +55,31 @@ WellLogCurve16x16.png CrossSection16x16.png CrossSections16x16.png + Refresh-32.png + SummaryPlot16x16.png + SummaryPlots16x16.png + SummaryCurve16x16.png + SummaryCurveFilter16x16.png + FormationCollection16x16.png + Formations16x16.png + Parallel24x24.png + Perspective24x24.png + IntersectionBox16x16.png + IntersectionXPlane16x16.png + IntersectionYPlane16x16.png + IntersectionZPlane16x16.png + PlotWindow24x24.png + 3DWindow24x24.png + 3DView16x16.png + SummaryCase48x48.png + openFolder24x24.png + clipboard.png + Copy.png + Erase.png + LeftAxis16x16.png + RightAxis16x16.png + BottomAxis16x16.png + Axes16x16.png fs_CellFace.glsl diff --git a/ApplicationCode/Resources/ReservoirView.png b/ApplicationCode/Resources/ReservoirView.png deleted file mode 100644 index 42e19dbbe8..0000000000 Binary files a/ApplicationCode/Resources/ReservoirView.png and /dev/null differ diff --git a/ApplicationCode/Resources/RightAxis16x16.png b/ApplicationCode/Resources/RightAxis16x16.png new file mode 100644 index 0000000000..683d02efc7 Binary files /dev/null and b/ApplicationCode/Resources/RightAxis16x16.png differ diff --git a/ApplicationCode/Resources/SummaryCase48x48.png b/ApplicationCode/Resources/SummaryCase48x48.png new file mode 100644 index 0000000000..96c327983e Binary files /dev/null and b/ApplicationCode/Resources/SummaryCase48x48.png differ diff --git a/ApplicationCode/Resources/SummaryCurve16x16.png b/ApplicationCode/Resources/SummaryCurve16x16.png new file mode 100644 index 0000000000..59da53a2d6 Binary files /dev/null and b/ApplicationCode/Resources/SummaryCurve16x16.png differ diff --git a/ApplicationCode/Resources/SummaryCurveFilter16x16.png b/ApplicationCode/Resources/SummaryCurveFilter16x16.png new file mode 100644 index 0000000000..b5d1ff43fc Binary files /dev/null and b/ApplicationCode/Resources/SummaryCurveFilter16x16.png differ diff --git a/ApplicationCode/Resources/SummaryPlot16x16.png b/ApplicationCode/Resources/SummaryPlot16x16.png new file mode 100644 index 0000000000..488bdcd47f Binary files /dev/null and b/ApplicationCode/Resources/SummaryPlot16x16.png differ diff --git a/ApplicationCode/Resources/SummaryPlots16x16.png b/ApplicationCode/Resources/SummaryPlots16x16.png new file mode 100644 index 0000000000..bce6e9eeff Binary files /dev/null and b/ApplicationCode/Resources/SummaryPlots16x16.png differ diff --git a/ApplicationCode/Resources/TileWindows24x24.png b/ApplicationCode/Resources/TileWindows24x24.png new file mode 100644 index 0000000000..11b143f08f Binary files /dev/null and b/ApplicationCode/Resources/TileWindows24x24.png differ diff --git a/ApplicationCode/Resources/clipboard.png b/ApplicationCode/Resources/clipboard.png new file mode 100644 index 0000000000..cf4704b777 Binary files /dev/null and b/ApplicationCode/Resources/clipboard.png differ diff --git a/ApplicationCode/Resources/openFolder24x24.png b/ApplicationCode/Resources/openFolder24x24.png new file mode 100644 index 0000000000..f17db0e20c Binary files /dev/null and b/ApplicationCode/Resources/openFolder24x24.png differ diff --git a/ApplicationCode/Resources/view-page-multi-24.png b/ApplicationCode/Resources/view-page-multi-24.png deleted file mode 100644 index 87241472ae..0000000000 Binary files a/ApplicationCode/Resources/view-page-multi-24.png and /dev/null differ diff --git a/ApplicationCode/ResultStatisticsCache/RigStatisticsCalculator.h b/ApplicationCode/ResultStatisticsCache/RigStatisticsCalculator.h index 2ddfd404eb..dcbb59742d 100644 --- a/ApplicationCode/ResultStatisticsCache/RigStatisticsCalculator.h +++ b/ApplicationCode/ResultStatisticsCache/RigStatisticsCalculator.h @@ -45,6 +45,8 @@ class RigStatisticsCalculator : public cvf::Object void addDataToHistogramCalculator(RigHistogramCalculator& histogramCalculator); virtual void addDataToHistogramCalculator(size_t timeStepIndex, RigHistogramCalculator& histogramCalculator) = 0; + virtual void uniqueValues(size_t timeStepIndex, std::set& values) = 0; + virtual size_t timeStepCount() = 0; static void posNegClosestToZero(const std::vector& values, double& pos, double& neg); diff --git a/ApplicationCode/ResultStatisticsCache/RigStatisticsDataCache.cpp b/ApplicationCode/ResultStatisticsCache/RigStatisticsDataCache.cpp index acb1947449..73cf73a540 100644 --- a/ApplicationCode/ResultStatisticsCache/RigStatisticsDataCache.cpp +++ b/ApplicationCode/ResultStatisticsCache/RigStatisticsDataCache.cpp @@ -190,6 +190,51 @@ void RigStatisticsDataCache::meanCellScalarValues(size_t timeStepIndex, double& } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigStatisticsDataCache::sumCellScalarValues(double& sumValue) +{ + if (!m_statsAllTimesteps.m_isValueSumCalculated) + { + double aggregatedSum = 0.0; + for (size_t i = 0; i < m_statisticsCalculator->timeStepCount(); i++) + { + double valueSum = 0.0; + this->sumCellScalarValues(i, valueSum); + + aggregatedSum += valueSum; + } + + m_statsAllTimesteps.m_valueSum = aggregatedSum; + m_statsAllTimesteps.m_isValueSumCalculated = true; + } + + sumValue = m_statsAllTimesteps.m_valueSum; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigStatisticsDataCache::sumCellScalarValues(size_t timeStepIndex, double& sumValue) +{ + if (timeStepIndex >= m_statsPrTs.size()) + { + m_statsPrTs.resize(timeStepIndex + 1); + } + + if (!m_statsPrTs[timeStepIndex].m_isValueSumCalculated) + { + double valueSum = 0.0; + size_t sampleCount = 0; + m_statisticsCalculator->valueSumAndSampleCount(timeStepIndex, valueSum, sampleCount); + m_statsPrTs[timeStepIndex].m_valueSum = valueSum; + m_statsPrTs[timeStepIndex].m_isValueSumCalculated = true; + } + + sumValue = m_statsPrTs[timeStepIndex].m_valueSum; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -210,6 +255,16 @@ const std::vector& RigStatisticsDataCache::cellScalarValuesHistogram(siz return m_statsPrTs[timeStepIndex].m_histogram; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector& RigStatisticsDataCache::uniqueCellScalarValues() +{ + computeUniqueValuesIfNeeded(); + + return m_uniqueValues; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -274,3 +329,20 @@ void RigStatisticsDataCache::computeHistogramStatisticsIfNeeded(size_t timeStepI } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigStatisticsDataCache::computeUniqueValuesIfNeeded() +{ + if (m_uniqueValues.size() == 0) + { + std::set setValues; + m_statisticsCalculator->uniqueValues(0, setValues); + + for (auto val : setValues) + { + m_uniqueValues.push_back(val); + } + } +} + diff --git a/ApplicationCode/ResultStatisticsCache/RigStatisticsDataCache.h b/ApplicationCode/ResultStatisticsCache/RigStatisticsDataCache.h index 8b4d3e7cde..e35a60f578 100644 --- a/ApplicationCode/ResultStatisticsCache/RigStatisticsDataCache.h +++ b/ApplicationCode/ResultStatisticsCache/RigStatisticsDataCache.h @@ -49,13 +49,20 @@ class RigStatisticsDataCache : public cvf::Object void meanCellScalarValues(double& meanValue); void meanCellScalarValues(size_t timeStepIndex, double& meanValue); + void sumCellScalarValues(double& sumValue); + void sumCellScalarValues(size_t timeStepIndex, double& sumValue); + const std::vector& cellScalarValuesHistogram(); const std::vector& cellScalarValuesHistogram(size_t timeStepIndex); + const std::vector& uniqueCellScalarValues(); + private: void computeHistogramStatisticsIfNeeded(); void computeHistogramStatisticsIfNeeded(size_t timeStepIndex); + void computeUniqueValuesIfNeeded(); + private: struct StatisticsValues { @@ -71,6 +78,8 @@ class RigStatisticsDataCache : public cvf::Object m_isClosestToZeroCalculated = false; m_p10 = HUGE_VAL; m_p90 = HUGE_VAL; + m_valueSum = 0.0; + m_isValueSumCalculated = false; } double m_minValue; @@ -87,11 +96,15 @@ class RigStatisticsDataCache : public cvf::Object double m_p10; double m_p90; + double m_valueSum; + bool m_isValueSumCalculated; + std::vector m_histogram; }; - StatisticsValues m_statsAllTimesteps; - std::vector m_statsPrTs; + StatisticsValues m_statsAllTimesteps; + std::vector m_statsPrTs; + std::vector m_uniqueValues; cvf::ref m_statisticsCalculator; }; diff --git a/ApplicationCode/ResultStatisticsCache/RigStatisticsMath.cpp b/ApplicationCode/ResultStatisticsCache/RigStatisticsMath.cpp index dcaac02f1f..3ad923335c 100644 --- a/ApplicationCode/ResultStatisticsCache/RigStatisticsMath.cpp +++ b/ApplicationCode/ResultStatisticsCache/RigStatisticsMath.cpp @@ -27,14 +27,14 @@ /// A function to do basic statistical calculations //-------------------------------------------------------------------------------------------------- -void RigStatisticsMath::calculateBasicStatistics(const std::vector& values, double* min, double* max, double* range, double* mean, double* dev) +void RigStatisticsMath::calculateBasicStatistics(const std::vector& values, double* min, double* max, double* sum, double* range, double* mean, double* dev) { double m_min(HUGE_VAL); double m_max(-HUGE_VAL); double m_mean(HUGE_VAL); double m_dev(HUGE_VAL); - double sum = 0.0; + double m_sum = 0.0; double sumSquared = 0.0; size_t validValueCount = 0; @@ -49,20 +49,20 @@ void RigStatisticsMath::calculateBasicStatistics(const std::vector& valu if (val < m_min) m_min = val; if (val > m_max) m_max = val; - sum += val; + m_sum += val; sumSquared += (val * val); } if (validValueCount > 0) { - m_mean = sum / validValueCount; + m_mean = m_sum / validValueCount; // http://en.wikipedia.org/wiki/Standard_deviation#Rapid_calculation_methods // Running standard deviation double s0 = static_cast(validValueCount); - double s1 = sum; + double s1 = m_sum; double s2 = sumSquared; m_dev = sqrt( (s0 * s2) - (s1 * s1) ) / s0; @@ -70,6 +70,7 @@ void RigStatisticsMath::calculateBasicStatistics(const std::vector& valu if (min) *min = m_min; if (max) *max = m_max; + if (sum) *sum = m_sum; if (range) *range = m_max - m_min; if (mean) *mean = m_mean; diff --git a/ApplicationCode/ResultStatisticsCache/RigStatisticsMath.h b/ApplicationCode/ResultStatisticsCache/RigStatisticsMath.h index 5aac8c258a..7c299b380a 100644 --- a/ApplicationCode/ResultStatisticsCache/RigStatisticsMath.h +++ b/ApplicationCode/ResultStatisticsCache/RigStatisticsMath.h @@ -18,13 +18,14 @@ #pragma once #include +#include #include #include class RigStatisticsMath { public: - static void calculateBasicStatistics(const std::vector& values, double* min, double* max, double* range, double* mean, double* dev); + static void calculateBasicStatistics(const std::vector& values, double* min, double* max, double* sum, double* range, double* mean, double* dev); static std::vector calculateNearestRankPercentiles(const std::vector & inputValues, const std::vector& pValPositions); static std::vector calculateInterpolatedPercentiles(const std::vector & inputValues, const std::vector& pValPositions); }; @@ -131,3 +132,18 @@ class SumCountAccumulator double valueSum; size_t sampleCount; }; + + +class UniqueValueAccumulator +{ +public: + UniqueValueAccumulator() + {} + + void addValue(double value) + { + uniqueValues.insert(static_cast(value)); + } + + std::set uniqueValues; +}; diff --git a/ApplicationCode/SocketInterface/RiaSocketDataTransfer.h b/ApplicationCode/SocketInterface/RiaSocketDataTransfer.h index 4298ad6363..50b93af932 100644 --- a/ApplicationCode/SocketInterface/RiaSocketDataTransfer.h +++ b/ApplicationCode/SocketInterface/RiaSocketDataTransfer.h @@ -17,6 +17,8 @@ // ///////////////////////////////////////////////////////////////////////////////// +#pragma once + #include #include diff --git a/ApplicationCode/SocketInterface/RiaSocketTools.h b/ApplicationCode/SocketInterface/RiaSocketTools.h index 1f2ef20bde..9ebc8d1a1e 100644 --- a/ApplicationCode/SocketInterface/RiaSocketTools.h +++ b/ApplicationCode/SocketInterface/RiaSocketTools.h @@ -18,6 +18,8 @@ // ///////////////////////////////////////////////////////////////////////////////// +#pragma once + class RimCase; class RiaSocketServer; class RimEclipseCase; diff --git a/ApplicationCode/UnitTests/CMakeLists_files.cmake b/ApplicationCode/UnitTests/CMakeLists_files.cmake index 26efe91b33..099fe43849 100644 --- a/ApplicationCode/UnitTests/CMakeLists_files.cmake +++ b/ApplicationCode/UnitTests/CMakeLists_files.cmake @@ -12,6 +12,7 @@ ${CEE_CURRENT_LIST_DIR}cvfGeometryTools-Test.cpp ${CEE_CURRENT_LIST_DIR}Ert-Test.cpp ${CEE_CURRENT_LIST_DIR}RifEclipseInputFileTools-Test.cpp ${CEE_CURRENT_LIST_DIR}RifReaderEclipseOutput-Test.cpp +${CEE_CURRENT_LIST_DIR}RifReaderEclipseSummary-Test.cpp ${CEE_CURRENT_LIST_DIR}RigActiveCellInfo-Test.cpp ${CEE_CURRENT_LIST_DIR}RigReservoir-Test.cpp ${CEE_CURRENT_LIST_DIR}RigStatisticsMath-Test.cpp @@ -20,6 +21,9 @@ ${CEE_CURRENT_LIST_DIR}RivPipeGeometryGenerator-Test.cpp ${CEE_CURRENT_LIST_DIR}RivTernaryScalarMapper-Test.cpp ${CEE_CURRENT_LIST_DIR}ScalarMapper-Test.cpp ${CEE_CURRENT_LIST_DIR}WellPathAsciiFileReader-Test.cpp +${CEE_CURRENT_LIST_DIR}opm-parser-Test.cpp +${CEE_CURRENT_LIST_DIR}opm-parser-Performance-Test.cpp +${CEE_CURRENT_LIST_DIR}opm-flowdiagnostics-Test.cpp ) list(APPEND CODE_HEADER_FILES diff --git a/ApplicationCode/UnitTests/Ert-Test.cpp b/ApplicationCode/UnitTests/Ert-Test.cpp index 01dac456aa..fa727897d7 100644 --- a/ApplicationCode/UnitTests/Ert-Test.cpp +++ b/ApplicationCode/UnitTests/Ert-Test.cpp @@ -20,29 +20,40 @@ -#include -#include +/* +#include "gtest/gtest.h" +#include "ert/ecl/ecl_file.h" + + +//-------------------------------------------------------------------------------------------------- +TEST(RigReservoirTest, WellTestErt) +{ + + { + char filename[1024] = "d:/Models/Statoil_multipleRealisations/MultipleRealisations/Case_with_10_timesteps/Real0/BRUGGE_0000.X0000"; + ecl_file_type* ecl_file = ecl_file_open(filename, ECL_FILE_CLOSE_STREAM); + ecl_file_close(ecl_file); + } + + { + char filename[1024] = "d:/Models/Statoil/kapoCoulibaly/data/15K_080910_AS1.X0000"; + ecl_file_type* ecl_file = ecl_file_open(filename, ECL_FILE_CLOSE_STREAM); + if (ecl_file) ecl_file_close(ecl_file); + } + + { + char filename[1024] = "d:/Models/Statoil/kapoCoulibaly/data/15K_080910_AS1.X0000"; + ecl_file_type* ecl_file = ecl_file_open(filename, ECL_FILE_WRITABLE); + if (ecl_file) ecl_file_close(ecl_file); + } +} +*/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "gtest/gtest.h" -#include "RigCaseData.h" -#include "RifReaderEclipseInput.h" -#include "RifEclipseInputFileTools.h" -#include #if 0 //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/UnitTests/RifEclipseInputFileTools-Test.cpp b/ApplicationCode/UnitTests/RifEclipseInputFileTools-Test.cpp index 7cfd2859de..98b071f106 100644 --- a/ApplicationCode/UnitTests/RifEclipseInputFileTools-Test.cpp +++ b/ApplicationCode/UnitTests/RifEclipseInputFileTools-Test.cpp @@ -4,7 +4,32 @@ #include "RifEclipseInputFileTools.h" +#include +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +/* +TEST(RifEclipseInputFileToolsTest, PathsKeyword) +{ + QString filename = "d:/Models/Statoil/troll_Ref2014/T07-4A-W2014-06.DATA"; + //QString filename = "d:/Models/Statoil/!myTestWithWellLog/TEST10K_FLT_LGR_NNC.DATA"; + + std::vector> pathEntries; + + RifEclipseInputFileTools::parseAndReadPathAliasKeyword(filename, &pathEntries); + + for (auto entry : pathEntries) + { + qDebug() << entry.first << " " << entry.second; + } + + std::vector filenamesWithFaults; + cvf::Collection faults; + RifEclipseInputFileTools::readFaultsInGridSection(filename, &faults, &filenamesWithFaults); + +} +*/ //-------------------------------------------------------------------------------------------------- /// diff --git a/ApplicationCode/UnitTests/RifReaderEclipseOutput-Test.cpp b/ApplicationCode/UnitTests/RifReaderEclipseOutput-Test.cpp index fd6efe0081..df75bfdbf3 100644 --- a/ApplicationCode/UnitTests/RifReaderEclipseOutput-Test.cpp +++ b/ApplicationCode/UnitTests/RifReaderEclipseOutput-Test.cpp @@ -22,13 +22,100 @@ #include "RigCaseData.h" +#include + #include "RifReaderEclipseOutput.h" -#include "ecl_file.h" #include "RifEclipseOutputFileTools.h" #include "RigCaseCellResultsData.h" #include "RifEclipseUnifiedRestartFileAccess.h" #include "RifReaderSettings.h" +#include + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(RigReservoirTest, BasicTest) +{ + RifEclipseUnifiedRestartFileAccess unrstAccess; + +/* + QStringList filenames; + //filenames << "d:/Models/Statoil/testcase_juli_2011/data/TEST10K_FLT_LGR_NNC.UNRST"; + filenames << "d:/Models/MRST/simple/SIMPLE.UNRST"; + + unrstAccess.setRestartFiles(filenames); + + + QStringList resultNames; + std::vector dataItemCount; + + unrstAccess.resultNames(&resultNames, &dataItemCount); + + for (size_t i = 0; i < resultNames.size(); i++) + { + qDebug() << resultNames[i] << "\t" << dataItemCount[i]; + } + + auto reportNums = unrstAccess.reportNumbers(); + for (auto reportNum : reportNums) + { + qDebug() << reportNum; + } +*/ + +/* + cvf::ref readerInterfaceEcl = new RifReaderEclipseOutput; + cvf::ref reservoir = new RigCaseData; + + // Location of test dataset received from HÃ¥kon Høgstøl in July 2011 with 10k active cells +#ifdef WIN32 + QString filename("TEST10K_FLT_LGR_NNC.EGRID"); +#else + QString filename("/mnt/hgfs/Statoil/testcase_juli_2011/data/TEST10K_FLT_LGR_NNC.EGRID"); +#endif + + bool result = readerInterfaceEcl->open(filename, reservoir.p()); + EXPECT_TRUE(result); + + { + QStringList staticResults = readerInterfaceEcl->staticResults(); + EXPECT_EQ(42, staticResults.size()); + qDebug() << "Static results\n" << staticResults; + + QStringList dynamicResults = readerInterfaceEcl->dynamicResults(); + EXPECT_EQ(23, dynamicResults.size()); + qDebug() << "Dynamic results\n" << dynamicResults; + + int numTimeSteps = static_cast(readerInterfaceEcl->numTimeSteps()); + EXPECT_EQ(9, numTimeSteps); + + QStringList timeStepText = readerInterfaceEcl->timeStepText(); + EXPECT_EQ(numTimeSteps, timeStepText.size()); + qDebug() << "Time step texts\n" << timeStepText; + } + + + readerInterfaceEcl->close(); + + { + QStringList staticResults = readerInterfaceEcl->staticResults(); + EXPECT_EQ(0, staticResults.size()); + + QStringList dynamicResults = readerInterfaceEcl->dynamicResults(); + EXPECT_EQ(0, dynamicResults.size()); + + int numTimeSteps = static_cast(readerInterfaceEcl->numTimeSteps()); + EXPECT_EQ(0, numTimeSteps); + + QStringList timeStepText = readerInterfaceEcl->timeStepText(); + EXPECT_EQ(numTimeSteps, timeStepText.size()); + } +*/ + +} + #if 0 diff --git a/ApplicationCode/UnitTests/RifReaderEclipseSummary-Test.cpp b/ApplicationCode/UnitTests/RifReaderEclipseSummary-Test.cpp new file mode 100644 index 0000000000..9c06a46a9a --- /dev/null +++ b/ApplicationCode/UnitTests/RifReaderEclipseSummary-Test.cpp @@ -0,0 +1,669 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "gtest/gtest.h" + +#include "RifReaderEclipseSummary.h" +#include "RifEclipseSummaryTools.h" + +//#include "stringlist.h" + +#include +#include + +#include + + +/* +void printDateAndValues(const std::vector& dates, const std::vector& values) +{ + EXPECT_TRUE(dates.size() == values.size()); + + for (size_t i = 0; i < values.size(); i++) + { + std::string dateStr = dates[i].toString("dd/MMM/yyyy").toStdString(); + + std::cout << dateStr << " " << values[i] << std::endl; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(RifEclipseSummaryTest, SummaryToolsFindSummaryFiles) +{ + { +// std::string filename = "g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10\\BRUGGE_0010"; + std::string filename = "g:\\Models\\Statoil\\testcase_juli_2011\\data\\TEST10K_FLT_LGR_NNC"; + + { + std::string headerFile; + bool isFormatted = false; + RifEclipseSummaryTools::findSummaryHeaderFile(filename, &headerFile, &isFormatted); + + EXPECT_FALSE(isFormatted); + EXPECT_FALSE(headerFile.empty()); + + std::vector dataFiles = RifEclipseSummaryTools::findSummaryDataFiles(filename); + EXPECT_TRUE(dataFiles.size() > 0); + + std::unique_ptr eclSummary = std::unique_ptr(new RifReaderEclipseSummary); + eclSummary->open(headerFile, dataFiles); + + RifEclipseSummaryTools::dumpMetaData(eclSummary.get()); + + // Create a vector of summary addresses based on type, item name and variable name, and compare the resulting + // resultAddressString to the original string + + std::vector addresses = eclSummary->allResultAddresses(); + std::vector myAddresses; + for (size_t i = 0; i < addresses.size(); i++) + { + RifEclipseSummaryAddress adr(addresses[i].category(), addresses[i].simulationItemName(), addresses[i].quantityName()); + myAddresses.push_back(adr); + } + + for (size_t i = 0; i < addresses.size(); i++) + { + EXPECT_TRUE(addresses[i].ertSummaryVarId().compare(myAddresses[i].ertSummaryVarId()) == 0); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(RifEclipseSummaryTest, SummaryToolsFindSummaryFiles) +{ + { + std::string filename = "g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10\\BRUGGE_0010"; + + { + std::string headerFile; + bool isFormatted = false; + RifEclipseSummaryTools::findSummaryHeaderFile(filename, &headerFile, &isFormatted); + + EXPECT_FALSE(isFormatted); + EXPECT_FALSE(headerFile.empty()); + + std::vector dataFiles = RifEclipseSummaryTools::findSummaryDataFiles(filename); + EXPECT_TRUE(dataFiles.size() > 0); + } + } + + { + std::string filename = "g:\\Models\\Statoil\\testcase_juli_2011\\data\\TEST10K_FLT_LGR_NNC"; + + { + std::string headerFile; + bool isFormatted = false; + RifEclipseSummaryTools::findSummaryHeaderFile(filename, &headerFile, &isFormatted); + + EXPECT_FALSE(isFormatted); + EXPECT_FALSE(headerFile.empty()); + + std::vector dataFiles = RifEclipseSummaryTools::findSummaryDataFiles(filename); + EXPECT_TRUE(dataFiles.size() > 0); + + std::unique_ptr eclSummary = std::unique_ptr(new RifReaderEclipseSummary); + eclSummary->open(headerFile, dataFiles); + + RifEclipseSummaryTools::dumpMetaData(eclSummary.get()); + } + } + + { + // MSJ TODO: Formatted output does not work now, should be reported? +/ * + std::string filename = "g:\\Models\\Statoil\\Brillig\\BRILLIG_FMTOUT"; + + { + std::string headerFile; + bool isFormatted = false; + RifEclipseSummaryTools::findSummaryHeaderFile(filename, &headerFile, &isFormatted); + + EXPECT_FALSE(isFormatted); + EXPECT_FALSE(headerFile.empty()); + + std::vector dataFiles = RifEclipseSummaryTools::findSummaryDataFiles(filename); + EXPECT_TRUE(dataFiles.size() > 0); + + std::unique_ptr eclSummary = std::unique_ptr(new RifReaderEclipseSummary); + eclSummary->open(headerFile, dataFiles); + + RifEclipseSummaryTools::dumpMetaData(eclSummary.get()); + } +* / + } + +/ * + { + std::string path; + std::string base; + bool isFormatted = false; + RifEclipseSummaryTools::findSummaryHeaderFile(filename, &path, &base, &isFormatted); + + } +* / + +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(RifEclipseSummaryTest, BasicReadKeywordTest) +{ + std::unique_ptr eclSummary = std::unique_ptr(new RifReaderEclipseSummary); + + std::string filename = "g:\\Models\\Statoil\\testcase_juli_2011\\data\\TEST10K_FLT_LGR_NNC"; + + std::string headerFileName; + RifEclipseSummaryTools::findSummaryHeaderFile(filename, &headerFileName, NULL); + + std::vector dataFileNames = RifEclipseSummaryTools::findSummaryDataFiles(filename); + + eclSummary->open(headerFileName, dataFileNames); + + RifEclipseSummaryTools::dumpMetaData(eclSummary.get()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(RifEclipseSummaryTest, DISABLE_BasicReadKeywordTest) +{ + std::unique_ptr eclSummary = std::unique_ptr(new RifReaderEclipseSummary); + + std::string filename = "g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10\\BRUGGE_0010.SMSPEC"; + std::vector dataFileNames; + dataFileNames.push_back("g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10\\BRUGGE_0010.S0001"); + dataFileNames.push_back("g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10\\BRUGGE_0010.S0002"); + dataFileNames.push_back("g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10\\BRUGGE_0010.S0003"); + eclSummary->open(filename, dataFileNames); + + std::cout << " -- Well names --" << std::endl; + { + std::vector names = eclSummary->wellNames(); + + for (size_t i = 0; i < names.size(); i++) + { + std::cout << names[i] << std::endl; + } + } + + std::cout << " -- Well variable names --" << std::endl; + { + std::vector names = eclSummary->wellVariableNames(); + + for (size_t i = 0; i < names.size(); i++) + { + std::cout << names[i] << std::endl; + } + } + + std::cout << " -- Group names --" << std::endl; + { + std::vector names = eclSummary->wellGroupNames(); + + for (size_t i = 0; i < names.size(); i++) + { + std::cout << names[i] << std::endl; + } + } + +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(RifEclipseSummaryTest, BasicReadDataTest) +{ + std::unique_ptr eclSummary = std::unique_ptr(new RifReaderEclipseSummary); + + std::string filename = "g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10\\BRUGGE_0010.SMSPEC"; + std::vector dataFileNames; + dataFileNames.push_back("g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10\\BRUGGE_0010.S0001"); + dataFileNames.push_back("g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10\\BRUGGE_0010.S0012"); + dataFileNames.push_back("g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10\\BRUGGE_0010.S0023"); + eclSummary->open(filename, dataFileNames); + + std::vector dateTimes; + { + std::vector times = eclSummary->timeSteps(); + dateTimes = RifReaderEclipseSummary::fromTimeT(times); + } + + { + std::string keyword = "YEARS"; + std::cout << std::endl << keyword << std::endl; + + std::vector values; + eclSummary->values(keyword, &values); + printDateAndValues(dateTimes, values); + } + + { + std::string keyword = "WWPR:P20"; + std::cout << std::endl << keyword << std::endl; + + std::vector values; + eclSummary->values(keyword, &values); + printDateAndValues(dateTimes, values); + } + + +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(RifEclipseSummaryTest, DISABLED_StringlistSelectMatchingFiles) +{ + std::string currentFolderName = "g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10"; + //QDir::setCurrent(currentFolderName); + + //std::string filename = ""; + //std::string filepattern = "BRUGGE_0010.S[0-9][0-9][0-9][0-9]"; + std::string filepattern = "BRUGGE_0010.S*"; + //std::string filepattern = "*"; + + stringlist_type* names = stringlist_alloc_new(); + + stringlist_select_matching_files(names, currentFolderName.data(), filepattern.data()); + + for (int i = 0; i < stringlist_get_size(names); i++) + { + std::cout << stringlist_iget(names, i) << std::endl; + } + + stringlist_free(names); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(RifEclipseSummaryTest, DISABLED_StringlistSelectMatchingFilesQuestion) +{ + std::string currentFolderName = "g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10"; + std::string filepattern = "BRUGGE_0010.S????"; + + stringlist_type* names = stringlist_alloc_new(); + + stringlist_select_matching_files(names, currentFolderName.data(), filepattern.data()); + + for (int i = 0; i < stringlist_get_size(names); i++) + { + std::cout << stringlist_iget(names, i) << std::endl; + } + + stringlist_free(names); +} + + + +/ * +WBHP:I01-01 +WBHP:I01-02 +WBHP:I01-03 +WBHP:I02 +WBHP:I02-01 +WBHP:I02-02 +WBHP:I02-03 +WBHP:I03 +WBHP:I03-01 +WBHP:I03-02 +WBHP:I03-03 +WBHP:I04 +WBHP:I04-01 +WBHP:I04-02 +WBHP:I04-03 +WBHP:I05 +WBHP:I05-01 +WBHP:I05-02 +WBHP:I05-03 +WBHP:I06 +WBHP:I06-01 +WBHP:I06-02 +WBHP:I06-03 +WBHP:I07 +WBHP:I07-01 +WBHP:I07-02 +WBHP:I07-03 +WBHP:I08 +WBHP:I08-01 +WBHP:I08-02 +WBHP:I08-03 +WBHP:I09 +WBHP:I09-01 +WBHP:I09-02 +WBHP:I09-03 +WBHP:I10 +WBHP:I10-01 +WBHP:I10-02 +WBHP:I10-03 +WBHP:P01 +WBHP:P01-01 +WBHP:P01-02 +WBHP:P01-03 +WBHP:P02 +WBHP:P02-01 +WBHP:P02-02 +WBHP:P02-03 +WBHP:P03 +WBHP:P03-01 +WBHP:P03-02 +WBHP:P03-03 +WBHP:P04 +WBHP:P04-01 +WBHP:P04-02 +WBHP:P04-03 +WBHP:P05 +WBHP:P05-01 +WBHP:P05-02 +WBHP:P06 +WBHP:P06-01 +WBHP:P06-02 +WBHP:P07 +WBHP:P07-01 +WBHP:P07-02 +WBHP:P07-03 +WBHP:P08 +WBHP:P08-01 +WBHP:P08-02 +WBHP:P08-03 +WBHP:P09 +WBHP:P09-01 +WBHP:P10 +WBHP:P10-01 +WBHP:P10-02 +WBHP:P11 +WBHP:P11-01 +WBHP:P11-02 +WBHP:P11-03 +WBHP:P12 +WBHP:P12-01 +WBHP:P12-02 +WBHP:P12-03 +WBHP:P13 +WBHP:P13-01 +WBHP:P13-02 +WBHP:P13-03 +WBHP:P14 +WBHP:P14-01 +WBHP:P14-02 +WBHP:P15 +WBHP:P15-01 +WBHP:P15-02 +WBHP:P16 +WBHP:P16-01 +WBHP:P16-02 +WBHP:P16-03 +WBHP:P17 +WBHP:P17-01 +WBHP:P17-02 +WBHP:P17-03 +WBHP:P18 +WBHP:P18-01 +WBHP:P18-02 +WBHP:P18-03 +WBHP:P19 +WBHP:P19-01 +WBHP:P19-02 +WBHP:P19-03 +WBHP:P20 +WBHP:P20-01 +WBHP:P20-02 +WBHP:P20-03 +WOPR:P01 +WOPR:P01-01 +WOPR:P01-02 +WOPR:P01-03 +WOPR:P02 +WOPR:P02-01 +WOPR:P02-02 +WOPR:P02-03 +WOPR:P03 +WOPR:P03-01 +WOPR:P03-02 +WOPR:P03-03 +WOPR:P04 +WOPR:P04-01 +WOPR:P04-02 +WOPR:P04-03 +WOPR:P05 +WOPR:P05-01 +WOPR:P05-02 +WOPR:P06 +WOPR:P06-01 +WOPR:P06-02 +WOPR:P07 +WOPR:P07-01 +WOPR:P07-02 +WOPR:P07-03 +WOPR:P08 +WOPR:P08-01 +WOPR:P08-02 +WOPR:P08-03 +WOPR:P09 +WOPR:P09-01 +WOPR:P10 +WOPR:P10-01 +WOPR:P10-02 +WOPR:P11 +WOPR:P11-01 +WOPR:P11-02 +WOPR:P11-03 +WOPR:P12 +WOPR:P12-01 +WOPR:P12-02 +WOPR:P12-03 +WOPR:P13 +WOPR:P13-01 +WOPR:P13-02 +WOPR:P13-03 +WOPR:P14 +WOPR:P14-01 +WOPR:P14-02 +WOPR:P15 +WOPR:P15-01 +WOPR:P15-02 +WOPR:P16 +WOPR:P16-01 +WOPR:P16-02 +WOPR:P16-03 +WOPR:P17 +WOPR:P17-01 +WOPR:P17-02 +WOPR:P17-03 +WOPR:P18 +WOPR:P18-01 +WOPR:P18-02 +WOPR:P18-03 +WOPR:P19 +WOPR:P19-01 +WOPR:P19-02 +WOPR:P19-03 +WOPR:P20 +WOPR:P20-01 +WOPR:P20-02 +WOPR:P20-03 +WWIR:I01 +WWIR:I01-01 +WWIR:I01-02 +WWIR:I01-03 +WWIR:I02 +WWIR:I02-01 +WWIR:I02-02 +WWIR:I02-03 +WWIR:I03 +WWIR:I03-01 +WWIR:I03-02 +WWIR:I03-03 +WWIR:I04 +WWIR:I04-01 +WWIR:I04-02 +WWIR:I04-03 +WWIR:I05 +WWIR:I05-01 +WWIR:I05-02 +WWIR:I05-03 +WWIR:I06 +WWIR:I06-01 +WWIR:I06-02 +WWIR:I06-03 +WWIR:I07 +WWIR:I07-01 +WWIR:I07-02 +WWIR:I07-03 +WWIR:I08 +WWIR:I08-01 +WWIR:I08-02 +WWIR:I08-03 +WWIR:I09 +WWIR:I09-01 +WWIR:I09-02 +WWIR:I09-03 +WWIR:I10 +WWIR:I10-01 +WWIR:I10-02 +WWIR:I10-03 +WWPR:P01 +WWPR:P01-01 +WWPR:P01-02 +WWPR:P01-03 +WWPR:P02 +WWPR:P02-01 +WWPR:P02-02 +WWPR:P02-03 +WWPR:P03 +WWPR:P03-01 +WWPR:P03-02 +WWPR:P03-03 +WWPR:P04 +WWPR:P04-01 +WWPR:P04-02 +WWPR:P04-03 +WWPR:P05 +WWPR:P05-01 +WWPR:P05-02 +WWPR:P06 +WWPR:P06-01 +WWPR:P06-02 +WWPR:P07 +WWPR:P07-01 +WWPR:P07-02 +WWPR:P07-03 +WWPR:P08 +WWPR:P08-01 +WWPR:P08-02 +WWPR:P08-03 +WWPR:P09 +WWPR:P09-01 +WWPR:P10 +WWPR:P10-01 +WWPR:P10-02 +WWPR:P11 +WWPR:P11-01 +WWPR:P11-02 +WWPR:P11-03 +WWPR:P12 +WWPR:P12-01 +WWPR:P12-02 +WWPR:P12-03 +WWPR:P13 +WWPR:P13-01 +WWPR:P13-02 +WWPR:P13-03 +WWPR:P14 +WWPR:P14-01 +WWPR:P14-02 +WWPR:P15 +WWPR:P15-01 +WWPR:P15-02 +WWPR:P16 +WWPR:P16-01 +WWPR:P16-02 +WWPR:P16-03 +WWPR:P17 +WWPR:P17-01 +WWPR:P17-02 +WWPR:P17-03 +WWPR:P18 +WWPR:P18-01 +WWPR:P18-02 +WWPR:P18-03 +WWPR:P19 +WWPR:P19-01 +WWPR:P19-02 +WWPR:P19-03 +WWPR:P20 +WWPR:P20-01 +WWPR:P20-02 +WWPR:P20-03 +YEARS +* / + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(RifEclipseSummaryTest, DISABLED_BasicTestSetCurrentFolder) +{ +/ * + std::unique_ptr eclSummary = std::unique_ptr(new RifReaderEclipseSummary); + + QString currentFolderName = "g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10"; + QDir::setCurrent(currentFolderName); + + std::string filename = "BRUGGE_0010"; + eclSummary->open(filename); + + std::vector keywords; + eclSummary->keywords(&keywords); + + for (size_t i = 0; i < keywords.size(); i++) + { + std::cout << keywords[i] << std::endl; + } +* / +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(RifEclipseSummaryTest, DISABLED_BasicTest) +{ +/ * + std::unique_ptr eclSummary = std::unique_ptr(new RifReaderEclipseSummary); + + std::string filename = "g:\\Models\\Statoil\\MultipleRealisations\\Case_without_p9\\Real10\\BRUGGE_0010"; + eclSummary->open(filename); + + std::vector keywords; + eclSummary->keywords(&keywords); + + for (size_t i = 0; i < keywords.size(); i++) + { + std::cout << keywords[i] << std::endl; + } +* / +} +*/ diff --git a/ApplicationCode/UnitTests/RigStatisticsMath-Test.cpp b/ApplicationCode/UnitTests/RigStatisticsMath-Test.cpp index af9bc26f81..ca5f1aaab9 100644 --- a/ApplicationCode/UnitTests/RigStatisticsMath-Test.cpp +++ b/ApplicationCode/UnitTests/RigStatisticsMath-Test.cpp @@ -47,15 +47,15 @@ TEST(RigStatisticsMath, BasicTest) values.push_back(HUGE_VAL); values.push_back(-57020.4389966513000); - double min, max, range, mean, stdev; - RigStatisticsMath::calculateBasicStatistics(values, &min, &max, &range, &mean, &stdev); + double min, max, sum, range, mean, stdev; + RigStatisticsMath::calculateBasicStatistics(values, &min, &max, &sum, &range, &mean, &stdev); EXPECT_DOUBLE_EQ(-98649.8109937874000, min ); EXPECT_DOUBLE_EQ(99372.9362079615000 , max ); + EXPECT_DOUBLE_EQ(212079.46728689762 , sum ); EXPECT_DOUBLE_EQ(198022.7472017490000, range ); EXPECT_DOUBLE_EQ(16313.8051759152000 , mean ); EXPECT_DOUBLE_EQ(66104.391542887200 , stdev ); - } @@ -125,7 +125,7 @@ TEST(RigStatisticsMath, HistogramPercentiles) double min, max, range, mean, stdev; - RigStatisticsMath::calculateBasicStatistics(values, &min, &max, &range, &mean, &stdev); + RigStatisticsMath::calculateBasicStatistics(values, &min, &max, NULL, &range, &mean, &stdev); std::vector histogram; RigHistogramCalculator histCalc(min, max, 100, &histogram); diff --git a/ApplicationCode/UnitTests/RimWellLogExtractionCurveImpl-Test.cpp b/ApplicationCode/UnitTests/RimWellLogExtractionCurveImpl-Test.cpp index f38c69b79c..22a772be70 100644 --- a/ApplicationCode/UnitTests/RimWellLogExtractionCurveImpl-Test.cpp +++ b/ApplicationCode/UnitTests/RimWellLogExtractionCurveImpl-Test.cpp @@ -19,7 +19,7 @@ TEST(RimWellLogExtractionCurveImplTest, StripOffInvalidValAtEndsOfVector) values.push_back(HUGE_VAL); std::vector< std::pair > valuesIntervals; - RigCurveDataTools::calculateIntervalsOfValidValues(values, &valuesIntervals); + RigCurveDataTools::calculateIntervalsOfValidValues(values, &valuesIntervals, false); EXPECT_EQ(1, static_cast(valuesIntervals.size())); EXPECT_EQ(2, static_cast(valuesIntervals[0].first)); @@ -43,7 +43,7 @@ TEST(RimWellLogExtractionCurveImplTest, StripOffHugeValAtEndsAndInteriorOfVector values.push_back(HUGE_VAL); std::vector< std::pair > valuesIntervals; - RigCurveDataTools::calculateIntervalsOfValidValues(values, &valuesIntervals); + RigCurveDataTools::calculateIntervalsOfValidValues(values, &valuesIntervals, false); EXPECT_EQ(2, static_cast(valuesIntervals.size())); EXPECT_EQ(2, static_cast(valuesIntervals[0].first)); diff --git a/ApplicationCode/UnitTests/ScalarMapper-Test.cpp b/ApplicationCode/UnitTests/ScalarMapper-Test.cpp index dc875050d6..fbe39089c6 100644 --- a/ApplicationCode/UnitTests/ScalarMapper-Test.cpp +++ b/ApplicationCode/UnitTests/ScalarMapper-Test.cpp @@ -4,6 +4,8 @@ #include +#include "RigFemPartResultsCollection.h" + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -32,3 +34,205 @@ TEST(ScalarMapperTest, TestHumanReadableTickmarks) } } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(OffshoreSphericalCoords, OffshoreSphericalCoords) +{ + { + cvf::Vec3f vec(0, 0, 0); + OffshoreSphericalCoords spCoord(vec); + EXPECT_NEAR(spCoord.inc(), 0.0, 1e-10); + EXPECT_NEAR(spCoord.azi(), 0.0, 1e-10); + EXPECT_NEAR(spCoord.r(), 0.0, 1e-10); + } + + { + cvf::Vec3f vec(1, 0, 0); + OffshoreSphericalCoords spCoord(vec); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.inc()), 90.0, 1e-10); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.azi()), 90.0, 1e-10); + EXPECT_NEAR(spCoord.r(), 1.0, 1e-10); + } + + { + cvf::Vec3f vec(-1, 0, 0); + OffshoreSphericalCoords spCoord(vec); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.inc()), 90.0, 1e-10); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.azi()), -90.0, 1e-10); + EXPECT_NEAR(spCoord.r(), 1.0, 1e-10); + } + + { + cvf::Vec3f vec(0, 1, 0); + OffshoreSphericalCoords spCoord(vec); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.inc()), 90.0, 1e-10); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.azi()), 0.0, 1e-10); + EXPECT_NEAR(spCoord.r(), 1.0, 1e-10); + } + + { + cvf::Vec3f vec(0.000001f, -3, 0); + OffshoreSphericalCoords spCoord(vec); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.inc()), 90.0, 1e-10); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.azi()), 179.9999, 1e-4); + EXPECT_NEAR(spCoord.r(), 3.0, 1e-5); + } + { + cvf::Vec3f vec(-0.000001f, -3, 0); + OffshoreSphericalCoords spCoord(vec); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.inc()), 90.0, 1e-10); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.azi()), -179.9999, 1e-4); + EXPECT_NEAR(spCoord.r(), 3.0, 1e-5); + } + + { + cvf::Vec3f vec(0, 0, 1); + OffshoreSphericalCoords spCoord(vec); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.inc()), 180.0, 1e-10); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.azi()), 0.0, 1e-4); + EXPECT_NEAR(spCoord.r(), 1.0, 1e-5); + } + + { + cvf::Vec3f vec(0, 0, -1); + OffshoreSphericalCoords spCoord(vec); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.inc()), 0.0, 1e-10); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.azi()), 0.0, 1e-4); + EXPECT_NEAR(spCoord.r(), 1.0, 1e-5); + } + + { + cvf::Vec3f vec(1, 0, -1); + OffshoreSphericalCoords spCoord(vec); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.inc()), 45.0, 1e-5); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.azi()), 90.0, 1e-4); + EXPECT_NEAR(spCoord.r(), sqrt(2), 1e-5); + } + + { + cvf::Vec3f vec(1.5f, 1.5f, 1.5f); + OffshoreSphericalCoords spCoord(vec); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.inc()), 125.264396, 1e-5); + EXPECT_NEAR(cvf::Math::toDegrees(spCoord.azi()), 45.0, 1e-4); + EXPECT_NEAR(spCoord.r(), vec.length(), 1e-6); + } + +} + +#include "../cafTensor/cafTensor3.h" +#include "cvfMath.h" + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(TensorRotation, TensorRotation) +{ + + { + caf::Ten3f orgT(1.0f, 0.5f, 0.2f, 0, 0, 0); + + cvf::Mat3f rotMx = cvf::Mat3f::fromRotation(cvf::Vec3f(1, 0, 0), cvf::PI_F); + + caf::Ten3f rotT = orgT.rotated(rotMx); + + EXPECT_NEAR(1.0f, rotT[caf::Ten3f::SXX], 1e-4); + EXPECT_NEAR(0.5f, rotT[caf::Ten3f::SYY], 1e-4); + EXPECT_NEAR(0.2f, rotT[caf::Ten3f::SZZ], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SXY], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SZX], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SYZ], 1e-4); + } + + { + caf::Ten3f orgT(1.0f, 0.5f, 0.2f, 0, 0, 0); + + cvf::Mat3f rotMx = cvf::Mat3f::fromRotation(cvf::Vec3f(1, 0, 0), 0.5*cvf::PI_F); + + caf::Ten3f rotT = orgT.rotated(rotMx); + + EXPECT_NEAR(1.0f, rotT[caf::Ten3f::SXX], 1e-4); + EXPECT_NEAR(0.2f, rotT[caf::Ten3f::SYY], 1e-4); + EXPECT_NEAR(0.5f, rotT[caf::Ten3f::SZZ], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SXY], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SZX], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SYZ], 1e-4); + } + + { + caf::Ten3f orgT(1.0f, 0.5f, 0.2f, 0, 0, 0); + + cvf::Mat3f rotMx = cvf::Mat3f::fromRotation(cvf::Vec3f(0, 0, 1), 0.5*cvf::PI_F); + + caf::Ten3f rotT = orgT.rotated(rotMx); + + EXPECT_NEAR(0.5f, rotT[caf::Ten3f::SXX], 1e-4); + EXPECT_NEAR(1.0f, rotT[caf::Ten3f::SYY], 1e-4); + EXPECT_NEAR(0.2f, rotT[caf::Ten3f::SZZ], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SXY], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SZX], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SYZ], 1e-4); + } + + { + caf::Ten3f orgT(1.0f, 0.5f, 0.2f, 0, 0, 0); + + cvf::Mat3f rotMx = cvf::Mat3f::fromRotation(cvf::Vec3f(0, 0, 1), 0.25*cvf::PI_F); + + caf::Ten3f rotT = orgT.rotated(rotMx); + + EXPECT_NEAR(0.75f,rotT[caf::Ten3f::SXX], 1e-4); + EXPECT_NEAR(0.75f,rotT[caf::Ten3f::SYY], 1e-4); + EXPECT_NEAR(0.2f, rotT[caf::Ten3f::SZZ], 1e-4); + EXPECT_NEAR(0.25f,rotT[caf::Ten3f::SXY], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SZX], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SYZ], 1e-4); + } + + { + caf::Ten3f orgT(0.75f, 0.75f, 0.2f, 0.25, 0, 0); + + cvf::Mat3f rotMx = cvf::Mat3f::fromRotation(cvf::Vec3f(0, 0, 1), -0.25*cvf::PI_F); + + caf::Ten3f rotT = orgT.rotated(rotMx); + + EXPECT_NEAR(1.0f, rotT[caf::Ten3f::SXX], 1e-4); + EXPECT_NEAR(0.5f, rotT[caf::Ten3f::SYY], 1e-4); + EXPECT_NEAR(0.2f, rotT[caf::Ten3f::SZZ], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SXY], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SZX], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SYZ], 1e-4); + } + + { + caf::Ten3f orgT(1.0f, 0.5f, 0.2f, 0, 0, 0); + + cvf::Mat3f rotMx = cvf::Mat3f::fromRotation(cvf::Vec3f(1, 1, 1), 0.2*cvf::PI_F); + + caf::Ten3f rotT = orgT.rotated(rotMx); + + EXPECT_NEAR(0.8320561f, rotT[caf::Ten3f::SXX], 1e-4); + EXPECT_NEAR(0.5584094f, rotT[caf::Ten3f::SYY], 1e-4); + EXPECT_NEAR(0.3095343f, rotT[caf::Ten3f::SZZ], 1e-4); + EXPECT_NEAR(0.2091861f, rotT[caf::Ten3f::SXY], 1e-4); + EXPECT_NEAR(-0.2258091f, rotT[caf::Ten3f::SZX], 1e-4); + EXPECT_NEAR(0.0166228f, rotT[caf::Ten3f::SYZ], 1e-4); + } + + { + caf::Ten3f orgT(0.8320561f, 0.5584094f, 0.3095343f, 0.2091861f, 0.0166228f, -0.2258091f); + + cvf::Mat3f rotMx = cvf::Mat3f::fromRotation(cvf::Vec3f(1, 1, 1), -0.2*cvf::PI_F); + + caf::Ten3f rotT = orgT.rotated(rotMx); + + EXPECT_NEAR(1.0f, rotT[caf::Ten3f::SXX], 1e-4); + EXPECT_NEAR(0.5f, rotT[caf::Ten3f::SYY], 1e-4); + EXPECT_NEAR(0.2f, rotT[caf::Ten3f::SZZ], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SXY], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SZX], 1e-4); + EXPECT_NEAR(0.0f, rotT[caf::Ten3f::SYZ], 1e-4); + } + +} \ No newline at end of file diff --git a/ApplicationCode/UnitTests/opm-flowdiagnostics-Test.cpp b/ApplicationCode/UnitTests/opm-flowdiagnostics-Test.cpp new file mode 100644 index 0000000000..f2dd723b8c --- /dev/null +++ b/ApplicationCode/UnitTests/opm-flowdiagnostics-Test.cpp @@ -0,0 +1,10 @@ +#include "gtest/gtest.h" + +#include +#include + +TEST(opm_flowdiagnostics_test, basic_construction) +{ + auto g = Opm::AssembledConnections{}; + auto s = Opm::FlowDiagnostics::CellSet{}; +} diff --git a/ApplicationCode/UnitTests/opm-parser-Performance-Test.cpp b/ApplicationCode/UnitTests/opm-parser-Performance-Test.cpp new file mode 100644 index 0000000000..dd673675c9 --- /dev/null +++ b/ApplicationCode/UnitTests/opm-parser-Performance-Test.cpp @@ -0,0 +1,60 @@ + +#include "opm/parser/eclipse/Parser/Parser.hpp" +#include "gtest/gtest.h" + +#include "RigCaseData.h" +#include "RifEclipseInputFileTools.h" +#include "RifReaderOpmParserInput.h" + +#include +#include +#include + + +using namespace Opm; + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(opm_parser_test, smallCase) +{ +/* + // QString filename = "d:/Models/Statoil/small_ascii/10K_BOX_MSW.GRDECL"; + QString filename = "d:/Models/Statoil/testcase_juli_2011/data/grid_local.grdecl"; + + + + size_t iterationCount = 5; + + qDebug() << "ERT reading\n"; + + for (size_t i = 0; i < iterationCount; i++) + { + QTime time; + time.start(); + + RigCaseData caseData; + + RifEclipseInputFileTools::openGridFile(filename, &caseData, false); + + qDebug() << time.elapsed(); + } + + + qDebug() << "OPM reading\n"; + + for (size_t i = 0; i < iterationCount; i++) + { + QTime time; + time.start(); + + RigCaseData caseData; + + RifReaderOpmParserInput::openGridFile(filename, false, &caseData, false); + + qDebug() << time.elapsed(); + } +*/ + +} + diff --git a/ApplicationCode/UnitTests/opm-parser-Test.cpp b/ApplicationCode/UnitTests/opm-parser-Test.cpp new file mode 100644 index 0000000000..980449ff61 --- /dev/null +++ b/ApplicationCode/UnitTests/opm-parser-Test.cpp @@ -0,0 +1,163 @@ +#include "gtest/gtest.h" + +#include "opm/parser/eclipse/Parser/Parser.hpp" + + +using namespace Opm; + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +TEST(opm_parser_test, basicConstruction) +{ + + + // Several filenames taken from Models/Statoil folder + +/* + std::string filename = "d:/Models/MRST/simple/SIMPLE.DATA"; + std::string filename = "d:/gitroot/opm-data/spe1/SPE1CASE1.DATA"; + std::string filename = "d:/Models/Statoil/Brillig/BRILLIG.DATA"; +*/ + + std::string filename = "d:/gitroot-magnesj/opm-parser/testdata/cases_with_issues/testcase_juli_2011/TEST10K_FLT_LGR_NNC.DATA"; +/* + std::string filename = "d:/Models/Statoil/1.2.0_Osesyd_segfault/BASEPRED6.DATA"; + std::string filename = "d:/Models/Statoil/1.3.0_fault_assert_binary/BV-R2-11-0.DATA"; + std::string filename = "d:/Models/Statoil/Brillig/BRILLIG_FMTOUT.DATA"; + std::string filename = "d:/Models/Statoil/ceetron-case.tar/ceetron-case.tar"; + std::string filename = "d:/Models/Statoil/ceetron-case/.#R5_22X22_H25_C1_SW2_FV1.DATA"; + std::string filename = "d:/Models/Statoil/ceetron-case/R5_22X22_H25_C1_SW2_FV1.DATA"; + std::string filename = "d:/Models/Statoil/CO2_well_rst_error/E300_THERMAL_23_RS.DATA"; + std::string filename = "d:/Models/Statoil/E300_thermal_option/DualProperty/DUALPERM.DATA"; + std::string filename = "d:/Models/Statoil/E300_thermal_option/DualProperty/DUALPORO.DATA"; + std::string filename = "d:/Models/Statoil/HD_TEST/HD_TEST.DATA"; + std::string filename = "d:/Models/Statoil/HM_10/HM_10.DATA"; + std::string filename = "d:/Models/Statoil/LGC_TESTCASE2/LGC_TESTCASE2.DATA"; + std::string filename = "d:/Models/Statoil/MAGNE_DUALK2PORO_DPNUMz/DUALK2PORO_DPNUM.DATA"; + std::string filename = "d:/Models/Statoil/missingCorner_TP4093/TRAINING_FIXED_MOVE_INJ1.DATA"; + std::string filename = "d:/Models/Statoil/nnc_faults/TEST10K_FLT_LGR_NNC0P03_FAULTS1P0.DATA"; + std::string filename = "d:/Models/Statoil/NNCsDisconnected/TEST10K_FLT_LGR_NNC0P03_LGRNNC0P02_FAULTS0P1.DATA"; + std::string filename = "d:/Models/Statoil/NNCsDisconnected/TEST10K_FLT_LGR_NNC0P03_NNC0P02_FAULTS0P1.DATA"; + std::string filename = "d:/Models/Statoil/RegressionTests/1NotRun/TestCase_10K_MultipleTimestepsSameDay/TEST10K_FLT_LGR_NNC_TSTEP.DATA"; + std::string filename = "d:/Models/Statoil/RegressionTests/1NotRun/TestCase_10K_SingleTStep/TEST10K_FLT_LGR_NNC_TSTEP.DATA"; + std::string filename = "d:/Models/Statoil/RegressionTests/1NotRun/TestCase_DualPerm/DUALPERM.DATA"; + std::string filename = "d:/Models/Statoil/RegressionTests/1NotRun/TestCase_DualPoro/DUALPORO.DATA"; + std::string filename = "d:/Models/Statoil/RegressionTests/1NotRun/TestCase_Large_FirstLargeCase/R5_22X22_H25_C1_SW2_FV1.DATA"; + std::string filename = "d:/Models/Statoil/RegressionTests/1NotRun/TestCase_LGC/LGC_TESTCASE2.DATA"; + std::string filename = "d:/Models/Statoil/RegressionTests/1NotRun/TestCase_LGR_Amalg/TESTCASE_AMALG_LGR.DATA"; + std::string filename = "d:/Models/Statoil/RegressionTests/1NotRun/TestCase_Wells_HM_10/HM_10.DATA"; + std::string filename = "d:/Models/Statoil/RegressionTests/TestCase_10K_Complete/TEST10K_FLT_LGR_NNC.DATA"; + std::string filename = "d:/Models/Statoil/RegressionTests/tmp/TestCase_MultiRestartFile_CO2_well_rst_error/E300_THERMAL_23_RS.DATA"; + std::string filename = "d:/Models/Statoil/SmbS_ffm/REF161213.DATA"; + std::string filename = "d:/Models/Statoil/TEST_RKMFAULTS/TEST_RKMFAULTS.DATA"; + std::string filename = "d:/Models/Statoil/TEST10K_FLT_LGR_NNC_TSTEP/TEST10K_FLT_LGR_NNC_TSTEP.DATA"; + std::string filename = "d:/Models/Statoil/TestCase_10K_MultipleTimestepsSameDay/TEST10K_FLT_LGR_NNC_TSTEP.DATA"; + std::string filename = "d:/Models/Statoil/testcase_amalg_lgr/TESTCASE_AMALG_LGR.DATA"; + std::string filename = "d:/Models/Statoil/testcase_juli_2011/data/TEST10K_FLT_LGR_NNC.DATA"; + std::string filename = "d:/Models/Statoil/trainint_fixed_move/TRAINING_FIXED_MOVE_INJ1.DATA"; + std::string filename = "d:/Models/Statoil/troll_Ref2014/T07-4A-W2014-06.DATA"; +*/ + + + +/* + try + { + } + catch (CException* e) + { + } +*/ + +/* + ParseContext parseContext; + parseContext.update(InputError::WARN); + + Opm::ParserPtr parser(new Opm::Parser()); + Opm::DeckConstPtr deck = parser->parseFile(filename, parseContext); + + Opm::EclipseState es(deck, parseContext); + auto ep = es.get3DProperties(); + auto grid = es.getInputGrid(); +*/ + + +/* + Parser parser; + const auto deck = parser.newDeckFromFile(filename, Opm::ParseContext()); + const auto grid = Parser::parseGrid(*deck); +*/ + +/* + { + std::string inline_json = "{\"key\": \"value\"}"; + Json::JsonObject parser(inline_json); + parser.has_item("key"); + parser.has_item("keyX"); + } + + { + ParserStringItemPtr itemString(new ParserStringItem(std::string("STRINGITEM1"))); + ParserRecordPtr record1(new ParserRecord()); + RawRecord rawRecord(" ' VALUE ' "); + ParseContext parseContext; + record1->addItem(itemString); + //BOOST_CHECK_EQUAL(" VALUE ", deckRecord.getItem(0).get< std::string >(0)); + } + +*/ + { + const auto* input_deck = "RUNSPEC\n\n" + "TITLE\n\n" + "DIMENS\n10 10 10/\n" + "EQLDIMS\n/\n"; + + Parser parser; + const auto deck = parser.newDeckFromString(input_deck, ParseContext()); + //BOOST_CHECK_EQUAL("untitled", deck->getKeyword("TITLE").getStringData().front()); + + } +} + + + +// TEST opm- common +TEST(opm_parser_test, opm_common_test) +{ +/* + Logger logger; + std::ostringstream log_stream; + std::shared_ptr counter = std::make_shared(); + std::shared_ptr streamLog = std::make_shared(log_stream, Log::MessageType::Warning); + logger.hasBackend("NO"); + + logger.addBackend("COUNTER", counter); + logger.addBackend("STREAM", streamLog); +*/ +/* + BOOST_CHECK_EQUAL(true, logger.hasBackend("COUNTER")); + BOOST_CHECK_EQUAL(true, logger.hasBackend("STREAM")); + + logger.addMessage(Log::MessageType::Error, "Error"); + logger.addMessage(Log::MessageType::Warning, "Warning"); + BOOST_CHECK_EQUAL(1U, counter->numMessages(Log::MessageType::Error)); + BOOST_CHECK_EQUAL(1U, counter->numMessages(Log::MessageType::Warning)); + BOOST_CHECK_EQUAL(0U, counter->numMessages(Log::MessageType::Info)); + + BOOST_CHECK_EQUAL(log_stream.str(), "Warning\n"); + + + BOOST_CHECK_THROW(logger.getBackend("No"), std::invalid_argument); + { + auto counter2 = logger.getBackend("COUNTER"); + BOOST_CHECK_EQUAL(1U, counter2->numMessages(Log::MessageType::Warning)); + BOOST_CHECK_EQUAL(1U, counter2->numMessages(Log::MessageType::Error)); + BOOST_CHECK_EQUAL(0, counter2->numMessages(Log::MessageType::Info)); + } + + BOOST_CHECK_EQUAL(false, logger.removeBackend("NO-not-found")); + BOOST_CHECK_EQUAL(true, logger.removeBackend("COUNTER")); + BOOST_CHECK_EQUAL(false, logger.hasBackend("COUNTER")); +*/ +} diff --git a/ApplicationCode/UserInterface/CMakeLists_files.cmake b/ApplicationCode/UserInterface/CMakeLists_files.cmake new file mode 100644 index 0000000000..e5e0c8cc8b --- /dev/null +++ b/ApplicationCode/UserInterface/CMakeLists_files.cmake @@ -0,0 +1,108 @@ + +# Use this workaround until we're on 2.8.3 on all platforms and can use CMAKE_CURRENT_LIST_DIR directly +if (${CMAKE_VERSION} VERSION_GREATER "2.8.2") + set(CEE_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_DIR}/) +endif() + +set (SOURCE_GROUP_HEADER_FILES +${CEE_CURRENT_LIST_DIR}RiuCadNavigation.h +${CEE_CURRENT_LIST_DIR}RiuCursors.h +${CEE_CURRENT_LIST_DIR}RiuDragDrop.h +${CEE_CURRENT_LIST_DIR}RiuFemResultTextBuilder.h +${CEE_CURRENT_LIST_DIR}RiuGeoQuestNavigation.h +${CEE_CURRENT_LIST_DIR}RiuLineSegmentQwtPlotCurve.h +${CEE_CURRENT_LIST_DIR}RiuMainPlotWindow.h +${CEE_CURRENT_LIST_DIR}RiuMainWindow.h +${CEE_CURRENT_LIST_DIR}RiuMainWindowBase.h +${CEE_CURRENT_LIST_DIR}RiuMdiSubWindow.h +${CEE_CURRENT_LIST_DIR}RiuMultiCaseImportDialog.h +${CEE_CURRENT_LIST_DIR}RiuProcessMonitor.h +${CEE_CURRENT_LIST_DIR}RiuProjectPropertyView.h +${CEE_CURRENT_LIST_DIR}RiuPropertyViewTabWidget.h +${CEE_CURRENT_LIST_DIR}RiuQwtScalePicker.h +${CEE_CURRENT_LIST_DIR}RiuRecentFileActionProvider.h +${CEE_CURRENT_LIST_DIR}RiuResultInfoPanel.h +${CEE_CURRENT_LIST_DIR}RiuResultQwtPlot.h +${CEE_CURRENT_LIST_DIR}RiuResultTextBuilder.h +${CEE_CURRENT_LIST_DIR}RiuRmsNavigation.h +${CEE_CURRENT_LIST_DIR}RiuSelectionChangedHandler.h +${CEE_CURRENT_LIST_DIR}RiuSelectionColors.h +${CEE_CURRENT_LIST_DIR}RiuSelectionManager.h +${CEE_CURRENT_LIST_DIR}RiuSimpleHistogramWidget.h +${CEE_CURRENT_LIST_DIR}RiuSummaryQwtPlot.h +${CEE_CURRENT_LIST_DIR}RiuToolTipMenu.h +${CEE_CURRENT_LIST_DIR}RiuTreeViewEventFilter.h +${CEE_CURRENT_LIST_DIR}RiuViewer.h +${CEE_CURRENT_LIST_DIR}RiuViewerCommands.h +${CEE_CURRENT_LIST_DIR}RiuWellLogPlot.h +${CEE_CURRENT_LIST_DIR}RiuWellLogTrack.h +${CEE_CURRENT_LIST_DIR}RiuGeoMechXfTensorResultAccessor.h +${CEE_CURRENT_LIST_DIR}RiuFemTimeHistoryResultAccessor.h +) + +set (SOURCE_GROUP_SOURCE_FILES +${CEE_CURRENT_LIST_DIR}RiuCadNavigation.cpp +${CEE_CURRENT_LIST_DIR}RiuCursors.cpp +${CEE_CURRENT_LIST_DIR}RiuDragDrop.cpp +${CEE_CURRENT_LIST_DIR}RiuFemResultTextBuilder.cpp +${CEE_CURRENT_LIST_DIR}RiuGeoQuestNavigation.cpp +${CEE_CURRENT_LIST_DIR}RiuLineSegmentQwtPlotCurve.cpp +${CEE_CURRENT_LIST_DIR}RiuMainPlotWindow.cpp +${CEE_CURRENT_LIST_DIR}RiuMainWindow.cpp +${CEE_CURRENT_LIST_DIR}RiuMainWindowBase.cpp +${CEE_CURRENT_LIST_DIR}RiuMdiSubWindow.cpp +${CEE_CURRENT_LIST_DIR}RiuMultiCaseImportDialog.cpp +${CEE_CURRENT_LIST_DIR}RiuProcessMonitor.cpp +${CEE_CURRENT_LIST_DIR}RiuProjectPropertyView.cpp +${CEE_CURRENT_LIST_DIR}RiuPropertyViewTabWidget.cpp +${CEE_CURRENT_LIST_DIR}RiuQwtScalePicker.cpp +${CEE_CURRENT_LIST_DIR}RiuRecentFileActionProvider.cpp +${CEE_CURRENT_LIST_DIR}RiuResultInfoPanel.cpp +${CEE_CURRENT_LIST_DIR}RiuResultQwtPlot.cpp +${CEE_CURRENT_LIST_DIR}RiuResultTextBuilder.cpp +${CEE_CURRENT_LIST_DIR}RiuRmsNavigation.cpp +${CEE_CURRENT_LIST_DIR}RiuSelectionChangedHandler.cpp +${CEE_CURRENT_LIST_DIR}RiuSelectionColors.cpp +${CEE_CURRENT_LIST_DIR}RiuSelectionManager.cpp +${CEE_CURRENT_LIST_DIR}RiuSimpleHistogramWidget.cpp +${CEE_CURRENT_LIST_DIR}RiuSummaryQwtPlot.cpp +${CEE_CURRENT_LIST_DIR}RiuToolTipMenu.cpp +${CEE_CURRENT_LIST_DIR}RiuTreeViewEventFilter.cpp +${CEE_CURRENT_LIST_DIR}RiuViewer.cpp +${CEE_CURRENT_LIST_DIR}RiuViewerCommands.cpp +${CEE_CURRENT_LIST_DIR}RiuWellLogPlot.cpp +${CEE_CURRENT_LIST_DIR}RiuWellLogTrack.cpp +${CEE_CURRENT_LIST_DIR}RiuGeoMechXfTensorResultAccessor.cpp +${CEE_CURRENT_LIST_DIR}RiuFemTimeHistoryResultAccessor.cpp +) + +list(APPEND CODE_HEADER_FILES +${SOURCE_GROUP_HEADER_FILES} +) + +list(APPEND CODE_SOURCE_FILES +${SOURCE_GROUP_SOURCE_FILES} +) + +list(APPEND QT_MOC_HEADERS +${CEE_CURRENT_LIST_DIR}RiuMainWindowBase.h +${CEE_CURRENT_LIST_DIR}RiuMainWindow.h +${CEE_CURRENT_LIST_DIR}RiuMainPlotWindow.h +${CEE_CURRENT_LIST_DIR}RiuResultInfoPanel.h +${CEE_CURRENT_LIST_DIR}RiuViewer.h +${CEE_CURRENT_LIST_DIR}RiuProcessMonitor.h +${CEE_CURRENT_LIST_DIR}RiuMultiCaseImportDialog.h +${CEE_CURRENT_LIST_DIR}RiuViewerCommands.h +${CEE_CURRENT_LIST_DIR}RiuTreeViewEventFilter.h +${CEE_CURRENT_LIST_DIR}RiuWellLogPlot.h +${CEE_CURRENT_LIST_DIR}RiuWellLogTrack.h +${CEE_CURRENT_LIST_DIR}RiuRecentFileActionProvider.h +${CEE_CURRENT_LIST_DIR}RiuSummaryQwtPlot.h +${CEE_CURRENT_LIST_DIR}RiuQwtScalePicker.h +) + +list(APPEND QT_UI_FILES +${CEE_CURRENT_LIST_DIR}RiuMultiCaseImportDialog.ui +) + +source_group( "UserInterface" FILES ${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES} ${CEE_CURRENT_LIST_DIR}CMakeLists_files.cmake ) diff --git a/ApplicationCode/UserInterface/RiuCadNavigation.cpp b/ApplicationCode/UserInterface/RiuCadNavigation.cpp index 5f145436a6..721b1ad323 100644 --- a/ApplicationCode/UserInterface/RiuCadNavigation.cpp +++ b/ApplicationCode/UserInterface/RiuCadNavigation.cpp @@ -43,15 +43,6 @@ RiuCadNavigation::~RiuCadNavigation() } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuCadNavigation::init() -{ - caf::TrackBallBasedNavigation::init(); - m_navigationUpdated = false; -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -59,54 +50,41 @@ bool RiuCadNavigation::handleInputEvent(QInputEvent* inputEvent) { if (! inputEvent) return false; bool isEventHandled = false; - switch (inputEvent->type()) { case QEvent::MouseButtonPress: { QMouseEvent * me = static_cast( inputEvent); - int translatedMousePosX = me->x(); - int translatedMousePosY = m_viewer->height() - me->y(); - if (me->button() == Qt::LeftButton) - { - m_trackball->startNavigation(cvf::ManipulatorTrackball::PAN, translatedMousePosX, translatedMousePosY); - m_isNavigating = true; - isEventHandled = true; - } - else if (me->button() == Qt::MidButton) + int translatedMousePosX, translatedMousePosY; + cvfEventPos(me->x(), me->y(), &translatedMousePosX, &translatedMousePosY); + + if (me->button() == Qt::MidButton && me->modifiers() == Qt::NoModifier) { - if (me->modifiers() & Qt::ShiftModifier) + cvf::HitItemCollection hic; + bool hitSomething = m_viewer->rayPick( me->x(), me->y(), &hic); + + if (hitSomething) { - m_trackball->startNavigation(cvf::ManipulatorTrackball::PAN, translatedMousePosX, translatedMousePosY); - m_isNavigating = true; - isEventHandled = true; + cvf::Vec3d pointOfInterest = hic.firstItem()->intersectionPoint(); + this->setPointOfInterest(pointOfInterest); } - else if (me->modifiers() == Qt::NoModifier) + else { - cvf::HitItemCollection hic; - bool hitSomething = m_viewer->rayPick( me->x(), me->y(), &hic); - - if (hitSomething) - { - cvf::Vec3d pointOfInterest = hic.firstItem()->intersectionPoint(); - this->setPointOfInterest(pointOfInterest); - } - else - { - initializeRotationCenter(); - } - - m_trackball->startNavigation(cvf::ManipulatorTrackball::ROTATE, translatedMousePosX, translatedMousePosY); - //m_viewer->setCursor(RiuCursors::get(RiuCursors::ROTATE)); - m_isNavigating = true; - isEventHandled = true; + initializeRotationCenter(); } - } - if (isEventHandled) + m_trackball->startNavigation(cvf::ManipulatorTrackball::ROTATE, translatedMousePosX, translatedMousePosY); + m_isNavigating = true; + m_hasMovedMouseDuringNavigation = false; + isEventHandled = true; + } + else if (me->button() == Qt::LeftButton || (me->button() == Qt::MidButton && (me->modifiers() & Qt::ShiftModifier))) { - m_navigationUpdated = false; + m_trackball->startNavigation(cvf::ManipulatorTrackball::PAN, translatedMousePosX, translatedMousePosY); + m_isNavigating = true; + m_hasMovedMouseDuringNavigation = false; + isEventHandled = true; } } break; @@ -118,11 +96,11 @@ bool RiuCadNavigation::handleInputEvent(QInputEvent* inputEvent) if (me->button() == Qt::MidButton || me->button() == Qt::LeftButton) { m_trackball->endNavigation(); - //m_viewer->setCursor(RiuCursors::get(RiuCursors::PICK)); + m_isNavigating = false; - - isEventHandled = m_navigationUpdated; - m_navigationUpdated = false; + if (m_hasMovedMouseDuringNavigation) isEventHandled = true; + m_hasMovedMouseDuringNavigation = false; + } } } @@ -133,8 +111,9 @@ bool RiuCadNavigation::handleInputEvent(QInputEvent* inputEvent) if (m_isRotCenterInitialized) { QMouseEvent * me = static_cast( inputEvent); - int translatedMousePosX = me->x(); - int translatedMousePosY = m_viewer->height() - me->y(); + + int translatedMousePosX, translatedMousePosY; + cvfEventPos(me->x(), me->y(), &translatedMousePosX, &translatedMousePosY); if (m_isNavigating) { @@ -142,9 +121,10 @@ bool RiuCadNavigation::handleInputEvent(QInputEvent* inputEvent) if (needRedraw) { m_viewer->navigationPolicyUpdate(); - m_navigationUpdated = true; + } isEventHandled = true; + m_hasMovedMouseDuringNavigation = true; } } } @@ -156,15 +136,12 @@ bool RiuCadNavigation::handleInputEvent(QInputEvent* inputEvent) initializeRotationCenter(); if (m_isRotCenterInitialized) { - QWheelEvent* we = static_cast(inputEvent); - int translatedMousePosX = we->x(); - int translatedMousePosY = m_viewer->height() - we->y(); + QWheelEvent* we = static_cast ( inputEvent); - cvf::ref ray; - if (we->delta() > 0) - ray = m_viewer->mainCamera()->rayFromWindowCoordinates(translatedMousePosX, translatedMousePosY); - else - ray = m_viewer->mainCamera()->rayFromWindowCoordinates((int)(1.0*translatedMousePosX), (int)(1.0*translatedMousePosY)); + int translatedMousePosX, translatedMousePosY; + cvfEventPos(we->x(), we->y(), &translatedMousePosX, &translatedMousePosY); + + cvf::ref ray = createZoomRay(translatedMousePosX, translatedMousePosY); zoomAlongRay(ray.p(), -we->delta()); } @@ -179,4 +156,3 @@ bool RiuCadNavigation::handleInputEvent(QInputEvent* inputEvent) else return false; } - diff --git a/ApplicationCode/UserInterface/RiuCadNavigation.h b/ApplicationCode/UserInterface/RiuCadNavigation.h index 955eb3c3b7..ec16fe06d8 100644 --- a/ApplicationCode/UserInterface/RiuCadNavigation.h +++ b/ApplicationCode/UserInterface/RiuCadNavigation.h @@ -27,8 +27,5 @@ class RiuCadNavigation : public caf::TrackBallBasedNavigation RiuCadNavigation(); virtual ~RiuCadNavigation(); protected: - virtual void init(); virtual bool handleInputEvent(QInputEvent* inputEvent); - - bool m_navigationUpdated; }; diff --git a/ApplicationCode/UserInterface/RiuDragDrop.cpp b/ApplicationCode/UserInterface/RiuDragDrop.cpp index 7f239b72ff..1afc4cd4ca 100644 --- a/ApplicationCode/UserInterface/RiuDragDrop.cpp +++ b/ApplicationCode/UserInterface/RiuDragDrop.cpp @@ -235,28 +235,28 @@ bool RiuDragDrop::dropMimeData(const QMimeData *data, Qt::DropAction action, int } RimIdenticalGridCaseGroup* gridCaseGroup; - dropTarget->firstAnchestorOrThisOfType(gridCaseGroup); + dropTarget->firstAncestorOrThisOfType(gridCaseGroup); if (gridCaseGroup) { return handleGridCaseGroupDrop(action, draggedObjects, gridCaseGroup); } RimWellLogCurve* wellLogPlotCurve; - dropTarget->firstAnchestorOrThisOfType(wellLogPlotCurve); + dropTarget->firstAncestorOrThisOfType(wellLogPlotCurve); if (wellLogPlotCurve) { return handleWellLogPlotCurveDrop(action, draggedObjects, wellLogPlotCurve); } RimWellLogTrack* wellLogPlotTrack; - dropTarget->firstAnchestorOrThisOfType(wellLogPlotTrack); + dropTarget->firstAncestorOrThisOfType(wellLogPlotTrack); if (wellLogPlotTrack) { return handleWellLogPlotTrackDrop(action, draggedObjects, wellLogPlotTrack); } RimWellLogPlot* wellLogPlot; - dropTarget->firstAnchestorOrThisOfType(wellLogPlot); + dropTarget->firstAncestorOrThisOfType(wellLogPlot); if (wellLogPlot) { return handleWellLogPlotDrop(action, draggedObjects, wellLogPlot); @@ -361,7 +361,7 @@ bool RiuDragDrop::handleWellLogPlotTrackDrop(Qt::DropAction action, caf::PdmObje if (action == Qt::MoveAction) { RimWellLogPlot* wellLogPlot; - trackTarget->firstAnchestorOrThisOfType(wellLogPlot); + trackTarget->firstAncestorOrThisOfType(wellLogPlot); RicWellLogPlotTrackFeatureImpl::moveTracksToWellLogPlot(wellLogPlot, wellLogPlotTracks, trackTarget); return true; } @@ -381,7 +381,7 @@ bool RiuDragDrop::handleWellLogPlotCurveDrop(Qt::DropAction action, caf::PdmObje if (action == Qt::MoveAction) { RimWellLogTrack* wellLogPlotTrack; - curveDropTarget->firstAnchestorOrThisOfType(wellLogPlotTrack); + curveDropTarget->firstAncestorOrThisOfType(wellLogPlotTrack); RicWellLogPlotTrackFeatureImpl::moveCurvesToWellLogPlotTrack(wellLogPlotTrack, wellLogPlotCurves, curveDropTarget); return true; diff --git a/ApplicationCode/UserInterface/RiuFemResultTextBuilder.cpp b/ApplicationCode/UserInterface/RiuFemResultTextBuilder.cpp index 1c14e89877..3e5f8ee9f8 100644 --- a/ApplicationCode/UserInterface/RiuFemResultTextBuilder.cpp +++ b/ApplicationCode/UserInterface/RiuFemResultTextBuilder.cpp @@ -19,21 +19,28 @@ #include "RiuFemResultTextBuilder.h" -#include "RigGeoMechCaseData.h" -#include "RimGeoMechView.h" -#include "RimGeoMechCase.h" -#include "RigFemPartCollection.h" #include "RigFemPart.h" +#include "RigFemPartCollection.h" #include "RigFemPartGrid.h" -#include "RimGeoMechCellColors.h" #include "RigFemPartResultsCollection.h" +#include "RigFormationNames.h" +#include "RigGeoMechCaseData.h" +#include "RimFormationNames.h" +#include "RimGeoMechCase.h" +#include "RimGeoMechResultDefinition.h" +#include "RimGeoMechView.h" +#include "RiuGeoMechXfTensorResultAccessor.h" //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RiuFemResultTextBuilder::RiuFemResultTextBuilder(RimGeoMechView* reservoirView, int gridIndex, int cellIndex, int timeStepIndex) +RiuFemResultTextBuilder::RiuFemResultTextBuilder(RimGeoMechView* reservoirView, + int gridIndex, + int cellIndex, + int timeStepIndex) + : m_isIntersectionTriangleSet(false) { CVF_ASSERT(reservoirView); @@ -57,7 +64,16 @@ void RiuFemResultTextBuilder::setIntersectionPoint(cvf::Vec3d intersectionPoint) //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiuFemResultTextBuilder::setFace(cvf::StructGridInterface::FaceType face) +void RiuFemResultTextBuilder::setIntersectionTriangle(const std::array& triangle) +{ + m_intersectionTriangle = triangle; + m_isIntersectionTriangleSet = true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuFemResultTextBuilder::setFace(int face) { m_face = face; } @@ -69,12 +85,13 @@ QString RiuFemResultTextBuilder::mainResultText() { QString text; - text = closestNodeResultText(m_reservoirView->cellResult()); + text = closestNodeResultText(m_reservoirView->cellResultResultDefinition()); if (!text.isEmpty()) text += "\n"; QString topoText = this->topologyText("\n"); text += topoText; + appendDetails(text, formationDetails()); text += "\n"; appendDetails(text, gridResultDetails()); @@ -141,7 +158,7 @@ QString RiuFemResultTextBuilder::gridResultDetails() { RigGeoMechCaseData* eclipseCaseData = m_reservoirView->geoMechCase()->geoMechData(); - this->appendTextFromResultColors(eclipseCaseData, m_gridIndex, m_cellIndex, m_timeStepIndex, m_reservoirView->cellResult(), &text); + this->appendTextFromResultColors(eclipseCaseData, m_gridIndex, m_cellIndex, m_timeStepIndex, m_reservoirView->cellResultResultDefinition(), &text); if (!text.isEmpty()) { @@ -156,58 +173,140 @@ QString RiuFemResultTextBuilder::gridResultDetails() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiuFemResultTextBuilder::appendTextFromResultColors(RigGeoMechCaseData* geomData, int gridIndex, int cellIndex, int timeStepIndex, RimGeoMechCellColors* resultColors, QString* resultInfoText) +QString RiuFemResultTextBuilder::formationDetails() { - if (!resultColors) + QString text; + RimCase* rimCase = m_reservoirView->ownerCase(); + if(rimCase) + { + if(rimCase->activeFormationNames() && rimCase->activeFormationNames()->formationNamesData()) + { + RigFormationNames* formNames = rimCase->activeFormationNames()->formationNamesData(); + + size_t k = cvf::UNDEFINED_SIZE_T; + { + RigGeoMechCaseData* geomData = m_reservoirView->geoMechCase()->geoMechData(); + if(geomData) + { + size_t i = 0; + size_t j = 0; + geomData->femParts()->part(m_gridIndex)->structGrid()->ijkFromCellIndex(m_cellIndex, &i, &j, &k); + } + } + + if(k != cvf::UNDEFINED_SIZE_T) + { + QString formName = formNames->formationNameFromKLayerIdx(k); + if(!formName.isEmpty()) + { + //text += "-- Formation details --\n"; + + text += QString("Formation Name: %1\n").arg(formName); + } + } + } + } + return text; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuFemResultTextBuilder::appendTextFromResultColors(RigGeoMechCaseData* geomData, int gridIndex, int cellIndex, int timeStepIndex, RimGeoMechResultDefinition* resultDefinition, QString* resultInfoText) +{ + if (!resultDefinition) { return; } - if (resultColors->hasResult()) + if (resultDefinition->hasResult()) { - const std::vector& scalarResults = geomData->femPartResults()->resultValues(resultColors->resultAddress(), gridIndex, timeStepIndex); + const std::vector& scalarResults = geomData->femPartResults()->resultValues(resultDefinition->resultAddress(), gridIndex, timeStepIndex); if (scalarResults.size()) { - caf::AppEnum resPosAppEnum = resultColors->resultPositionType(); + caf::AppEnum resPosAppEnum = resultDefinition->resultPositionType(); resultInfoText->append(resPosAppEnum.uiText() + ", "); - resultInfoText->append(resultColors->resultFieldUiName()+ ", ") ; - resultInfoText->append(resultColors->resultComponentUiName() + ":\n"); + resultInfoText->append(resultDefinition->resultFieldUiName()+ ", ") ; + resultInfoText->append(resultDefinition->resultComponentUiName() + ":\n"); + if (resultDefinition->resultPositionType() != RIG_ELEMENT_NODAL_FACE) + { + RigFemPart* femPart = geomData->femParts()->part(gridIndex); + RigElementType elmType = femPart->elementType(cellIndex); + const int* elmentConn = femPart->connectivities(cellIndex); + int elmNodeCount = RigFemTypes::elmentNodeCount(elmType); + const int* lElmNodeToIpMap = RigFemTypes::localElmNodeToIntegrationPointMapping(elmType); - RigFemPart* femPart = geomData->femParts()->part(gridIndex); - RigElementType elmType = femPart->elementType(cellIndex); - const int* elmentConn = femPart->connectivities(cellIndex); - int elmNodeCount = RigFemTypes::elmentNodeCount(elmType); - const int* lElmNodeToIpMap = RigFemTypes::localElmNodeToIntegrationPointMapping(elmType); + for (int lNodeIdx = 0; lNodeIdx < elmNodeCount; ++lNodeIdx) + { - for (int lNodeIdx = 0; lNodeIdx < elmNodeCount; ++lNodeIdx) + float scalarValue = std::numeric_limits::infinity(); + int nodeIdx = elmentConn[lNodeIdx]; + if (resultDefinition->resultPositionType() == RIG_NODAL) + { + + scalarValue = scalarResults[nodeIdx]; + } + else + { + size_t resIdx = femPart->elementNodeResultIdx(cellIndex, lNodeIdx); + scalarValue = scalarResults[resIdx]; + } + + + if (resultDefinition->resultPositionType() == RIG_INTEGRATION_POINT) + { + resultInfoText->append(QString("\tIP:%1 \t: %2 \tAss. Node: \t%3").arg(lElmNodeToIpMap[lNodeIdx] + 1 ).arg(scalarValue).arg(femPart->nodes().nodeIds[nodeIdx])); + } + else + { + resultInfoText->append(QString("\tN:%1 \t: %2").arg(femPart->nodes().nodeIds[nodeIdx]).arg(scalarValue)); + } + + cvf::Vec3f nodeCoord = femPart->nodes().coordinates[nodeIdx]; + resultInfoText->append(QString("\t( %3, %4, %5)\n").arg(nodeCoord[0]).arg(nodeCoord[1]).arg(nodeCoord[2])); + } + } + else { - - float scalarValue = std::numeric_limits::infinity(); - int nodeIdx = elmentConn[lNodeIdx]; - if (resultColors->resultPositionType() == RIG_NODAL) + int elmNodeFaceStartResIdx = cellIndex *24; + + resultInfoText->append(QString("Pos I Face:\n")); + for (int ptIdx = 0; ptIdx < 4; ++ptIdx) { - - scalarValue = scalarResults[nodeIdx]; - } - else + resultInfoText->append(QString("\t%2\n").arg(scalarResults[elmNodeFaceStartResIdx+ptIdx])); + } + + resultInfoText->append(QString("Neg I Face:\n")); + for(int ptIdx = 4; ptIdx < 8; ++ptIdx) { - size_t resIdx = femPart->elementNodeResultIdx(cellIndex, lNodeIdx); - scalarValue = scalarResults[resIdx]; + resultInfoText->append(QString("\t%2\n").arg(scalarResults[elmNodeFaceStartResIdx+ptIdx])); } - - - if (resultColors->resultPositionType() == RIG_INTEGRATION_POINT) + + resultInfoText->append(QString("Pos J Face:\n")); + for(int ptIdx = 8; ptIdx < 12; ++ptIdx) + { + resultInfoText->append(QString("\t%2\n").arg(scalarResults[elmNodeFaceStartResIdx+ptIdx])); + } + + resultInfoText->append(QString("Neg J Face:\n")); + for(int ptIdx = 12; ptIdx < 16; ++ptIdx) + { + resultInfoText->append(QString("\t%2\n").arg(scalarResults[elmNodeFaceStartResIdx+ptIdx])); + } + + resultInfoText->append(QString("Pos K Face:\n")); + for(int ptIdx = 16; ptIdx < 20; ++ptIdx) { - resultInfoText->append(QString("\tIP:%1 \t: %2 \tAss. Node: \t%3").arg(lElmNodeToIpMap[lNodeIdx] + 1 ).arg(scalarValue).arg(femPart->nodes().nodeIds[nodeIdx])); + resultInfoText->append(QString("\t%2\n").arg(scalarResults[elmNodeFaceStartResIdx+ptIdx])); } - else + + resultInfoText->append(QString("Neg K Face:\n")); + for(int ptIdx = 20; ptIdx < 24; ++ptIdx) { - resultInfoText->append(QString("\tN:%1 \t: %2").arg(femPart->nodes().nodeIds[nodeIdx]).arg(scalarValue)); + resultInfoText->append(QString("\t%2\n").arg(scalarResults[elmNodeFaceStartResIdx+ptIdx])); } - cvf::Vec3f nodeCoord = femPart->nodes().coordinates[nodeIdx]; - resultInfoText->append(QString("\t( %3, %4, %5)\n").arg(nodeCoord[0]).arg(nodeCoord[1]).arg(nodeCoord[2])); } } } @@ -228,7 +327,7 @@ void RiuFemResultTextBuilder::appendDetails(QString& text, const QString& detail //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -QString RiuFemResultTextBuilder::closestNodeResultText(RimGeoMechCellColors* resultColors) +QString RiuFemResultTextBuilder::closestNodeResultText(RimGeoMechResultDefinition* resultColors) { QString text; if (!resultColors) @@ -243,50 +342,48 @@ QString RiuFemResultTextBuilder::closestNodeResultText(RimGeoMechCellColors* res RigGeoMechCaseData* geomData = m_reservoirView->geoMechCase()->geoMechData(); const std::vector& scalarResults = geomData->femPartResults()->resultValues(resultColors->resultAddress(), m_gridIndex, m_timeStepIndex); + if (scalarResults.size()) { - RigFemPart* femPart = geomData->femParts()->part(m_gridIndex); - RigElementType elmType = femPart->elementType(m_cellIndex); - const int* elmentConn = femPart->connectivities(m_cellIndex); - int elmNodeCount = RigFemTypes::elmentNodeCount(elmType); - - // Find the closest node - int closestLocalNode = -1; - float minDist = std::numeric_limits::infinity(); - for (int lNodeIdx = 0; lNodeIdx < elmNodeCount; ++lNodeIdx) + RigFemResultPosEnum activeResultPosition = resultColors->resultPositionType(); + + RigFemClosestResultIndexCalculator closestIndexCalc(femPart, + activeResultPosition, + m_cellIndex, + m_face, + m_intersectionPoint); + int resultIndex = closestIndexCalc.resultIndexToClosestResult(); + int closestNodeId = closestIndexCalc.closestNodeId(); + int closestElmNodResIdx = closestIndexCalc.closestElementNodeResIdx(); + + float scalarValue = (resultIndex >= 0) ? scalarResults[resultIndex]: std::numeric_limits::infinity(); + + + if (activeResultPosition != RIG_ELEMENT_NODAL_FACE) { - int nodeIdx = elmentConn[lNodeIdx]; - cvf::Vec3f nodePos = femPart->nodes().coordinates[nodeIdx]; - float dist = (nodePos - cvf::Vec3f(m_intersectionPoint)).lengthSquared(); - if (dist < minDist) - { - closestLocalNode = lNodeIdx; - minDist = dist; - } + text.append(QString("Closest result: N[%1], %2\n").arg(closestNodeId) + .arg(scalarValue)); } - - // Create a text showing the results from the closest node - if (closestLocalNode >= 0) + else if ( m_face != -1 ) { - - float scalarValue = std::numeric_limits::infinity(); - int nodeIdx = elmentConn[closestLocalNode]; - if (resultColors->resultPositionType() == RIG_NODAL) - { - - scalarValue = scalarResults[nodeIdx]; - } - else - { - size_t resIdx = femPart->elementNodeResultIdx(m_cellIndex, closestLocalNode); - scalarValue = scalarResults[resIdx]; - } + text.append(QString("Closest result: N[%1], on face: %2, %3\n").arg(closestNodeId) + .arg(caf::AppEnum::textFromIndex(m_face)) + .arg(scalarValue)); + } + else if (m_isIntersectionTriangleSet && activeResultPosition == RIG_ELEMENT_NODAL_FACE) + { + RiuGeoMechXfTensorResultAccessor tensAccessor(geomData->femPartResults(), resultColors->resultAddress(), m_timeStepIndex); + float tensValue = tensAccessor.calculateElmNodeValue(m_intersectionTriangle, closestElmNodResIdx); - text.append(QString("Closest result: N[%1], %2\n").arg(femPart->nodes().nodeIds[nodeIdx]).arg(scalarValue)); + text.append(QString("Closest result: N[%1], in Element[%2] transformed onto intersection: %3 \n") + .arg(closestNodeId) + .arg(femPart->elmId(m_cellIndex)) + .arg(tensValue)); } } } return text; } + diff --git a/ApplicationCode/UserInterface/RiuFemResultTextBuilder.h b/ApplicationCode/UserInterface/RiuFemResultTextBuilder.h index 2cbd88b371..2b3e3d45b7 100644 --- a/ApplicationCode/UserInterface/RiuFemResultTextBuilder.h +++ b/ApplicationCode/UserInterface/RiuFemResultTextBuilder.h @@ -22,12 +22,14 @@ #include "cvfBase.h" #include "cafPdmPointer.h" #include "cvfStructGrid.h" + #include +#include -class RimGeoMechView; -class RimEclipseCellColors; class RigGeoMechCaseData; -class RimGeoMechCellColors; +class RimEclipseCellColors; +class RimGeoMechResultDefinition; +class RimGeoMechView; namespace cvf { class Part; @@ -41,8 +43,9 @@ class RiuFemResultTextBuilder { public: RiuFemResultTextBuilder(RimGeoMechView* reservoirView, int gridIndex, int cellIndex, int timeStepIndex); - void setFace(cvf::StructGridInterface::FaceType face); + void setFace(int face); void setIntersectionPoint(cvf::Vec3d intersectionPoint); + void setIntersectionTriangle(const std::array& triangle); QString mainResultText(); @@ -52,10 +55,11 @@ class RiuFemResultTextBuilder void appendDetails(QString& text, const QString& details); QString gridResultDetails(); + QString formationDetails(); - QString closestNodeResultText(RimGeoMechCellColors* resultColors); + QString closestNodeResultText(RimGeoMechResultDefinition* resultDefinition); - void appendTextFromResultColors(RigGeoMechCaseData* eclipseCase, int gridIndex, int cellIndex, int timeStepIndex, RimGeoMechCellColors* resultColors, QString* resultInfoText); + void appendTextFromResultColors(RigGeoMechCaseData* eclipseCase, int gridIndex, int cellIndex, int timeStepIndex, RimGeoMechResultDefinition* resultDefinition, QString* resultInfoText); private: caf::PdmPointer m_reservoirView; @@ -64,7 +68,9 @@ class RiuFemResultTextBuilder int m_cellIndex; int m_timeStepIndex; - cvf::StructGridInterface::FaceType m_face; + int m_face; + bool m_isIntersectionTriangleSet; + std::array m_intersectionTriangle; cvf::Vec3d m_intersectionPoint; }; diff --git a/ApplicationCode/UserInterface/RiuFemTimeHistoryResultAccessor.cpp b/ApplicationCode/UserInterface/RiuFemTimeHistoryResultAccessor.cpp new file mode 100644 index 0000000000..2e5c03f40b --- /dev/null +++ b/ApplicationCode/UserInterface/RiuFemTimeHistoryResultAccessor.cpp @@ -0,0 +1,163 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// Copyright (C) Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RiuFemTimeHistoryResultAccessor.h" + +#include "RigFemPart.h" +#include "RigFemPartCollection.h" +#include "RigFemPartGrid.h" +#include "RigFemPartResultsCollection.h" +#include "RigFemTypes.h" +#include "RigGeoMechCaseData.h" +#include "RiuGeoMechXfTensorResultAccessor.h" + +#include // Needed for HUGE_VAL on Linux + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuFemTimeHistoryResultAccessor::RiuFemTimeHistoryResultAccessor(RigGeoMechCaseData* geomData, + RigFemResultAddress femResultAddress, + size_t gridIndex, + int elementIndex, + int face, + const cvf::Vec3d& intersectionPoint) + : m_geoMechCaseData(geomData), + m_femResultAddress(femResultAddress), + m_gridIndex(gridIndex), + m_elementIndex(elementIndex), + m_face(face), + m_intersectionPoint(intersectionPoint), + m_hasIntersectionTriangle(false) +{ + computeTimeHistoryData(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuFemTimeHistoryResultAccessor::RiuFemTimeHistoryResultAccessor(RigGeoMechCaseData* geomData, + RigFemResultAddress femResultAddress, + size_t gridIndex, + int elementIndex, + int face, + const cvf::Vec3d& intersectionPoint, + const std::array& intersectionTriangle) + : m_geoMechCaseData(geomData), + m_femResultAddress(femResultAddress), + m_gridIndex(gridIndex), + m_elementIndex(elementIndex), + m_face(face), + m_intersectionPoint(intersectionPoint), + m_hasIntersectionTriangle(true), + m_intersectionTriangle(intersectionTriangle) +{ + computeTimeHistoryData(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RiuFemTimeHistoryResultAccessor::topologyText() const +{ + QString text; + + if (m_geoMechCaseData) + { + RigFemPart* femPart = m_geoMechCaseData->femParts()->part(m_gridIndex); + int elementId = femPart->elmId(m_elementIndex); + text += QString("Element : Id[%1]").arg(elementId); + + size_t i = 0; + size_t j = 0; + size_t k = 0; + if (m_geoMechCaseData->femParts()->part(m_gridIndex)->structGrid()->ijkFromCellIndex(m_elementIndex, &i, &j, &k)) + { + // Adjust to 1-based Eclipse indexing + i++; + j++; + k++; + + cvf::Vec3d domainCoord = m_intersectionPoint; + text += QString(", ijk[%1, %2, %3] ").arg(i).arg(j).arg(k); + + QString formattedText; + formattedText.sprintf("Intersection point : [E: %.2f, N: %.2f, Depth: %.2f]", domainCoord.x(), domainCoord.y(), -domainCoord.z()); + + text += formattedText; + } + } + + return text; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RiuFemTimeHistoryResultAccessor::timeHistoryValues() const +{ + return m_timeHistoryValues; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuFemTimeHistoryResultAccessor::computeTimeHistoryData() +{ + m_timeHistoryValues.clear(); + + RigFemClosestResultIndexCalculator closestCalc(m_geoMechCaseData->femParts()->part(m_gridIndex), + m_femResultAddress.resultPosType, + m_elementIndex, + m_face, + m_intersectionPoint ); + + int scalarResultIndex = closestCalc.resultIndexToClosestResult(); + m_closestNodeId = closestCalc.closestNodeId(); + + RigFemPartResultsCollection* femPartResultsColl = m_geoMechCaseData->femPartResults(); + + if (m_femResultAddress.resultPosType == RIG_ELEMENT_NODAL_FACE && m_hasIntersectionTriangle) + { + int closestElmNodeResIndex = closestCalc.closestElementNodeResIdx(); + + for ( int frameIdx = 0; frameIdx < femPartResultsColl->frameCount(); frameIdx++ ) + { + RiuGeoMechXfTensorResultAccessor stressXfAccessor(femPartResultsColl, m_femResultAddress, frameIdx); + float scalarValue = stressXfAccessor.calculateElmNodeValue(m_intersectionTriangle, closestElmNodeResIndex); + m_timeHistoryValues.push_back(scalarValue); + } + } + else + { + if ( scalarResultIndex < 0 ) return; + + for ( int frameIdx = 0; frameIdx < femPartResultsColl->frameCount(); frameIdx++ ) + { + const std::vector& scalarResults = m_geoMechCaseData->femPartResults()->resultValues(m_femResultAddress, static_cast(m_gridIndex), frameIdx); + if ( scalarResults.size() ) + { + float scalarValue = scalarResults[scalarResultIndex]; + + m_timeHistoryValues.push_back(scalarValue); + } + } + } + +} diff --git a/ApplicationCode/UserInterface/RiuFemTimeHistoryResultAccessor.h b/ApplicationCode/UserInterface/RiuFemTimeHistoryResultAccessor.h new file mode 100644 index 0000000000..299961ade9 --- /dev/null +++ b/ApplicationCode/UserInterface/RiuFemTimeHistoryResultAccessor.h @@ -0,0 +1,73 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// Copyright (C) Ceetron Solutions AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "RigFemResultAddress.h" + +#include "cvfStructGrid.h" +#include "cvfVector3.h" +#include + +class RigGeoMechCaseData; + + +class RiuFemTimeHistoryResultAccessor +{ +public: + RiuFemTimeHistoryResultAccessor(RigGeoMechCaseData* geomData, + RigFemResultAddress femResultAddress, + size_t gridIndex, + int elementIndex, + int face, + const cvf::Vec3d& intersectionPoint); + + RiuFemTimeHistoryResultAccessor(RigGeoMechCaseData* geomData, + RigFemResultAddress femResultAddress, + size_t gridIndex, + int elementIndex, + int face, + const cvf::Vec3d& intersectionPoint, + const std::array& m_intersectionTriangle); + + QString topologyText() const; + std::vector timeHistoryValues() const; + int closestNodeId() const { return m_closestNodeId; } + +private: + void computeTimeHistoryData(); + +private: + RigGeoMechCaseData* m_geoMechCaseData; + RigFemResultAddress m_femResultAddress; + + size_t m_gridIndex; + int m_elementIndex; + size_t m_scalarResultIndex; + int m_face; + int m_closestNodeId; + + cvf::Vec3d m_intersectionPoint; + + bool m_hasIntersectionTriangle; + std::array m_intersectionTriangle; + + std::vector m_timeHistoryValues; +}; + diff --git a/ApplicationCode/UserInterface/RiuGeoMechXfTensorResultAccessor.cpp b/ApplicationCode/UserInterface/RiuGeoMechXfTensorResultAccessor.cpp new file mode 100644 index 0000000000..d03c196207 --- /dev/null +++ b/ApplicationCode/UserInterface/RiuGeoMechXfTensorResultAccessor.cpp @@ -0,0 +1,202 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RiuGeoMechXfTensorResultAccessor.h" +#include "RigFemPartResultsCollection.h" +#include "cvfGeometryTools.h" +#include "RivHexGridIntersectionTools.h" +#include "cvfAssert.h" + +float RiuGeoMechXfTensorResultAccessor::SN (const caf::Ten3f& t) const { return t[caf::Ten3f::SZZ];} +float RiuGeoMechXfTensorResultAccessor::STH (const caf::Ten3f& t) const { return t[caf::Ten3f::SXX]; } +float RiuGeoMechXfTensorResultAccessor::STQV (const caf::Ten3f& t) const { return t[caf::Ten3f::SYY]; } +float RiuGeoMechXfTensorResultAccessor::TNH (const caf::Ten3f& t) const { return t[caf::Ten3f::SZX]; } +float RiuGeoMechXfTensorResultAccessor::TNQV (const caf::Ten3f& t) const { return t[caf::Ten3f::SYZ]; } +float RiuGeoMechXfTensorResultAccessor::THQV (const caf::Ten3f& t) const { return t[caf::Ten3f::SXY]; } + +float RiuGeoMechXfTensorResultAccessor::TP (const caf::Ten3f& t) const +{ + float szx = t[caf::Ten3f::SZX]; + float szy = t[caf::Ten3f::SYZ]; + float tp = sqrt(szx*szx + szy*szy); + + return tp; +} + +float RiuGeoMechXfTensorResultAccessor::TPinc (const caf::Ten3f& t) const +{ + float szy = t[caf::Ten3f::SYZ]; + + float tp = TP(t); + + if ( tp > 1e-5 ) + { + return cvf::Math::toDegrees(acos(szy/tp)); + } + else + { + return std::numeric_limits::infinity(); + } +} + +float RiuGeoMechXfTensorResultAccessor::FAULTMOB(const caf::Ten3f& t) const +{ + float szz = t[caf::Ten3f::SZZ]; + float tp = TP(t); + + return tp/(m_tanFricAng * (szz + m_cohPrTanFricAngle)); +} + +float RiuGeoMechXfTensorResultAccessor::PCRIT (const caf::Ten3f& t) const +{ + float szz = t[caf::Ten3f::SZZ]; + float tp = TP(t); + + return szz - tp/m_tanFricAng; +} + + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuGeoMechXfTensorResultAccessor::RiuGeoMechXfTensorResultAccessor(RigFemPartResultsCollection * femResCollection, + const RigFemResultAddress& resVarAddress, + int timeStepIdx) +{ + RigFemResultAddress tensComp = resVarAddress; + tensComp.resultPosType = RIG_ELEMENT_NODAL; + + tensComp.componentName = "S11"; + tens11 = &femResCollection->resultValues(tensComp, 0, timeStepIdx); + tensComp.componentName = "S22"; + tens22 = &femResCollection->resultValues(tensComp, 0, timeStepIdx); + tensComp.componentName = "S33"; + tens33 = &femResCollection->resultValues(tensComp, 0, timeStepIdx); + tensComp.componentName = "S12"; + tens12 = &femResCollection->resultValues(tensComp, 0, timeStepIdx); + tensComp.componentName = "S23"; + tens23 = &femResCollection->resultValues(tensComp, 0, timeStepIdx); + tensComp.componentName = "S13"; + tens13 = &femResCollection->resultValues(tensComp, 0, timeStepIdx); + + if ( resVarAddress.componentName == "SN" ) { m_tensorOperation = &RiuGeoMechXfTensorResultAccessor::SN ;} + if ( resVarAddress.componentName == "STH" ) { m_tensorOperation = &RiuGeoMechXfTensorResultAccessor::STH ;} + if ( resVarAddress.componentName == "STQV" ) { m_tensorOperation = &RiuGeoMechXfTensorResultAccessor::STQV ;} + if ( resVarAddress.componentName == "TPH" ) { m_tensorOperation = &RiuGeoMechXfTensorResultAccessor::TNH ;} + if ( resVarAddress.componentName == "TPQV" ) { m_tensorOperation = &RiuGeoMechXfTensorResultAccessor::TNQV ;} + if ( resVarAddress.componentName == "THQV" ) { m_tensorOperation = &RiuGeoMechXfTensorResultAccessor::THQV ;} + if ( resVarAddress.componentName == "TP" ) { m_tensorOperation = &RiuGeoMechXfTensorResultAccessor::TP ;} + if ( resVarAddress.componentName == "TPinc" ) { m_tensorOperation = &RiuGeoMechXfTensorResultAccessor::TPinc ;} + if ( resVarAddress.componentName == "FAULTMOB" ) { m_tensorOperation = &RiuGeoMechXfTensorResultAccessor::FAULTMOB;} + if ( resVarAddress.componentName == "PCRIT" ) { m_tensorOperation = &RiuGeoMechXfTensorResultAccessor::PCRIT ;} + + m_tanFricAng = tan((float)femResCollection->parameterFrictionAngleRad()); + m_cohPrTanFricAngle = (float)((float)femResCollection->parameterCohesion()/m_tanFricAng); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuGeoMechXfTensorResultAccessor::calculateInterpolatedValue(const cvf::Vec3f triangle[3], const RivIntersectionVertexWeights vertexWeights[3], float returnValues[3]) +{ + if ( tens11->size() == 0 ) + { + returnValues[0] = returnValues[1] = returnValues[2] = std::numeric_limits::infinity(); + return; + } + + cvf::Mat3f triangleXf = cvf::GeometryTools::computePlaneHorizontalRotationMx(triangle[1] - triangle[0], triangle[2] - triangle[0]); + + for ( int triangleVxIdx = 0; triangleVxIdx < 3; ++triangleVxIdx ) + { + float ipT11 = 0; + float ipT22 = 0; + float ipT33 = 0; + float ipT12 = 0; + float ipT23 = 0; + float ipT13 = 0; + + int weightCount = vertexWeights[triangleVxIdx].size(); + for ( int wIdx = 0; wIdx < weightCount; ++wIdx ) + { + size_t resIdx = vertexWeights[triangleVxIdx].vxId(wIdx) ; + float interpolationWeight = vertexWeights[triangleVxIdx].weight(wIdx); + ipT11 += (*tens11)[resIdx] * interpolationWeight; + ipT22 += (*tens22)[resIdx] * interpolationWeight; + ipT33 += (*tens33)[resIdx] * interpolationWeight; + ipT12 += (*tens12)[resIdx] * interpolationWeight; + ipT23 += (*tens23)[resIdx] * interpolationWeight; + ipT13 += (*tens13)[resIdx] * interpolationWeight; + } + + if ( ipT11 == HUGE_VAL || ipT11 != ipT11 + || ipT22 == HUGE_VAL || ipT22 != ipT22 + || ipT33 == HUGE_VAL || ipT33 != ipT33 + || ipT12 == HUGE_VAL || ipT12 != ipT12 + || ipT23 == HUGE_VAL || ipT23 != ipT23 + || ipT13 == HUGE_VAL || ipT13 != ipT13 ) // a != a is true for NAN's + { + returnValues[triangleVxIdx] = std::numeric_limits::infinity(); + } + else + { + caf::Ten3f tensor(ipT11, ipT22, ipT33, + ipT12, ipT23, ipT13); + caf::Ten3f xfTen = tensor.rotated(triangleXf); + + returnValues[triangleVxIdx] = m_tensorOperation(*this, xfTen); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +float RiuGeoMechXfTensorResultAccessor::calculateElmNodeValue(const std::array & triangle, int globalElmNodeResIndex) +{ + if ( tens11->size() == 0 ) return std::numeric_limits::infinity(); + + cvf::Mat3f triangleXf = cvf::GeometryTools::computePlaneHorizontalRotationMx(triangle[1] - triangle[0], triangle[2] - triangle[0]); + + float ipT11 = (*tens11)[globalElmNodeResIndex]; + float ipT22 = (*tens22)[globalElmNodeResIndex]; + float ipT33 = (*tens33)[globalElmNodeResIndex]; + float ipT12 = (*tens12)[globalElmNodeResIndex]; + float ipT23 = (*tens23)[globalElmNodeResIndex]; + float ipT13 = (*tens13)[globalElmNodeResIndex]; + + if ( ipT11 == HUGE_VAL || ipT11 != ipT11 + || ipT22 == HUGE_VAL || ipT22 != ipT22 + || ipT33 == HUGE_VAL || ipT33 != ipT33 + || ipT12 == HUGE_VAL || ipT12 != ipT12 + || ipT23 == HUGE_VAL || ipT23 != ipT23 + || ipT13 == HUGE_VAL || ipT13 != ipT13 ) // a != a is true for NAN's + { + return std::numeric_limits::infinity(); + } + else + { + caf::Ten3f tensor(ipT11, ipT22, ipT33, + ipT12, ipT23, ipT13); + caf::Ten3f xfTen = tensor.rotated(triangleXf); + + float scalarValue = m_tensorOperation(*this, xfTen); + return scalarValue; + } +} diff --git a/ApplicationCode/UserInterface/RiuGeoMechXfTensorResultAccessor.h b/ApplicationCode/UserInterface/RiuGeoMechXfTensorResultAccessor.h new file mode 100644 index 0000000000..a900b51825 --- /dev/null +++ b/ApplicationCode/UserInterface/RiuGeoMechXfTensorResultAccessor.h @@ -0,0 +1,68 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once +#include +#include + +#include "cafTensor3.h" +#include + +class RigFemPartResultsCollection; +class RigFemResultAddress; +class RivIntersectionVertexWeights; + +class RiuGeoMechXfTensorResultAccessor +{ +public: + RiuGeoMechXfTensorResultAccessor(RigFemPartResultsCollection * femResCollection, + const RigFemResultAddress& resVarAddress, + int timeStepIdx); + + void calculateInterpolatedValue(const cvf::Vec3f triangle[3], const RivIntersectionVertexWeights vertexWeights[3], float returnValues[3]); + + float calculateElmNodeValue(const std::array & triangle, int globalElmNodeResIndex); + + +private: + + const std::vector* tens11; + const std::vector* tens22; + const std::vector* tens33; + const std::vector* tens12; + const std::vector* tens23; + const std::vector* tens13; + + float m_tanFricAng ; + float m_cohPrTanFricAngle; + + std::function m_tensorOperation; + + float SN (const caf::Ten3f& t) const; + float STH (const caf::Ten3f& t) const; + float STQV (const caf::Ten3f& t) const; + float TNH (const caf::Ten3f& t) const; + float TNQV (const caf::Ten3f& t) const; + float THQV (const caf::Ten3f& t) const; + float TP (const caf::Ten3f& t) const; + float TPinc (const caf::Ten3f& t) const; + float FAULTMOB(const caf::Ten3f& t) const; + float PCRIT (const caf::Ten3f& t) const; +}; + + diff --git a/ApplicationCode/UserInterface/RiuGeoQuestNavigation.cpp b/ApplicationCode/UserInterface/RiuGeoQuestNavigation.cpp index 95ba63030e..27112bb00d 100644 --- a/ApplicationCode/UserInterface/RiuGeoQuestNavigation.cpp +++ b/ApplicationCode/UserInterface/RiuGeoQuestNavigation.cpp @@ -55,8 +55,9 @@ bool RiuGeoQuestNavigation::handleInputEvent(QInputEvent* inputEvent) case QEvent::MouseButtonPress: { QMouseEvent * me = static_cast( inputEvent); - int translatedMousePosX = me->x(); - int translatedMousePosY = m_viewer->height() - me->y(); + + int translatedMousePosX, translatedMousePosY; + cvfEventPos(me->x(), me->y(), &translatedMousePosX, &translatedMousePosY); if (me->button() == Qt::LeftButton) { @@ -74,7 +75,6 @@ bool RiuGeoQuestNavigation::handleInputEvent(QInputEvent* inputEvent) } m_trackball->startNavigation(cvf::ManipulatorTrackball::ROTATE, translatedMousePosX, translatedMousePosY); - //m_viewer->setCursor(RICursors::get(RICursors::ROTATE)); m_isNavigating = true; m_hasMovedMouseDuringNavigation = false; isEventHandled = true; @@ -113,8 +113,9 @@ bool RiuGeoQuestNavigation::handleInputEvent(QInputEvent* inputEvent) if (m_isRotCenterInitialized) { QMouseEvent * me = static_cast( inputEvent); - int translatedMousePosX = me->x(); - int translatedMousePosY = m_viewer->height() - me->y(); + + int translatedMousePosX, translatedMousePosY; + cvfEventPos(me->x(), me->y(), &translatedMousePosX, &translatedMousePosY); if (m_isNavigating) { @@ -146,19 +147,14 @@ bool RiuGeoQuestNavigation::handleInputEvent(QInputEvent* inputEvent) initializeRotationCenter(); if (m_isRotCenterInitialized) { - QWheelEvent* we = static_cast ( inputEvent); - int translatedMousePosX = we->x(); - int translatedMousePosY = m_viewer->height() - we->y(); - int delta = we->delta(); - - cvf::ref ray; - if (delta < 0) - ray = m_viewer->mainCamera()->rayFromWindowCoordinates(translatedMousePosX, translatedMousePosY); - else - ray = m_viewer->mainCamera()->rayFromWindowCoordinates((int)(1.0*translatedMousePosX), (int)(1.0*translatedMousePosY)); + QWheelEvent* we = static_cast(inputEvent); + + int translatedMousePosX, translatedMousePosY; + cvfEventPos(we->x(), we->y(), &translatedMousePosX, &translatedMousePosY); - zoomAlongRay(ray.p(), -delta); + cvf::ref ray = createZoomRay(translatedMousePosX, translatedMousePosY); + zoomAlongRay(ray.p(), -we->delta()); } isEventHandled = true; } diff --git a/ApplicationCode/UserInterface/RiuLineSegmentQwtPlotCurve.cpp b/ApplicationCode/UserInterface/RiuLineSegmentQwtPlotCurve.cpp index 2716093d55..7eedeb30ff 100644 --- a/ApplicationCode/UserInterface/RiuLineSegmentQwtPlotCurve.cpp +++ b/ApplicationCode/UserInterface/RiuLineSegmentQwtPlotCurve.cpp @@ -20,6 +20,10 @@ #include "RiuLineSegmentQwtPlotCurve.h" #include "qwt_symbol.h" +#include "RigCurveDataTools.h" +#include "qwt_date.h" +#include "qwt_point_mapper.h" +#include "qwt_painter.h" //-------------------------------------------------------------------------------------------------- @@ -28,6 +32,13 @@ RiuLineSegmentQwtPlotCurve::RiuLineSegmentQwtPlotCurve(const QString &title) : QwtPlotCurve(title) { + this->setLegendAttribute(QwtPlotCurve::LegendShowLine, true); + this->setLegendAttribute(QwtPlotCurve::LegendShowSymbol, true); + this->setLegendAttribute(QwtPlotCurve::LegendShowBrush, true); + + this->setRenderHint(QwtPlotItem::RenderAntialiased, true); + + m_symbolSkipPixelDistance = 10.0f; } //-------------------------------------------------------------------------------------------------- @@ -37,6 +48,107 @@ RiuLineSegmentQwtPlotCurve::~RiuLineSegmentQwtPlotCurve() { } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuLineSegmentQwtPlotCurve::setSamplesFromDateAndValues(const std::vector& dateTimes, const std::vector& timeHistoryValues, bool removeNegativeValues) +{ + CVF_ASSERT(dateTimes.size() == timeHistoryValues.size()); + + QPolygonF points; + std::vector< std::pair > filteredIntervals; + { + std::vector filteredTimeHistoryValues; + std::vector filteredDateTimes; + + { + std::vector< std::pair > intervalsOfValidValues; + RigCurveDataTools::calculateIntervalsOfValidValues(timeHistoryValues, &intervalsOfValidValues, removeNegativeValues); + + RigCurveDataTools::getValuesByIntervals(timeHistoryValues, intervalsOfValidValues, &filteredTimeHistoryValues); + RigCurveDataTools::getValuesByIntervals(dateTimes, intervalsOfValidValues, &filteredDateTimes); + + RigCurveDataTools::computePolyLineStartStopIndices(intervalsOfValidValues, &filteredIntervals); + } + + for ( size_t i = 0; i < filteredDateTimes.size(); i++ ) + { + double milliSecSinceEpoch = QwtDate::toDouble(filteredDateTimes[i]); + points << QPointF(milliSecSinceEpoch, filteredTimeHistoryValues[i]); + } + } + + this->setSamples(points); + this->setLineSegmentStartStopIndices(filteredIntervals); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuLineSegmentQwtPlotCurve::setSamplesFromTimeTAndValues(const std::vector& dateTimes, const std::vector& timeHistoryValues, bool removeNegativeValues) +{ + CVF_ASSERT(dateTimes.size() == timeHistoryValues.size()); + + QPolygonF points; + std::vector< std::pair > filteredIntervals; + { + std::vector filteredTimeHistoryValues; + std::vector filteredDateTimes; + + { + std::vector< std::pair > intervalsOfValidValues; + RigCurveDataTools::calculateIntervalsOfValidValues(timeHistoryValues, &intervalsOfValidValues, removeNegativeValues); + + RigCurveDataTools::getValuesByIntervals(timeHistoryValues, intervalsOfValidValues, &filteredTimeHistoryValues); + RigCurveDataTools::getValuesByIntervals(dateTimes, intervalsOfValidValues, &filteredDateTimes); + + RigCurveDataTools::computePolyLineStartStopIndices(intervalsOfValidValues, &filteredIntervals); + } + + for (size_t i = 0; i < filteredDateTimes.size(); i++) + { + double milliSecSinceEpoch = filteredDateTimes[i] * 1000; // This is kind of hack, as the c++ standard does not state what time_t is. "Almost always" secs since epoch according to cppreference.com + points << QPointF(milliSecSinceEpoch, filteredTimeHistoryValues[i]); + } + } + + this->setSamples(points); + this->setLineSegmentStartStopIndices(filteredIntervals); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuLineSegmentQwtPlotCurve::setSamplesFromTimeAndValues(const std::vector& times, const std::vector& timeHistoryValues, bool removeNegativeValues) +{ + CVF_ASSERT(times.size() == timeHistoryValues.size()); + + QPolygonF points; + std::vector< std::pair > filteredIntervals; + { + std::vector filteredTimeHistoryValues; + std::vector filteredTimes; + + { + std::vector< std::pair > intervalsOfValidValues; + RigCurveDataTools::calculateIntervalsOfValidValues(timeHistoryValues, &intervalsOfValidValues, removeNegativeValues); + + RigCurveDataTools::getValuesByIntervals(timeHistoryValues, intervalsOfValidValues, &filteredTimeHistoryValues); + RigCurveDataTools::getValuesByIntervals(times, intervalsOfValidValues, &filteredTimes); + + RigCurveDataTools::computePolyLineStartStopIndices(intervalsOfValidValues, &filteredIntervals); + } + + for ( size_t i = 0; i < filteredTimes.size(); i++ ) + { + points << QPointF(filteredTimes[i], filteredTimeHistoryValues[i]); + } + } + + this->setSamples(points); + this->setLineSegmentStartStopIndices(filteredIntervals); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -71,6 +183,60 @@ void RiuLineSegmentQwtPlotCurve::drawCurve(QPainter* p, int style, } }; +//-------------------------------------------------------------------------------------------------- +/// Drawing symbols but skipping if they are to close to the previous one +//-------------------------------------------------------------------------------------------------- +void RiuLineSegmentQwtPlotCurve::drawSymbols(QPainter *painter, const QwtSymbol &symbol, + const QwtScaleMap &xMap, const QwtScaleMap &yMap, + const QRectF &canvasRect, int from, int to) const +{ + if (m_symbolSkipPixelDistance <= 0) + { + QwtPlotCurve::drawSymbols(painter, symbol, xMap, yMap, canvasRect, from, to); + return; + } + + QwtPointMapper mapper; + mapper.setFlag(QwtPointMapper::RoundPoints, + QwtPainter::roundingAlignment(painter)); + mapper.setFlag(QwtPointMapper::WeedOutPoints, + testPaintAttribute(QwtPlotCurve::FilterPoints)); + mapper.setBoundingRect(canvasRect); + + const QPolygonF points = mapper.toPointsF(xMap, yMap, + data(), from, to); + int pointCount = points.size(); + + QPolygonF filteredPoints; + QPointF lastDrawnSymbolPos; + + if (pointCount > 0) + { + filteredPoints.push_back(points[0]); + lastDrawnSymbolPos = points[0]; + } + + float sqSkipDist = m_symbolSkipPixelDistance*m_symbolSkipPixelDistance; + + for(int pIdx = 1; pIdx < pointCount -1 ; ++pIdx) + { + QPointF diff = points[pIdx] - lastDrawnSymbolPos; + float sqDistBetweenSymbols = diff.x()*diff.x() + diff.y()*diff.y(); + + if(sqDistBetweenSymbols > sqSkipDist) + { + filteredPoints.push_back(points[pIdx]); + lastDrawnSymbolPos = points[pIdx]; + } + } + + if(pointCount > 1) filteredPoints.push_back(points.back()); + + + if(filteredPoints.size() > 0) + symbol.drawSymbols(painter, filteredPoints); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -78,3 +244,11 @@ void RiuLineSegmentQwtPlotCurve::setLineSegmentStartStopIndices(const std::vecto { m_polyLineStartStopIndices = lineSegmentStartStopIndices; } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuLineSegmentQwtPlotCurve::setSymbolSkipPixelDistance(float distance) +{ + m_symbolSkipPixelDistance = distance >= 0.0f ? distance: 0.0f; +} diff --git a/ApplicationCode/UserInterface/RiuLineSegmentQwtPlotCurve.h b/ApplicationCode/UserInterface/RiuLineSegmentQwtPlotCurve.h index 084eb376d9..4cd4235b74 100644 --- a/ApplicationCode/UserInterface/RiuLineSegmentQwtPlotCurve.h +++ b/ApplicationCode/UserInterface/RiuLineSegmentQwtPlotCurve.h @@ -47,13 +47,29 @@ class RiuLineSegmentQwtPlotCurve : public QwtPlotCurve explicit RiuLineSegmentQwtPlotCurve(const QString &title = QString::null); virtual ~RiuLineSegmentQwtPlotCurve(); - void setLineSegmentStartStopIndices(const std::vector< std::pair >& lineSegmentStartStopIndices); + void setSamplesFromDateAndValues(const std::vector& dateTimes, const std::vector& timeHistoryValues, bool removeNegativeValues); + void setSamplesFromTimeTAndValues(const std::vector& dateTimes, const std::vector& timeHistoryValues, bool removeNegativeValues); + void setSamplesFromTimeAndValues(const std::vector& times, const std::vector& timeHistoryValues, bool removeNegativeValues); + + void setLineSegmentStartStopIndices(const std::vector< std::pair >& lineSegmentStartStopIndices); + + void setSymbolSkipPixelDistance(float distance); + protected: virtual void drawCurve(QPainter* p, int style, const QwtScaleMap& xMap, const QwtScaleMap& yMap, - const QRectF& canvasRect, int from, int to) const; + const QRectF& canvasRect, + int from, int to) const; + + virtual void drawSymbols(QPainter *p, const QwtSymbol &symbol, + const QwtScaleMap &xMap, + const QwtScaleMap &yMap, + const QRectF &canvasRect, + int from, int to) const override; + private: std::vector< std::pair > m_polyLineStartStopIndices; + float m_symbolSkipPixelDistance; }; diff --git a/ApplicationCode/UserInterface/RiuMainPlotWindow.cpp b/ApplicationCode/UserInterface/RiuMainPlotWindow.cpp new file mode 100644 index 0000000000..6d5f930c4c --- /dev/null +++ b/ApplicationCode/UserInterface/RiuMainPlotWindow.cpp @@ -0,0 +1,777 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RiuMainPlotWindow.h" + +#include "RiaApplication.h" +#include "RiaBaseDefs.h" +#include "RiaPreferences.h" + +#include "RimProject.h" +#include "RimSummaryPlot.h" +#include "RimTreeViewStateSerializer.h" +#include "RimViewWindow.h" +#include "RimWellLogPlot.h" + +#include "RiuDragDrop.h" +#include "RiuMdiSubWindow.h" +#include "RiuSummaryQwtPlot.h" +#include "RiuToolTipMenu.h" +#include "RiuTreeViewEventFilter.h" +#include "RiuWellLogPlot.h" + +#include "cafCmdFeatureManager.h" +#include "cafPdmUiPropertyView.h" +#include "cafPdmUiTreeView.h" + +#include +#include +#include +#include +#include +#include +#include + +//================================================================================================== +/// +/// \class RiuMainPlotWindow +/// +/// Contains our main window +/// +//================================================================================================== + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuMainPlotWindow::RiuMainPlotWindow() + : m_pdmRoot(NULL), + m_mainViewer(NULL), + m_windowMenu(NULL), + m_blockSlotSubWindowActivated(false) +{ + m_mdiArea = new QMdiArea; + m_mdiArea->setOption(QMdiArea::DontMaximizeSubWindowOnActivation, true); + connect(m_mdiArea, SIGNAL(subWindowActivated(QMdiSubWindow *)), SLOT(slotSubWindowActivated(QMdiSubWindow*))); + setCentralWidget(m_mdiArea); + + //m_mainViewer = createViewer(); + + createActions(); + createMenus(); + createToolBars(); + createDockPanels(); + + // Store the layout so we can offer reset option + m_initialDockAndToolbarLayout = saveState(0); + + m_dragDropInterface = std::unique_ptr(new RiuDragDrop()); + + initializeGuiNewProjectLoaded(); + + // Enabling the line below will activate the undo stack + // When enableUndoCommandSystem is set false, all commands are executed and deleted immediately + //caf::CmdExecCommandManager::instance()->enableUndoCommandSystem(true); + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::initializeGuiNewProjectLoaded() +{ + setPdmRoot(RiaApplication::instance()->project()); + restoreTreeViewState(); + + refreshToolbars(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::cleanupGuiBeforeProjectClose() +{ + setPdmRoot(NULL); + + if (m_pdmUiPropertyView) + { + m_pdmUiPropertyView->showProperties(NULL); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::closeEvent(QCloseEvent* event) +{ + saveWinGeoAndDockToolBarLayout(); + + if (!RiaApplication::instance()->tryCloseMainWindow()) return; + + RiaApplication::instance()->closeProject(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::createActions() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::createMenus() +{ + caf::CmdFeatureManager* cmdFeatureMgr = caf::CmdFeatureManager::instance(); + + // File menu + QMenu* fileMenu = new RiuToolTipMenu(menuBar()); + fileMenu->setTitle("&File"); + + menuBar()->addMenu(fileMenu); + + fileMenu->addAction(cmdFeatureMgr->action("RicOpenProjectFeature")); + fileMenu->addAction(cmdFeatureMgr->action("RicOpenLastUsedFileFeature")); + fileMenu->addSeparator(); + + QMenu* importMenu = fileMenu->addMenu("&Import"); + importMenu->addAction(cmdFeatureMgr->action("RicImportEclipseCaseFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicImportInputEclipseCaseFeature")); + //importMenu->addAction(cmdFeatureMgr->action("RicImportInputEclipseCaseOpmFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicImportSummaryCaseFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicCreateGridCaseGroupFeature")); + importMenu->addSeparator(); +#ifdef USE_ODB_API + importMenu->addAction(cmdFeatureMgr->action("RicImportGeoMechCaseFeature")); + importMenu->addSeparator(); +#endif + importMenu->addAction(cmdFeatureMgr->action("RicWellPathsImportFileFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicWellPathsImportSsihubFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicWellLogsImportFileFeature")); + importMenu->addSeparator(); + importMenu->addAction(cmdFeatureMgr->action("RicImportFormationNamesFeature")); + + QMenu* exportMenu = fileMenu->addMenu("&Export"); + exportMenu->addAction(cmdFeatureMgr->action("RicSnapshotViewToFileFeature")); + exportMenu->addAction(cmdFeatureMgr->action("RicSnapshotAllPlotsToFileFeature")); + + fileMenu->addSeparator(); + fileMenu->addAction(cmdFeatureMgr->action("RicSaveProjectFeature")); + fileMenu->addAction(cmdFeatureMgr->action("RicSaveProjectAsFeature")); + + std::vector recentFileActions = RiaApplication::instance()->recentFileActions(); + for (auto act : recentFileActions) + { + fileMenu->addAction(act); + } + + fileMenu->addSeparator(); + fileMenu->addAction(cmdFeatureMgr->action("RicCloseProjectFeature")); + fileMenu->addSeparator(); + fileMenu->addAction(cmdFeatureMgr->action("RicExitApplicationFeature")); + + // Edit menu + QMenu* editMenu = menuBar()->addMenu("&Edit"); + editMenu->addAction(cmdFeatureMgr->action("RicSnapshotViewToClipboardFeature")); + editMenu->addAction(cmdFeatureMgr->action("RicSnapshotViewToFileFeature")); + editMenu->addSeparator(); + editMenu->addAction(cmdFeatureMgr->action("RicEditPreferencesFeature")); + + // View menu + QMenu* viewMenu = menuBar()->addMenu("&View"); + viewMenu->addAction(cmdFeatureMgr->action("RicViewZoomAllFeature")); + + // Windows menu + m_windowMenu = menuBar()->addMenu("&Windows"); + connect(m_windowMenu, SIGNAL(aboutToShow()), SLOT(slotBuildWindowActions())); + + // Help menu + QMenu* helpMenu = menuBar()->addMenu("&Help"); + helpMenu->addAction(cmdFeatureMgr->action("RicHelpAboutFeature")); + helpMenu->addAction(cmdFeatureMgr->action("RicHelpCommandLineFeature")); + helpMenu->addSeparator(); + helpMenu->addAction(cmdFeatureMgr->action("RicHelpOpenUsersGuideFeature")); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QStringList RiuMainPlotWindow::toolbarCommandIds(const QString& toolbarName) +{ + QStringList commandIds; + + if (toolbarName.isEmpty() || toolbarName == "Standard") + { + commandIds << "RicImportEclipseCaseFeature"; + commandIds << "RicImportInputEclipseCaseFeature"; + commandIds << "RicImportSummaryCaseFeature"; + commandIds << "RicOpenProjectFeature"; + commandIds << "RicSaveProjectFeature"; + } + + if (toolbarName.isEmpty() || toolbarName == "Window Management") + { + commandIds << "RicShowMainWindowFeature"; + commandIds << "RicTilePlotWindowsFeature"; + } + + if (toolbarName.isEmpty() || toolbarName == "View Snapshots") + { + commandIds << "RicSnapshotViewToClipboardFeature"; + commandIds << "RicSnapshotViewToFileFeature"; + commandIds << "RicSnapshotAllPlotsToFileFeature"; + } + + if (toolbarName.isEmpty() || toolbarName == "View") + { + commandIds << "RicViewZoomAllFeature"; + } + + return commandIds; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::createToolBars() +{ + caf::CmdFeatureManager* cmdFeatureMgr = caf::CmdFeatureManager::instance(); + CVF_ASSERT(cmdFeatureMgr); + + QStringList toolbarNames; + toolbarNames << "Standard" << "Window Management" << "View Snapshots" << "View"; + + for (QString toolbarName : toolbarNames) + { + QToolBar* toolbar = addToolBar(toolbarName); + toolbar->setObjectName(toolbar->windowTitle()); + + QStringList toolbarCommands = toolbarCommandIds(toolbarName); + for (QString s : toolbarCommands) + { + toolbar->addAction(cmdFeatureMgr->action(s)); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::refreshToolbars() +{ + QStringList allToolbarCommandNames = toolbarCommandIds(); + + caf::CmdFeatureManager::instance()->refreshEnabledState(allToolbarCommandNames); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::createDockPanels() +{ + { + QDockWidget* dockWidget = new QDockWidget("Plot Object Project Tree", this); + dockWidget->setObjectName("dockWidget"); + dockWidget->setAllowedAreas(Qt::AllDockWidgetAreas); + + m_projectTreeView = new caf::PdmUiTreeView(this); + m_projectTreeView->enableSelectionManagerUpdating(true); + + RiaApplication* app = RiaApplication::instance(); + m_projectTreeView->enableAppendOfClassNameToUiItemText(app->preferences()->appendClassNameToUiText()); + + dockWidget->setWidget(m_projectTreeView); + + m_projectTreeView->treeView()->setHeaderHidden(true); + m_projectTreeView->treeView()->setSelectionMode(QAbstractItemView::ExtendedSelection); + + // Drag and drop configuration + m_projectTreeView->treeView()->setDragEnabled(true); + m_projectTreeView->treeView()->viewport()->setAcceptDrops(true); + m_projectTreeView->treeView()->setDropIndicatorShown(true); + m_projectTreeView->treeView()->setDragDropMode(QAbstractItemView::DragDrop); + + // Install event filter used to handle key press events + RiuTreeViewEventFilter* treeViewEventFilter = new RiuTreeViewEventFilter(this); + m_projectTreeView->treeView()->installEventFilter(treeViewEventFilter); + + addDockWidget(Qt::LeftDockWidgetArea, dockWidget); + + connect(m_projectTreeView, SIGNAL(selectionChanged()), this, SLOT(selectedObjectsChanged())); + m_projectTreeView->treeView()->setContextMenuPolicy(Qt::CustomContextMenu); + connect(m_projectTreeView->treeView(), SIGNAL(customContextMenuRequested(const QPoint&)), SLOT(customMenuRequested(const QPoint&))); + + m_projectTreeView->setUiConfigurationName("PlotWindow"); + } + + { + QDockWidget* dockWidget = new QDockWidget("Property Editor", this); + dockWidget->setObjectName("dockWidget"); + dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); + + m_pdmUiPropertyView = new caf::PdmUiPropertyView(dockWidget); + dockWidget->setWidget(m_pdmUiPropertyView); + + m_pdmUiPropertyView->layout()->setContentsMargins(5,0,0,0); + + addDockWidget(Qt::LeftDockWidgetArea, dockWidget); + } + + setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::BottomRightCorner, Qt::BottomDockWidgetArea); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- + +QMdiSubWindow* RiuMainPlotWindow::findMdiSubWindow(QWidget* viewer) +{ + QList subws = m_mdiArea->subWindowList(); + int i; + for (i = 0; i < subws.size(); ++i) + { + if (subws[i]->widget() == viewer) + { + return subws[i]; + } + } + + return NULL; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QList RiuMainPlotWindow::subWindowList(QMdiArea::WindowOrder order) +{ + return m_mdiArea->subWindowList(order); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::removeViewer(QWidget* viewer) +{ + m_blockSlotSubWindowActivated = true; + m_mdiArea->removeSubWindow(findMdiSubWindow(viewer)); + m_blockSlotSubWindowActivated = false; + + refreshToolbars(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::addViewer(QWidget* viewer, const RimMdiWindowGeometry& windowsGeometry) +{ + RiuMdiSubWindow* subWin = new RiuMdiSubWindow(m_mdiArea); + subWin->setAttribute(Qt::WA_DeleteOnClose); // Make sure the contained widget is destroyed when the MDI window is closed + subWin->setWidget(viewer); + + QSize subWindowSize; + QPoint subWindowPos(-1, -1); + bool initialStateMaximized = false; + + if (windowsGeometry.isValid()) + { + subWindowPos = QPoint(windowsGeometry.x, windowsGeometry.y); + subWindowSize = QSize(windowsGeometry.width, windowsGeometry.height); + + initialStateMaximized = windowsGeometry.isMaximized; + } + else + { + RiuWellLogPlot* wellLogPlot = dynamic_cast(subWin->widget()); + if (wellLogPlot) + { + subWindowSize = QSize(275, m_mdiArea->height()); + } + else + { + subWindowSize = QSize(400, 400); + + if (m_mdiArea->subWindowList().size() < 1) + { + // Show first 3D view maximized + initialStateMaximized = true; + } + } + } + + if (m_mdiArea->currentSubWindow() && m_mdiArea->currentSubWindow()->isMaximized()) + { + initialStateMaximized = true; + } + + subWin->show(); + + // Move and resize must be done after window is visible + // If not, the position and size of the window is different to specification (Windows 7) + // Might be a Qt bug, must be tested on Linux + if (subWindowPos.x() > -1) + { + subWin->move(subWindowPos); + } + subWin->resize(subWindowSize); + + if (initialStateMaximized) + { + subWin->showMaximized(); + } + + refreshToolbars(); +} + +//-------------------------------------------------------------------------------------------------- +/// This method needs to handle memory deallocation !!! +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::setPdmRoot(caf::PdmObject* pdmRoot) +{ + m_pdmRoot = pdmRoot; + + m_projectTreeView->setPdmItem(pdmRoot); + // For debug only : m_projectTreeView->treeView()->expandAll(); + m_projectTreeView->setDragDropInterface(m_dragDropInterface.get()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::slotSubWindowActivated(QMdiSubWindow* subWindow) +{ + if (!subWindow) return; + if (m_blockSlotSubWindowActivated) return; + + RimProject * proj = RiaApplication::instance()->project(); + if (!proj) return; + + { + RiuWellLogPlot* wellLogPlotViewer = dynamic_cast(subWindow->widget()); + if (wellLogPlotViewer) + { + RimWellLogPlot* wellLogPlot = wellLogPlotViewer->ownerPlotDefinition(); + + if (wellLogPlot != RiaApplication::instance()->activeWellLogPlot()) + { + RiaApplication::instance()->setActiveWellLogPlot(wellLogPlot); + projectTreeView()->selectAsCurrentItem(wellLogPlot); + } + } + else + { + RiaApplication::instance()->setActiveWellLogPlot(NULL); + } + } + + { + RiuSummaryQwtPlot* summaryPlotViewer = dynamic_cast(subWindow->widget()); + if (summaryPlotViewer) + { + RimSummaryPlot* summaryPlot = summaryPlotViewer->ownerPlotDefinition(); + + if (summaryPlot != RiaApplication::instance()->activeSummaryPlot()) + { + RiaApplication::instance()->setActiveSummaryPlot(summaryPlot); + projectTreeView()->selectAsCurrentItem(summaryPlot); + } + } + else + { + RiaApplication::instance()->setActiveSummaryPlot(NULL); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::setActiveViewer(QWidget* viewer) +{ + m_blockSlotSubWindowActivated = true; + + QMdiSubWindow * swin = findMdiSubWindow(viewer); + if (swin) m_mdiArea->setActiveSubWindow(swin); + + m_blockSlotSubWindowActivated = false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::slotBuildWindowActions() +{ + m_windowMenu->clear(); + + QList dockWidgets = findChildren(); + + int i = 0; + foreach (QDockWidget* dock, dockWidgets) + { + if (dock) + { + if (i == 4) m_windowMenu->addSeparator(); + m_windowMenu->addAction(dock->toggleViewAction()); + ++i; + } + } + + m_windowMenu->addSeparator(); + QAction* cascadeWindowsAction = new QAction("Cascade Windows", this); + connect(cascadeWindowsAction, SIGNAL(triggered()), m_mdiArea, SLOT(cascadeSubWindows())); + + QAction* closeAllSubWindowsAction = new QAction("Close All Windows", this); + connect(closeAllSubWindowsAction, SIGNAL(triggered()), m_mdiArea, SLOT(closeAllSubWindows())); + + m_windowMenu->addAction(caf::CmdFeatureManager::instance()->action("RicTilePlotWindowsFeature")); + m_windowMenu->addAction(cascadeWindowsAction); + m_windowMenu->addAction(closeAllSubWindowsAction); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::selectedObjectsChanged() +{ + std::vector uiItems; + m_projectTreeView->selectedUiItems(uiItems); + + caf::PdmObjectHandle* firstSelectedObject = NULL; + + if (uiItems.size() == 1) + { + firstSelectedObject = dynamic_cast(uiItems[0]); + } + m_pdmUiPropertyView->showProperties(firstSelectedObject); + + if (uiItems.size() == 1) + { + // Find the reservoir view or the Plot that the selected item is within + + if (!firstSelectedObject) + { + caf::PdmFieldHandle* selectedField = dynamic_cast(uiItems[0]); + if (selectedField) firstSelectedObject = selectedField->ownerObject(); + } + + if (!firstSelectedObject) return; + + // Well log plot + + bool isActiveWellLogPlotChanged = false; + + RimWellLogPlot* selectedWellLogPlot = dynamic_cast(firstSelectedObject); + + if (!selectedWellLogPlot) + { + firstSelectedObject->firstAncestorOrThisOfType(selectedWellLogPlot); + } + + if (selectedWellLogPlot) + { + if (selectedWellLogPlot->viewWidget()) + { + setActiveViewer(selectedWellLogPlot->viewWidget()); + } + isActiveWellLogPlotChanged = true; + } + + if (isActiveWellLogPlotChanged) + { + RiaApplication::instance()->setActiveWellLogPlot(selectedWellLogPlot); + } + + // Summary plot + + bool isActiveSummaryPlotChanged = false; + + RimSummaryPlot* selectedSummaryPlot = dynamic_cast(firstSelectedObject); + + if (!selectedSummaryPlot) + { + firstSelectedObject->firstAncestorOrThisOfType(selectedSummaryPlot); + } + + if (selectedSummaryPlot) + { + if (selectedSummaryPlot->viewWidget()) + { + setActiveViewer(selectedSummaryPlot->viewWidget()); + } + isActiveSummaryPlotChanged = true; + } + + if (isActiveSummaryPlotChanged) + { + RiaApplication::instance()->setActiveSummaryPlot(selectedSummaryPlot); + } + + if (isActiveWellLogPlotChanged || isActiveSummaryPlotChanged) + { + // The only way to get to this code is by selection change initiated from the project tree view + // As we are activating an MDI-window, the focus is given to this MDI-window + // Set focus back to the tree view to be able to continue keyboard tree view navigation + m_projectTreeView->treeView()->setFocus(); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::hideAllDockWindows() +{ + QList dockWidgets = findChildren(); + + for (int i = 0; i < dockWidgets.size(); i++) + { + dockWidgets[i]->close(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::restoreTreeViewState() +{ + if (m_projectTreeView) + { + QString stateString = RiaApplication::instance()->project()->plotWindowTreeViewState; + if (!stateString.isEmpty()) + { + m_projectTreeView->treeView()->collapseAll(); + RimTreeViewStateSerializer::applyTreeViewStateFromString(m_projectTreeView->treeView(), stateString); + } + + QString currentIndexString = RiaApplication::instance()->project()->plotWindowCurrentModelIndexPath; + if (!currentIndexString.isEmpty()) + { + QModelIndex mi = RimTreeViewStateSerializer::getModelIndexFromString(m_projectTreeView->treeView()->model(), currentIndexString); + m_projectTreeView->treeView()->setCurrentIndex(mi); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::selectAsCurrentItem(caf::PdmObject* object) +{ + m_projectTreeView->selectAsCurrentItem(object); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::setDefaultWindowSize() +{ + resize(1000, 810); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::setExpanded(const caf::PdmUiItem* uiItem, bool expanded) +{ + m_projectTreeView->setExpanded(uiItem, expanded); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::customMenuRequested(const QPoint& pos) +{ + QMenu menu; + + RiaApplication* app = RiaApplication::instance(); + app->project()->actionsBasedOnSelection(menu); + + // Qt doc: QAbstractScrollArea and its subclasses that map the context menu event to coordinates of the viewport(). + // Since we might get this signal from different treeViews, we need to map the position accordingly. + QObject* senderObj = this->sender(); + QTreeView* treeView = dynamic_cast(senderObj); + if (treeView) + { + QPoint globalPos = treeView->viewport()->mapToGlobal(pos); + menu.exec(globalPos); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimMdiWindowGeometry RiuMainPlotWindow::windowGeometryForViewer(QWidget* viewer) +{ + QMdiSubWindow* mdiWindow = findMdiSubWindow(viewer); + if (mdiWindow) + { + return windowGeometryForWidget(mdiWindow); + } + + RimMdiWindowGeometry geo; + return geo; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimMdiWindowGeometry RiuMainPlotWindow::windowGeometryForWidget(QWidget* widget) +{ + RimMdiWindowGeometry geo; + + if (widget) + { + geo.x = widget->pos().x(); + geo.y = widget->pos().y(); + geo.width = widget->size().width(); + geo.height = widget->size().height(); + geo.isMaximized = widget->isMaximized(); + } + + return geo; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainPlotWindow::tileWindows() +{ + // Based on workaround described here + // https://forum.qt.io/topic/50053/qmdiarea-tilesubwindows-always-places-widgets-in-activationhistoryorder-in-subwindowview-mode + + QMdiSubWindow *a = m_mdiArea->activeSubWindow(); + QList list = m_mdiArea->subWindowList(m_mdiArea->activationOrder()); + for (int i = 0; i < list.count(); i++) + { + m_mdiArea->setActiveSubWindow(list[i]); + } + + m_mdiArea->tileSubWindows(); + m_mdiArea->setActiveSubWindow(a); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RiuMainPlotWindow::isAnyMdiSubWindowVisible() +{ + return m_mdiArea->subWindowList().size() > 0; +} + diff --git a/ApplicationCode/UserInterface/RiuMainPlotWindow.h b/ApplicationCode/UserInterface/RiuMainPlotWindow.h new file mode 100644 index 0000000000..77f3fd2a89 --- /dev/null +++ b/ApplicationCode/UserInterface/RiuMainPlotWindow.h @@ -0,0 +1,127 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "RiuMainWindowBase.h" + +#include "cafPdmUiDragDropInterface.h" + +#include + +#include + +class QMdiSubWindow; + +class RiuViewer; + +struct RimMdiWindowGeometry; + +namespace caf +{ + class PdmUiTreeView; + class PdmObject; + class PdmUiPropertyView; + class PdmUiItem; +} + +//================================================================================================== +// +// +// +//================================================================================================== +class RiuMainPlotWindow : public RiuMainWindowBase +{ + Q_OBJECT + +public: + RiuMainPlotWindow(); + + virtual QString mainWindowName() { return "RiuMainPlotWindow"; } + + void initializeGuiNewProjectLoaded(); + void cleanupGuiBeforeProjectClose(); + + void removeViewer( QWidget* viewer ); + void addViewer(QWidget* viewer, const RimMdiWindowGeometry& windowsGeometry); + void setActiveViewer(QWidget* subWindow); + + caf::PdmUiTreeView* projectTreeView() { return m_projectTreeView;} + + void hideAllDockWindows(); + + void selectAsCurrentItem(caf::PdmObject* object); + + void setDefaultWindowSize(); + + void setExpanded(const caf::PdmUiItem* uiItem, bool expanded); + + RimMdiWindowGeometry windowGeometryForViewer(QWidget* viewer); + RimMdiWindowGeometry windowGeometryForWidget(QWidget* widget); + + void tileWindows(); + bool isAnyMdiSubWindowVisible(); + QMdiSubWindow* findMdiSubWindow(QWidget* viewer); + QList subWindowList(QMdiArea::WindowOrder order); + +protected: + virtual void closeEvent(QCloseEvent* event); + +private: + void setPdmRoot(caf::PdmObject* pdmRoot); + + void createActions(); + void createMenus(); + void createToolBars(); + void createDockPanels(); + + void restoreTreeViewState(); + + void refreshToolbars(); + + static QStringList toolbarCommandIds(const QString& toolbarName = ""); + + +private slots: + + friend class RiuMdiSubWindow; + + void slotBuildWindowActions(); + + void slotSubWindowActivated(QMdiSubWindow* subWindow); + + void selectedObjectsChanged(); + void customMenuRequested(const QPoint& pos); + +private: + QByteArray m_initialDockAndToolbarLayout; // Initial dock window and toolbar layout, used to reset GUI + + QMdiArea* m_mdiArea; + RiuViewer* m_mainViewer; + + QMenu* m_windowMenu; + + caf::PdmUiTreeView* m_projectTreeView; + + std::unique_ptr m_dragDropInterface; + + caf::PdmObject* m_pdmRoot; + caf::PdmUiPropertyView* m_pdmUiPropertyView; + + bool m_blockSlotSubWindowActivated; +}; diff --git a/ApplicationCode/UserInterface/RiuMainWindow.cpp b/ApplicationCode/UserInterface/RiuMainWindow.cpp index cc6283c46b..dd6725fca5 100644 --- a/ApplicationCode/UserInterface/RiuMainWindow.cpp +++ b/ApplicationCode/UserInterface/RiuMainWindow.cpp @@ -25,75 +25,47 @@ #include "RiaPreferences.h" #include "RiaRegressionTest.h" -#include "RigCaseCellResultsData.h" -#include "RigFemPartResultsCollection.h" -#include "RigGeoMechCaseData.h" - -#include "RimCaseCollection.h" #include "RimCommandObject.h" #include "RimEclipseCase.h" -#include "RimEclipseCaseCollection.h" -#include "RimEclipseCellColors.h" -#include "RimEclipsePropertyFilterCollection.h" #include "RimEclipseView.h" #include "RimEclipseWellCollection.h" #include "RimFaultCollection.h" #include "RimGeoMechCase.h" -#include "RimGeoMechCellColors.h" -#include "RimGeoMechModels.h" -#include "RimGeoMechView.h" #include "RimGeoMechView.h" -#include "RimMainPlotCollection.h" -#include "RimOilField.h" #include "RimProject.h" -#include "RimReservoirCellResultsStorage.h" -#include "RimTools.h" #include "RimTreeViewStateSerializer.h" -#include "RimWellLogPlot.h" -#include "RimWellLogPlotCollection.h" -#include "RimWellPathImport.h" +#include "RimView.h" #include "RiuDragDrop.h" -#include "RiuMultiCaseImportDialog.h" +#include "RiuMdiSubWindow.h" #include "RiuProcessMonitor.h" #include "RiuProjectPropertyView.h" +#include "RiuPropertyViewTabWidget.h" #include "RiuResultInfoPanel.h" #include "RiuResultQwtPlot.h" +#include "RiuToolTipMenu.h" #include "RiuTreeViewEventFilter.h" #include "RiuViewer.h" -#include "RiuWellImportWizard.h" -#include "RiuWellLogPlot.h" -#include "cafAboutDialog.h" #include "cafAnimationToolBar.h" #include "cafCmdExecCommandManager.h" #include "cafCmdFeatureManager.h" -#include "cafPdmDefaultObjectFactory.h" -#include "cafPdmFieldCvfMat4d.h" -#include "cafPdmObjectGroup.h" #include "cafPdmSettings.h" #include "cafPdmUiPropertyView.h" #include "cafPdmUiPropertyViewDialog.h" #include "cafPdmUiTreeView.h" #include "cafSelectionManager.h" -#include "cvfTimer.h" #include #include -#include +#include #include -#include -#include -#include #include #include -#include #include -#include #include #include -#include -#include +#include #include #include @@ -138,7 +110,7 @@ RiuMainWindow::RiuMainWindow() sm_mainWindowInstance = this; - m_dragDropInterface = new RiuDragDrop; + m_dragDropInterface = std::unique_ptr(new RiuDragDrop()); initializeGuiNewProjectLoaded(); @@ -175,15 +147,14 @@ void RiuMainWindow::initializeGuiNewProjectLoaded() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiuMainWindow::cleanupGuiBeforeProjectClose() +void RiuMainWindow::cleanupGuiCaseClose() { caf::CmdExecCommandManager::instance()->undoStack()->clear(); - setPdmRoot(NULL); setResultInfo(""); m_resultQwtPlot->deleteAllCurves(); - + if (m_pdmUiPropertyView) { m_pdmUiPropertyView->showProperties(NULL); @@ -203,17 +174,25 @@ void RiuMainWindow::cleanupGuiBeforeProjectClose() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiuMainWindow::closeEvent(QCloseEvent* event) +void RiuMainWindow::cleanupGuiBeforeProjectClose() { - if (!RiaApplication::instance()->closeProject(true)) - { - event->ignore(); - return; - } + setPdmRoot(NULL); - delete m_dragDropInterface; - + cleanupGuiCaseClose(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainWindow::closeEvent(QCloseEvent* event) +{ saveWinGeoAndDockToolBarLayout(); + + RiaApplication* app = RiaApplication::instance(); + + if (!app->tryClosePlotWindow()) return; + + RiaApplication::instance()->closeProject(); event->accept(); } @@ -224,69 +203,30 @@ void RiuMainWindow::closeEvent(QCloseEvent* event) void RiuMainWindow::createActions() { // File actions - m_openProjectAction = new QAction(style()->standardIcon(QStyle::SP_DirOpenIcon), "&Open Project", this); - m_openLastUsedProjectAction = new QAction("Open &Last Used Project", this); - - m_importGeoMechCaseAction = new QAction(QIcon(":/GeoMechCase48x48.png"), "Import &Geo Mechanical Model", this); - m_mockModelAction = new QAction("&Mock Model", this); m_mockResultsModelAction = new QAction("Mock Model With &Results", this); m_mockLargeResultsModelAction = new QAction("Large Mock Model", this); m_mockModelCustomizedAction = new QAction("Customized Mock Model", this); m_mockInputModelAction = new QAction("Input Mock Model", this); - m_snapshotToFile = new QAction(QIcon(":/SnapShotSave.png"), "Snapshot To File", this); - m_snapshotToClipboard = new QAction(QIcon(":/SnapShot.png"), "Copy Snapshot To Clipboard", this); m_snapshotAllViewsToFile = new QAction(QIcon(":/SnapShotSaveViews.png"), "Snapshot All Views To File", this); m_createCommandObject = new QAction("Create Command Object", this); m_showRegressionTestDialog = new QAction("Regression Test Dialog", this); m_executePaintEventPerformanceTest = new QAction("&Paint Event Performance Test", this); - m_saveProjectAction = new QAction(QIcon(":/Save.png"), "&Save Project", this); - m_saveProjectAsAction = new QAction(QIcon(":/Save.png"), "Save Project &As", this); - - m_closeProjectAction = new QAction("&Close Project", this); - - for (int i = 0; i < MaxRecentFiles; ++i) - { - m_recentFileActions[i] = new QAction(this); - m_recentFileActions[i]->setVisible(false); - connect(m_recentFileActions[i], SIGNAL(triggered()), this, SLOT(slotOpenRecentFile())); - } - - m_exitAction = new QAction("E&xit", this); - - connect(m_openProjectAction, SIGNAL(triggered()), SLOT(slotOpenProject())); - connect(m_openLastUsedProjectAction, SIGNAL(triggered()), SLOT(slotOpenLastUsedProject())); - - connect(m_importGeoMechCaseAction, SIGNAL(triggered()), SLOT(slotImportGeoMechModel())); - connect(m_mockModelAction, SIGNAL(triggered()), SLOT(slotMockModel())); connect(m_mockResultsModelAction, SIGNAL(triggered()), SLOT(slotMockResultsModel())); connect(m_mockLargeResultsModelAction, SIGNAL(triggered()), SLOT(slotMockLargeResultsModel())); connect(m_mockModelCustomizedAction, SIGNAL(triggered()), SLOT(slotMockModelCustomized())); connect(m_mockInputModelAction, SIGNAL(triggered()), SLOT(slotInputMockModel())); - connect(m_snapshotToFile, SIGNAL(triggered()), SLOT(slotSnapshotToFile())); - connect(m_snapshotToClipboard, SIGNAL(triggered()), SLOT(slotSnapshotToClipboard())); connect(m_snapshotAllViewsToFile, SIGNAL(triggered()), SLOT(slotSnapshotAllViewsToFile())); connect(m_createCommandObject, SIGNAL(triggered()), SLOT(slotCreateCommandObject())); connect(m_showRegressionTestDialog, SIGNAL(triggered()), SLOT(slotShowRegressionTestDialog())); connect(m_executePaintEventPerformanceTest, SIGNAL(triggered()), SLOT(slotExecutePaintEventPerformanceTest())); - connect(m_saveProjectAction, SIGNAL(triggered()), SLOT(slotSaveProject())); - connect(m_saveProjectAsAction, SIGNAL(triggered()), SLOT(slotSaveProjectAs())); - - connect(m_closeProjectAction, SIGNAL(triggered()), SLOT(slotCloseProject())); - - connect(m_exitAction, SIGNAL(triggered()), QApplication::instance(), SLOT(closeAllWindows())); - - // Edit actions - m_editPreferences = new QAction("&Preferences...", this); - connect(m_editPreferences, SIGNAL(triggered()), SLOT(slotEditPreferences())); - // View actions m_viewFromNorth = new QAction(QIcon(":/SouthViewArrow.png"), "Look South", this); m_viewFromNorth->setToolTip("Look South"); @@ -301,29 +241,17 @@ void RiuMainWindow::createActions() m_viewFromBelow = new QAction(QIcon(":/UpViewArrow.png"),"Look Up", this); m_viewFromBelow->setToolTip("Look Up"); - m_zoomAll = new QAction(QIcon(":/ZoomAll16x16.png"),"Zoom all", this); - m_zoomAll->setToolTip("Zoom to view all"); - connect(m_viewFromNorth, SIGNAL(triggered()), SLOT(slotViewFromNorth())); connect(m_viewFromSouth, SIGNAL(triggered()), SLOT(slotViewFromSouth())); connect(m_viewFromEast, SIGNAL(triggered()), SLOT(slotViewFromEast())); connect(m_viewFromWest, SIGNAL(triggered()), SLOT(slotViewFromWest())); connect(m_viewFromAbove, SIGNAL(triggered()), SLOT(slotViewFromAbove())); connect(m_viewFromBelow, SIGNAL(triggered()), SLOT(slotViewFromBelow())); - connect(m_zoomAll, SIGNAL(triggered()), SLOT(slotZoomAll())); // Debug actions m_newPropertyView = new QAction("New Project and Property View", this); connect(m_newPropertyView, SIGNAL(triggered()), SLOT(slotNewObjectPropertyView())); - // Help actions - m_aboutAction = new QAction("&About", this); - connect(m_aboutAction, SIGNAL(triggered()), SLOT(slotAbout())); - m_commandLineHelpAction = new QAction("&Command Line Help", this); - connect(m_commandLineHelpAction, SIGNAL(triggered()), SLOT(slotShowCommandLineHelp())); - m_openUsersGuideInBrowserAction = new QAction("&Users Guide", this); - connect(m_openUsersGuideInBrowserAction, SIGNAL(triggered()), SLOT(slotOpenUsersGuideInBrowserAction())); - // Draw style actions m_dsActionGroup = new QActionGroup(this); @@ -365,44 +293,6 @@ void RiuMainWindow::createActions() } - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -class ToolTipableMenu : public QMenu -{ -public: - ToolTipableMenu( QWidget * parent ) : QMenu( parent ) {}; - - bool event(QEvent* e) - { - if (e->type() == QEvent::ToolTip) - { - QHelpEvent* he = dynamic_cast(e); - QAction* act = actionAt(he->pos()); - if (act) - { - // Remove ampersand as this is used to define shortcut key - QString actionTextWithoutAmpersand = act->text().remove("&"); - - if (actionTextWithoutAmpersand != act->toolTip()) - { - QToolTip::showText(he->globalPos(), act->toolTip(), this); - } - - return true; - } - } - else if (e->type() == QEvent::Paint && QToolTip::isVisible()) - { - QToolTip::hideText(); - } - - return QMenu::event(e); - } -}; - - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -412,64 +302,68 @@ void RiuMainWindow::createMenus() CVF_ASSERT(cmdFeatureMgr); // File menu - QMenu* fileMenu = new ToolTipableMenu(menuBar()); + QMenu* fileMenu = new RiuToolTipMenu(menuBar()); fileMenu->setTitle("&File"); menuBar()->addMenu(fileMenu); - fileMenu->addAction(m_openProjectAction); - fileMenu->addAction(m_openLastUsedProjectAction); + fileMenu->addAction(cmdFeatureMgr->action("RicOpenProjectFeature")); + fileMenu->addAction(cmdFeatureMgr->action("RicOpenLastUsedFileFeature")); fileMenu->addSeparator(); QMenu* importMenu = fileMenu->addMenu("&Import"); importMenu->addAction(cmdFeatureMgr->action("RicImportEclipseCaseFeature")); importMenu->addAction(cmdFeatureMgr->action("RicImportInputEclipseCaseFeature")); + //importMenu->addAction(cmdFeatureMgr->action("RicImportInputEclipseCaseOpmFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicImportSummaryCaseFeature")); importMenu->addAction(cmdFeatureMgr->action("RicCreateGridCaseGroupFeature")); importMenu->addSeparator(); #ifdef USE_ODB_API - importMenu->addAction(m_importGeoMechCaseAction); + importMenu->addAction(cmdFeatureMgr->action("RicImportGeoMechCaseFeature")); importMenu->addSeparator(); #endif importMenu->addAction(cmdFeatureMgr->action("RicWellPathsImportFileFeature")); importMenu->addAction(cmdFeatureMgr->action("RicWellPathsImportSsihubFeature")); importMenu->addAction(cmdFeatureMgr->action("RicWellLogsImportFileFeature")); + importMenu->addSeparator(); + importMenu->addAction(cmdFeatureMgr->action("RicImportFormationNamesFeature")); QMenu* exportMenu = fileMenu->addMenu("&Export"); - exportMenu->addAction(m_snapshotToFile); + exportMenu->addAction(cmdFeatureMgr->action("RicSnapshotViewToFileFeature")); exportMenu->addAction(m_snapshotAllViewsToFile); fileMenu->addSeparator(); - fileMenu->addAction(m_saveProjectAction); - fileMenu->addAction(m_saveProjectAsAction); + fileMenu->addAction(cmdFeatureMgr->action("RicSaveProjectFeature")); + fileMenu->addAction(cmdFeatureMgr->action("RicSaveProjectAsFeature")); - m_recentFilesSeparatorAction = fileMenu->addSeparator(); - for (int i = 0; i < MaxRecentFiles; ++i) - fileMenu->addAction(m_recentFileActions[i]); + std::vector recentFileActions = RiaApplication::instance()->recentFileActions(); + for (auto act : recentFileActions) + { + fileMenu->addAction(act); + } - updateRecentFileActions(); - fileMenu->addSeparator(); QMenu* testMenu = fileMenu->addMenu("&Testing"); fileMenu->addSeparator(); - fileMenu->addAction(m_closeProjectAction); + fileMenu->addAction(cmdFeatureMgr->action("RicCloseProjectFeature")); fileMenu->addSeparator(); - fileMenu->addAction(m_exitAction); + fileMenu->addAction(cmdFeatureMgr->action("RicExitApplicationFeature")); connect(fileMenu, SIGNAL(aboutToShow()), SLOT(slotRefreshFileActions())); // Edit menu QMenu* editMenu = menuBar()->addMenu("&Edit"); - editMenu->addAction(m_snapshotToClipboard); + editMenu->addAction(cmdFeatureMgr->action("RicSnapshotViewToClipboardFeature")); editMenu->addSeparator(); - editMenu->addAction(m_editPreferences); + editMenu->addAction(cmdFeatureMgr->action("RicEditPreferencesFeature")); connect(editMenu, SIGNAL(aboutToShow()), SLOT(slotRefreshEditActions())); // View menu QMenu* viewMenu = menuBar()->addMenu("&View"); - viewMenu->addAction(m_zoomAll); + viewMenu->addAction(cmdFeatureMgr->action("RicViewZoomAllFeature")); viewMenu->addSeparator(); viewMenu->addAction(m_viewFromSouth); viewMenu->addAction(m_viewFromNorth); @@ -481,6 +375,8 @@ void RiuMainWindow::createMenus() connect(viewMenu, SIGNAL(aboutToShow()), SLOT(slotRefreshViewActions())); // Debug menu + testMenu->addAction(cmdFeatureMgr->action("RicImportInputEclipseCaseOpmFeature")); + testMenu->addAction(m_mockModelAction); testMenu->addAction(m_mockResultsModelAction); testMenu->addAction(m_mockLargeResultsModelAction); @@ -499,10 +395,10 @@ void RiuMainWindow::createMenus() // Help menu QMenu* helpMenu = menuBar()->addMenu("&Help"); - helpMenu->addAction(m_openUsersGuideInBrowserAction); - helpMenu->addAction(m_commandLineHelpAction); + helpMenu->addAction(cmdFeatureMgr->action("RicHelpAboutFeature")); + helpMenu->addAction(cmdFeatureMgr->action("RicHelpCommandLineFeature")); helpMenu->addSeparator(); - helpMenu->addAction(m_aboutAction); + helpMenu->addAction(cmdFeatureMgr->action("RicHelpOpenUsersGuideFeature")); } @@ -514,53 +410,68 @@ void RiuMainWindow::createToolBars() caf::CmdFeatureManager* cmdFeatureMgr = caf::CmdFeatureManager::instance(); CVF_ASSERT(cmdFeatureMgr); - m_standardToolBar = addToolBar(tr("Standard")); - m_standardToolBar->setObjectName(m_standardToolBar->windowTitle()); - - m_standardToolBar->addAction(cmdFeatureMgr->action("RicImportEclipseCaseFeature")); - m_standardToolBar->addAction(cmdFeatureMgr->action("RicImportInputEclipseCaseFeature")); - m_standardToolBar->addAction(m_openProjectAction); - //m_standardToolBar->addAction(m_openLastUsedProjectAction); - m_standardToolBar->addAction(m_saveProjectAction); - - // Snapshots - m_snapshotToolbar = addToolBar(tr("View Snapshots")); - m_snapshotToolbar->setObjectName(m_snapshotToolbar->windowTitle()); - m_snapshotToolbar->addAction(m_snapshotToClipboard); - m_snapshotToolbar->addAction(m_snapshotToFile); - m_snapshotToolbar->addAction(m_snapshotAllViewsToFile); - - // View toolbar - m_viewToolBar = addToolBar(tr("View")); - m_viewToolBar->setObjectName(m_viewToolBar->windowTitle()); - m_viewToolBar->addAction(m_zoomAll); - m_viewToolBar->addAction(m_viewFromNorth); - m_viewToolBar->addAction(m_viewFromSouth); - m_viewToolBar->addAction(m_viewFromEast); - m_viewToolBar->addAction(m_viewFromWest); - m_viewToolBar->addAction(m_viewFromAbove); - m_viewToolBar->addAction(m_viewFromBelow); - m_viewToolBar->addSeparator(); - m_viewToolBar->addAction(cmdFeatureMgr->action("RicLinkVisibleViewsFeature")); - m_viewToolBar->addAction(cmdFeatureMgr->action("RicTileWindowsFeature")); - m_viewToolBar->addSeparator(); - m_viewToolBar->addAction(m_drawStyleLinesAction); - m_viewToolBar->addAction(m_drawStyleLinesSolidAction); - m_viewToolBar->addAction(m_drawStyleSurfOnlyAction); - m_viewToolBar->addAction(m_drawStyleFaultLinesSolidAction); - m_viewToolBar->addAction(m_disableLightingAction); - m_viewToolBar->addAction(m_drawStyleHideGridCellsAction); - m_viewToolBar->addAction(m_toggleFaultsLabelAction); - m_viewToolBar->addAction(m_addWellCellsToRangeFilterAction); - - QLabel* scaleLabel = new QLabel(m_viewToolBar); - scaleLabel->setText("Scale"); - m_viewToolBar->addWidget(scaleLabel); - - m_scaleFactor = new QSpinBox(m_viewToolBar); - m_scaleFactor->setValue(0); - m_viewToolBar->addWidget(m_scaleFactor); - connect(m_scaleFactor, SIGNAL(valueChanged(int)), SLOT(slotScaleChanged(int))); + { + QToolBar* toolbar = addToolBar(tr("Standard")); + toolbar->setObjectName(toolbar->windowTitle()); + toolbar->addAction(cmdFeatureMgr->action("RicImportEclipseCaseFeature")); + toolbar->addAction(cmdFeatureMgr->action("RicImportInputEclipseCaseFeature")); + toolbar->addAction(cmdFeatureMgr->action("RicImportSummaryCaseFeature")); + toolbar->addAction(cmdFeatureMgr->action("RicOpenProjectFeature")); + toolbar->addAction(cmdFeatureMgr->action("RicSaveProjectFeature")); + } + + { + QToolBar* toolbar = addToolBar(tr("Window Management")); + toolbar->setObjectName(toolbar->windowTitle()); + toolbar->addAction(cmdFeatureMgr->action("RicShowPlotWindowFeature")); + toolbar->addAction(cmdFeatureMgr->action("RicLinkVisibleViewsFeature")); + toolbar->addAction(cmdFeatureMgr->action("RicTileWindowsFeature")); + } + + { + QToolBar* toolbar = addToolBar(tr("View Snapshots")); + toolbar->setObjectName(toolbar->windowTitle()); + toolbar->addAction(cmdFeatureMgr->action("RicSnapshotViewToClipboardFeature")); + toolbar->addAction(cmdFeatureMgr->action("RicSnapshotViewToFileFeature")); + toolbar->addAction(m_snapshotAllViewsToFile); + } + + + // View toolbar + { + QToolBar* toolbar = addToolBar(tr("View")); + toolbar->setObjectName(toolbar->windowTitle()); + toolbar->addAction(cmdFeatureMgr->action("RicTogglePerspectiveViewFeature")); + toolbar->addAction(cmdFeatureMgr->action("RicViewZoomAllFeature")); + toolbar->addAction(m_viewFromNorth); + toolbar->addAction(m_viewFromSouth); + toolbar->addAction(m_viewFromEast); + toolbar->addAction(m_viewFromWest); + toolbar->addAction(m_viewFromAbove); + toolbar->addAction(m_viewFromBelow); + + QLabel* scaleLabel = new QLabel(toolbar); + scaleLabel->setText("Scale"); + toolbar->addWidget(scaleLabel); + + m_scaleFactor = new QSpinBox(toolbar); + m_scaleFactor->setValue(0); + toolbar->addWidget(m_scaleFactor); + connect(m_scaleFactor, SIGNAL(valueChanged(int)), SLOT(slotScaleChanged(int))); + } + + { + QToolBar* dsToolBar = addToolBar(tr("Draw Style")); + dsToolBar->setObjectName(dsToolBar->windowTitle()); + dsToolBar->addAction(m_drawStyleLinesAction); + dsToolBar->addAction(m_drawStyleLinesSolidAction); + dsToolBar->addAction(m_drawStyleSurfOnlyAction); + dsToolBar->addAction(m_drawStyleFaultLinesSolidAction); + dsToolBar->addAction(m_disableLightingAction); + dsToolBar->addAction(m_drawStyleHideGridCellsAction); + dsToolBar->addAction(m_toggleFaultsLabelAction); + dsToolBar->addAction(m_addWellCellsToRangeFilterAction); + } // Create animation toolbar m_animationToolBar = new caf::AnimationToolBar("Animation", this); @@ -604,7 +515,7 @@ void RiuMainWindow::createDockPanels() RiuTreeViewEventFilter* treeViewEventFilter = new RiuTreeViewEventFilter(this); m_projectTreeView->treeView()->installEventFilter(treeViewEventFilter); - addDockWidget(Qt::RightDockWidgetArea, dockWidget); + addDockWidget(Qt::LeftDockWidgetArea, dockWidget); connect(m_projectTreeView, SIGNAL(selectionChanged()), this, SLOT(selectedObjectsChanged())); m_projectTreeView->treeView()->setContextMenuPolicy(Qt::CustomContextMenu); @@ -662,6 +573,7 @@ void RiuMainWindow::createDockPanels() dockPanel->setWidget(m_processMonitor); addDockWidget(Qt::BottomDockWidgetArea, dockPanel); + dockPanel->hide(); } { @@ -671,71 +583,13 @@ void RiuMainWindow::createDockPanels() m_resultQwtPlot = new RiuResultQwtPlot(dockPanel); dockPanel->setWidget(m_resultQwtPlot); - addDockWidget(Qt::RightDockWidgetArea, dockPanel); + addDockWidget(Qt::BottomDockWidgetArea, dockPanel); } setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); setCorner(Qt::BottomRightCorner, Qt::BottomDockWidgetArea); } - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::saveWinGeoAndDockToolBarLayout() -{ - // Company and appname set through QCoreApplication - QSettings settings; - - QByteArray winGeo = saveGeometry(); - settings.setValue("winGeometry", winGeo); - - QByteArray layout = saveState(0); - settings.setValue("dockAndToolBarLayout", layout); - - settings.setValue("isMaximized", isMaximized()); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::loadWinGeoAndDockToolBarLayout() -{ - // Company and appname set through QCoreApplication - QSettings settings; - - QVariant winGeo = settings.value("winGeometry"); - QVariant layout = settings.value("dockAndToolBarLayout"); - - if (winGeo.isValid()) - { - if (restoreGeometry(winGeo.toByteArray())) - { - if (layout.isValid()) - { - restoreState(layout.toByteArray(), 0); - } - } - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::showWindow() -{ - // Company and appname set through QCoreApplication - QSettings settings; - - showNormal(); - - QVariant isMax = settings.value("isMaximized", false); - if (isMax.toBool()) - { - showMaximized(); - } -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -759,11 +613,6 @@ void RiuMainWindow::slotRefreshFileActions() { RiaApplication* app = RiaApplication::instance(); - bool projectExists = true; - m_saveProjectAction->setEnabled(projectExists); - m_saveProjectAsAction->setEnabled(projectExists); - m_closeProjectAction->setEnabled(projectExists); - bool projectFileExists = QFile::exists(app->project()->fileName()); caf::CmdFeatureManager* cmdFeatureMgr = caf::CmdFeatureManager::instance(); @@ -798,7 +647,7 @@ void RiuMainWindow::slotRefreshViewActions() updateScaleValue(); - caf::CmdFeatureManager::instance()->refreshEnabledState(QStringList() << "RicLinkVisibleViewsFeature" << "RicTileWindowsFeature"); + caf::CmdFeatureManager::instance()->refreshEnabledState(QStringList() << "RicLinkVisibleViewsFeature" << "RicTileWindowsFeature" << "RicTogglePerspectiveViewFeature"); } //-------------------------------------------------------------------------------------------------- @@ -871,108 +720,6 @@ void RiuMainWindow::refreshAnimationActions() m_animationToolBar->setEnabled(enableAnimControls); } - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotAbout() -{ - caf::AboutDialog dlg(this); - - dlg.setApplicationName(RI_APPLICATION_NAME); - dlg.setApplicationVersion(RiaApplication::getVersionStringApp(true)); - dlg.setCopyright("Copyright Statoil ASA, Ceetron Solutions AS, Ceetron AS"); - dlg.showQtVersion(false); -#ifdef _DEBUG - dlg.setIsDebugBuild(true); -#endif - - dlg.addVersionEntry(" ", "ResInsight is made available under the GNU General Public License v. 3"); - dlg.addVersionEntry(" ", "See http://www.gnu.org/licenses/gpl.html"); - dlg.addVersionEntry(" ", " "); - dlg.addVersionEntry(" ", " "); - dlg.addVersionEntry(" ", "Technical Information"); - dlg.addVersionEntry(" ", QString(" Qt ") + qVersion()); - dlg.addVersionEntry(" ", QString(" ") + caf::AboutDialog::versionStringForcurrentOpenGLContext()); - dlg.addVersionEntry(" ", caf::Viewer::isShadersSupported() ? " Hardware OpenGL" : " Software OpenGL"); - - dlg.create(); - dlg.resize(300, 200); - - dlg.exec(); -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotImportGeoMechModel() -{ - if (checkForDocumentModifications()) - { - RiaApplication* app = RiaApplication::instance(); - - QString defaultDir = app->defaultFileDialogDirectory("GEOMECH_MODEL"); - QStringList fileNames = QFileDialog::getOpenFileNames(this, "Import Geo-Mechanical Model", defaultDir, "Abaqus results (*.odb)"); - if (fileNames.size()) defaultDir = QFileInfo(fileNames.last()).absolutePath(); - app->setDefaultFileDialogDirectory("GEOMECH_MODEL", defaultDir); - - int i; - for (i = 0; i < fileNames.size(); i++) - { - QString fileName = fileNames[i]; - - if (!fileNames.isEmpty()) - { - if (app->openOdbCaseFromFile(fileName)) - { - addRecentFiles(fileName); - } - } - } - } -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotOpenProject() -{ - if (checkForDocumentModifications()) - { - RiaApplication* app = RiaApplication::instance(); - QString defaultDir = app->defaultFileDialogDirectory("BINARY_GRID"); - QString fileName = QFileDialog::getOpenFileName(this, "Open ResInsight Project", defaultDir, "ResInsight project (*.rsp *.rip);;All files(*.*)"); - - if (fileName.isEmpty()) return; - - // Remember the path to next time - app->setDefaultFileDialogDirectory("BINARY_GRID", QFileInfo(fileName).absolutePath()); - - if (app->loadProject(fileName)) - { - addRecentFiles(fileName); - } - } - -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotOpenLastUsedProject() -{ - RiaApplication* app = RiaApplication::instance(); - QString fileName = app->preferences()->lastUsedProjectFileName; - - if (app->loadProject(fileName)) - { - addRecentFiles(fileName); - } -} - - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -1022,136 +769,6 @@ void RiuMainWindow::slotInputMockModel() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -bool RiuMainWindow::checkForDocumentModifications() -{ -// RiaApplication* app = RiaApplication::instance(); -// RISceneManager* project = app->sceneManager(); -// if (project && project->isModified()) -// { -// QMessageBox msgBox(this); -// msgBox.setIcon(QMessageBox::Warning); -// msgBox.setText("The project has been modified."); -// msgBox.setInformativeText("Do you want to save your changes?"); -// msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel); -// -// int ret = msgBox.exec(); -// if (ret == QMessageBox::Save) -// { -// project->saveAll(); -// } -// else if (ret == QMessageBox::Cancel) -// { -// return false; -// } -// } - - return true; -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotCloseProject() -{ - RiaApplication* app = RiaApplication::instance(); - app->closeProject(true); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotOpenRecentFile() -{ - QAction *action = qobject_cast(sender()); - if (action) - { - QString filename = action->data().toString(); - bool loadingSucceded = false; - - if (filename.contains(".rsp", Qt::CaseInsensitive) || filename.contains(".rip", Qt::CaseInsensitive) ) - { - loadingSucceded = RiaApplication::instance()->loadProject(action->data().toString()); - } - else if ( filename.contains(".egrid", Qt::CaseInsensitive) || filename.contains(".grid", Qt::CaseInsensitive) ) - { - loadingSucceded = RiaApplication::instance()->openEclipseCaseFromFile(filename); - } - else if (filename.contains(".odb", Qt::CaseInsensitive) ) - { - loadingSucceded = RiaApplication::instance()->openOdbCaseFromFile(filename); - } - - if (loadingSucceded) - { - addRecentFiles(filename); - } - else - { - removeRecentFiles(filename); - } - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::updateRecentFileActions() -{ - QSettings settings; - QStringList files = settings.value("recentFileList").toStringList(); - - int numRecentFiles = qMin(files.size(), (int)MaxRecentFiles); - - for (int i = 0; i < numRecentFiles; ++i) { - QString text = tr("&%1 %2").arg(i + 1).arg(QFileInfo(files[i]).fileName()); - m_recentFileActions[i]->setText(text); - m_recentFileActions[i]->setData(files[i]); - m_recentFileActions[i]->setToolTip(files[i]); - m_recentFileActions[i]->setVisible(true); - } - for (int j = numRecentFiles; j < MaxRecentFiles; ++j) - m_recentFileActions[j]->setVisible(false); - - m_recentFilesSeparatorAction->setVisible(numRecentFiles > 0); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::addRecentFiles(const QString& file) -{ - QSettings settings; - QStringList files = settings.value("recentFileList").toStringList(); - files.removeAll(file); - files.prepend(file); - while (files.size() > MaxRecentFiles) - files.removeLast(); - - settings.setValue("recentFileList", files); - - updateRecentFileActions(); -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::removeRecentFiles(const QString& file) -{ - QSettings settings; - QStringList files = settings.value("recentFileList").toStringList(); - files.removeAll(file); - - settings.setValue("recentFileList", files); - - updateRecentFileActions(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- - QMdiSubWindow* RiuMainWindow::findMdiSubWindow(QWidget* viewer) { QList subws = m_mdiArea->subWindowList(); @@ -1195,48 +812,10 @@ void RiuMainWindow::removeViewer(QWidget* viewer) slotRefreshViewActions(); } - -// Helper class used to trap the close event of an QMdiSubWindow -class RiuMdiSubWindow : public QMdiSubWindow -{ -public: - RiuMdiSubWindow(QWidget* parent = 0, Qt::WindowFlags flags = 0) - : QMdiSubWindow(parent, flags) - { - } - - ~RiuMdiSubWindow() - { - RiuMainWindow::instance()->slotRefreshViewActions(); - } - -protected: - virtual void closeEvent(QCloseEvent* event) - { - QWidget* mainWidget = widget(); - - RiuWellLogPlot* wellLogPlot = dynamic_cast(mainWidget); - if (wellLogPlot) - { - wellLogPlot->ownerPlotDefinition()->windowGeometry = RiuMainWindow::instance()->windowGeometryForWidget(this); - } - else - { - RiuViewer* viewer = mainWidget->findChild(); - if (viewer) - { - viewer->ownerReservoirView()->windowGeometry = RiuMainWindow::instance()->windowGeometryForWidget(this); - } - } - - QMdiSubWindow::closeEvent(event); - } -}; - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiuMainWindow::addViewer(QWidget* viewer, const std::vector& windowsGeometry) +void RiuMainWindow::addViewer(QWidget* viewer, const RimMdiWindowGeometry& windowsGeometry) { RiuMdiSubWindow* subWin = new RiuMdiSubWindow(m_mdiArea); subWin->setAttribute(Qt::WA_DeleteOnClose); // Make sure the contained widget is destroyed when the MDI window is closed @@ -1246,32 +825,21 @@ void RiuMainWindow::addViewer(QWidget* viewer, const std::vector& windowsGe QPoint subWindowPos(-1, -1); bool initialStateMaximized = false; - if (windowsGeometry.size() == 5) + if (windowsGeometry.isValid()) { - subWindowPos = QPoint(windowsGeometry[0], windowsGeometry[1]); - subWindowSize = QSize(windowsGeometry[2], windowsGeometry[3]); + subWindowPos = QPoint(windowsGeometry.x, windowsGeometry.y); + subWindowSize = QSize(windowsGeometry.width, windowsGeometry.height); - if (windowsGeometry[4] > 0) - { - initialStateMaximized = true; - } + initialStateMaximized = windowsGeometry.isMaximized; } else { - RiuWellLogPlot* wellLogPlot = dynamic_cast(subWin->widget()); - if (wellLogPlot) - { - subWindowSize = QSize(275, m_mdiArea->height()); - } - else - { - subWindowSize = QSize(400, 400); + subWindowSize = QSize(400, 400); - if (m_mdiArea->subWindowList().size() < 1) - { - // Show first 3D view maximized - initialStateMaximized = true; - } + if (m_mdiArea->subWindowList().size() < 1) + { + // Show first 3D view maximized + initialStateMaximized = true; } } @@ -1299,31 +867,6 @@ void RiuMainWindow::addViewer(QWidget* viewer, const std::vector& windowsGe slotRefreshViewActions(); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotSaveProject() -{ - RiaApplication* app = RiaApplication::instance(); - - storeTreeViewState(); - - app->saveProject(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotSaveProjectAs() -{ - RiaApplication* app = RiaApplication::instance(); - - storeTreeViewState(); - - app->saveProjectPromptForFileName(); -} - - //-------------------------------------------------------------------------------------------------- /// This method needs to handle memory deallocation !!! //-------------------------------------------------------------------------------------------------- @@ -1333,7 +876,7 @@ void RiuMainWindow::setPdmRoot(caf::PdmObject* pdmRoot) m_projectTreeView->setPdmItem(pdmRoot); // For debug only : m_projectTreeView->treeView()->expandAll(); - m_projectTreeView->setDragDropInterface(m_dragDropInterface); + m_projectTreeView->setDragDropInterface(m_dragDropInterface.get()); for (size_t i = 0; i < additionalProjectViews.size(); i++) { @@ -1415,17 +958,6 @@ void RiuMainWindow::slotViewFromBelow() } } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotZoomAll() -{ - if (RiaApplication::instance()->activeReservoirView() && RiaApplication::instance()->activeReservoirView()->viewer()) - { - RiaApplication::instance()->activeReservoirView()->viewer()->zoomAll(); - } -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -1437,25 +969,6 @@ void RiuMainWindow::slotSubWindowActivated(QMdiSubWindow* subWindow) RimProject * proj = RiaApplication::instance()->project(); if (!proj) return; - RiuWellLogPlot* wellLogPlotViewer = dynamic_cast(subWindow->widget()); - - if (wellLogPlotViewer) - { - RimWellLogPlot* wellLogPlot = wellLogPlotViewer->ownerPlotDefinition(); - - if (wellLogPlot != RiaApplication::instance()->activeWellLogPlot()) - { - RiaApplication::instance()->setActiveWellLogPlot(wellLogPlot); - if (wellLogPlot) - { - projectTreeView()->selectAsCurrentItem(wellLogPlot); - } - } - return; - } - - RiaApplication::instance()->setActiveWellLogPlot(NULL); - // Find the activated 3D view RimView* activatedView = NULL; @@ -1567,27 +1080,6 @@ void RiuMainWindow::slotShowPerformanceInfo(bool enable) RiaApplication::instance()->setShowPerformanceInfo(enable); } - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotEditPreferences() -{ - RiaApplication* app = RiaApplication::instance(); - caf::PdmUiPropertyViewDialog propertyDialog(this, app->preferences(), "Preferences", ""); - if (propertyDialog.exec() == QDialog::Accepted) - { - // Write preferences using QSettings and apply them to the application - caf::PdmSettings::writeFieldsToApplicationStore(app->preferences()); - app->applyPreferences(); - } - else - { - // Read back currently stored values using QSettings - caf::PdmSettings::readFieldsFromApplicationStore(app->preferences()); - } -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -1608,8 +1100,7 @@ void RiuMainWindow::slotFramerateChanged(double frameRate) { if (RiaApplication::instance()->activeReservoirView() != NULL) { - caf::PdmUiFieldHandle* uiFieldHandle = RiaApplication::instance()->activeReservoirView()->maximumFrameRate.uiCapability(); - uiFieldHandle->setValueFromUi(QVariant(frameRate)); + RiaApplication::instance()->activeReservoirView()->maximumFrameRate.setValueWithFieldChanged(frameRate); } } @@ -1687,13 +1178,11 @@ void RiuMainWindow::selectedObjectsChanged() RimView* selectedReservoirView = dynamic_cast(firstSelectedObject); if (!selectedReservoirView) { - firstSelectedObject->firstAnchestorOrThisOfType(selectedReservoirView); + firstSelectedObject->firstAncestorOrThisOfType(selectedReservoirView); } bool isActiveViewChanged = false; - RimWellLogPlot* selectedWellLogPlot = NULL; - if (selectedReservoirView) { // Set focus in MDI area to this window if it exists @@ -1703,29 +1192,10 @@ void RiuMainWindow::selectedObjectsChanged() } isActiveViewChanged = true; } - else // Check if we are winthin a Well Log plot - { - selectedWellLogPlot = dynamic_cast(firstSelectedObject); - if (!selectedWellLogPlot) - { - firstSelectedObject->firstAnchestorOrThisOfType(selectedWellLogPlot); - } - - if (selectedWellLogPlot) - { - if (selectedWellLogPlot->viewer()) - { - setActiveViewer(selectedWellLogPlot->viewer()); - - } - isActiveViewChanged = true; - } - } if (isActiveViewChanged) { RiaApplication::instance()->setActiveReservoirView(selectedReservoirView); - RiaApplication::instance()->setActiveWellLogPlot(selectedWellLogPlot); refreshDrawStyleActions(); refreshAnimationActions(); slotRefreshFileActions(); @@ -1759,26 +1229,6 @@ void RiuMainWindow::slotNewObjectPropertyView() additionalProjectViews.push_back(dockWidget); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotSnapshotToFile() -{ - RiaApplication* app = RiaApplication::instance(); - - app->saveSnapshotPromtpForFilename(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotSnapshotToClipboard() -{ - RiaApplication* app = RiaApplication::instance(); - - app->copySnapshotToClipboard(); -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -1885,8 +1335,7 @@ void RiuMainWindow::slotToggleFaultLabelsAction(bool showLabels) RimEclipseView* activeRiv = dynamic_cast(RiaApplication::instance()->activeReservoirView()); if (!activeRiv) return; - caf::PdmUiFieldHandle* uiFieldHandle = activeRiv->faultCollection->showFaultLabel.uiCapability(); - uiFieldHandle->setValueFromUi(showLabels); + activeRiv->faultCollection->showFaultLabel.setValueWithFieldChanged(showLabels); refreshDrawStyleActions(); } @@ -1914,6 +1363,9 @@ void RiuMainWindow::refreshDrawStyleActions() if (enable) { m_drawStyleHideGridCellsAction->setEnabled(true); + m_drawStyleHideGridCellsAction->blockSignals(true); + m_drawStyleHideGridCellsAction->setChecked(!view->isGridVisualizationMode()); + m_drawStyleHideGridCellsAction->blockSignals(false); } RimEclipseView* eclView = dynamic_cast(view); @@ -1924,10 +1376,6 @@ void RiuMainWindow::refreshDrawStyleActions() if (enable) { - m_drawStyleHideGridCellsAction->blockSignals(true); - m_drawStyleHideGridCellsAction->setChecked(!eclView->isGridVisualizationMode()); - m_drawStyleHideGridCellsAction->blockSignals(false); - m_toggleFaultsLabelAction->blockSignals(true); m_toggleFaultsLabelAction->setChecked(eclView->faultCollection()->showFaultLabel()); m_toggleFaultsLabelAction->blockSignals(false); @@ -1951,27 +1399,6 @@ void RiuMainWindow::slotDisableLightingAction(bool disable) } } - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::storeTreeViewState() -{ - if (m_projectTreeView) - { - QString treeViewState; - RimTreeViewStateSerializer::storeTreeViewStateToString(m_projectTreeView->treeView(), treeViewState); - - QModelIndex mi = m_projectTreeView->treeView()->currentIndex(); - - QString encodedModelIndexString; - RimTreeViewStateSerializer::encodeStringFromModelIndex(mi, encodedModelIndexString); - - RiaApplication::instance()->project()->treeViewState = treeViewState; - RiaApplication::instance()->project()->currentModelIndexPath = encodedModelIndexString; - } -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -1979,14 +1406,14 @@ void RiuMainWindow::restoreTreeViewState() { if (m_projectTreeView) { - QString stateString = RiaApplication::instance()->project()->treeViewState; + QString stateString = RiaApplication::instance()->project()->mainWindowTreeViewState; if (!stateString.isEmpty()) { m_projectTreeView->treeView()->collapseAll(); RimTreeViewStateSerializer::applyTreeViewStateFromString(m_projectTreeView->treeView(), stateString); } - QString currentIndexString = RiaApplication::instance()->project()->currentModelIndexPath; + QString currentIndexString = RiaApplication::instance()->project()->mainWindowCurrentModelIndexPath; if (!currentIndexString.isEmpty()) { QModelIndex mi = RimTreeViewStateSerializer::getModelIndexFromString(m_projectTreeView->treeView()->model(), currentIndexString); @@ -2010,8 +1437,7 @@ void RiuMainWindow::slotScaleChanged(int scaleValue) { if (RiaApplication::instance()->activeReservoirView()) { - caf::PdmUiFieldHandle* uiFieldHandle = RiaApplication::instance()->activeReservoirView()->scaleZ.uiCapability(); - uiFieldHandle->setValueFromUi(scaleValue); + RiaApplication::instance()->activeReservoirView()->scaleZ.setValueWithFieldChanged(scaleValue); } } @@ -2043,16 +1469,6 @@ void RiuMainWindow::selectedCases(std::vector& cases) caf::SelectionManager::instance()->objectsByType(&cases); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotShowCommandLineHelp() -{ - RiaApplication* app = RiaApplication::instance(); - QString text = app->commandLineParameterHelp(); - app->showFormattedTextInMessageBox(text); -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -2099,6 +1515,8 @@ void RiuMainWindow::slotShowRegressionTestDialog() caf::PdmSettings::readFieldsFromApplicationStore(®TestConfig); caf::PdmUiPropertyViewDialog regressionTestDialog(this, ®TestConfig, "Regression Test", ""); + regressionTestDialog.resize(QSize(600, 200)); + if (regressionTestDialog.exec() == QDialog::Accepted) { // Write preferences using QSettings and apply them to the application @@ -2159,25 +1577,7 @@ void RiuMainWindow::slotAddWellCellsToRangeFilterAction(bool doAdd) caf::AppEnum rangeAddType; rangeAddType = doAdd ? RimEclipseWellCollection::RANGE_ADD_INDIVIDUAL : RimEclipseWellCollection::RANGE_ADD_NONE; - caf::PdmUiFieldHandle* pdmUiFieldHandle = riv->wellCollection()->wellCellsToRangeFilterMode.uiCapability(); - if (pdmUiFieldHandle) - { - pdmUiFieldHandle->setValueFromUi(static_cast(rangeAddType.index())); - } - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiuMainWindow::slotOpenUsersGuideInBrowserAction() -{ - QString usersGuideUrl = "http://resinsight.org/docs/home"; - - if (!QDesktopServices::openUrl(usersGuideUrl)) - { - QErrorMessage* errorHandler = QErrorMessage::qtHandler(); - errorHandler->showMessage("Failed open browser with the following url\n\n" + usersGuideUrl); + riv->wellCollection()->wellCellsToRangeFilterMode.setValueWithFieldChanged(rangeAddType); } } @@ -2186,7 +1586,6 @@ void RiuMainWindow::slotOpenUsersGuideInBrowserAction() //-------------------------------------------------------------------------------------------------- void RiuMainWindow::setExpanded(const caf::PdmUiItem* uiItem, bool expanded) { - m_projectTreeView->setExpanded(uiItem, expanded); } @@ -2214,7 +1613,7 @@ void RiuMainWindow::customMenuRequested(const QPoint& pos) //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -std::vector RiuMainWindow::windowGeometryForViewer(QWidget* viewer) +RimMdiWindowGeometry RiuMainWindow::windowGeometryForViewer(QWidget* viewer) { QMdiSubWindow* mdiWindow = findMdiSubWindow(viewer); if (mdiWindow) @@ -2222,24 +1621,24 @@ std::vector RiuMainWindow::windowGeometryForViewer(QWidget* viewer) return windowGeometryForWidget(mdiWindow); } - std::vector geo; + RimMdiWindowGeometry geo; return geo; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -std::vector RiuMainWindow::windowGeometryForWidget(QWidget* widget) +RimMdiWindowGeometry RiuMainWindow::windowGeometryForWidget(QWidget* widget) { - std::vector geo; + RimMdiWindowGeometry geo; if (widget) { - geo.push_back(widget->pos().x()); - geo.push_back(widget->pos().y()); - geo.push_back(widget->size().width()); - geo.push_back(widget->size().height()); - geo.push_back(widget->isMaximized()); + geo.x = widget->pos().x(); + geo.y = widget->pos().y(); + geo.width = widget->size().width(); + geo.height = widget->size().height(); + geo.isMaximized = widget->isMaximized(); } return geo; diff --git a/ApplicationCode/UserInterface/RiuMainWindow.h b/ApplicationCode/UserInterface/RiuMainWindow.h index b6dbb8fc6c..b01e20cea2 100644 --- a/ApplicationCode/UserInterface/RiuMainWindow.h +++ b/ApplicationCode/UserInterface/RiuMainWindow.h @@ -20,40 +20,36 @@ #pragma once +#include "RiuMainWindowBase.h" + +#include "cafPdmUiDragDropInterface.h" + #include -#include #include #include +#include +#include + class QActionGroup; -class QComboBox; -class QFrame; -class QItemSelection; -class QLabel; -class QLineEdit; class QMdiSubWindow; class QSpinBox; -class QTreeView; class QUndoView; class RimCase; -class RimEclipseCase; class RiuProcessMonitor; class RiuResultInfoPanel; class RiuViewer; -class RiuWellLogPlot; class RiuResultQwtPlot; +struct RimMdiWindowGeometry; namespace caf { class PdmUiTreeView; class AnimationToolBar; - class FrameAnimationControl; - class PdmObject; + class PdmObject; class PdmUiPropertyView; - class UiPropertyCreatorPdm; class PdmUiItem; - class PdmUiDragDropInterface; } namespace ssihub @@ -66,19 +62,23 @@ namespace ssihub // // //================================================================================================== -class RiuMainWindow : public QMainWindow +class RiuMainWindow : public RiuMainWindowBase { Q_OBJECT public: RiuMainWindow(); + static RiuMainWindow* instance(); + + virtual QString mainWindowName() { return "RiuMainWindow"; } void initializeGuiNewProjectLoaded(); + void cleanupGuiCaseClose(); void cleanupGuiBeforeProjectClose(); void removeViewer( QWidget* viewer ); - void addViewer(QWidget* viewer, const std::vector& windowsGeometry); + void addViewer(QWidget* viewer, const RimMdiWindowGeometry& windowsGeometry); void setActiveViewer(QWidget* subWindow); void setResultInfo(const QString& info) const; @@ -90,8 +90,6 @@ class RiuMainWindow : public QMainWindow RiuProcessMonitor* processMonitor(); void hideAllDockWindows(); - void loadWinGeoAndDockToolBarLayout(); - void showWindow(); void selectAsCurrentItem(caf::PdmObject* object); @@ -103,11 +101,8 @@ class RiuMainWindow : public QMainWindow void setExpanded(const caf::PdmUiItem* uiItem, bool expanded); - void addRecentFiles(const QString& file); - void removeRecentFiles(const QString& file); - - std::vector windowGeometryForViewer(QWidget* viewer); - std::vector windowGeometryForWidget(QWidget* widget); + RimMdiWindowGeometry windowGeometryForViewer(QWidget* viewer); + RimMdiWindowGeometry windowGeometryForWidget(QWidget* widget); void tileWindows(); bool isAnyMdiSubWindowVisible(); @@ -124,13 +119,7 @@ class RiuMainWindow : public QMainWindow void createMenus(); void createToolBars(); void createDockPanels(); - void saveWinGeoAndDockToolBarLayout(); - - bool checkForDocumentModifications(); - - void updateRecentFileActions(); - void storeTreeViewState(); void restoreTreeViewState(); private: @@ -139,24 +128,7 @@ class RiuMainWindow : public QMainWindow QByteArray m_initialDockAndToolbarLayout; // Initial dock window and toolbar layout, used to reset GUI private: - // File actions - QAction* m_importGeoMechCaseAction; - QAction* m_openProjectAction; - QAction* m_openLastUsedProjectAction; - QAction* m_saveProjectAction; - QAction* m_saveProjectAsAction; - QAction* m_closeProjectAction; - QAction* m_exitAction; - - // Recent files - enum { MaxRecentFiles = 5 }; - QAction* m_recentFilesSeparatorAction; - QMenu* m_recentFilesMenu; - QAction* m_recentFileActions[MaxRecentFiles]; - - // Edit actions - QAction* m_editPreferences; QAction* m_newPropertyView; // View actions @@ -166,7 +138,6 @@ class RiuMainWindow : public QMainWindow QAction* m_viewFromWest; QAction* m_viewFromAbove; QAction* m_viewFromBelow; - QAction* m_zoomAll; // Mock actions QAction* m_mockModelAction; @@ -175,28 +146,14 @@ class RiuMainWindow : public QMainWindow QAction* m_mockModelCustomizedAction; QAction* m_mockInputModelAction; - QAction* m_snapshotToFile; - QAction* m_snapshotToClipboard; QAction* m_snapshotAllViewsToFile; QAction* m_createCommandObject; QAction* m_showRegressionTestDialog; QAction* m_executePaintEventPerformanceTest; - // Help actions - QAction* m_aboutAction; - QAction* m_commandLineHelpAction; - QAction* m_openUsersGuideInBrowserAction; - - // Animation caf::AnimationToolBar* m_animationToolBar; - // Toolbars - QToolBar* m_viewToolBar; - QToolBar* m_standardToolBar; - QToolBar* m_snapshotToolbar; - - QMdiArea* m_mdiArea; RiuViewer* m_mainViewer; RiuResultInfoPanel* m_resultInfoPanel; @@ -213,20 +170,10 @@ private slots: friend class RiuMdiSubWindow; // File slots - void slotImportGeoMechModel(); - void slotOpenProject(); - void slotOpenLastUsedProject(); - void slotSaveProject(); - void slotSaveProjectAs(); - void slotCloseProject(); - - void slotOpenRecentFile(); - void slotRefreshFileActions(); // Edit slots void slotRefreshEditActions(); - void slotEditPreferences(); void slotNewObjectPropertyView(); // View slots @@ -237,7 +184,6 @@ private slots: void slotViewFromWest(); void slotViewFromAbove(); void slotViewFromBelow(); - void slotZoomAll(); void slotScaleChanged(int scaleValue); void slotDrawStyleChanged(QAction* activatedAction); @@ -251,8 +197,6 @@ private slots: void slotUseShaders(bool enable); void slotShowPerformanceInfo(bool enable); - void slotSnapshotToFile(); - void slotSnapshotToClipboard(); void slotSnapshotAllViewsToFile(); void slotCreateCommandObject(); @@ -270,11 +214,6 @@ private slots: // Windows slots void slotBuildWindowActions(); - // Help slots - void slotAbout(); - void slotShowCommandLineHelp(); - void slotOpenUsersGuideInBrowserAction(); - void slotSubWindowActivated(QMdiSubWindow* subWindow); void selectedObjectsChanged(); @@ -290,7 +229,7 @@ private slots: private: caf::PdmUiTreeView* m_projectTreeView; - caf::PdmUiDragDropInterface* m_dragDropInterface; + std::unique_ptr m_dragDropInterface; QUndoView* m_undoView; diff --git a/ApplicationCode/UserInterface/RiuMainWindowBase.cpp b/ApplicationCode/UserInterface/RiuMainWindowBase.cpp new file mode 100644 index 0000000000..e888044c27 --- /dev/null +++ b/ApplicationCode/UserInterface/RiuMainWindowBase.cpp @@ -0,0 +1,96 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RiuMainWindowBase.h" +#include "QSettings" +#include "RiaVersionInfo.h" + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuMainWindowBase::RiuMainWindowBase() +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainWindowBase::loadWinGeoAndDockToolBarLayout() +{ + // Company and appname set through QCoreApplication + QSettings settings; + + QVariant winGeo = settings.value(QString("%1/winGeometry").arg(registryFolderName())); + QVariant layout = settings.value(QString("%1/dockAndToolBarLayout").arg(registryFolderName())); + + if (winGeo.isValid()) + { + if (restoreGeometry(winGeo.toByteArray())) + { + if (layout.isValid()) + { + restoreState(layout.toByteArray(), 0); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainWindowBase::saveWinGeoAndDockToolBarLayout() +{ + // Company and appname set through QCoreApplication + QSettings settings; + + QByteArray winGeo = saveGeometry(); + settings.setValue(QString("%1/winGeometry").arg(registryFolderName()), winGeo); + + QByteArray layout = saveState(0); + settings.setValue(QString("%1/dockAndToolBarLayout").arg(registryFolderName()), layout); + + settings.setValue(QString("%1/isMaximized").arg(registryFolderName()), isMaximized()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainWindowBase::showWindow() +{ + // Company and appname set through QCoreApplication + QSettings settings; + + showNormal(); + + QVariant isMax = settings.value(QString("%1/isMaximized").arg(registryFolderName()), false); + if (isMax.toBool()) + { + showMaximized(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RiuMainWindowBase::registryFolderName() +{ + QString versionName(STRPRODUCTVER); + QString regFolder = QString("%1/%2").arg(versionName).arg(mainWindowName()); + return regFolder; +} diff --git a/ApplicationCode/UserInterface/RiuMainWindowBase.h b/ApplicationCode/UserInterface/RiuMainWindowBase.h new file mode 100644 index 0000000000..4352d66b3f --- /dev/null +++ b/ApplicationCode/UserInterface/RiuMainWindowBase.h @@ -0,0 +1,39 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include + +class RiuMainWindowBase : public QMainWindow +{ + Q_OBJECT + +public: + RiuMainWindowBase(); + + virtual QString mainWindowName() = 0; + + void loadWinGeoAndDockToolBarLayout(); + void saveWinGeoAndDockToolBarLayout(); + void showWindow(); +private: + QString registryFolderName(); + + +}; diff --git a/ApplicationCode/UserInterface/RiuMdiSubWindow.cpp b/ApplicationCode/UserInterface/RiuMdiSubWindow.cpp new file mode 100644 index 0000000000..8b7ce8911f --- /dev/null +++ b/ApplicationCode/UserInterface/RiuMdiSubWindow.cpp @@ -0,0 +1,82 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RiuMdiSubWindow.h" + +#include "RiaApplication.h" + +#include "RimSummaryPlot.h" +#include "RimView.h" +#include "RimWellLogPlot.h" + +#include "RiuMainPlotWindow.h" +#include "RiuMainWindow.h" +#include "RiuSummaryQwtPlot.h" +#include "RiuViewer.h" +#include "RiuWellLogPlot.h" + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuMdiSubWindow::RiuMdiSubWindow(QWidget* parent /*= 0*/, Qt::WindowFlags flags /*= 0*/) : QMdiSubWindow(parent, flags) +{ + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuMdiSubWindow::~RiuMdiSubWindow() +{ + RiuMainWindow::instance()->slotRefreshViewActions(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuMdiSubWindow::closeEvent(QCloseEvent* event) +{ + QWidget* mainWidget = widget(); + + RiuWellLogPlot* wellLogPlot = dynamic_cast(mainWidget); + RiuSummaryQwtPlot* summaryPlot = dynamic_cast(mainWidget); + if (wellLogPlot) + { + RiuMainPlotWindow* mainPlotWindow = RiaApplication::instance()->mainPlotWindow(); + CVF_ASSERT(mainPlotWindow); + + wellLogPlot->ownerPlotDefinition()->setMdiWindowGeometry(mainPlotWindow->windowGeometryForWidget(this)); + } + else if (summaryPlot) + { + RiuMainPlotWindow* mainPlotWindow = RiaApplication::instance()->mainPlotWindow(); + CVF_ASSERT(mainPlotWindow); + + summaryPlot->ownerPlotDefinition()->setMdiWindowGeometry(mainPlotWindow->windowGeometryForWidget(this)); + } + else + { + RiuViewer* viewer = mainWidget->findChild(); + if (viewer) + { + viewer->ownerReservoirView()->setMdiWindowGeometry(RiuMainWindow::instance()->windowGeometryForWidget(this)); + } + } + + QMdiSubWindow::closeEvent(event); +} diff --git a/ApplicationCode/UserInterface/RiuMdiSubWindow.h b/ApplicationCode/UserInterface/RiuMdiSubWindow.h new file mode 100644 index 0000000000..53dbba7a2f --- /dev/null +++ b/ApplicationCode/UserInterface/RiuMdiSubWindow.h @@ -0,0 +1,34 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include + + +class RiuMdiSubWindow : public QMdiSubWindow +{ +public: + RiuMdiSubWindow(QWidget* parent = 0, Qt::WindowFlags flags = 0); + + ~RiuMdiSubWindow(); + +protected: + virtual void closeEvent(QCloseEvent* event); +}; + diff --git a/ApplicationCode/UserInterface/RiuMultiCaseImportDialog.cpp b/ApplicationCode/UserInterface/RiuMultiCaseImportDialog.cpp index 396280a672..4c56698144 100644 --- a/ApplicationCode/UserInterface/RiuMultiCaseImportDialog.cpp +++ b/ApplicationCode/UserInterface/RiuMultiCaseImportDialog.cpp @@ -102,7 +102,7 @@ RiuMultiCaseImportDialog::~RiuMultiCaseImportDialog() //-------------------------------------------------------------------------------------------------- void RiuMultiCaseImportDialog::on_m_addSearchFolderButton_clicked() { - QString selectedFolder = QFileDialog::getExistingDirectory(this, "Select an Eclipse case search folder", RiaApplication::instance()->defaultFileDialogDirectory("MULTICASEIMPORT")); + QString selectedFolder = QFileDialog::getExistingDirectory(this, "Select an Eclipse case search folder", RiaApplication::instance()->lastUsedDialogDirectory("MULTICASEIMPORT")); QStringList folderNames = m_searchFolders->stringList(); if (!folderNames.contains(selectedFolder)) @@ -112,7 +112,13 @@ void RiuMultiCaseImportDialog::on_m_addSearchFolderButton_clicked() updateGridFileList(); } - RiaApplication::instance()->setDefaultFileDialogDirectory("MULTICASEIMPORT", selectedFolder); + RiaApplication::instance()->setLastUsedDialogDirectory("MULTICASEIMPORT", selectedFolder); + + QPushButton* okButton = ui->m_dialogButtons->button(QDialogButtonBox::Ok); + if (okButton) + { + okButton->setFocus(Qt::OtherFocusReason); + } } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/UserInterface/RiuPropertyViewTabWidget.cpp b/ApplicationCode/UserInterface/RiuPropertyViewTabWidget.cpp new file mode 100644 index 0000000000..b6d6eb2e5c --- /dev/null +++ b/ApplicationCode/UserInterface/RiuPropertyViewTabWidget.cpp @@ -0,0 +1,81 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RiuPropertyViewTabWidget.h" + +#include "cafPdmObject.h" +#include "cafPdmUiPropertyView.h" + +#include +#include +#include +#include +#include + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuPropertyViewTabWidget::RiuPropertyViewTabWidget(QWidget* parent, caf::PdmObject* object, const QString& windowTitle, const QStringList& uiConfigNameForTabs) + : QDialog(parent) +{ + setWindowTitle(windowTitle); + + QTabWidget* tabWidget = new QTabWidget; + + for (int i = 0; i < uiConfigNameForTabs.size(); i++) + { + // Use a container widget to get some UI space around a PdmUiPropertyView + QWidget* containerWidget = new QWidget; + QHBoxLayout* widgetLayout = new QHBoxLayout; + containerWidget->setLayout(widgetLayout); + + caf::PdmUiPropertyView* pdmUiPropertyView = new caf::PdmUiPropertyView(); + pdmUiPropertyView->setUiConfigurationName(uiConfigNameForTabs[i]); + + widgetLayout->addWidget(pdmUiPropertyView); + + tabWidget->addTab(containerWidget, uiConfigNameForTabs[i]); + pdmUiPropertyView->showProperties(object); + + m_pageWidgets.push_back(pdmUiPropertyView); + } + + QVBoxLayout* dialogLayout = new QVBoxLayout; + setLayout(dialogLayout); + + dialogLayout->addWidget(tabWidget); + + + // Buttons + QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); + connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); + + dialogLayout->addWidget(buttonBox); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuPropertyViewTabWidget::~RiuPropertyViewTabWidget() +{ + for (auto w : m_pageWidgets) + { + w->showProperties(NULL); + } +} diff --git a/ApplicationCode/UserInterface/RiuPropertyViewTabWidget.h b/ApplicationCode/UserInterface/RiuPropertyViewTabWidget.h new file mode 100644 index 0000000000..464d6c8d54 --- /dev/null +++ b/ApplicationCode/UserInterface/RiuPropertyViewTabWidget.h @@ -0,0 +1,41 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + + +#include + +namespace caf { + class PdmObject; + class PdmUiPropertyView; +} + +class QWidget; +class QString; +class QStringList; + +class RiuPropertyViewTabWidget : public QDialog +{ +public: + RiuPropertyViewTabWidget(QWidget* parent, caf::PdmObject* object, const QString& windowTitle, const QStringList& uiConfigNameForTabs); + ~RiuPropertyViewTabWidget(); + +private: + std::vector m_pageWidgets; +}; diff --git a/ApplicationCode/UserInterface/RiuQwtScalePicker.cpp b/ApplicationCode/UserInterface/RiuQwtScalePicker.cpp new file mode 100644 index 0000000000..9187aa8775 --- /dev/null +++ b/ApplicationCode/UserInterface/RiuQwtScalePicker.cpp @@ -0,0 +1,93 @@ +// Based on the example scalepicker from the Qwt/examples/event_filter + +#include "RiuQwtScalePicker.h" + +#include + +#include +#include + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuQwtScalePicker::RiuQwtScalePicker( QwtPlot *plot ): + QObject( plot ) +{ + for ( uint i = 0; i < QwtPlot::axisCnt; i++ ) + { + QwtScaleWidget *scaleWidget = plot->axisWidget( i ); + if ( scaleWidget ) + scaleWidget->installEventFilter( this ); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RiuQwtScalePicker::eventFilter( QObject *object, QEvent *event ) +{ + if ( event->type() == QEvent::MouseButtonPress ) + { + QwtScaleWidget *scaleWidget = qobject_cast( object ); + if ( scaleWidget ) + { + QMouseEvent *mouseEvent = static_cast( event ); + mouseClicked( scaleWidget, mouseEvent->pos() ); + + return true; + } + } + + return QObject::eventFilter( object, event ); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuQwtScalePicker::mouseClicked( const QwtScaleWidget *scale, const QPoint &pos ) +{ + QRect rect = scale->rect(); + + int margin = 10; // 10 pixels tolerance + rect.setRect( rect.x() - margin, rect.y() - margin, + rect.width() + 2 * margin, rect.height() + 2 * margin ); + + if ( rect.contains( pos ) ) // No click on the title + { + // translate the position in a value on the scale + + double value = 0.0; + int axis = -1; + + const QwtScaleDraw *sd = scale->scaleDraw(); + switch( scale->alignment() ) + { + case QwtScaleDraw::LeftScale: + { + value = sd->scaleMap().invTransform( pos.y() ); + axis = QwtPlot::yLeft; + break; + } + case QwtScaleDraw::RightScale: + { + value = sd->scaleMap().invTransform( pos.y() ); + axis = QwtPlot::yRight; + break; + } + case QwtScaleDraw::BottomScale: + { + value = sd->scaleMap().invTransform( pos.x() ); + axis = QwtPlot::xBottom; + break; + } + case QwtScaleDraw::TopScale: + { + value = sd->scaleMap().invTransform( pos.x() ); + axis = QwtPlot::xTop; + break; + } + } + Q_EMIT clicked( axis, value ); + } +} + diff --git a/ApplicationCode/UserInterface/RiuQwtScalePicker.h b/ApplicationCode/UserInterface/RiuQwtScalePicker.h new file mode 100644 index 0000000000..abef1584c9 --- /dev/null +++ b/ApplicationCode/UserInterface/RiuQwtScalePicker.h @@ -0,0 +1,24 @@ +// Based on the example scalepicker from the Qwt/examples/event_filter + +#pragma once + +#include +#include + +class QwtPlot; +class QwtScaleWidget; + +class RiuQwtScalePicker : public QObject +{ + Q_OBJECT +public: + RiuQwtScalePicker(QwtPlot *plot); + + virtual bool eventFilter( QObject *, QEvent * ); + +Q_SIGNALS: + void clicked( int axis, double value ); + +private: + void mouseClicked( const QwtScaleWidget *, const QPoint & ); +}; diff --git a/ApplicationCode/UserInterface/RiuRecentFileActionProvider.cpp b/ApplicationCode/UserInterface/RiuRecentFileActionProvider.cpp new file mode 100644 index 0000000000..faa6e8cdf4 --- /dev/null +++ b/ApplicationCode/UserInterface/RiuRecentFileActionProvider.cpp @@ -0,0 +1,157 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA 2016 +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RiuRecentFileActionProvider.h" + +#include "RiaApplication.h" + +#include +#include +#include +#include + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuRecentFileActionProvider::RiuRecentFileActionProvider(int maxActionCount) + : m_maxActionCount(maxActionCount) +{ + createActions(); + updateActions(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuRecentFileActionProvider::~RiuRecentFileActionProvider() +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuRecentFileActionProvider::addFileName(const QString& fileName) +{ + QSettings settings; + QStringList files = settings.value("recentFileList").toStringList(); + files.removeAll(fileName); + files.prepend(fileName); + while (files.size() > m_maxActionCount) + files.removeLast(); + + settings.setValue("recentFileList", files); + + updateActions(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuRecentFileActionProvider::removeFileName(const QString& fileName) +{ + QSettings settings; + QStringList files = settings.value("recentFileList").toStringList(); + files.removeAll(fileName); + + settings.setValue("recentFileList", files); + + updateActions(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuRecentFileActionProvider::updateActions() +{ + QSettings settings; + QStringList files = settings.value("recentFileList").toStringList(); + + int numRecentFiles = qMin(files.size(), m_maxActionCount); + + for (int i = 0; i < numRecentFiles; ++i) { + QString text = tr("&%1 %2").arg(i + 1).arg(QFileInfo(files[i]).fileName()); + m_recentFileActions[i]->setText(text); + m_recentFileActions[i]->setData(files[i]); + m_recentFileActions[i]->setToolTip(files[i]); + m_recentFileActions[i]->setVisible(true); + } + + for (int j = numRecentFiles; j < m_maxActionCount; ++j) + m_recentFileActions[j]->setVisible(false); + + m_separatorAction->setVisible(numRecentFiles > 0); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RiuRecentFileActionProvider::actions() const +{ + std::vector actionItems; + actionItems.push_back(m_separatorAction); + + for (auto act : m_recentFileActions) + { + actionItems.push_back(act); + } + + return actionItems; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuRecentFileActionProvider::slotOpenRecentFile() +{ + QAction* action = qobject_cast(sender()); + if (action) + { + QString filename = action->data().toString(); + bool loadingSucceded = RiaApplication::instance()->openFile(filename); + + if (loadingSucceded) + { + addFileName(filename); + } + else + { + QMessageBox::warning(NULL, "File open", "Failed to import file located at\n" + filename); + + removeFileName(filename); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuRecentFileActionProvider::createActions() +{ + for (int i = 0; i < m_maxActionCount; ++i) + { + QAction* act = new QAction(this); + act->setVisible(false); + connect(act, SIGNAL(triggered()), this, SLOT(slotOpenRecentFile())); + + m_recentFileActions.push_back(act); + } + + m_separatorAction = new QAction(this); + m_separatorAction->setSeparator(true); +} diff --git a/ApplicationCode/UserInterface/RiuRecentFileActionProvider.h b/ApplicationCode/UserInterface/RiuRecentFileActionProvider.h new file mode 100644 index 0000000000..301466239b --- /dev/null +++ b/ApplicationCode/UserInterface/RiuRecentFileActionProvider.h @@ -0,0 +1,59 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Statoil ASA 2016 +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include +#include + +#include + +class QAction; + +//================================================================================================== +// +// +// +//================================================================================================== +class RiuRecentFileActionProvider : public QObject +{ + Q_OBJECT + +public: + RiuRecentFileActionProvider(int maxActionCount = 9); + ~RiuRecentFileActionProvider(); + + void addFileName(const QString& fileName); + std::vector actions() const; + +private slots: + void slotOpenRecentFile(); + +private: + void createActions(); + void updateActions(); + void removeFileName(const QString& fileName); + +private: + int m_maxActionCount; + + std::vector m_recentFileActions; + QAction* m_separatorAction; +}; + + diff --git a/ApplicationCode/UserInterface/RiuResultQwtPlot.cpp b/ApplicationCode/UserInterface/RiuResultQwtPlot.cpp index f1fc01fa0e..07b1b36ef7 100644 --- a/ApplicationCode/UserInterface/RiuResultQwtPlot.cpp +++ b/ApplicationCode/UserInterface/RiuResultQwtPlot.cpp @@ -64,33 +64,9 @@ RiuResultQwtPlot::~RiuResultQwtPlot() //-------------------------------------------------------------------------------------------------- void RiuResultQwtPlot::addCurve(const QString& curveName, const cvf::Color3f& curveColor, const std::vector& dateTimes, const std::vector& timeHistoryValues) { - CVF_ASSERT(dateTimes.size() == timeHistoryValues.size()); - - std::vector filteredTimeHistoryValues; - std::vector filteredDateTimes; - std::vector< std::pair > filteredIntervals; - - { - std::vector< std::pair > intervalsOfValidValues; - RigCurveDataTools::calculateIntervalsOfValidValues(timeHistoryValues, &intervalsOfValidValues); - - RigCurveDataTools::getValuesByIntervals(timeHistoryValues, intervalsOfValidValues, &filteredTimeHistoryValues); - RigCurveDataTools::getValuesByIntervals(dateTimes, intervalsOfValidValues, &filteredDateTimes); - - RigCurveDataTools::computePolyLineStartStopIndices(intervalsOfValidValues, &filteredIntervals); - } - RiuLineSegmentQwtPlotCurve* plotCurve = new RiuLineSegmentQwtPlotCurve("Curve 1"); - QPolygonF points; - for (size_t i = 0; i < filteredDateTimes.size(); i++) - { - double milliSecSinceEpoch = QwtDate::toDouble(filteredDateTimes[i]); - points << QPointF(milliSecSinceEpoch, filteredTimeHistoryValues[i]); - } - - plotCurve->setSamples(points); - plotCurve->setLineSegmentStartStopIndices(filteredIntervals); + plotCurve->setSamplesFromDateAndValues(dateTimes, timeHistoryValues, false); plotCurve->setTitle(curveName); plotCurve->setPen(QPen(QColor(curveColor.rByte(), curveColor.gByte(), curveColor.bByte()))); @@ -137,7 +113,7 @@ void RiuResultQwtPlot::deleteAllCurves() //-------------------------------------------------------------------------------------------------- QSize RiuResultQwtPlot::sizeHint() const { - return QSize(0, 0); + return QSize(100, 100); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/UserInterface/RiuResultTextBuilder.cpp b/ApplicationCode/UserInterface/RiuResultTextBuilder.cpp index 6f4fb754ef..f7604389bd 100644 --- a/ApplicationCode/UserInterface/RiuResultTextBuilder.cpp +++ b/ApplicationCode/UserInterface/RiuResultTextBuilder.cpp @@ -31,6 +31,8 @@ #include "RimReservoirCellResultsStorage.h" #include "RimEclipseView.h" #include "RimEclipseCellColors.h" +#include "RimFormationNames.h" +#include "RigFormationNames.h" @@ -109,6 +111,7 @@ QString RiuResultTextBuilder::mainResultText() QString topoText = this->topologyText("\n"); text += topoText; + appendDetails(text, formationDetails()); text += "\n"; appendDetails(text, nncDetails()); @@ -228,6 +231,51 @@ QString RiuResultTextBuilder::faultResultDetails() } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RiuResultTextBuilder::formationDetails() +{ + QString text; + RimCase* rimCase = m_reservoirView->eclipseCase(); + if(rimCase) + { + if(rimCase->activeFormationNames() && rimCase->activeFormationNames()->formationNamesData()) + { + RigFormationNames* formNames = rimCase->activeFormationNames()->formationNamesData(); + + size_t k = cvf::UNDEFINED_SIZE_T; + { + const RigCaseData* eclipseData = m_reservoirView->eclipseCase()->reservoirData(); + if(eclipseData) + { + if(m_cellIndex != cvf::UNDEFINED_SIZE_T) + { + size_t i = cvf::UNDEFINED_SIZE_T; + size_t j = cvf::UNDEFINED_SIZE_T; + + eclipseData->grid(m_gridIndex)->ijkFromCellIndex(m_cellIndex, &i, &j, &k); + } + } + } + + if (k != cvf::UNDEFINED_SIZE_T) + { + QString formName = formNames->formationNameFromKLayerIdx(k); + if(!formName.isEmpty()) + { + //text += "-- Formation details --\n"; + + text += QString("Formation Name: %1\n").arg(formName); + } + } + } + } + + return text; +} + + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -463,23 +511,33 @@ QString RiuResultTextBuilder::cellEdgeResultDetails() if (m_reservoirView->cellEdgeResult()->hasResult()) { - size_t resultIndices[6]; - QStringList resultNames; - m_reservoirView->cellEdgeResult()->gridScalarIndices(resultIndices); - m_reservoirView->cellEdgeResult()->gridScalarResultNames(&resultNames); + std::vector metaData; + m_reservoirView->cellEdgeResult()->cellEdgeMetaData(&metaData); + + std::set uniqueResultIndices; text += "-- Cell edge result data --\n"; for (int idx = 0; idx < 6; idx++) { - if (resultIndices[idx] == cvf::UNDEFINED_SIZE_T) continue; + size_t resultIndex = metaData[idx].m_resultIndex; + if (resultIndex == cvf::UNDEFINED_SIZE_T) continue; + + if (uniqueResultIndices.find(resultIndex) != uniqueResultIndices.end()) continue; + + size_t adjustedTimeStep = m_timeStepIndex; + if (metaData[idx].m_isStatic) + { + adjustedTimeStep = 0; + } - // Cell edge results are static, results are loaded for first time step only RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(m_reservoirView->cellResult()->porosityModel()); - cvf::ref resultAccessor = RigResultAccessorFactory::createResultAccessor(m_reservoirView->eclipseCase()->reservoirData(), m_gridIndex, porosityModel, 0, resultIndices[idx]); + cvf::ref resultAccessor = RigResultAccessorFactory::createResultAccessor(m_reservoirView->eclipseCase()->reservoirData(), m_gridIndex, porosityModel, adjustedTimeStep, resultIndex); if (resultAccessor.notNull()) { double scalarValue = resultAccessor->cellScalar(m_cellIndex); - text.append(QString("%1 : %2\n").arg(resultNames[idx]).arg(scalarValue)); + text.append(QString("%1 : %2\n").arg(metaData[idx].m_resultVariable).arg(scalarValue)); + + uniqueResultIndices.insert(resultIndex); } } } @@ -623,7 +681,13 @@ QString RiuResultTextBuilder::cellResultText(RimEclipseCellColors* resultColors) } else { - cvf::ref resultAccessor = RigResultAccessorFactory::createResultAccessor(eclipseCaseData, m_gridIndex, porosityModel, m_timeStepIndex, resultVar); + size_t adjustedTimeStep = m_timeStepIndex; + if (resultColors->hasStaticResult()) + { + adjustedTimeStep = 0; + } + + cvf::ref resultAccessor = RigResultAccessorFactory::createResultAccessor(eclipseCaseData, m_gridIndex, porosityModel, adjustedTimeStep, resultVar); if (resultAccessor.notNull()) { double scalarValue = resultAccessor->cellFaceScalar(m_cellIndex, m_face); diff --git a/ApplicationCode/UserInterface/RiuResultTextBuilder.h b/ApplicationCode/UserInterface/RiuResultTextBuilder.h index 25f1b6a7cf..543214c57f 100644 --- a/ApplicationCode/UserInterface/RiuResultTextBuilder.h +++ b/ApplicationCode/UserInterface/RiuResultTextBuilder.h @@ -54,6 +54,7 @@ class RiuResultTextBuilder QString gridResultDetails(); QString faultResultDetails(); + QString formationDetails(); QString cellEdgeResultDetails(); QString nncDetails(); diff --git a/ApplicationCode/UserInterface/RiuRmsNavigation.cpp b/ApplicationCode/UserInterface/RiuRmsNavigation.cpp index 75ddf0a614..2e3e0faafd 100644 --- a/ApplicationCode/UserInterface/RiuRmsNavigation.cpp +++ b/ApplicationCode/UserInterface/RiuRmsNavigation.cpp @@ -55,8 +55,9 @@ bool RiuRmsNavigation::handleInputEvent(QInputEvent* inputEvent) case QEvent::MouseButtonPress: { QMouseEvent * me = static_cast( inputEvent); - int translatedMousePosX = me->x(); - int translatedMousePosY = m_viewer->height() - me->y(); + + int translatedMousePosX, translatedMousePosY; + cvfEventPos(me->x(), me->y(), &translatedMousePosX, &translatedMousePosY); if (me->button() == Qt::MidButton) { @@ -74,37 +75,37 @@ bool RiuRmsNavigation::handleInputEvent(QInputEvent* inputEvent) } m_trackball->startNavigation(cvf::ManipulatorTrackball::ROTATE, translatedMousePosX, translatedMousePosY); - //m_viewer->setCursor(RICursors::get(RICursors::ROTATE)); m_isNavigating = true; m_hasMovedMouseDuringNavigation = false; isEventHandled = true; } - else if (me->button() == Qt::LeftButton) + else if (me->button() == Qt::RightButton) { if (me->modifiers() == Qt::NoModifier) { - QMouseEvent* we = static_cast ( inputEvent); - m_lastPosX = we->x(); - m_lastPosY = we->y(); - - m_zoomRay = m_viewer->mainCamera()->rayFromWindowCoordinates(translatedMousePosX, translatedMousePosY); - + m_trackball->startNavigation(cvf::ManipulatorTrackball::PAN, translatedMousePosX, translatedMousePosY); m_isNavigating = true; m_hasMovedMouseDuringNavigation = false; isEventHandled = true; - m_isZooming = true; } - } - else if (me->button() == Qt::RightButton) + } + else if (me->button() == Qt::LeftButton) { if (me->modifiers() == Qt::NoModifier) { - m_trackball->startNavigation(cvf::ManipulatorTrackball::PAN, translatedMousePosX, translatedMousePosY); + QMouseEvent* we = static_cast ( inputEvent); + m_lastPosX = we->x(); + m_lastPosY = we->y(); + + m_zoomRay = createZoomRay(translatedMousePosX, translatedMousePosY); + m_isNavigating = true; m_hasMovedMouseDuringNavigation = false; isEventHandled = true; + m_isZooming = true; } } + } break; case QEvent::MouseButtonRelease: @@ -137,8 +138,9 @@ bool RiuRmsNavigation::handleInputEvent(QInputEvent* inputEvent) if (m_isRotCenterInitialized) { QMouseEvent * me = static_cast( inputEvent); - int translatedMousePosX = me->x(); - int translatedMousePosY = m_viewer->height() - me->y(); + + int translatedMousePosX, translatedMousePosY; + cvfEventPos(me->x(), me->y(), &translatedMousePosX, &translatedMousePosY); if (m_isNavigating) { @@ -171,18 +173,13 @@ bool RiuRmsNavigation::handleInputEvent(QInputEvent* inputEvent) if (m_isRotCenterInitialized) { QWheelEvent* we = static_cast ( inputEvent); - int translatedMousePosX = we->x(); - int translatedMousePosY = m_viewer->height() - we->y(); - int delta = we->delta(); - cvf::ref ray; - if (delta < 0) - ray = m_viewer->mainCamera()->rayFromWindowCoordinates(translatedMousePosX, translatedMousePosY); - else - ray = m_viewer->mainCamera()->rayFromWindowCoordinates((int)(1.0*translatedMousePosX), (int)(1.0*translatedMousePosY)); + int translatedMousePosX, translatedMousePosY; + cvfEventPos(we->x(), we->y(), &translatedMousePosX, &translatedMousePosY); - zoomAlongRay(ray.p(), -delta); + cvf::ref ray = createZoomRay(translatedMousePosX, translatedMousePosY); + zoomAlongRay(ray.p(), -we->delta()); } isEventHandled = true; } diff --git a/ApplicationCode/UserInterface/RiuSelectionChangedHandler.cpp b/ApplicationCode/UserInterface/RiuSelectionChangedHandler.cpp index 97d33a0c75..61446f0b28 100644 --- a/ApplicationCode/UserInterface/RiuSelectionChangedHandler.cpp +++ b/ApplicationCode/UserInterface/RiuSelectionChangedHandler.cpp @@ -23,7 +23,7 @@ #include "RigCaseCellResultsData.h" #include "RigCaseData.h" -#include "RigFemTimeHistoryResultAccessor.h" +#include "RiuFemTimeHistoryResultAccessor.h" #include "RigGeoMechCaseData.h" #include "RigTimeHistoryResultAccessor.h" @@ -31,7 +31,7 @@ #include "RimEclipseCellColors.h" #include "RimEclipseView.h" #include "RimGeoMechCase.h" -#include "RimGeoMechCellColors.h" +#include "RimGeoMechResultDefinition.h" #include "RimGeoMechView.h" #include "RimProject.h" @@ -44,6 +44,8 @@ #include #include +#include "RigFemPartResultsCollection.h" +#include "RigFemPartCollection.h" //-------------------------------------------------------------------------------------------------- /// @@ -138,24 +140,59 @@ void RiuSelectionChangedHandler::addCurveFromSelectionItem(const RiuGeoMechSelec RimGeoMechView* geoMechView = geomSelectionItem->m_view.p(); if (geoMechView && - geoMechView->cellResult() && - geoMechView->cellResult()->hasResult() && + geoMechView->cellResultResultDefinition() && + geoMechView->cellResultResultDefinition()->hasResult() && geoMechView->geoMechCase() && geoMechView->geoMechCase()->geoMechData()) { - RigFemTimeHistoryResultAccessor timeHistResultAccessor(geoMechView->geoMechCase()->geoMechData(), geoMechView->cellResult->resultAddress(), - geomSelectionItem->m_gridIndex, geomSelectionItem->m_cellIndex, geomSelectionItem->m_localIntersectionPoint); + std::unique_ptr timeHistResultAccessor; + + if ( geomSelectionItem->m_hasIntersectionTriangle ) + { + timeHistResultAccessor = std::unique_ptr( + new RiuFemTimeHistoryResultAccessor(geoMechView->geoMechCase()->geoMechData(), + geoMechView->cellResultResultDefinition()->resultAddress(), + geomSelectionItem->m_gridIndex, + static_cast(geomSelectionItem->m_cellIndex), + geomSelectionItem->m_elementFace, + geomSelectionItem->m_localIntersectionPoint, + geomSelectionItem->m_intersectionTriangle)); + } + else + { + timeHistResultAccessor = std::unique_ptr( + new RiuFemTimeHistoryResultAccessor(geoMechView->geoMechCase()->geoMechData(), + geoMechView->cellResultResultDefinition()->resultAddress(), + geomSelectionItem->m_gridIndex, + static_cast(geomSelectionItem->m_cellIndex), + geomSelectionItem->m_elementFace, + geomSelectionItem->m_localIntersectionPoint)); + } QString curveName; curveName.append(geoMechView->geoMechCase()->caseUserDescription() + ", "); - caf::AppEnum resPosAppEnum = geoMechView->cellResult()->resultPositionType(); + caf::AppEnum resPosAppEnum = geoMechView->cellResultResultDefinition()->resultPositionType(); curveName.append(resPosAppEnum.uiText() + ", "); - curveName.append(geoMechView->cellResult()->resultFieldUiName()+ ", ") ; - curveName.append(geoMechView->cellResult()->resultComponentUiName() + ":\n"); - curveName.append(timeHistResultAccessor.topologyText()); + curveName.append(geoMechView->cellResultResultDefinition()->resultFieldUiName()+ ", ") ; + curveName.append(geoMechView->cellResultResultDefinition()->resultComponentUiName() + " "); + + if ( resPosAppEnum == RIG_ELEMENT_NODAL_FACE ) + { + if ( geomSelectionItem->m_elementFace >= 0 ) + { + curveName.append(", " + caf::AppEnum::textFromIndex(geomSelectionItem->m_elementFace)); + } + else + { + curveName.append(", from N[" + QString::number(timeHistResultAccessor->closestNodeId()) + "] transformed onto intersection"); + } + } + curveName.append("\n"); - std::vector timeHistoryValues = timeHistResultAccessor.timeHistoryValues(); + curveName.append(timeHistResultAccessor->topologyText()); + + std::vector timeHistoryValues = timeHistResultAccessor->timeHistoryValues(); QStringList stepNames = geoMechView->geoMechCase()->timeStepStrings(); std::vector dates = RimGeoMechCase::dateTimeVectorFromTimeStepStrings(stepNames); @@ -245,6 +282,8 @@ void RiuSelectionChangedHandler::updateResultInfo(const RiuSelectionItem* itemAd RimGeoMechView* geomView = geomSelectionItem->m_view.p(); RiuFemResultTextBuilder textBuilder(geomView, (int)geomSelectionItem->m_gridIndex, (int)geomSelectionItem->m_cellIndex, geomView->currentTimeStep()); textBuilder.setIntersectionPoint(geomSelectionItem->m_localIntersectionPoint); + textBuilder.setFace(geomSelectionItem->m_elementFace); + if (geomSelectionItem->m_hasIntersectionTriangle) textBuilder.setIntersectionTriangle(geomSelectionItem->m_intersectionTriangle); resultInfo = textBuilder.mainResultText(); diff --git a/ApplicationCode/UserInterface/RiuSelectionManager.cpp b/ApplicationCode/UserInterface/RiuSelectionManager.cpp index 8f778702c9..379fa14277 100644 --- a/ApplicationCode/UserInterface/RiuSelectionManager.cpp +++ b/ApplicationCode/UserInterface/RiuSelectionManager.cpp @@ -129,11 +129,40 @@ RiuEclipseSelectionItem::RiuEclipseSelectionItem(RimEclipseView* view, size_t gr //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RiuGeoMechSelectionItem::RiuGeoMechSelectionItem(RimGeoMechView* view, size_t gridIndex, size_t cellIndex, cvf::Color3f color, const cvf::Vec3d& localIntersectionPoint) +RiuGeoMechSelectionItem::RiuGeoMechSelectionItem(RimGeoMechView* view, + size_t gridIndex, + size_t cellIndex, + cvf::Color3f color, + int elementFace, + const cvf::Vec3d& localIntersectionPoint) : m_view(view), m_gridIndex(gridIndex), m_cellIndex(cellIndex), m_color(color), - m_localIntersectionPoint(localIntersectionPoint) + m_elementFace(elementFace), + m_localIntersectionPoint(localIntersectionPoint), + m_hasIntersectionTriangle(false) +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuGeoMechSelectionItem::RiuGeoMechSelectionItem(RimGeoMechView* view, + size_t gridIndex, + size_t cellIndex, + cvf::Color3f color, + int elementFace, + const cvf::Vec3d& localIntersectionPoint, + const std::array& intersectionTriangle) + : m_view(view), + m_gridIndex(gridIndex), + m_cellIndex(cellIndex), + m_color(color), + m_elementFace(elementFace), + m_localIntersectionPoint(localIntersectionPoint), + m_hasIntersectionTriangle(true), + m_intersectionTriangle(m_intersectionTriangle) { + } diff --git a/ApplicationCode/UserInterface/RiuSelectionManager.h b/ApplicationCode/UserInterface/RiuSelectionManager.h index a975e56aa2..4b91fc8608 100644 --- a/ApplicationCode/UserInterface/RiuSelectionManager.h +++ b/ApplicationCode/UserInterface/RiuSelectionManager.h @@ -27,6 +27,7 @@ #include #include +#include class RimEclipseView; class RiuSelectionChangedHandler; @@ -132,7 +133,20 @@ class RiuEclipseSelectionItem : public RiuSelectionItem class RiuGeoMechSelectionItem : public RiuSelectionItem { public: - explicit RiuGeoMechSelectionItem(RimGeoMechView* view, size_t gridIndex, size_t cellIndex, cvf::Color3f color, const cvf::Vec3d& localIntersectionPoint); + explicit RiuGeoMechSelectionItem(RimGeoMechView* view, + size_t gridIndex, + size_t cellIndex, + cvf::Color3f color, + int elementFace, + const cvf::Vec3d& localIntersectionPoint); + + explicit RiuGeoMechSelectionItem(RimGeoMechView* view, + size_t gridIndex, + size_t cellIndex, + cvf::Color3f color, + int elementFace, + const cvf::Vec3d& localIntersectionPoint, + const std::array& m_intersectionTriangle ); virtual ~RiuGeoMechSelectionItem() {}; virtual RiuSelectionType type() const @@ -145,6 +159,9 @@ class RiuGeoMechSelectionItem : public RiuSelectionItem size_t m_gridIndex; size_t m_cellIndex; cvf::Color3f m_color; + int m_elementFace; + bool m_hasIntersectionTriangle; + std::array m_intersectionTriangle; cvf::Vec3d m_localIntersectionPoint; }; diff --git a/ApplicationCode/UserInterface/RiuSimpleHistogramWidget.h b/ApplicationCode/UserInterface/RiuSimpleHistogramWidget.h index 2dd2a409fa..d00508f152 100644 --- a/ApplicationCode/UserInterface/RiuSimpleHistogramWidget.h +++ b/ApplicationCode/UserInterface/RiuSimpleHistogramWidget.h @@ -1,4 +1,27 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2011- Statoil ASA +// Copyright (C) 2013- Ceetron Solutions AS +// Copyright (C) 2011-2012 Ceetron AS +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + #include + class QPaintEvent; class QString; class QStringList; diff --git a/ApplicationCode/UserInterface/RiuSummaryQwtPlot.cpp b/ApplicationCode/UserInterface/RiuSummaryQwtPlot.cpp new file mode 100644 index 0000000000..ff057bd04a --- /dev/null +++ b/ApplicationCode/UserInterface/RiuSummaryQwtPlot.cpp @@ -0,0 +1,491 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RiuSummaryQwtPlot.h" + +#include "RiaApplication.h" + +#include "RimSummaryCurve.h" +#include "RimSummaryPlot.h" + +#include "RiuMainPlotWindow.h" +#include "RiuQwtScalePicker.h" + +#include "qwt_date_scale_draw.h" +#include "qwt_date_scale_engine.h" +#include "qwt_legend.h" +#include "qwt_plot_curve.h" +#include "qwt_plot_grid.h" +#include "qwt_plot_layout.h" +#include "qwt_plot_marker.h" +#include "qwt_plot_panner.h" +#include "qwt_plot_picker.h" +#include "qwt_plot_zoomer.h" +#include "qwt_scale_engine.h" +#include "qwt_symbol.h" + +#include +#include + +#include + + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +class RiuQwtPlotPicker : public QwtPlotPicker +{ +public: + RiuQwtPlotPicker(QWidget *canvas) + : QwtPlotPicker(canvas) + { + } + +protected: + //-------------------------------------------------------------------------------------------------- + /// + //-------------------------------------------------------------------------------------------------- + virtual QwtText trackerText(const QPoint& pos) const override + { + QwtText txt; + + const RiuSummaryQwtPlot* sumPlot = dynamic_cast(this->plot()); + if (sumPlot) + { + int closestYAxis = QwtPlot::yLeft; + QString timeString; + QString valueString; + QPointF closestPoint = sumPlot->closestCurvePoint(pos, &valueString, &timeString, &closestYAxis); + if (!closestPoint.isNull()) + { + QString str = valueString; + + if (!timeString.isEmpty()) + { + str += QString(" (%1)").arg(timeString); + } + + txt.setText(str); + } + + RiuSummaryQwtPlot* nonConstPlot = const_cast(sumPlot); + nonConstPlot->updateClosestCurvePointMarker(closestPoint, closestYAxis); + } + + return txt; + } +}; + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuSummaryQwtPlot::RiuSummaryQwtPlot(RimSummaryPlot* plotDefinition, QWidget* parent) : QwtPlot(parent) +{ + Q_ASSERT(plotDefinition); + m_plotDefinition = plotDefinition; + + m_grid = new QwtPlotGrid; + m_grid->attach(this); + + setDefaults(); + + // LeftButton for the zooming + m_zoomerLeft = new QwtPlotZoomer(canvas()); + m_zoomerLeft->setRubberBandPen(QColor(Qt::black)); + m_zoomerLeft->setTrackerMode(QwtPicker::AlwaysOff); + m_zoomerLeft->setTrackerPen(QColor(Qt::black)); + m_zoomerLeft->initMousePattern(1); + + // MidButton for the panning + QwtPlotPanner* panner = new QwtPlotPanner(canvas()); + panner->setMouseButton(Qt::MidButton); + + connect(m_zoomerLeft, SIGNAL(zoomed( const QRectF & )), SLOT(onZoomedSlot())); + connect(panner, SIGNAL(panned( int , int )), SLOT(onZoomedSlot())); + + // Attach a zoomer for the right axis + m_zoomerRight = new QwtPlotZoomer(canvas()); + m_zoomerRight->setAxis(xTop, yRight); + m_zoomerRight->setTrackerMode(QwtPicker::AlwaysOff); + m_zoomerRight->initMousePattern(1); + + + RiuQwtScalePicker* scalePicker = new RiuQwtScalePicker(this); + connect(scalePicker, SIGNAL(clicked(int, double)), this, SLOT(onAxisClicked(int, double))); + + // Create a plot picker to display values next to mouse cursor + m_plotPicker = new RiuQwtPlotPicker(this->canvas()); + m_plotPicker->setTrackerMode(QwtPicker::AlwaysOn); + + m_plotMarker = new QwtPlotMarker; + + // QwtPlotMarker takes ownership of the symbol, it is deleted in destructor of QwtPlotMarker + QwtSymbol* mySymbol = new QwtSymbol(QwtSymbol::Ellipse, Qt::NoBrush, QPen(Qt::black, 2.0), QSize(12, 12)); + m_plotMarker->setSymbol(mySymbol); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuSummaryQwtPlot::~RiuSummaryQwtPlot() +{ + m_grid->detach(); + delete m_grid; + + if (m_plotDefinition) + { + m_plotDefinition->handleViewerDeletion(); + } + + m_plotMarker->detach(); + delete m_plotMarker; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimSummaryPlot* RiuSummaryQwtPlot::ownerPlotDefinition() +{ + return m_plotDefinition; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuSummaryQwtPlot::currentVisibleWindow(QwtInterval* leftAxis, QwtInterval* rightAxis, QwtInterval* timeAxis) const +{ + *leftAxis = axisScaleDiv(yLeft).interval(); + *rightAxis = axisScaleDiv(yRight).interval(); + *timeAxis = axisScaleDiv(xBottom).interval(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuSummaryQwtPlot::setZoomWindow(const QwtInterval& leftAxis, const QwtInterval& rightAxis, const QwtInterval& timeAxis) +{ + { + QRectF zoomWindow; + zoomWindow.setLeft(timeAxis.minValue()); + zoomWindow.setRight(timeAxis.maxValue()); + zoomWindow.setTop(leftAxis.maxValue()); + zoomWindow.setBottom(leftAxis.minValue()); + + m_zoomerLeft->zoom(zoomWindow); + } + + { + QRectF zoomWindow; + zoomWindow.setLeft(timeAxis.minValue()); + zoomWindow.setRight(timeAxis.maxValue()); + zoomWindow.setTop(rightAxis.maxValue()); + zoomWindow.setBottom(rightAxis.minValue()); + + m_zoomerRight->zoom(zoomWindow); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QSize RiuSummaryQwtPlot::minimumSizeHint() const +{ + return QSize(0, 100); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QSize RiuSummaryQwtPlot::sizeHint() const +{ + return QSize(0, 0); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QPointF RiuSummaryQwtPlot::closestCurvePoint(const QPoint& cursorPosition, QString* valueString, QString* timeString, int* yAxis) const +{ + QPointF samplePoint; + + QwtPlotCurve* closestCurve = nullptr; + double distMin = DBL_MAX; + int closestPointSampleIndex = -1; + + const QwtPlotItemList& itmList = itemList(); + for (QwtPlotItemIterator it = itmList.begin(); it != itmList.end(); it++) + { + if ((*it)->rtti() == QwtPlotItem::Rtti_PlotCurve) + { + QwtPlotCurve* candidateCurve = static_cast(*it); + double dist = DBL_MAX; + int candidateSampleIndex = candidateCurve->closestPoint(cursorPosition, &dist); + if (dist < distMin) + { + closestCurve = candidateCurve; + distMin = dist; + closestPointSampleIndex = candidateSampleIndex; + } + } + } + + if (closestCurve && distMin < 50) + { + samplePoint = closestCurve->sample(closestPointSampleIndex); + + if (yAxis) *yAxis = closestCurve->yAxis(); + } + + + if (timeString) + { + const QwtScaleDraw* timeAxisScaleDraw = axisScaleDraw(QwtPlot::xBottom); + if (timeAxisScaleDraw) + { + *timeString = timeAxisScaleDraw->label(samplePoint.x()).text(); + } + } + + if (valueString && closestCurve) + { + const QwtScaleDraw* yAxisScaleDraw = axisScaleDraw(closestCurve->yAxis()); + if (yAxisScaleDraw) + { + *valueString = yAxisScaleDraw->label(samplePoint.y()).text(); + } + } + + return samplePoint; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuSummaryQwtPlot::updateClosestCurvePointMarker(const QPointF& closestPoint, int yAxis) +{ + bool replotRequired = false; + + if (!closestPoint.isNull()) + { + if (!m_plotMarker->plot()) + { + m_plotMarker->attach(this); + + replotRequired = true; + } + + if (m_plotMarker->value() != closestPoint) + { + m_plotMarker->setValue(closestPoint.x(), closestPoint.y()); + + // Set y-axis to be able to support more than one y-axis. Default y-axis is left axis. + // TODO : Should use a color or other visual indicator to show what axis the curve relates to + m_plotMarker->setYAxis(yAxis); + + replotRequired = true; + } + } + else + { + if (m_plotMarker->plot()) + { + m_plotMarker->detach(); + + replotRequired = true; + } + } + + if (replotRequired) this->replot(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuSummaryQwtPlot::setDefaults() +{ + QPalette newPalette(palette()); + newPalette.setColor(QPalette::Background, Qt::white); + setPalette(newPalette); + + setAutoFillBackground(true); + setCanvasBackground(Qt::white); + + QFrame* canvasFrame = dynamic_cast(canvas()); + if (canvasFrame) + { + canvasFrame->setFrameShape(QFrame::NoFrame); + } + + canvas()->setMouseTracking(true); + canvas()->installEventFilter(this); + + QPen gridPen(Qt::SolidLine); + gridPen.setColor(Qt::lightGray); + m_grid->setPen(gridPen); + + enableAxis(QwtPlot::xBottom, true); + enableAxis(QwtPlot::yLeft, true); + enableAxis(QwtPlot::xTop, false); + enableAxis(QwtPlot::yRight, false); + + plotLayout()->setAlignCanvasToScales(true); + + useDateBasedTimeAxis(); + + QFont xAxisFont = axisFont(QwtPlot::xBottom); + xAxisFont.setPixelSize(11); + setAxisFont(QwtPlot::xBottom, xAxisFont); + setAxisMaxMinor(QwtPlot::xBottom, 2); + + QFont yAxisFont = axisFont(QwtPlot::yLeft); + yAxisFont.setPixelSize(11); + setAxisFont(QwtPlot::yLeft, yAxisFont); + + setAxisMaxMinor(QwtPlot::yLeft, 3); + + QwtText axisTitleY = axisTitle(QwtPlot::yLeft); + QFont yAxisTitleFont = axisTitleY.font(); + yAxisTitleFont.setPixelSize(11); + yAxisTitleFont.setBold(false); + axisTitleY.setFont(yAxisTitleFont); + axisTitleY.setRenderFlags(Qt::AlignRight); + setAxisTitle(QwtPlot::yLeft, axisTitleY); + + + QwtLegend* legend = new QwtLegend(this); + // The legend will be deleted in the destructor of the plot or when + // another legend is inserted. + this->insertLegend(legend, BottomLegend); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuSummaryQwtPlot::useDateBasedTimeAxis() +{ + QwtDateScaleDraw* scaleDraw = new QwtDateScaleDraw(Qt::UTC); + scaleDraw->setDateFormat(QwtDate::Year, QString("dd-MM-yyyy")); + + QwtDateScaleEngine* scaleEngine = new QwtDateScaleEngine(Qt::UTC); + setAxisScaleEngine(QwtPlot::xBottom, scaleEngine); + setAxisScaleDraw(QwtPlot::xBottom, scaleDraw); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuSummaryQwtPlot::useTimeBasedTimeAxis() +{ + setAxisScaleEngine(QwtPlot::xBottom, new QwtLinearScaleEngine()); + setAxisScaleDraw(QwtPlot::xBottom, new QwtScaleDraw()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RiuSummaryQwtPlot::eventFilter(QObject* watched, QEvent* event) +{ + if(watched == canvas()) + { + QMouseEvent* mouseEvent = dynamic_cast(event); + if(mouseEvent) + { + if(mouseEvent->button() == Qt::LeftButton && mouseEvent->type() == QMouseEvent::MouseButtonRelease) + { + selectClosestCurve(mouseEvent->pos()); + } + } + } + + return QwtPlot::eventFilter(watched, event); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuSummaryQwtPlot::leaveEvent(QEvent *) +{ + if (m_plotMarker->plot()) + { + m_plotMarker->detach(); + + replot(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuSummaryQwtPlot::selectClosestCurve(const QPoint& pos) +{ + QwtPlotCurve* closestCurve = NULL; + double distMin = DBL_MAX; + + const QwtPlotItemList& itmList = itemList(); + for(QwtPlotItemIterator it = itmList.begin(); it != itmList.end(); it++) + { + if((*it)->rtti() == QwtPlotItem::Rtti_PlotCurve) + { + QwtPlotCurve* candidateCurve = static_cast(*it); + double dist = DBL_MAX; + candidateCurve->closestPoint(pos, &dist); + if(dist < distMin) + { + closestCurve = candidateCurve; + distMin = dist; + } + } + } + + if(closestCurve && distMin < 20) + { + RimSummaryCurve* selectedCurve = m_plotDefinition->findRimCurveFromQwtCurve(closestCurve); + if(selectedCurve) + { + RiaApplication::instance()->getOrCreateAndShowMainPlotWindow()->selectAsCurrentItem(selectedCurve); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuSummaryQwtPlot::onZoomedSlot() +{ + QwtInterval left, right, time; + currentVisibleWindow(&left, &right, &time); + + this->setZoomWindow(left, right, time); + + m_plotDefinition->updateZoomFromQwt(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuSummaryQwtPlot::onAxisClicked(int axis, double value) +{ + if (!m_plotDefinition) return; + + m_plotDefinition->selectAxisInPropertyEditor(axis); +} diff --git a/ApplicationCode/UserInterface/RiuSummaryQwtPlot.h b/ApplicationCode/UserInterface/RiuSummaryQwtPlot.h new file mode 100644 index 0000000000..7c48f489cb --- /dev/null +++ b/ApplicationCode/UserInterface/RiuSummaryQwtPlot.h @@ -0,0 +1,90 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "qwt_plot.h" +#include "cafPdmPointer.h" + +#include + +class QwtPlotCurve; +class QwtPlotGrid; +class QwtPlotZoomer; +class QwtInterval; +class QwtPicker; +class QwtPlotMarker; + +class RimSummaryPlot; + +//================================================================================================== +// +// +// +//================================================================================================== +class RiuSummaryQwtPlot : public QwtPlot +{ + Q_OBJECT; +public: + RiuSummaryQwtPlot(RimSummaryPlot* plotDefinition, QWidget* parent = NULL); + virtual ~RiuSummaryQwtPlot(); + + RimSummaryPlot* ownerPlotDefinition(); + + void useDateBasedTimeAxis(); + void useTimeBasedTimeAxis(); + + void currentVisibleWindow(QwtInterval* leftAxis, + QwtInterval* rightAxis, + QwtInterval* timeAxis) const; + + void setZoomWindow(const QwtInterval& leftAxis, + const QwtInterval& rightAxis, + const QwtInterval& timeAxis); + +protected: + virtual bool eventFilter(QObject* watched, QEvent* event) override; + virtual void leaveEvent(QEvent *) override; + + virtual QSize sizeHint() const override; + virtual QSize minimumSizeHint() const override; + +private: + friend class RiuQwtPlotPicker; + QPointF closestCurvePoint(const QPoint& pos, QString* valueString, QString* timeString, int* yAxis) const; + void updateClosestCurvePointMarker(const QPointF& pos, int yAxis); + + void setDefaults(); + void selectClosestCurve(const QPoint& pos); + void showToolTip(const QPoint& pos); + +private slots: + void onZoomedSlot( ); + void onAxisClicked(int axis, double value); + +private: + QwtPlotGrid* m_grid; + QwtPicker* m_plotPicker; + QwtPlotMarker* m_plotMarker; + + caf::PdmPointer m_plotDefinition; + + QPointer m_zoomerLeft; + QPointer m_zoomerRight; +}; + diff --git a/ApplicationCode/UserInterface/RiuToolTipMenu.cpp b/ApplicationCode/UserInterface/RiuToolTipMenu.cpp new file mode 100644 index 0000000000..3f80ee6e41 --- /dev/null +++ b/ApplicationCode/UserInterface/RiuToolTipMenu.cpp @@ -0,0 +1,58 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RiuToolTipMenu.h" + +#include +#include + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuToolTipMenu::RiuToolTipMenu(QWidget * parent) : QMenu(parent) +{ + +} + +bool RiuToolTipMenu::event(QEvent* e) +{ + if (e->type() == QEvent::ToolTip) + { + QHelpEvent* he = dynamic_cast(e); + QAction* act = actionAt(he->pos()); + if (act) + { + // Remove ampersand as this is used to define shortcut key + QString actionTextWithoutAmpersand = act->text().remove("&"); + + if (actionTextWithoutAmpersand != act->toolTip()) + { + QToolTip::showText(he->globalPos(), act->toolTip(), this); + } + + return true; + } + } + else if (e->type() == QEvent::Paint && QToolTip::isVisible()) + { + QToolTip::hideText(); + } + + return QMenu::event(e); +} diff --git a/ApplicationCode/UserInterface/RiuToolTipMenu.h b/ApplicationCode/UserInterface/RiuToolTipMenu.h new file mode 100644 index 0000000000..c792551dff --- /dev/null +++ b/ApplicationCode/UserInterface/RiuToolTipMenu.h @@ -0,0 +1,32 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016 Statoil ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +class RiuToolTipMenu : public QMenu +{ +public: + RiuToolTipMenu(QWidget * parent); + + bool event(QEvent* e); +}; diff --git a/ApplicationCode/UserInterface/RiuTreeViewEventFilter.cpp b/ApplicationCode/UserInterface/RiuTreeViewEventFilter.cpp index 5b33d7662e..eedc2637a5 100644 --- a/ApplicationCode/UserInterface/RiuTreeViewEventFilter.cpp +++ b/ApplicationCode/UserInterface/RiuTreeViewEventFilter.cpp @@ -28,6 +28,7 @@ #include "RimIdenticalGridCaseGroup.h" #include "RiuMainWindow.h" +#include "cafCmdFeature.h" #include "cafCmdFeatureManager.h" #include "cafPdmUiTreeView.h" #include "cafSelectionManager.h" @@ -54,64 +55,50 @@ bool RiuTreeViewEventFilter::eventFilter(QObject *obj, QEvent *event) { QKeyEvent* keyEvent = static_cast(event); - QString featureToActivate; - caf::PdmUiItem* uiItem = caf::SelectionManager::instance()->selectedItem(); if (uiItem) { - if (dynamic_cast(uiItem) - || dynamic_cast(uiItem) - || dynamic_cast(uiItem) - || dynamic_cast(uiItem)) + if (keyEvent->matches(QKeySequence::Copy)) { - if (keyEvent->matches(QKeySequence::Copy)) - { - featureToActivate = "RicCopyReferencesToClipboardFeature"; - } - } + QAction* actionToTrigger = caf::CmdFeatureManager::instance()->action("RicCopyReferencesToClipboardFeature"); + assert(actionToTrigger); + + actionToTrigger->trigger(); - if (keyEvent->matches(QKeySequence::Paste)) + keyEvent->setAccepted(true); + return true; + } + else if (keyEvent->matches(QKeySequence::Paste)) { - if (dynamic_cast(uiItem) - || dynamic_cast(uiItem)) - { - featureToActivate = "RicPasteEclipseCasesFeature"; - } - else if (dynamic_cast(uiItem) - || dynamic_cast(uiItem)) - { - featureToActivate = "RicPasteEclipseViewsFeature"; - } - else if (dynamic_cast(uiItem) - || dynamic_cast(uiItem)) + std::vector matches = caf::CmdFeatureManager::instance()->commandFeaturesMatchingSubString("Paste"); + + for (caf::CmdFeature* feature : matches) { - featureToActivate = "RicPasteGeoMechViewsFeature"; + if (feature->canFeatureBeExecuted()) + { + feature->actionTriggered(false); + + keyEvent->setAccepted(true); + return true; + } } } } - if (!featureToActivate.isEmpty()) + if (!RiuMainWindow::instance()->projectTreeView()->isTreeItemEditWidgetActive()) { - QAction* actionToTrigger = caf::CmdFeatureManager::instance()->action(featureToActivate); - assert(actionToTrigger); - - actionToTrigger->trigger(); - - keyEvent->setAccepted(true); - return true; - } - - switch (keyEvent->key()) - { - case Qt::Key_Space: - case Qt::Key_Enter: - case Qt::Key_Return: - case Qt::Key_Select: + switch (keyEvent->key()) { - RicToggleItemsFeatureImpl::setObjectToggleStateForSelection(RicToggleItemsFeatureImpl::TOGGLE); + case Qt::Key_Space: + case Qt::Key_Enter: + case Qt::Key_Return: + case Qt::Key_Select: + { + RicToggleItemsFeatureImpl::setObjectToggleStateForSelection(RicToggleItemsFeatureImpl::TOGGLE); - keyEvent->setAccepted(true); - return true; + keyEvent->setAccepted(true); + return true; + } } } } diff --git a/ApplicationCode/UserInterface/RiuViewer.cpp b/ApplicationCode/UserInterface/RiuViewer.cpp index f4f7e6a7eb..be64e732c4 100644 --- a/ApplicationCode/UserInterface/RiuViewer.cpp +++ b/ApplicationCode/UserInterface/RiuViewer.cpp @@ -37,6 +37,7 @@ #include "RiuSimpleHistogramWidget.h" #include "RiuViewerCommands.h" +#include "cafCategoryLegend.h" #include "cafCeetronPlusNavigation.h" #include "cafEffectGenerator.h" @@ -182,6 +183,7 @@ RiuViewer::~RiuViewer() m_rimView->uiCapability()->updateUiIconFromToggleField(); m_rimView->cameraPosition = m_mainCamera->viewMatrix(); + m_rimView->cameraPointOfInterest = pointOfInterest(); } delete m_infoLabel; delete m_animationProgress; @@ -196,7 +198,7 @@ RiuViewer::~RiuViewer() //-------------------------------------------------------------------------------------------------- void RiuViewer::setDefaultView() { - cvf::BoundingBox bb = m_renderingSequence->boundingBox(); + cvf::BoundingBox bb = m_mainRendering->boundingBox(); if (!bb.isValid()) { bb.add(cvf::Vec3d(-1, -1, -1)); @@ -269,7 +271,7 @@ void RiuViewer::mouseReleaseEvent(QMouseEvent* event) //-------------------------------------------------------------------------------------------------- void RiuViewer::slotEndAnimation() { - cvf::Rendering* firstRendering = m_renderingSequence->firstRendering(); + cvf::Rendering* firstRendering = m_mainRendering.p(); CVF_ASSERT(firstRendering); if (m_rimView) m_rimView->endAnimation(); @@ -484,18 +486,73 @@ void RiuViewer::removeAllColorLegends() //-------------------------------------------------------------------------------------------------- void RiuViewer::addColorLegendToBottomLeftCorner(cvf::OverlayItem* legend) { - cvf::Rendering* firstRendering = m_renderingSequence->firstRendering(); + cvf::Rendering* firstRendering = m_mainRendering.p(); CVF_ASSERT(firstRendering); if (legend) { updateLegendTextAndTickMarkColor(legend); - legend->setLayout(cvf::OverlayItem::VERTICAL, cvf::OverlayItem::BOTTOM_LEFT); firstRendering->addOverlayItem(legend); m_visibleLegends.push_back(legend); } + + // Category count used to switch between standard height and full height of legend + const size_t categoryThreshold = 13; + + std::vector categoryLegends; + std::vector overlayItems; + for (auto legend : m_visibleLegends) + { + legend->setLayout(cvf::OverlayItem::VERTICAL, cvf::OverlayItem::BOTTOM_LEFT); + + caf::CategoryLegend* catLegend = dynamic_cast(legend.p()); + if (catLegend) + { + if (catLegend->categoryCount() > categoryThreshold) + { + categoryLegends.push_back(catLegend); + } + else + { + catLegend->setSizeHint(cvf::Vec2ui(200, 200)); + } + } + else + { + overlayItems.push_back(legend.p()); + } + } + + if (categoryLegends.size() > 0) + { + const int border = 3; + const int categoryWidth = 150; + + // This value is taken from OverlayAxisCross, as the axis cross is always shown in the lower left corner + const int axisCrossHeight = 120; + + int height = static_cast(m_mainCamera->viewport()->height()); + int xPos = border; + + int yPos = axisCrossHeight + 2*border; + + for (auto catLegend : categoryLegends) + { + catLegend->setLayoutFixedPosition(cvf::Vec2i(xPos, yPos)); + catLegend->setSizeHint(cvf::Vec2ui(categoryWidth, height - 2*border - axisCrossHeight)); + + xPos += categoryWidth + border; + } + + for (auto item : overlayItems) + { + item->setLayoutFixedPosition(cvf::Vec2i(xPos, yPos)); + + yPos += item->sizeHint().y() + border; + } + } } //-------------------------------------------------------------------------------------------------- @@ -549,7 +606,7 @@ void RiuViewer::navigationPolicyUpdate() //-------------------------------------------------------------------------------------------------- void RiuViewer::setCurrentFrame(int frameIndex) { - cvf::Rendering* firstRendering = m_renderingSequence->firstRendering(); + cvf::Rendering* firstRendering = m_mainRendering.p(); CVF_ASSERT(firstRendering); if (m_rimView) m_rimView->setCurrentTimeStep(frameIndex); @@ -575,6 +632,29 @@ void RiuViewer::optimizeClippingPlanes() caf::Viewer::optimizeClippingPlanes(); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuViewer::resizeGL(int width, int height) +{ + caf::Viewer::resizeGL(width, height); + + bool hasCategoryLegend = false; + for (size_t i = 0; i < m_visibleLegends.size(); i++) + { + caf::CategoryLegend* categoryLegend = dynamic_cast(m_visibleLegends.at(i)); + if (categoryLegend) + { + hasCategoryLegend = true; + } + } + + if (hasCategoryLegend) + { + m_rimView->updateCurrentTimeStepAndRedraw(); + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -620,6 +700,58 @@ void RiuViewer::setAxisLabels(const cvf::String& xLabel, const cvf::String& yLab m_axisCross->setAxisLabels(xLabel, yLabel, zLabel); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Vec3d RiuViewer::lastPickPositionInDomainCoords() const +{ + CVF_ASSERT(m_viewerCommands); + + return m_viewerCommands->lastPickPositionInDomainCoords(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmObject* RiuViewer::lastPickedObject() const +{ + CVF_ASSERT(m_viewerCommands); + + return m_viewerCommands->currentPickedObject(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::OverlayItem* RiuViewer::pickFixedPositionedLegend(int winPosX, int winPosY) +{ + int translatedMousePosX = winPosX; + int translatedMousePosY = height() - winPosY; + + for (auto overlayItem : m_visibleLegends) + { + if (overlayItem->layoutScheme() == cvf::OverlayItem::FIXED_POSITION && + overlayItem->pick(translatedMousePosX, translatedMousePosY, overlayItem->fixedPosition(), overlayItem->sizeHint())) + { + return overlayItem.p(); + } + } + + return nullptr; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuViewer::updateParallelProjectionSettings(RiuViewer* sourceViewer) +{ + if (!sourceViewer || sourceViewer->m_navigationPolicy.isNull()) return; + + cvf::Vec3d poi = sourceViewer->m_navigationPolicy->pointOfInterest(); + this->updateParallelProjectionHeightFromMoveZoom(poi); + this->updateParallelProjectionCameraPosFromPointOfInterestMove(poi); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -635,6 +767,13 @@ void RiuViewer::updateLegendTextAndTickMarkColor(cvf::OverlayItem* legend) scalarMapperLegend->setColor(contrastColor); scalarMapperLegend->setLineColor(contrastColor); } + + caf::CategoryLegend* categoryLegend = dynamic_cast(legend); + if (categoryLegend) + { + categoryLegend->setColor(contrastColor); + categoryLegend->setLineColor(contrastColor); + } } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/UserInterface/RiuViewer.h b/ApplicationCode/UserInterface/RiuViewer.h index 504e51f620..525ea5342c 100644 --- a/ApplicationCode/UserInterface/RiuViewer.h +++ b/ApplicationCode/UserInterface/RiuViewer.h @@ -89,12 +89,20 @@ class RiuViewer : public caf::Viewer void setAxisLabels(const cvf::String& xLabel, const cvf::String& yLabel, const cvf::String& zLabel); + cvf::Vec3d lastPickPositionInDomainCoords() const; + caf::PdmObject* lastPickedObject() const; + + cvf::OverlayItem* pickFixedPositionedLegend(int winPosX, int winPosY); + + void updateParallelProjectionSettings(RiuViewer* sourceViewer); + public slots: virtual void slotSetCurrentFrame(int frameIndex); virtual void slotEndAnimation(); protected: virtual void optimizeClippingPlanes(); + virtual void resizeGL(int width, int height); private: void updateTextAndTickMarkColorForOverlayItems(); diff --git a/ApplicationCode/UserInterface/RiuViewerCommands.cpp b/ApplicationCode/UserInterface/RiuViewerCommands.cpp index 81e5fd5e94..a6d0a795f7 100644 --- a/ApplicationCode/UserInterface/RiuViewerCommands.cpp +++ b/ApplicationCode/UserInterface/RiuViewerCommands.cpp @@ -19,10 +19,13 @@ #include "RiuViewerCommands.h" +#include "RiaApplication.h" + #include "RicViewerEventInterface.h" #include "RicEclipsePropertyFilterNewExec.h" #include "RicGeoMechPropertyFilterNewExec.h" #include "RicRangeFilterNewExec.h" +#include "WellPathCommands/RicWellPathViewerEventHandler.h" #include "RigCaseData.h" #include "RigFault.h" @@ -32,17 +35,20 @@ #include "RimCellEdgeColors.h" #include "RimContextCommandBuilder.h" -#include "RimCrossSection.h" +#include "RimIntersection.h" #include "RimDefines.h" #include "RimEclipseCase.h" #include "RimEclipseCellColors.h" #include "RimEclipseFaultColors.h" #include "RimEclipseView.h" #include "RimEclipseWell.h" +#include "RimFault.h" #include "RimFaultCollection.h" #include "RimGeoMechCase.h" #include "RimGeoMechCellColors.h" #include "RimGeoMechView.h" +#include "RimIntersectionBox.h" +#include "RimLegendConfig.h" #include "RimTernaryLegendConfig.h" #include "RimViewController.h" #include "RimWellPath.h" @@ -52,9 +58,10 @@ #include "RiuSelectionManager.h" #include "RiuViewer.h" -#include "RivCrossSectionSourceInfo.h" #include "RivFemPartGeometryGenerator.h" #include "RivFemPickSourceInfo.h" +#include "RivIntersectionBoxSourceInfo.h" +#include "RivIntersectionSourceInfo.h" #include "RivSourceInfo.h" #include "RivTernarySaturationOverlayItem.h" #include "RivWellPathSourceInfo.h" @@ -70,11 +77,11 @@ #include "cvfOverlayScalarMapperLegend.h" #include "cvfPart.h" -#include "WellPathCommands/RicWellPathViewerEventHandler.h" - #include #include #include +#include + //================================================================================================== @@ -90,10 +97,11 @@ RiuViewerCommands::RiuViewerCommands(RiuViewer* ownerViewer) : QObject(ownerViewer), m_viewer(ownerViewer), m_currentGridIdx(-1), - m_currentCellIndex(-1) + m_currentCellIndex(-1), + m_currentPickPositionInDomainCoords(cvf::Vec3d::UNDEFINED) { { - caf::CmdFeature* cmdFeature = caf::CmdFeatureManager::instance()->getCommandFeature("RicNewPolylineCrossSectionFeature"); + caf::CmdFeature* cmdFeature = caf::CmdFeatureManager::instance()->getCommandFeature("RicNewPolylineIntersectionFeature"); CVF_ASSERT(cmdFeature); m_viewerEventHandlers.push_back(dynamic_cast(cmdFeature)); @@ -127,6 +135,7 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event) { m_currentGridIdx = cvf::UNDEFINED_SIZE_T; m_currentCellIndex = cvf::UNDEFINED_SIZE_T; + m_currentPickedObject = nullptr; int winPosX = event->x(); int winPosY = event->y(); @@ -135,24 +144,41 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event) uint firstPartTriangleIndex = cvf::UNDEFINED_UINT; cvf::Vec3d localIntersectionPoint(cvf::Vec3d::ZERO); + cvf::Vec3d globalIntersectionPoint(cvf::Vec3d::ZERO); cvf::Part* firstHitPart = NULL; cvf::Part* nncFirstHitPart = NULL; - cvf::HitItemCollection hitItems; + m_currentPickPositionInDomainCoords = cvf::Vec3d::UNDEFINED; + cvf::HitItemCollection hitItems; if (m_viewer->rayPick(winPosX, winPosY, &hitItems)) { - extractIntersectionData(hitItems, &localIntersectionPoint, &firstHitPart, &firstPartTriangleIndex, &nncFirstHitPart, NULL); + extractIntersectionData(hitItems, &localIntersectionPoint, &globalIntersectionPoint, &firstHitPart, &firstPartTriangleIndex, &nncFirstHitPart, NULL); + + cvf::Vec3d displayModelOffset = cvf::Vec3d::ZERO; + + RimView* activeView = RiaApplication::instance()->activeReservoirView(); + CVF_ASSERT(activeView); + + RimCase* rimCase = NULL; + activeView->firstAncestorOrThisOfType(rimCase); + if (rimCase) + { + displayModelOffset = rimCase->displayModelOffset(); + } + + m_currentPickPositionInDomainCoords = localIntersectionPoint + displayModelOffset; } if (firstHitPart && firstPartTriangleIndex != cvf::UNDEFINED_UINT) { const RivSourceInfo* rivSourceInfo = dynamic_cast(firstHitPart->sourceInfo()); const RivFemPickSourceInfo* femSourceInfo = dynamic_cast(firstHitPart->sourceInfo()); - const RivCrossSectionSourceInfo* crossSectionSourceInfo = dynamic_cast(firstHitPart->sourceInfo()); + const RivIntersectionSourceInfo* crossSectionSourceInfo = dynamic_cast(firstHitPart->sourceInfo()); + const RivIntersectionBoxSourceInfo* intersectionBoxSourceInfo = dynamic_cast(firstHitPart->sourceInfo()); - if (rivSourceInfo || femSourceInfo || crossSectionSourceInfo) + if (rivSourceInfo || femSourceInfo || crossSectionSourceInfo || intersectionBoxSourceInfo) { if (rivSourceInfo) { @@ -173,10 +199,17 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event) { findCellAndGridIndex(crossSectionSourceInfo, firstPartTriangleIndex, &m_currentCellIndex, &m_currentGridIdx); m_currentFaceIndex = cvf::StructGridInterface::NO_FACE; - m_currentCrossSection = const_cast(crossSectionSourceInfo->crossSection()); + m_currentPickedObject = const_cast(crossSectionSourceInfo->crossSection()); menu.addAction(QString("Hide intersection"), this, SLOT(slotHideIntersection())); } + else if (intersectionBoxSourceInfo) + { + findCellAndGridIndex(intersectionBoxSourceInfo, firstPartTriangleIndex, &m_currentCellIndex, &m_currentGridIdx); + m_currentFaceIndex = cvf::StructGridInterface::NO_FACE; + + m_currentPickedObject = const_cast(intersectionBoxSourceInfo->intersectionBox()); + } // IJK -slice commands @@ -188,6 +221,15 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event) menu.addAction(QIcon(":/CellFilter_Range.png"), QString("I-slice range filter"), this, SLOT(slotRangeFilterI())); menu.addAction(QIcon(":/CellFilter_Range.png"), QString("J-slice range filter"), this, SLOT(slotRangeFilterJ())); menu.addAction(QIcon(":/CellFilter_Range.png"), QString("K-slice range filter"), this, SLOT(slotRangeFilterK())); + + menu.addSeparator(); + menu.addAction(caf::CmdFeatureManager::instance()->action("RicNewPolylineIntersectionFeature")); + menu.addAction(caf::CmdFeatureManager::instance()->action("RicIntersectionBoxAtPosFeature")); + menu.addAction(caf::CmdFeatureManager::instance()->action("RicIntersectionBoxXSliceFeature")); + menu.addAction(caf::CmdFeatureManager::instance()->action("RicIntersectionBoxYSliceFeature")); + menu.addAction(caf::CmdFeatureManager::instance()->action("RicIntersectionBoxZSliceFeature")); + + menu.addSeparator(); } RimEclipseView* eclipseView = dynamic_cast(m_reservoirView.p()); @@ -253,7 +295,7 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event) commandIds << "RicNewWellLogFileCurveFeature"; commandIds << "RicNewWellLogCurveExtractionFeature"; - commandIds << "RicNewWellPathCrossSectionFeature"; + commandIds << "RicNewWellPathIntersectionFeature"; } } @@ -265,7 +307,7 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event) { caf::SelectionManager::instance()->setSelectedItem(well); - commandIds << "RicNewSimWellCrossSectionFeature"; + commandIds << "RicNewSimWellIntersectionFeature"; } } @@ -275,12 +317,11 @@ void RiuViewerCommands::displayContextMenu(QMouseEvent* event) if (!firstHitPart) { commandIds << "RicLinkViewFeature"; - commandIds << "RicUnLinkViewFeature"; commandIds << "RicShowLinkOptionsFeature"; commandIds << "RicSetMasterViewFeature"; + commandIds << "RicUnLinkViewFeature"; } - commandIds << "RicNewPolylineCrossSectionFeature"; RimContextCommandBuilder::appendCommandsToMenu(commandIds, &menu); @@ -365,11 +406,7 @@ void RiuViewerCommands::slotHideFault() RimFault* rimFault = eclipseView->faultCollection()->findFaultByName(faultName); if (rimFault) { - caf::PdmUiFieldHandle* uiFieldHandle = rimFault->showFault.uiCapability(); - if (uiFieldHandle) - { - uiFieldHandle->setValueFromUi(!rimFault->showFault); - } + rimFault->showFault.setValueWithFieldChanged(!rimFault->showFault); } } } @@ -407,10 +444,11 @@ void RiuViewerCommands::slotAddGeoMechPropertyFilter() //-------------------------------------------------------------------------------------------------- void RiuViewerCommands::slotHideIntersection() { - if (m_currentCrossSection) + RimIntersection* rimIntersection = dynamic_cast(currentPickedObject()); + if (rimIntersection) { - m_currentCrossSection->isActive = false; - m_currentCrossSection->updateConnectedEditors(); + rimIntersection->isActive = false; + rimIntersection->updateConnectedEditors(); if (m_reservoirView) { @@ -433,7 +471,12 @@ void RiuViewerCommands::handlePickAction(int winPosX, int winPosY, Qt::KeyboardM size_t cellIndex = cvf::UNDEFINED_SIZE_T; size_t nncIndex = cvf::UNDEFINED_SIZE_T; cvf::StructGridInterface::FaceType face = cvf::StructGridInterface::NO_FACE; + int gmFace = -1; + bool intersectionHit = false; + std::array intersectionTriangleHit; + cvf::Vec3d localIntersectionPoint(cvf::Vec3d::ZERO); + cvf::Vec3d globalIntersectionPoint(cvf::Vec3d::ZERO); // Extract all the above information from the pick { @@ -446,9 +489,9 @@ void RiuViewerCommands::handlePickAction(int winPosX, int winPosY, Qt::KeyboardM cvf::HitItemCollection hitItems; if (m_viewer->rayPick(winPosX, winPosY, &hitItems)) { - extractIntersectionData(hitItems, &localIntersectionPoint, &firstHitPart, &firstPartTriangleIndex, &firstNncHitPart, &nncPartTriangleIndex); + extractIntersectionData(hitItems, &localIntersectionPoint, &globalIntersectionPoint, &firstHitPart, &firstPartTriangleIndex, &firstNncHitPart, &nncPartTriangleIndex); - cvf::ref eventObj = new RicViewerEventObject(localIntersectionPoint, firstHitPart, firstPartTriangleIndex); + cvf::ref eventObj = new RicViewerEventObject(globalIntersectionPoint, firstHitPart, firstPartTriangleIndex); for (size_t i = 0; i < m_viewerEventHandlers.size(); i++) { if (m_viewerEventHandlers[i]->handleEvent(eventObj.p())) @@ -462,7 +505,9 @@ void RiuViewerCommands::handlePickAction(int winPosX, int winPosY, Qt::KeyboardM { const RivSourceInfo* rivSourceInfo = dynamic_cast(firstHitPart->sourceInfo()); const RivFemPickSourceInfo* femSourceInfo = dynamic_cast(firstHitPart->sourceInfo()); - const RivCrossSectionSourceInfo* crossSectionSourceInfo = dynamic_cast(firstHitPart->sourceInfo()); + const RivIntersectionSourceInfo* crossSectionSourceInfo = dynamic_cast(firstHitPart->sourceInfo()); + const RivIntersectionBoxSourceInfo* intersectionBoxSourceInfo = dynamic_cast(firstHitPart->sourceInfo()); + const RivEclipseWellSourceInfo* eclipseWellSourceInfo = dynamic_cast(firstHitPart->sourceInfo()); if (rivSourceInfo) { @@ -479,10 +524,30 @@ void RiuViewerCommands::handlePickAction(int winPosX, int winPosY, Qt::KeyboardM { gridIndex = femSourceInfo->femPartIndex(); cellIndex = femSourceInfo->triangleToElmMapper()->elementIndex(firstPartTriangleIndex); + gmFace = femSourceInfo->triangleToElmMapper()->elementFace(firstPartTriangleIndex); + } else if (crossSectionSourceInfo) { findCellAndGridIndex(crossSectionSourceInfo, firstPartTriangleIndex, &cellIndex, &gridIndex); + intersectionHit = true; + intersectionTriangleHit = crossSectionSourceInfo->triangle(firstPartTriangleIndex); + + RiuMainWindow::instance()->selectAsCurrentItem(const_cast(crossSectionSourceInfo->crossSection())); + + } + else if (intersectionBoxSourceInfo) + { + findCellAndGridIndex(intersectionBoxSourceInfo, firstPartTriangleIndex, &cellIndex, &gridIndex); + intersectionHit = true; + intersectionTriangleHit = intersectionBoxSourceInfo->triangle(firstPartTriangleIndex); + + RiuMainWindow::instance()->selectAsCurrentItem(const_cast(intersectionBoxSourceInfo->intersectionBox())); + + } + else if (eclipseWellSourceInfo) + { + RiuMainWindow::instance()->selectAsCurrentItem(eclipseWellSourceInfo->well()); } } @@ -526,9 +591,10 @@ void RiuViewerCommands::handlePickAction(int winPosX, int winPosY, Qt::KeyboardM } RimGeoMechView* geomView = dynamic_cast(m_reservoirView.p()); - if (geomView) + if (geomView ) { - selItem = new RiuGeoMechSelectionItem(geomView, gridIndex, cellIndex, curveColor, localIntersectionPoint); + if(intersectionHit) selItem = new RiuGeoMechSelectionItem(geomView, gridIndex, cellIndex, curveColor, gmFace, localIntersectionPoint, intersectionTriangleHit); + else selItem = new RiuGeoMechSelectionItem(geomView, gridIndex, cellIndex, curveColor, gmFace, localIntersectionPoint); } } @@ -546,7 +612,23 @@ void RiuViewerCommands::handlePickAction(int winPosX, int winPosY, Qt::KeyboardM //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiuViewerCommands::findCellAndGridIndex(const RivCrossSectionSourceInfo* crossSectionSourceInfo, cvf::uint firstPartTriangleIndex, size_t* cellIndex, size_t* gridIndex) +cvf::Vec3d RiuViewerCommands::lastPickPositionInDomainCoords() const +{ + return m_currentPickPositionInDomainCoords; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::PdmObject* RiuViewerCommands::currentPickedObject() const +{ + return m_currentPickedObject; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuViewerCommands::findCellAndGridIndex(const RivIntersectionSourceInfo* crossSectionSourceInfo, cvf::uint firstPartTriangleIndex, size_t* cellIndex, size_t* gridIndex) { CVF_ASSERT(cellIndex && gridIndex); @@ -567,11 +649,37 @@ void RiuViewerCommands::findCellAndGridIndex(const RivCrossSectionSourceInfo* cr } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuViewerCommands::findCellAndGridIndex(const RivIntersectionBoxSourceInfo* intersectionBoxSourceInfo, cvf::uint firstPartTriangleIndex, size_t* cellIndex, size_t* gridIndex) +{ + CVF_ASSERT(cellIndex && gridIndex); + + RimEclipseView* eclipseView = dynamic_cast(m_reservoirView.p()); + RimGeoMechView* geomView = dynamic_cast(m_reservoirView.p()); + if (eclipseView) + { + size_t globalCellIndex = intersectionBoxSourceInfo->triangleToCellIndex()[firstPartTriangleIndex]; + + const RigCell& cell = eclipseView->eclipseCase()->reservoirData()->mainGrid()->globalCellArray()[globalCellIndex]; + *cellIndex = cell.gridLocalCellIndex(); + *gridIndex = cell.hostGrid()->gridIndex(); + } + else if (geomView) + { + *cellIndex = intersectionBoxSourceInfo->triangleToCellIndex()[firstPartTriangleIndex]; + *gridIndex = 0; + } +} + //-------------------------------------------------------------------------------------------------- /// Perform picking and return the index of the face that was hit, if a drawable geo was hit //-------------------------------------------------------------------------------------------------- void RiuViewerCommands::extractIntersectionData(const cvf::HitItemCollection& hitItems, - cvf::Vec3d* localIntersectionPoint, cvf::Part** firstPart, uint* firstPartFaceHit, + cvf::Vec3d* localIntersectionPoint, + cvf::Vec3d* globalIntersectionPoint, + cvf::Part** firstPart, uint* firstPartFaceHit, cvf::Part** nncPart, uint* nncPartFaceHit) { CVF_ASSERT(hitItems.count() > 0); @@ -644,6 +752,11 @@ void RiuViewerCommands::extractIntersectionData(const cvf::HitItemCollection& hi const cvf::Transform* xf = pickedPart->transform(); cvf::Vec3d globalPickedPoint = firstNonNncHitItem->intersectionPoint(); + if (globalIntersectionPoint) + { + *globalIntersectionPoint = globalPickedPoint; + } + if (localIntersectionPoint) { if (xf) @@ -671,6 +784,11 @@ void RiuViewerCommands::extractIntersectionData(const cvf::HitItemCollection& hi { cvf::Vec3d globalPickedPoint = firstItemIntersectionPoint; + if (globalIntersectionPoint) + { + *globalIntersectionPoint = globalPickedPoint; + } + const cvf::Transform* xf = (*nncPart)->transform(); if (xf) { @@ -710,6 +828,11 @@ void RiuViewerCommands::ijkFromCellIndex(size_t gridIdx, size_t cellIndex, size bool RiuViewerCommands::handleOverlayItemPicking(int winPosX, int winPosY) { cvf::OverlayItem* pickedOverlayItem = m_viewer->overlayItem(winPosX, winPosY); + if (!pickedOverlayItem) + { + pickedOverlayItem = m_viewer->pickFixedPositionedLegend(winPosX, winPosY); + } + if (pickedOverlayItem) { caf::PdmObject* objToSelect = NULL; diff --git a/ApplicationCode/UserInterface/RiuViewerCommands.h b/ApplicationCode/UserInterface/RiuViewerCommands.h index f087dc40a6..b71a636082 100644 --- a/ApplicationCode/UserInterface/RiuViewerCommands.h +++ b/ApplicationCode/UserInterface/RiuViewerCommands.h @@ -25,16 +25,21 @@ #include #include -class RimCrossSection; +class RicViewerEventInterface; class RimEclipseView; class RimGeoMechView; +class RimIntersection; class RimView; class RiuViewer; -class RivCrossSectionSourceInfo; -class RicViewerEventInterface; +class RivIntersectionBoxSourceInfo; +class RivIntersectionSourceInfo; class QMouseEvent; +namespace caf { + class PdmObject; +} + namespace cvf { class HitItemCollection; class Part; @@ -52,8 +57,9 @@ class RiuViewerCommands: public QObject void displayContextMenu(QMouseEvent* event); void handlePickAction(int winPosX, int winPosY, Qt::KeyboardModifiers keyboardModifiers); + cvf::Vec3d lastPickPositionInDomainCoords() const; - void findCellAndGridIndex(const RivCrossSectionSourceInfo* crossSectionSourceInfo, cvf::uint firstPartTriangleIndex, size_t* cellIndex, size_t* gridIndex); + caf::PdmObject* currentPickedObject() const; private slots: void slotRangeFilterI(); @@ -65,18 +71,22 @@ private slots: void slotHideIntersection(); private: + void findCellAndGridIndex(const RivIntersectionSourceInfo* crossSectionSourceInfo, cvf::uint firstPartTriangleIndex, size_t* cellIndex, size_t* gridIndex); + void findCellAndGridIndex(const RivIntersectionBoxSourceInfo* intersectionBoxSourceInfo, cvf::uint firstPartTriangleIndex, size_t* cellIndex, size_t* gridIndex); + void ijkFromCellIndex(size_t gridIdx, size_t cellIndex, size_t* i, size_t* j, size_t* k); void createSliceRangeFilter(int ijOrk); - void extractIntersectionData(const cvf::HitItemCollection& hitItems, cvf::Vec3d* localIntersectionPoint, cvf::Part** firstPart, uint* firstPartFaceHit, cvf::Part** nncPart, uint* nncPartFaceHit); + void extractIntersectionData(const cvf::HitItemCollection& hitItems, cvf::Vec3d* localIntersectionPoint, cvf::Vec3d* globalIntersectionPoint, cvf::Part** firstPart, uint* firstPartFaceHit, cvf::Part** nncPart, uint* nncPartFaceHit); bool handleOverlayItemPicking(int winPosX, int winPosY); size_t m_currentGridIdx; size_t m_currentCellIndex; cvf::StructGridInterface::FaceType m_currentFaceIndex; + cvf::Vec3d m_currentPickPositionInDomainCoords; caf::PdmPointer m_reservoirView; - caf::PdmPointer m_currentCrossSection; + caf::PdmPointer m_currentPickedObject; QPointer m_viewer; diff --git a/ApplicationCode/UserInterface/RiuWellLogPlot.cpp b/ApplicationCode/UserInterface/RiuWellLogPlot.cpp index 5438b41224..7bb414d2e6 100644 --- a/ApplicationCode/UserInterface/RiuWellLogPlot.cpp +++ b/ApplicationCode/UserInterface/RiuWellLogPlot.cpp @@ -19,23 +19,22 @@ #include "RiuWellLogPlot.h" -#include "RiuWellLogTrack.h" -#include "RiuMainWindow.h" - #include "RimWellLogPlot.h" #include "RimWellLogTrack.h" +#include "RiuMainWindow.h" +#include "RiuWellLogTrack.h" + +#include "qwt_legend.h" -#include "cafPdmUiTreeView.h" #include "cvfAssert.h" -#include -#include #include +#include #include +#include #include #include -#include "qwt_legend.h" //-------------------------------------------------------------------------------------------------- /// diff --git a/ApplicationCode/UserInterface/RiuWellLogTrack.cpp b/ApplicationCode/UserInterface/RiuWellLogTrack.cpp index a9652590d7..5903e2ce30 100644 --- a/ApplicationCode/UserInterface/RiuWellLogTrack.cpp +++ b/ApplicationCode/UserInterface/RiuWellLogTrack.cpp @@ -19,18 +19,23 @@ #include "RiuWellLogTrack.h" +#include "RiaApplication.h" + #include "RimWellLogPlot.h" #include "RimWellLogTrack.h" #include "RimWellLogCurve.h" -#include "RiuMainWindow.h" +#include "RiuMainPlotWindow.h" #include "qwt_legend.h" #include "qwt_plot_curve.h" #include "qwt_plot_grid.h" #include "qwt_plot_layout.h" +#include "qwt_plot_marker.h" +#include "qwt_plot_picker.h" #include "qwt_scale_draw.h" #include "qwt_scale_engine.h" +#include "qwt_symbol.h" #include "qwt_text.h" #include @@ -43,6 +48,53 @@ #define RIU_SCROLLWHEEL_ZOOMFACTOR 1.1 #define RIU_SCROLLWHEEL_PANFACTOR 0.1 +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +class RiuWellLogTrackQwtPicker : public QwtPlotPicker +{ +public: + RiuWellLogTrackQwtPicker(QWidget *canvas) + : QwtPlotPicker(canvas) + { + } + +protected: + //-------------------------------------------------------------------------------------------------- + /// + //-------------------------------------------------------------------------------------------------- + virtual QwtText trackerText(const QPoint& pos) const override + { + QwtText txt; + + const RiuWellLogTrack* wellLogTrack = dynamic_cast(this->plot()); + if (wellLogTrack) + { + QString depthString; + QString valueString; + QPointF closestPoint = wellLogTrack->closestCurvePoint(pos, &valueString, &depthString); + if (!closestPoint.isNull()) + { + QString str = valueString; + + if (!depthString.isEmpty()) + { + str += QString(" (%1)").arg(depthString); + } + + txt.setText(str); + } + + RiuWellLogTrack* nonConstPlot = const_cast(wellLogTrack); + nonConstPlot->updateClosestCurvePointMarker(closestPoint); + } + + return txt; + } +}; + + + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -57,6 +109,16 @@ RiuWellLogTrack::RiuWellLogTrack(RimWellLogTrack* plotTrackDefinition, QWidget* setFocusPolicy(Qt::ClickFocus); setDefaults(); + + // Create a plot picker to display values next to mouse cursor + m_plotPicker = new RiuWellLogTrackQwtPicker(this->canvas()); + m_plotPicker->setTrackerMode(QwtPicker::AlwaysOn); + + m_plotMarker = new QwtPlotMarker; + + // QwtPlotMarker takes ownership of the symbol, it is deleted in destructor of QwtPlotMarker + QwtSymbol* mySymbol = new QwtSymbol(QwtSymbol::Ellipse, Qt::NoBrush, QPen(Qt::black, 2.0), QSize(12, 12)); + m_plotMarker->setSymbol(mySymbol); } //-------------------------------------------------------------------------------------------------- @@ -66,6 +128,99 @@ RiuWellLogTrack::~RiuWellLogTrack() { m_grid->detach(); delete m_grid; + + m_plotMarker->detach(); + delete m_plotMarker; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QPointF RiuWellLogTrack::closestCurvePoint(const QPoint& pos, QString* valueString, QString* depthString) const +{ + QPointF samplePoint; + + QwtPlotCurve* closestCurve = nullptr; + double distMin = DBL_MAX; + int closestPointSampleIndex = -1; + + const QwtPlotItemList& itmList = itemList(); + for (QwtPlotItemIterator it = itmList.begin(); it != itmList.end(); it++) + { + if ((*it)->rtti() == QwtPlotItem::Rtti_PlotCurve) + { + QwtPlotCurve* candidateCurve = static_cast(*it); + double dist = DBL_MAX; + int candidateSampleIndex = candidateCurve->closestPoint(pos, &dist); + if (dist < distMin) + { + closestCurve = candidateCurve; + distMin = dist; + closestPointSampleIndex = candidateSampleIndex; + } + } + } + + if (closestCurve && distMin < 50) + { + samplePoint = closestCurve->sample(closestPointSampleIndex); + } + + if (depthString) + { + const QwtScaleDraw* depthAxisScaleDraw = axisScaleDraw(QwtPlot::yLeft); + if (depthAxisScaleDraw) + { + *depthString = depthAxisScaleDraw->label(samplePoint.y()).text(); + } + } + + if (valueString && closestCurve) + { + const QwtScaleDraw* xAxisScaleDraw = axisScaleDraw(closestCurve->xAxis()); + if (xAxisScaleDraw) + { + *valueString = xAxisScaleDraw->label(samplePoint.x()).text(); + } + } + + return samplePoint; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuWellLogTrack::updateClosestCurvePointMarker(const QPointF& pos) +{ + bool replotRequired = false; + + if (!pos.isNull()) + { + if (!m_plotMarker->plot()) + { + m_plotMarker->attach(this); + + replotRequired = true; + } + + if (m_plotMarker->value() != pos) + { + m_plotMarker->setValue(pos.x(), pos.y()); + + replotRequired = true; + } + } + else + { + if (m_plotMarker->plot()) + { + m_plotMarker->detach(); + + replotRequired = true; + } + } + + if (replotRequired) this->replot(); } //-------------------------------------------------------------------------------------------------- @@ -169,7 +324,7 @@ bool RiuWellLogTrack::eventFilter(QObject* watched, QEvent* event) } RimWellLogPlot* plotDefinition; - m_plotTrackDefinition->firstAnchestorOrThisOfType(plotDefinition); + m_plotTrackDefinition->firstAncestorOrThisOfType(plotDefinition); if (!plotDefinition) { return QwtPlot::eventFilter(watched, event); @@ -220,7 +375,7 @@ void RiuWellLogTrack::focusInEvent(QFocusEvent* event) { if (m_plotTrackDefinition) { - RiuMainWindow::instance()->selectAsCurrentItem(m_plotTrackDefinition); + RiaApplication::instance()->getOrCreateAndShowMainPlotWindow()->selectAsCurrentItem(m_plotTrackDefinition); clearFocus(); } } @@ -239,7 +394,7 @@ void RiuWellLogTrack::selectClosestCurve(const QPoint& pos) if ((*it )->rtti() == QwtPlotItem::Rtti_PlotCurve ) { QwtPlotCurve* candidateCurve = static_cast(*it); - double dist; + double dist = DBL_MAX; candidateCurve->closestPoint(pos, &dist); if (dist < distMin) { @@ -254,7 +409,7 @@ void RiuWellLogTrack::selectClosestCurve(const QPoint& pos) RimWellLogCurve* selectedCurve = m_plotTrackDefinition->curveDefinitionFromCurve(closestCurve); if (selectedCurve) { - RiuMainWindow::instance()->selectAsCurrentItem(selectedCurve); + RiaApplication::instance()->getOrCreateAndShowMainPlotWindow()->selectAsCurrentItem(selectedCurve); } } } @@ -275,6 +430,19 @@ QSize RiuWellLogTrack::minimumSizeHint() const return QSize(0, 0); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuWellLogTrack::leaveEvent(QEvent *) +{ + if (m_plotMarker->plot()) + { + m_plotMarker->detach(); + + replot(); + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/UserInterface/RiuWellLogTrack.h b/ApplicationCode/UserInterface/RiuWellLogTrack.h index 9378144688..d939d8f560 100644 --- a/ApplicationCode/UserInterface/RiuWellLogTrack.h +++ b/ApplicationCode/UserInterface/RiuWellLogTrack.h @@ -20,11 +20,15 @@ #pragma once #include "qwt_plot.h" + #include "cafPdmPointer.h" class RimWellLogTrack; -class QwtPlotGrid; + class QwtLegend; +class QwtPicker; +class QwtPlotGrid; +class QwtPlotMarker; class QEvent; @@ -53,13 +57,20 @@ class RiuWellLogTrack : public QwtPlot virtual void focusInEvent(QFocusEvent* event); virtual QSize sizeHint() const; virtual QSize minimumSizeHint() const; + virtual void leaveEvent(QEvent *) override; private: + friend class RiuWellLogTrackQwtPicker; + QPointF closestCurvePoint(const QPoint& pos, QString* valueString, QString* depthString) const; + void updateClosestCurvePointMarker(const QPointF& pos); + void setDefaults(); void selectClosestCurve(const QPoint& pos); private: - caf::PdmPointer m_plotTrackDefinition; + caf::PdmPointer m_plotTrackDefinition; QwtPlotGrid* m_grid; + QwtPicker* m_plotPicker; + QwtPlotMarker* m_plotMarker; }; diff --git a/ApplicationCode/WellPathImportSsihub/RimOilFieldEntry.cpp b/ApplicationCode/WellPathImportSsihub/RimOilFieldEntry.cpp index 287646e8b6..d77cbd3bb1 100644 --- a/ApplicationCode/WellPathImportSsihub/RimOilFieldEntry.cpp +++ b/ApplicationCode/WellPathImportSsihub/RimOilFieldEntry.cpp @@ -49,7 +49,7 @@ RimOilFieldEntry::RimOilFieldEntry() CAF_PDM_InitFieldNoDefault(&wells, "Wells", "", "", "", ""); wells.uiCapability()->setUiHidden(true); - wells.uiCapability()->setUiChildrenHidden(true); + wells.uiCapability()->setUiTreeChildrenHidden(true); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/WellPathImportSsihub/RiuWellImportWizard.cpp b/ApplicationCode/WellPathImportSsihub/RiuWellImportWizard.cpp index c2cbd9dddb..0471ffa8b2 100644 --- a/ApplicationCode/WellPathImportSsihub/RiuWellImportWizard.cpp +++ b/ApplicationCode/WellPathImportSsihub/RiuWellImportWizard.cpp @@ -354,7 +354,7 @@ void RiuWellImportWizard::updateFieldsModel() if (QFile::exists(fileName)) { - JsonReader jsonReader; + ResInsightInternalJson::JsonReader jsonReader; QMap jsonMap = jsonReader.decodeFile(fileName); QStringList regions; @@ -581,7 +581,7 @@ void RiuWellImportWizard::parseWellsResponse(RimOilFieldEntry* oilFieldEntry) if (QFile::exists(oilFieldEntry->wellsFilePath)) { - JsonReader jsonReader; + ResInsightInternalJson::JsonReader jsonReader; QMap jsonMap = jsonReader.decodeFile(oilFieldEntry->wellsFilePath); QMapIterator it(jsonMap); diff --git a/BuildInstructions.md b/BuildInstructions.md deleted file mode 100644 index 041befaafe..0000000000 --- a/BuildInstructions.md +++ /dev/null @@ -1,61 +0,0 @@ -## Build instructions - -ResInsight uses the CMake build system and requires CMake version 2.8 or higher. Moreover, you need version 4.7.3 of Qt or newer, look below for dependency list. - -### CMAKE configuration - -If you check the button 'Grouped' in the GUI, the CMake variables are grouped by prefix. This makes it easier to see all settings for ResInsight. - - -| CMake Name | Description | -|--------------|---------| -| `RESINSIGHT_USE_OPENMP` | Enable OpenMP multi-core parallel building | -| `RESINSIGHT_PRIVATE_INSTALL` | Install as an independent bundle including the necessary Qt libraries | -| `RESINSIGHT_BUILD_DOCUMENTATION` | Use Doxygen to create the HTML based API documentation | -| `RESINSIGHT_OCTAVE_PLUGIN_MKOCTFILE` | Location of Octave tool mkoctfile used to compile Octave plugins | -| `RESINSIGHT_OCTAVE_PLUGIN_QMAKE` | Location of qmake to find Qt include files and libraries used to compile Octave plugins | -| `RESINSIGHT_OCTAVE_PLUGIN_32_BIT` | Windows 64-bit: Flag used to control if Octave plugins will be compiled using 32-bit build environment | - -#### Build without Octave plugins -It is possible to compile ResInsight without compiling the Octave plugins. This can be done by specifying blank for the Octave CMake variables. The Octave plugin module will not be build, and CMake will show warnings like 'Failed to find mkoctfile'. This will not break the build or compilation of ResInsight. - -#### Build instructions Visual Studio -- Open the CMake GUI -- Set the path to the source code -- Set the path to the build directory -- Click "Configure" and select your preferred compiler, "Visual Studio 10" or "Visual Studio 10 Win64" -- Set the build variables and click "Configure" again -- Click "Generate", and one solution file and several project files will be created in the build directory -- Open the solution file in Visual Studio - -#### Optional - build instructions Octave plugins -To be able to compile the Octave plugins, the path to the Octave development tool `mkoctfile` must be provided. In addition, if you compile x64, you must specify the location of 32-bit version of Qt, as the Octave plugins on Windows are currently only supported for x86. -See description for `RESINSIGHT_OCTAVE_PLUGIN_QMAKE` and `RESINSIGHT_OCTAVE_PLUGIN_32_BIT` above. - -##### Octave installation -Currently tested and verified version on Windows is Octave 3.6.1. NB! Version 3.6.2 has compile issues using VS2010, this version will not be able to compile the Octave plugins. - -- Download and install Octave 3.6.1 for VS2010 from [SourceForge](http://sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/Octave%203.6.1%20for%20Windows%20Microsoft%20Visual%20Studio/octave-3.6.1-vs2010-setup-1.exe/download) -- Download a [missing library file](http://dl.dropbox.com/u/45539519/dirent-vs2010.lib), rename to **dirent.lib** and copy it into Octave lib folder, typically **c:/Octave-3.6.1/lib/dirent.lib** See details on [SourceForge](http://sourceforge.net/mailarchive/message.php?msg_id=28933804) - - -### Linux - -An out-of-tree build is typically done with - - mkdir ResInsight/build - cd ResInsight/build - cmake .. - make - make install - -You will find the ResInsight binary under the Install directory in your build directory. - -#### Dependencies for Debian based distributions - - sudo apt-get install git cmake build-essential octave octave-headers qt4-dev-tools - -If you are running Ubuntu 12.10 or newer, you will need to replace octave-headers with liboctave-dev : - - sudo apt-get install git cmake build-essential octave liboctave-dev qt4-dev-tools - diff --git a/CMakeLists.txt b/CMakeLists.txt index 222293921a..672bed3594 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,7 @@ set (VIZ_MODULES_FOLDER_NAME Fwk/VizFwk) set_property(GLOBAL PROPERTY USE_FOLDERS ON) +SET(BUILD_SHARED_LIBS OFF CACHE BOOL "ERT: Build shared libraries") ################################################################################ # Setup the main platform defines @@ -15,12 +16,12 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") add_definitions(-DCVF_LINUX) elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") add_definitions(-DCVF_OSX) -else() +elseif(MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") endif() if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") - set(CMAKE_CXX_FLAGS "-DCVF_LINUX -pipe -Wextra -Woverloaded-virtual -Wformat") + set(CMAKE_CXX_FLAGS "-DCVF_LINUX -pipe -Wextra -Woverloaded-virtual -Wformat -std=c++0x") set(CMAKE_CXX_FLAGS_DEBUG "-ggdb -g3 -O0 -DDEBUG -D_DEBUG") set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNO_DEBUG") endif() @@ -48,65 +49,165 @@ endif() ################################################################################ include (ResInsightVersion.cmake) +################################################################################ +# Boost +################################################################################ + +# if we are building shared libraries ourselves, then don't include Boost in them +if (BUILD_SHARED_LIBS) + set(Boost_USE_STATIC_LIBS OFF) +elseif (DEFINED BUILD_SHARED_LIBS) + set(Boost_USE_STATIC_LIBS ON) +endif () +set(Boost_USE_MULTITHREADED ON) +set(Boost_USE_STATIC_RUNTIME OFF) + +if (MSVC) + ADD_DEFINITIONS("-DBOOST_ALL_NO_LIB") +endif() + + +# Requires BOOST filesystem version 3, thus 1.44 is necessary. +add_definitions(-DBOOST_FILESYSTEM_VERSION=3) + +if(MSVC) + set(BUILD_SHARED_LIBS OFF) + set(Boost_USE_STATIC_LIBS ON) + set(RESINSIGHT_BOOST_ROOT "" CACHE PATH "Path to installed boost directories" ) + set(RESINSIGHT_BOOST_LIBRARYDIR "" CACHE PATH "Path to boost binary libraries" ) + set(BOOST_ROOT ${RESINSIGHT_BOOST_ROOT}) + set(BOOST_LIBRARYDIR ${RESINSIGHT_BOOST_LIBRARYDIR}) + + if (RESINSIGHT_BOOST_ROOT AND RESINSIGHT_BOOST_LIBRARYDIR) + find_package(Boost 1.44.0 COMPONENTS filesystem date_time system regex REQUIRED) + else() + message (FATAL_ERROR "You need to set RESINSIGHT_BOOST_ROOT and RESINSIGHT_BOOST_LIBRARYDIR") + endif() + +else() + find_package(Boost 1.44.0 COMPONENTS filesystem date_time system regex REQUIRED) +endif() + +# Boost < 1.57 has c++11 name mangling issues in boost::filesystem +if(Boost_VERSION VERSION_LESS 105700) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBOOST_NO_CXX11_SCOPED_ENUMS") +endif() + +################################################################################ +# cotire +# Fully automated CMake module for build speedup +# https://github.com/sakra/cotire +################################################################################ + +option(RESINSIGHT_ENABLE_COTIRE "Use Cotire to speed up build process" OFF) +if(RESINSIGHT_ENABLE_COTIRE) + set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") + + include(cotire) + + set(CAF_USE_COTIRE TRUE CACHE INTERNAL "CAF: Use cotire") + +endif() + ################################################################################ # ERT ################################################################################ -# Disable install of ERT libs and headers, as Ert code is compiled and linked directly -SET(INSTALL_ERT OFF CACHE BOOL "ERT: Install library") -SET(BUILD_PYTHON OFF CACHE BOOL "ERT: Run py_compile on the python wrappers") -SET(BUILD_SHARED_LIBS OFF CACHE BOOL "ERT: Build shared libraries") -SET(ERT_USE_OPENMP ${OPENMP_FOUND} CACHE BOOL "ERT: Compile using OpenMP") +if (NOT MSVC) + # Linux: Optional configuration of externally installed ERT, requires path to libraries and includes + set(RESINSIGHT_ERT_EXTERNAL_LIB_ROOT "" CACHE PATH "Path to installed ERT libraries") + set(RESINSIGHT_ERT_EXTERNAL_INCLUDE_ROOT "" CACHE PATH "Path to installed ERT includes") +endif() + +if (RESINSIGHT_ERT_EXTERNAL_LIB_ROOT OR RESINSIGHT_ERT_EXTERNAL_INCLUDE_ROOT) + if (NOT(RESINSIGHT_ERT_EXTERNAL_LIB_ROOT AND RESINSIGHT_ERT_EXTERNAL_INCLUDE_ROOT)) + message(FATAL_ERROR "Both RESINSIGHT_ERT_EXTERNAL_LIB_ROOT and RESINSIGHT_ERT_EXTERNAL_INCLUDE_ROOT must be defined") + endif() -option( ERT_EXTERNAL "Build ERT from external source" OFF) -SET(EXT_ERT_ROOT "" CACHE STRING "Path to ERT CMakeList.txt (source path)") + list(APPEND ERT_INCLUDE_DIRS + ${RESINSIGHT_ERT_EXTERNAL_INCLUDE_ROOT} + ) + + list(APPEND ERT_LIBRARIES + ${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT}/libecl.so + ${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT}/libeclxx.so + ${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT}/libecl_well.so + ${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT}/libert_geometry.so + ${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT}/libert_util.so + ) + +else() -if (ERT_EXTERNAL) - if (EXT_ERT_ROOT) - set(ERT_SOURCE_PATH "${EXT_ERT_ROOT}") + # Disable install of ERT libs and headers, as Ert code is compiled and linked directly + SET(INSTALL_ERT OFF CACHE BOOL "ERT: Install library") + SET(BUILD_PYTHON OFF CACHE BOOL "ERT: Run py_compile on the python wrappers") + SET(ERT_USE_OPENMP ${OPENMP_FOUND} CACHE BOOL "ERT: Compile using OpenMP") + SET(ERT_BUILD_CXX ON CACHE BOOL "ERT: Enable build of CXX wrappers" FORCE) + + # Remember original state + set(ORIGINAL_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) + + if (MSVC) + # Force static linking on Windows + set(BUILD_SHARED_LIBS OFF) + set(ERT_HAVE_UNISTD OFF) #If anyone has mingw installed + else () + set(RESINSIGHT_ERT_EXTERNAL_SOURCE_ROOT "" CACHE STRING "Path to ERT CMakeList.txt (source path)") + + # Force dynamic linking on other platforms + # Copy of libraries into install folder of ResInsight is done a bit further down in this file + set(BUILD_SHARED_LIBS ON) + endif() + if (RESINSIGHT_ERT_EXTERNAL_SOURCE_ROOT) + set(ERT_INCLUDE_ROOT "${RESINSIGHT_ERT_EXTERNAL_SOURCE_ROOT}") add_subdirectory(${ERT_SOURCE_PATH} ${CMAKE_BINARY_DIR}/ThirdParty/Ert) - include_directories( - ${ERT_SOURCE_PATH}/libecl/include/ert/ecl - ${ERT_SOURCE_PATH}/libert_util/include/ert/util - ${ERT_SOURCE_PATH}/libgeometry/include/ert/geometry - ${ERT_SOURCE_PATH}/libecl_well/include/ert/ecl_well - ${ERT_SOURCE_PATH}/libecl/include - ${ERT_SOURCE_PATH}/libert_util/include - ${ERT_SOURCE_PATH}/libgeometry/include - ${ERT_SOURCE_PATH}/libecl_well/include - ${CMAKE_BINARY_DIR}/ThirdParty/Ert/libert_util/include/ert/util + else() + set(ERT_INCLUDE_ROOT ${CMAKE_SOURCE_DIR}/ThirdParty/Ert) + add_subdirectory(ThirdParty/Ert) + endif () + + list(APPEND ERT_INCLUDE_DIRS + ${ERT_INCLUDE_ROOT}/libecl/include/ + ${ERT_INCLUDE_ROOT}/libert_util/include/ + ${ERT_INCLUDE_ROOT}/libgeometry/include/ + ${ERT_INCLUDE_ROOT}/libecl_well/include/ + ${ERT_INCLUDE_ROOT}/libeclxx/include + ${ERT_INCLUDE_ROOT}/libert_utilxx/include + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/libert_util/include - ) - endif(EXT_ERT_ROOT) - -else (ERT_EXTERNAL) - add_subdirectory(ThirdParty/Ert/devel) - include_directories( - ${CMAKE_SOURCE_DIR}/ThirdParty/Ert/devel/libecl/include/ert/ecl - ${CMAKE_SOURCE_DIR}/ThirdParty/Ert/devel/libert_util/include/ert/util - ${CMAKE_SOURCE_DIR}/ThirdParty/Ert/devel/libgeometry/include/ert/geometry - ${CMAKE_SOURCE_DIR}/ThirdParty/Ert/devel/libecl_well/include/ert/ecl_well - ${CMAKE_SOURCE_DIR}/ThirdParty/Ert/devel/libecl/include - ${CMAKE_SOURCE_DIR}/ThirdParty/Ert/devel/libecl/include - ${CMAKE_SOURCE_DIR}/ThirdParty/Ert/devel/libert_util/include - ${CMAKE_SOURCE_DIR}/ThirdParty/Ert/devel/libgeometry/include - ${CMAKE_SOURCE_DIR}/ThirdParty/Ert/devel/libecl_well/include - - ${CMAKE_BINARY_DIR}/ThirdParty/Ert/devel/libert_util/include/ert/util - ${CMAKE_BINARY_DIR}/ThirdParty/Ert/devel/libert_util/include/ert/util - ${CMAKE_BINARY_DIR}/ThirdParty/Ert/devel/libert_util/include ) -endif (ERT_EXTERNAL) -set_property(TARGET - ecl - ecl_well - ert_geometry - ert_util - PROPERTY FOLDER "ERT" -) + list(APPEND ERT_LIBRARIES + ecl + eclxx + ecl_well + ert_geometry + ert_util + ) + + if (MSVC) + set_property(TARGET + ${ERT_LIBRARIES} + ecl_lfs + PROPERTY FOLDER "ERT" + ) + endif() + + # Restore original state + set(BUILD_SHARED_LIBS ${ORIGINAL_BUILD_SHARED_LIBS}) + +endif(RESINSIGHT_ERT_EXTERNAL_LIB_ROOT OR RESINSIGHT_ERT_EXTERNAL_INCLUDE_ROOT) + + +################################################################################ +# Opm +################################################################################ + +add_subdirectory(ThirdParty/custom-opm-parser) +add_subdirectory(ThirdParty/custom-opm-parser/custom-opm-parser-tests) +add_subdirectory(ThirdParty/custom-opm-flowdiagnostics) ################################################################################ @@ -114,7 +215,6 @@ set_property(TARGET ################################################################################ add_subdirectory(ThirdParty/NRLib) -include_directories(ThirdParty/NRLib/nrlib/well) ################################################################################ @@ -140,7 +240,6 @@ find_package( OpenGL ) ################################################################################ add_subdirectory(ThirdParty/Qwt/src) -include_directories(ThirdParty/Qwt/src) ################################################################################ # Vizualization Framework @@ -181,13 +280,17 @@ include_directories( ${LibGuiQt_SOURCE_DIR} ) +list(APPEND VIZ_FWK_LIBRARIES + LibGuiQt + LibViewing + LibRender + LibGeometry + LibCore +) + set_property(TARGET - LibCore - LibGeometry - LibGuiQt - LibRender - LibViewing - PROPERTY FOLDER "VizFwk" + ${VIZ_FWK_LIBRARIES} + PROPERTY FOLDER "VizFwk" ) @@ -207,25 +310,31 @@ add_subdirectory(Fwk/AppFwk/cafCommand) add_subdirectory(Fwk/AppFwk/cafUserInterface) add_subdirectory(Fwk/AppFwk/cafPdmCvf) add_subdirectory(Fwk/AppFwk/CommonCode) +add_subdirectory(Fwk/AppFwk/cafVizExtensions) #add_subdirectory(Fwk/AppFwk/cafTests/cafTestCvfApplication) add_subdirectory(Fwk/AppFwk/cafTensor) -set_property(TARGET - cafAnimControl - cafViewer - +list(APPEND APP_FWK_LIBRARIES cafPdmCore cafPdmUiCore cafPdmXml - cafProjectDataModel - + cafProjectDataModel + + cafUserInterface + cafViewer + cafAnimControl cafCommand - cafUserInterface + cafPdmCvf + cafTensor - cafPdmCvf - CommonCode + CommonCode + cafVizExtensions +) + +set_property(TARGET + ${APP_FWK_LIBRARIES} PROPERTY FOLDER "AppFwk" ) @@ -247,8 +356,37 @@ option (RESINSIGHT_PRIVATE_INSTALL "Install as an independent bundle including t if (RESINSIGHT_PRIVATE_INSTALL) set (CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/Install/) #set (CMAKE_INSTALL_PREFIX /usr/${RESINSIGHT_FINAL_NAME}) + + ################################################################################ + # ERT shared library files + # Install procedure will copy so-files from ERT into same install folder as ResInsight + ################################################################################ + + if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") + set(ERT_SHARED_LIB_FILES + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libecl.so + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libecl.so.2 + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libecl.so.2.1 + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libeclxx.so + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libeclxx.so.2 + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libeclxx.so.2.1 + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libecl_well.so + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libecl_well.so.2 + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libecl_well.so.2.1 + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libert_geometry.so + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libert_geometry.so.2 + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libert_geometry.so.2.1 + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libert_util.so + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libert_util.so.2 + ${CMAKE_BINARY_DIR}/ThirdParty/Ert/${CMAKE_INSTALL_LIBDIR}/libert_util.so.2.1 + ) + + install(FILES ${ERT_SHARED_LIB_FILES} DESTINATION ${RESINSIGHT_FINAL_NAME} ) + endif() + endif (RESINSIGHT_PRIVATE_INSTALL) + ################################################################################ # Application ################################################################################ diff --git a/Fwk/AppFwk/CommonCode/cafEffectGenerator.cpp b/Fwk/AppFwk/CommonCode/cafEffectGenerator.cpp index e97e8f7851..fcfe86f08a 100644 --- a/Fwk/AppFwk/CommonCode/cafEffectGenerator.cpp +++ b/Fwk/AppFwk/CommonCode/cafEffectGenerator.cpp @@ -67,18 +67,18 @@ static const char light_AmbientDiffuse_inl[] = " \n" "varying vec3 v_ecPosition; \n" "varying vec3 v_ecNormal; \n" + "uniform vec3 u_ecLightPosition; \n" " \n" "//-------------------------------------------------------------------------------------------------- \n" - "/// lightFragment() - Simple Headlight without Phong/specular component \n" + "/// lightFragment() - Simple Positional Headlight without Phong/specular component \n" "/// \n" "//-------------------------------------------------------------------------------------------------- \n" "vec4 lightFragment(vec4 srcFragColor, float not_in_use_shadowFactor) \n" "{ \n" - " const vec3 ecLightPosition = vec3(0.5, 5.0, 7.0); \n" " const float ambientIntensity = 0.2; \n" " \n" " // Light vector (from point to light source) \n" - " vec3 L = normalize(ecLightPosition - v_ecPosition); \n" + " vec3 L = normalize(u_ecLightPosition - v_ecPosition); \n" " \n" " // Viewing vector (from point to eye) \n" " // Since we are in eye space, the eye pos is at (0, 0, 0) \n" @@ -101,7 +101,6 @@ cvf::String CommonShaderSources::light_AmbientDiffuse() return cvf::String(light_AmbientDiffuse_inl); } - //-------------------------------------------------------------------------------------------------- /// Static helper to configure polygon offset render state from enum //-------------------------------------------------------------------------------------------------- @@ -283,11 +282,12 @@ void SurfaceEffectGenerator::updateForShaderBasedRendering(cvf::Effect* effect) } cvf::ref shaderProg = gen.generate(); + if (m_enableLighting) shaderProg->setDefaultUniform(new cvf::UniformFloat("u_ecLightPosition", cvf::Vec3f(0.5, 5.0, 7.0))); cvf::ref eff = effect; eff->setShaderProgram(shaderProg.p()); eff->setUniform(new cvf::UniformFloat("u_color", m_color)); - + this->updateCommonEffect(effect); } @@ -443,6 +443,8 @@ void ScalarMapperEffectGenerator::updateForShaderBasedRendering(cvf::Effect* eff cvf::ref prog = gen.generate(); eff->setShaderProgram(prog.p()); + if(!m_disableLighting) prog->setDefaultUniform(new cvf::UniformFloat("u_ecLightPosition", cvf::Vec3f(0.5, 5.0, 7.0))); + // Result mapping texture m_textureImage = new cvf::TextureImage(); diff --git a/Fwk/AppFwk/cafCommand/cafCmdFeatureManager.cpp b/Fwk/AppFwk/cafCommand/cafCmdFeatureManager.cpp index adeb24134c..f74a4b6947 100644 --- a/Fwk/AppFwk/cafCommand/cafCmdFeatureManager.cpp +++ b/Fwk/AppFwk/cafCommand/cafCmdFeatureManager.cpp @@ -59,6 +59,16 @@ CmdFeatureManager::CmdFeatureManager() { CmdDeleteItemFeature::idNameStatic(); CmdAddItemFeature::idNameStatic(); + + // Make sure all command features are created. The command feature is registered + // in the command factory, and instantiated when required. This will enable possibility + // of searching through all command features instead of having to use the string keys to + // be sure all command features are present. + std::vector keys = CommandFeatureFactory::instance()->allKeys(); + for (size_t i = 0; i < keys.size(); i++) + { + action(QString::fromStdString(keys[i])); + } } //-------------------------------------------------------------------------------------------------- @@ -152,6 +162,26 @@ std::pair CmdFeatureManager::findExistingCmdFeature(const } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::CmdFeature* CmdFeatureManager::commandFeature(const std::string& commandId) const +{ + std::map::const_iterator it; + it = m_commandIdToFeatureIdxMap.find(commandId); + + if (it != m_commandIdToFeatureIdxMap.end()) + { + size_t itemIndex = it->second; + + CmdFeature* item = m_commandFeatures[itemIndex]; + + return item; + } + + return NULL; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -248,5 +278,27 @@ CmdFeature* CmdFeatureManager::getCommandFeature(const std::string& commandId) } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector CmdFeatureManager::commandFeaturesMatchingSubString(const std::string& subString) const +{ + std::vector matches; + + std::vector keys = CommandFeatureFactory::instance()->allKeys(); + for (size_t i = 0; i < keys.size(); i++) + { + if (keys[i].find(subString) != std::string::npos) + { + caf::CmdFeature* cmdFeature = commandFeature(keys[i]); + if (cmdFeature) + { + matches.push_back(cmdFeature); + } + } + } + + return matches; +} } // end namespace caf diff --git a/Fwk/AppFwk/cafCommand/cafCmdFeatureManager.h b/Fwk/AppFwk/cafCommand/cafCmdFeatureManager.h index 9dbdf51118..40dea4101e 100644 --- a/Fwk/AppFwk/cafCommand/cafCmdFeatureManager.h +++ b/Fwk/AppFwk/cafCommand/cafCmdFeatureManager.h @@ -71,15 +71,20 @@ class CmdFeatureManager : public QObject CmdFeature* getCommandFeature(const std::string& commandId); + std::vector commandFeaturesMatchingSubString(const std::string& subString) const; + private: CmdFeatureManager(); - std::pair createFeature(const std::string& commandId); - std::pair findExistingCmdFeature(const std::string& commandId); + std::pair createFeature(const std::string& commandId); + std::pair findExistingCmdFeature(const std::string& commandId); + + CmdFeature* commandFeature(const std::string& commandId) const; - std::vector m_commandFeatures; - std::map m_commandIdToFeatureIdxMap; - std::map m_actionToFeatureIdxMap; +private: + std::vector m_commandFeatures; + std::map m_commandIdToFeatureIdxMap; + std::map m_actionToFeatureIdxMap; }; diff --git a/Fwk/AppFwk/cafCommand/cafCmdFieldChangeExec.cpp b/Fwk/AppFwk/cafCommand/cafCmdFieldChangeExec.cpp index 6b23801183..dd3c1bad69 100644 --- a/Fwk/AppFwk/cafCommand/cafCmdFieldChangeExec.cpp +++ b/Fwk/AppFwk/cafCommand/cafCmdFieldChangeExec.cpp @@ -97,13 +97,17 @@ void CmdFieldChangeExec::redo() { if (m_commandData->m_redoFieldValueSerialized.isEmpty()) { + // We end up here only when the user actually has done something in the actual living Gui editor. { QXmlStreamWriter xmlStream(&m_commandData->m_undoFieldValueSerialized); writeFieldDataToValidXmlDocument(xmlStream, xmlFieldHandle); } // This function will notify field change, no need to explicitly call notification - uiFieldHandle->setValueFromUi(m_commandData->m_newUiValue); + // The ui value might be an index into the option entry cache, so we need to set the value + // and be aware of the option entries, and then serialize the actual field value we ended up with. + + uiFieldHandle->setValueFromUiEditor(m_commandData->m_newUiValue); { QXmlStreamWriter xmlStream(&m_commandData->m_redoFieldValueSerialized); diff --git a/Fwk/AppFwk/cafPdmCvf/cafPdmCoreVec3d.h b/Fwk/AppFwk/cafPdmCvf/cafPdmCoreVec3d.h index b0991a0837..4b9673341a 100644 --- a/Fwk/AppFwk/cafPdmCvf/cafPdmCoreVec3d.h +++ b/Fwk/AppFwk/cafPdmCvf/cafPdmCoreVec3d.h @@ -43,6 +43,7 @@ #include "cafPdmXmlVec3d.h" +Q_DECLARE_METATYPE(cvf::Vec3d); namespace caf { diff --git a/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreColor3f.cpp b/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreColor3f.cpp index 28d7a8d78e..da2e3d85f6 100644 --- a/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreColor3f.cpp +++ b/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreColor3f.cpp @@ -40,7 +40,9 @@ #include "cafPdmProxyValueField.h" #include "cafPdmUiColorEditor.h" -CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR(caf::PdmUiColorEditor, cvf::Color3f); +namespace caf { + CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR(PdmUiColorEditor, cvf::Color3f); +} //-------------------------------------------------------------------------------------------------- // If the macro for registering the editor is put as the single statement diff --git a/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreColor3f.h b/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreColor3f.h index 801b2b4d0f..f239ddc308 100644 --- a/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreColor3f.h +++ b/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreColor3f.h @@ -66,7 +66,7 @@ class PdmUiFieldSpecialization < cvf::Color3f > PdmValueFieldSpecialization< cvf::Color3f >::setFromVariant(variantValue, value); } - static bool isEqual(const QVariant& variantValue, const QVariant& variantValue2) + static bool isDataElementEqual(const QVariant& variantValue, const QVariant& variantValue2) { return PdmValueFieldSpecialization< cvf::Color3f >::isEqual(variantValue, variantValue2); } diff --git a/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreMat4d.h b/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreMat4d.h index 6057fbe528..8a7664ca5a 100644 --- a/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreMat4d.h +++ b/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreMat4d.h @@ -64,7 +64,7 @@ class PdmUiFieldSpecialization < cvf::Mat4d > PdmValueFieldSpecialization< cvf::Mat4d >::setFromVariant(variantValue, value); } - static bool isEqual(const QVariant& variantValue, const QVariant& variantValue2) + static bool isDataElementEqual(const QVariant& variantValue, const QVariant& variantValue2) { return PdmValueFieldSpecialization< cvf::Mat4d >::isEqual(variantValue, variantValue2); } diff --git a/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreVec3d.cpp b/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreVec3d.cpp index 308804ff50..1f4f1fd96d 100644 --- a/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreVec3d.cpp +++ b/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreVec3d.cpp @@ -41,8 +41,10 @@ #include "cafPdmUiLineEditor.h" #include "cafPdmUiListEditor.h" -CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR(caf::PdmUiLineEditor, cvf::Vec3d); -CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR(caf::PdmUiListEditor, std::vector); +namespace caf { + CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR(PdmUiLineEditor, cvf::Vec3d); + CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR(PdmUiListEditor, std::vector); +} //-------------------------------------------------------------------------------------------------- // If the macro for registering the editor is put as the single statement diff --git a/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreVec3d.h b/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreVec3d.h index 2efd187fce..ce4db6748f 100644 --- a/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreVec3d.h +++ b/Fwk/AppFwk/cafPdmCvf/cafPdmUiCoreVec3d.h @@ -65,7 +65,7 @@ class PdmUiFieldSpecialization < cvf::Vec3d > PdmValueFieldSpecialization< cvf::Vec3d >::setFromVariant(variantValue, value); } - static bool isEqual(const QVariant& variantValue, const QVariant& variantValue2) + static bool isDataElementEqual(const QVariant& variantValue, const QVariant& variantValue2) { return PdmValueFieldSpecialization< cvf::Vec3d >::isEqual(variantValue, variantValue2); } diff --git a/Fwk/AppFwk/cafProjectDataModel/cafFactory.h b/Fwk/AppFwk/cafProjectDataModel/cafFactory.h index 9080e3fb4e..a6c6218d59 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafFactory.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafFactory.h @@ -39,6 +39,7 @@ #include #include +#include #include // Taken from gtest.h @@ -54,10 +55,10 @@ #define CAF_FACTORY_CONCATENATE_STRINGS(foo, bar) CAF_FACTORY_CONCATENATE_STRINGS_IMPL_(foo, bar) #define CAF_FACTORY_CONCATENATE_STRINGS_IMPL_(foo, bar) foo ## bar -#define CAF_UNIQUE_COMPILE_UNIT_VAR_NAME CAF_FACTORY_CONCATENATE_STRINGS(caf_factory_init_, __LINE__) +#define CAF_UNIQUE_COMPILE_UNIT_VAR_NAME(foo) CAF_FACTORY_CONCATENATE_STRINGS(foo, __LINE__) #define CAF_FACTORY_REGISTER(BaseType, TypeToCreate, KeyType, key) \ -static bool CAF_UNIQUE_COMPILE_UNIT_VAR_NAME = caf::Factory::instance()->registerCreator(key) +static bool CAF_UNIQUE_COMPILE_UNIT_VAR_NAME(my##TypeToCreate) = caf::Factory::instance()->registerCreator(key) namespace caf { @@ -132,6 +133,18 @@ namespace caf } } + std::vector allKeys() + { + std::vector keys; + + iterator_type entryIt; + for (entryIt = m_factoryMap.begin(); entryIt != m_factoryMap.end(); ++entryIt) + { + keys.push_back(entryIt->first); + } + + return keys; + } private: Factory () {} diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/CMakeLists.txt b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/CMakeLists.txt index d3f5be1d5c..ed65edd58e 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/CMakeLists.txt +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/CMakeLists.txt @@ -29,10 +29,14 @@ set( PROJECT_FILES cafPdmPointer.cpp cafPdmPointer.h cafPdmProxyValueField.h + cafPdmPtrArrayField.h + cafPdmPtrArrayField.inl + cafPdmPtrArrayFieldHandle.h cafPdmPtrField.h cafPdmPtrField.inl cafPdmReferenceHelper.cpp cafPdmReferenceHelper.h + cafPdmUiFieldHandleInterface.h cafPdmValueField.h cafNotificationCenter.cpp diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafInternalPdmValueFieldSpecializations.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafInternalPdmValueFieldSpecializations.h index 7e37599b80..5aa3878e38 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafInternalPdmValueFieldSpecializations.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafInternalPdmValueFieldSpecializations.h @@ -1,8 +1,10 @@ #pragma once #include "cafAppEnum.h" +#include "cafPdmPointer.h" #include +#include #include @@ -39,9 +41,10 @@ class PdmValueFieldSpecialization /// Check equality between QVariants that carries a Field Value. /// The == operator will normally work, but does not support custom types in the QVariant /// See http://qt-project.org/doc/qt-4.8/qvariant.html#operator-eq-eq-64 + /// Using the == between the real types is more safe. static bool isEqual(const QVariant& variantValue, const QVariant& variantValue2) { - return variantValue == variantValue2; + return variantValue.value() == variantValue2.value(); } }; @@ -71,6 +74,31 @@ class PdmValueFieldSpecialization > }; +//================================================================================================== +/// Partial specialization for caf::PdmPointer +/// Used internally to avoid havning to declare everything Q_DECLARE_METATYPE() +/// User must use PdmPtrField or PdmChildField +//================================================================================================== +template +class PdmValueFieldSpecialization > +{ +public: + static QVariant convert(const PdmPointer& value) + { + return QVariant::fromValue(PdmPointer(value.rawPtr())); + } + + static void setFromVariant(const QVariant& variantValue, caf::PdmPointer& value) + { + value.setRawPtr(variantValue.value >().rawPtr()); + } + + static bool isEqual(const QVariant& variantValue, const QVariant& variantValue2) + { + return variantValue.value >() == variantValue2.value >() ; + } +}; + //================================================================================================== /// Partial specialization for std::vector //================================================================================================== @@ -108,6 +136,7 @@ class PdmValueFieldSpecialization > static bool isEqual(const QVariant& variantValue, const QVariant& variantValue2) { + assert(false); // Not sure this actually works JJS return variantValue == variantValue2; } }; diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildArrayField.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildArrayField.h index 043206a5ff..100cfcf48f 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildArrayField.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildArrayField.h @@ -4,6 +4,8 @@ #include "cafPdmPointer.h" #include +#include "cafPdmPtrArrayFieldHandle.h" + namespace caf { @@ -14,21 +16,14 @@ template class PdmFieldXmlCap; /// /// //================================================================================================== -class PdmChildArrayFieldHandle : public PdmFieldHandle +class PdmChildArrayFieldHandle : public PdmPtrArrayFieldHandle { public: PdmChildArrayFieldHandle() {} virtual ~PdmChildArrayFieldHandle() {} - virtual size_t size() const = 0; - virtual bool empty() const = 0; - virtual void clear() = 0; - virtual void insertAt(int indexAfter, PdmObjectHandle* obj) = 0; - virtual void erase(size_t index) = 0; virtual void deleteAllChildObjects() = 0; - virtual PdmObjectHandle* at(size_t index) = 0; - bool hasSameFieldCountForAllObjects(); }; diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildArrayField.inl b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildArrayField.inl index d928a36bec..15013bc5b3 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildArrayField.inl +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildArrayField.inl @@ -5,7 +5,7 @@ namespace caf { //================================================================================================== -/// Implementation of PdmPointersField<> +/// Implementation of PdmChildArrayField<> //================================================================================================== @@ -40,6 +40,8 @@ DataType* PdmChildArrayField::operator[](size_t index) const template void PdmChildArrayField::push_back(DataType* pointer) { + assert(isInitializedByInitFieldMacro()); + m_pointers.push_back(pointer); if (pointer) pointer->setAsParentField(this); } @@ -51,6 +53,8 @@ void PdmChildArrayField::push_back(DataType* pointer) template void PdmChildArrayField::set(size_t index, DataType* pointer) { + assert(isInitializedByInitFieldMacro()); + if (m_pointers[index]) m_pointers[index]->removeAsParentField(this); m_pointers[index] = pointer; if (m_pointers[index]) pointer->setAsParentField(this); @@ -63,6 +67,8 @@ void PdmChildArrayField::set(size_t index, DataType* pointer) template void PdmChildArrayField::insert(size_t index, DataType* pointer) { + assert(isInitializedByInitFieldMacro()); + m_pointers.insert(m_pointers.begin()+index, pointer); if (pointer) pointer->setAsParentField(this); @@ -76,6 +82,8 @@ void PdmChildArrayField::insert(size_t index, DataType* pointer) template void PdmChildArrayField::insert(size_t index, const std::vector >& objects) { + assert(isInitializedByInitFieldMacro()); + m_pointers.insert(m_pointers.begin()+index, objects.begin(), objects.end()); typename std::vector< PdmPointer< DataType > >::iterator it; @@ -114,6 +122,8 @@ size_t PdmChildArrayField::count(const DataType* pointer) const template void PdmChildArrayField::clear() { + assert(isInitializedByInitFieldMacro()); + this->removeThisAsParentField(); m_pointers.clear(); } @@ -124,6 +134,8 @@ void PdmChildArrayField::clear() template void PdmChildArrayField::deleteAllChildObjects() { + assert(isInitializedByInitFieldMacro()); + size_t index; for (index = 0; index < m_pointers.size(); ++index) { @@ -141,6 +153,8 @@ void PdmChildArrayField::deleteAllChildObjects() template void PdmChildArrayField::erase(size_t index) { + assert(isInitializedByInitFieldMacro()); + if (m_pointers[index].rawPtr()) { m_pointers[index].rawPtr()->removeAsParentField(this); @@ -174,6 +188,8 @@ size_t PdmChildArrayField::index(DataType* pointer) template void PdmChildArrayField::removeChildObject(PdmObjectHandle* object) { + assert(isInitializedByInitFieldMacro()); + std::vector< PdmPointer > tempPointers; tempPointers = m_pointers; @@ -215,6 +231,8 @@ void PdmChildArrayField::childObjects(std::vector* template void PdmChildArrayField::insertAt(int indexAfter, PdmObjectHandle* obj) { + assert(isInitializedByInitFieldMacro()); + // This method should assert if obj to insert is not castable to the container type, but since this // is a virtual method, its implementation is always created and that makes a dyn_cast add the need for // #include of the header file "everywhere" diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildField.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildField.h index cd91f7e359..6a1ec04317 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildField.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildField.h @@ -47,7 +47,7 @@ class PdmChildField : public PdmFieldHandle // Access operators /*Conversion*/ operator DataType* () const { return m_fieldValue; } - DataType* operator->() const { return m_fieldValue; } + DataType* operator->() const { return m_fieldValue; } const PdmPointer& operator()() const { return m_fieldValue; } const PdmPointer& v() const { return m_fieldValue; } diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildField.inl b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildField.inl index 8819ce3b1c..f761595d2c 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildField.inl +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmChildField.inl @@ -67,6 +67,8 @@ caf::PdmChildField::~PdmChildField() template caf::PdmChildField& PdmChildField::operator=(const DataTypePtr & fieldValue) { + assert(isInitializedByInitFieldMacro()); + if (m_fieldValue) m_fieldValue->removeAsParentField(this); m_fieldValue = fieldValue; if (m_fieldValue != NULL) m_fieldValue->setAsParentField(this); diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmDataValueField.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmDataValueField.h index 160ca98a70..7fd6955496 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmDataValueField.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmDataValueField.h @@ -38,11 +38,15 @@ #endif #include "cafPdmValueField.h" + #include "cafInternalPdmValueFieldSpecializations.h" +#include "cafPdmUiFieldHandleInterface.h" -#include #include +#include +#include + namespace caf { @@ -66,18 +70,19 @@ class PdmDataValueField : public PdmValueField // Assignment - PdmDataValueField& operator= (const PdmDataValueField& other) { m_fieldValue = other.m_fieldValue; return *this; } - PdmDataValueField& operator= (const DataType& fieldValue) { m_fieldValue = fieldValue; return *this; } + PdmDataValueField& operator= (const PdmDataValueField& other) { assert(isInitializedByInitFieldMacro()); m_fieldValue = other.m_fieldValue; return *this; } + PdmDataValueField& operator= (const DataType& fieldValue) { assert(isInitializedByInitFieldMacro()); m_fieldValue = fieldValue; return *this; } // Basic access DataType value() const { return m_fieldValue; } - void setValue(const DataType& fieldValue) { m_fieldValue = fieldValue; } + void setValue(const DataType& fieldValue) { assert(isInitializedByInitFieldMacro()); m_fieldValue = fieldValue; } + void setValueWithFieldChanged(const DataType& fieldValue); // Implementation of PdmValueField interface - virtual QVariant toQVariant() const { return PdmValueFieldSpecialization::convert(m_fieldValue); } - virtual void setFromQVariant(const QVariant& variant) { PdmValueFieldSpecialization::setFromVariant(variant, m_fieldValue); } + virtual QVariant toQVariant() const { assert(isInitializedByInitFieldMacro()); return PdmValueFieldSpecialization::convert(m_fieldValue); } + virtual void setFromQVariant(const QVariant& variant) { assert(isInitializedByInitFieldMacro()); PdmValueFieldSpecialization::setFromVariant(variant, m_fieldValue); } virtual bool isReadOnly() const { return false; } // Access operators @@ -105,4 +110,30 @@ class PdmDataValueField : public PdmValueField }; + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +template +void caf::PdmDataValueField::setValueWithFieldChanged(const DataType& fieldValue) +{ + assert(isInitializedByInitFieldMacro()); + + PdmUiFieldHandleInterface* uiFieldHandleInterface = capability(); + if (uiFieldHandleInterface) + { + QVariant oldValue = uiFieldHandleInterface->toUiBasedQVariant(); + + m_fieldValue = fieldValue; + + QVariant newUiBasedQVariant = uiFieldHandleInterface->toUiBasedQVariant(); + + uiFieldHandleInterface->notifyFieldChanged(oldValue, newUiBasedQVariant); + } + else + { + m_fieldValue = fieldValue; + } +} + } // End of namespace caf diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmFieldHandle.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmFieldHandle.h index c6cc4cea1c..6a06ec06d2 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmFieldHandle.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmFieldHandle.h @@ -44,6 +44,9 @@ class PdmFieldHandle PdmUiFieldHandle* uiCapability(); PdmXmlFieldHandle* xmlCapability(); +protected: + bool isInitializedByInitFieldMacro() const { return m_ownerObject != NULL; } + private: PDM_DISABLE_COPY_AND_ASSIGN(PdmFieldHandle); diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmObjectHandle.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmObjectHandle.h index 1536ba1c80..56224aff34 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmObjectHandle.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmObjectHandle.h @@ -31,9 +31,16 @@ class PdmObjectHandle /// The field referencing this object as a child PdmFieldHandle* parentField() const; - /// Convenience function. Traverses from parent to parents parent to find first object of the requested type. + + /// Returns _this_ if _this_ is of requested type + /// Traverses parents recursively and returns first parent of the requested type. + template + void firstAncestorOrThisOfType(T*& ancestor) const; + + /// Traverses all children recursively to find objects of the requested type. This object is also + /// included if it is of the requested type. template - void firstAnchestorOrThisOfType(T*& ancestor) const; + void descendantsIncludingThisOfType(std::vector& descendants) const; // PtrReferences /// The PdmPtrField's containing pointers to this PdmObjecthandle @@ -46,7 +53,7 @@ class PdmObjectHandle void addCapability(PdmObjectCapability* capability, bool takeOwnership) { m_capabilities.push_back(std::make_pair(capability, takeOwnership)); } template - CapabilityType* capability() + CapabilityType* capability() const { for (size_t i = 0; i < m_capabilities.size(); ++i) { @@ -56,8 +63,8 @@ class PdmObjectHandle return NULL; } - PdmUiObjectHandle* uiCapability(); // Implementation is in cafPdmUiObjectHandle.cpp - PdmXmlObjectHandle* xmlCapability(); // Implementation is in cafPdmXmlObjectHandle.cpp + PdmUiObjectHandle* uiCapability() const; // Implementation is in cafPdmUiObjectHandle.cpp + PdmXmlObjectHandle* xmlCapability() const; // Implementation is in cafPdmXmlObjectHandle.cpp protected: void addField(PdmFieldHandle* field, const QString& keyword); @@ -84,6 +91,7 @@ class PdmObjectHandle // Give access to set/removeAsParentField template < class T > friend class PdmChildArrayField; template < class T > friend class PdmChildField; + template < class T > friend class PdmPtrArrayField; template < class T > friend class PdmPtrField; template < class T > friend class PdmField; // For backwards compatibility layer @@ -105,7 +113,7 @@ namespace caf /// //-------------------------------------------------------------------------------------------------- template -void PdmObjectHandle::firstAnchestorOrThisOfType(T*& ancestor) const +void PdmObjectHandle::firstAncestorOrThisOfType(T*& ancestor) const { ancestor = NULL; @@ -118,7 +126,7 @@ void PdmObjectHandle::firstAnchestorOrThisOfType(T*& ancestor) const return; } - // Search anchestors + // Search parents for first type match PdmObjectHandle* parent = NULL; PdmFieldHandle* parentField = this->parentField(); @@ -148,5 +156,29 @@ void PdmObjectHandle::firstAnchestorOrThisOfType(T*& ancestor) const } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +template +void PdmObjectHandle::descendantsIncludingThisOfType(std::vector& descendants) const +{ + const T* objectOfType = dynamic_cast(this); + if (objectOfType) + { + descendants.push_back(const_cast(objectOfType)); + } + + for (auto f : m_fields) + { + std::vector childObjects; + f->childObjects(&childObjects); + + for (auto childObject : childObjects) + { + childObject->descendantsIncludingThisOfType(descendants); + } + } +} + } // End of namespace caf diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmProxyValueField.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmProxyValueField.h index af9bfa8703..2943025d3d 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmProxyValueField.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmProxyValueField.h @@ -32,7 +32,7 @@ class PdmProxyValueField : public PdmValueField // Basic access - void setValue(const DataType& fieldValue) { if (m_valueSetter) m_valueSetter->setValue(fieldValue); } + void setValue(const DataType& fieldValue) { assert(isInitializedByInitFieldMacro()); if (m_valueSetter) m_valueSetter->setValue(fieldValue); } DataType value() const { assert(m_valueGetter); return m_valueGetter->getValue(); } // Implementation of PdmValueField interface diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrArrayField.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrArrayField.h new file mode 100644 index 0000000000..f376f333ae --- /dev/null +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrArrayField.h @@ -0,0 +1,93 @@ +#pragma once + +#include "cafPdmFieldHandle.h" +#include "cafPdmPointer.h" +#include + +#include "cafPdmPtrArrayFieldHandle.h" +namespace caf +{ + +template class PdmFieldXmlCap; + + +//================================================================================================== +/// PdmFieldClass to handle a collection of PdmObject derived pointers +/// The reasons for this class is to add itself as parentField into the objects being pointed to. +/// The interface is made similar to std::vector<>, and the complexity of the methods is similar too. +//================================================================================================== + +template +class PdmPtrArrayField : public PdmFieldHandle +{ +public: + PdmPtrArrayField() + { + bool doNotUsePdmPtrArrayFieldForAnythingButPointersToPdmObject = false; assert(doNotUsePdmPtrArrayFieldForAnythingButPointersToPdmObject); + } +}; + + +template +class PdmPtrArrayField : public PdmPtrArrayFieldHandle +{ + typedef DataType* DataTypePtr; +public: + typedef std::vector< PdmPointer > FieldDataType; + + PdmPtrArrayField() : m_isResolved(false) { } + virtual ~PdmPtrArrayField(); + + PdmPtrArrayField& operator() () { return *this; } + + void setValue(const std::vector< PdmPointer >& fieldValue); + const std::vector< PdmPointer >& value() const; + + // Reimplementation of PdmPointersFieldHandle methods + + virtual size_t size() const { return m_pointers.size(); } + virtual bool empty() const { return m_pointers.empty(); } + virtual void clear(); + virtual void insertAt(int indexAfter, PdmObjectHandle* obj); + virtual PdmObjectHandle* at(size_t index); + + // std::vector-like access + + DataType* operator[] (size_t index) const; + + void push_back(DataType* pointer); + void set(size_t index, DataType* pointer); + void insert(size_t indexAfter, DataType* pointer); + void insert(size_t indexAfter, const std::vector >& objects); + size_t count(const DataType* pointer) const; + + void erase(size_t index); + size_t index(DataType* pointer); + void removePtr(PdmObjectHandle* object); + + typename std::vector< PdmPointer >::iterator begin() { return m_pointers.begin(); }; + typename std::vector< PdmPointer >::iterator end() { return m_pointers.end(); }; + + typename std::vector< PdmPointer >::const_iterator begin() const { return m_pointers.begin(); }; + typename std::vector< PdmPointer >::const_iterator end() const { return m_pointers.end(); }; + + // Child objects + virtual void ptrReferencedObjects(std::vector*); + +private: //To be disabled + PDM_DISABLE_COPY_AND_ASSIGN(PdmPtrArrayField); + + void addThisAsReferencingPtrField(); + void removeThisAsReferencingPtrField(); + +private: + friend class PdmFieldXmlCap< PdmPtrArrayField >; + + std::vector< PdmPointer > m_pointers; + QString m_referenceString; + bool m_isResolved; +}; + +} // End of namespace caf + +#include "cafPdmPtrArrayField.inl" diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrArrayField.inl b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrArrayField.inl new file mode 100644 index 0000000000..ab7d9d7ada --- /dev/null +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrArrayField.inl @@ -0,0 +1,298 @@ +#pragma once + +#include "cafClassTypeName.h" +#include "cafPdmObjectHandle.h" + +namespace caf +{ + +//================================================================================================== +/// Implementation of PdmPtrArrayField<> +//================================================================================================== + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +template +PdmPtrArrayField::~PdmPtrArrayField() +{ + this->removeThisAsReferencingPtrField(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +template +void PdmPtrArrayField::setValue(const std::vector< PdmPointer >& fieldValue) +{ + this->clear(); + this->insert(0, fieldValue); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +template +const std::vector< PdmPointer >& PdmPtrArrayField::value() const +{ + return m_pointers; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +template +DataType* PdmPtrArrayField::operator[](size_t index) const +{ + return m_pointers[index]; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +template +void PdmPtrArrayField::push_back(DataType* pointer) +{ + assert(isInitializedByInitFieldMacro()); + + m_pointers.push_back(pointer); + if(pointer) pointer->addReferencingPtrField(this); +} + +//-------------------------------------------------------------------------------------------------- +/// Set the value at position index to pointer, overwriting any pointer already present at that +/// position without deleting the object pointed to. +//-------------------------------------------------------------------------------------------------- +template +void PdmPtrArrayField::set(size_t index, DataType* pointer) +{ + assert(isInitializedByInitFieldMacro()); + + if(m_pointers[index]) m_pointers[index]->removeReferencingPtrField(this); + m_pointers[index] = pointer; + if(m_pointers[index]) pointer->addReferencingPtrField(this); +} + +//-------------------------------------------------------------------------------------------------- +/// Insert pointer at position index, pushing the value previously at that position and all +/// the preceding values backwards +//-------------------------------------------------------------------------------------------------- +template +void PdmPtrArrayField::insert(size_t index, DataType* pointer) +{ + assert(isInitializedByInitFieldMacro()); + + m_pointers.insert(m_pointers.begin()+index, pointer); + + if(pointer) pointer->addReferencingPtrField(this); +} + + +//-------------------------------------------------------------------------------------------------- +/// Insert the pointers at position index, pushing the value previously at that position and all +/// the preceding values backwards +//-------------------------------------------------------------------------------------------------- +template +void PdmPtrArrayField::insert(size_t index, const std::vector >& objects) +{ + assert(isInitializedByInitFieldMacro()); + + m_pointers.insert(m_pointers.begin()+index, objects.begin(), objects.end()); + + typename std::vector< PdmPointer< DataType > >::iterator it; + for(it = m_pointers.begin()+index; it != m_pointers.end(); ++it) + { + if(!it->isNull()) + { + (*it)->addReferencingPtrField(this); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// Returns the number of times pointer is referenced from the container. +//-------------------------------------------------------------------------------------------------- +template +size_t PdmPtrArrayField::count(const DataType* pointer) const +{ + size_t itemCount = 0; + + typename std::vector< PdmPointer< DataType > >::const_iterator it; + for(it = m_pointers.begin(); it != m_pointers.end(); ++it) + { + if(*it == pointer) + { + itemCount++; + } + } + + return itemCount; +} + +//-------------------------------------------------------------------------------------------------- +/// Empty the container without deleting the objects pointed to. +//-------------------------------------------------------------------------------------------------- +template +void PdmPtrArrayField::clear() +{ + assert(isInitializedByInitFieldMacro()); + + this->removeThisAsReferencingPtrField(); + m_pointers.clear(); +} + + +//-------------------------------------------------------------------------------------------------- +/// Removes the pointer at index from the container. Does not delete the object pointed to. +/// Todo: This implementation can't be necessary in the new regime. Should be to just remove +/// the item at index (shrinking the array) +//-------------------------------------------------------------------------------------------------- +template +void PdmPtrArrayField::erase(size_t index) +{ + assert(isInitializedByInitFieldMacro()); + + if(m_pointers[index].rawPtr()) + { + m_pointers[index].rawPtr()->removeReferencingPtrField(this); + } + + m_pointers.erase(m_pointers.begin() + index); +} + + +//-------------------------------------------------------------------------------------------------- +/// Get the index of the given object pointer +//-------------------------------------------------------------------------------------------------- +template +size_t PdmPtrArrayField::index(DataType* pointer) +{ + for(size_t i = 0; i < m_pointers.size(); ++i) + { + if(pointer == m_pointers[i].p()) + { + return i; + } + } + + return (size_t)(-1); // Undefined size_t > m_pointers.size(); +} + + +//-------------------------------------------------------------------------------------------------- +/// Removes all instances of object pointer from the container without deleting the object. +//-------------------------------------------------------------------------------------------------- +template +void PdmPtrArrayField::removePtr(PdmObjectHandle* object) +{ + assert(isInitializedByInitFieldMacro()); + + std::vector< PdmPointer > tempPointers; + + tempPointers = m_pointers; + m_pointers.clear(); + + for(size_t index = 0; index < tempPointers.size(); ++index) + { + if(tempPointers[index].rawPtr() != object) + { + m_pointers.push_back(tempPointers[index]); + } + else + { + if(tempPointers[index].rawPtr()) + { + tempPointers[index].rawPtr()->removeReferencingPtrField(this); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +template +void PdmPtrArrayField::ptrReferencedObjects(std::vector* objects) +{ + if(!objects) return; + size_t i; + for(i = 0; i < m_pointers.size(); ++i) + { + objects->push_back(m_pointers[i].rawPtr()); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +template +void PdmPtrArrayField::insertAt(int indexAfter, PdmObjectHandle* obj) +{ + assert(isInitializedByInitFieldMacro()); + + // This method should assert if obj to insert is not castable to the container type, but since this + // is a virtual method, its implementation is always created and that makes a dyn_cast add the need for + // #include of the header file "everywhere" + typename std::vector< PdmPointer >::iterator it; + + if(indexAfter == -1) + { + m_pointers.push_back(PdmPointer()); + it = m_pointers.end() - 1; + } + else + { + m_pointers.insert(m_pointers.begin() + indexAfter, PdmPointer()); + it = m_pointers.begin() + indexAfter; + } + + it->setRawPtr(obj); + obj->addReferencingPtrField(this); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +template +PdmObjectHandle* PdmPtrArrayField::at(size_t index) +{ + return m_pointers[index].rawPtr(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +template +void PdmPtrArrayField::removeThisAsReferencingPtrField() +{ + typename std::vector< PdmPointer< DataType > >::iterator it; + for(it = m_pointers.begin(); it != m_pointers.end(); ++it) + { + if(!it->isNull()) + { + it->rawPtr()->removeReferencingPtrField(this); + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +template +void PdmPtrArrayField::addThisAsReferencingPtrField() +{ + typename std::vector< PdmPointer< DataType > >::iterator it; + for(it = m_pointers.begin(); it != m_pointers.end(); ++it) + { + if(!it->isNull()) + { + (*it)->addReferencingPtrField(this); + } + } +} + +} //End of namespace caf + + + diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrArrayFieldHandle.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrArrayFieldHandle.h new file mode 100644 index 0000000000..574d0d61bc --- /dev/null +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrArrayFieldHandle.h @@ -0,0 +1,29 @@ +#pragma once + +#include "cafPdmFieldHandle.h" + +namespace caf +{ + +//================================================================================================== +/// +/// +/// +//================================================================================================== +class PdmPtrArrayFieldHandle : public PdmFieldHandle +{ +public: + PdmPtrArrayFieldHandle() {} + virtual ~PdmPtrArrayFieldHandle() {} + + virtual size_t size() const = 0; + virtual bool empty() const = 0; + virtual void clear() = 0; + virtual void insertAt(int indexAfter, PdmObjectHandle* obj) = 0; + virtual void erase(size_t index) = 0; + + virtual PdmObjectHandle* at(size_t index) = 0; + +}; + +} \ No newline at end of file diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrField.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrField.h index dd840645d2..5d21371460 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrField.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrField.h @@ -37,7 +37,7 @@ class PdmPtrField : public PdmFieldHandle public: typedef PdmPointer FieldDataType; - PdmPtrField() { m_referenceString = ""; m_isResolved = false; } + PdmPtrField() : m_isResolved(false) { } explicit PdmPtrField(const DataTypePtr& fieldValue); virtual ~PdmPtrField(); @@ -54,17 +54,13 @@ class PdmPtrField : public PdmFieldHandle // Access operators /*Conversion*/ operator DataType* () const { return m_fieldValue; } - DataType* operator->() const { return m_fieldValue; } + DataType* operator->() const { return m_fieldValue; } const PdmPointer& operator()() const { return m_fieldValue; } const PdmPointer& v() const { return m_fieldValue; } bool operator==(const DataTypePtr& fieldValue) { return m_fieldValue == fieldValue; } - // Child objects - - virtual void childObjects(std::vector*); - // Ptr referenced objects virtual void ptrReferencedObjects(std::vector* objectsToFill); diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrField.inl b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrField.inl index 55ce13265b..031aaf6b98 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrField.inl +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmPtrField.inl @@ -7,6 +7,7 @@ namespace caf template caf::PdmPtrField::PdmPtrField(const DataTypePtr& fieldValue) { + m_isResolved = true; m_fieldValue = fieldValue; if (m_fieldValue != NULL) m_fieldValue->addReferencingPtrField(this); } @@ -28,6 +29,8 @@ caf::PdmPtrField::~PdmPtrField() template void PdmPtrField::setValue(const DataTypePtr& fieldValue) { + assert(isInitializedByInitFieldMacro()); + if (m_fieldValue) m_fieldValue->removeReferencingPtrField(this); m_fieldValue = fieldValue; if (m_fieldValue != NULL) m_fieldValue->addReferencingPtrField(this); @@ -39,6 +42,8 @@ void PdmPtrField::setValue(const DataTypePtr& fieldValue) template void PdmPtrField::setRawPtr(PdmObjectHandle* obj) { + assert(isInitializedByInitFieldMacro()); + if (m_fieldValue.notNull()) m_fieldValue.rawPtr()->removeReferencingPtrField(this); m_fieldValue.setRawPtr(obj); if (m_fieldValue.notNull()) m_fieldValue.rawPtr()->addReferencingPtrField(this); @@ -51,6 +56,8 @@ void PdmPtrField::setRawPtr(PdmObjectHandle* obj) template caf::PdmPtrField& PdmPtrField::operator=(const DataTypePtr & fieldValue) { + assert(isInitializedByInitFieldMacro()); + if (m_fieldValue) m_fieldValue->removeReferencingPtrField(this); m_fieldValue = fieldValue; if (m_fieldValue != NULL) m_fieldValue->addReferencingPtrField(this); @@ -65,6 +72,8 @@ caf::PdmPtrField& PdmPtrField::operator=(const DataTypePtr template caf::PdmPtrField& PdmPtrField::operator=(const FieldDataType & fieldValue) { + assert(isInitializedByInitFieldMacro()); + if (m_fieldValue) m_fieldValue->removeReferencingPtrField(this); m_fieldValue = fieldValue; if (m_fieldValue != NULL) m_fieldValue->addReferencingPtrField(this); @@ -73,21 +82,6 @@ caf::PdmPtrField& PdmPtrField::operator=(const FieldDataTy } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -template -void caf::PdmPtrField::childObjects(std::vector* objects) -{ - assert(objects); - PdmObjectHandle* obj = m_fieldValue.rawPtr(); - if (obj) - { - objects->push_back(obj); - } -} - - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmReferenceHelper.cpp b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmReferenceHelper.cpp index 1427e59c1a..a2e4e7ed7d 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmReferenceHelper.cpp +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmReferenceHelper.cpp @@ -321,7 +321,7 @@ PdmObjectHandle* PdmReferenceHelper::objectFromFieldReference(PdmFieldHandle* fr if (!fromField) return NULL; if (reference.isEmpty()) return NULL; - QStringList decodedReference = reference.split(" "); + QStringList decodedReference = reference.split(QRegExp("\\s+"), QString::SkipEmptyParts); PdmObjectHandle* lastCommonAnchestor = fromField->ownerObject(); assert(lastCommonAnchestor); assert(decodedReference.size()); diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmUiFieldHandleInterface.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmUiFieldHandleInterface.h new file mode 100644 index 0000000000..3f0e16a977 --- /dev/null +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmUiFieldHandleInterface.h @@ -0,0 +1,18 @@ +#pragma once + +#include + +namespace caf +{ + +class PdmUiFieldHandleInterface +{ +public: + PdmUiFieldHandleInterface() {} + virtual ~PdmUiFieldHandleInterface() {} + + virtual QVariant toUiBasedQVariant() const { return QVariant(); } + virtual void notifyFieldChanged(const QVariant& oldUiBasedQVariant, const QVariant& newUiBasedQVariant) { }; +}; + +} // End of namespace caf diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmObject.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmObject.h index 30ee78520a..6aff3e09df 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmObject.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmObject.h @@ -75,6 +75,7 @@ class PdmObjectCapability; #define CAF_PDM_HEADER_INIT CAF_PDM_XML_HEADER_INIT #define CAF_PDM_SOURCE_INIT CAF_PDM_XML_SOURCE_INIT +#define CAF_PDM_ABSTRACT_SOURCE_INIT CAF_PDM_XML_ABSTRACT_SOURCE_INIT /// InitObject sets up the user interface related information for the object diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafInternalPdmFieldTypeSpecializations.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafInternalPdmFieldTypeSpecializations.h index 288b8fe381..387bea9263 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafInternalPdmFieldTypeSpecializations.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafInternalPdmFieldTypeSpecializations.h @@ -37,7 +37,7 @@ class PdmUiFieldSpecialization < PdmPointer > value.setRawPtr(variantValue.value >().rawPtr()); } - static bool isEqual(const QVariant& variantValue, const QVariant& variantValue2) + static bool isDataElementEqual(const QVariant& variantValue, const QVariant& variantValue2) { return variantValue.value >() == variantValue2.value >() ; } @@ -84,9 +84,9 @@ class PdmUiFieldSpecialization < std::list > } } - static bool isEqual(const QVariant& variantValue, const QVariant& variantValue2) + static bool isDataElementEqual(const QVariant& variantValue, const QVariant& variantValue2) { - return variantValue == variantValue2; + return PdmValueFieldSpecialization::isEqual(variantValue, variantValue2); } /// Methods to get a list of options for a field, specialized for AppEnum @@ -121,9 +121,9 @@ class PdmUiFieldSpecialization < std::vector > return PdmValueFieldSpecialization< std::vector >::setFromVariant(variantValue, value); } - static bool isEqual(const QVariant& variantValue, const QVariant& variantValue2) + static bool isDataElementEqual(const QVariant& variantValue, const QVariant& variantValue2) { - return variantValue == variantValue2; + return PdmValueFieldSpecialization::isEqual(variantValue, variantValue2); } /// Methods to get a list of options for a field, specialized for AppEnum @@ -140,15 +140,8 @@ class PdmUiFieldSpecialization < std::vector > //================================================================================================== /// Partial specialization for PdmField< caf::AppEnum > -/// -/// Note : Makes the setUiValue() and uiValue() interface index based, and NOT based on real enum values. -/// The valueOptions() interface is thus also index based (the value in the PdmOptionItemInfo is index NOT enum) -/// This is probably going to change, ans it is strange. -/// This conversion should really be done in the editors we think (now) //================================================================================================== -#define PDMFIELDAPPENUM_USE_INDEX_BASED_INTERFACE 1 - template class PdmUiFieldSpecialization < caf::AppEnum > { @@ -156,25 +149,17 @@ class PdmUiFieldSpecialization < caf::AppEnum > /// Convert the field value into a QVariant static QVariant convert(const caf::AppEnum& value) { -#if PDMFIELDAPPENUM_USE_INDEX_BASED_INTERFACE - return QVariant(static_cast(caf::AppEnum::index(value))); -#else - unsigned int enumVal = value; - return QVariant(enumVal); -#endif + int enumIntVal = value; + return QVariant(enumIntVal); } /// Set the field value from a QVariant static void setFromVariant(const QVariant& variantValue, caf::AppEnum& value) { -#if PDMFIELDAPPENUM_USE_INDEX_BASED_INTERFACE - value.setFromIndex(variantValue.toInt()); -#else value = static_cast (variantValue.toInt()); -#endif } - static bool isEqual(const QVariant& variantValue, const QVariant& variantValue2) + static bool isDataElementEqual(const QVariant& variantValue, const QVariant& variantValue2) { return variantValue == variantValue2; } @@ -184,16 +169,12 @@ class PdmUiFieldSpecialization < caf::AppEnum > { if (useOptionsOnly) *useOptionsOnly = true; - QStringList optionTexts = caf::AppEnum::uiTexts(); QList optionList; - int i; - for (i = 0; i < optionTexts.size(); ++i) + + for (size_t i = 0; i < caf::AppEnum::size(); ++i) { -#if PDMFIELDAPPENUM_USE_INDEX_BASED_INTERFACE - optionList.push_back(PdmOptionItemInfo(optionTexts[i], static_cast(i))); -#else - optionList.push_back(PdmOptionItemInfo(optionTexts[i], caf::AppEnum::fromIndex(i))); -#endif + int enumIntVal = caf::AppEnum::fromIndex(i); + optionList.push_back(PdmOptionItemInfo(caf::AppEnum::uiTextFromIndex(i), enumIntVal)); } return optionList; diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafInternalPdmUiFieldCapability.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafInternalPdmUiFieldCapability.h index ffa429089a..7ae9b45686 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafInternalPdmUiFieldCapability.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafInternalPdmUiFieldCapability.h @@ -16,7 +16,7 @@ class PdmFieldUiCap : public PdmUiFieldHandle // Gui generalized interface public: virtual QVariant uiValue() const; - virtual void setValueFromUi(const QVariant& uiValue); + virtual void setValueFromUiEditor(const QVariant& uiValue); virtual QList valueOptions(bool* useOptionsOnly); virtual QVariant toUiBasedQVariant() const; @@ -43,7 +43,7 @@ class PdmFieldUiCap< PdmChildField > : public PdmUiFieldHandle // Gui generalized interface public: virtual QVariant uiValue() const { return QVariant();} - virtual void setValueFromUi(const QVariant& uiValue) { } + virtual void setValueFromUiEditor(const QVariant& uiValue) { } virtual QList valueOptions(bool* useOptionsOnly) { return QList(); } virtual QVariant toUiBasedQVariant() const { return QVariant(); } @@ -62,7 +62,7 @@ class PdmFieldUiCap< PdmChildArrayField > : public PdmUiFieldHandle // Gui generalized interface public: virtual QVariant uiValue() const { return QVariant(); } - virtual void setValueFromUi(const QVariant& uiValue) { } + virtual void setValueFromUiEditor(const QVariant& uiValue) { } virtual QList valueOptions(bool* useOptionsOnly) { return QList(); } virtual QVariant toUiBasedQVariant() const { return QVariant(); } diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafInternalPdmUiFieldCapability.inl b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafInternalPdmUiFieldCapability.inl index 02cdb66ba1..145fc9f703 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafInternalPdmUiFieldCapability.inl +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafInternalPdmUiFieldCapability.inl @@ -10,13 +10,13 @@ namespace caf /// This method triggers PdmObject::fieldChangedByUi() and PdmObject::updateConnectedEditors(), an thus /// makes the application and the UI aware of the change. /// -/// Note : If the field has optionValues the interface is _index-based_. The QVariant must contain +/// Note : If the field has m_optionEntryCache the interface is _index-based_. The QVariant must contain /// an UInt representing the index to the option selected by the user interface. /// //-------------------------------------------------------------------------------------------------- template -void caf::PdmFieldUiCap::setValueFromUi(const QVariant& uiValue) +void caf::PdmFieldUiCap::setValueFromUiEditor(const QVariant& uiValue) { QVariant oldUiBasedQVariant = toUiBasedQVariant(); @@ -26,10 +26,14 @@ void caf::PdmFieldUiCap::setValueFromUi(const QVariant& uiValue) // This has an option based GUI, the uiValue is only indexes into the m_optionEntryCache if (uiValue.type() == QVariant::UInt) { - assert(uiValue.toUInt() < static_cast(m_optionEntryCache.size())); - typename FieldType::FieldDataType value; - PdmUiFieldSpecialization::setFromVariant(m_optionEntryCache[uiValue.toUInt()].value, value); - m_field->setValue(value); + uint optionIndex = uiValue.toUInt(); + assert(optionIndex < static_cast(m_optionEntryCache.size())); + + QVariant optionVariantValue = m_optionEntryCache[optionIndex].value; + + typename FieldType::FieldDataType fieldValue; + PdmUiFieldSpecialization::setFromVariant(optionVariantValue, fieldValue); + m_field->setValue(fieldValue); } else if (uiValue.type() == QVariant::List) { @@ -98,7 +102,13 @@ void caf::PdmFieldUiCap::setValueFromUi(const QVariant& uiValue) //-------------------------------------------------------------------------------------------------- /// Extracts a QVariant representation of the data in the field to be used in the UI. /// -/// Note : For fields with a none-empty valueOptions list, the returned QVariant contains the +/// Note : You have to call valueOptions() before this method to make sure that the m_optionEntryCache is updated and valid !!! +/// We should find a way to enforce this, but JJS and MSJ could not think of a way to catch the situation +/// that would always be valid. Could invalidate cache when all editors are removed. That would help. +/// It is not considered to be healthy to always call valueOptions() from this method either -> double calls to valueOptions() +/// The solution might actually be to merge the two ino one method, making uiValues and valueOptions directly connected. +/// +/// Note : For fields with a none-empty m_optionEntryCache list, the returned QVariant contains the /// _indexes_ to the selected options rather than the actual values, if they can be found. /// /// If this is a multivalue field, and we cant find all of the field values among the options, @@ -116,7 +126,14 @@ QVariant caf::PdmFieldUiCap::uiValue() const PdmOptionItemInfo::findValues(m_optionEntryCache, uiBasedQVariant, indexesToFoundOptions); if (uiBasedQVariant.type() == QVariant::List) { - if (indexesToFoundOptions.size() == static_cast(uiBasedQVariant.toList().size())) + if (isAutoAddingOptionFromValue() && indexesToFoundOptions.size() != static_cast(uiBasedQVariant.toList().size())) + { + assert(false); // Did not find all the field values among the options available, even though we should. + // Reasons might be: + // The "core" data type in the field is probably not supported by QVariant::toString() + // You forgot to call valueOptions() before the call to uiValue(). + } + else { QList returnList; for (size_t i = 0; i < indexesToFoundOptions.size(); ++i) @@ -125,7 +142,6 @@ QVariant caf::PdmFieldUiCap::uiValue() const } return QVariant(returnList); } - assert(false); // Did not find all the field values among the options available. } else { @@ -155,68 +171,71 @@ QVariant caf::PdmFieldUiCap::uiValue() const template QList caf::PdmFieldUiCap::valueOptions(bool* useOptionsOnly) { - // First check if the owner PdmObject has a value options specification. - // if it has, use it. + m_optionEntryCache.clear(); + + // First check if the owner PdmObject has a value options specification. If it has, we use it. if (m_field->ownerObject()) { m_optionEntryCache = uiObj(m_field->ownerObject())->calculateValueOptions(this->m_field, useOptionsOnly); - if (m_optionEntryCache.size()) - { - // Make sure the options contain the field values, event though they not necessarily - // is supplied as possible options by the application. This is a convenience making sure - // the actual data in the pdmObject is shown correctly in the UI, and to prevent accidental - // changes of the field values + } + + // If we got no options, use the options defined by the type. Normally only caf::AppEnum type - // Find the field value(s) in the list if present + if(!m_optionEntryCache.size()) + { + m_optionEntryCache = PdmUiFieldSpecialization::valueOptions(useOptionsOnly, m_field->value()); + } - QVariant uiBasedQVariant = toUiBasedQVariant(); + if(m_optionEntryCache.size() && isAutoAddingOptionFromValue()) + { + // Make sure the options contain the field values, event though they not necessarily + // is supplied as possible options by the application. This is a convenience making sure + // the actual data in the pdmObject is shown correctly in the UI, and to prevent accidental + // changes of the field values + + // Find the field value(s) in the list if present - std::vector foundIndexes; - bool foundAllFieldValues = PdmOptionItemInfo::findValues(m_optionEntryCache, uiBasedQVariant, foundIndexes); + QVariant uiBasedQVariant = toUiBasedQVariant(); - // If not all are found, we have to add the missing to the list, to be able to show it + std::vector foundIndexes; + bool foundAllFieldValues = PdmOptionItemInfo::findValues(m_optionEntryCache, uiBasedQVariant, foundIndexes); - if (!foundAllFieldValues) + // If not all are found, we have to add the missing to the list, to be able to show it + // This will only work if the field data type (or elemnt type for containers) is supported by QVariant.toString(). Custom classes don't + + if( !foundAllFieldValues) + { + if(uiBasedQVariant.type() != QVariant::List) // Single value field { - if (uiBasedQVariant.type() != QVariant::List) // Single value field + if(!uiBasedQVariant.toString().isEmpty()) { - if (!uiBasedQVariant.toString().isEmpty()) - { - m_optionEntryCache.push_front(PdmOptionItemInfo(uiBasedQVariant.toString(), uiBasedQVariant, true, QIcon())); - } + m_optionEntryCache.push_front(PdmOptionItemInfo(uiBasedQVariant.toString(), uiBasedQVariant, true, QIcon())); } - else // The field value is a list of values + } + else // The field value is a list of values + { + QList valuesSelectedInField = uiBasedQVariant.toList(); + for(int i= 0 ; i < valuesSelectedInField.size(); ++i) { - QList valuesSelectedInField = uiBasedQVariant.toList(); - for (int i= 0 ; i < valuesSelectedInField.size(); ++i) + bool isFound = false; + for(unsigned int opIdx = 0; opIdx < static_cast(m_optionEntryCache.size()); ++opIdx) { - bool isFound = false; - for (unsigned int opIdx = 0; opIdx < static_cast(m_optionEntryCache.size()); ++opIdx) + if(PdmUiFieldSpecialization::isDataElementEqual(valuesSelectedInField[i], m_optionEntryCache[opIdx].value)) { - if (valuesSelectedInField[i] == m_optionEntryCache[opIdx].value) isFound = true; + isFound = true; } + } - if (!isFound && !valuesSelectedInField[i].toString().isEmpty()) - { - m_optionEntryCache.push_front(PdmOptionItemInfo(valuesSelectedInField[i].toString(), valuesSelectedInField[i], true, QIcon())); - } + if(!isFound && !valuesSelectedInField[i].toString().isEmpty()) + { + m_optionEntryCache.push_front(PdmOptionItemInfo(valuesSelectedInField[i].toString(), valuesSelectedInField[i], true, QIcon())); } } } - - return m_optionEntryCache; } } - // If we have no options, use the options defined by the type. Normally only caf::AppEnum type - -#if 0 - m_optionEntryCache = PdmFieldTypeSpecialization::valueOptions(useOptionsOnly, m_fieldValue); return m_optionEntryCache; -#else - return PdmUiFieldSpecialization::valueOptions(useOptionsOnly, m_field->value()); -#endif - } //-------------------------------------------------------------------------------------------------- diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiCommandSystemProxy.cpp b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiCommandSystemProxy.cpp index c6cf9c1f4d..f813767149 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiCommandSystemProxy.cpp +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiCommandSystemProxy.cpp @@ -89,7 +89,7 @@ void PdmUiCommandSystemProxy::setUiValueToField(PdmUiFieldHandle* uiFieldHandle, } else { - uiFieldHandle->setValueFromUi(newUiValue); + uiFieldHandle->setValueFromUiEditor(newUiValue); } } } diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldEditorHandle.cpp b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldEditorHandle.cpp index 87588d2fa6..15c17e161b 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldEditorHandle.cpp +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldEditorHandle.cpp @@ -93,9 +93,7 @@ void PdmUiFieldEditorHandle::createWidgets(QWidget * parent) } //-------------------------------------------------------------------------------------------------- -/// Well this is food for thought. How do we spawn commands, without making us -/// dependent on the command system. It should be optional to use, and not depending on the command "library" -/// JJS +/// //-------------------------------------------------------------------------------------------------- void PdmUiFieldEditorHandle::setValueToField(const QVariant& newUiValue) { diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldEditorHandle.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldEditorHandle.h index 09120b2456..d8ec345b90 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldEditorHandle.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldEditorHandle.h @@ -80,11 +80,11 @@ public: \ #define CAF_PDM_UI_FIELD_EDITOR_SOURCE_INIT(EditorClassName) \ QString EditorClassName::uiEditorTypeName() { return #EditorClassName; } \ - static bool PDM_FIELD_EDITOR_STRING_CONCATENATE(pdm_field_editor_registrate_, __LINE__) = caf::Factory::instance()->registerCreator(EditorClassName::uiEditorTypeName()) + static bool PDM_FIELD_EDITOR_STRING_CONCATENATE(my##EditorClassName, __LINE__) = caf::Factory::instance()->registerCreator(EditorClassName::uiEditorTypeName()) #define CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR(EditorClassName, TypeName) \ - static bool PDM_FIELD_EDITOR_STRING_CONCATENATE(pdm_field_register_default_editor_, __LINE__) = caf::Factory::instance()->registerCreator(qStringTypeName(caf::PdmField)); \ - static bool PDM_FIELD_EDITOR_STRING_CONCATENATE(pdm_Proxy_field_register_default_editor_, __LINE__) = caf::Factory::instance()->registerCreator(qStringTypeName(caf::PdmProxyValueField)) + static bool PDM_FIELD_EDITOR_STRING_CONCATENATE(myField##EditorClassName, __LINE__) = caf::Factory::instance()->registerCreator(qStringTypeName(caf::PdmField)); \ + static bool PDM_FIELD_EDITOR_STRING_CONCATENATE(myProxyField##EditorClassName, __LINE__) = caf::Factory::instance()->registerCreator(qStringTypeName(caf::PdmProxyValueField)) class PdmUiGroup; class PdmUiFieldHandle; diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldHandle.cpp b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldHandle.cpp index 485a0064a5..23387dbbb6 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldHandle.cpp +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldHandle.cpp @@ -12,7 +12,8 @@ namespace caf //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -PdmUiFieldHandle::PdmUiFieldHandle(PdmFieldHandle* owner, bool giveOwnership) +PdmUiFieldHandle::PdmUiFieldHandle(PdmFieldHandle* owner, bool giveOwnership): + m_isAutoAddingOptionFromValue(true) { m_owner = owner; owner->addCapability(this, giveOwnership); diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldHandle.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldHandle.h index 8b8c0c8f11..242ce3ef51 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldHandle.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldHandle.h @@ -2,13 +2,14 @@ #include "cafPdmUiItem.h" #include "cafPdmFieldCapability.h" +#include "cafPdmUiFieldHandleInterface.h" namespace caf { class PdmFieldHandle; -class PdmUiFieldHandle : public PdmUiItem, public PdmFieldCapability +class PdmUiFieldHandle : public PdmUiItem, public PdmFieldCapability, public PdmUiFieldHandleInterface { public: PdmUiFieldHandle(PdmFieldHandle* owner, bool giveOwnership); @@ -20,15 +21,22 @@ class PdmUiFieldHandle : public PdmUiItem, public PdmFieldCapability // The QVariant encapsulates the real value, or an index into the valueOptions virtual QVariant uiValue() const { return QVariant(); } - virtual void setValueFromUi(const QVariant& uiValue) { } virtual QList valueOptions(bool* useOptionsOnly) { return QList(); } - virtual QVariant toUiBasedQVariant() const { return QVariant(); } - void notifyFieldChanged(const QVariant& oldUiBasedQVariant, const QVariant& newUiBasedQVariant); + virtual void notifyFieldChanged(const QVariant& oldUiBasedQVariant, const QVariant& newUiBasedQVariant); + + bool isAutoAddingOptionFromValue() const { return m_isAutoAddingOptionFromValue; } + void setAutoAddingOptionFromValue(bool isAddingValue) { m_isAutoAddingOptionFromValue = isAddingValue;} + +private: + friend class PdmUiCommandSystemProxy; + friend class CmdFieldChangeExec; + virtual void setValueFromUiEditor(const QVariant& uiValue) { } private: - PdmFieldHandle* m_owner; + PdmFieldHandle* m_owner; + bool m_isAutoAddingOptionFromValue; }; diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldSpecialization.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldSpecialization.h index 99c38d331b..6351b5f50c 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldSpecialization.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiFieldSpecialization.h @@ -43,7 +43,7 @@ class PdmUiFieldSpecialization /// The == operator will normally work, but does not support custom types in the QVariant /// See http://qt-project.org/doc/qt-4.8/qvariant.html#operator-eq-eq-64 /// This is needed for the lookup regarding OptionValues - static bool isEqual(const QVariant& variantValue, const QVariant& variantValue2) + static bool isDataElementEqual(const QVariant& variantValue, const QVariant& variantValue2) { return variantValue == variantValue2; } diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiItem.cpp b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiItem.cpp index d6e385ac9a..55d76423a9 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiItem.cpp +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiItem.cpp @@ -140,15 +140,25 @@ bool PdmUiItem::isUiHidden(QString uiConfigName) const //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -bool PdmUiItem::isUiChildrenHidden(QString uiConfigName) const +bool PdmUiItem::isUiTreeHidden(QString uiConfigName) const +{ + // TODO: Must be separated from uiHidden when childField object embedding is implemented + + return isUiHidden(uiConfigName); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool PdmUiItem::isUiTreeChildrenHidden(QString uiConfigName) const { const PdmUiItemInfo* conInfo = configInfo(uiConfigName); const PdmUiItemInfo* defInfo = defaultInfo(); const PdmUiItemInfo* sttInfo = m_staticItemInfo; - if (conInfo && !(conInfo->m_isChildrenHidden == -1)) return conInfo->m_isChildrenHidden; - if (defInfo && !(defInfo->m_isChildrenHidden == -1)) return defInfo->m_isChildrenHidden; - if (sttInfo && !(sttInfo->m_isChildrenHidden == -1)) return sttInfo->m_isChildrenHidden; + if (conInfo && !(conInfo->m_isTreeChildrenHidden == -1)) return conInfo->m_isTreeChildrenHidden; + if (defInfo && !(defInfo->m_isTreeChildrenHidden == -1)) return defInfo->m_isTreeChildrenHidden; + if (sttInfo && !(sttInfo->m_isTreeChildrenHidden == -1)) return sttInfo->m_isTreeChildrenHidden; return false; } diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiItem.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiItem.h index 642d0e41eb..da952663ab 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiItem.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiItem.h @@ -56,27 +56,27 @@ class PdmUiItemInfo { public: PdmUiItemInfo() - : m_editorTypeName(""), m_isHidden(-1), m_isChildrenHidden(-1), m_isReadOnly(-1), m_labelAlignment(LEFT) + : m_editorTypeName(""), m_isHidden(-1), m_isTreeChildrenHidden(-1), m_isReadOnly(-1), m_labelAlignment(LEFT) {} PdmUiItemInfo( QString uiName, QIcon icon = QIcon(), QString toolTip = "", QString whatsThis = "") : m_uiName(uiName), m_icon(icon), m_toolTip(toolTip), m_whatsThis(whatsThis), - m_editorTypeName(""), m_isHidden(false), m_isChildrenHidden(false), m_isReadOnly(false), m_labelAlignment(LEFT) + m_editorTypeName(""), m_isHidden(false), m_isTreeChildrenHidden(false), m_isReadOnly(false), m_labelAlignment(LEFT) { } enum LabelPosType { LEFT, TOP, HIDDEN }; private: friend class PdmUiItem; - QString m_uiName; - QString m_toolTip; - QString m_whatsThis; - QIcon m_icon; - QString m_editorTypeName; ///< Use this exact type of editor to edit this UiItem - int m_isHidden; ///< UiItem should be hidden. -1 means not set - int m_isChildrenHidden; ///< Children of UiItem should be hidden. -1 means not set - int m_isReadOnly; ///< UiItem should be insensitive, or read only. -1 means not set. - LabelPosType m_labelAlignment; + QString m_uiName; + QString m_toolTip; + QString m_whatsThis; + QIcon m_icon; + QString m_editorTypeName; ///< Use this exact type of editor to edit this UiItem + int m_isHidden; ///< UiItem should be hidden. -1 means not set + int m_isTreeChildrenHidden; ///< Children of UiItem should be hidden. -1 means not set + int m_isReadOnly; ///< UiItem should be insensitive, or read only. -1 means not set. + LabelPosType m_labelAlignment; }; //================================================================================================== @@ -124,13 +124,28 @@ bool PdmOptionItemInfo::findValues(const QList& optionList, Q if (valuesSelectedInField.size()) { - for (int i= 0 ; i < valuesSelectedInField.size(); ++i) + // Create a list to be able to remove items as they are matched with values + std::list > optionVariantAndIndexPairs; + + for (int i= 0 ; i < optionList.size(); ++i) + { + optionVariantAndIndexPairs.push_back(std::make_pair(optionList[i].value, i)); + } + + for (int i = 0; i < valuesSelectedInField.size(); ++i) { - for (unsigned int opIdx = 0; opIdx < static_cast(optionList.size()); ++opIdx) + std::list >::iterator it; + for (it = optionVariantAndIndexPairs.begin(); it != optionVariantAndIndexPairs.end(); it++) { - if (PdmUiFieldSpecialization::isEqual(valuesSelectedInField[i], optionList[opIdx].value)) + if (PdmUiFieldSpecialization::isDataElementEqual(valuesSelectedInField[i], it->first)) { - foundIndexes.push_back(opIdx); + foundIndexes.push_back(it->second); + + // Assuming that one option is referenced only once, the option is erased. Then break + // out of the inner loop, as this operation can be costly for fields with many options and many values + + optionVariantAndIndexPairs.erase(it); + break; } } } @@ -142,7 +157,7 @@ bool PdmOptionItemInfo::findValues(const QList& optionList, Q { for (unsigned int opIdx = 0; opIdx < static_cast(optionList.size()); ++opIdx) { - if (PdmUiFieldSpecialization::isEqual(optionList[opIdx].value, fieldValue)) + if (PdmUiFieldSpecialization::isDataElementEqual(optionList[opIdx].value, fieldValue)) { foundIndexes.push_back(opIdx); break; @@ -184,8 +199,11 @@ class PdmUiItem bool isUiHidden(QString uiConfigName = "") const; void setUiHidden(bool isHidden, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_isHidden = isHidden; } - bool isUiChildrenHidden(QString uiConfigName = "") const; - void setUiChildrenHidden(bool isChildrenHidden, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_isChildrenHidden = isChildrenHidden; } + bool isUiTreeHidden(QString uiConfigName = "") const; + void setUiTreeHidden(bool isHidden, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_isHidden = isHidden; } + + bool isUiTreeChildrenHidden(QString uiConfigName = "") const; + void setUiTreeChildrenHidden(bool isTreeChildrenHidden, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_isTreeChildrenHidden = isTreeChildrenHidden; } bool isUiReadOnly(QString uiConfigName = ""); void setUiReadOnly(bool isReadOnly, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_isReadOnly = isReadOnly; } diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiObjectHandle.cpp b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiObjectHandle.cpp index 8a61cfd718..2ef4a4fab8 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiObjectHandle.cpp +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiObjectHandle.cpp @@ -114,7 +114,7 @@ void PdmUiObjectHandle::addDefaultUiTreeChildren(PdmUiTreeOrdering* uiTreeOrderi { if (fields[fIdx]->hasChildObjects() && !uiTreeOrdering->containsField(fields[fIdx])) { - if (fields[fIdx]->uiCapability()->isUiHidden() && !fields[fIdx]->uiCapability()->isUiChildrenHidden()) + if (fields[fIdx]->uiCapability()->isUiHidden() && !fields[fIdx]->uiCapability()->isUiTreeChildrenHidden()) { std::vector children; fields[fIdx]->childObjects(&children); @@ -182,7 +182,7 @@ void PdmUiObjectHandle::expandUiTree(PdmUiTreeOrdering* root, QString uiConfigNa { if (!root->ignoreSubTree()) { - if (root->isRepresentingField() && !root->field()->uiCapability()->isUiChildrenHidden(uiConfigName)) + if (root->isRepresentingField() && !root->field()->uiCapability()->isUiTreeChildrenHidden(uiConfigName)) { std::vector fieldsChildObjects; root->field()->childObjects(&fieldsChildObjects); @@ -195,7 +195,7 @@ void PdmUiObjectHandle::expandUiTree(PdmUiTreeOrdering* root, QString uiConfigNa } } } - else if (root->isRepresentingObject() && !root->object()->uiCapability()->isUiChildrenHidden(uiConfigName)) + else if (root->isRepresentingObject() && !root->object()->uiCapability()->isUiTreeChildrenHidden(uiConfigName)) { uiObj(root->object())->defineUiTreeOrdering(*root, uiConfigName); uiObj(root->object())->addDefaultUiTreeChildren(root); @@ -228,7 +228,7 @@ void PdmUiObjectHandle::updateUiIconFromToggleField() //-------------------------------------------------------------------------------------------------- /// Implementation of uiCapability() defined in cafPdmObjectHandle.h //-------------------------------------------------------------------------------------------------- -PdmUiObjectHandle* PdmObjectHandle::uiCapability() +PdmUiObjectHandle* PdmObjectHandle::uiCapability() const { PdmUiObjectHandle* uiField = capability(); assert(uiField); diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiOrdering.cpp b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiOrdering.cpp index 5b94960a72..7bc8540cdb 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiOrdering.cpp +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiOrdering.cpp @@ -94,7 +94,9 @@ bool PdmUiOrdering::contains(const PdmUiItem* item) void PdmUiOrdering::add(const PdmFieldHandle* field) { PdmUiFieldHandle* uiItem = const_cast(field)->uiCapability(); - assert(uiItem); + assert(uiItem); + assert(!this->contains(uiItem)); + m_ordering.push_back(uiItem); } @@ -105,6 +107,8 @@ void PdmUiOrdering::add(const PdmObjectHandle* obj) { PdmUiObjectHandle* uiItem = uiObj(const_cast(obj)); assert(uiItem); + assert(!this->contains(uiItem)); + m_ordering.push_back(uiItem); } diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiTreeOrdering.cpp b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiTreeOrdering.cpp index 05d23c1db8..dde47242b4 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiTreeOrdering.cpp +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiTreeOrdering.cpp @@ -52,11 +52,27 @@ namespace caf //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void PdmUiTreeOrdering::add(PdmFieldHandle * field) +void PdmUiTreeOrdering::add(PdmFieldHandle* field, QString uiConfigName) { assert(field); - PdmUiTreeOrdering* child = new PdmUiTreeOrdering(this, field); + if (field->uiCapability()->isUiTreeHidden(uiConfigName)) + { + if (!field->uiCapability()->isUiTreeChildrenHidden(uiConfigName)) + { + std::vector children; + field->childObjects(&children); + + for (PdmObjectHandle* objHandle : children) + { + this->add(objHandle); + } + } + } + else + { + PdmUiTreeOrdering* child = new PdmUiTreeOrdering(this, field); + } } //-------------------------------------------------------------------------------------------------- diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiTreeOrdering.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiTreeOrdering.h index 3fa34ac695..5ffd1f099b 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiTreeOrdering.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmUiCore/cafPdmUiTreeOrdering.h @@ -69,7 +69,7 @@ class PdmUiTreeOrdering ~PdmUiTreeOrdering(); - void add(PdmFieldHandle * field); + void add(PdmFieldHandle * field, QString uiConfigName = ""); void add(PdmObjectHandle* object); PdmUiTreeOrdering* add(const QString & title, const QString& iconResourceName ); diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafInternalPdmXmlFieldCapability.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafInternalPdmXmlFieldCapability.h index f14cd1914b..420b115320 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafInternalPdmXmlFieldCapability.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafInternalPdmXmlFieldCapability.h @@ -50,6 +50,34 @@ class PdmFieldXmlCap< PdmPtrField > : public PdmXmlFieldHandle bool m_isResolved; }; +template class PdmPtrArrayField; + +template < typename DataType> +class PdmFieldXmlCap< PdmPtrArrayField >: public PdmXmlFieldHandle +{ + typedef PdmPtrArrayField FieldType; +public: + PdmFieldXmlCap(FieldType* field, bool giveOwnership) : PdmXmlFieldHandle(field, giveOwnership) + { + m_field = field; + m_childClassKeyword = DataType::classKeywordStatic(); + m_isResolved = false; + m_referenceString = ""; + } + + // Xml Serializing +public: + virtual void readFieldData(QXmlStreamReader& xmlStream, PdmObjectFactory* objectFactory); + virtual void writeFieldData(QXmlStreamWriter& xmlStream); + virtual void resolveReferences(); + +private: + FieldType* m_field; + + // Resolving + QString m_referenceString; + bool m_isResolved; +}; template class PdmChildField; diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafInternalPdmXmlFieldCapability.inl b/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafInternalPdmXmlFieldCapability.inl index 5842df0414..2bebe739a2 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafInternalPdmXmlFieldCapability.inl +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafInternalPdmXmlFieldCapability.inl @@ -2,6 +2,8 @@ #include "cafPdmObjectFactory.h" #include "cafPdmXmlObjectHandle.h" +#include + #include namespace caf @@ -103,6 +105,78 @@ template m_isResolved = true; } + //================================================================================================== +/// XML Implementation for PdmPtrArrayField<> +//================================================================================================== + + //-------------------------------------------------------------------------------------------------- + /// + //-------------------------------------------------------------------------------------------------- + + template + void caf::PdmFieldXmlCap< caf::PdmPtrArrayField >::readFieldData(QXmlStreamReader& xmlStream, PdmObjectFactory*) + { + this->assertValid(); + + PdmFieldIOHelper::skipComments(xmlStream); + if(!xmlStream.isCharacters()) return; + + QString dataString = xmlStream.text().toString(); + + // Make stream point to end of element + QXmlStreamReader::TokenType type; + type = xmlStream.readNext(); + PdmFieldIOHelper::skipCharactersAndComments(xmlStream); + + // This resolving can NOT be done here. + // It must be done when we know that the complete hierarchy is read and created, + // and then we need a traversal of the object hierarchy to resolve all references before initAfterRead. + + m_isResolved = false; + m_referenceString = dataString; + m_field->clear(); + } + + //-------------------------------------------------------------------------------------------------- + /// + //-------------------------------------------------------------------------------------------------- + + template + void caf::PdmFieldXmlCap< caf::PdmPtrArrayField >::writeFieldData(QXmlStreamWriter& xmlStream) + { + this->assertValid(); + + QString dataString; + size_t pointerCount = m_field->m_pointers.size(); + for (size_t i = 0; i < pointerCount; ++i) + { + dataString += PdmReferenceHelper::referenceFromFieldToObject(m_field, m_field->m_pointers[i].rawPtr()); + if (!dataString.isEmpty() && i < pointerCount-1) dataString += " | \n\t"; + } + xmlStream.writeCharacters(dataString); + } + + + //-------------------------------------------------------------------------------------------------- + /// + //-------------------------------------------------------------------------------------------------- + template < typename DataType> + void caf::PdmFieldXmlCap< PdmPtrArrayField >::resolveReferences() + { + if(m_isResolved) return; + if(m_referenceString.isEmpty()) return; + m_field->clear(); + QStringList tokens = m_referenceString.split('|'); + for(int i = 0; i < tokens.size(); ++i) + { + PdmObjectHandle* objHandle = PdmReferenceHelper::objectFromFieldReference(this->fieldHandle(), tokens[i]); + m_field->m_pointers.push_back(NULL); + m_field->m_pointers.back().setRawPtr(objHandle); + } + + m_isResolved = true; + } + //================================================================================================== /// XML Implementation for PdmChildField<> diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlObjectHandle.cpp b/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlObjectHandle.cpp index b5fb344fc5..9bcaa193a5 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlObjectHandle.cpp +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlObjectHandle.cpp @@ -337,7 +337,7 @@ void PdmXmlObjectHandle::setupBeforeSaveRecursively(PdmObjectHandle* object) //-------------------------------------------------------------------------------------------------- /// Implementation of xmlCapability() defined in cafPdmObjectHandle.h //-------------------------------------------------------------------------------------------------- -PdmXmlObjectHandle* PdmObjectHandle::xmlCapability() +PdmXmlObjectHandle* PdmObjectHandle::xmlCapability() const { PdmXmlObjectHandle* xmlField = capability(); assert(xmlField); diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlObjectHandleMacros.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlObjectHandleMacros.h index 339dc96070..a00116f2df 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlObjectHandleMacros.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlObjectHandleMacros.h @@ -36,7 +36,7 @@ public: \ bool ClassName::Error_You_forgot_to_add_the_macro_CAF_PDM_XML_HEADER_INIT_and_or_CAF_PDM_XML_SOURCE_INIT_to_your_cpp_file_for_this_class() { return false;} \ \ QString ClassName::classKeywordStatic() { return keyword; } \ - static bool PDM_OBJECT_STRING_CONCATENATE(pdm_object_factory_init_, __LINE__) = caf::PdmDefaultObjectFactory::instance()->registerCreator() + static bool PDM_OBJECT_STRING_CONCATENATE(my##ClassName, __LINE__) = caf::PdmDefaultObjectFactory::instance()->registerCreator() #define CAF_PDM_XML_ABSTRACT_SOURCE_INIT(ClassName, keyword) \ bool ClassName::Error_You_forgot_to_add_the_macro_CAF_PDM_XML_HEADER_INIT_and_or_CAF_PDM_XML_SOURCE_INIT_to_your_cpp_file_for_this_class() { return false;} \ diff --git a/Fwk/AppFwk/cafTensor/cafTensor3.h b/Fwk/AppFwk/cafTensor/cafTensor3.h index e06357450d..8e3af7030c 100644 --- a/Fwk/AppFwk/cafTensor/cafTensor3.h +++ b/Fwk/AppFwk/cafTensor/cafTensor3.h @@ -46,10 +46,11 @@ class Tensor3 void setFromInternalLayout(S* tensorData); void setFromAbaqusLayout(S* tensorData); - cvf::Vec3f calculatePrincipals(cvf::Vec3f principalDirections[3]); - float calculateVonMises(); -}; + cvf::Vec3f calculatePrincipals(cvf::Vec3f principalDirections[3]) const; + float calculateVonMises() const; + Tensor3 rotated(const cvf::Matrix3& rotMx) const; +}; typedef Tensor3 Ten3f; diff --git a/Fwk/AppFwk/cafTensor/cafTensor3.inl b/Fwk/AppFwk/cafTensor/cafTensor3.inl index a7b107d26f..279ee20450 100644 --- a/Fwk/AppFwk/cafTensor/cafTensor3.inl +++ b/Fwk/AppFwk/cafTensor/cafTensor3.inl @@ -168,7 +168,7 @@ cvf::Vec3d eigenVector3(const cvf::Mat3d& mx, double eigenValue, bool* computedO /// The tensor must be laid out as follows: SXX, SYY, SZZ, SXY, SYZ, SZX //-------------------------------------------------------------------------------------------------- template -cvf::Vec3f Tensor3::calculatePrincipals( cvf::Vec3f principalDirections[3]) +cvf::Vec3f Tensor3::calculatePrincipals( cvf::Vec3f principalDirections[3]) const { CVF_TIGHT_ASSERT(m_tensor); @@ -314,12 +314,31 @@ cvf::Vec3f Tensor3::calculatePrincipals( cvf::Vec3f principalDirections[3]) /// //-------------------------------------------------------------------------------------------------- template< typename S> -float caf::Tensor3::calculateVonMises() +float caf::Tensor3::calculateVonMises() const { return (float) sqrt( ( (m_tensor[0]*m_tensor[0] + m_tensor[1]*m_tensor[1] + m_tensor[2]*m_tensor[2]) ) + ( -(m_tensor[0]*m_tensor[1] + m_tensor[1]*m_tensor[2] + m_tensor[0]*m_tensor[2]) ) + ( 3*(m_tensor[3]*m_tensor[3] + m_tensor[4]*m_tensor[4] + m_tensor[5]*m_tensor[5]) ) ); } +//-------------------------------------------------------------------------------------------------- +/// Calculates Trot = rotMx*T*transpose(rotMx) +//-------------------------------------------------------------------------------------------------- +template< typename S> +Tensor3 caf::Tensor3::rotated(const cvf::Matrix3& rotMx) const +{ + cvf::Matrix3 tensor(m_tensor[SXX], m_tensor[SXY], m_tensor[SZX], + m_tensor[SXY], m_tensor[SYY], m_tensor[SYZ], + m_tensor[SZX], m_tensor[SYZ], m_tensor[SZZ]); + + cvf::Matrix3 transposedRotMx = rotMx; + transposedRotMx.transpose(); + cvf::Matrix3 rotatedTensor = rotMx * tensor * transposedRotMx; + + return Tensor3(rotatedTensor(0,0), rotatedTensor(1,1), rotatedTensor(2,2), + rotatedTensor(1,0), rotatedTensor(1,2), rotatedTensor(0,2)); +} + + } diff --git a/Fwk/AppFwk/cafUserInterface/CMakeLists.txt b/Fwk/AppFwk/cafUserInterface/CMakeLists.txt index be7ce26d54..a8bedae088 100644 --- a/Fwk/AppFwk/cafUserInterface/CMakeLists.txt +++ b/Fwk/AppFwk/cafUserInterface/CMakeLists.txt @@ -134,4 +134,14 @@ target_link_libraries ( ${PROJECT_NAME} ${QT_LIBRARIES} ) +if (CAF_USE_COTIRE) + cotire(${PROJECT_NAME}) + + # make sure the unity target is included in the active builds to trigger rebuild before debug + get_target_property(_unityTargetName ${PROJECT_NAME} COTIRE_UNITY_TARGET_NAME) + set_target_properties(${_unityTargetName} PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD FALSE) + set_target_properties(${PROJECT_NAME} PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD TRUE) + +endif() + source_group("" FILES ${PROJECT_FILES}) diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiDefaultObjectEditor.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiDefaultObjectEditor.cpp index 5982e940d6..9b542389c6 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiDefaultObjectEditor.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiDefaultObjectEditor.cpp @@ -117,7 +117,7 @@ void PdmUiDefaultObjectEditor::configureAndUpdateUi(const QString& uiConfigName) } // Set all fieldViews to be unvisited - std::map::iterator it; + std::map::iterator it; for (it = m_fieldViews.begin(); it != m_fieldViews.end(); ++it) { it->second->setField(NULL); @@ -127,12 +127,20 @@ void PdmUiDefaultObjectEditor::configureAndUpdateUi(const QString& uiConfigName) m_newGroupBoxes.clear(); const std::vector& uiItems = config.uiItems(); + + // TODO: Review that is it not breaking anything to have fields with identical keywords + // { + // std::set fieldKeywordNames; + // std::set groupNames; + // + // recursiveVerifyUniqueNames(uiItems, uiConfigName, &fieldKeywordNames, &groupNames); + // } recursiveSetupFieldsAndGroups(uiItems, m_mainWidget, m_layout, uiConfigName); // Remove all fieldViews not mentioned by the configuration from the layout - std::vector< QString > fvhToRemoveFromMap; + std::vector< PdmFieldHandle* > fvhToRemoveFromMap; for (it = m_fieldViews.begin(); it != m_fieldViews.end(); ++it) { if (it->second->field() == 0) @@ -165,12 +173,38 @@ void PdmUiDefaultObjectEditor::configureAndUpdateUi(const QString& uiConfigName) m_groupBoxes = m_newGroupBoxes; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void PdmUiDefaultObjectEditor::cleanupBeforeSettingPdmObject() +{ + std::map::iterator it; + for (it = m_fieldViews.begin(); it != m_fieldViews.end(); ++it) + { + PdmUiFieldEditorHandle* fvh = it->second; + delete fvh; + } + m_fieldViews.clear(); + + m_newGroupBoxes.clear(); + + std::map >::iterator groupIt; + for (groupIt = m_groupBoxes.begin(); groupIt != m_groupBoxes.end(); ++groupIt) + { + if (!groupIt->second.isNull()) groupIt->second->deleteLater(); + } + + m_groupBoxes.clear(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void PdmUiDefaultObjectEditor::recursiveSetupFieldsAndGroups(const std::vector& uiItems, QWidget* parent, QGridLayout* parentLayout, const QString& uiConfigName) { int currentRowIndex = 0; + QWidget* previousTabOrderWidget = NULL; + for (size_t i = 0; i < uiItems.size(); ++i) { if (uiItems[i]->isUiHidden(uiConfigName)) continue; @@ -220,8 +254,8 @@ void PdmUiDefaultObjectEditor::recursiveSetupFieldsAndGroups(const std::vector

::iterator it; - it = m_fieldViews.find(field->fieldHandle()->keyword()); + std::map::iterator it; + it = m_fieldViews.find(field->fieldHandle()); if (it == m_fieldViews.end()) { @@ -238,7 +272,7 @@ void PdmUiDefaultObjectEditor::recursiveSetupFieldsAndGroups(const std::vector

uiValue().type() != QVariant::List) + if (field->toUiBasedQVariant().type() != QVariant::List) { bool useOptionsOnly = true; QList options = field->valueOptions( &useOptionsOnly); @@ -254,7 +288,7 @@ void PdmUiDefaultObjectEditor::recursiveSetupFieldsAndGroups(const std::vector

fieldHandle()->keyword()] = fieldEditor; + m_fieldViews[field->fieldHandle()] = fieldEditor; fieldEditor->createWidgets(parent); } else @@ -333,6 +367,10 @@ void PdmUiDefaultObjectEditor::recursiveSetupFieldsAndGroups(const std::vector

addWidget(fieldEditorWidget, currentRowIndex, colIndex, 1, colSpan, Qt::AlignTop); + + if (previousTabOrderWidget) QWidget::setTabOrder(previousTabOrderWidget, fieldEditorWidget); + + previousTabOrderWidget = fieldEditorWidget; } } @@ -346,5 +384,49 @@ void PdmUiDefaultObjectEditor::recursiveSetupFieldsAndGroups(const std::vector

& uiItems, const QString& uiConfigName, std::set* fieldKeywordNames, std::set* groupNames) +{ + for (size_t i = 0; i < uiItems.size(); ++i) + { + if (uiItems[i]->isUiGroup()) + { + PdmUiGroup* group = static_cast(uiItems[i]); + const std::vector& groupChildren = group->uiItems(); + + QString groupBoxKey = uiItems[i]->uiName(); + + if (groupNames->find(groupBoxKey) != groupNames->end()) + { + // It is not supported to have two groups with identical names + assert(false); + } + else + { + groupNames->insert(groupBoxKey); + } + + recursiveVerifyUniqueNames(groupChildren, uiConfigName, fieldKeywordNames, groupNames); + } + else + { + PdmUiFieldHandle* field = dynamic_cast(uiItems[i]); + + QString fieldKeyword = field->fieldHandle()->keyword(); + if (fieldKeywordNames->find(fieldKeyword) != fieldKeywordNames->end()) + { + // It is not supported to have two fields with identical names + assert(false); + } + else + { + fieldKeywordNames->insert(fieldKeyword); + } + } + } +} + } // end namespace caf diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiDefaultObjectEditor.h b/Fwk/AppFwk/cafUserInterface/cafPdmUiDefaultObjectEditor.h index 3d3a19ba92..6ac2e42adf 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiDefaultObjectEditor.h +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiDefaultObjectEditor.h @@ -36,12 +36,15 @@ #pragma once + #include "cafPdmUiObjectEditorHandle.h" + #include + +#include +#include #include #include -#include -#include class QGridLayout; @@ -61,13 +64,15 @@ class PdmUiDefaultObjectEditor : public PdmUiObjectEditorHandle ~PdmUiDefaultObjectEditor(); protected: - virtual QWidget* createWidget(QWidget* parent); - virtual void configureAndUpdateUi(const QString& uiConfigName); + virtual QWidget* createWidget(QWidget* parent) override; + virtual void configureAndUpdateUi(const QString& uiConfigName) override; + virtual void cleanupBeforeSettingPdmObject() override; private: - void recursiveSetupFieldsAndGroups(const std::vector& uiItems, QWidget* parent, QGridLayout* parentLayout, const QString& uiConfigName ); + void recursiveSetupFieldsAndGroups(const std::vector& uiItems, QWidget* parent, QGridLayout* parentLayout, const QString& uiConfigName); + void recursiveVerifyUniqueNames(const std::vector& uiItems, const QString& uiConfigName, std::set* fieldKeywordNames, std::set* groupNames); - std::map m_fieldViews; + std::map m_fieldViews; std::map > m_groupBoxes; std::map > m_newGroupBoxes; ///< used temporarily to store the new(complete) set of group boxes diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleSliderEditor.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleSliderEditor.cpp index fc73ec86dd..18ce56ffba 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleSliderEditor.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleSliderEditor.cpp @@ -74,7 +74,7 @@ class PdmDoubleValidator : public QDoubleValidator //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- - virtual void fixup(QString& stringValue) const + virtual void fixup(QString& stringValue) const override { double doubleValue = stringValue.toDouble(); doubleValue = qBound(bottom(), doubleValue, top()); @@ -115,14 +115,19 @@ void PdmUiDoubleSliderEditor::configureAndUpdateUi(const QString& uiConfigName) { uiObject->editorAttribute(field()->fieldHandle(), uiConfigName, &m_attributes); } + + QString textValue = field()->uiValue().toString(); - PdmDoubleValidator* pdmValidator = new PdmDoubleValidator(m_attributes.m_minimum, m_attributes.m_maximum, m_attributes.m_decimals, this); - m_lineEdit->setValidator(pdmValidator); + m_slider->blockSignals(true); + m_slider->setMaximum(m_attributes.m_sliderTickCount); + m_slider->blockSignals(false); - QString textValue = field()->uiValue().toString(); + PdmDoubleValidator* pdmValidator = new PdmDoubleValidator(m_attributes.m_minimum, m_attributes.m_maximum, m_attributes.m_decimals, this); pdmValidator->fixup(textValue); - + + m_lineEdit->setValidator(pdmValidator); m_lineEdit->setText(textValue); + updateSliderPosition(); } @@ -142,6 +147,7 @@ QWidget* PdmUiDoubleSliderEditor::createEditorWidget(QWidget * parent) connect(m_lineEdit, SIGNAL(editingFinished()), this, SLOT(slotEditingFinished())); m_slider = new QSlider(Qt::Horizontal, containerWidget); + layout->addWidget(m_lineEdit); layout->addWidget(m_slider); @@ -218,7 +224,7 @@ int PdmUiDoubleSliderEditor::convertToSliderValue(double value) { double exactSliderValue = m_slider->maximum() * (value - m_attributes.m_minimum) / (m_attributes.m_maximum - m_attributes.m_minimum); - int sliderValue = static_cast(exactSliderValue); + int sliderValue = static_cast( exactSliderValue + 0.5); sliderValue = qBound(m_slider->minimum(), sliderValue, m_slider->maximum()); return sliderValue; diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleSliderEditor.h b/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleSliderEditor.h index f92cb32c67..dba27056c8 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleSliderEditor.h +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleSliderEditor.h @@ -62,12 +62,14 @@ class PdmUiDoubleSliderEditorAttribute : public PdmUiEditorAttribute m_minimum = 0; m_maximum = 10; m_decimals = 6; + m_sliderTickCount = 2000; } public: double m_minimum; double m_maximum; int m_decimals; + int m_sliderTickCount; }; diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiListEditor.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiListEditor.cpp index 3e0a52dd53..13eb61c3e1 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiListEditor.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiListEditor.cpp @@ -265,12 +265,19 @@ void PdmUiListEditor::slotSelectionChanged(const QItemSelection & selected, cons { if (m_options.isEmpty()) return; - //QModelIndexList idxList = selected.indexes(); - QModelIndexList idxList = m_listView->selectionModel()->selectedIndexes(); - QVariant fieldValue = field()->uiValue(); if (fieldValue.type() == QVariant::Int || fieldValue.type() == QVariant::UInt) { + // NOTE : Workaround for update issue seen on RHEL6 with Qt 4.6.2 + // An invalid call to setSelection() from QAbstractItemView::keyPressEvent() causes the stepping using arrow keys + // in a single selection list to not work as expected. + // + // See also https://github.com/OPM/ResInsight/issues/879 + // + // WORKAROUND : The list view is in single selection mode, and the selection is set based on current index + m_listView->selectionModel()->select(m_listView->currentIndex(), QItemSelectionModel::SelectCurrent); + + QModelIndexList idxList = m_listView->selectionModel()->selectedIndexes(); if (idxList.size() >= 1) { if (idxList[0].row() < m_options.size()) @@ -281,8 +288,24 @@ void PdmUiListEditor::slotSelectionChanged(const QItemSelection & selected, cons } else if (fieldValue.type() == QVariant::List) { - QList valuesToSetInField; + QModelIndexList idxList = m_listView->selectionModel()->selectedIndexes(); + + if (idxList.size() == 1) + { + // NOTE : Workaround for update issue seen on RHEL6 with Qt 4.6.2 + // An invalid call to setSelection() from QAbstractItemView::keyPressEvent() causes the stepping using arrow keys + // in a multi selection list to not work as expected. + // + // See also https://github.com/OPM/ResInsight/issues/879 + // + // WORKAROUND : The list view has one or none items selected, manually set the selection from current index + m_listView->selectionModel()->select(m_listView->currentIndex(), QItemSelectionModel::SelectCurrent); + + // Update the list of indexes after selection has been modified + idxList = m_listView->selectionModel()->selectedIndexes(); + } + QList valuesToSetInField; for (int i = 0; i < idxList.size(); ++i) { if (idxList[i].row() < m_options.size()) diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiPropertyView.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiPropertyView.cpp index 56791fd923..dd20eeb9c8 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiPropertyView.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiPropertyView.cpp @@ -158,5 +158,13 @@ PdmObjectHandle* PdmUiPropertyView::currentObject() } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QSize PdmUiPropertyView::sizeHint() const +{ + return QSize(200, 200); +} + } //End of namespace caf diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiPropertyView.h b/Fwk/AppFwk/cafUserInterface/cafPdmUiPropertyView.h index 7b7083d5a2..f73d87aa5c 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiPropertyView.h +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiPropertyView.h @@ -60,7 +60,10 @@ class PdmUiPropertyView : public QWidget void setUiConfigurationName(QString uiConfigName); PdmObjectHandle* currentObject(); -public slots: + + virtual QSize sizeHint() const override; + + public slots: void showProperties(caf::PdmObjectHandle* object); // Signal/Slot system needs caf:: prefix in some cases private: diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeView.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeView.cpp index ae7f872f48..6da7e0f60f 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeView.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeView.cpp @@ -107,6 +107,14 @@ QTreeView* PdmUiTreeView::treeView() return m_treeViewEditor->treeView(); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool PdmUiTreeView::isTreeItemEditWidgetActive() const +{ + return m_treeViewEditor->isTreeItemEditWidgetActive(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeView.h b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeView.h index 62f2431028..3c11cbe804 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeView.h +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeView.h @@ -72,6 +72,7 @@ class PdmUiTreeView : public QWidget void setPdmItem(caf::PdmUiItem* object); QTreeView* treeView(); + bool isTreeItemEditWidgetActive() const; void selectedUiItems(std::vector& objects); // TODO: rename void selectAsCurrentItem(PdmUiItem* uiItem); diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeViewEditor.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeViewEditor.cpp index 0316cc511b..3c34e90792 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeViewEditor.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeViewEditor.cpp @@ -67,6 +67,11 @@ class PdmUiTreeViewWidget : public QTreeView PdmUiTreeViewWidget(QWidget* parent = 0) : QTreeView(parent) {}; virtual ~PdmUiTreeViewWidget() {}; + bool isTreeItemEditWidgetActive() const + { + return state() == QAbstractItemView::EditingState; + } + protected: virtual void dragMoveEvent(QDragMoveEvent* event) { @@ -162,6 +167,14 @@ QTreeView* PdmUiTreeViewEditor::treeView() } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool PdmUiTreeViewEditor::isTreeItemEditWidgetActive() const +{ + return m_treeView->isTreeItemEditWidgetActive(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -306,6 +319,7 @@ void PdmUiTreeViewEditor::setExpanded(const PdmUiItem* uiItem, bool doExpand) co { QModelIndex index = m_treeViewModel->findModelIndex(uiItem); m_treeView->setExpanded(index, doExpand); + m_treeView->scrollTo(index); } //-------------------------------------------------------------------------------------------------- diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeViewEditor.h b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeViewEditor.h index 6ee6b37e32..1afd08fda0 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeViewEditor.h +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeViewEditor.h @@ -58,10 +58,11 @@ class QVBoxLayout; namespace caf { -class PdmUiItem; -class PdmUiTreeViewModel; class PdmChildArrayFieldHandle; class PdmUiDragDropInterface; +class PdmUiItem; +class PdmUiTreeViewModel; +class PdmUiTreeViewWidget; //-------------------------------------------------------------------------------------------------- /// @@ -94,6 +95,7 @@ class PdmUiTreeViewEditor : public PdmUiTreeEditorHandle bool isAppendOfClassNameToUiItemTextEnabled(); QTreeView* treeView(); + bool isTreeItemEditWidgetActive() const; void selectAsCurrentItem(PdmUiItem* uiItem); void selectedUiItems(std::vector& objects); @@ -133,7 +135,7 @@ private slots: QPointer m_mainWidget; QVBoxLayout* m_layout; - QTreeView* m_treeView; + PdmUiTreeViewWidget* m_treeView; PdmUiTreeViewModel* m_treeViewModel; PdmUiTreeViewEditorAttribute m_editorAttributes; diff --git a/Fwk/AppFwk/cafUserInterface/cafProgressInfo.cpp b/Fwk/AppFwk/cafUserInterface/cafProgressInfo.cpp index 498170c2e6..f349a44d4c 100644 --- a/Fwk/AppFwk/cafUserInterface/cafProgressInfo.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafProgressInfo.cpp @@ -56,7 +56,7 @@ namespace caf { /// When the method returns, the ProgressInfo destructor will clean up and finish. /// The real beauty is that this class will magically interact with possible ProgressInfo instances /// in functions that your method calls, providing a complete, consistent and detailed progress bar - /// + /// /// caf::ProgressInfo progInfo(3, "Open File"); /// progInfo.setProgressDescription("Reading"); /// ...readFile() @@ -67,6 +67,26 @@ namespace caf { /// progInfo.setProgressDescription("Building geometry"); /// ... buildGeometry(); /// progInfo.incrementProgress(); // not needed really, because the destructor will send the progress to top. + /// + /// There are one particular limitation: The progress will not work correctly if the higher level + /// ProgressInfo object does not increment progress between the creation and operation of two (or more) + /// independent lower level ProgressInfo objects. If not, the progress will restart (within its limits) + /// for each progress object that is operating. + /// + /// caf::ProgressInfo progInfoHighLevel(3, "Open File"); + /// + /// { + /// caf::ProgressInfo progInfoLowLevel(10, ""); + /// } + /// // NEEDS progInfoHighLevel.incrementProgress() here !! + /// { + /// caf::ProgressInfo progInfoLowLevel(10, ""); + /// } + /// + /// It is not allowed to have several ProgressInfo objects in the same scope level + /// + /// caf::ProgressInfo progInfo1(10, ""); + /// caf::ProgressInfo progInfo2(10, ""); //<-- Will not work well //================================================================================================== //-------------------------------------------------------------------------------------------------- @@ -170,6 +190,8 @@ namespace caf { progDialog = new QProgressDialog(); progDialog->hide(); + progDialog->setAutoClose(false); + progDialog->setAutoReset(false); } return progDialog; } @@ -231,6 +253,8 @@ namespace caf { //-------------------------------------------------------------------------------------------------- static size_t currentTotalMaxProgressValue() { + std::vector& maxProgressStack_v = maxProgressStack(); + size_t levCount = 1; for (size_t levelDepth = 0; levelDepth < maxProgressStack().size(); ++levelDepth) { @@ -245,6 +269,11 @@ namespace caf { static size_t currentTotalProgress() { double progress = 0; + + std::vector& progressStack_v = progressStack(); + std::vector& progressSpanStack_v = progressSpanStack(); + std::vector& maxProgressStack_v = maxProgressStack(); + for (int i = static_cast(progressStack().size()) - 1; i >= 0; --i) { size_t span = (i < 1) ? 1 : progressSpanStack()[i - 1]; @@ -299,6 +328,10 @@ namespace caf { { if (!isUpdatePossible()) return; + std::vector& progressStack_v = progressStack(); + std::vector& progressSpanStack_v = progressSpanStack(); + std::vector& maxProgressStack_v = maxProgressStack(); + if (!maxProgressStack().size()) { //progressDialog()->setWindowModality(Qt::ApplicationModal); @@ -345,6 +378,10 @@ namespace caf { { if (!isUpdatePossible()) return; + std::vector& progressStack_v = progressStack(); + std::vector& progressSpanStack_v = progressSpanStack(); + std::vector& maxProgressStack_v = maxProgressStack(); + if (progressValue == progressStack().back()) return; // Do nothing if no progress. // Guard against the max value set for this level @@ -373,6 +410,10 @@ namespace caf { { if (!isUpdatePossible()) return; + std::vector& progressStack_v = progressStack(); + std::vector& progressSpanStack_v = progressSpanStack(); + std::vector& maxProgressStack_v = maxProgressStack(); + assert(progressStack().size()); ProgressInfoStatic::setProgress(progressStack().back() + progressSpanStack().back()); } @@ -398,6 +439,10 @@ namespace caf { { if (!isUpdatePossible()) return; + std::vector& progressStack_v = progressStack(); + std::vector& progressSpanStack_v = progressSpanStack(); + std::vector& maxProgressStack_v = maxProgressStack(); + assert(maxProgressStack().size() && progressStack().size() && progressSpanStack().size() && titleStack().size() && descriptionStack().size()); // Set progress to max value, and leave it there until somebody touches the progress again @@ -419,8 +464,8 @@ namespace caf { { if (progressDialog() != NULL) { - progressDialog()->hide(); - delete progressDialog(); + progressDialog()->reset(); + progressDialog()->close(); } } diff --git a/Fwk/AppFwk/cafViewer/cafCadNavigation.cpp b/Fwk/AppFwk/cafViewer/cafCadNavigation.cpp index aa94ef46ec..9c56d13f07 100644 --- a/Fwk/AppFwk/cafViewer/cafCadNavigation.cpp +++ b/Fwk/AppFwk/cafViewer/cafCadNavigation.cpp @@ -44,6 +44,7 @@ #include "cvfManipulatorTrackball.h" #include + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -60,15 +61,6 @@ caf::CadNavigation::~CadNavigation() } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void caf::CadNavigation::init() -{ - caf::TrackBallBasedNavigation::init(); - m_navigationUpdated = false; -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -76,48 +68,41 @@ bool caf::CadNavigation::handleInputEvent(QInputEvent* inputEvent) { if (! inputEvent) return false; bool isEventHandled = false; - switch (inputEvent->type()) { case QEvent::MouseButtonPress: { QMouseEvent * me = static_cast( inputEvent); - int translatedMousePosX = me->x(); - int translatedMousePosY = m_viewer->height() - me->y(); - if (me->button() == Qt::MidButton) + int translatedMousePosX, translatedMousePosY; + cvfEventPos(me->x(), me->y(), &translatedMousePosX, &translatedMousePosY); + + if (me->button() == Qt::MidButton && me->modifiers() == Qt::NoModifier) { - if (me->modifiers() & Qt::ShiftModifier) - { - m_trackball->startNavigation(cvf::ManipulatorTrackball::PAN, translatedMousePosX, translatedMousePosY); - m_isNavigating = true; - isEventHandled = true; + cvf::HitItemCollection hic; + bool hitSomething = m_viewer->rayPick( me->x(), me->y(), &hic); + + if (hitSomething) + { + cvf::Vec3d pointOfInterest = hic.firstItem()->intersectionPoint(); + this->setPointOfInterest(pointOfInterest); } - else if (me->modifiers() == Qt::NoModifier) + else { - cvf::HitItemCollection hic; - bool hitSomething = m_viewer->rayPick( me->x(), me->y(), &hic); - - if (hitSomething) - { - cvf::Vec3d pointOfInterest = hic.firstItem()->intersectionPoint(); - this->setPointOfInterest(pointOfInterest); - } - else - { - initializeRotationCenter(); - } - - m_trackball->startNavigation(cvf::ManipulatorTrackball::ROTATE, translatedMousePosX, translatedMousePosY); - //m_viewer->setCursor(RiuCursors::get(RiuCursors::ROTATE)); - m_isNavigating = true; - isEventHandled = true; + initializeRotationCenter(); } - } - if (isEventHandled) + m_trackball->startNavigation(cvf::ManipulatorTrackball::ROTATE, translatedMousePosX, translatedMousePosY); + m_isNavigating = true; + m_hasMovedMouseDuringNavigation = false; + isEventHandled = true; + } + else if (me->button() == Qt::MidButton && (me->modifiers() & Qt::ShiftModifier)) { - m_navigationUpdated = false; + m_trackball->startNavigation(cvf::ManipulatorTrackball::PAN, translatedMousePosX, translatedMousePosY); + m_isNavigating = true; + m_hasMovedMouseDuringNavigation = false; + isEventHandled = true; } } break; @@ -129,11 +114,11 @@ bool caf::CadNavigation::handleInputEvent(QInputEvent* inputEvent) if (me->button() == Qt::MidButton) { m_trackball->endNavigation(); - //m_viewer->setCursor(RiuCursors::get(RiuCursors::PICK)); + m_isNavigating = false; + if (m_hasMovedMouseDuringNavigation) isEventHandled = true; + m_hasMovedMouseDuringNavigation = false; - isEventHandled = m_navigationUpdated; - m_navigationUpdated = false; } } } @@ -143,19 +128,21 @@ bool caf::CadNavigation::handleInputEvent(QInputEvent* inputEvent) initializeRotationCenter(); if (m_isRotCenterInitialized) { - QMouseEvent * me = static_cast( inputEvent); - int translatedMousePosX = me->x(); - int translatedMousePosY = m_viewer->height() - me->y(); + QMouseEvent * me = static_cast(inputEvent); + + int translatedMousePosX, translatedMousePosY; + cvfEventPos(me->x(), me->y(), &translatedMousePosX, &translatedMousePosY); if (m_isNavigating) { bool needRedraw = m_trackball->updateNavigation(translatedMousePosX, translatedMousePosY); - if (needRedraw) + if(needRedraw) { m_viewer->navigationPolicyUpdate(); - m_navigationUpdated = true; + } isEventHandled = true; + m_hasMovedMouseDuringNavigation = true; } } } @@ -167,15 +154,12 @@ bool caf::CadNavigation::handleInputEvent(QInputEvent* inputEvent) initializeRotationCenter(); if (m_isRotCenterInitialized) { - QWheelEvent* we = static_cast(inputEvent); - int translatedMousePosX = we->x(); - int translatedMousePosY = m_viewer->height() - we->y(); - - cvf::ref ray; - if (we->delta() > 0) - ray = m_viewer->mainCamera()->rayFromWindowCoordinates(translatedMousePosX, translatedMousePosY); - else - ray = m_viewer->mainCamera()->rayFromWindowCoordinates((int)(1.0*translatedMousePosX), (int)(1.0*translatedMousePosY)); + QWheelEvent* we = static_cast ( inputEvent); + + int translatedMousePosX, translatedMousePosY; + cvfEventPos(we->x(), we->y(), &translatedMousePosX, &translatedMousePosY); + + cvf::ref ray = createZoomRay(translatedMousePosX, translatedMousePosY); zoomAlongRay(ray.p(), -we->delta()); } diff --git a/Fwk/AppFwk/cafViewer/cafCadNavigation.h b/Fwk/AppFwk/cafViewer/cafCadNavigation.h index fec86bc37c..6855190f18 100644 --- a/Fwk/AppFwk/cafViewer/cafCadNavigation.h +++ b/Fwk/AppFwk/cafViewer/cafCadNavigation.h @@ -48,10 +48,7 @@ class CadNavigation : public TrackBallBasedNavigation CadNavigation(); virtual ~CadNavigation(); protected: - virtual void init(); virtual bool handleInputEvent(QInputEvent* inputEvent); - - bool m_navigationUpdated; }; } // End namespace caf diff --git a/Fwk/AppFwk/cafViewer/cafCeetronPlusNavigation.cpp b/Fwk/AppFwk/cafViewer/cafCeetronPlusNavigation.cpp index 9e324806ef..5a7bcd780e 100644 --- a/Fwk/AppFwk/cafViewer/cafCeetronPlusNavigation.cpp +++ b/Fwk/AppFwk/cafViewer/cafCeetronPlusNavigation.cpp @@ -61,7 +61,6 @@ caf::CeetronPlusNavigation::~CeetronPlusNavigation() } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -74,13 +73,14 @@ bool caf::CeetronPlusNavigation::handleInputEvent(QInputEvent* inputEvent) case QEvent::MouseButtonPress: { QMouseEvent * me = static_cast( inputEvent); - int translatedMousePosX = me->x(); - int translatedMousePosY = m_viewer->height() - me->y(); + + int translatedMousePosX, translatedMousePosY; + cvfEventPos(me->x(), me->y(), &translatedMousePosX, &translatedMousePosY); if (me->button() == Qt::RightButton) { cvf::HitItemCollection hic; - bool hitSomething = m_viewer->rayPick(me->x(), me->y(), &hic); + bool hitSomething = m_viewer->rayPick( me->x(), me->y(), &hic); if (hitSomething) { @@ -93,7 +93,6 @@ bool caf::CeetronPlusNavigation::handleInputEvent(QInputEvent* inputEvent) } m_trackball->startNavigation(cvf::ManipulatorTrackball::ROTATE, translatedMousePosX, translatedMousePosY); - //m_viewer->setCursor(RICursors::get(RICursors::ROTATE)); m_isNavigating = true; m_hasMovedMouseDuringNavigation = false; isEventHandled = true; @@ -116,7 +115,7 @@ bool caf::CeetronPlusNavigation::handleInputEvent(QInputEvent* inputEvent) m_lastPosX = we->x(); m_lastPosY = we->y(); - m_zoomRay = m_viewer->mainCamera()->rayFromWindowCoordinates(translatedMousePosX, translatedMousePosY); + m_zoomRay = createZoomRay(translatedMousePosX, translatedMousePosY); m_isNavigating = true; m_hasMovedMouseDuringNavigation = false; @@ -156,8 +155,9 @@ bool caf::CeetronPlusNavigation::handleInputEvent(QInputEvent* inputEvent) if (m_isRotCenterInitialized) { QMouseEvent * me = static_cast( inputEvent); - int translatedMousePosX = me->x(); - int translatedMousePosY = m_viewer->height() - me->y(); + + int translatedMousePosX, translatedMousePosY; + cvfEventPos(me->x(), me->y(), &translatedMousePosX, &translatedMousePosY); if (m_isNavigating) { @@ -190,18 +190,13 @@ bool caf::CeetronPlusNavigation::handleInputEvent(QInputEvent* inputEvent) if (m_isRotCenterInitialized) { QWheelEvent* we = static_cast ( inputEvent); - int translatedMousePosX = we->x(); - int translatedMousePosY = m_viewer->height() - we->y(); - int delta = we->delta(); - cvf::ref ray; - if (delta < 0) - ray = m_viewer->mainCamera()->rayFromWindowCoordinates(translatedMousePosX, translatedMousePosY); - else - ray = m_viewer->mainCamera()->rayFromWindowCoordinates((int)(1.0*translatedMousePosX), (int)(1.0*translatedMousePosY)); + int translatedMousePosX, translatedMousePosY; + cvfEventPos(we->x(), we->y(), &translatedMousePosX, &translatedMousePosY); - zoomAlongRay(ray.p(), delta); + cvf::ref ray = createZoomRay(translatedMousePosX, translatedMousePosY); + zoomAlongRay(ray.p(), we->delta()); } isEventHandled = true; } diff --git a/Fwk/AppFwk/cafViewer/cafTrackBallBasedNavigation.cpp b/Fwk/AppFwk/cafViewer/cafTrackBallBasedNavigation.cpp index 9c4591c717..a5c3ecc88c 100644 --- a/Fwk/AppFwk/cafViewer/cafTrackBallBasedNavigation.cpp +++ b/Fwk/AppFwk/cafViewer/cafTrackBallBasedNavigation.cpp @@ -85,6 +85,7 @@ void caf::TrackBallBasedNavigation::initializeRotationCenter() { if (m_isRotCenterInitialized || m_trackball.isNull() + || !m_viewer->currentScene() || !m_viewer->currentScene()->boundingBox().isValid()) { return; @@ -158,6 +159,43 @@ void caf::TrackBallBasedNavigation::zoomAlongRay(cvf::Ray* ray, int delta) m_viewer->mainCamera()->setFromLookAt(newPos, newVrp, up ); m_viewer->updateParallelProjectionHeightFromMoveZoom(m_pointOfInterest); + m_viewer->updateParallelProjectionCameraPosFromPointOfInterestMove(m_pointOfInterest); + m_viewer->navigationPolicyUpdate(); } } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void caf::TrackBallBasedNavigation::cvfEventPos(int qtX, int qtY, int* cvfX, int* cvfY) +{ + *cvfX = qtX; + *cvfY = m_viewer->height() - qtY; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref caf::TrackBallBasedNavigation::createZoomRay(int cvfXPos, int cvfYPos) +{ + cvf::ref ray; + cvf::Camera* cam = m_viewer->mainCamera(); + ray = cam->rayFromWindowCoordinates(cvfXPos, cvfYPos); + + if (cam->projection() == cvf::Camera::ORTHO) + { + cvf::Vec3d camDir = cam->direction(); + cvf::Plane focusPlane; + focusPlane.setFromPointAndNormal(m_pointOfInterest, -camDir); + cvf::Vec3d intersectionPoint; + ray->planeIntersect(focusPlane, &intersectionPoint); + + cvf::ref orthoZoomRay = new cvf::Ray(); + orthoZoomRay->setOrigin(cam->position()); + orthoZoomRay->setDirection((intersectionPoint - cam->position()).getNormalized()); + ray = orthoZoomRay; + } + + return ray; +} diff --git a/Fwk/AppFwk/cafViewer/cafTrackBallBasedNavigation.h b/Fwk/AppFwk/cafViewer/cafTrackBallBasedNavigation.h index 0083512d89..0157e48b4f 100644 --- a/Fwk/AppFwk/cafViewer/cafTrackBallBasedNavigation.h +++ b/Fwk/AppFwk/cafViewer/cafTrackBallBasedNavigation.h @@ -77,7 +77,10 @@ class TrackBallBasedNavigation: public NavigationPolicy bool m_isNavigating; bool m_hasMovedMouseDuringNavigation; + void cvfEventPos(int qtX, int qtY, int* x, int* y); + // Zooming towards cursor + cvf::ref createZoomRay(int cvfXPos, int cvfYPos); void zoomAlongRay( cvf::Ray* ray, int delta ); bool m_isZooming; cvf::ref m_zoomRay; diff --git a/Fwk/AppFwk/cafViewer/cafViewer.cpp b/Fwk/AppFwk/cafViewer/cafViewer.cpp index e38636188a..d5f37bdb96 100644 --- a/Fwk/AppFwk/cafViewer/cafViewer.cpp +++ b/Fwk/AppFwk/cafViewer/cafViewer.cpp @@ -45,9 +45,12 @@ #include "cvfDebugTimer.h" #include "cvfDrawable.h" #include "cvfDrawableGeo.h" +#include "cvfDynamicUniformSet.h" +#include "cvfFramebufferObject.h" #include "cvfHitItemCollection.h" #include "cvfManipulatorTrackball.h" #include "cvfModel.h" +#include "cvfOpenGLCapabilities.h" #include "cvfOpenGLResourceManager.h" #include "cvfOverlayImage.h" #include "cvfPart.h" @@ -55,10 +58,15 @@ #include "cvfRayIntersectSpec.h" #include "cvfRenderQueueSorter.h" #include "cvfRenderSequence.h" +#include "cvfRenderbufferObject.h" #include "cvfRendering.h" #include "cvfScene.h" +#include "cvfShaderSourceProvider.h" +#include "cvfSingleQuadRenderingGenerator.h" #include "cvfTextureImage.h" #include "cvfTransform.h" +#include "cvfUniform.h" +#include "cvfUniformSet.h" #include "cvfqtOpenGLContext.h" #include "cvfqtPerformanceInfoHud.h" @@ -68,6 +76,34 @@ #include #include +namespace caf +{ + +class GlobalViewerDynUniformSet: public cvf::DynamicUniformSet +{ +public: + GlobalViewerDynUniformSet() + { + m_headlightPosition = new cvf::UniformFloat("u_ecLightPosition", cvf::Vec3f(0.5, 5.0, 7.0)); + m_uniformSet = new cvf::UniformSet(); + m_uniformSet->setUniform(m_headlightPosition.p()); + } + + virtual ~GlobalViewerDynUniformSet() {} + + void setHeadLightPosition(const cvf::Vec3f posRelativeToCamera) { m_headlightPosition->set(posRelativeToCamera);} + + + virtual cvf::UniformSet* uniformSet() { return m_uniformSet.p(); } + virtual void update(cvf::Rendering* rendering){}; + +private: + cvf::ref m_uniformSet; + cvf::ref m_headlightPosition; +}; + +} + std::list caf::Viewer::sm_viewers; cvf::ref caf::Viewer::sm_openGLContextGroup; @@ -77,13 +113,15 @@ cvf::ref caf::Viewer::sm_openGLContextGroup; caf::Viewer::Viewer(const QGLFormat& format, QWidget* parent) : caf::OpenGLWidget(contextGroup(), format, new QWidget(parent), sharedWidget()), m_navigationPolicy(NULL), - m_minNearPlaneDistance(0.05), - m_maxFarPlaneDistance(cvf::UNDEFINED_DOUBLE), + m_defaultPerspectiveNearPlaneDistance(0.05), + m_maxClipPlaneDistance(cvf::UNDEFINED_DOUBLE), m_cameraFieldOfViewYDeg(40.0), m_releaseOGLResourcesEachFrame(false), m_paintCounter(0), m_navigationPolicyEnabled(true), - m_isOverlayPaintingEnabled(true) + m_isOverlayPaintingEnabled(true), + m_offscreenViewportWidth(0), + m_offscreenViewportHeight(0) { m_layoutWidget = parentWidget(); @@ -98,9 +136,13 @@ caf::Viewer::Viewer(const QGLFormat& format, QWidget* parent) // Needed to get keystrokes setFocusPolicy(Qt::ClickFocus); + m_globalUniformSet = new GlobalViewerDynUniformSet(); + m_mainCamera = new cvf::Camera; m_mainCamera->setFromLookAt(cvf::Vec3d(0,0,-1), cvf::Vec3d(0,0,0), cvf::Vec3d(0,1,0)); m_renderingSequence = new cvf::RenderSequence(); + m_renderingSequence->setDefaultFFLightPositional(cvf::Vec3f(0.5, 5.0, 7.0)); + m_mainRendering = new cvf::Rendering(); m_animationControl = new caf::FrameAnimationControl(this); @@ -141,6 +183,7 @@ void caf::Viewer::setupMainRendering() { m_mainRendering->setCamera(m_mainCamera.p()); m_mainRendering->setRenderQueueSorter(new cvf::RenderQueueSorterBasic(cvf::RenderQueueSorterBasic::EFFECT_ONLY)); + m_mainRendering->addGlobalDynamicUniformSet(m_globalUniformSet.p()); // Set fixed function rendering if QGLFormat does not support directRendering if (!this->format().directRendering()) @@ -148,6 +191,20 @@ void caf::Viewer::setupMainRendering() m_mainRendering->renderEngine()->enableForcedImmediateMode(true); } + if (contextGroup()->capabilities() && + contextGroup()->capabilities()->hasCapability(cvf::OpenGLCapabilities::FRAMEBUFFER_OBJECT)) + { + m_offscreenFbo = new cvf::FramebufferObject; + m_mainRendering->setTargetFramebuffer(m_offscreenFbo.p()); + + cvf::ref rbo = new cvf::RenderbufferObject(cvf::RenderbufferObject::DEPTH_COMPONENT24, 1, 1); + m_offscreenFbo->attachDepthRenderbuffer(rbo.p()); + + m_offscreenTexture = new cvf::Texture(cvf::Texture::TEXTURE_2D, cvf::Texture::RGBA); + m_offscreenTexture->setSize(1, 1); + m_offscreenFbo->attachColorTexture2d(0, m_offscreenTexture.p()); + } + updateOverlayImagePresence(); } @@ -156,7 +213,25 @@ void caf::Viewer::setupMainRendering() //-------------------------------------------------------------------------------------------------- void caf::Viewer::setupRenderingSequence() { - m_renderingSequence->addRendering(m_mainRendering.p()); + m_renderingSequence->addRendering(m_mainRendering.p()); + + if (m_offscreenFbo.notNull()) + { + // Setup second rendering drawing the texture on the screen + // ------------------------------------------------------------------------- + cvf::SingleQuadRenderingGenerator quadRenderGen; + cvf::ref sampler = new cvf::Sampler; + sampler->setWrapMode(cvf::Sampler::CLAMP_TO_EDGE); + sampler->setMinFilter(cvf::Sampler::NEAREST); + sampler->setMagFilter(cvf::Sampler::NEAREST); + + quadRenderGen.addTexture(m_offscreenTexture.p(), sampler.p(), "u_texture2D"); + quadRenderGen.addFragmentShaderCode(cvf::ShaderSourceProvider::instance()->getSourceFromRepository(cvf::ShaderSourceRepository::fs_Unlit)); + quadRenderGen.addFragmentShaderCode(cvf::ShaderSourceProvider::instance()->getSourceFromRepository(cvf::ShaderSourceRepository::src_Texture)); + + m_quadRendering = quadRenderGen.generate(); + m_renderingSequence->addRendering(m_quadRendering.p()); + } updateCamera(width(), height()); } @@ -219,7 +294,7 @@ cvf::Scene* caf::Viewer::mainScene() //-------------------------------------------------------------------------------------------------- cvf::Scene* caf::Viewer::currentScene() { - return m_renderingSequence->firstRendering()->scene(); + return m_mainRendering->scene(); } //-------------------------------------------------------------------------------------------------- @@ -241,7 +316,6 @@ void caf::Viewer::updateCamera(int width, int height) } } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -262,25 +336,69 @@ bool caf::Viewer::canRender() const //-------------------------------------------------------------------------------------------------- void caf::Viewer::optimizeClippingPlanes() { - cvf::BoundingBox bb = m_renderingSequence->boundingBox(); + cvf::BoundingBox bb = m_mainRendering->boundingBox(); if (!bb.isValid()) return; - cvf::Vec3d eye, vrp, up; - m_mainCamera->toLookAt(&eye, &vrp, &up); + cvf::Vec3d eye = m_mainCamera->position(); + cvf::Vec3d viewdir = m_mainCamera->direction(); - cvf::Vec3d viewdir = (vrp - eye).getNormalized(); + cvf::Vec3d bboxCorners[8]; + bb.cornerVertices(bboxCorners); - double distEyeBoxCenterAlongViewDir = (bb.center() - eye)*viewdir; + // Find the distance to the bbox corners most behind and most in front of camera - double farPlaneDist = distEyeBoxCenterAlongViewDir + bb.radius() * 1.2; - farPlaneDist = CVF_MIN(farPlaneDist, m_maxFarPlaneDistance); + double maxDistEyeToCornerAlongViewDir = -HUGE_VAL; + double minDistEyeToCornerAlongViewDir = HUGE_VAL; + for (int bcIdx = 0; bcIdx < 8; ++bcIdx ) + { + double distEyeBoxCornerAlongViewDir = (bboxCorners[bcIdx] - eye)*viewdir; - double nearPlaneDist = distEyeBoxCenterAlongViewDir - bb.radius(); - if (nearPlaneDist < m_minNearPlaneDistance) nearPlaneDist = m_minNearPlaneDistance; - if (m_navigationPolicy.notNull() && m_navigationPolicyEnabled) + if (distEyeBoxCornerAlongViewDir > maxDistEyeToCornerAlongViewDir) + { + maxDistEyeToCornerAlongViewDir = distEyeBoxCornerAlongViewDir; + } + + if (distEyeBoxCornerAlongViewDir < minDistEyeToCornerAlongViewDir) + { + minDistEyeToCornerAlongViewDir = distEyeBoxCornerAlongViewDir; // Sometimes negative-> behind camera + } + } + + double farPlaneDist = CVF_MIN(maxDistEyeToCornerAlongViewDir * 1.2, m_maxClipPlaneDistance); + + // Near-plane: + + bool isOrthoNearPlaneFollowingCamera = false; + double nearPlaneDist = HUGE_VAL; + + // If we have perspective projection, set the near plane just in front of camera, and not behind + + if (m_mainCamera->projection() == cvf::Camera::PERSPECTIVE || isOrthoNearPlaneFollowingCamera) { - double pointOfInterestDist = (eye - m_navigationPolicy->pointOfInterest()).length(); - nearPlaneDist = CVF_MIN(nearPlaneDist, pointOfInterestDist*0.2); + // Choose the one furthest from the camera of: 0.8*bbox distance, m_minPerspectiveNearPlaneDistance. + nearPlaneDist = CVF_MAX( m_defaultPerspectiveNearPlaneDistance, 0.8*minDistEyeToCornerAlongViewDir); + + // If we are zooming into a detail, allow the near-plane to move towards camera beyond the m_minPerspectiveNearPlaneDistance + if ( nearPlaneDist == m_defaultPerspectiveNearPlaneDistance // We are inside the bounding box + && m_navigationPolicy.notNull() && m_navigationPolicyEnabled) + { + double pointOfInterestDist = (eye - m_navigationPolicy->pointOfInterest()).length(); + nearPlaneDist = CVF_MIN(nearPlaneDist, pointOfInterestDist*0.2); + } + + // Guard against the zero nearplane possibility + if (nearPlaneDist <= 0) nearPlaneDist = m_defaultPerspectiveNearPlaneDistance; + } + else // Orthographic projection. Set to encapsulate the complete boundingbox, possibly setting a negative nearplane + { + if(minDistEyeToCornerAlongViewDir >= 0) + { + nearPlaneDist = CVF_MIN(0.8 * minDistEyeToCornerAlongViewDir, m_maxClipPlaneDistance); + } + else + { + nearPlaneDist = CVF_MAX(1.2 * minDistEyeToCornerAlongViewDir, -m_maxClipPlaneDistance); + } } if (farPlaneDist <= nearPlaneDist) farPlaneDist = nearPlaneDist + 1.0; @@ -376,6 +494,20 @@ void caf::Viewer::resizeGL(int width, int height) { if (width < 1 || height < 1) return; + if (m_offscreenFbo.notNull()) + { + m_offscreenFbo->resizeAttachedBuffers(width, height); + + + m_offscreenViewportWidth = width; + m_offscreenViewportHeight = height; + } + + if (m_quadRendering.notNull()) + { + m_quadRendering->camera()->viewport()->set(0, 0, width, height); + } + updateCamera(width, height); } @@ -388,7 +520,6 @@ void caf::Viewer::enablePerfInfoHud(bool enable) updateOverlayImagePresence(); } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -397,8 +528,6 @@ bool caf::Viewer::isPerfInfoHudEnabled() return m_showPerfInfoHud; } - - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -496,17 +625,17 @@ void caf::Viewer::paintEvent(QPaintEvent* event) //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void caf::Viewer::setMinNearPlaneDistance(double dist) +void caf::Viewer::setDefaultPerspectiveNearPlaneDistance(double dist) { - m_minNearPlaneDistance = dist; + m_defaultPerspectiveNearPlaneDistance = dist; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void caf::Viewer::setMaxFarPlaneDistance(double dist) +void caf::Viewer::setMaxClipPlaneDistance(double dist) { - m_maxFarPlaneDistance = dist; + m_maxClipPlaneDistance = dist; } //-------------------------------------------------------------------------------------------------- @@ -527,7 +656,7 @@ void caf::Viewer::setView(const cvf::Vec3d& alongDirection, const cvf::Vec3d& up //-------------------------------------------------------------------------------------------------- void caf::Viewer::zoomAll() { - cvf::BoundingBox bb = m_renderingSequence->boundingBox(); + cvf::BoundingBox bb = m_mainRendering->boundingBox(); if (!bb.isValid()) { return; @@ -536,7 +665,10 @@ void caf::Viewer::zoomAll() cvf::Vec3d eye, vrp, up; m_mainCamera->toLookAt(&eye, &vrp, &up); - m_mainCamera->fitView(bb, vrp-eye, up); + cvf::Vec3d newEye = m_mainCamera->computeFitViewEyePosition(bb, vrp-eye, up, 0.9, m_cameraFieldOfViewYDeg, m_mainCamera->viewport()->aspectRatio()); + m_mainCamera->setFromLookAt(newEye, bb.center(), up); + + updateParallelProjectionHeightFromMoveZoom(bb.center()); navigationPolicyUpdate(); } @@ -559,7 +691,7 @@ void caf::Viewer::removeAllFrames() { m_frameScenes.clear(); m_animationControl->setNumFrames(0); - m_renderingSequence->firstRendering()->setScene(m_mainScene.p()); + m_mainRendering->setScene(m_mainScene.p()); } @@ -568,7 +700,7 @@ void caf::Viewer::removeAllFrames() //-------------------------------------------------------------------------------------------------- bool caf::Viewer::isAnimationActive() { - cvf::Scene* currentScene = m_renderingSequence->firstRendering()->scene(); + cvf::Scene* currentScene = m_mainRendering->scene(); if (!currentScene) { @@ -599,7 +731,7 @@ void caf::Viewer::slotSetCurrentFrame(int frameIndex) releaseOGlResourcesForCurrentFrame(); } - m_renderingSequence->firstRendering()->setScene(m_frameScenes.at(clampedFrameIndex)); + m_mainRendering->setScene(m_frameScenes.at(clampedFrameIndex)); update(); } @@ -608,7 +740,7 @@ void caf::Viewer::releaseOGlResourcesForCurrentFrame() { if (isAnimationActive()) { - cvf::Scene* currentScene = m_renderingSequence->firstRendering()->scene(); + cvf::Scene* currentScene = m_mainRendering->scene(); makeCurrent(); cvf::uint modelCount = currentScene->modelCount(); for (cvf::uint i = 0; i < modelCount; ++i) @@ -636,7 +768,7 @@ void caf::Viewer::slotEndAnimation() releaseOGlResourcesForCurrentFrame(); } - m_renderingSequence->firstRendering()->setScene(m_mainScene.p()); + m_mainRendering->setScene(m_mainScene.p()); update(); } @@ -681,6 +813,59 @@ bool caf::Viewer::isShadersSupported() return false; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QImage caf::Viewer::snapshotImage() +{ + + QImage image; + if (m_offscreenFbo.notNull() && m_offscreenViewportWidth > 0 && m_offscreenViewportHeight > 0) + { + cvf::ref myOglContext = cvfOpenGLContext(); + + m_offscreenFbo->bind(myOglContext.p()); + + // TODO: Consider refactor this code + // Creating a QImage from the bits in current frame buffer can be done by + // this->grabFrameBuffer() + + GLint iOldPackAlignment = 0; + glGetIntegerv(GL_PACK_ALIGNMENT, &iOldPackAlignment); + glPixelStorei(GL_PACK_ALIGNMENT, 1); + CVF_CHECK_OGL(myOglContext.p()); + + cvf::UByteArray arr(3 * m_offscreenViewportWidth * m_offscreenViewportHeight); + + glReadPixels(0, 0, static_cast(m_offscreenViewportWidth), static_cast(m_offscreenViewportHeight), GL_RGB, GL_UNSIGNED_BYTE, arr.ptr()); + CVF_CHECK_OGL(myOglContext.p()); + + glPixelStorei(GL_PACK_ALIGNMENT, iOldPackAlignment); + CVF_CHECK_OGL(myOglContext.p()); + + cvf::FramebufferObject::useDefaultWindowFramebuffer(myOglContext.p()); + + cvf::TextureImage texImage; + texImage.setFromRgb(arr.ptr(), m_offscreenViewportWidth, m_offscreenViewportHeight); + + image = cvfqt::Utils::toQImage(texImage); + } + else + { + // Code moved from RimView::snapshotWindowContent() + + GLint currentReadBuffer; + glGetIntegerv(GL_READ_BUFFER, ¤tReadBuffer); + + glReadBuffer(GL_FRONT); + image = this->grabFrameBuffer(); + + glReadBuffer(currentReadBuffer); + } + + return image; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -946,6 +1131,11 @@ void caf::Viewer::enableParallelProjection(bool enableOrtho) m_mainCamera->setProjectionAsOrtho(1.0, m_mainCamera->nearPlane(), m_mainCamera->farPlane()); this->updateParallelProjectionHeightFromMoveZoom(pointOfInterest); + // Set the light position behind us, far away from the scene + float sceneDepth = m_mainCamera->farPlane() - m_mainCamera->nearPlane(); + this->m_renderingSequence->setDefaultFFLightPositional(cvf::Vec3f(0,0, 2 * sceneDepth)); + m_globalUniformSet->setHeadLightPosition(cvf::Vec3f(0,0, 2 * sceneDepth)); + this->update(); } else if (!enableOrtho && m_mainCamera->projection() == cvf::Camera::ORTHO) @@ -954,7 +1144,12 @@ void caf::Viewer::enableParallelProjection(bool enableOrtho) // so we do not need to update the camera position based on orthoHeight and fieldOfView. // We assume the camera is in a sensible position. - m_mainCamera->setProjectionAsPerspective(m_cameraFieldOfViewYDeg, m_mainCamera->nearPlane(), m_mainCamera->farPlane()); + // Set dummy near and far plane. These wll be updated by the optimize clipping planes + m_mainCamera->setProjectionAsPerspective(m_cameraFieldOfViewYDeg, 0.1, 1.0); + + this->m_renderingSequence->setDefaultFFLightPositional(cvf::Vec3f(0.5, 5.0, 7.0)); + m_globalUniformSet->setHeadLightPosition(cvf::Vec3f(0.5, 5.0, 7.0)); + this->update(); } } @@ -971,7 +1166,7 @@ double calculateOrthoHeight(double perspectiveViewAngleYDeg, double focusPlaneDi /// //-------------------------------------------------------------------------------------------------- -double calculateDistToPlaneOfInterest(double perspectiveViewAngleYDeg, double orthoHeight) +double calculateDistToPlaneOfOrthoHeight(double perspectiveViewAngleYDeg, double orthoHeight) { return orthoHeight / (2 * (cvf::Math::tan( cvf::Math::toRadians(0.5 * perspectiveViewAngleYDeg) ))); } @@ -1009,8 +1204,9 @@ void caf::Viewer::updateParallelProjectionHeightFromMoveZoom(const cvf::Vec3d& p if (!camera || camera->projection() != Camera::ORTHO) return; + // Negative distance can occur. If so, do not set a negative ortho. - double distToFocusPlane = distToPlaneOfInterest(camera, pointOfInterest); + double distToFocusPlane = cvf::Math::abs( distToPlaneOfInterest(camera, pointOfInterest)); double orthoHeight = calculateOrthoHeight(m_cameraFieldOfViewYDeg, distToFocusPlane); @@ -1032,7 +1228,7 @@ void caf::Viewer::updateParallelProjectionCameraPosFromPointOfInterestMove(const double orthoHeight = camera->frontPlaneFrustumHeight(); //Trace::show(String::number(orthoHeight)); - double neededDistToFocusPlane = calculateDistToPlaneOfInterest(m_cameraFieldOfViewYDeg, orthoHeight); + double neededDistToFocusPlane = calculateDistToPlaneOfOrthoHeight(m_cameraFieldOfViewYDeg, orthoHeight); Vec3d eye, vrp, up; camera->toLookAt(&eye, &vrp, &up); @@ -1053,17 +1249,18 @@ void caf::Viewer::updateParallelProjectionCameraPosFromPointOfInterestMove(const //-------------------------------------------------------------------------------------------------- int caf::Viewer::clampFrameIndex(int frameIndex) const { - size_t clampedFrameIndex = static_cast(frameIndex); + int clampedFrameIndex = frameIndex; + int frameCountInt = static_cast(frameCount()); - if (clampedFrameIndex >= frameCount()) + if (clampedFrameIndex >= frameCountInt) { - clampedFrameIndex = frameCount() - 1; + clampedFrameIndex = frameCountInt - 1; } else if (clampedFrameIndex < 0) { clampedFrameIndex = 0; } - return static_cast(clampedFrameIndex); + return clampedFrameIndex; } diff --git a/Fwk/AppFwk/cafViewer/cafViewer.h b/Fwk/AppFwk/cafViewer/cafViewer.h index be6c071e29..c90fb63721 100644 --- a/Fwk/AppFwk/cafViewer/cafViewer.h +++ b/Fwk/AppFwk/cafViewer/cafViewer.h @@ -49,15 +49,17 @@ namespace cvf { class Camera; + class FramebufferObject; class HitItemCollection; class Model; class OverlayImage; + class OverlayItem; class OverlayScalarMapperLegend; class RenderSequence; class Rendering; class Scene; + class Texture; class TextureImage; - class OverlayItem; } namespace caf { @@ -73,6 +75,7 @@ class QInputEvent; namespace caf { +class GlobalViewerDynUniformSet; class Viewer : public caf::OpenGLWidget { @@ -126,8 +129,8 @@ class Viewer : public caf::OpenGLWidget virtual void navigationPolicyUpdate(); // Min max near far plane. - void setMinNearPlaneDistance(double dist); - void setMaxFarPlaneDistance(double dist); + void setDefaultPerspectiveNearPlaneDistance(double dist); + void setMaxClipPlaneDistance(double dist); // Test whether it is any point in doing navigation etc. bool canRender() const; @@ -149,6 +152,7 @@ class Viewer : public caf::OpenGLWidget // Find out whether the system supports shaders static bool isShadersSupported(); + QImage snapshotImage(); public slots: virtual void slotSetCurrentFrame(int frameIndex); @@ -179,8 +183,8 @@ public slots: cvf::ref m_mainCamera; cvf::ref m_mainRendering; - double m_minNearPlaneDistance; - double m_maxFarPlaneDistance; + double m_defaultPerspectiveNearPlaneDistance; + double m_maxClipPlaneDistance; //< Max far plane distance and max negative near plane distance in orthographic projection double m_cameraFieldOfViewYDeg; private: @@ -219,6 +223,17 @@ public slots: caf::FrameAnimationControl* m_animationControl; cvf::Collection m_frameScenes; cvf::Collection m_staticModels; + + // Parallel projection light modification + + cvf::ref m_globalUniformSet; + + // Offscreen render objects + cvf::ref m_offscreenFbo; + cvf::ref m_offscreenTexture; + int m_offscreenViewportWidth; + int m_offscreenViewportHeight; + cvf::ref m_quadRendering; }; } // End namespace caf diff --git a/Fwk/AppFwk/cafVizExtensions/CMakeLists.txt b/Fwk/AppFwk/cafVizExtensions/CMakeLists.txt index 6805a00f4d..a743f3b293 100644 --- a/Fwk/AppFwk/cafVizExtensions/CMakeLists.txt +++ b/Fwk/AppFwk/cafVizExtensions/CMakeLists.txt @@ -15,9 +15,24 @@ include_directories( ) add_library( ${PROJECT_NAME} + cafDisplayCoordTransform.cpp + cafDisplayCoordTransform.h + cafBoxManipulatorPartManager.cpp + cafBoxManipulatorPartManager.h + cafBoxManipulatorGeometryGenerator.cpp + cafBoxManipulatorGeometryGenerator.h + cafCategoryLegend.cpp + cafCategoryLegend.h + cafCategoryMapper.cpp + cafCategoryMapper.h + cafFixedAtlasFont.h + cafFixedAtlasFont.cpp cafTransparentWBRenderConfiguration.h cafTransparentWBRenderConfiguration.cpp TranspWB_CombinationFrag.glsl TranspWB_PartlyTranspPartsFrag.glsl TranspWB_TransparentPartsFrag.glsl + + cafHexGridIntersectionTools/cafHexGridIntersectionTools.h + cafHexGridIntersectionTools/cafHexGridIntersectionTools.cpp ) diff --git a/Fwk/AppFwk/cafVizExtensions/cafBoxManipulatorGeometryGenerator.cpp b/Fwk/AppFwk/cafVizExtensions/cafBoxManipulatorGeometryGenerator.cpp new file mode 100644 index 0000000000..8a1254cc76 --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafBoxManipulatorGeometryGenerator.cpp @@ -0,0 +1,125 @@ + +#include "cafBoxManipulatorGeometryGenerator.h" + +#include "cvfBoxGenerator.h" +#include "cvfDrawableGeo.h" +#include "cvfGeometryBuilderFaceList.h" +#include "cvfPrimitiveSetIndexedUInt.h" + + +using namespace cvf; + +namespace caf { + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +BoxManipulatorGeometryGenerator::BoxManipulatorGeometryGenerator() +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +BoxManipulatorGeometryGenerator::~BoxManipulatorGeometryGenerator() +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorGeometryGenerator::setOrigin(const cvf::Vec3d& origin) +{ + m_origin = origin; + + m_vertices = nullptr; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorGeometryGenerator::setSize(const cvf::Vec3d& size) +{ + m_size = size; + + m_vertices = nullptr; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref BoxManipulatorGeometryGenerator::createBoundingBoxMeshDrawable() +{ + if (m_vertices.isNull()) + { + calculateArrays(); + } + + if (!(m_vertices.notNull() && m_vertices->size() != 0)) return NULL; + + cvf::ref geo = new cvf::DrawableGeo; + geo->setVertexArray(m_vertices.p()); + + cvf::ref indices = lineIndicesFromQuadVertexArray(m_vertices.p()); + cvf::ref prim = new cvf::PrimitiveSetIndexedUInt(cvf::PT_LINES); + prim->setIndices(indices.p()); + + geo->addPrimitiveSet(prim.p()); + + return geo; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorGeometryGenerator::calculateArrays() +{ + BoxGenerator gen; + + cvf::Vec3d min = m_origin; + cvf::Vec3d max = m_origin + m_size; + + gen.setMinMax(min, max); + gen.setSubdivisions(1, 1, 1); + GeometryBuilderFaceList builder; + gen.generate(&builder); + + m_vertices = builder.vertices(); + + // TODO: Rotate generated vertices +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref BoxManipulatorGeometryGenerator::lineIndicesFromQuadVertexArray(const cvf::Vec3fArray* vertexArray) +{ + CVF_ASSERT(vertexArray); + + size_t numVertices = vertexArray->size(); + int numQuads = static_cast(numVertices / 4); + CVF_ASSERT(numVertices % 4 == 0); + + cvf::ref indices = new cvf::UIntArray; + indices->resize(numQuads * 8); + +#pragma omp parallel for + for (int i = 0; i < numQuads; i++) + { + int idx = 8 * i; + indices->set(idx + 0, i * 4 + 0); + indices->set(idx + 1, i * 4 + 1); + indices->set(idx + 2, i * 4 + 1); + indices->set(idx + 3, i * 4 + 2); + indices->set(idx + 4, i * 4 + 2); + indices->set(idx + 5, i * 4 + 3); + indices->set(idx + 6, i * 4 + 3); + indices->set(idx + 7, i * 4 + 0); + } + + return indices; +} + +} // namespace cvf + diff --git a/Fwk/AppFwk/cafVizExtensions/cafBoxManipulatorGeometryGenerator.h b/Fwk/AppFwk/cafVizExtensions/cafBoxManipulatorGeometryGenerator.h new file mode 100644 index 0000000000..9d12a4bab6 --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafBoxManipulatorGeometryGenerator.h @@ -0,0 +1,45 @@ + +#pragma once + +#include "cvfBase.h" +#include "cvfObject.h" +#include "cvfVector3.h" +#include "cvfArray.h" +#include "cvfBoundingBox.h" + +namespace cvf { + class DrawableGeo; +} + + +namespace caf { + + +//================================================================================================== +// +// +//================================================================================================== +class BoxManipulatorGeometryGenerator : public cvf::Object +{ +public: + BoxManipulatorGeometryGenerator(); + ~BoxManipulatorGeometryGenerator(); + + void setOrigin(const cvf::Vec3d& origin); + void setSize(const cvf::Vec3d& size); + + cvf::ref createBoundingBoxMeshDrawable(); + +private: + void calculateArrays(); + + static cvf::ref lineIndicesFromQuadVertexArray(const cvf::Vec3fArray* vertexArray); + +private: + cvf::Vec3d m_origin; + cvf::Vec3d m_size; + + cvf::ref m_vertices; +}; + +} diff --git a/Fwk/AppFwk/cafVizExtensions/cafBoxManipulatorPartManager.cpp b/Fwk/AppFwk/cafVizExtensions/cafBoxManipulatorPartManager.cpp new file mode 100644 index 0000000000..b254736d0c --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafBoxManipulatorPartManager.cpp @@ -0,0 +1,473 @@ + +#include "cafBoxManipulatorPartManager.h" + +#include "cafBoxManipulatorGeometryGenerator.h" +#include "cafEffectGenerator.h" + +#include "cvfBoxGenerator.h" +#include "cvfDrawableGeo.h" +#include "cvfGeometryBuilderFaceList.h" +#include "cvfModelBasicList.h" +#include "cvfPart.h" +#include "cvfPrimitiveSetIndexedUInt.h" +#include "cvfPrimitiveSetIndexedUShort.h" +#include "cvfRay.h" +#include "cvfPrimitiveSetDirect.h" +#include "cvfHitItem.h" +#include + + +using namespace cvf; + +namespace caf { + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +BoxManipulatorPartManager::BoxManipulatorPartManager() + : m_sizeOnStartManipulation(cvf::Vec3d::UNDEFINED), + m_originOnStartManipulation(cvf::Vec3d::UNDEFINED), + m_currentHandleIndex(cvf::UNDEFINED_SIZE_T) +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +BoxManipulatorPartManager::~BoxManipulatorPartManager() +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorPartManager::setOrigin(const cvf::Vec3d& origin) +{ + if (isManipulatorActive()) return; + + m_origin = origin; + if (m_originOnStartManipulation.isUndefined()) m_originOnStartManipulation = origin; + + clearAllGeometryAndParts(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorPartManager::setSize(const cvf::Vec3d& size) +{ + if(isManipulatorActive()) return; + + m_size = size; + if (m_sizeOnStartManipulation.isUndefined()) m_sizeOnStartManipulation = m_size; + + clearAllGeometryAndParts(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorPartManager::originAndSize(cvf::Vec3d* origin, cvf::Vec3d* size) +{ + *origin = m_origin; + *size = m_size; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool BoxManipulatorPartManager::isManipulatorActive() const +{ + return m_currentHandleIndex != cvf::UNDEFINED_SIZE_T; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorPartManager::appendPartsToModel(cvf::ModelBasicList* model) +{ + if (m_boundingBoxPart.isNull()) + { + recreateAllGeometryAndParts(); + } + + CVF_ASSERT(m_boundingBoxPart.notNull()); + model->addPart(m_boundingBoxPart.p()); + + for (size_t i = 0; i < m_handleParts.size(); i++) + { + model->addPart(m_handleParts.at(i)); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorPartManager::tryToActivateManipulator(const cvf::HitItem* hitItem) +{ + endManipulator(); + + if (!hitItem) return; + + const cvf::Part* pickedPart = hitItem->part(); + const cvf::Vec3d intersectionPoint = hitItem->intersectionPoint(); + + if (!pickedPart) return; + + const cvf::Object* siConstObj = pickedPart->sourceInfo(); + cvf::Object* siObj = const_cast(siConstObj); + + BoxManipulatorSourceInfo* candidateSourceInfo = dynamic_cast(siObj); + if (!candidateSourceInfo) return; + + for (size_t i = 0; i < m_handleParts.size(); i++) + { + cvf::Part* part = m_handleParts.at(i); + BoxManipulatorSourceInfo* si = static_cast(part->sourceInfo()); + + if (si->m_cubeFace == candidateSourceInfo->m_cubeFace && + si->m_cubeHandle == candidateSourceInfo->m_cubeHandle) + { + m_initialPickPoint = intersectionPoint; + m_sizeOnStartManipulation = m_size; + m_originOnStartManipulation = m_origin; + m_currentHandleIndex = i; + } + } +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorPartManager::updateManipulatorFromRay(const cvf::Ray* ray) +{ + if (!isManipulatorActive()) return; + if (m_boundingBoxPart.isNull()) return; + + + BoxFace face = m_handleIds[m_currentHandleIndex].first; + cvf::Vec3d faceDir = normalFromFace(face); + + cvf::Vec3d closestPointOnMouseRay; + cvf::Vec3d closestPointOnHandleRay; + BoxManipulatorPartManager::closestPointOfTwoLines(ray->origin(), ray->origin() + ray->direction(), + m_initialPickPoint, m_initialPickPoint + faceDir, + &closestPointOnMouseRay, &closestPointOnHandleRay); + + cvf::Vec3d newOrigin = m_origin; + cvf::Vec3d newSize = m_size; + + int axis = face/2; + cvf::Vec3d axisDir; + axisDir[axis] = 1.0; + + cvf::Vec3d motion3d = closestPointOnHandleRay - m_initialPickPoint; + + if (face == BCF_X_POS || face == BCF_Y_POS || face == BCF_Z_POS) + { + newSize = m_sizeOnStartManipulation + motion3d; + + for (int i = 0; i < 3; ++i) if (newSize[i] < 0.0) { newOrigin[i] = m_originOnStartManipulation[i] + newSize[i]; newSize[i] = 0.0; } + } + else + { + newOrigin = m_originOnStartManipulation + motion3d; + newSize = m_sizeOnStartManipulation - motion3d; + + for (int i = 0; i < 3; ++i) if (newSize[i] < 0.0) { newSize[i] = 0.0; } + } + + m_origin = newOrigin; + m_size = newSize; + + clearAllGeometryAndParts(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorPartManager::endManipulator() +{ + m_currentHandleIndex = cvf::UNDEFINED_SIZE_T; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Vec3d BoxManipulatorPartManager::normalFromFace(BoxFace face) +{ + switch (face) + { + case caf::BoxManipulatorPartManager::BCF_X_POS: + return cvf::Vec3d::X_AXIS; + break; + case caf::BoxManipulatorPartManager::BCF_X_NEG: + return -cvf::Vec3d::X_AXIS; + break; + case caf::BoxManipulatorPartManager::BCF_Y_POS: + return cvf::Vec3d::Y_AXIS; + break; + case caf::BoxManipulatorPartManager::BCF_Y_NEG: + return -cvf::Vec3d::Y_AXIS; + break; + case caf::BoxManipulatorPartManager::BCF_Z_POS: + return cvf::Vec3d::Z_AXIS; + break; + case caf::BoxManipulatorPartManager::BCF_Z_NEG: + return -cvf::Vec3d::Z_AXIS; + break; + default: + CVF_ASSERT(false); + break; + } + + return cvf::Vec3d::UNDEFINED; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorPartManager::createAllHandleParts() +{ + Vec3f cp[8]; + navCubeCornerPoints(cp); + + createCubeFaceHandlePart(BCF_Y_NEG, cp[0], cp[1], cp[5], cp[4]); + createCubeFaceHandlePart(BCF_Y_POS, cp[2], cp[3], cp[7], cp[6]); + + createCubeFaceHandlePart(BCF_Z_POS, cp[4], cp[5], cp[6], cp[7]); + createCubeFaceHandlePart(BCF_Z_NEG, cp[3], cp[2], cp[1], cp[0]); + + createCubeFaceHandlePart(BCF_X_NEG, cp[3], cp[0], cp[4], cp[7]); + createCubeFaceHandlePart(BCF_X_POS, cp[1], cp[2], cp[6], cp[5]); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorPartManager::createCubeFaceHandlePart(BoxFace face, cvf::Vec3f p1, cvf::Vec3f p2, cvf::Vec3f p3, cvf::Vec3f p4) +{ + float handleSize = static_cast(m_sizeOnStartManipulation.length() * 0.05); + + Vec3f center = (p1 + p2 + p3 + p4) / 4.0f; + + Vec3f nu = (p2 - p1).getNormalized(); + Vec3f nv = (p4 - p1).getNormalized(); + Vec3f nw = nu^nv; + + Vec3f u = nu * handleSize; + Vec3f v = nv * handleSize; + Vec3f w = nw * handleSize; + + Vec3f pi1 = center - u / 2.0f - v / 2.0f + w*0.025f; + + Vec3f pi2 = pi1 + u; + Vec3f pi3 = pi2 + v; + Vec3f pi4 = pi1 + v; + Vec3f pi5 = center + w * 0.3f; + + ref geo = createHandleGeo(pi1, pi2, pi3, pi4, pi5); + + cvf::ref handlePart = new cvf::Part; + handlePart->setName("Box manipulator handle"); + handlePart->setDrawable(geo.p()); + + handlePart->updateBoundingBox(); + + caf::SurfaceEffectGenerator surfaceGen(cvf::Color3::MAGENTA, caf::PO_1); + cvf::ref eff = surfaceGen.generateCachedEffect(); + handlePart->setEffect(eff.p()); + + handlePart->setSourceInfo(new BoxManipulatorSourceInfo(face, BCFI_CENTER)); + + m_handleParts.push_back(handlePart.p()); + m_handleIds.push_back(std::make_pair(face, BCFI_CENTER)); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::ref BoxManipulatorPartManager::createHandleGeo(const cvf::Vec3f& v0, + const cvf::Vec3f& v1, + const cvf::Vec3f& v2, + const cvf::Vec3f& v3, + const cvf::Vec3f& v4) +{ + ref geo = new DrawableGeo; + + ref vertexArray = new Vec3fArray(18); + + vertexArray->set(0, v0); + vertexArray->set(1, v1); + vertexArray->set(2, v2); + vertexArray->set(3, v0); + vertexArray->set(4, v2); + vertexArray->set(5, v3); + vertexArray->set(6, v0); + vertexArray->set(7, v1); + vertexArray->set(8, v4); + vertexArray->set(9, v1); + vertexArray->set(10, v2); + vertexArray->set(11, v4); + vertexArray->set(12, v2); + vertexArray->set(13, v3); + vertexArray->set(14, v4); + vertexArray->set(15, v3); + vertexArray->set(16, v0); + vertexArray->set(17, v4); + + geo->setVertexArray(vertexArray.p()); + ref primSet = new cvf::PrimitiveSetDirect(cvf::PT_TRIANGLES); + primSet->setIndexCount(18); + + geo->addPrimitiveSet(primSet.p()); + geo->computeNormals(); + + return geo; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorPartManager::navCubeCornerPoints(cvf::Vec3f points[8]) +{ + Vec3f offset(1.0, 1.0, 1.0); + + Vec3f min(m_origin); + min -= offset; + + Vec3f max(m_origin + m_size); + max += offset; + + points[0].set(min.x(), min.y(), min.z()); + points[1].set(max.x(), min.y(), min.z()); + points[2].set(max.x(), max.y(), min.z()); + points[3].set(min.x(), max.y(), min.z()); + points[4].set(min.x(), min.y(), max.z()); + points[5].set(max.x(), min.y(), max.z()); + points[6].set(max.x(), max.y(), max.z()); + points[7].set(min.x(), max.y(), max.z()); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorPartManager::clearAllGeometryAndParts() +{ + m_boundingBoxPart = nullptr; + m_handleIds.clear(); + m_handleParts.clear(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorPartManager::recreateAllGeometryAndParts() +{ + createBoundingBoxPart(); + createAllHandleParts(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void BoxManipulatorPartManager::createBoundingBoxPart() +{ + m_boundingBoxPart = nullptr; + + cvf::ref geometryGenerator = new caf::BoxManipulatorGeometryGenerator; + geometryGenerator->setOrigin(m_origin); + geometryGenerator->setSize(m_size); + + cvf::ref geoMesh = geometryGenerator->createBoundingBoxMeshDrawable(); + if (geoMesh.notNull()) + { + cvf::ref part = new cvf::Part; + part->setName("Box Manipulator Mesh"); + part->setDrawable(geoMesh.p()); + + part->updateBoundingBox(); + // part->setEnableMask(meshFaultBit); + // part->setPriority(priMesh); + + cvf::ref eff; + caf::MeshEffectGenerator effectGenerator(cvf::Color3::MAGENTA); + eff = effectGenerator.generateCachedEffect(); + part->setEffect(eff.p()); + + m_boundingBoxPart = part; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool BoxManipulatorPartManager::closestPointOfTwoLines(const cvf::Vec3d& L1p1, const cvf::Vec3d& L1p2, + const cvf::Vec3d& L2p1, const cvf::Vec3d& L2p2, + cvf::Vec3d* closestPointOnL1, cvf::Vec3d* closestPointOnL2) +{ + // qDebug() << p1 << " " << q1 << " " << p2 << " " << q2; + + // Taken from Real-Time Collistion Detection, Christer Ericson, 2005, p146-147 + + // L1(s) = P1 + sd1 + // L2(t) = P2 + td2 + + // d1 = Q1-P1 + // d2 = Q2-P2 + + // r = P1-P2 + + // a = d1*d1 + // b = d1*d2 + // c = d1*r + // e = d2*d2; + // d = ae-b^2 + // f = d2*r + + // s = (bf-ce)/d + // t = (af-bc)/d + + + cvf::Vec3d d1 = L1p2 - L1p1; + cvf::Vec3d d2 = L2p2 - L2p1; + + double a = d1.dot(d1); + double b = d1.dot(d2); + double e = d2.dot(d2); + + double d = a*e - b*b; + + if (d < std::numeric_limits::epsilon()) + { + // Parallel lines + if (closestPointOnL1) *closestPointOnL1 = L1p1; + if (closestPointOnL2) *closestPointOnL2 = L2p1; + return false; + } + + cvf::Vec3d r = L1p1 - L2p1; + double c = d1.dot(r); + double f = d2.dot(r); + + double s = (b*f - c*e) / d; + double t = (a*f - b*c) / d; + + if (closestPointOnL1) *closestPointOnL1 = L1p1 + s*d1; + if (closestPointOnL2) *closestPointOnL2 = L2p1 + t*d2; + + if (s >= 0 && s <= 1 && t >= 0 && t <= 1) + { + return true; + } + else + { + return false; + } +} + +} // namespace cvf + diff --git a/Fwk/AppFwk/cafVizExtensions/cafBoxManipulatorPartManager.h b/Fwk/AppFwk/cafVizExtensions/cafBoxManipulatorPartManager.h new file mode 100644 index 0000000000..757f982aa8 --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafBoxManipulatorPartManager.h @@ -0,0 +1,120 @@ + +#pragma once + +#include "cvfBase.h" +#include "cvfObject.h" + +#include "cvfVector3.h" +#include "cvfCollection.h" +#include "cvfMatrix4.h" + +namespace cvf { + class ModelBasicList; + class Part; + class DrawableGeo; + class Ray; + class HitItem; +} + +namespace caf { + class BoxManipulatorGeometryGenerator; +}; + + +namespace caf { + + +//================================================================================================== +// +// +//================================================================================================== +class BoxManipulatorPartManager : public cvf::Object +{ +public: + enum BoxFace + { + BCF_X_POS, + BCF_X_NEG, + BCF_Y_POS, + BCF_Y_NEG, + BCF_Z_POS, + BCF_Z_NEG + }; + + enum HandleType + { + BCFI_NONE, + BCFI_CENTER + }; + +public: + BoxManipulatorPartManager(); + ~BoxManipulatorPartManager(); + + void setOrigin(const cvf::Vec3d& origin); + void setSize(const cvf::Vec3d& size); + void originAndSize(cvf::Vec3d* origin, cvf::Vec3d* size); + + bool isManipulatorActive() const; + void tryToActivateManipulator(const cvf::HitItem* hitItem); + void updateManipulatorFromRay(const cvf::Ray* ray); + void endManipulator(); + + void appendPartsToModel(cvf::ModelBasicList* model); + +private: + cvf::Vec3d normalFromFace(BoxFace face); + void navCubeCornerPoints(cvf::Vec3f points[8]); + + void createBoundingBoxPart(); + void createAllHandleParts(); + void createCubeFaceHandlePart(BoxFace face, cvf::Vec3f p1, cvf::Vec3f p2, cvf::Vec3f p3, cvf::Vec3f p4); + + void clearAllGeometryAndParts(); + void recreateAllGeometryAndParts(); + + + static cvf::ref createHandleGeo(const cvf::Vec3f& v1, + const cvf::Vec3f& v2, + const cvf::Vec3f& v3, + const cvf::Vec3f& v4, + const cvf::Vec3f& v5); + static bool closestPointOfTwoLines(const cvf::Vec3d& p1, const cvf::Vec3d& q1, + const cvf::Vec3d& p2, const cvf::Vec3d& q2, + cvf::Vec3d* closestPoint1, cvf::Vec3d* closestPoint2); + +private: + std::vector< std::pair > m_handleIds; // These arrays have the same length + cvf::Collection m_handleParts; // These arrays have the same length + + cvf::ref m_boundingBoxPart; + + cvf::Vec3d m_origin; + cvf::Vec3d m_size; + + cvf::Vec3d m_initialPickPoint; + cvf::Vec3d m_sizeOnStartManipulation; + cvf::Vec3d m_originOnStartManipulation; + + size_t m_currentHandleIndex; +}; + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +class BoxManipulatorSourceInfo : public cvf::Object +{ +public: + BoxManipulatorSourceInfo(BoxManipulatorPartManager::BoxFace cubeFace, BoxManipulatorPartManager::HandleType cubeFaceItem) + : m_cubeFace(cubeFace), + m_cubeHandle(cubeFaceItem) + { + } + + BoxManipulatorPartManager::BoxFace m_cubeFace; + BoxManipulatorPartManager::HandleType m_cubeHandle; +}; + + +} diff --git a/Fwk/AppFwk/cafVizExtensions/cafCategoryLegend.cpp b/Fwk/AppFwk/cafVizExtensions/cafCategoryLegend.cpp new file mode 100644 index 0000000000..80296c4ba1 --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafCategoryLegend.cpp @@ -0,0 +1,579 @@ + +#include "cafCategoryLegend.h" +#include "cafCategoryMapper.h" + +#include "cvfBase.h" +#include "cvfBufferObjectManaged.h" +#include "cvfCamera.h" +#include "cvfFont.h" +#include "cvfGeometryBuilderDrawableGeo.h" +#include "cvfGeometryUtils.h" +#include "cvfGlyph.h" +#include "cvfMatrixState.h" +#include "cvfOpenGL.h" +#include "cvfOpenGLResourceManager.h" +#include "cvfRenderStateDepth.h" +#include "cvfRenderStateLine.h" +#include "cvfShaderProgram.h" +#include "cvfShaderProgramGenerator.h" +#include "cvfShaderSourceProvider.h" +#include "cvfShaderSourceRepository.h" +#include "cvfTextDrawer.h" +#include "cvfUniform.h" +#include "cvfViewport.h" + +#ifndef CVF_OPENGL_ES +#include "cvfRenderState_FF.h" +#endif + +#include "cvfScalarMapper.h" + + +using namespace cvf; + +namespace caf { + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +CategoryLegend::CategoryLegend(Font* font, const CategoryMapper* categoryMapper) + : m_sizeHint(200, 200), + m_color(Color3::BLACK), + m_lineColor(Color3::BLACK), + m_lineWidth(1), + m_font(font), + m_categoryMapper(categoryMapper) +{ + CVF_ASSERT(font); + CVF_ASSERT(!font->isEmpty()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +CategoryLegend::~CategoryLegend() +{ + // Empty destructor to avoid errors with undefined types when cvf::ref's destructor gets called +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Vec2ui CategoryLegend::sizeHint() +{ + return m_sizeHint; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void CategoryLegend::setSizeHint(const Vec2ui& size) +{ + m_sizeHint = size; +} + +//-------------------------------------------------------------------------------------------------- +/// Set color of the text and lines to be rendered +//-------------------------------------------------------------------------------------------------- +void CategoryLegend::setColor(const Color3f& color) +{ + m_color = color; +} + + +//-------------------------------------------------------------------------------------------------- +/// Returns the color of the text and lines +//-------------------------------------------------------------------------------------------------- +const Color3f& CategoryLegend::color() const +{ + return m_color; +} + +//-------------------------------------------------------------------------------------------------- +/// Set the title (text that will be rendered above the legend) +/// +/// The legend supports multi-line titles. Separate each line with a '\n' character +//-------------------------------------------------------------------------------------------------- +void CategoryLegend::setTitle(const String& title) +{ + // Title + if (title.isEmpty()) + { + m_titleStrings.clear(); + } + else + { + m_titleStrings = title.split("\n"); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +String CategoryLegend::title() const +{ + String title; + for (size_t i = 0; i < m_titleStrings.size(); ++i) + { + title += m_titleStrings[i]; + + if (i != m_titleStrings.size() - 1) + { + title += "\n"; + } + } + + return title; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +size_t CategoryLegend::categoryCount() const +{ + if (m_categoryMapper.notNull()) + { + return m_categoryMapper->categoryCount(); + } + + return 0; +} + +//-------------------------------------------------------------------------------------------------- +/// Hardware rendering using shader programs +//-------------------------------------------------------------------------------------------------- +void CategoryLegend::render(OpenGLContext* oglContext, const Vec2i& position, const Vec2ui& size) +{ + render(oglContext, position, size, false); +} + +//-------------------------------------------------------------------------------------------------- +/// Software rendering using software +//-------------------------------------------------------------------------------------------------- +void CategoryLegend::renderSoftware(OpenGLContext* oglContext, const Vec2i& position, const Vec2ui& size) +{ + render(oglContext, position, size, true); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool CategoryLegend::pick(int oglXCoord, int oglYCoord, const Vec2i& position, const Vec2ui& size) +{ + Recti oglRect(position, size.x(), size.y()); + + OverlayColorLegendLayoutInfo layoutInViewPortCoords(oglRect.min(), Vec2ui(oglRect.width(), oglRect.height())); + layoutInfo(&layoutInViewPortCoords); + + Vec2i legendBarOrigin = oglRect.min(); + legendBarOrigin.x() += static_cast(layoutInViewPortCoords.legendRect.min().x()); + legendBarOrigin.y() += static_cast(layoutInViewPortCoords.legendRect.min().y()); + + Recti legendBarRect = Recti(legendBarOrigin, static_cast(layoutInViewPortCoords.legendRect.width()), static_cast(layoutInViewPortCoords.legendRect.height())); + + if ((oglXCoord > legendBarRect.min().x()) && (oglXCoord < legendBarRect.max().x()) && + (oglYCoord > legendBarRect.min().y()) && (oglYCoord < legendBarRect.max().y())) + { + return true; + } + + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// Set up camera/viewport and render +//-------------------------------------------------------------------------------------------------- +void CategoryLegend::render(OpenGLContext* oglContext, const Vec2i& position, const Vec2ui& size, bool software) +{ + if (size.x() <= 0 || size.y() <= 0) + { + return; + } + + Camera camera; + camera.setViewport(position.x(), position.y(), size.x(), size.y()); + camera.setProjectionAsPixelExact2D(); + camera.setViewMatrix(Mat4d::IDENTITY); + camera.applyOpenGL(); + camera.viewport()->applyOpenGL(oglContext, Viewport::CLEAR_DEPTH); + + // Get layout information + // Todo: Cache this between renderings. Update only when needed. + OverlayColorLegendLayoutInfo layout(position, size); + layoutInfo(&layout); + + // Set up text drawer + TextDrawer textDrawer(m_font.p()); + setupTextDrawer(&textDrawer, &layout); + + // Do the actual rendering + if (software) + { + renderLegendImmediateMode(oglContext, &layout); + textDrawer.renderSoftware(oglContext, camera); + } + else + { + const MatrixState matrixState(camera); + renderLegend(oglContext, &layout, matrixState); + textDrawer.render(oglContext, camera); + } + + CVF_CHECK_OGL(oglContext); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void CategoryLegend::setupTextDrawer(TextDrawer* textDrawer, OverlayColorLegendLayoutInfo* layout) +{ + if (m_categoryMapper.isNull()) + { + return; + } + + CVF_ASSERT(layout); + + textDrawer->setVerticalAlignment(TextDrawer::CENTER); + textDrawer->setTextColor(m_color); + + m_visibleCategoryLabels.clear(); + + const float textX = layout->tickX + 5; + + const float overlapTolerance = 1.2f * layout->charHeight; + float lastVisibleTextY = 0.0; + + CVF_ASSERT(m_categoryMapper.notNull()); + size_t numLabels = m_categoryMapper->categoryCount(); + + float categoryHeight = static_cast(layout->legendRect.height() / numLabels); + + for (size_t it = 0; it < numLabels; it++) + { + float textY = static_cast(layout->legendRect.min().y() + it * categoryHeight + categoryHeight / 2); + + // Always draw first and last tick label. For all others, skip drawing if text ends up + // on top of the previous label. + if (it != 0 && it != (numLabels - 1)) + { + if (cvf::Math::abs(textY - lastVisibleTextY) < overlapTolerance) + { + m_visibleCategoryLabels.push_back(false); + continue; + } + // Make sure it does not overlap the last tick as well + + float lastTickY = static_cast(layout->legendRect.max().y()); + + if (cvf::Math::abs(textY - lastTickY) < overlapTolerance) + { + m_visibleCategoryLabels.push_back(false); + continue; + } + } + + String displayText = m_categoryMapper->textForCategoryIndex(it); + + Vec2f pos(textX, textY); + textDrawer->addText(displayText, pos); + + lastVisibleTextY = textY; + m_visibleCategoryLabels.push_back(true); + } + + float titleY = static_cast(layout->size.y()) - layout->margins.y() - layout->charHeight / 2.0f; + for (size_t it = 0; it < m_titleStrings.size(); it++) + { + Vec2f pos(layout->margins.x(), titleY); + textDrawer->addText(m_titleStrings[it], pos); + + titleY -= layout->lineSpacing; + } +} + +//-------------------------------------------------------------------------------------------------- +/// Draw the legend using shader programs +//-------------------------------------------------------------------------------------------------- +void CategoryLegend::renderLegend(OpenGLContext* oglContext, OverlayColorLegendLayoutInfo* layout, const MatrixState& matrixState) +{ + CVF_CALLSITE_OPENGL(oglContext); + + CVF_TIGHT_ASSERT(layout); + CVF_TIGHT_ASSERT(layout->size.x() > 0); + CVF_TIGHT_ASSERT(layout->size.y() > 0); + + RenderStateDepth depth(false); + depth.applyOpenGL(oglContext); + RenderStateLine line(static_cast(m_lineWidth)); + line.applyOpenGL(oglContext); + + // All vertices. Initialized here to set Z to zero once and for all. + static float vertexArray[] = + { + 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f + }; + + // Per vector convenience pointers + float* v0 = &vertexArray[0]; + float* v1 = &vertexArray[3]; + float* v2 = &vertexArray[6]; + float* v3 = &vertexArray[9]; + float* v4 = &vertexArray[12]; + + // Constant coordinates + v0[0] = v3[0] = layout->x0; + v1[0] = v4[0] = layout->x1; + + // Connects + static const ushort trianglesConnects[] = { 0, 1, 4, 0, 4, 3 }; + + ref shaderProgram = oglContext->resourceManager()->getLinkedUnlitColorShaderProgram(oglContext); + CVF_TIGHT_ASSERT(shaderProgram.notNull()); + + if (shaderProgram->useProgram(oglContext)) + { + shaderProgram->clearUniformApplyTracking(); + shaderProgram->applyFixedUniforms(oglContext, matrixState); + } + + glBindBuffer(GL_ARRAY_BUFFER, 0); + glEnableVertexAttribArray(ShaderProgram::VERTEX); + glVertexAttribPointer(ShaderProgram::VERTEX, 3, GL_FLOAT, GL_FALSE, 0, vertexArray); + + // Render color bar as one colored quad per pixel + + int legendHeightPixelCount = static_cast(layout->legendRect.height()); + if (m_categoryMapper.notNull()) + { + int iPx; + for (iPx = 0; iPx < legendHeightPixelCount; iPx++) + { + const Color3ub& clr = m_categoryMapper->mapToColor(m_categoryMapper->domainValue((iPx + 0.5) / legendHeightPixelCount)); + float y0 = static_cast(layout->legendRect.min().y() + iPx); + float y1 = static_cast(layout->legendRect.min().y() + iPx + 1); + + // Dynamic coordinates for rectangle + v0[1] = v1[1] = y0; + v3[1] = v4[1] = y1; + + // Draw filled rectangle elements + { + UniformFloat uniformColor("u_color", Color4f(Color3f(clr))); + shaderProgram->applyUniform(oglContext, uniformColor); + +#ifdef CVF_OPENGL_ES + glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, trianglesConnects); +#else + glDrawRangeElements(GL_TRIANGLES, 0, 4, 6, GL_UNSIGNED_SHORT, trianglesConnects); +#endif + } + } + } + + // Render frame + + // Dynamic coordinates for tickmarks-lines + bool isRenderingFrame = true; + if (isRenderingFrame) + { + v0[0] = v2[0] = layout->legendRect.min().x() - 0.5f; + v1[0] = v3[0] = layout->legendRect.max().x() - 0.5f; + v0[1] = v1[1] = layout->legendRect.min().y() - 0.5f; + v2[1] = v3[1] = layout->legendRect.max().y() - 0.5f; + static const ushort frameConnects[] = { 0, 1, 1, 3, 3, 2, 2, 0 }; + + UniformFloat uniformColor("u_color", Color4f(m_lineColor)); + shaderProgram->applyUniform(oglContext, uniformColor); + +#ifdef CVF_OPENGL_ES + glDrawElements(GL_LINES, 8, GL_UNSIGNED_SHORT, frameConnects); +#else + glDrawRangeElements(GL_LINES, 0, 3, 8, GL_UNSIGNED_SHORT, frameConnects); +#endif + } + + glDisableVertexAttribArray(ShaderProgram::VERTEX); + + CVF_TIGHT_ASSERT(shaderProgram.notNull()); + shaderProgram->useNoProgram(oglContext); + + // Reset render states + RenderStateDepth resetDepth; + resetDepth.applyOpenGL(oglContext); + + RenderStateLine resetLine; + resetLine.applyOpenGL(oglContext); + + CVF_CHECK_OGL(oglContext); +} + + +//-------------------------------------------------------------------------------------------------- +/// Draw the legend using immediate mode OpenGL +//-------------------------------------------------------------------------------------------------- +void CategoryLegend::renderLegendImmediateMode(OpenGLContext* oglContext, OverlayColorLegendLayoutInfo* layout) +{ +#ifdef CVF_OPENGL_ES + CVF_UNUSED(layout); + CVF_FAIL_MSG("Not supported on OpenGL ES"); +#else + CVF_TIGHT_ASSERT(layout); + CVF_TIGHT_ASSERT(layout->size.x() > 0); + CVF_TIGHT_ASSERT(layout->size.y() > 0); + + RenderStateDepth depth(false); + depth.applyOpenGL(oglContext); + + RenderStateLighting_FF lighting(false); + lighting.applyOpenGL(oglContext); + + // All vertices. Initialized here to set Z to zero once and for all. + static float vertexArray[] = + { + 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, + }; + + // Per vector convenience pointers + float* v0 = &vertexArray[0]; + float* v1 = &vertexArray[3]; + float* v2 = &vertexArray[6]; + float* v3 = &vertexArray[9]; + float* v4 = &vertexArray[12]; + + // Constant coordinates + v0[0] = v3[0] = layout->x0; + v1[0] = v4[0] = layout->x1; + + // Render color bar as one colored quad per pixel + + int legendHeightPixelCount = static_cast(layout->legendRect.height()); + if (m_categoryMapper.notNull()) + { + int iPx; + for (iPx = 0; iPx < legendHeightPixelCount; iPx++) + { + const Color3ub& clr = m_categoryMapper->mapToColor(m_categoryMapper->domainValue((iPx + 0.5) / legendHeightPixelCount)); + float y0 = static_cast(layout->legendRect.min().y() + iPx); + float y1 = static_cast(layout->legendRect.min().y() + iPx + 1); + + // Dynamic coordinates for rectangle + v0[1] = v1[1] = y0; + v3[1] = v4[1] = y1; + + // Draw filled rectangle elements + glColor3ubv(clr.ptr()); + glBegin(GL_TRIANGLE_FAN); + glVertex3fv(v0); + glVertex3fv(v1); + glVertex3fv(v4); + glVertex3fv(v3); + glEnd(); + } + } + + // Render frame + + // Dynamic coordinates for tickmarks-lines + bool isRenderingFrame = true; + if (isRenderingFrame) + { + v0[0] = v2[0] = layout->legendRect.min().x() - 0.5f; + v1[0] = v3[0] = layout->legendRect.max().x() - 0.5f; + v0[1] = v1[1] = layout->legendRect.min().y() - 0.5f; + v2[1] = v3[1] = layout->legendRect.max().y() - 0.5f; + + glColor3fv(m_color.ptr()); + glBegin(GL_LINES); + glVertex3fv(v0); + glVertex3fv(v1); + glVertex3fv(v1); + glVertex3fv(v3); + glVertex3fv(v3); + glVertex3fv(v2); + glVertex3fv(v2); + glVertex3fv(v0); + glEnd(); + + } + + // Reset render states + RenderStateLighting_FF resetLighting; + resetLighting.applyOpenGL(oglContext); + RenderStateDepth resetDepth; + resetDepth.applyOpenGL(oglContext); + + CVF_CHECK_OGL(oglContext); +#endif // CVF_OPENGL_ES +} + +//-------------------------------------------------------------------------------------------------- +/// Get layout information +//-------------------------------------------------------------------------------------------------- +void CategoryLegend::layoutInfo(OverlayColorLegendLayoutInfo* layout) +{ + CVF_TIGHT_ASSERT(layout); + + ref glyph = m_font->getGlyph(L'A'); + layout->charHeight = static_cast(glyph->height()); + layout->lineSpacing = layout->charHeight*1.5f; + layout->margins = Vec2f(4.0f, 4.0f); + + float legendWidth = 25.0f; + float legendHeight = static_cast(layout->size.y()) - 2 * layout->margins.y() - static_cast(m_titleStrings.size())*layout->lineSpacing - layout->lineSpacing; + layout->legendRect = Rectf(layout->margins.x(), layout->margins.y() + layout->charHeight / 2.0f, legendWidth, legendHeight); + + if (layout->legendRect.width() < 1 || layout->legendRect.height() < 1) + { + return; + } + + layout->x0 = layout->margins.x(); + layout->x1 = layout->margins.x() + layout->legendRect.width(); + layout->tickX = layout->x1 + 5; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void CategoryLegend::setLineColor(const Color3f& lineColor) +{ + m_lineColor = lineColor; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const Color3f& CategoryLegend::lineColor() const +{ + return m_lineColor; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void CategoryLegend::setLineWidth(int lineWidth) +{ + m_lineWidth = lineWidth; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int CategoryLegend::lineWidth() const +{ + return m_lineWidth; +} + + +} // namespace cvf + diff --git a/Fwk/AppFwk/cafVizExtensions/cafCategoryLegend.h b/Fwk/AppFwk/cafVizExtensions/cafCategoryLegend.h new file mode 100644 index 0000000000..73a2c20920 --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafCategoryLegend.h @@ -0,0 +1,103 @@ + +#pragma once + +#include "cvfBase.h" +#include "cvfArray.h" +#include "cvfCamera.h" +#include "cvfOverlayItem.h" +#include "cvfRect.h" +#include "cvfString.h" + +namespace cvf { + +class Font; +class ShaderProgram; +class MatrixState; +class TextDrawer; +} + +namespace caf { +class CategoryMapper; + +//================================================================================================== +// +// +//================================================================================================== +class CategoryLegend : public cvf::OverlayItem +{ +public: + CategoryLegend(cvf::Font* font, const CategoryMapper* categoryMapper); + virtual ~CategoryLegend(); + + virtual cvf::Vec2ui sizeHint(); + + virtual void render(cvf::OpenGLContext* oglContext, const cvf::Vec2i& position, const cvf::Vec2ui& size); + virtual void renderSoftware(cvf::OpenGLContext* oglContext, const cvf::Vec2i& position, const cvf::Vec2ui& size); + virtual bool pick(int oglXCoord, int oglYCoord, const cvf::Vec2i& position, const cvf::Vec2ui& size); + + + void setSizeHint(const cvf::Vec2ui& size); + + void setColor(const cvf::Color3f& color); + const cvf::Color3f& color() const; + + void setLineColor(const cvf::Color3f& lineColor); + const cvf::Color3f& lineColor() const; + void setLineWidth(int lineWidth); + int lineWidth() const; + + void setTitle(const cvf::String& title); + cvf::String title() const; + + size_t categoryCount() const; + +protected: + + //================================================================================================== + // + // Helper for storing layout info + // + //================================================================================================== + struct OverlayColorLegendLayoutInfo + { + OverlayColorLegendLayoutInfo(const cvf::Vec2i& pos, const cvf::Vec2ui& setSize) + { + position = pos; + size = setSize; + } + + float charHeight; + float lineSpacing; + cvf::Vec2f margins; + float tickX; + float x0, x1; + + cvf::Rectf legendRect; + + cvf::Vec2i position; + cvf::Vec2ui size; + }; + + + void render(cvf::OpenGLContext* oglContext, const cvf::Vec2i& position, const cvf::Vec2ui& size, bool software); + virtual void renderLegend(cvf::OpenGLContext* oglContext, OverlayColorLegendLayoutInfo* layout, const cvf::MatrixState& matrixState); + virtual void renderLegendImmediateMode(cvf::OpenGLContext* oglContext, OverlayColorLegendLayoutInfo* layout); + virtual void setupTextDrawer(cvf::TextDrawer* textDrawer, OverlayColorLegendLayoutInfo* layout); + + void layoutInfo(OverlayColorLegendLayoutInfo* layout); + +protected: + std::vector m_visibleCategoryLabels; // Skip labels ending up on top of previous visible label + + cvf::Vec2ui m_sizeHint; // Pixel size of the color legend area + + cvf::Color3f m_color; + cvf::Color3f m_lineColor; + int m_lineWidth; + std::vector m_titleStrings; + cvf::ref m_font; + + cvf::cref m_categoryMapper; +}; + +} diff --git a/Fwk/AppFwk/cafVizExtensions/cafCategoryMapper.cpp b/Fwk/AppFwk/cafVizExtensions/cafCategoryMapper.cpp new file mode 100644 index 0000000000..8b22153732 --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafCategoryMapper.cpp @@ -0,0 +1,295 @@ + +#include "cafCategoryMapper.h" + +#include "cvfBase.h" +#include "cvfMath.h" +#include "cvfOverlayColorLegend.h" +#include "cvfTextureImage.h" +#include + +using namespace cvf; + +namespace caf { + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +CategoryMapper::CategoryMapper() + : m_textureSize(2048) +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void CategoryMapper::setCategories(const std::vector& categoryValues) +{ + m_categoryValues = categoryValues; + + ref colorArr = ScalarMapper::colorTableArray(ColorTable::NORMAL); + + setCycleColors(*(colorArr.p())); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void CategoryMapper::setCategoriesWithNames(const std::vector& categoryValues, const std::vector& categoryNames) +{ + m_categoryValues = categoryValues; + m_categoryNames = categoryNames; + + ref colorArr = ScalarMapper::colorTableArray(ColorTable::NORMAL); + + setInterpolateColors(*(colorArr.p())); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void CategoryMapper::setCycleColors(const Color3ubArray& colorArray) +{ + m_colors.resize(m_categoryValues.size()); + + for (size_t i = 0; i < m_categoryValues.size(); i++) + { + size_t colIdx = i % colorArray.size(); + m_colors[i] = colorArray[colIdx]; + } + + recomputeMaxTexCoord(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void CategoryMapper::setInterpolateColors(const cvf::Color3ubArray& colorArray) +{ + CVF_ASSERT(colorArray.size()); + + if (m_categoryValues.size() > 1 && colorArray.size() > 1) + { + m_colors = *interpolateColorArray(colorArray, static_cast(m_categoryValues.size())); + + recomputeMaxTexCoord(); + return; + } + + // Either we are requesting one output color, or we have only one input color + + m_colors.clear(); + m_colors.reserve(m_categoryValues.size()); + for (size_t cIdx = 0; cIdx < m_categoryValues.size(); ++cIdx) + { + m_colors.add(colorArray[0]); + } + + recomputeMaxTexCoord(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +size_t CategoryMapper::categoryCount() const +{ + return m_categoryValues.size(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const cvf::String CategoryMapper::textForCategoryIndex(size_t index) const +{ + CVF_ASSERT(index < m_categoryValues.size()); + if (index < m_categoryNames.size()) + { + return m_categoryNames[index]; + } + else + { + double tickValue = m_categoryValues[index]; + return String::number(tickValue); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +Vec2f CategoryMapper::mapToTextureCoord(double categoryValue) const +{ + double normVal = normalizedValue(categoryValue); + + double s = normVal*m_maxTexCoord; + + // Clamp to the currently legal texture coord range + // Might need to add code to correct for float precision, but that is probably not the main enemy. + // Our real problem is the fact that in most cases the texture coords get treated with even less precision + // on the graphics hardware. What we would really like is to guess at the HW precision and then correct for that. + // Currently the workaround is done in updateTexture() which pads the upper end of the texture when we're not filling + // all the texture pixels. + s = Math::clamp(s, 0.0, m_maxTexCoord); + + return Vec2f(static_cast(s), 0.5f); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +Color3ub CategoryMapper::mapToColor(double categoryValue) const +{ + int catIndex = categoryIndexForCategory(categoryValue); + + if (catIndex != -1) + { + uint colorCount = static_cast(m_colors.size()); + CVF_ASSERT(colorCount > static_cast(catIndex)); + + return m_colors[catIndex]; + } + else + { + return Color3::BLACK; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void CategoryMapper::majorTickValues(std::vector* domainValues) const +{ + // Not intended to be supported + CVF_ASSERT(false); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +double CategoryMapper::normalizedValue(double categoryValue) const +{ + int catIndex = categoryIndexForCategory(categoryValue); + + if (catIndex != -1) + { + double halfLevelHeight = 1.0 / (m_categoryValues.size() * 2); + + double normVal = static_cast(catIndex) / static_cast(m_categoryValues.size()); + + return normVal + halfLevelHeight; + } + else + { + return 0.0; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +double CategoryMapper::domainValue(double normalizedValue) const +{ + double clampedValue = cvf::Math::clamp(normalizedValue, 0.0, 1.0); + + if (m_categoryValues.size() == 0) + { + return 0.0; + } + + size_t catIndex = static_cast(clampedValue * m_categoryValues.size()); + return m_categoryValues[catIndex]; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int CategoryMapper::categoryIndexForCategory(double domainValue) const +{ + int catIndex = -1; + + int intDomainValue = static_cast(nearbyint(domainValue)); + + size_t i = 0; + while (i < m_categoryValues.size() && catIndex == -1) + { + if (m_categoryValues[i] == intDomainValue) + { + catIndex = static_cast(i); + } + + i++; + } + + return catIndex; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void CategoryMapper::recomputeMaxTexCoord() +{ + const uint numColors = static_cast(m_colors.size()); + if (numColors == 0) + { + m_maxTexCoord = 1.0; + return; + } + + const uint numPixelsPerColor = m_textureSize / numColors; + if (numPixelsPerColor == 0) + { + m_maxTexCoord = 1.0; + return; + } + + uint texturePixelsInUse = numColors*numPixelsPerColor; + CVF_ASSERT(texturePixelsInUse <= m_textureSize); + + m_maxTexCoord = static_cast(texturePixelsInUse) / static_cast(m_textureSize); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool CategoryMapper::updateTexture(TextureImage* image) const +{ + CVF_ASSERT(image); + + image->allocate(m_textureSize, 1); + + // For now fill with white so we can see any errors more easily + image->fill(Color4ub(Color3::WHITE)); + + const uint numColors = static_cast(m_colors.size()); + if (numColors < 1) + { + return false; + } + + const uint numPixelsPerColor = m_textureSize / numColors; + CVF_ASSERT(numPixelsPerColor >= 1); + + uint ic; + for (ic = 0; ic < numColors; ic++) + { + const Color4ub clr(m_colors[ic], 255); + + uint ip; + for (ip = 0; ip < numPixelsPerColor; ip++) + { + image->setPixel(ic*numPixelsPerColor + ip, 0, clr); + } + } + + // In cases where we're not using the entire texture we might get into problems with texture coordinate precision on the graphics hardware. + // Therefore we set one extra pixel with the 'highest' color in the color table + if (numColors*numPixelsPerColor < m_textureSize) + { + const Color4ub topClr(m_colors[numColors - 1], 255); + image->setPixel(numColors*numPixelsPerColor, 0, topClr); + } + + return true; +} + +} // namespace cvf + diff --git a/Fwk/AppFwk/cafVizExtensions/cafCategoryMapper.h b/Fwk/AppFwk/cafVizExtensions/cafCategoryMapper.h new file mode 100644 index 0000000000..a4ec3fc1d4 --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafCategoryMapper.h @@ -0,0 +1,59 @@ + +#pragma once + +#include "cvfBase.h" +#include "cvfObject.h" +#include "cvfScalarMapper.h" +#include "cvfString.h" + +namespace caf { + + +//================================================================================================== +// +// +//================================================================================================== +class CategoryMapper : public cvf::ScalarMapper +{ +public: + CategoryMapper(); + + void setCategories(const std::vector& categoryValues); + void setCategoriesWithNames(const std::vector& categoryValues, const std::vector& categoryNames); + + // Colors in color array are cycled, if category count is larger than color count, colors are reused + void setCycleColors(const cvf::Color3ubArray& colorArray); + + // Colors are interpolated to make sure all categories get a unique color + void setInterpolateColors(const cvf::Color3ubArray& colorArray); + + + // Overrides used from legend + + virtual cvf::Vec2f mapToTextureCoord(double scalarValue) const; + virtual bool updateTexture(cvf::TextureImage* image) const; + + virtual cvf::Color3ub mapToColor(double normalizedValue) const; + + virtual void majorTickValues(std::vector* domainValues) const; + virtual double normalizedValue(double domainValue) const; + virtual double domainValue(double normalizedValue) const; + +private: + friend class CategoryLegend; + size_t categoryCount() const; + const cvf::String textForCategoryIndex(size_t index) const; + + int categoryIndexForCategory(double domainValue) const; + void recomputeMaxTexCoord(); + +private: + cvf::Color3ubArray m_colors; + cvf::uint m_textureSize; // The size of texture that updateTexture() is will produce. + double m_maxTexCoord; // The largest allowable s texture coordinate, scalar values >= m_rangeMax will get mapped to this coordinate + + std::vector m_categoryValues; + std::vector m_categoryNames; +}; + +} diff --git a/Fwk/AppFwk/cafVizExtensions/cafDisplayCoordTransform.cpp b/Fwk/AppFwk/cafVizExtensions/cafDisplayCoordTransform.cpp new file mode 100644 index 0000000000..413f99ebfd --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafDisplayCoordTransform.cpp @@ -0,0 +1,82 @@ + +#include "cafDisplayCoordTransform.h" +#include "cvfMatrix4.h" + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +caf::DisplayCoordTransform::DisplayCoordTransform() + : m_scale(1.0, 1.0, 1.0), + m_translation(cvf::Vec3d::ZERO) +{ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void caf::DisplayCoordTransform::setScale(const cvf::Vec3d& scale) +{ + m_scale = scale; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void caf::DisplayCoordTransform::setTranslation(const cvf::Vec3d& translation) +{ + m_translation = translation; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Vec3d caf::DisplayCoordTransform::transformToDisplayCoord(const cvf::Vec3d& domainCoord) const +{ + cvf::Vec3d coord = domainCoord - m_translation; + coord.x() *= m_scale.x(); + coord.y() *= m_scale.y(); + coord.z() *= m_scale.z(); + + return coord; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Vec3d caf::DisplayCoordTransform::scaleToDisplaySize(const cvf::Vec3d& domainSize) const +{ + cvf::Vec3d coord = domainSize; + coord.x() *= m_scale.x(); + coord.y() *= m_scale.y(); + coord.z() *= m_scale.z(); + + return coord; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Vec3d caf::DisplayCoordTransform::transformToDomainCoord(const cvf::Vec3d& displayCoord) const +{ + cvf::Vec3d coord = displayCoord; + coord.x() /= m_scale.x(); + coord.y() /= m_scale.y(); + coord.z() /= m_scale.z(); + + coord += m_translation; + + return coord; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Vec3d caf::DisplayCoordTransform::scaleToDomainSize(const cvf::Vec3d& displaySize) const +{ + cvf::Vec3d coord = displaySize; + coord.x() /= m_scale.x(); + coord.y() /= m_scale.y(); + coord.z() /= m_scale.z(); + + return coord; +} diff --git a/Fwk/AppFwk/cafVizExtensions/cafDisplayCoordTransform.h b/Fwk/AppFwk/cafVizExtensions/cafDisplayCoordTransform.h new file mode 100644 index 0000000000..73eaf5d980 --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafDisplayCoordTransform.h @@ -0,0 +1,33 @@ + +#pragma once + +#include "cvfBase.h" +#include "cvfObject.h" +#include "cvfVector3.h" + +namespace caf { + +//================================================================================================== +// +// +//================================================================================================== +class DisplayCoordTransform : public cvf::Object +{ +public: + DisplayCoordTransform(); + + void setScale(const cvf::Vec3d& scale); + void setTranslation(const cvf::Vec3d& translation); + + cvf::Vec3d transformToDisplayCoord(const cvf::Vec3d& domainCoord) const; + cvf::Vec3d scaleToDisplaySize(const cvf::Vec3d& domainSize) const; + + cvf::Vec3d transformToDomainCoord(const cvf::Vec3d& displayCoord) const; + cvf::Vec3d scaleToDomainSize(const cvf::Vec3d& displaySize) const; + +private: + cvf::Vec3d m_scale; + cvf::Vec3d m_translation; +}; + +} diff --git a/Fwk/AppFwk/cafVizExtensions/cafFixedAtlasFont.cpp b/Fwk/AppFwk/cafVizExtensions/cafFixedAtlasFont.cpp new file mode 100644 index 0000000000..fcb33dfd8d --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafFixedAtlasFont.cpp @@ -0,0 +1,18374 @@ +//################################################################################################## +// +// Custom Visualization Core library +// Copyright (C) 2011-2013 Ceetron AS +// +// This library may be used under the terms of either the GNU General Public License or +// the GNU Lesser General Public License as follows: +// +// GNU General Public License Usage +// This library is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at <> +// for more details. +// +// GNU Lesser General Public License Usage +// This library is free software; you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU Lesser General Public License at <> +// for more details. +// +//################################################################################################## + + +#include "cvfBase.h" +#include "cvfTextureImage.h" +#include "cvfGlyph.h" +#include "cvfBase64.h" + +#include "cafFixedAtlasFont.h" + +#include + + +// +// +// The fonts in this file are Copyright Google Corporation. +// Licensed under the Apache License, Version 2.0 +// http://www.apache.org/licenses/LICENSE-2.0 +// +// + +namespace caf { + + +// Fixed Atlas Font: Droid Sans Regular (12pt) +// Exported by FreeType Font Extractor 1.0.0 +// Copyright (c) 2011 Ceetron AS +// -------------------------------------------------------------------------------- + +// Font name +const char CAF_FIXED_ATLAS_FONT_12_PT_NAME[] = "Droid Sans Regular (12pt)"; + +// Number of glyphs +const size_t CAF_FIXED_ATLAS_FONT_12_PT_NUM_GLYPHS = 256; + +// Horizontal bearings X +const short CAF_FIXED_ATLAS_FONT_12_PT_HORIZONTAL_BEARINGS_X[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, -1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, + 1, -1, 1, 0, 1, 1, 1, 0, 1, 0, -2, 1, 1, 1, 1, 0, 1, 0, 1, -1, 0, 1, -1, -1, -1, -2, 0, 1, -1, 0, 0, 0, + 3, 1, 1, 1, 1, 1, 0, 0, 1, 0, -1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, -1, -1, 0, -1, 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 0, 1, 4, 0, 2, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 3, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, + -1, -1, -1, -1, -1, -1, -1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, -2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1 +}; + +// Horizontal bearings Y +const short CAF_FIXED_ATLAS_FONT_12_PT_HORIZONTAL_BEARINGS_Y[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 12, 12, 12, 13, 12, 12, 12, 12, 12, 13, 10, 2, 5, 2, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 9, 9, 10, 8, 10, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, -1, + 13, 9, 13, 9, 13, 9, 13, 9, 13, 12, 12, 13, 13, 9, 9, 9, 9, 9, 9, 9, 11, 9, 9, 9, 9, 9, 9, 12, 13, 12, 8, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 9, 12, 12, 9, 12, 13, 13, 12, 12, 12, 8, 6, 5, 12, 13, 12, 10, 12, 12, 13, 9, 13, 7, 0, 12, 12, 8, 12, 12, 12, 9, + 16, 16, 16, 17, 15, 15, 12, 12, 16, 16, 16, 15, 16, 16, 16, 15, 12, 17, 16, 16, 16, 17, 15, 9, 13, 16, 16, 16, 15, 16, 12, 13, + 13, 13, 13, 14, 12, 14, 9, 9, 13, 13, 13, 12, 13, 13, 13, 12, 13, 14, 13, 13, 13, 14, 12, 9, 9, 13, 13, 13, 12, 13, 13, 12 +}; + +// Horizontal advances +const cvf::uint CAF_FIXED_ATLAS_FONT_12_PT_HORIZONTAL_ADVANCES[] = +{ + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 4, 4, 7, 10, 9, 13, 11, 4, 5, 5, 9, 9, 4, 5, 4, 6, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4, 4, 9, 9, 9, 7, + 14, 11, 11, 10, 11, 8, 8, 11, 11, 6, 4, 9, 8, 14, 12, 11, 9, 11, 10, 8, 8, 11, 10, 14, 9, 8, 9, 5, 6, 5, 9, 7, + 9, 9, 9, 8, 9, 9, 4, 8, 9, 4, 4, 8, 4, 14, 9, 9, 9, 9, 6, 7, 5, 9, 8, 12, 8, 8, 8, 6, 9, 6, 9, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 4, 4, 9, 9, 9, 9, 9, 8, 9, 13, 6, 8, 9, 5, 13, 8, 7, 9, 6, 6, 9, 9, 10, 4, 3, 6, 6, 8, 12, 12, 12, 7, + 11, 11, 11, 11, 11, 11, 14, 10, 8, 8, 8, 8, 6, 6, 6, 6, 11, 12, 11, 11, 11, 11, 11, 9, 11, 11, 11, 11, 11, 8, 9, 10, + 9, 9, 9, 9, 9, 9, 14, 8, 9, 9, 9, 9, 4, 4, 4, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 8 +}; + +// Character widths +const cvf::uint CAF_FIXED_ATLAS_FONT_12_PT_CHARACTER_WIDTHS[] = +{ + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 4, 2, 5, 8, 7, 11, 10, 2, 5, 4, 8, 9, 3, 3, 3, 8, 7, 5, 8, 7, 9, 7, 7, 7, 7, 7, 3, 3, 7, 7, 7, 6, + 12, 12, 8, 9, 9, 6, 6, 10, 8, 5, 5, 9, 7, 11, 9, 10, 7, 10, 9, 8, 8, 8, 11, 15, 10, 11, 8, 3, 8, 3, 9, 7, + 3, 7, 7, 6, 7, 7, 5, 9, 7, 3, 4, 8, 2, 12, 7, 7, 7, 7, 5, 6, 5, 7, 10, 14, 8, 10, 7, 5, 2, 5, 7, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 4, 2, 7, 7, 8, 8, 2, 7, 5, 11, 4, 7, 7, 3, 11, 8, 5, 9, 6, 5, 3, 7, 7, 3, 3, 4, 4, 7, 11, 12, 12, 6, + 12, 12, 12, 12, 12, 12, 14, 9, 6, 6, 6, 6, 5, 5, 5, 5, 10, 9, 10, 10, 10, 10, 10, 7, 10, 8, 8, 8, 8, 11, 7, 8, + 7, 7, 7, 7, 7, 7, 12, 6, 7, 7, 7, 7, 3, 3, 5, 5, 7, 7, 7, 7, 7, 7, 7, 8, 7, 7, 7, 7, 7, 10, 7, 10 +}; + +// Character heights +const cvf::uint CAF_FIXED_ATLAS_FONT_12_PT_CHARACTER_HEIGHTS[] = +{ + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 4, 12, 4, 12, 14, 12, 12, 4, 15, 15, 7, 9, 4, 2, 2, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 9, 11, 8, 5, 8, 12, + 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 15, 12, 12, 12, 12, 12, 12, 15, 12, 12, 12, 12, 12, 12, 12, 12, 12, 15, 12, 15, 7, 2, + 3, 9, 13, 9, 13, 9, 13, 13, 13, 12, 16, 13, 13, 9, 9, 9, 13, 13, 9, 9, 11, 9, 9, 9, 9, 13, 9, 15, 17, 15, 5, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 4, 12, 12, 12, 7, 12, 17, 13, 2, 12, 5, 7, 5, 2, 12, 2, 5, 10, 7, 7, 3, 13, 15, 2, 4, 7, 5, 7, 12, 12, 12, 12, + 16, 16, 16, 17, 15, 15, 12, 16, 16, 16, 16, 15, 16, 16, 16, 15, 12, 17, 16, 16, 16, 17, 15, 7, 14, 16, 16, 16, 15, 16, 12, 13, + 13, 13, 13, 14, 12, 14, 9, 13, 13, 13, 13, 12, 13, 13, 13, 12, 13, 14, 13, 13, 13, 14, 12, 7, 9, 13, 13, 13, 12, 17, 17, 16 +}; + +// Texture image dimensions +const size_t CAF_FIXED_ATLAS_FONT_12_PT_TEXTURE_IMAGE_WIDTH = 4096; +const size_t CAF_FIXED_ATLAS_FONT_12_PT_TEXTURE_IMAGE_HEIGHT = 17; + +// Texture image data +const char* CAF_FIXED_ATLAS_FONT_12_PT_TEXTURE_IMAGE[] = +{ + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////zv///8n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7b///9C////AP///7b///9C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v///zP///8V/////////xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8P////7f///zv///8A////AP///yP////E////9P///8X///8l////AP///wD///8A////AP///wD///8H////g////97////5////4f///47///8S////Q/////j///+M////AP///wD///8A////AP///wD///8A", + "////tv///0L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////x////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+p////yf///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///27///+4////AP///wD///+x////dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////O////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////UP///1D///9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L////3////Uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T////9////1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zP///++////7////7////84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////dP///wD///8A////AP///wD///8A////AP///wD///8A", + "////j////93////3////6////8H///9K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9g////AP///wD///8A////AP///wD///8A////AP///wD///+Z////4P////z////o////vf///0H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yv///++////8v///9j///9q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xH////0////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////f////9v////2////2P///2////8B////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////HP////f////y////zP///2T///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L////3////Uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////O////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8+////v////wD///8A////AP///wD///8A////AP///wD///8A////AP///yH///8s////LP///yz///8s////LP///yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///+/////Pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////O////yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///5r////L////8////+7////O////hf///wD///8A////AP///wD///8A////AP///wD///8U////+v///2f///8A////AP///wD///8A////AP///wD///9r////+v///xT///8A////AP///wD///8A", + "/////////////////////////+/////G////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jv///5/////L////8/////n////i////rf///wD///8A////AP///wD///8A////AP///wD////////////////////v////yf///5f///8a////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x////+a////y/////T////7////6f///8T///+O////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP///2b////7//////////////+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////t////9f///8b///84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////t////93///8L////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////6D///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////Wf////////8q////AP///wD///90/////////wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////Gf////P/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///7f////n////5////7X///9O////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///2b///+b////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////Af///8T////f////DP///wD///8A////AP///wD///8A////AP///wD///8T////qP///+L////3////7P///8T///9U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8v////t////+r////m////sv///yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Y/////////9m////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////a/////////9I////AP///wD///8A////WP////////9c////AP///wD///8A////AP///w7////q////fP///wD///8A////AP///wD///+k////6////w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///33////j////A////wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7X///+3////AP///wD///8A////AP///wD///+1////t////wD///8A////AP///wD///8A////AP///wD///8Y////GP///xj///8Y////GP///xj///8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2D////W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y3////D////9v///+z///+Z////L/////////8A////AP///wD///8A////AP///wD///8A////AP///wD/////////PP///6z////1////2v///2L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///z/////E////8v///+7///+X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m////2v////X///+t////Sv////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////LP///7j////s////+f///9L///9W////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH///+o////5v////n////p////x////2n///8C////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+7////s////gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////Av///73////V////Cv///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////wP///6z///8A////AP///wD///9s/////////wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0H////K////8////8v///9F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w////+4////7/////L///+6////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////NP///9P////7////4f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////F////6z////u////8P///5////9H/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x3////9////+v///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////x////7v///wX///8A////AP///wn////0////8f///wT///8A////AP///wD///8A", + "////p////+T///8P////AP///wD///8Q////5f///6f///8A////AP///wD///8A////AP///wD///8A////AP///xj////y////8f///6z///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////8k////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8l////t/////H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////x////tf///yP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////+////1v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8P////rv///+j////6////5f///53///8U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////yv///1L///8A////VP///8f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////F////43////c////4f///9z///+N////F////wD///8A////AP///wD///8A////AP///wD///+X////5f///6j////j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8y////qv///wD///8y////qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP///zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Q////UP///1D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8X////jf///9z////h////3P///43///8X////AP///wD///8A////AP///wD///8A////AP///xj///8Y////GP///xj///8Y////GP///xj///8Y////AP///wD///8A////AP///wD///8A////AP///wD///8h////v/////T///+9////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////CP////////////////////////////////////////8w////AP///wD///8A////AP///wD///8A////AP////3////5////+P////j////4////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+8////8v////P////J////Ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////1v///2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8P///wD////w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Uv////f///9R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///93////I////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Qf///97////d////Q////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6r///8x////AP///6r///8x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////5P///0X///8A////AP///wD///8A////AP////////8g////AP///wD///8A////AP///wD///8A", + "////Df///+T///9F////AP///wD///8A/////f////n////4////+P////j///9F////AP///wD///8A////AP///wD///8N////5P///0X///8A////AP///wD///8A////AP////////8g////AP///wD///8A////AP///wD///8L////lf///+f////x////yP///2n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////FP////r///9n////AP///wD///8A////AP///wD///8A////a/////r///8U////AP///wD///8A////AP///xT////6////Z////wD///8A////AP///wD///8A////AP///2v////6////FP///wD///8A////AP///wD///8U////+v///2f///8A////AP///wD///8A////AP///wD///9r////+v///xT///8A////AP///wD///8A", + "////FP////r///9n////AP///wD///8A////AP///wD///8A////a/////r///8U////AP///wD///8A////AP///xT////6////Z////wD///8A////AP///wD///8A////AP///2v////6////FP///wD///8A////AP///wD///8U////+v///2f///8A////AP///wD///8A////AP///wD///9r////+v///xT///8A////AP///wD///8A", + "////Ef////T///9s////AP///wD///8A////AP///wD///////////////////////////////////8A////AP///wD///8A////AP///wD////d////yP///1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Zv////v//////////////5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2b////7//////////////+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m////+///////////////lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Zv////v//////////////5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////v////yf///5f///8a////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8Z////8/////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9Y////t////+f////n////tf///07///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///7f////n////5////7X///9O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1j///+3////5////+f///+1////Tv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9Y////t////+f////n////tf///07///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///7f////n////5////7X///9O////AP///wD///8A////AP///wD///8A////AP///wD///9I////R////wD///8A////AP///0L///9U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zb///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8v////t////+r////m////sv///yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////L////7f////q////5v///7L///8p////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///y////+3////6v///+b///+y////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8v////t////+r////m////sv///yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///63////t////8////7f///8g////AP///wD///8A////AP///wD///8A////AP///wD///8t////w/////b////s////mf///y//////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Lf///8P////2////7P///5n///8v/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///y3////D////9v///+z///+Z////L/////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8t////w/////b////s////mf///y//////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Lf///8P////2////7P///5n///8v/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///y3////D////9v///+z///+Z////L/////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////yf////f////d////bP///wD///8s////rv///+f////4////0v///1X///8A////AP///wD///8A", + "////AP///wD////d////yP///1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8s////uP///+z////5////0v///1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////LP///7j////s////+f///9L///9W////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yz///+4////7P////n////S////Vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8s////uP///+z////5////0v///1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1L////Q////8////8f///89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qf///8r////z////y////0X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0H////K////8////8v///9F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9B////yv////P////L////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qf///8r////z////y////0X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0H////K////8////8v///9F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T///8Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9O////zv///8D////x////y////0X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////F////6z////u////8P///5////9H/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///xf///+s////7v////D///+f////R/////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8X////rP///+7////w////n////0f/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////F////6z////u////8P///5////9H/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////y////8f///6z///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////GP////L////x////rP///xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///83////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////L////V////wD////L////V////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8r///9Z////AP///+7///83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3f////B////AP///wD///+2////o////yL///+q////t////wD///8A////AP///wD///8A", + "////i/////v///9+////R////2r////b////4f////P///+j////Af///wD///8A////AP///wD///8A////AP///8v///9X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv////D///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Fv////D///96////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9P/////////1H///9W/////////1P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////cP///+T///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S////9P///1H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6L////F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xr////q////p////0v///+s////7v///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////YP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////t////+3///9d////TP///0z///9M////TP///yL///8A////AP///wD///8A////AP///wD///8A////AP///8L///9q////RP///0z///+g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////YP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uv///2b///8+////TP///57/////////Rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///xn////x////pv///0f///91////+v///2L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP///+X///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////h/////H///9s////Qf///3P////2////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn///8v////Ov///4T////8////kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S////9P///1H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////cP///+T///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zz///+9////8P///4L///8A////AP///wD///8A////AP///wD///8A////AP///wD////A////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////gv////D///+9////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zf///8j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP////L///+Y////SP///x////8f////Sv///5P///8A////AP///wD///8A////AP///wD///8A", + "////AP///63////G////AP///wD///8A////AP///wD///8A////yP///63///8A////AP///wD///8A////AP////////+O////MP///zH///9J////pP////////9T////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yf////b////S////a////0L///89////XP///5r///8A////AP///wD///8A////AP///wD///8A", + "/////////47///8w////SP///3D////c////8f///1T///8A////AP///wD///8A////AP///wD///8A////AP////////+O////MP///zD///8w////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1j////z////2v///3T///9K////Mv///0H///+m/////////wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP////////9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Qv///zr///+u////7P///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////X/////3///89////AP///wD///8A////AP///wD///8A////AP///wD/////////jv///zD///8w////MP///zD///8e////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///6v////8////f////wD///8A////dP////////8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///6D////4/////////wD///8A////AP///wD///8A////AP///wD///8A////jf////7///+S////S////0r///+Q/////f///37///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2j/////////mv///wT///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///2v/////////Q////wD///8A////AP///wD///8A////AP///wD///8A", + "////JP///6r///9f////OP///1X///+X/////////2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8r////+P///87///9m////R////6/////2////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///7n////N////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6r////k////gP///wD///8A////AP///4/////j////nP///wD///8A////AP///wD///8A////bP////H///8T////AP///wD///8n/////P///3D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7L////m////Nf///zD///8w////MP///zD///8w////AP///wD///8A////AP///wD///8A////AP///wD/////////hf///yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wP////j////ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///yz///+F/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////+f///0b///8A////AP///wD///9A////+////yn///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///zH////4////Vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////M////3f///0////8+////hv///+b/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////D///+E////R////7v/////////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///zP////9////zv///2H///9X////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9L/////////7T///9F////e////+z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////JP////f////B////Zv///0f///9x////b////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////L////uf///yf///8Q////NP///2P////1////kP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///88////b/////////8z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///3/////2////K////wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///8D///+s////AP///wD///8A////bP////////8A////AP///wD///8A", + "/////////2z///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///zD////7////t////1H///+4/////f///zX///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////jf///0H///9B////zf///8P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8j////V////Rv///0L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6b////x////df///0D///+S////7f////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///96////zP///9z///9w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///87////5v///9H///9D////AP///wD///9J////1f///+n///86////AP///wD///8A////AP///xH////k////nv///wD///8A////n////+P///8R////AP///wD///8A////AP///wD///8A////AP///wD///8H////Nf///0n////T////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////o////9f///8O////CP///wj///8I////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////x////8r///88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////PP///8r////E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0v///8A////AP///0L////e////4////1f///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////+f///8r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////I////zf///0z///9M////TP///0z///9M////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7X///+d////7P///+v///+f////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Gf///5P///9O////NP///0z////M////tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///8n///9R////AP///1T////T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////L////9z///9t////Ff///wD///8V////b////93///8v////AP///wD///8A////AP///wD///8A", + "////6P///yf///8s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////0v///2X///8G////0v///2X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yz/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8v////3P///23///8V////AP///xX///9v////3f///y////8A////AP///wD///8A////AP///wD//////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////v////6L///8h////i////7v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///8s////LP///yz///9c////NP///yz///8s////CP///wD///8A////AP///wD///8A////AP///wD///9Q////sP///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Tf///w3///8M////ff///97///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b////4////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP////D///8A////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L////0////Uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Q////+X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///9E////R////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m////0f///wX///9m////0f///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1f////Z////Bv///wD///8A////AP///wD/////////IP///wD///8A////AP///wD///8A////AP///wD///9X////2f///wb///8A////AP///1D///+w////FP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1f////Z////Bv///wD///8A////AP///wD/////////IP///wD///8A////AP///wD///8A", + "////k////+3///9l////UP///4b///+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+t////xv///wD///8A////AP///wD///8A////AP///8j///+t////AP///wD///8A////AP///wD///8A////rf///8b///8A////AP///wD///8A////AP///wD////I////rf///wD///8A////AP///wD///8A", + "////AP///63////G////AP///wD///8A////AP///wD///8A////yP///63///8A////AP///wD///8A////AP///wD///+t////xv///wD///8A////AP///wD///8A////AP///8j///+t////AP///wD///8A////AP///wD///8A////rf///8b///8A////AP///wD///8A////AP///wD////I////rf///wD///8A////AP///wD///8A", + "////AP///63////G////AP///wD///8A////AP///wD///8A////yP///63///8A////AP///wD///8A////AP///wD///+R////2////wL///8A////AP///wD///8A/////////47///8w////MP///zD///8w////AP///wD///8A////AP///wD///8A////AP///0P////l////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////47///8w////MP///zD///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+O////MP///zD///8w////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////jv///zD///8w////MP///zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////47///8w////MP///zD///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8o/////////1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP////////9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yj/////////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8o/////////1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////47///8w////SP///3D////c////8f///1T///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////oP////j/////////AP///wD///8A////AP///wD///8A////AP///wD///+N/////v///5L///9L////Sv///5D////9////fv///wD///8A////AP///wD///8A////AP///wD///8A////jf////7///+S////S////0r///+Q/////f///37///8A////AP///wD///8A////AP///wD///8A", + "////AP///43////+////kv///0v///9K////kP////3///9+////AP///wD///8A////AP///wD///8A////AP///wD///+N/////v///5L///9L////Sv///5D////9////fv///wD///8A////AP///wD///8A////AP///wD///8A////jf////7///+S////S////0r///+Q/////f///37///8A////AP///wD///8A////AP///wD///8A", + "////Rv///+H///8p////AP///yf////e////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////u////ov///6v////j////5////7X///9O////AP///wD///8A////AP///wD///8A////AP///wD///8r////+P///87///9m////R////6/////2////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////K/////j////O////Zv///0f///+v////9v///yj///8A////AP///wD///8A////AP///wD///8A////AP///yv////4////zv///2b///9H////r/////b///8o////AP///wD///8A////AP///wD///8A////AP///wD///8r////+P///87///9m////R////6/////2////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///+U////QP///0X////Y////t////wD///8A////AP///wD///8A////AP///wD///8A", + "////zP///93///9P////Pv///4b////m/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///8z////d////T////z7///+G////5v////////8A////AP///wD///8A////AP///wD///8A////AP///wD////M////3f///0////8+////hv///+b/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////zP///93///9P////Pv///4b////m/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///8z////d////T////z7///+G////5v////////8A////AP///wD///8A////AP///wD///8A////AP///wD////M////3f///0////8+////hv///+b/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////zf///9z///9K////Tv///9H///+L////6f///8T///9t////T////3n///90////AP///wD///8A////AP///wD///8A////AP///0P////l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8k////9////8H///9m////R////3H///9v////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////JP////f////B////Zv///0f///9x////b////wD///8A////AP///wD///8A////AP///wD///8A////AP///yT////3////wf///2b///9H////cf///2////8A////AP///wD///8A////AP///wD///8A////AP///wD///8k////9////8H///9m////R////3H///9v////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0j////+////hf///0f///+2////+f///yr///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////MP////v///+3////Uf///7j////9////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///zD////7////t////1H///+4/////f///zX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////+////7f///9R////uP////3///81////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////MP////v///+3////Uf///7j////9////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///zD////7////t////1H///+4/////f///zX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////OP////////+6////RP///7j////9////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///6b////x////df///0D///+S////7f////////8A////AP///wD///8A////AP///wD///8A////AP///wD///+m////8f///3X///9A////kv///+3/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////pv////H///91////QP///5L////t/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///6b////x////df///0D///+S////7f////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////Nf///0n////T////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf///81////Sf///9P///+4////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4P///2z///8A////4P///2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+m////f////wD////J////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+i////4P////r/////////0f///3n///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8K////5v///0f///8A////8P///0L///8A////Rf///+////8A////AP///wD///8A////AP///+P///+e////AP///wD///8A////Mv////7////6////If///wD///8A////AP///wD///8A////AP///wD////g////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////C////+////+M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+N////7f///wr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4v////W////4v///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz////+////bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///84/////////y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92////5f///wb///8A////CP///+j///99////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr////D////yv///w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n////O////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A/////////2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tv///8X///8A////AP///wD///8A////AP///wD///8A////AP///wD///+L////z////wH///8A////AP///5j////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yP////9////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L///+C////AP///wD///8A////if///9r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bv////////83////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz////+////bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ov///7v////u////fv///w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8P////ff///+3///+6////Of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////G/////P///9T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9L/////////yb///8A////AP///wD///8A////Jv////////9L////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD////I////zP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Hv////f///+q////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////Cf///7L////v////Ff///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xn////z////sf///wv///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////GP////////9S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////GP///+7///+O////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wj////0////iv///9T///8A////AP///3T/////////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///zP////8////j/////////8A////AP///wD///8A////AP///wD///8A", + "////M/////////9w////AP///wD///8A////AP///23////9////KP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz////y////nP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///x3////y////mf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7z////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////rf///+z///8C////AP///wD///8B////1f///6j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP////7////Uv////z///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////n////7n///8A////AP///wD////G////k////9z///8A////AP///wD///8A", + "////AP///wX////a////jP///wD///8A////pP///9////8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////8P///37///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9R////+v///xj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///4r////S////Av///wD///8B////yv///5P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////P////3v///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4////43///8A////AP///wD///+b/////////wD///8A////AP///wD///8A////AP///wD///8A////AP////////+4////AP///wD///8A////3v///7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x////6v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uv///9r///8A////AP///wD///+0/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///6f////m////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////8v///2n///8A////AP///wD///8A////fv///+z///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wT/////////Y////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///0H////9////ZP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD////A////rP///wD///8A////AP///2z/////////AP///wD///8A////AP////////9s////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///+r////2P///wD///8A////AP///9z///+s////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///3f////0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////1////ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////ov///wD///8A////AP///7//////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////2P///4H///+Q////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gP///7r///+Y////kf///wD///8A////kf///5v///+8////f////wD///8A////AP///wD///8A////Rv////7///9I////Sf////7///9E////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Nv////////82////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP////q////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////v///9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9x////+v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////j////Sv///3j////2////c////0f////j////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////T///++////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bv///9v//////////////+////+c////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////M/////////84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e////0P///zP///8t////w////5r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////MP///zD/////////jv///zD///8o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////av///+7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Dv///9j///80////AP///wD///8A////AP///wD///80////2P///w7///8A////AP///wD///8A////AP///1n////E////3P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////g////7L///8A////g////7L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////2P///zT///8A////AP///wD///8A////AP///zT////Y////Dv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////P///84////AP///x3////y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zX////L////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///2n////W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////3v///8z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////w////AP////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9L///+6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////3////E////xT////2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7L///+C////AP///7L///+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u////3z///8A////9f////j////4//////////n///8b////AP///wD///8A////AP///wD///8A////AP///7v///98////AP///wD///8A////Nf///8v///8z////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////u////3z///8A////9f////j////4//////////n///8b////AP///wD///8A////AP///+X///93////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////S/////////8m////AP///wD///8A////AP///yb/////////S////wD///8A////AP///wD///8A", + "////AP///0v/////////Jv///wD///8A////AP///wD///8m/////////0v///8A////AP///wD///8A////AP///wD///9L/////////yb///8A////AP///wD///8A////Jv////////9L////AP///wD///8A////AP///wD///8A////S/////////8m////AP///wD///8A////AP///yb/////////S////wD///8A////AP///wD///8A", + "////AP///0v/////////Jv///wD///8A////AP///wD///8m/////////0v///8A////AP///wD///8A////AP///wD///9L/////////yb///8A////AP///wD///8A////Jv////////9L////AP///wD///8A////AP///wD///8A////IP////z///9O////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////S////uv///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////90////AP///wD///8A////Cf///7L////v////Ff///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////M/////z///+P/////////wD///8A////AP///wD///8A////AP///wD///8z/////////3D///8A////AP///wD///8A////bf////3///8o////AP///wD///8A////AP///wD///8A", + "////M/////////9w////AP///wD///8A////AP///23////9////KP///wD///8A////AP///wD///8A////AP///zP/////////cP///wD///8A////AP///wD///9t/////f///yj///8A////AP///wD///8A////AP///wD///8z/////////3D///8A////AP///wD///8A////bf////3///8o////AP///wD///8A////AP///wD///8A", + "////M/////////9w////AP///wD///8A////AP///23////9////KP///wD///8A////AP///wD///8A////AP///wD///8o////uP///yb///+2////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf////////+d////QP///0r///+Q/////f///37///8A////AP///wD///8A////AP///wD///8A", + "////rf///+z///8C////AP///wD///8B////1f///6j///8A////AP///wD///8A////AP///wD///8A////AP///63////s////Av///wD///8A////Af///9X///+o////AP///wD///8A////AP///wD///8A////AP///wD///+t////7P///wL///8A////AP///wH////V////qP///wD///8A////AP///wD///8A////AP///wD///8A", + "////rf///+z///8C////AP///wD///8B////1f///6j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////dv////L///8A////AP///wD///8A////AP///wD///8A////AP///+P///+N////AP///wD///8A////m/////////8A////AP///wD///8A////AP///wD///8A////AP///wD////j////jf///wD///8A////AP///5v/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4////43///8A////AP///wD///+b/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///+P///+N////AP///wD///8A////m/////////8A////AP///wD///8A////AP///wD///8A////AP///wD////j////jf///wD///8A////AP///5v/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4////43///8A////AP///wD///+b/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///+X///+J////AP///wD///8v/////////+X///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////S////uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////p////+b///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6f////m////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+n////5v///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////p////+b///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C////uP///wD///8A////AP///9r///+d////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///6v////Y////AP///wD///8A////3P///6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r////2P///wD///8A////AP///9z///+s////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////q////9j///8A////AP///wD////c////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6v////Y////AP///wD///8A////3P///6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r////2P///wD///8A////AP///9z///+s////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////H////yz///8s////LP///yz///8s////LP///xb///8A////AP///wD///8A////AP///wD///8A////AP///63////d////8v///xb///8A////3P///6z///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////ov///wD///8A////AP///7//////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////6P///6L///8A////AP///wD///+//////////wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///+i////AP///wD///8A////v/////////8A////AP///wD///8A////AP///wD///8A////AP///wD////o////ov///wD///8A////AP///7//////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Nv////////82////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82/////////zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////1v///3r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////X///+B////AP////X///+B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gv///6X///8A////o////4H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////tf///2v///9C/////////4f////t////nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2v////M////AP////L///9C////AP///0X////u////AP///wD///8A////AP///wD////0////hP///wD///8A////Gf///9/////L////yf///9D///8H////AP///wD///8A////AP///wD///8A", + "////9f///4H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2D/////////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I/////////9f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////kv///7T////L///////////////L////tP///5X///8A////AP///wD///8A////AP///wD///8A////AP///wH///8s////LP///yz/////////UP///yz///8s////CP///wD///8A////AP///wD///8A////AP///wD///8A////zv///9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87///+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////xf///6f///8A////AP///wD///+o////yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////D////87////D////Cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9/////8f///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4b////x////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////zP///4T///8A////AP///wD///9p////9P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////r////8n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////0////fP///wD///8A////AP///3D////x////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wX////v////l////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zv///9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uf///+v///96////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH///8s////LP///yz///8s////LP///yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////eP///+r///+4////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////8////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5b///+0////AP///xr///+6////9P///7////8g////uP////L///+Y////Av///wD///8A////AP///wD///8A////A////+X///+V////MP///zD///8w////MP///5P////m////A////wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////lf////T///8A////AP///wD///8A////AP///wD///8A////AP///5f////0////GP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8e////9////43///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+S////+P///xz///8A////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///63////Y////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///9O////7f///wn////t////Kf///wD///90/////////wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD////D////nv///2f/////////AP///wD///8A////AP///wD///8A////AP///6T////r////B////wD///8A////AP///wD///8G////6////5z///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9Y////t////+f////+/////////2D///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///+1////4v///w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+F////8v///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L///+m////AP///wD///8A////AP///4v////g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9l////4////wD////i////Z////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8o/////////0v////w////Af///wD///8F////9////zj/////////Hf///wD///8A////AP///wD///8A////Uv////f///8d////J/////z///9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2T////5////K////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u////6n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////5////2T///8A////Vv///+7///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2n////1////hf///1H///87////iv////////8A////AP///wD///8A////AP///wD///8A////AP///wD/////////ff///wD///8A////AP///6z////g////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3v///7D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T///+o////AP///wD///8A////f/////////8A////AP///wD///8A////AP///wD///8A////AP///wD////d////rf///zD///8w////MP///zD///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D////h////Y////0j///9I////V////8X////W////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////o////x/////m////pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////wP///6z///8A////AP///wD///9s/////////wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3v///6j///8A////AP///wD///+r////3f///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zP////i////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////27///8A////AP///wD///+B/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N/////////8x////O/////////8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8X///+G////WP///97///8A////AP///9n///9a////if///8T///8A////AP///wD///8A", + "////AP///wD///+U////4////+P///+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////R////nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP////n///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////V////+L////a////QP///wD///8A////TP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////v////sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////ZP/////////I////dv///0H///9Y////fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn/////////av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5////0b///8A////AP///y3////e////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////CP//////////////////////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////a////+3///+h////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3f///+G////AP///w3///+V////4/////n////K////AP///4n///90////AP///wD///8A////AP///wD///8Z////AP///yb////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////CP////X///8s////CP////X///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH///8s////LP///yz///8s////UP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////d////4b///8A////AP////////9A////AP///8f///8y////if///3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+8////p////yP///+R////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I////9f///89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3P////P////o////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8P///wD////w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9+////bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////1f///0T///9H////0f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8t////9f///wj///8t////9f///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yb////w////IP///4T///91////AP////////8g////AP///wD///8A////AP///wD///8A", + "////AP///wD///8m////8P///yD///8A////AP///wD///8j////1////z3///8A////AP///wD///8A////AP///wD///8A////AP///yb////w////IP///4T///91////AP////////8g////AP///wD///8A////AP///wD////3////Yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wP////l////lf///zD///8w////MP///zD///+T////5v///wP///8A////AP///wD///8A////AP///wD///8D////5f///5X///8w////MP///zD///8w////k////+b///8D////AP///wD///8A////AP///wD///8A////A////+X///+V////MP///zD///8w////MP///5P////m////A////wD///8A////AP///wD///8A", + "////AP///wP////l////lf///zD///8w////MP///zD///+T////5v///wP///8A////AP///wD///8A////AP///wD///8D////5f///5X///8w////MP///zD///8w////k////+b///8D////AP///wD///8A////AP///wD///8A////A////+X///+V////MP///zD///8w////MP///5P////m////A////wD///8A////AP///wD///8A", + "////AP///wD///+o////w////zD///8w////MP///zD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv///27///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8e////9////43///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///8P///+e////Z/////////8A////AP///wD///8A////AP///wD///8A", + "////pP///+v///8H////AP///wD///8A////AP///wb////r////nP///wD///8A////AP///wD///8A////AP///6T////r////B////wD///8A////AP///wD///8G////6////5z///8A////AP///wD///8A////AP///wD///+k////6////wf///8A////AP///wD///8A////Bv///+v///+c////AP///wD///8A////AP///wD///8A", + "////pP///+v///8H////AP///wD///8A////AP///wb////r////nP///wD///8A////AP///wD///8A////AP///6T////r////B////wD///8A////AP///wD///8G////6////5z///8A////AP///wD///8A////AP///wD///8A////AP///yT////k////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Mf////3////r////sP///wD///8A////AP///23////9////KP///wD///8A////AP///wD///8A////AP///+L///+m////AP///wD///8A////AP///4v////g////AP///wD///8A////AP///wD///8A////AP///wD////i////pv///wD///8A////AP///wD///+L////4P///wD///8A////AP///wD///8A////AP///wD///8A", + "////4v///6b///8A////AP///wD///8A////i////+D///8A////AP///wD///8A////AP///wD///8A////AP///+L///+m////AP///wD///8A////AP///4v////g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////9////4f///7b///85////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////Av///7X////Z////AP///wD///8A////AP///wD///8A////AP///wD///9p////9f///4X///9R////O////4r/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////af////X///+F////Uf///zv///+K/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///2n////1////hf///1H///87////iv////////8A////AP///wD///8A////AP///wD///8A////AP///wD///9p////9f///4X///9R////O////4r/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////af////X///+F////Uf///zv///+K/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///2n////1////hf///1H///87////iv////////8A////AP///wD///8A////AP///wD///8A////AP///wD///93////5P///03///8Z////CP////////+t////MP///zD///8w////MP///zD///8A////AP///wD///8A", + "////AP///wD///8A////fv///27///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///93///+t////MP///zD///8w////MP///zD///8A////AP///wD///8A////AP///wD///8A////AP///wD////d////rf///zD///8w////MP///zD///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3f///63///8w////MP///zD///8w////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///93///+t////MP///zD///8w////MP///zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////7f///4L///8A////AP///wD///+n////1v///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD////e////qP///wD///8A////AP///6v////d////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3v///6j///8A////AP///wD///+r////3f///wD///8A////AP///wD///8A////AP///wD///8A////AP///97///+o////AP///wD///8A////q////93///8A////AP///wD///8A////AP///wD///8A////AP///wD////e////qP///wD///8A////AP///6v////d////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3v///6j///8A////AP///wD///+r////3f///wD///8A////AP///wD///8A////AP///wD///8A////AP///7j///////////////////////////////////+A////AP///wD///8A////AP///wD///8A////AP///wD////e////h////6j///+W////AP///6v////d////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////27///8A////AP///wD///+B/////////wD///8A////AP///wD///8A////AP///wD///8A////AP////////9u////AP///wD///8A////gf////////8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bv///wD///8A////AP///4H/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////27///8A////AP///wD///+B/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////R////nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////a////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9H///+d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9v///+G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8U////ff////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////3v///1P///+8////pv///yP///+q////sv///wD///8A////AP///wD///8A", + "////uf///9f///8J////D////9D////a////Ff///xr////z////cP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+i////3f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////d////of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5v///+J////Rf///67///+u////Rf///4f///+h////AP///wD///8A////AP///wD///8A////AP///wD///8I/////////////////////////////////////////zD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9l////8////w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+H///+H////AP///wD///8A////iP///+P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////YP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8W////2f///7f///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////q////73///8A////AP///wD///8A////AP///wD///8A////AP///wD////J////r////0z///9M////TP///0z/////////j////0z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wL////c////1v///wD///8A////AP///wD///8A////AP///wD///8A////AP///+z///+d////AP///wD///8A////hf///97///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zz/////////Of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////vf///9H///8G////AP///xD////W////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////q////83///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5f////m////ef///w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////A////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Df///3n////l////l////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2////6////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////I////Y////wD///+o////uP///x7///+8////5////03///8m////3f///2r///8A////AP///wD///8A", + "////AP///wD///+H////////////////////////////////////iP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///8H////a////AP///wD///8A////AP///wD///8A////AP///wD////K////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///8L////A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////x////7z///8A////AP///wD///8A////MP///zD///+O/////////wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///1T////8////N////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////oP///6L///8A////n////37///8A////dP////////8A////AP///wD///8A////AP////////90////AP///wD///9X////8////xj///9y/////////wD///8A////AP///wD///8A////AP///wD////R////sv///wD///8A////AP///wD///8A////AP///7P////M////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+N/////v///5L///9L////Sv///5D////+////hP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///9a/////////0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///85////7P///7j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////9////df///wD///8A////AP///wD///90/////f///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////u////5n///8A////lv///73///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Z////+7///8D////8f///yv///8A////NP///9z///8C////8f///13///8A////AP///wD///8A////AP///wD////E////nf///6T////P////Af///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yv/////////W////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vP///8j///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Jv////7///8/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1/////n////Ef///9v///9w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////cP///8P////k////9/////7/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3D///8A////AP///wD///+E////+P///wD///8A////AP///wD///8A////AP///wD///8A////AP////f///+G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////5////hP///wD///8A////AP///2//////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP////////////////////L////B////Mf///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////23///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////+7////7////2v///w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bf///wD///8A////AP///8D///+s////AP///wD///8A////bP////////8A////AP///wD///8A", + "/////////23///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP////f///+D////AP///wD///8A////hP////f///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////d////6z////1////2v///2L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2b////a////9f///63///91/////////wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP///5r////9////0v///yf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bf////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5b////X////AP///wH////e////kP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///w7////7////S////xH////7////LP///yH////+////Fv///07////7////Dv///wD///8A////AP///wD///8A////C/////P////w////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////4P////P///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+y////yf///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////6v///6b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8/////t////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///+X///9I////AP///wD///8v////7f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///8w////MP////////+O////MP///yj///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wX///97////7f////D////4////Kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////O////If///wD///+b////y////zH///8X////Rv///wD///8k////yv///wD///8A////AP///wD///8A", + "////of///9z////T////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9/////sv///wD///9/////sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////A////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87///8h////AP///wD/////////QP///1T///+i////AP///yT////K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////H////7v////y////uf///x3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///8s////LP///yz/////////UP///yz///8s////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F////2f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8Z////if///67///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////uf///+T////v////sf///07/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP////D///8A////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0X////e////3f///0D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////s////37///8A////s////37///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////hf///7L///8E////v////yn/////////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4X///+y////AP///wD///8A////AP///0X////Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////hf///7L///8E////v////yn/////////IP///wD///8A////AP///wD///8A", + "////yv///6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////h////////////////////////////////////4j///8A////AP///wD///8A////AP///wD///8A////AP///4f///////////////////////////////////+I////AP///wD///8A////AP///wD///8A", + "////AP///wD///+H////////////////////////////////////iP///wD///8A////AP///wD///8A////AP///wD///8A////h////////////////////////////////////4j///8A////AP///wD///8A////AP///wD///8A////AP///4f///////////////////////////////////+I////AP///wD///8A////AP///wD///8A", + "////AP///wD///+H////////////////////////////////////iP///wD///8A////AP///wD///8A////AP///wD///8A////M////////////////////////////////////3T///8A////AP///wD///8A////AP///wD///8A////AP///yb///+f////y/////P////5////4v///63///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////3T///8A////AP///wD///8A////AP///8L////A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///1f////z////GP///3L/////////AP///wD///8A////AP///wD///8A////AP///9H///+y////AP///wD///8A////AP///wD///8A////s////8z///8A////AP///wD///8A////AP///wD////R////sv///wD///8A////AP///wD///8A////AP///7P////M////AP///wD///8A////AP///wD///8A", + "////0f///7L///8A////AP///wD///8A////AP///wD///+z////zP///wD///8A////AP///wD///8A////AP///9H///+y////AP///wD///8A////AP///wD///8A////s////8z///8A////AP///wD///8A////AP///wD////R////sv///wD///8A////AP///wD///8A////AP///7P////M////AP///wD///8A////AP///wD///8A", + "////AP///yf///+4////Jv///7f///8n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6X////q////NP////z///9I////AP///wD///8G////6////5z///8A////AP///wD///8A////AP///wD////9////df///wD///8A////AP///wD///90/////f///wD///8A////AP///wD///8A////AP///wD///8A", + "/////f///3X///8A////AP///wD///8A////dP////3///8A////AP///wD///8A////AP///wD///8A////AP////3///91////AP///wD///8A////AP///3T////9////AP///wD///8A////AP///wD///8A////AP///wD////9////df///wD///8A////AP///wD///90/////f///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yv/////////W////wD///8A////AP///wD///8A////AP///wD///8A////AP////////+O////M////0r///+n/////v///0v///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////H////7v////5////R////wD///8A////AP///wD///8A////AP///wD///8A", + "////BP///3D////D////5P////f////+/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///9w////w////+T////3/////v////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////cP///8P////k////9/////7/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////BP///3D////D////5P////f////+/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///9w////w////+T////3/////v////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////cP///8P////k////9/////7/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Cv///2X///+p////6P////v/////////////////////////////////////////AP///wD///8A////AP///wD///8/////xP////L////u////l////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////3////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP////f///////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD////3////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////D///+E////AP///wD///8A////gv////T///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bf///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9////4P///8A////AP///wD///+E////9////wD///8A////AP///wD///8A////AP///wD///8A////AP////f///+D////AP///wD///8A////hP////f///8A////AP///wD///8A////AP///wD///8A////AP///wD////3////g////wD///8A////AP///4T////3////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9////4P///8A////AP///wD///+E////9////wD///8A////AP///wD///8A////AP///wD///8A////AP////f///+D////AP///wD///8A////hP////f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9////3////8j////9f///yf///+C////9////wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bf////////8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///23/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///9t/////////wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bf////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////4P////P///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3f///+s////9f///9r///9i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////g////8////wv///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////g////kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT///8v////+////x3///9R////4////xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////H////7f////R////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///1/////W////Kv///8j////z////wv///yH///8A////AP///wD///8A////AP///yX////m////x////8L////m////IP///wD///8A////lv///9X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////1////6P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////o////9f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cv////D///9r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////2////ev///wD///8A////AP///3v////2////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x/////o////lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zj///9J////lf///+3///9S////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Hv///+n///9C////AP///wD///8A/////////2D///8A////AP///wD///8A////AP///wD///8A////AP///z7///9R////P////3H///+8/////////2f///8A////AP///wD///8A////AP///wD///8A////AP///wD////7////7P///3n///8t////V/////D///+H////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////yf///6j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7////w////yf///1r////c////4P///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////jv///+T////0////n////5P////v////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I////6T////r////fP///w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////fP///+r///+j////Iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1r/////////d////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////7f///z////8A////6////2H///8A////Vv////////8D////AP///2T////H////AP///wD///8A////AP///wD///8A////Jf////////9W////AP///wD///9T/////////yb///8A////AP///wD///8A////AP///wD/////////jv///zD///8y////TP///6T////8////W////wD///8A////AP///wD///8A////AP///wD///8A", + "////7v///5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///+g////5////wD///8A////AP///wD///8A////AP///wD/////////jv///zD///8w////MP///zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////47///8w////MP///zD///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+3///+c////AP///wD///8A////AP////////////////////////8A////AP///wD///8A////AP///wD/////////jv///zD///8w////MP///zD///+O/////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////2////0f////o////hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////BP///+3///9R////AP///0v////T////AP///3T/////////AP///wD///8A////AP///wD/////////dP///wD///8I////4P///3r///8A////dP////////8A////AP///wD///8A////AP///wD///8A", + "////8P///5n///8A////AP///wD///8A////AP///wD///+Z////7v///wD///8A////AP///wD///8A////AP///////////////f///+H///+2////Of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8z/////////3D///8A////AP///wD///8A////bf////7///85////AP///wD///8A////AP///wD///8A", + "/////////////////////////+X///8t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0X///+3/////v///9P///8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP////z///9L////AP///0j////8////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///6b///+4////AP///7r///9k////AP///2v///+m////AP///7z///+d////AP///wD///8A", + "////AP///wD///8A////Of////z////8////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e/////////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH////0////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4/////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8B////x////9P////Y////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9q/////////wD///8A////AP///wD///8A////AP///wD///8A////AP////////98////AP///wD///8A////qf///+H///8A////AP///wD///8A////AP///wD///8A////AP///wD////a////s////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4////6v///8A////AP///wD///+A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///9v///+n////AP///wD///8A////hP///+b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///+3///9q////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9+////AP///wD///8A////bv////3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9n////0////8j///8K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////37///8A////AP///wD////C////u////wD///8A////AP///27////9////AP///wD///8A////AP////////9+////AP///wD///8A////bv////3///8A////AP///wD///8A////AP///wD///8A////AP///wD////h////p////wD///8A////AP///6r////c////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////P///+E////R////7v/////////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///0v/////////tP///0X///97////7f////////8A////AP///wD///8A////AP///wD///8A////AP///wD/////////hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6/////z////Z////wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wb////u////e////wD///8A////gv///+r///8F////AP///wD///8A////AP///wD///8A////AP///wD///9P/////v///xH///8A////wf///3b///9n////zf///wD///8S/////v///07///8A////AP///wD///8A////AP///3b////0////9P///3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////SP///+X////q////Yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G/////H///9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9V/////////x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+X///+a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////y////n////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////H/////////+F////IP///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+f////0v///zb///8w////xv///53///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I///////////////////////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e////9v///23///8H////nf///8L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4////wH///8A////6////1L///8A////AP///wD///8A////Af///+L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///9D///9l////Bf///9D///9l////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////j////Af///wD///8A/////////93////w////Vf///wD///8B////4v///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I/////////////////////////////////////////zD///8A////AP///wD///8A////AP///wD///8A", + "////XP///0r///8J////ZP///+f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0v///8y////A////1X////s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////H///91////QP///5H////4/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////w////AP////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6n///9s////+P///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Zv///9D///8F////Zv///9D///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////yn////f////Tv///yH///+y/////P///yD///8A////AP///wD///8A////AP///wD///8A////AP////////8p////3////07///9c////Sv///wn///9k////5////wD///8A////AP///wD///8A", + "////vP////L////z////yf///0T////f////Tv///yH///+y/////P///yD///8A////AP///wD///8A////AP///0r////+////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yX/////////Vv///wD///8A////U/////////8m////AP///wD///8A////AP///wD///8A", + "////AP///wD///8l/////////1b///8A////AP///1P/////////Jv///wD///8A////AP///wD///8A////AP///wD///8A////Jf////////9W////AP///wD///9T/////////yb///8A////AP///wD///8A////AP///wD///8A////AP///yX/////////Vv///wD///8A////U/////////8m////AP///wD///8A////AP///wD///8A", + "////AP///wD///8l/////////1b///8A////AP///1P/////////Jv///wD///8A////AP///wD///8A////AP///wD///8A////Jf////////9W////AP///wD///9T/////////yb///8A////AP///wD///8A////AP///wD///8A////AP///wD///++////pP///wD///8A////AP////////+O////MP///zD///8w////MP///wD///8A", + "////AP///2H////2////0v///2v///9C////Pf///1z///+a////AP///wD///8A////AP///wD///8A////AP////////+O////MP///zD///8w////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////jv///zD///8w////MP///zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////47///8w////MP///zD///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+O////MP///zD///8w////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////MP////////+O////MP///zD///8A////AP///wD///+g////5////wD///8A////AP///wD///8A////AP////////90////AP///wj////g////ev///wD///90/////////wD///8A////AP///wD///8A////AP///wD////w////mf///wD///8A////AP///wD///8A////AP///5n////u////AP///wD///8A////AP///wD///8A", + "////8P///5n///8A////AP///wD///8A////AP///wD///+Z////7v///wD///8A////AP///wD///8A////AP////D///+Z////AP///wD///8A////AP///wD///8A////mf///+7///8A////AP///wD///8A////AP///wD////w////mf///wD///8A////AP///wD///8A////AP///5n////u////AP///wD///8A////AP///wD///8A", + "////8P///5n///8A////AP///wD///8A////AP///wD///+Z////7v///wD///8A////AP///wD///8A////AP///0T////h////Kv///wD///8o////3////0X///8A////AP///wD///8A////AP///wD///8A////AP///wD////N////rv///wD///+U////2f///wb///8A////AP///7P////M////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e/////////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////Af///8n////M////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////SP////L////U////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////av////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2r/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9q/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////av////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2r/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9q/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////f///6f///8A////AP///wD///+E////5v///wD///8A////AP///wD///8z/////f///87///9h////V////3z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////2////6f///8A////AP///wD///+E////5v///wD///8A////AP///wD///8A////AP///wD///8A////AP///9v///+n////AP///wD///8A////hP///+b///8A////AP///wD///8A////AP///wD///8A////AP///wD////b////p////wD///8A////AP///4T////m////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////2////6f///8A////AP///wD///+E////5v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////tf///wD///8A////AP///7T////w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////37///8A////AP///wD///9u/////f///wD///8A////AP///wD///8A////AP///wD///8A////AP///+H///+n////AP///wD///8A////qv///9z///8A////AP///wD///8A////AP///wD///8A////AP///wD////h////p////wD///8A////AP///6r////c////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4f///6f///8A////AP///wD///+q////3P///wD///8A////AP///wD///8A////AP///wD///8A////AP///+H///+n////AP///wD///8A////qv///9z///8A////AP///wD///8A////AP///wD///8A////AP///wD////h////p////wD///8A////AP///6r////c////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+H///+n////AP///5L///+v////mf///97///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////SP///+X////q////Yf///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////z////hP///0f///+7/////////0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I////5f///+r///9h////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////5f///57///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP///+T///9Q////H/////z///8s////FP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///85//////////P////f////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////E////9P///8X///8o////1f///1////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////GP///+7/////////qP///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+7///+L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4z////t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////7v///+3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+R////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9////3r///8A////AP///wD///96////9P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////P/////////9G////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD//////////////+P///84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9K////6v///yD///8A////AP////////9g////AP///wD///8A////AP///wD///8A////AP///wD////3////7f////b////w////xf///1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////7////5L///+Y////8f///+T///+N////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b////7////HP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////eP///////////////f///0v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////if///+7///9W////LP///3b////s////+v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////LP///7D////u////f////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9/////7v///7D///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////c/////7///9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+v///88////AP////T///9I////AP///zX/////////Cf///wD///8z////8////wD///8A////AP///wD///8A////AP///wD////D////sv///wD///8A////sf///8X///8A////AP///wD///8A////AP///wD///8A", + "///////////////////////////////2////aP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+z///+d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////nP///+////8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////r////nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////4n////k////3f///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///0P////2////Cv///wD///8G////8P///yj///90/////////wD///8A////AP///wD///8A", + "/////////3P///8A////e////9////8I////AP///3T/////////AP///wD///8A////AP///wD///8A////AP////H///+Y////AP///wD///8A////AP///wD///8A////mP///+7///8A////AP///wD///8A////AP///wD/////////jv///zP///9K////p/////7///9L////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////pP///+v///8H////AP///wD///8A////AP///wb////r////mv///wD///8A////AP///wD///8A////AP////////+O////MP///0X///+d////+P///0P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////73/////////z////1////8G////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2f////0////CP///wD///8G////8v///2j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////l////gP///wD///+B////nf///wD///+i////b////wD///+D////3v///wD///8A////AP///wD///8A////AP///wz////u////9P///w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8r/////P///3D////7////Tf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////cP////X///8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr////v////a////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zT////+////TP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jf///+z///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////tP///wD///8A////AP///9v///+1////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////qv///+z///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7j////e////AP///wD///8A////uv////////8A////AP///wD///8A////AP///wD///8A////AP///wD///+j////7////wX///8A////AP///7j///+4////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+J////pf///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////v////wD///8A////AP///6T////G////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////Zf///xn////d////t////wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+4////AP///wD///8D////8P///+v///8H////AP///wD///+i////yf///wD///8A////AP///wD/////////v////wD///8A////AP///6T////G////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////sf///9j///8A////AP///wD////b////qf///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+4////AP///wD///8A////3v///7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///+6////2v///wD///8A////AP///7T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////9n///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////0////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9T/////v///yD///8A////AP///yT/////////UP///wD///8A////AP///wD///8A////AP///wD///8A////lP///9T///8A////AP///3T///+5////qf///4b///8A////AP///9H///+T////AP///wD///8A", + "////AP///zX////6////Y////2T////5////Mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///63///+i////n////8P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9n////9f///yL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////S////7L////f////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP///9////+y////S////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////g////jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////8P///6P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////t////5v////q////6f///5r///+1////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+C////yf////T///8y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v///3b///8A////AP///2X////0////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L///8B////AP///+v///9V////AP///wD///8A////AP///wH////i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8x////qv///wD///8x////qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4v///wH///8A////AP////////9x////gf////n///8Z////Af///+L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1z////M////9P///9T///9I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///94////3f////f////X////Uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+i////AP///wD///8A////v/////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////1D///9P////8P///wD////w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T////of////////8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6r///8x////AP///6r///8x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8g////Tv///9////8J////WP////////8g////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////IP///07////f////Zv///8z////0////1P///0j///8A////AP///wD///8A////AP///03///8N////DP///33////e////Tv///9////8J////WP////////8g////AP///wD///8A////AP///wD///8A////ef////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////w////7L///8A////AP///7H////F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8P///+y////AP///wD///+x////xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////D////sv///wD///8A////sf///8X///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////w////7L///8A////AP///7H////F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8P///+y////AP///wD///+x////xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////D////sv///wD///8A////sf///8X///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Sv////r///8b////AP///wD///////////////////////////////////8A////AP///x7////3////qv///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////AP///wD///8A////nP///+////8A////AP///wD///8A////AP///wD/////////c////wD///97////3////wj///8A////dP////////8A////AP///wD///8A////AP///wD///8A", + "////8f///5j///8A////AP///wD///8A////AP///wD///+Y////7v///wD///8A////AP///wD///8A////AP////H///+Y////AP///wD///8A////AP///wD///8A////mP///+7///8A////AP///wD///8A////AP///wD////x////mP///wD///8A////AP///wD///8A////AP///5j////u////AP///wD///8A////AP///wD///8A", + "////8f///5j///8A////AP///wD///8A////AP///wD///+Y////7v///wD///8A////AP///wD///8A////AP////H///+Y////AP///wD///8A////AP///wD///8A////mP///+7///8A////AP///wD///8A////AP///wD///9P////TP///wD///8A////AP///0T///9Z////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////7////5f///8A////Ef///+v///93////AP///wD///+Z////7v///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8r/////P///3D////7////Tf///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///+c////9P///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///+b///+n////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///43////s////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+N////7P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jf///+z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///43////s////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+N////7P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jf///+z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv/////////v////Bf///wD///8A////uP///7f///8A////AP///wD///8A", + "////sf///+r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P////v////Bf///wD///8A////uP///7j///8A////AP///wD///8A////AP///wD///8A////AP///wD///+j////7////wX///8A////AP///7j///+4////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////o////+////8F////AP///wD///+4////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P////v////Bf///wD///8A////uP///7j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Xf////3///9+////Pf///4X////+////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+/////AP///wD///8A////pP///8b///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x////2P///wD///8A////AP///9v///+p////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////sf///9j///8A////AP///wD////b////qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H////Y////AP///wD///8A////2////6n///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x////2P///wD///8A////AP///9v///+p////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////sf///9j///8A////AP///wD////b////qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T///8Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x////2P///wD///8V////8f///+X///+s////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///63///+i////n////8P///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////uP///wD///8A////AP///97///+0////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////rf///6L///+f////w////wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+r///+q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///yb////M/////P////////9k////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+1////pf///yP///+q////tv///1P////f////Bv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2v////9////df///9P////X////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////7////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+A////+v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////KP////////89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T///+H////AP///wD///8A////iP///97///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////YP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+4////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD///9e////9f///1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4b////R////C////wD////+////YP///wD///8A////AP///wD///8A////AP///wD///8A", + "////5f///2n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///83///+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////4P///4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Y/////v///98////HP///4D////5////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///+D///+E////AP///wD///8A////l////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S////9////1H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N////7z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////vP///zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+u////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////B////Yf///wD////P////cf///wD///8l/////////xb///8A////NP///+7///8A////AP///wD///8A", + "////AP///wD///8A////Yf////r///8U////FP////r///9j////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8S////T////+////90////AP///wD///8A////AP///wD///8A////AP///wD////F////wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///8D////G////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////wv///8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////OP////X///9S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3L///+V////r////wD///8A////AP///6P///99////c/////////8A////AP///wD///8A////AP////////9u////Gf////P///9V////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD////S////sv///wD///8A////AP///wD///8A////AP///7P////M////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wH////J////zP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9H///+y////AP///wD///8A////AP///wD///8A////s////9f///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///8X////J////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6P////y////TP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+9////rf///wD///8A////AP///6z///++////AP///wD///8A////AP///wD///8A////AP///wD///8k/////////0j///8A////R////9X///8A////2f///zn///8A////S/////////8e////AP///wD///8A////AP///wD///+L////6////97///+N////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////sv///8j///8A////nP///9P///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////G////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9j////8////w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Q////mf///1T///84////Yf////L///+p////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////L///9/////Rv///7X/////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yz////8////1v///2f///9X////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9H/////////77///9H////hf////P/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Kf////n///+9////TP///37////9////Qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wj/////////cP///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev///9f////+////7f///6b///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////+////+W////Qv///3j////y////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////If///+T///+n////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////7P///4j///9C////mf/////////Q////rv///0P///9y////8P///37///8A////AP///wD///8A", + "/////////+3///+W////Qv///3j////y////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///zn////9////uP///1L///+5////+////zD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////ff///wD///8A////AP///6z////g////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////5P///6j///8A////AP///wD///9//////////wD///8A////AP///wD///8A////AP///wD///8A////AP////////++////wf///17///9J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0f///8j///9D////W////2j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////CP////////9w////CP///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv///8L///8A////AP///wD///8A////xv///7D///8A////AP///wD///8A////AP///wD///8A", + "////AP///9n///+Z////AP///wD///8n////8v///+r///8+////AP///wD///+S////2P///wD///8A////AP///w3////c////rv///wD///8A////r////9r///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////7////S////0f/////////Jf///wD///8A////AP///wD///8A////AP///wD///8A", + "////Bf///wj///8I////Cf///8T///+9////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////g////Iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8i////4P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////2////4L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8z////w////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////7P///1T///+S////s////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9r///9/////AP///yv////b////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////N////If///wD///+d////z////zH///8h////Qf///wD///8k////yf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///83///8h////AP///wD/////////Tf///0z////7////Gv///yT////J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bv///wD///8A////AP///4H/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////KP///+j///////////////D///8A////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////IP///wD///+z////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////yD///8A////s////4T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///9p////1v///wD///+z////hP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+y////1v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2H////6////FP///xT////6////Y////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h////+v///xT///8U////+v///2P///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Yf////r///8U////FP////r///9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2H////6////FP///xT////6////Y////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h////+v///xT///8U////+v///2P///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Yf////r///8U////FP////r///9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////U////h////wD///8A/////////3T///8A////AP///wD///8A////AP///wD///+X////9P///xj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////3T///8A////AP///wD///8A////AP///8D////G////AP///wD///8A////AP///wD///8A", + "/////////27///8Z////8////1X///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///9L///+y////AP///wD///8A////AP///wD///8A////s////8z///8A////AP///wD///8A////AP///wD////S////sv///wD///8A////AP///wD///8A////AP///7P////M////AP///wD///8A////AP///wD///8A", + "////0v///7L///8A////AP///wD///8A////AP///wD///+z////zP///wD///8A////AP///wD///8A////AP///9L///+y////AP///wD///8A////AP///wD///8A////s////8z///8A////AP///wD///8A////AP///wD////S////sv///wD///8A////AP///wD///8A////AP///7P////M////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////H///+Y////AP///wD///9l////8////xv///8A////pv///+3///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////sv///8j///8A////nP///9P///8C////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8D////5P///9j///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD////b////mf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////UP///5n///9U////OP///2H////y////qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///1D///+Z////VP///zj///9h////8v///6n///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Q////mf///1T///84////Yf////L///+p////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////UP///5n///9U////OP///2H////y////qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///1D///+Z////VP///zj///9h////8v///6n///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Q////mf///1T///84////Yf////L///+p////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////gf///3v///9G////Pv///7f////o////7v///73///9M////fv////z///8+////AP///wD///8A////AP///97///+w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8p////+f///73///9M////fv////3///9B////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Kf////n///+9////TP///37////9////Qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///yn////5////vf///0z///9+/////f///0H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8p////+f///73///9M////fv////3///9B////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9u////2v////D///+z////yP///6D///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////7f///5b///9C////eP////L///95////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Of////3///+4////Uv///7n////7////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zn////9////uP///1L///+5////+////zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///85/////f///7j///9S////uf////v///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Of////3///+4////Uv///7n////7////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zn////9////uP///1L///+5////+////zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Of////3///+3////RP///7v/////////Of///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////7////S////0f/////////Jf///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////33///8A////AP///wD///+s////4P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////GP////v///9L////R/////////8l////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////v////tv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hf///6P///8A////pf///3v///8A////AP///wD///8A////AP///wD///8A////AP///wD////J////wv///xj/////////FP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////8P///0L///8A////Rf///+////8A////y////2v///8A////AP///wD///8A////AP///wD///8A////AP///wD////Z////o////wD///8J////yP///7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////7P///6L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////o////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wj///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///++////p////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////J////p////wD///8A////AP///6n////B////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5f////d////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8D////v////6v///8B////+P///2D///8A////AP///wD///8A////AP///wD///8A////AP///9L///99////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+W////7v///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///3H////t////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///9////+N////AP///wD///8A////k////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD////1////af///wD///8A////AP///3z////L////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////VP////f///9T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yf////b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////k////5n///8A////Zv///+H///8r////Lf////////8k////AP///13////E////AP///wD///8A////AP///wD///8A////AP///wv////z////a////2v////0////DP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///+J////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////jP////j///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///xT////y////l////wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j////5////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///9Z////9v///zn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////5f///17///8A////AP///wD///9P////0v///2//////////AP///wD///8A////AP///wD/////////ZP///6D////C////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A", + "////pf///+r///8H////AP///wD///8A////AP///wb////q////nf///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////nP////T///8A////AP///wD///8A////AP///wD///8A////AP///wD////w////mf///wD///8A////AP///wD///8A////AP///5n////y////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///+W////9P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////s////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8W/////P///1////8A////AP///wD///9e/////P///xf///8A////AP///wD///8A////AP///wD///8A////Y/////7///8R////AP///w/////8////IP////n///8I////AP///xP/////////Xv///wD///8A", + "////AP///wD///8q////+v///2T///9P////+////yv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////PP////////9F////AP///x/////5////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kf////j///9k////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zf///5f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Rf///7D////g////+P///+L///+b////E////wD///8A////AP///wD///8A////AP///wD///8A////AP////////93////sP////X////Z////Yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ov///8D////w////6////6b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2D////Y////8////6n///90/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82////wf////H////N////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////J////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6b////p////Yv///17////o////pf///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9z////nf////D////V////ff///xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8p////6////5X///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////0r///+l////9P///93///+B////Bf///4r////o////3v///4P///8W////AP///wD///8A////AP////////9I////nf////D////V////ff///xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP///8v////y////yf///0D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////27///8A////AP///wD///+E////+P///wD///8A////AP///wD///8A////AP///wD///8A////AP////n///+E////AP///wD///8A////b/////////8A////AP///wD///8A////AP///wD///8A////AP///wD/////////Nf///3/////t////5////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zL////H////9f///97///99////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9n////////////////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Ff////v///9m////AP///wD///8A////AP///2f////6////Ff///wD///8A////AP///wD///8A////AP///x7/////////Xf///wD///8A////AP///9r////y////Bf///wD///8A////U/////////8d////AP///wD///+j////5v///xP///8A////AP///xP////m////ov///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///94////6P///wT///8D////5f///4f///8A////AP///wD///8A////AP///wD///8A////AP///7z//////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////k/////f///8U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////9////3v///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b///92////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h/////////8////99////Qv///2H///9b////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////av///+b///8E////H/////v///83////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9B////6////8D////9////v////xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////dP///4b///8A////Dv///5n////m////8P///6P///8A////iv///3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///90////hv///wD///8A//////////7////S////dv///wD///+K////cv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///9t/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///6X////////////////////w////AP////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////yD///8A////If///+////8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8g////AP///yH////v////Jv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9z////z////6P///yj///8A////If///+////8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////X/////v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////8////2v///9r////9P///wz///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////C/////P///9r////a/////T///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////z////a////2v////0////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////8////2v///9r////9P///wz///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////C/////P///9r////a/////T///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////z////a////2v////0////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP///+7///8L////AP////////90////AP///wD///8A////AP///wD///8A", + "////yv///7z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////90////AP///wD///8A////AP///xT////y////l////wD///8A////AP///wD///8A////AP////////9k////oP///8L///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///+l////6v///wf///8A////AP///wD///8A////Bv///+r///+d////AP///wD///8A////AP///wD///8A", + "////pf///+r///8H////AP///wD///8A////AP///wb////q////nf///wD///8A////AP///wD///8A////AP///6X////q////B////wD///8A////AP///wD///8G////6v///53///8A////AP///wD///8A////AP///wD///+l////6v///wf///8A////AP///wD///8A////Bv///+r///+d////AP///wD///8A////AP///wD///8A", + "////pf///+r///8H////AP///wD///8A////AP///wb////q////nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////S////sv///wD///8A////Av///8v///+n////AP///93////I////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////PP////////9F////AP///x/////5////X////wD///8A////AP///wD///8A////AP///wD/////////jv///zL///9k////sP////////9w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////M////+T///+t////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0X///+w////4P////j////i////m////xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F////sP///+D////4////4v///5v///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Rf///7D////g////+P///+L///+b////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///0X///+w////4P////j////i////m////xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F////sP///+D////4////4v///5v///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Rf///7D////g////+P///+L///+b////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///2v////E////7P///+r///+7////J////y3///+9////8P///8z///9N////AP///wD///8A////AP///wD////3////hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zb////B////8f///83///9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82////wf////H////N////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv///8H////x////zf///1D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zb////B////8f///83///9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E/////r///9P////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////0j///+d////8P///9X///99////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I////y/////L////J////QP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP///8v////y////yf///0D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0j////L////8v///8n///9A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I////y/////L////J////QP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP///8v////y////yf///0D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I////yv////T////O////yv///1L///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///94////6P///wT///8D////5f///4f///8A////AP///wD///8A////AP///wD///8A////AP////////9u////AP///wD///8A////hP////j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3j////o////BP///wP////l////h////wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9P///8L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1/////J////AP///3////+h////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////8////3b///8A/////////xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////L///9C////AP///0X////u////AP///0f////n////Cv///wD///8A////AP///wD///8A////AP///wD///8A////9f///3////8A////AP///3n////y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9P////L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8z////S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////VP////n///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////f////+X///8G////AP///wj////o////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///57///94////Af////z///9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////B////wD///8A////AP///5z////e////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////CP///wD///8A////AP///wD///+N////7f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////n////cf///+////9g////AP///wD///8A////AP///wD///8A////AP///wD///+/////kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////N/////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////8P///2b///8A////AP///wD///8A////AP///wD///8A////AP///wD////u////iv///wD///8A////AP///4z////t////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////0f///5n///8A////AP///wD////J////if///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S////9////1H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///3v////k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////z////Iv///wH///98////4/////f////M////Hv///wD///+v////j////wD///8A////AP///wD///8A////AP///wD///8A////nf///8H////C////oP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////u////+b///8A////AP///wD///8A////AP///wD///8A////AP///xT////u////sv///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wL///+e////9f///x7///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////4////7v///8O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///4H////r////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////mP////v///8R////AP///wD///8A////CP////L///+M/////////wD///8A////AP///wD///8A", + "/////////4v////8////Mv///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///zP/////////cP///wD///8A////AP///wD///9t/////f///yn///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////A////+T////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////8f///5j///8A////AP///wD///8A////AP///wD///+Y////7v///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////wf///9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5v///6f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////af////z///8T////AP///wD///8A////E/////z///9p////AP///wD///8A////AP///wD///8A", + "////AP///6L////Y////AP///wD///8A////1P///4T////M////AP///wD///8A////2v///5////8A////AP///wD///8A////vv///8j///8B////AP///7f////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8b////A////AP///wD///8A////l////+H///8H////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///97////8P///xr///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N/////////8t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////a/////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////y////kv///wD///8A////lP///+7///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////97////AP///wD///8A////qf///+H///8A////AP///wD///8A////AP///wD///8A////AP///wD////j////q////wD///8A////AP///4D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////4v///2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////3P///43///8A////AP///4j////l////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///xT/////////Xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Xf////////8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2z////b///////////////u////pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////1////h////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Av///9v///+E////AP///wD///+l////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bf////3///+v////Pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz////W////Nv///wD///8A////AP///wD///8A////N////9b///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////DP///9b///82////AP///wD///8A////AP///wD///83////1v///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wj///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD////f////////////////////8P///wD////w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8g////AP///wD///98////u////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////IP///wD///8A////fP///7v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf///4n///+u////AP///wD///98////u////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///53////B////wv///6D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d////wf///8L///+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nf///8H////C////oP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///53////B////wv///6D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d////wf///8L///+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nf///8H////C////oP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wb////l////av///wD/////////dP///wD///8A////AP///wD///8A////AP///+7///+c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wL///+e////9f///x7///8A////AP///wD///8A////AP///wD/////////i/////z///8y////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A", + "////M/////////9w////AP///wD///8A////AP///23////9////Kf///wD///8A////AP///wD///8A////AP///zP/////////cP///wD///8A////AP///wD///9t/////f///yn///8A////AP///wD///8A////AP///wD///8z/////////3D///8A////AP///wD///8A////bf////3///8p////AP///wD///8A////AP///wD///8A", + "////M/////////9w////AP///wD///8A////AP///23////9////Kf///wD///8A////AP///wD///8A////AP///zP/////////cP///wD///8A////AP///wD///9t/////f///yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////pf///+r///8H////AP///wD///83/////f///1P/////////m////wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8b////A////AP///wD///8A////l////+H///8H////AP///wD///8A////AP///wD///8A", + "////////////////////6////8f///9g////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8U////0////6f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////2v///7P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6f///+A////Cf///5/////O////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////3P///43///8A////AP///4j////l////A////wD///8A////AP///wD///8A////AP///wD/////////e////wD///8A////AP///6n////h////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wH////c////jf///wD///8A////iP///+X///8D////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////n////O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///85////7v///wD///9Z////x////wD///8A////AP///wD///8A////AP///wD///8A////AP///6z////n////cf////////9a////gP///1L///8A////AP///wD///8A////AP///wD///8A////AP///wD///+8////pv///yP///+q////sf///wD///8A////wP///3f///8A////AP///wD///8A////AP///wD///8A", + "////AP///7v////h////Wf///0r////c////uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+c////8////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wH////0////m////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wT////m////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH////w////p////0z///+s////6P///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///83////1v///63////3////YP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uP///9r///9v////RP///3r////7////ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///7f////A////Zv///0L///9y////9v///5n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////QP///+/////z////YP///wD///8A////AP///wD///8A////AP///wD///8A", + "////rP///7////9M////TP///0z///9M////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+U/////P///5P///9K////R////w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///9M////TP///0z///9M////TP///7r////V////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////nP////L///99////Sf///37////z////mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///2X////6////eP///0j///+m////8f///xj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////VP////f///9T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5j///+G////UP///2b////u////kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///8b///8Z////AP///wD///8A////AP///wD///9V////7f///xX///8A////AP///wD///8A", + "////AP///wD///8A////AP///zv////7////+////z7///8A////AP///wD///8A////AP///wD///8A////AP////////+O////MP///zX///9f////l/////////+Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tf///+7////R////af///z3///9R////kP///3v///8A////AP///wD///8A////AP///wD///8A", + "/////////47///8w////Pf///2T////I////9////2H///8A////AP///wD///8A////AP///wD///8A////AP////////+O////MP///zD///8w////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////jv///zD///8w////MP///zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zr////e////4f///3X///9J////OP///1z///+f////Vv///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP////////9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////p////9v///8U////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////9z///+8////AP///wD///8A////AP///wD///+n////2f////////8A////AP///wD///8A////AP/////////2////n////wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A////jP////7///+V////Tf///0r///+R/////f///33///8A////AP///wD///8A////AP///wD///8A", + "/////////47///8y////ZP///7D/////////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///9L///+y////AP///wD///8A////AP///wD///8A////s////8z///8A////AP///wD///8A////AP///wD/////////jv///zH///9F////m/////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///4r////6////hf///0H///9R////kv///1n///8A////AP///wD///8A////AP///wD///8A////AP///zD///8w////Sv////////90////MP///zD///8Y////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7/////B////AP///wD///8A////AP///wD////C////v////wD///8A////AP///wD///8A////AP///wD////h////oP///wD///8A////AP///5v////f////lf///wD///8A////AP///6H////f////AP///wD///8A////Wf////3///8z////AP///wD///8m////+f///1n///8A////AP///wD///8A////AP///wD///8A", + "////AP///1H/////////Pf///wD///8A////AP///xz////4////cf///wD///8A////AP///wD///8A////AP///zD///8w////MP///zD///8w////NP///+T///+x////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6H////D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////t////dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6f///43///8A////AP///4z////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX////b////Wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////r////wD///8A////AP///9v///+1////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uP///97///8A////AP///wD///+6/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///4r///9o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Q/////////8s////AP///wD///8o/////////0v///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////zv///8v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf///+v///9Y////SP///4b///87////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L////9////Hv///wD///8A////L/////////87////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///+b///+B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////LP///9v///9v////Fv///wD///8W////cP///9v///8s////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8s////2////2////8W////AP///xb///9w////2////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////+P////////////////////D///8A////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////qf///2z////4////IP///wD///8A////B////9r///9W////AP///wD///8A////AP///wD///8A////AP///6n///9s////+P///yD///8A////AP///wf////a////Vv///wD///8A////AP///wD///8A////AP///wD///9L////Mv///wP///9V////7P///wD///8A////B////9r///9W////AP///wD///8A////AP///wD///8A", + "////AP///wD////K////z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///87////+/////v///8+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////O/////v////7////Pv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///zv////7////+////z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///87////+/////v///8+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////O/////v////7////Pv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///zv////7////+////z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////d////9r///8w/////////47///8w////MP///zD///8w////AP///wD////s////nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////47///8w////MP///zD///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+O////MP///zD///8w////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////jv///zD///8w////MP///zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////47///8w////MP///zD///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8o/////////1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP////////9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yj/////////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8o/////////1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////47///8w////Pf///2T////I////9////2H///8A////AP///wD///8A////AP///wD///8A", + "//////////b///+f////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD///+M/////v///5X///9N////Sv///5H////9////ff///wD///8A////AP///wD///8A////AP///wD///8A////jP////7///+V////Tf///0r///+R/////f///33///8A////AP///wD///8A////AP///wD///8A", + "////AP///4z////+////lf///03///9K////kf////3///99////AP///wD///8A////AP///wD///8A////AP///wD///+M/////v///5X///9N////Sv///5H////9////ff///wD///8A////AP///wD///8A////AP///wD///8A////jP////7///+V////Tf///0r///+R/////f///33///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zP/////////cP///wD///8A////AP///5/////z////+////yb///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1H/////////Pf///wD///8A////AP///xz////4////cf///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////m////hP///wD///8A////AP///33////w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////YP///9b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b///9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8v///9h////AP///2P////J////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///+X///8F////A////5n////k////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///1L///8A////VP///8f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1n////c////2v///1P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6r////s////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9g////1v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////1v///2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////L////Yf///wD///9j////yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///1L///8A////VP///8f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2D////W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b///9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////L////Yf///wD///9j////yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////yv///1L///8A////VP///8f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///84////vv///+f////z////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5f///wX///8D////mf///+T///8z////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////YP///9b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b///9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////y////2H///8A////Y////8n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///+X///8F////A////5n////k////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////Uv///wD///9U////x////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP///9b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W////YP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8v///9h////AP///2P////J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////Uv///wD///9U////x////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Q/////////8s////AP///wD///8o/////////0v///8A////AP///wD///8A////AP///wD///8A", + "/////////6////8A////AP///wD////b////tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9D/////////yz///8A////AP///yj/////////S////wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////+////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E/////////8V////M////+3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M////iP///9v/////////8f///8r///9j////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////KP///8j////z////wP///x////8A////AP///zv////t////D////wD///8A////AP///wD///8A////AP///wD///8c////rP///+z////w////sf///x3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Wf////////8t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8t/////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf///+D///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////PP///8D////v////u////y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wf///+I/////P///2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf///+O////3v////f////Z////df///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8q////n////+T////4////2v///4b///8K////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///96/////////2D///8A////AP///wD///8A////AP///wD///8A////AP///5n//////////////////////////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///2L////I////8f////L///8e////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wf///+E////3f////f////d////hf///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////av///9X////x////vf///yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9n////xP////D////k////kf///wv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wT///+F////5////3P///9A////HP///0H///+Y////7v///03///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2P///9v///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////9////6v///8r///9x////A////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8b////l////8j////z////7P///8v///92////AP///wD///8A////AP///wD///8A////AP////////////////////j////S////ov///yX///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///3n///+3////4P////j////l////vv///17///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "////Zv////z//////////////5f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wj////H////x////wn///8A////AP///wD///8A////AP///wD///8A", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////bP///wD///8A////AP///wD///8A////Uv//////////////AP///wD///8A////AP///wD/////////8////xn///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9V////s////+X////n////sv///03///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+v////H////Yv///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///+l////6v///wf///8A////AP///wD///8A////Bv///+r///+d////AP///wD///8A////AP///wD///8A", + "////////////////////7P///8r///9k////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////eP///9b////2////6f///8b///9d////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////gP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////P///3L///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP///xf////9////c////wD///8A////AP///wD///8A////c/////3///8X////AP///wD///8A////AP///wD///8g/////////2j///8A////AP///wD///9h/////////1////8A////AP///wD///9o/////////x////8A", + "////Df///+X///+Y////AP///wD///8A////AP///4j////l////Df///wD///8A////AP///wD///8A////AP///wP////X////uf///wD///8A////AP///wD///8A////kf///+z///8O////AP///wD///8A////AP///wD//////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP////3////Wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vf///87///87////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///53////g////Pf///zv////f////uf///xH///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////3v///2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////+z///97////Rv///7X/////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0f/////////vv///0f///+F////7v////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6j////M////AP///wD///8A////AP///8j///+t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8v////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///xb///+l////6////+/////F////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////G////tP///wD///8A////AP///wD///+3////vv///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////O////xP///0z///8/////b////1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8V////iP///9j////g////2P///4j///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xX///+I////2P///+D////Y////iP///xX///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///9s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///+z////////////////////w////AP////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP///+h/////////yD///8A////AP///wD///9F////5P///w3///8A////AP///wD///8A////AP///wD///8T////of////////8g////AP///wD///8A////Rf///+T///8N////AP///wD///8A////AP///wD///8A", + "////eP///93////3////1////1L///8A////AP///wD///9F////5P///w3///8A////AP///wD///8A////AP///wD///8A////x////8z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j////b////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////Y////2////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2P///9v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j////b////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////Y////2////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9a//////////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w/////y/////////////////////////////////////////wD///8A", + "////xf///8H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m/////P//////////////l////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Zv////z//////////////5f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2b////8//////////////+X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m/////P//////////////l////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////////////////j////S////ov///yX///8A////AP///wD///8A////AP///wD///8A////AP/////////z////Gf///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///1X///+z////5f///+f///+y////Tf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9V////s////+X////n////sv///03///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///7P////l////5////7L///9N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1X///+z////5f///+f///+y////Tf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9V////s////+X////n////sv///03///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP////7///+V////TP///0H///+Z/////////7H///8A////AP///wD///8A////AP///wD///8A", + "/////P///3L///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP////z///9y////AP///wD///8A////AP///3T/////////AP///wD///8A////AP///wD///8A////AP///wD////8////cv///wD///8A////AP///wD///90/////////wD///8A////AP///wD///8A////AP///wD///8A", + "/////P///3L///8A////AP///wD///8A////dP////////8A////AP///wD///8A////AP///wD///8A////AP///wP////X////uf///wD///8A////AP///wD///8A////kf///+z///8O////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////mv////D///9g////Nv///1f////k////tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf////j///9W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W////+P///y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8n////8f///3D////x////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5////cf///6n///+q////dP///7P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8n///9R////AP///1T////T////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////h////EP///xX////e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8s/////P///9b///9n////V////2X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8x////+P///1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b////4////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////J/////H///9w////8f///yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8n///9R////AP///1T////T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zH////4////Vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W////+P///y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////J/////H///9w////8f///yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8n///9R////AP///1T////T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2/////4////7v///2v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7n///9x////qf///6r///90////s////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf////j///9W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W////+P///y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yf////x////cP////H///8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5////cf///6n///+q////dP///7P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yf///1H///8A////VP///9P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf////j///9W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Vv////j///8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8n////8f///3D////x////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yf///1H///8A////VP///9P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6j////M////AP///wD///8A////AP///8j///+t////AP///wD///8A////AP///wD///8A////AP/////////u////e////0b///+1/////////0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qP///8z///8A////AP///wD///8A////yP///63///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////q////rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf///+j///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z3///+Y////zP////P////P////mv///xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////M/////////9w////AP///wD///8A////AP///23////9////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///y/////M////9////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////mv///+f////////////////////9////Gf///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9M////qf////P////Z////Yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP///9j////z////pf///0n/////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT////5////bP///wD///8A////AP///wD///9o////+v///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////5////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cv////j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I////67////r////9P///9L///9w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////bP////////8A////AP///wD///8A////AP///wD///8A////AP///wD////N////////////////////8P///wD////w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f///xD///8V////3v///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4z////4////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9V////s////+X////w////xP///5P////1////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr///+O////4f////j////k////m////xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8/////e////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Av///97////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4H/////////gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N////+X///+X////A////wb////j////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f///xX///8X////4P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zr////A////8P///+v///+m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////z////97///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////3v///8z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+B/////////4H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////P////3v///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Av///97////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B/////////4H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+p////Pv///yv///+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///83////5f///5f///8D////Bv///+P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8/////e////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Av///97////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf////////+B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N////+X///+X////A////wb////j////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8/////e////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////e////zP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4H/////////gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT////5////bP///wD///8A////AP///wD///9o////+v///xX///8A////AP///wD///8A////AP///wD/////////dv///6n////z////2f///2L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////FP////n///9s////AP///wD///8A////AP///2j////6////Ff///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////dv////////83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Nf////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+M/////v///5X///9N////Sv///5H////9////ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////hf///yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yz///+F/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////w////8z///8/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////P////83///+/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////bv////////////////////T///9A////9P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP///9b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W////YP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///8v///9h////AP///2P////J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+X///8F////A////5n////k////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///1L///8A////VP///8f///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///+H///8V////F////+D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////7v///7L///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9g////1v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1v///2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////y////2H///8A////Y////8n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8r///9S////AP///1T////H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP///9b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b///9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////y////2H///8A////Y////8n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r///9S////AP///1T////H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////l////Bf///wP///+Z////5P///zP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9g////1v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1v///2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////y////2H///8A////Y////8n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5f///wX///8D////mf///+T///8z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////Uv///wD///9U////x////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9g////1v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////1v///2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////y////2H///8A////Y////8n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r///9S////AP///1T////H////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////W////YP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1j////b////1////1H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wP////F////v////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7z////G////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1X///+z////5f///+f///+y////Tf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wX////b////Wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH///+x////7////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+////+w////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///+L////5v////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf////j///9W////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Vv////j///8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8n////8f///3D////x////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5////cf///6n///+q////dP///7P///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///8n///9R////AP///1T////T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y////2////9f///9R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///03////u////0f///2n///89////Uf///5D///97////AP///wD///8A////AP///wD///8A////AP///wD///8x////+P///1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b////4////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yf////x////cP////H///8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////J////Uf///wD///9U////0////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf////j///9W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9W////+P///y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yf////x////cP////H///8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////J////Uf///wD///9U////0////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uf///3H///+p////qv///3T///+z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x////+P///1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///1b////4////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yf////x////cP////H///8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n///9x////qf///6r///90////s////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////yf///1H///8A////VP///9P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8x////+P///1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b////4////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yf////x////cP////H///8k////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////J////Uf///wD///9U////0////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vv////j///8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////W////YP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////Uv///wD///9U////x////wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////3v///2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///8/////e////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////e////zP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4H/////////gf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////N////+X///+X////A////wb////j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////5f////I////8////+z////L////dv///wD///8A////AP///wD///8A////AP///wD///8A////z////97///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8C////3v///8z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf////////+B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8/////e////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///97////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf////////+B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zf////l////l////wP///8G////4////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////z////97///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////3v///8z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf////////+B////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///83////5f///5f///8D////Bv///+P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////z////97///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////3v///8z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////gf////////+B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////e////zP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vv////j///8u////AP///wD///8A////AP///wD///8A////AP///wD/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////yf///1H///8A////VP///9P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////e////zP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wA=" +}; + +// Texture image block count +const size_t CAF_FIXED_ATLAS_FONT_12_PT_TEXTURE_IMAGE_BLOCK_COUNT = 1451; + +// Fixed Atlas Font: Droid Sans Regular (24pt) +// Exported by FreeType Font Extractor 1.0.0 +// Copyright (c) 2011 Ceetron AS +// -------------------------------------------------------------------------------- + +// Font name +const char CAF_FIXED_ATLAS_FONT_24_PT_NAME[] = "Droid Sans Regular (24pt)"; + +// Number of glyphs +const size_t CAF_FIXED_ATLAS_FONT_24_PT_NUM_GLYPHS = 256; + +// Horizontal bearings X +const short CAF_FIXED_ATLAS_FONT_24_PT_HORIZONTAL_BEARINGS_X[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, -1, 2, 2, 2, 1, 0, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 1, + 2, -1, 3, 2, 3, 3, 3, 2, 3, 1, -3, 3, 3, 3, 3, 2, 3, 2, 3, 1, 0, 3, -1, -1, -1, -1, 2, 3, -1, 1, 1, 0, + 6, 2, 3, 2, 2, 2, 0, 1, 3, 2, -1, 3, 3, 3, 3, 2, 3, 2, 3, 1, 1, 3, -1, -1, 1, -1, 1, 1, 8, 0, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 3, 1, 1, 0, 8, 1, 5, 2, 1, 1, 2, 1, 2, 0, 2, 1, 1, 1, 6, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, + -1, -1, -1, -1, -1, -1, -1, 2, 3, 3, 3, 3, 1, 1, 1, 1, 1, 3, 2, 2, 2, 2, 2, 1, 2, 3, 3, 3, 3, -1, 3, 3, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 3, 0, 0, 2, 3, 2, 2, 2, 2, 2, 1, 2, 3, 3, 3, 3, -1, 3, -1 +}; + +// Horizontal bearings Y +const short CAF_FIXED_ATLAS_FONT_24_PT_HORIZONTAL_BEARINGS_Y[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 23, 23, 23, 25, 23, 23, 23, 23, 23, 24, 19, 4, 10, 4, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 17, 17, 19, 16, 19, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, -3, + 24, 17, 24, 17, 24, 17, 24, 17, 24, 24, 24, 24, 24, 17, 17, 17, 17, 17, 17, 17, 21, 17, 17, 17, 17, 17, 17, 23, 24, 23, 14, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 17, 23, 23, 18, 23, 24, 24, 23, 23, 23, 15, 12, 10, 23, 27, 23, 19, 23, 23, 24, 17, 24, 13, 0, 23, 23, 15, 23, 23, 23, 17, + 30, 30, 30, 30, 28, 28, 23, 23, 30, 30, 30, 28, 30, 30, 30, 28, 23, 30, 30, 30, 30, 30, 28, 20, 24, 30, 30, 30, 28, 30, 23, 24, + 24, 24, 24, 24, 23, 26, 17, 17, 24, 24, 24, 23, 24, 24, 24, 23, 24, 24, 24, 24, 24, 24, 23, 18, 18, 24, 24, 24, 23, 24, 24, 23 +}; + +// Horizontal advances +const cvf::uint CAF_FIXED_ATLAS_FONT_24_PT_HORIZONTAL_ADVANCES[] = +{ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 8, 9, 13, 21, 18, 26, 22, 7, 10, 10, 18, 18, 8, 10, 9, 12, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 9, 9, 18, 18, 18, 14, + 28, 19, 20, 19, 22, 17, 16, 22, 22, 11, 9, 19, 16, 28, 23, 24, 18, 24, 19, 17, 17, 22, 18, 28, 18, 17, 17, 10, 12, 10, 17, 13, + 18, 17, 19, 15, 19, 17, 11, 17, 19, 8, 8, 16, 8, 29, 19, 18, 19, 19, 13, 14, 11, 19, 15, 24, 16, 16, 14, 11, 18, 11, 18, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 8, 9, 18, 18, 18, 18, 18, 16, 18, 27, 11, 16, 18, 10, 27, 16, 14, 18, 11, 11, 18, 19, 21, 9, 7, 11, 11, 16, 24, 24, 24, 14, + 19, 19, 19, 19, 19, 19, 27, 19, 17, 17, 17, 17, 11, 11, 11, 11, 22, 23, 24, 24, 24, 24, 24, 18, 24, 22, 22, 22, 22, 17, 18, 19, + 17, 17, 17, 17, 17, 17, 27, 15, 17, 17, 17, 17, 8, 8, 8, 8, 18, 19, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 16, 19, 16 +}; + +// Character widths +const cvf::uint CAF_FIXED_ATLAS_FONT_24_PT_CHARACTER_WIDTHS[] = +{ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 8, 4, 10, 19, 14, 22, 19, 4, 8, 7, 15, 16, 5, 8, 4, 13, 14, 9, 14, 15, 17, 14, 15, 15, 14, 14, 4, 5, 14, 14, 14, 12, + 24, 21, 15, 16, 17, 12, 12, 18, 16, 9, 9, 17, 13, 22, 17, 20, 13, 20, 16, 14, 16, 16, 20, 30, 20, 19, 13, 6, 13, 6, 15, 13, + 6, 12, 14, 12, 14, 13, 11, 16, 13, 5, 8, 14, 3, 23, 13, 14, 14, 14, 9, 11, 9, 13, 17, 26, 14, 18, 12, 10, 3, 10, 14, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 8, 4, 12, 16, 16, 17, 3, 13, 9, 23, 8, 14, 14, 8, 23, 16, 10, 16, 10, 9, 6, 13, 16, 4, 6, 7, 9, 13, 22, 23, 23, 12, + 21, 21, 21, 21, 21, 21, 26, 16, 12, 12, 12, 12, 9, 9, 10, 9, 19, 17, 20, 20, 20, 20, 20, 15, 20, 16, 16, 16, 16, 19, 13, 14, + 12, 12, 12, 12, 12, 12, 23, 12, 13, 13, 13, 13, 6, 6, 10, 9, 14, 13, 14, 14, 14, 14, 14, 16, 14, 13, 13, 13, 13, 18, 14, 18 +}; + +// Character heights +const cvf::uint CAF_FIXED_ATLAS_FONT_24_PT_CHARACTER_HEIGHTS[] = +{ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 8, 23, 8, 23, 26, 23, 23, 8, 28, 28, 14, 16, 8, 3, 4, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 17, 21, 16, 9, 16, 23, + 26, 23, 23, 23, 23, 23, 23, 23, 23, 23, 29, 23, 23, 23, 23, 23, 23, 29, 23, 23, 23, 23, 23, 23, 23, 23, 23, 28, 23, 28, 14, 3, + 5, 17, 24, 17, 24, 17, 24, 25, 24, 24, 32, 24, 24, 17, 17, 17, 25, 25, 17, 17, 21, 17, 17, 17, 17, 25, 17, 28, 32, 28, 6, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 8, 23, 23, 23, 15, 23, 32, 24, 3, 23, 11, 13, 9, 3, 23, 3, 10, 19, 14, 14, 5, 25, 28, 4, 8, 14, 11, 13, 23, 23, 23, 23, + 30, 30, 30, 30, 28, 28, 23, 31, 30, 30, 30, 28, 30, 30, 30, 28, 23, 30, 30, 30, 30, 30, 28, 15, 25, 30, 30, 30, 28, 30, 23, 24, + 24, 24, 24, 24, 23, 26, 17, 25, 24, 24, 24, 23, 24, 24, 24, 23, 24, 24, 24, 24, 24, 24, 23, 15, 19, 24, 24, 24, 23, 32, 32, 31 +}; + +// Texture image dimensions +const size_t CAF_FIXED_ATLAS_FONT_24_PT_TEXTURE_IMAGE_WIDTH = 8192; +const size_t CAF_FIXED_ATLAS_FONT_24_PT_TEXTURE_IMAGE_HEIGHT = 32; + +// Texture image data +const char* CAF_FIXED_ATLAS_FONT_24_PT_TEXTURE_IMAGE[] = +{ + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////X////+z////q////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m/////////3r///8A////AP///wD///9m/////////3r///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+v/////////Vf///wD///8A////AP///zb//////////////xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A//////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8P////7f////////9f////AP///wD///8A////AP///wD///8A////AP///wD///9p", + "////w/////D////C////bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///3P///+4////3P////j////o////yf///4L///8j////AP///wD///8A////Gf///9///////////////4////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Zv////////96////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////1f////////+4////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H/////////1////wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Nv///7f///9H////AP///wD///8A////LP///8X///9B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////XP///1z///8f////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+H/////////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////oP///6D///+g////oP///6D///+g////oP///6D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9f////7P///+v///9e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP////4/////////8D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////DP///2D///+h////4f///+D///+i////ZP///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////8D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////////////////////////////////////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////A////0P///+X////yP///9z////w////9////9n///+5////mf///1b///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////wP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w////9n////rf///9j////x////+////+L///++////mv///1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///zz///+P////wf////D////h////tv///4j///8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xH////z//////////L///8O////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L///+p////zP///+/////u////yf///6P///89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zP////g////+P////f////T////rP///4T///8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9f////7P///+v///9e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+H/////////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////TP///8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y////WP///1j///9Y////WP///1j///9Y////WP///1j///9Y////WP///1j///9Y////WP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8T///9M////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////X////+z////q////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////Wf///4T///+u////2P////j////n////zv///7b///+E", + "////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xb////7/////////9r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f/////////7////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////z////f////u////5H///8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7///9n////mP///8n////2////+v///+r////I////kf///0H///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////+T///+8////lP///23///82////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Dv///1H///+A////rv///93////8////9f///+n////P////rv///4D///9I////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w/////////////////////////////////////////5j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8b////v////+f///9v///+2////Y////wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////Zf//////////////2////wv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////9A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///4z//////////////zH///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///9H///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x3///9Z////if///7j////o////6P///7f///+G////Vf///xb///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Q////7f///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///27//////////////+r///8O", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8v////g////8H////Y////7f////f////a////uP///4v///8d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///5X////B////7f///+b///+5////jP///03///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////n///////////////o////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Ov//////////////9P///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d//////////////+Y////AP///wD///8A////AP///wD///8A////AP///wD///8M////4f/////////s////FP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y", + "///////////////j////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xH////2/////////7////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C/////////5////8A////AP///wD///8A////AP///wD///8A////AP///wD///+e/////////8P///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zD///8w////MP///zD///8w////MP///zD///8w////MP///zD///8w////MP///zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Zv////z////h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///5T////Z////+P///+f///+s////M////wD///8s//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////Mf///wD///8n////mf///9z////2////0v///5z///89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Bv///3H///+u////1v////f////o////zf///4n///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9B////n////9P////2////3P///5b///8i////AP///2H//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn///91////rP///9v////7////8P///83///+O////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yz///+W////xv///+L////5////6f///8////+2////if///yP///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////E////8v////D////F////cf///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///1z//////////////9r///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A", + "////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////EP///37///+1////6P///+X///+0////gf///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pf///6f////T////7f////b////Y////sf///0T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD///+p////4/////v////o////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9J////t////93////4////4f///5v///8l////AP///2H//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+I////////////////////bf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zv//////////////yf///wD///8A////AP///wD///8A////AP///wD///8A////3v//////////////xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////sf//////////////g////wD///8A////AP///wD///8A////AP///4P//////////////7D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////z/////H////5////1f///6X///8q////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////RP///6v////W////8v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////L////W////qv///0P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////n//////////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A//////////////+w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8u////jf///8f////d////8/////X////b////wP///3v///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////fv///+r///9+////AP///wD///8A////gf///+r///97////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////M////5P///+9////3/////j////f////vf///5P///8y", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn///+U////6f////X///+3////Jf///57/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///1D///+9////Jv///wD///8A////AP///wD///9N////vv///yf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x////9c////XP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6D///+g////oP///6D///+g////oP///6D///+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///zP///+T////vf///9/////4////3////73///+T////Mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////MP///zD///8w////MP///zD///8w////MP///zD///8w////MP///zD///8w////MP///zD///8w", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////P////7P////n////5v///7H///87////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////DP//////////////////////////////////////////////////////////////////////////////ZP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////+M////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1H///+w////4f////f////q////yf///4L///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4v////3///9n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////g////AP///wD///8A////4P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////X////+z////r////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////u////+f///+H///+3////S////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wL///93////zP////L////L////ef///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8n////vf///1D///8A////AP///wD///8n////vv///03///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////5P////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///w3////k/////////4L///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////5P////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD//////////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////D////4X////A////5P////T////Q////qf///3D///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Fv////v/////////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////h//////////v///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8W////+//////////a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///+H/////////+////xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xb////7/////////9r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f/////////7////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Fv////v/////////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////h//////////v///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8W////+//////////a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///+H/////////+////xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xb////7/////////9r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f/////////7////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Ef////P/////////3v///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////u////+f///+H///+3////S////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////sP////////////////////////////////////////+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w/////////////////////////////////////////5j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7D/////////////////////////////////////////mP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////sP////////////////////////////////////////+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////+T///+8////lP///23///82////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////R////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8d////Wf///4n///+4////6P///+j///+3////hv///1X///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x3///9Z////if///7j////o////6P///7f///+G////Vf///xb///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf///1n///+J////uP///+j////o////t////4b///9V////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8d////Wf///4n///+4////6P///+j///+3////hv///1X///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x3///9Z////if///7j////o////6P///7f///+G////Vf///xb///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///80////qv///w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///5X////B////7f///+b///+5////jP///03///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y////lf///8H////t////5v///7n///+M////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///1j///+V////wf///+3////m////uf///4z///9N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///5X////B////7f///+b///+5////jP///03///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////J////5b////P////6v////b////Z////sP///0H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////lP///9n////4////5////6z///8z////AP///yz//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///xH///+U////2f////j////n////rP///zP///8A////LP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///5T////Z////+P///+f///+s////M////wD///8s//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////lP///9n////4////5////6z///8z////AP///yz//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///xH///+U////2f////j////n////rP///zP///8A////LP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///5T////Z////+P///+f///+s////M////wD///8s//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////YP///8P////o////9f///9n///+j////Nf///wD///8A////AP///wD///8L////Tv///43////N////+v////D////N////jP///yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///+7////5////4f///7f///9L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////df///6z////b////+/////D////N////jv///zD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn///91////rP///9v////7////8P///83///+O////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Cf///3X///+s////2/////v////w////zf///47///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////df///6z////b////+/////D////N////jv///zD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Hf///43///+9////6v///+X///+x////e////xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD///9+////tf///+j////l////tP///4H///8U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////EP///37///+1////6P///+X///+0////gf///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////fv///7X////o////5f///7T///+B////FP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD///9+////tf///+j////l////tP///4H///8U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////EP///37///+1////6P///+X///+0////gf///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+7////6////yX///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I////xf///w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9J////t////93////4////4f///5v///8l////AP///2H//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0n///+3////3f////j////h////m////yX///8A////Yf//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Sf///7f////d////+P///+H///+b////Jf///wD///9h//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9J////t////93////4////4f///5v///8l////AP///2H//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////z/////H////5////1f///6X///8q////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8/////x////+f///9X///+l////Kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////p///////////////h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3v/////////jv///wD///8A////AP///3v/////////jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////wv////////+A////AP///wD///8A////DP////7/////////P////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////yj///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///91/////////+D///8G////AP///wD///8A////AP///wD///8A////gf//////////////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zX////b//////////////////////////////////////////r///+L////Bv///xD////S//////////////+r////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///97/////////47///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4f//////////P///yv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////J/////v/////////hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3///////////////7j///8A////AP///wD///+n//////////////+L////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////pP/////////N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+n//////////////+n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6P//////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr////C////////////////////////////////////0v///xP///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////wP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////////////////////////////////////////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////q/////////////////////////////////////////////////////////9T///9U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////8f///////////////////////////////////////////////////8f///85////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///+E/////f///////////////////////////////////+7///9g////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5D//////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yf////K//////////////////////////////////////////////+y////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////RP////////////////////////////////////j///+K////D////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+n//////////////+n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////pP/////////N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////XP///9L//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////S////W////wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////p///////////////h////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////eP////f/////////////////////////////////////////////////////////4P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7T//////////////y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zb//////////////7P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////n///+O////B////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///+J/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////////////////////+l////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///zz////g///////////////////////////////////////////////////////////////3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3b////g///////////////////////////////a////ZP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////zP///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///yL////z//////////z///84", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////0D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8B////4v//////////////jP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k////////////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k////9v//////////////////////////////////////////////7f///03///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1/////6", + "/////////67///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8K////5///////////////bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Sf////////////////////////////////////////////////////j///+T////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////7j//////////////////////////////////////////////6v///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wb////v///////////////x////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9/////////////////////QP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Af///+b//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///9L//////////////+i////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP///+T//////////////1D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////cf//////////////Vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0X/////////+v///xz///8A////AP///wD///8A////AP///wD///8A////GP////n/////////Sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2z//////////////0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////g///////////////////////////////4////UP///2P//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9t////T/////X///////////////////////////////z///9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0D////X/////////////////////////////////////////7T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////dv////z///////////////////////////////H///9F////iv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8x////1v//////////////////////////////////////////////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+X/////////////////////////////////////////////////////f///7T///8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8c////8P/////////7////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX////e////////////////////////////////////5P///zz///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z3//////////////////////////////////////////////6P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8S////7f//////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP////////////////////////////////////T///9I////iv//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///+D/////////+//////////H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xX////+///////////////+////HP///wD///8A////AP///wD///8A////AP///yz////////////////////8////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////9P/////////1////G////wD///8A////AP///wD///8c////9v/////////z////Hf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8//////////////////////////f///9h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////v////////////////////////////////////////////////////////9I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///6r/////////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////6n///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+f////Df///wD///8A////AP///wD///8i////gP///8z////2////8f///8L///9w////Af///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////7P//////////////o////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////7D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///xv///+/////JP///wD///8A////AP///wD///8A////AP///wD///8A////K////8j///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Pf////////////////////////////////////////////////////r///9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////n/////////+r///8A////AP///wD////r/////////+3///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP///8j////////////////////m////wP///+f////////////////////H////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////if/////////5////w////+n////p////7P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8q////8v////////+4////AP///wD///8A////KP////H/////////uf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0j////I////////////////////5v///8D////n////////////////", + "////x////0X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///33////+//////////////////////////3///94////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M//////////////////////////////////////////////////////////////////////////////9k", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////j/////////8f///+z////s////7P///+z////s////7P///4H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////+P///////////////////+f///8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I//////////////9q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+D///8A////AP///wD////g/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////p///////////////p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8X////F////7P//////////////Yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf//////////////1P//////////////t////wH///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n/////////8v///yn///8A////AP///7n/////////8f///yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9W//////////j///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b/////////+P///yX///8A////AP///wD///8A////AP///wD///8A////+P/////////x", + "////7P///+z////s////7P///+z////s////gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W//////////j///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0v////r//////////////////////////////////////////j///+Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tP//////////////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Nv//////////////s////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0//////////////8v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82//////////////+z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7T//////////////y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zb//////////////7P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tP//////////////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Nv//////////////s////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0//////////////8v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82//////////////+z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7T//////////////y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zb//////////////7P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jv//////////////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8X////F////7P//////////////Yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92////4P//////////////////////////////2v///2T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3b////g///////////////////////////////a////ZP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////dv///+D//////////////////////////////9r///9k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92////4P//////////////////////////////2v///2T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////////////////////+l////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP////b//////////////////////////////////////////////+3///9N", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k////9v//////////////////////////////////////////////7f///03///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///2T////2///////////////////////////////////////////////t////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP////b//////////////////////////////////////////////+3///9N", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k////9v//////////////////////////////////////////////7f///03///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yL////O////MP///wD///8A////AP///wD///8A////AP///wD///8q////1v///zL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////NP////7/////////kv///x////94////v////9r////z////6P///7f///+G////Vf///xb///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////7j//////////////////////////////////////////////6v///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8b////uP//////////////////////////////////////////////q////xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv///+4//////////////////////////////////////////////+r////E////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////7j//////////////////////////////////////////////6v///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD////+/////////////////////////////////////////5r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Df///+D///////////////////////////////j///9Q////Y///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////4P//////////////////////////////+P///1D///9j//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////g///////////////////////////////4////UP///2P//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Df///+D///////////////////////////////j///9Q////Y///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////4P//////////////////////////////+P///1D///9j//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////g///////////////////////////////4////UP///2P//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Av///7v/////////////////////////////////////////gP///wD///8A////C////8r//////////////////////////////////////////v///zH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf///8X////s//////////////9i////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf///9b//////////////////////////////////////////////zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8x////1v//////////////////////////////////////////////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zH////W//////////////////////////////////////////////82////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf///9b//////////////////////////////////////////////zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2j////y////////////////////////////////////2////yz///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///81////3v///////////////////////////////////+T///88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX////e////////////////////////////////////5P///zz///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nf///97////////////////////////////////////k////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///81////3v///////////////////////////////////+T///88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX////e////////////////////////////////////5P///zz///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+v/////////Qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Dv////D/////////lf///2f///+l////4////+X///+0////gf///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP////////////////////////////////////T///9I////iv//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Q////////////////////////////////////9P///0j///+K//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///5D////////////////////////////////////0////SP///4r//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP////////////////////////////////////T///9I////iv//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8//////////////////////////f///9h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P/////////////////////////3////Yf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+n//////////////+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////j/////////+j////AP///wD///8A////j/////////+j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Z/////////6z///8A////AP///wD///8A////4P////////9p////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wn////l/////////23///8A////AP///wD///8A////AP///yD////+/////////3X///8c////hP//////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////3f//////////////9v///6z///+F////k////8X////+///////////////F////w///////////", + "////xP///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4//////////o////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///80/////P////////+Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lf/////////7////Mf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf///+j//////////v///yn///8A////J/////3/////////7P///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9o//////////////84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////6f//////////////6f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////O///////////////kP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////u///////////////2v///4////+U////4P//////////////zf///w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c///////////////L////mP///5j///+Y////mP///5j///+Y////mP///5j///+Y////if///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////9f///7////+h////g////3T///+O////rP////H///////////////////9b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////8D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+P///+q////gf///3H///+D////o////+n///////////////z///84////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////uv//////////////8f///7X///99////iv///7////////////////////9d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////H/////v/////////4P///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////1f//////////////6v///5z///96////f////6P////0//////////////+5////Af///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8o////b////0n///9O////hf///7/////1///////////////M////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////6f//////////////6f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9o//////////////84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////a////97///////////////////+9////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+9////////////////////3v///2v///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+n//////////////+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////L////83//////////////9f///+f////df///0v///8q////M////0v///92////rf///+7/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vv//////////////hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////iv//////////////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////8P///1z///9c////XP///1z///9r////jf///8n///////////////////+P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8U////vP///////////////////9////+t////ev///2n///+K////r/////H/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///2H///+E////rf///9b////8///////////////u////ZP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////8P///1z///9c////XP///1z///9c////XP///1z///9c////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///+D/////P//////////////+v///9D///+h////cv///1////9q////h////7H////7", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8d///////////////t////F////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+S////a////2H///96////2f//////////////u////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8D////xf//////////////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////w////XP///1z///9c////XP///1z///9c////XP///1z///9c////F////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///zv////////////////////l////Av///wD///8A", + "////AP///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////DP///+f/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8M////pP///////////////////9z///+p////dv///3T///+o////2////////////////////47///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92////////////////////xf///xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///3b//////////////9v///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9M//////////3////H////jf///2z///9j////ff///6f////6//////////////+Y////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD////u///////////////k////nv///3P///9x////of///+T//////////////+b///8c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tf////////////////////////9Q////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8T///////////////////+F////AP///wD///8A////AP///wD///8A////AP///wD///8y/////////////////////////xn///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+o//////////////9E////AP///wD///8A////AP///wD///8A////AP///wD///+K//////////////+w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8X//////////////6L///9c////XP///1z///9c////XP///1z///9c////XP///1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////l////WP///1j///9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////Z/////////+f///8F////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1j///9Y////WP///+X//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8j/////////jv///wD///8A////AP///wD///8A////AP///wD///+E/////////87///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W/////v////////+s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////i///////////////7v///53///9o////i////+v////y////vv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9L////2////+v///6z///95////c////67////+//////////////9n////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8t////+///////////////4f///6n///+F////mv///7r////1////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2v///////////////3///+p////c////3T///+g////+P///+/////Q//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////n//////////////9f///+h////gf///4z///+x////7v////////88////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////cP//////////////0////1n///8o////Ev///x7///8z////ZP///73//////////////8z///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////i////2P///91////5///////////////RP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////Af///7z//////////////3v///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////+f/////////+////rv///3f///91////rP////3//////////P///zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////QP/////////d////kP///2j///9p////kf///+///////////////2n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4v//////////////+////+E////aP///5D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zT////+///////////////v////kP///3X///+n////+f///+7////P//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///86//////////////+Y//////////////8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP/////////y////2P////////9u////AP///wD///8A////AP///wD///8A", + "////ev/////////Z////9P////////9R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92//////////////+g////AP///wD///8A////AP///6H//////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///3b///9h////bP///6H////7//////////n///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+b//////////////9n////DP///wz///8M////DP///wz///8M////DP///wP///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///96///////////////q////if///2L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9i////if///+r//////////////3r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////o////if///17///91////wf////7///////////////////////////////////+9////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////e//////////////+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////tf///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////gf///+v/////////+P///6D///+Y////mP///5j///+Y////mP///5j///+Y////mP///5j///+Y////mP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////v//////////i////Jf///2P////E////7f///+z////B////X////zH////q/////////77///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9A//////////T///+2////hP///2n///9i////eP///6f////3//////////7///9Z////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///33////q////fv///wD///8A////AP///4H////w////kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////A////4b////+/////v///53///9N////Gv///wD///8A////AP///xr///9N////nv/////////+////gv///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////f/////////0z///8A////Cv///7v//////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///9r/////////6f///xn///8A////AP///w/////Z/////////+n///8Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///+G/////v////7///+d////Tf///xr///8A////AP///wD///8a////Tf///57//////////v///4L///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9B/////v////////+2////Qv///zj///+X//////////3///89////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///9Y////WP///1j///9Y////WP///1j///9Y////WP///1j///9Y////WP///1j///9Y////WP///yL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Rv////f////L////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////D////Yf///x3///8B////Gf///1/////r/////////6X///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+s//////////3///9S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////4P///wD///8A////AP///+D/////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+n//////////////+n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////kP/////////W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////88////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1D/////////0v///zf///8A////OP///9T/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Gf///+n/////////2f///w////8A////Gf///+n/////////2P///w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5/////////7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP//////////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n/////////uv///wD///8A////AP///wD///8A////AP///wD///9G////9////8v///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+5/////////7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////7///////////////1f///5f///+I////sP///9z//////////////5b///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W//////////////+F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+K//////////////9V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1b//////////////4X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4r//////////////1X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vv//////////////hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////iv//////////////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W//////////////+F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+K//////////////9V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1b//////////////4X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4r//////////////1X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vv//////////////hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////iv//////////////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////+v/////////J////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////w////XP///1z///9c////XP///1z///9c////XP///1z///9c////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP/////////W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///1z///9c////XP///1z///9c////XP///1z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////8P///1z///9c////XP///1z///9c////XP///1z///9c////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////w////XP///1z///9c////XP///1z///9c////XP///1z///9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///1z///9c////XP///1z///9c////XP///1z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf//////////////7f///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8d///////////////t////F////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x3//////////////+3///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf//////////////7f///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////D///9c////XP///2H///+E////rf///9b////8///////////////u////ZP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wz////n////////////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP///6T////////////////////c////qf///3b///90////qP///9v///////////////////+O////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8M////pP///////////////////9z///+p////dv///3T///+o////2////////////////////47///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz///+k////////////////////3P///6n///92////dP///6j////b////////////////", + "////jv///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP///6T////////////////////c////qf///3b///90////qP///9v///////////////////+O////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8M////pP///////////////////9z///+p////dv///3T///+o////2////////////////////47///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////zv/////////t////Mf///wD///8A////AP///wD///8A////Lf///+r/////////3P///wT///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf/////////+/////v//////////////////////////////////////////////7f///03///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD////u///////////////k////nv///3P///9x////of///+T//////////////+b///8c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP///+7//////////////+T///+e////c////3H///+h////5P//////////////5v///xz///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g////7v//////////////5P///57///9z////cf///6H////k///////////////m////HP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD////u///////////////k////nv///3P///9x////of///+T//////////////+b///8c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP/////////l////lv///2n///9p////mP////j//////////////13///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+L///////////////u////nf///2j///+L////6/////L///++//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4v//////////////+7///+d////aP///4v////r////8v///77//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////i///////////////7v///53///9o////i////+v////y////vv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+L///////////////u////nf///2j///+L////6/////L///++//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4v//////////////+7///+d////aP///4v////r////8v///77//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////i///////////////7v///53///9o////i////+v////y////vv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92///////////////3////s////27///97////tv//////////////ev///wX///+4///////////////j", + "////sP///5H///+c////wf////f/////////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Q/////////9b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///y7////5///////////////X////of///4H///+M////sf///+7/////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////n//////////////9f///+h////gf///4z///+x////7v////////88////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8u////+f//////////////1////6H///+B////jP///7H////u/////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///y7////5///////////////X////of///4H///+M////sf///+7/////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9i///////////////8////qf///3X///91////qf////z/////////9P///yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////MP////n//////////v///67///93////df///6z////9//////////z///88////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////+f/////////+////rv///3f///91////rP////3//////////P///zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zD////5//////////7///+u////d////3X///+s/////f/////////8////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////MP////n//////////v///67///93////df///6z////9//////////z///88////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////+f/////////+////rv///3f///91////rP////3//////////P///zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////J////0P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df//////////////////////////////////////////////5P///zz///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zT////+///////////////v////kP///3X///+n////+f///+7////P//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////NP////7//////////////+////+Q////df///6f////5////7v///8///////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///80/////v//////////////7////5D///91////p/////n////u////z///////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zT////+///////////////v////kP///3X///+n////+f///+7////P//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///3b///9h////bP///6H////7//////////n///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92////Yf///2z///+h////+//////////5////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Yf///+z////p////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+k/////////7f///8A////AP///wD///+k/////////7f///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3D/////////1////wD///8A////AP///wD///+0/////////5P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////HP///3D///+r////1P////D////7///////////////K////hv///z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2f/////////6f///wv///8A////AP///wD///8A////gf/////////F", + "////AP///wD///8A////0v////////+G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4L//////////////9////8l////AP///wD///8A////AP///yX///+2/////////////////////////9j///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////pP////////+3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v//////////f///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b/////f////////+2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Qv////z/////////mP///wD///+h//////////3///9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////9Y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y///////////////5////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h////7P///+v///9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0v/////////v////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///3H//////////////6z///8A////AP///wD///8C////vP//////////////iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////8D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////p//////////b///88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////tv///1v///8L////AP///wD///8A////AP///wD///8A////Dv///37///////////////T///8q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////wP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6n///8z////AP///wD///8A////AP///wD///8A////C////4P//////////////9n///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1f//////////////83///8b////AP///wD///8A////AP///07////1/////////+r///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pv//////////////Vv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4L//////////////7L///8O////AP///wD///8A////AP///xj////G//////////////9q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///xj////W//////////////+j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h////7P///+v///9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y///////////////5////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8Q////e////+n///////////////r///+h////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8v////of////r//////////////+n///96////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Yf///+z////p////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zP////6//////////j///94////A////wD///8A////AP///wD///8A////AP///wD///8A", + "////BP///03///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////7//////////a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////d/////////+////8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///1z////9//////////7///9E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///9D///////////////n///9k////AP///wD///8A////AP///wD///8A////Bv///0r///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///zD////P////////////////////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP///////////////////6z///8O////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////xf//////////////V////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///3n//////////////83///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////k/////////////////////////9C////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///+E//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7r///////////////X///9R////AP///wD///8A////AP///wD///8A////T/////T/////", + "/////////5////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mv////z//////////////5j///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8N////7P//////////////Vf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zv///98////Gv///wD///8A////AP///wD///8A////AP///x7////d//////////////9T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qv//////////////pv///w////8A////AP///wD///8A////D////67//////////////6P///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+k/////////+j////p/////////6b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8N////+//////////i/////////8v///8A////AP///wD///8A////AP///wD///8A////AP///3z/////////7f////T/////////Wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf////u/////////9z///8J////AP///wD///8A////AP///wD///8A////KP////r/////", + "////8////x3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////P///////////////2P///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Q///////////////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////S//////////z////Ev///wD///8A////AP///wD///8A////Cv///+3/////////Vf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Mf////b/////////+v///yP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////N//////////////9f////AP///wD///8A////E////9L///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////T///9H////AP///wD///8A////AP///2H////9/////////9////8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Af///8T//////////////5f///8I////AP///wD///8A////AP///w3///86////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////4//////////5////Uf///wD///8A////AP///wD///83////7f///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+8//////////////95////A////wD///8A////AP///wD///8F////VP///yX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////J/////////+z///8T////AP///wD///8A////AP///wD///8A////AP///3b//////////////4n///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9L//////////////+d////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///9u///////////////D////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A", + "////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7r/////////+////1r///8A////AP///wD///8A////WP////v/////////xP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8o////TP///wH///8A////AP///wD///8A////Lf////7/////////v////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////x///////////////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////pv//////////////p////wr///8A////AP///wD///9B////8v///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5P/////////9v///yH//////////////3z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d/////////8j///+b/////////8H///8A////AP///wD///8A////AP///wD////H/////////6D////O/////////5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wT////T//////////7///8x////AP///wD///8y/////v/////////P////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0L////6/////////8b///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////q/////////+n///8R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///8b//////////////y3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv//////////////xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////vf////////////////////////////////////7////A////df///13///+E////5f////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9H//////////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////MP///4v////Z////////////////////9f///7z///89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP///+T/////////yP///wr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////4v/////////9///////////////////////////////////////////////c////Hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9C////XP///1z///9c////XP//////////////8P///1z///9c////XP///1z///8/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yX///9X////CP///wD///8A////AP///wD///8A////AP///yn////y/////////7z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///+0/////////+H///9E////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Rf///+L/////////sP///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////T/////////G////wD///8A////Ov//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wL///+1//////////3///9D////AP///wD///8C////tP/////////9////Q////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1j//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8D////tP/////////h////RP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0X////i/////////7D///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T/////////yv///wL///8A////AP///wD///+X/////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///1z///9c////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Q/////b////d////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4f/////////4v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yP////6//////////X///8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////g////AP///wD///8A////4P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Yf///+z////r////YP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf///+b//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////tv////////9y////AP///wD///8A////dv////////+5////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////RP////3/////////tf///wL///8A////RP////3/////////s////wH///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT////4/////////1f///8A////AP///wD///8A////7P///+z////s////7P///+z////s///////////////w////7P///yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////JP////j/////////V////wD///8A////AP///wD///8A////AP///wD///9D////9v///93///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT////4/////////1f///8A////AP///wD////s////7P///+z////s", + "////7P///+z///////////////D////s////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5n//////////////4n///8C////AP///wD///8A////AP///zb///+i////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wj////v/////////9r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///93/////////7////wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP///+//////////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3f/////////v////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////7//////////a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////d/////////+////8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wj////v/////////9r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///93/////////7////wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP///+//////////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3f/////////v////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////7//////////a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////d/////////+////8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+g//////////////88////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf///+b//////////D///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///zD////P////////////////", + "////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////hP//////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+6///////////////1////Uf///wD///8A////AP///wD///8A////AP///0/////0//////////////+f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7r///////////////X///9R////AP///wD///8A////AP///wD///8A////T/////T/////", + "/////////5////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uv//////////////9f///1H///8A////AP///wD///8A////AP///wD///9P////9P//////////////n////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+6///////////////1////Uf///wD///8A////AP///wD///8A////AP///0/////0//////////////+f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7r///////////////X///9R////AP///wD///8A////AP///wD///8A////T/////T/////", + "/////////5////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////7f/////////t////Mv///wD///8A////AP///y/////r/////////+7///8y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8v/////////////////////////83///+J////a////3T///+o////2////////////////////47///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qv//////////////pv///w////8A////AP///wD///8A////D////67//////////////6P///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q//////////////+m////D////wD///8A////AP///wD///8P////rv//////////////o////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6r//////////////6b///8P////AP///wD///8A////AP///w////+u//////////////+j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qv//////////////pv///w////8A////AP///wD///8A////D////67//////////////6P///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////Yv///wT///8A////AP///wD///8A////RP//////////////tv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///83//////////////1////8A////AP///wD///8T////0v///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////zf//////////////X////wD///8A////AP///xP////S////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////N//////////////9f////AP///wD///8A////E////9L///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///83//////////////1////8A////AP///wD///8T////0v///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////zf//////////////X////wD///8A////AP///xP////S////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////N//////////////9f////AP///wD///8A////E////9L///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8T//////////////3T///8A////AP///wD///8A////Sv////v////8////vf//////////////hf///wX///8A////AP///wD///8A////DP///2b///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////B////5v/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vP//////////////ef///wP///8A////AP///wD///8A////Bf///1T///8l////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+8//////////////95////A////wD///8A////AP///wD///8F////VP///yX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7z//////////////3n///8D////AP///wD///8A////AP///wX///9U////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vP//////////////ef///wP///8A////AP///wD///8A////Bf///1T///8l////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Ev///+v/////////9v///0j///8A////AP///wD///8A////T/////n/////////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+6//////////v///9a////AP///wD///8A////AP///1j////7/////////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7r/////////+////1r///8A////AP///wD///8A////WP////v/////////xP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uv/////////7////Wv///wD///8A////AP///wD///9Y////+//////////E////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+6//////////v///9a////AP///wD///8A////AP///1j////7/////////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7r/////////+////1r///8A////AP///wD///8A////WP////v/////////xP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///85///////////////+////nv///2j///91////rP////3//////////P///zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////pv//////////////p////wr///8A////AP///wD///9B////8v///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+m//////////////+n////Cv///wD///8A////AP///0H////y////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6b//////////////6f///8K////AP///wD///8A////Qf////L///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////pv//////////////p////wr///8A////AP///wD///9B////8v///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0L////6/////////8b///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9C////+v/////////G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7j/////////zP///wD///8A////AP///7j/////////zP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////R//////////7////B////wD///8A////AP///4n/////////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////9/////////////////////////////////////////////////////////7X///8g////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///9r/////////e////wD///8A////AP///wD////C/////////4T///8A////AP///wD///+L/////////8X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////vf//////////////T////wD///8A////AP///wD///8A////AP///wH////J////////////////////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+4/////////8z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8l/////v////////+8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+7//////////3///8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////e//////////1////NP////v/////////f////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////A/////X/////////9P///wr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9q//////////////9h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zv/////////l////D////wD///8A////AP///wD///8V////6//////////g////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////wP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zT////0/////////+////8t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4///////////////5P///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6f//////////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////2//////////l////DP///wD///8A////AP///wD///8A////AP///3r//////////////4D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x///////////////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////vv/////////4////Ev///wD///8A////AP///wD///8A////AP///x/////9/////////7D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf////W//////////////9O////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////A/////X/////////9P///wr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Z////iv////H//////////////+7///+G////Gv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Gv///4b////u///////////////x////iv///xj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////yP/////////X////K////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+a//////////////8v////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf//////////////mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///5T//////////////53///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9R///////////////s////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wX///+D///////////////p////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yP////6//////////v///9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9B//////////////+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8w////+v/////////3////Kv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wL////n/////////9j////e/////////57///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////Hf////b/////////5////7//////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8////////////////p////M////wD///8A////AP///wD///8A////AP///wD///8A////L////+b//////////f///yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP////M//////////////+P", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///37//////////////8j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0D//////////////6P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zz//////////////9T///8C////AP///wD///8A////AP///wD///8A////A////9r//////////v///zX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////CP////L/////////qf///63/////////8////wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///03//////////////5T//////////f///xL///8A////AP///wD///8A", + "////AP///wD///8A////xv////////+4////1f////////+Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2L//////////////4j///8A////AP///wD///8A////AP///wD///+7//////////////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uf//////////////Y////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+s//////////3///8e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zf////////99////AP///wD///8A////AP///wD///9r/////////9n///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W//////////////+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////L/////////+////wv///8A////AP///wD///8A////Pf///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////if///wD///8A////AP///wD///8A////AP///7T//////////////17///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9V///////////////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2X//////////////6b///8A////AP///wD///8A////AP///wD///+E////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Sv//////////////tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////T/////////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///+P/////////xP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD//////////////77///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////KP////b/////////8f///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F//////////////+r////AP///wD///8A////AP///wD///8A////rP//////////////Sv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4//////////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////o//////////r///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////N//////////////9P////AP///wD///8A////AP///wD///+J////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////6P////////+4////AP///9H/////////1v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///+L/////////m////1///////////f///xf///8A////AP///wD///8A////Fv////3/////////Y////6L/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zv////+/////////77///8A////AP///7///////////f///zf///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5f//////////////zX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///17//////////////5n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9//////////l////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////5v/////////3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////b////8H////x////9f///8v///9+////Iv///wD///8A////AP///wD///8M////n////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////w///////////////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2n////7/////////////////////////////////////////7j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////aP//////////////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8p///////////////8////jP///0H///85////ef////P//////////f///yH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7j//////////////////////////////////////////////////////////////7D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///77/////////7f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hv////////+t////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Dv///7D/////////gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////yv////////+U////Cv///wD///8R//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hf//////////////gf///wD///8A////AP///4T//////////////4H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4b/////////rf///w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///w7///+w/////////4H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////5/////////9v////AP///wD///8A////AP///zj/////////5v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////9Y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qf////X////r////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////aP/////////g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5n//////////////9X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+D///8A////AP///wD////g/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+j////8v//////////////p////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////0D///8A////AP///wD///9C/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gv//////////////hP///wD///8A////gv//////////////g////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///4H/////////5f///w3///8A////AP///wD////9////////////////////////////////////////////////////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf/////////l////Df///wD///8A////AP///wD///8A////AP///wD///9B", + "////9f///+v///81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4H/////////5f///w3///8A////AP////3///////////////////////////////////////////////////8w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////zf/////////m////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r//////////////y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8x", + "//////////////+a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mv//////////////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///zH//////////////5r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+a//////////////8v////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf//////////////mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r//////////////y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8x", + "//////////////+a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mv//////////////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///zH//////////////5r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+a//////////////8v////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf//////////////mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yv////+/////////7D///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+j////8v//////////////p////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wX///+D///////////////p////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///x3////2/////////+f///+///////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////P///////////////6f///zP///8A////AP///wD///8A////AP///wD///8A////AP///y/////m", + "//////////3///8q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8////////////////p////M////wD///8A////AP///wD///8A////AP///wD///8A////L////+b//////////f///yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///z///////////////+n///8z////AP///wD///8A////AP///wD///8A////AP///wD///8v////5v/////////9////Kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////P///////////////6f///zP///8A////AP///wD///8A////AP///wD///8A////AP///y/////m", + "//////////3///8q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8////////////////p////M////wD///8A////AP///wD///8A////AP///wD///8A////L////+b//////////f///yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8w////7f/////////u////Mv///wD///8x////7f/////////u////Mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5n///////////////////+h////AP///wD///8A////AP///wD///8A////T/////T/////", + "/////////5////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zz//////////////9T///8C////AP///wD///8A////AP///wD///8A////A////9r//////////v///zX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////PP//////////////1P///wL///8A////AP///wD///8A////AP///wD///8D////2v/////////+////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///88///////////////U////Av///wD///8A////AP///wD///8A////AP///wP////a//////////7///81", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zz//////////////9T///8C////AP///wD///8A////AP///wD///8A////A////9r//////////v///zX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////6f/////////m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////8v/////////7////C////wD///8A////AP///wD///89////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////y//////////v///8L////AP///wD///8A////AP///z3///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////L/////////+////wv///8A////AP///wD///8A////Pf///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////8v/////////7////C////wD///8A////AP///wD///89////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////y//////////v///8L////AP///wD///8A////AP///z3///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////L/////////+////wv///8A////AP///wD///8A////Pf///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////8P/////////8////Ff///wD///8A////AP///wD///8A////gv///////////////////7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P////y//////////////+n////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0r//////////////7X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Sv//////////////tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9K//////////////+1////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0r//////////////7X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9+//////////////+R////AP///wD///8A////AP///wD///8A////o//////////+////Lf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Rf//////////////q////wD///8A////AP///wD///8A////AP///6z//////////////0r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F//////////////+r////AP///wD///8A////AP///wD///8A////rP//////////////Sv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0X//////////////6v///8A////AP///wD///8A////AP///wD///+s//////////////9K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Rf//////////////q////wD///8A////AP///wD///8A////AP///6z//////////////0r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F//////////////+r////AP///wD///8A////AP///wD///8A////rP//////////////Sv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///73///////////////////9S////AP///wD///8A////WP////v/////////xP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////N//////////////9P////AP///wD///8A////AP///wD///+J////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///83//////////////0////8A////AP///wD///8A////AP///4n///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////zf//////////////T////wD///8A////AP///wD///8A////if///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////N//////////////9P////AP///wD///8A////AP///wD///+J////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5f//////////////zX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+X//////////////81////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////zf/////////g////AP///wD///8A////zf/////////g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e//////////////8u////AP///wD///8A////Xf/////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////7f///7f///+L////df//////////////yv////7//////////////9v///8O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////WP/////////w////Ev///wD///8A////AP///9v/////////Zf///wD///8A////AP///2n/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////7///8M////AP///wD///8A////AP///wD///8A////cv////////////////////////+6", + "////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///83/////////4P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///43//////////////13///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///13//////////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////tf/////////q/////////7b///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////z/////////8n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yr//////////////5n///8A////AP///wD///8A////AP///wD///+i//////////////83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0j////7/////////+b///8h////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP//////////////xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////L///////////////p////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1z//////////////2n///8A////AP///wD///8A////AP///wD///8A////Cv////7/////////r////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+7//////////////85////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////t/////////9H///8A////AP///wD///8A////AP///wD///8A////AP///9n/////////5f///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zf//////////////7j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8k////mv////j//////////////9z///9s////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///9r////2///////////////+P///5n///8j////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2P//////////////zn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zz//////////////4X///8A////AP///wD///8A////AP///wD///8A////AP///wD///+F", + "//////////////89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////Pv//////////////zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///83//////////////3r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD////C//////////////+R", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qv//////////////m////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP//////////////8D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////B////9T//////////////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////Qv//////////////f////4T/////////8f///wj///8A", + "////AP///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///+k//////////////9k////vv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8D//////////////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////a///////////////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////b///////////////0v///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8R////8P//////////////Pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv////r/////////1v///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////kv//////////////Vv///wD///8A////AP///wD///8A////AP///wD///8A////YP//////////////kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9R//////////////9o////b///////////////VP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kf//////////////Pv//////////////Vv///wD///8A////AP///wD///8A////AP///xP////9/////////3z///+w/////////9n///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///77/////////+////y7///8A////AP///wD///8A////VP//////////////zv///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8z/////v/////////h////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv////v/////////sv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9R/////////+v///8K////AP///wD///8A////Av///9z/////////Yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3v//////////////Gv///wD///8A////AP///wD///8E////+f//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8v////AP///wD///8A////AP///wD///8A////Vf//////////////nf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5D//////////////1r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////o///////////////SP///wD///8A////AP///wD///8A////AP///yP///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+T//////////////9E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////1f/////////k////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv/////////y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////1v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wT////K//////////////9c////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L//////////////03///8A////AP///wD///8A////AP///wD///9O//////////////+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///xn////6/////////+L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+3//////////P///w////8A////AP///wD///8A////AP///y3///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///0T//////////////27///8A////h///////////////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8n//////////////9s////If//////////////Z////wD///8A////AP///wD///9i", + "//////////////8f////cv//////////////If///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z//////////////03///9O//////////////+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Kf//////////////n////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///77//////////v///zr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+2//////////////9t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9v////////////////////1////5v///91////if///6n////r////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8l///////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2n//////////////0v///8A////AP///wD///8A////J/////P/////////aP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uP//////////////////////////////////////////////////////////////sP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8k////8P////////+z////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0j////+////4P///w3///8A////AP///wD///8N////hv///77////u////9v///8j///9v////AP///wD///8A////D////+P////+////RP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C/////P/////////2////0P///77//////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1T//////////////73///8C////AP///wD///9U//////////////+9////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I/////v///+D///8N////AP///wD//////////////4D///8A////AP///wD///8O////5P/////////z////H////w/////j/////v///0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////l/////////3L///8A////AP///wD///8A////O//////////j////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////P/////X////y////QP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x7////j/////////5D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////4P///wD///8A////AP///+D/////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///5P/////////8P///5P///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////88////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////f/////////GP///wD///8A////AP///xn/////////9v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8C////vv/////////+////U////wD///8C////vv/////////+////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP///9z/////////j////wD///8A////AP///4//////////hf///wD///8A", + "////AP//////////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////3P////////+P////AP///wD///8A////AP///wD///8A////AP///wD///8/////9f////L///9A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////CP///9z/////////j////wD///8A////j/////////+F////AP///wD///8A//////////////88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////1/////////7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////PP//////////////hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///4X//////////////z3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///88//////////////+F////AP///wD///8A////AP///wD///8A////AP///wD///8A////hf//////////////Pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zz//////////////4X///8A////AP///wD///8A////AP///wD///8A////AP///wD///+F", + "//////////////89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////PP//////////////hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///4X//////////////z3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///88//////////////+F////AP///wD///8A////AP///wD///8A////AP///wD///8A////hf//////////////Pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zz//////////////4X///8A////AP///wD///8A////AP///wD///8A////AP///wD///+F", + "//////////////89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7P//////////f///yb///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///5P/////////8P///5P///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD////C//////////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////pP//////////////ZP///77/////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////A//////////////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2v//////////////67///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8D//////////////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////a///////////////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP//////////////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9r", + "//////////////+u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////A//////////////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2v//////////////67///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8D//////////////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////a///////////////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////7f/////////u////Y////+7/////////7v///zP///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8z/////f////////////////////r///8r////AP///wD///8A////AP///wD///8A////L////+b//////////f///yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////kv//////////////Vv///wD///8A////AP///wD///8A////AP///wD///8A////YP//////////////kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+S//////////////9W////AP///wD///8A////AP///wD///8A////AP///wD///9g//////////////+S", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L//////////////1b///8A////AP///wD///8A////AP///wD///8A////AP///2D//////////////5L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////kv//////////////Vv///wD///8A////AP///wD///8A////AP///wD///8A////YP//////////////kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////7////8f///+f////dP///xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD////s/////////+3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////e//////////////8a////AP///wD///8A////AP///wT////5//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///97//////////////xr///8A////AP///wD///8A////BP////n//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3v//////////////Gv///wD///8A////AP///wD///8E////+f//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////e//////////////8a////AP///wD///8A////AP///wT////5//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///97//////////////xr///8A////AP///wD///8A////BP////n//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3v//////////////Gv///wD///8A////AP///wD///8E////+f//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////b//////////////8R////AP///wD///8A////AP///wD///8z////////////////////Rv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////k//////////w////k////w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////k///////////////RP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+T//////////////9E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5P//////////////0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////k///////////////RP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///63//////////////y3///8A////AP///wD///8A////AP///wD///9D//////////////+K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+S//////////////9N////AP///wD///8A////AP///wD///8A////Tv//////////////lf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L//////////////03///8A////AP///wD///8A////AP///wD///9O//////////////+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////kv//////////////Tf///wD///8A////AP///wD///8A////AP///07//////////////5X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+S//////////////9N////AP///wD///8A////AP///wD///8A////Tv//////////////lf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L//////////////03///8A////AP///wD///8A////AP///wD///9O//////////////+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F///////////////w/////////+D///8J////AP///wD///8A////rP//////////////Sv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+3//////////P///w////8A////AP///wD///8A////AP///y3///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////7f/////////8////D////wD///8A////AP///wD///8A////Lf///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////t//////////z///8P////AP///wD///8A////AP///wD///8t////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+3//////////P///w////8A////AP///wD///8A////AP///y3///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Kf//////////////n////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yn//////////////5////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////h//////////X///8A////AP///wD////h//////////X///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////z/////////1r///8A////AP///wD///8y//////////////8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////l////zv///8C////AP///wD///8A//////////////8o////JP///7D//////////////5H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////z/////////+J////AP///wD///8A////9P////////9X", + "////AP///wD///8A////WP/////////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////D/////////+f///wH///8A////AP///wD///8A////AP///1f////+//////////z///+3//////////////9e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4f/////////1////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////6//////////2////Cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cv////f/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Mf///0r///9c////b////4H///+l////////////////////pf///4H///9v////Xf///0v///80////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////WP///1j///9Y////WP///1j///9Y//////////////+R////WP///1j///9Y////WP///1j///8i", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+V//////////////+p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5n//////////////zL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////gf//////////////W////wD///8A////AP///wD///8A////AP///2H//////////////4r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////8D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1///////////////9v///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v/////////y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////+//////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////i///////////////Gf///wD///8A////AP///wD///8A////AP///wD///8A////4f/////////a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0b//////////////6v///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+P/////////7v///wb///8A////AP///wD///8A////AP///wD///8A////2//////////j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9v//////////v///yL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+V//////////////+p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////qP////z//////////////8P///9R////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y////WP///1j///9Y////WP///1j///9Y////WP///1j///9Y////WP///1j///9Y////WP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////UP///8L///////////////z///+o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////6v////////+q////AP///wD///8A////AP///0H///+v////5v///+z///+7////Rv///wD///8A", + "////MP///7/////y////1v///4f///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///93/////////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///9n/////////3v///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8e///////////////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9H///////////////z////Ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///zb///////////////z///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zL///////////////z///8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///+N//////////////++////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///+Z//////////////8o////Kf//////////////VP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////Nf////7/////////0f///wL////J//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8////////////////y////Dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M", + "////8f//////////////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8d////Wf///4n///+4////6P////v////8//////////////9C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///4b//////////////7H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////+P/////////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+4//////////////8d////AP///wD///8A////AP///wD///8A////AP///wD///8g//////////////+5", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6j//////////////yD///8k//////////////+q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////W/////////+////8B////7v////////+b////AP///wD///8A////AP///wD///8A////W///////////////Pf///4f//////////////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////JP////f/////////yf///wL///8A////AP///wr////i//////////3///81", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+s//////////////9v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9+//////////////9J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////S/////////2z///8A////AP///wD///9R/////////+L///8F////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+s//////////////+w////Dv///wD///8A////AP///wD////a//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////f///wL///8A////AP///wD///8A////AP///wD///8g//////////////+9////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////tv//////////////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C//////////////8b////AP///wD///8A////AP///wD///8A////Av////v//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n//////////////xn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9y//////////////93////AP///wD///8A////AP///wD///8A////AP///x7////v/////////9n///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///xb///8A////f///////////////p////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A", + "////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////t///////////////Hf///wD///8A////AP///wD///8A////AP///x7//////////////7j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////yv//////////////qv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////a////AP///wD///8A////AP///wD///8A////A/////3//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nf//////////////If///wD///85//////////////+L////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2z//////////////zn///8A////2v////////+6////AP///wD///8A////AP///6//////////2f///wD///8+//////////////9m////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////E////+v/////////1////9f/////////5////w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zP/////////1////D////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////J/////n/////////0v///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6j//////////////2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Cf///+r//////////////4v///8E////AP///wD///8A////AP///wT///8t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX//////////////93///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf////////+r////AP///wD///8A////AP///wD///8A////eP/////////F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////ef////L//////////P///07///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP////7///9D////AP///wD///8A////J////9f///////////////////////////////////8A", + "////AP///wD///8A////Rv/////////D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8q////m////8z////u////+///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3v//////////////MP///wD///8A////AP///97//////////////zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y////WP///1j///9Y////WP///1j///9Y////WP///1j///9Y////WP///5H//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8j////+////Q////wD///8A////AP//////////////gP///wD///8A////AP///5f//////////////2v///8A////AP///0b/////////w////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H/////////0P///wT///8A////AP///wD///+d/////////67///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Q/////f////1////N////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tP///7n////n//////////////+o////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////g////AP///wD///8A////4P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////////+h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3/////////88////AP///wD///8A////Pv/////////b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w///////////////e////AP///wD///8w///////////////e////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP/////////8////L////wD///8A////Cv///9z////3////If///wD///8A//////////////88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9I//////////z///8v////AP///wD///8A////AP///wD///8A////AP///wD///9D////9/////X///83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP/////////8////L////wD///8K////3P////f///8h", + "////AP///wD//////////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j/////////yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////3f/////////a////AP///wD///8A////AP///wD///8A////AP///wD///8A////2f/////////e////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////d/////////9r///8A////AP///wD///8A////AP///wD///8A////AP///wD////Z", + "/////////97///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///93/////////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///9n/////////3v///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////3f/////////a////AP///wD///8A////AP///wD///8A////AP///wD///8A////2f/////////e////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////d/////////9r///8A////AP///wD///8A////AP///wD///8A////AP///wD////Z", + "/////////97///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///93/////////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///9n/////////3v///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////PP//////////////l////wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////////+h////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///zb/////", + "//////////z///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///zX////+/////////9H///8C////yf//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////P///////////////8v///w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP////H//////////////zP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8////////////////y////Dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M", + "////8f//////////////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z////////////////L///8O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz////x//////////////8z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////P///////////////8v///w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP////H//////////////zP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8////////////////y////Dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M", + "////8f//////////////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x////7f///////////////////+7///8z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Af///8f//////////////4r////6/////////8T///8B////AP///wD///8A////AP///wD///8A////a///////////////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+4//////////////8d////AP///wD///8A////AP///wD///8A////AP///wD///8g//////////////+5", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7j//////////////x3///8A////AP///wD///8A////AP///wD///8A////AP///yD//////////////7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uP//////////////Hf///wD///8A////AP///wD///8A////AP///wD///8A////IP//////////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+4//////////////8d////AP///wD///8A////AP///wD///8A////AP///wD///8g//////////////+5", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////////////////////5v///03///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////T///////////////wv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6z//////////////7D///8O////AP///wD///8A////AP///9r//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////rP//////////////sP///w7///8A////AP///wD///8A////2v//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+s//////////////+w////Dv///wD///8A////AP///wD////a//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6z//////////////7D///8O////AP///wD///8A////AP///9r//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////rP//////////////sP///w7///8A////AP///wD///8A////2v//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+s//////////////+w////Dv///wD///8A////AP///wD////a//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6T//////////////4v///8A////AP///wD///8A////AP///wn///////////////////8a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8u/////////6H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5//////////////8Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n//////////////xn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uf//////////////Gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5//////////////8Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////1v//////////////Cv///wD///8A////AP///wD///8A////AP///xr//////////////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7f//////////////x3///8A////AP///wD///8A////AP///wD///8e//////////////+4////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////t///////////////Hf///wD///8A////AP///wD///8A////AP///x7//////////////7j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+3//////////////8d////AP///wD///8A////AP///wD///8A////Hv//////////////uP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7f//////////////x3///8A////AP///wD///8A////AP///wD///8e//////////////+4////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////t///////////////Hf///wD///8A////AP///wD///8A////AP///x7//////////////7j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8l////WP///1j///9Y////WP///1j///9Y////WP///1j///9Y////WP///1j///9Y////WP///1j///8B", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L//////////////1f////p/////////4D///8A////AP///wD///9O//////////////+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////a////AP///wD///8A////AP///wD///8A////A/////3//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9r///8A////AP///wD///8A////AP///wD///8D/////f//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2v///wD///8A////AP///wD///8A////AP///wP////9//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////a////AP///wD///8A////AP///wD///8A////A/////3//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zP/////////1////D////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///8z/////////9f///w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8r/////////+r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////b//////////////wn///8A////AP////b//////////////wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////yj///8A////If////3/////////0P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9J//////////b///8a////AP///wD////1/////////1f///8A////AP///wD///9Y//////////P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////z///////////////Iv///wD///8A////AP///wD///8/////+P//////////////Zv///wj////m/////////+H///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////2//////////////8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yv//////////////8X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////xv//////////////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////J/////////////////////////////////////////////////////////////////////////9f///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz//////////////////////////////////////////////////////////////////////////////2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2r//////////////+X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////MP//////////////mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+n//////////////8i////AP///wD///8A////AP///wD///8A////Jv//////////////rf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////wP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///3n//////////////83///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xX//////////////9L///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j/////////9////5j///+Y////mP///5j///+Y////mP///5j///+Y///////////////m////mP///5j///+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////0//////////P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+u//////////L///8A////AP///wD///8A////AP///wD///8A////AP///wD////K//////////P///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D//////////P///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////tP//////////////UP///wD///8A////AP///wD///8A////AP///y3//////////////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf//////////////Zf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2r//////////////+X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////3///9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///17////8//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////v////////+1////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P/////////+v///yH///8A////AP///wD///9j////+///////////////////////////////bf///xn////s/////////////////////////8z///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////gP//////////////cP///1z///9c////XP///1z///9c////XP///1z///9u//////////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///zj//////////////9H///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4X//////////////5f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7L//////////////13///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////cP//////////////qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////QP////7/////////8P///x7///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////BP///+z/////////0f///wD///8A////zv////////+v////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD////D//////////////9D////AP///9X/////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3///////////////5X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+U//////////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP////b//////////////////////////////////////////////+z///9l", + "////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8V////9P/////////8////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zb//////////////87///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9//////////+f///wL///8A////AP///wD///8A////AP///wD///8A////AP///wP////6/////////+D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8K////9P/////////W////AP///wD////X//////////X///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G///////////////vv///wD///+6/////////+D///8A////AP///wD///8A", + "////AP///wD///+l//////////P///8F////WP//////////////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ef//////////////bf///wD///8A////hf//////////////k////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yn////8/////////+n///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////A////+P/////////3v///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1j/////////3////wT///8A////AP///8X/////////b////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7////2///////////////x////q////4v///9x////ZP///+b//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////s////AP///wD///8A////AP///wD///8A////AP///wn//////////////97///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////d//////////////8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L//////////v///wX///8A////AP///wD///8A////AP///wD///8A////4v//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3//////////8////XP///1z///9c////XP///1z///9c////XP///1z///9c////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///+P/////v/////////W////nv///5D///+Q////kP///5z///+1////9P//////////////kP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////6P///3L////7/////////+H///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////b//////////////8H////AP///wD///8A////AP///wD///8A////CP//////////////2////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////1////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////X//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////fv////P///////////////L///8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////6///////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb////v/////////9L///8A////AP///wH////l/////////+P///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////sf/////////6////CP///wD///+J//////////v///8S////AP///wD///8H////9P////////+R////AP///wn////6/////////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yf////////////////////////9Z////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9y//////////////9p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////gv//////////////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////m///////////////Uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s///////////////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////t/////////27///8A////AP///wD///8A////AP///wD///84/////////+3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///83////oP////f//////////////+7///9E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zP/////////nf///wD///8A////AP///wH////R//////////r///98////Ov///yr///9X////o////wD///8A////AP///wD///8A////nv////////8u////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8Y//////////j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9M/////v////////+9////Av///wD///8A////TP////7/////////vf///wL///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8z/////////53///8A////AP///wD///8A//////////////+A////AP///wD///8+/////v/////////D", + "////Af///wD///8A////AP///57/////////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Ov////3/////////vP///0X///87////nP/////////8////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////9Y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP/////////q////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////////////////////2////yL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+D///8A////AP///wD////g/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv////n///8Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+7/////////27///8A////AP///wD///9z/////////7T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////77//////////v///0v///8A////A////77//////////f///0v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////rP/////////G////Af///wD///8A////QP////7///+t////AP///wD//////////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+s/////////8b///8B////AP///wD///8A////AP///wD///8A", + "////AP///wD///9Y/////////+r///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rP/////////G////Af///wD///9A/////v///63///8A////AP//////////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////v//////////5////F////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+A//////////////9w////XP///1z///9c////XP///1z///9c////XP///27/////", + "/////////4L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D//////////////3D///9c////XP///1z///9c////XP///1z///9c////bv//////////////gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////gP//////////////cP///1z///9c////XP///1z///9c////XP///1z///9u//////////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+A//////////////9w////XP///1z///9c////XP///1z///9c////XP///27/////", + "/////////4L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D//////////////3D///9c////XP///1z///9c////XP///1z///9c////bv//////////////gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////gP//////////////cP///1z///9c////XP///1z///9c////XP///1z///9u//////////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf/////////2////X////1z///9c////XP///1z///9c////XP//////////", + "////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv////n///8Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7L//////////////13///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////w///////////////Q////wD////V//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9///////////////+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////lP//////////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3///////////////5X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+U//////////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////f///////////////lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5T//////////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9///////////////+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////lP//////////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3///////////////5X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+U//////////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9g////////////////////Y////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9G///////////////v////Cf///4X//////////////2f///8A////AP///wD///8A////AP///wD///8M", + "////8f//////////////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9//////////+f///wL///8A////AP///wD///8A////AP///wD///8A////AP///wP////6/////////+D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3//////////5////Av///wD///8A////AP///wD///8A////AP///wD///8A////A/////r/////////4P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////f//////////n///8C////AP///wD///8A////AP///wD///8A////AP///wD///8D////+v/////////g", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9//////////+f///wL///8A////AP///wD///8A////AP///wD///8A////AP///wP////6/////////+D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///3H///+N////2f///////////////////2r///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///0T////z//////////////9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Lv////b///////////////H///+r////i////3H///9k////5v//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8u////9v//////////////8f///6v///+L////cf///2T////m//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7////2///////////////x////q////4v///9x////ZP///+b//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Lv////b///////////////H///+r////i////3H///9k////5v//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8u////9v//////////////8f///6v///+L////cf///2T////m//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7////2///////////////x////q////4v///9x////ZP///+b//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////I////+z//////////////8f///9o////QP///yH///8Q////Bf///////////////P///1z///9c////XP///1z///9c////XP///1z///9c////XP///1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////+f///xn///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9///////////P///1z///9c////XP///1z///9c////XP///1z///9c////XP///1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3//////////8////XP///1z///9c////XP///1z///9c////XP///1z///9c////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////f//////////z///9c////XP///1z///9c////XP///1z///9c////XP///1z///9c////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9///////////P///1z///9c////XP///1z///9c////XP///1z///9c////XP///1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////2//////////b///8A////AP///wD///8A////AP///wD///8A////BP////3/////////zv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////2///////////////B////wD///8A////AP///wD///8A////AP///wj//////////////9v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////b//////////////8H////AP///wD///8A////AP///wD///8A////CP//////////////2////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9v//////////////wf///8A////AP///wD///8A////AP///wD///8I///////////////b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////2///////////////B////wD///8A////AP///wD///8A////AP///wj//////////////9v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////b//////////////8H////AP///wD///8A////AP///wD///8A////CP//////////////2////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2z//////////////////////////////////////////////////////////////////////////////wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////t///////////////EP///2P/////////9////yD///8A////AP///x7//////////////7j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////6///////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////r//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///+v//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////6///////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9y//////////////9p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cv//////////////af///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zn/////////+P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////KP///wD///8A////0f/////////y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////C/////////5j///8A////AP///+D/////////Zf///wD///8A////AP///2n/////////2f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+J//////////////+Q////AP///wD///8A////K////+///////////////4X///8A////AP///4H/////", + "/////////0r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////ZP//////////////j////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Q//////////////9h////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6H//////////////+j///+i////W////4H/////////gP///1r///+h////5v//////////////s////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////DP//////////////////////////////////////////////////////////////////////////////ZP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP/////////0////Dv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///73//////////////w7///8A////AP///wD///8A////AP///wD///8R///////////////B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5T//////////////7b///8D////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bf//////////////lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////S///////////////a////wD///8A////AP///wD///8A////AP///wD//////////////8D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////J///////////////xv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9H//////////P///w////8A////AP///wD///8A////AP///wD///8A////AP///+3/////////zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////XP//////////////j////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F//////////////+5////Bf///wD///8A////AP///wD///8e////2f/////////7////Nf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9A//////////////+U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3P////v//////////z///+e////HP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv///+c/////P/////////v////c////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////v/////////9X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////ef/////////T////AP///wD///8A////F/////f/////////y////zX///8U////VP///+7////7////pf////////+4////GP///0T////e/////////5T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8i////////////////////////////////////////////////////////////////", + "/////////yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////hP//////////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////pP//////////////af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv//////////", + "////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+U//////////////9u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///w7////h//////////////9d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///9I//////////////95////AP///wD///90//////////n///8R", + "////AP///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////VP//////////////tP///wD///8A////4P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////n///////////////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2b//////////////5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP///6T////////////////////c////qf///3b///90////qP///9v///////////////////+6////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///47//////////////5n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Y////0///////////////mv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////f/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b//////////////4v///8A////AP///4f//////////////1f///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9f//////////////+F////AP///3///////////////yb///8A////AP///wD///8A////Av///+z/////////sf///wD///8l//////////////+a////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8E////0f/////////y////HP///yX////5/////////+X///8O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av//////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5///////////////3v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9P//////////////94////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Av///9j/////////XP///wD///84/////////+r///8K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///07////i////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9z///8A////AP///wD///8A////AP///wD///8A////AP////b/////////9////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////b/////////9v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////+P/////////1////AP///wD///8A////AP///wD///8A////AP///wD////a//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////2////////////////////////////////////////////////////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8i////1v///////////////////////////////////////////////////9T///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9n///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////f////////////////////9////P////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Z////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9n///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////f/////////9f///wD///8A////AP///wD///8A////AP///wD///8A////9v/////////2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////P////AP///yf///+Z////3P////b////S////nP///z3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9B////n////9P////2////3P///5b///8i////AP///9D//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Z////+j////////////////////Z////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Z//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Tv//////////////f////wD///8A////AP///5H//////////////z////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////x/////////8f///8A////AP///zX//////////////2D///8A////AP///0r/////", + "/////////0P///8A////AP///8f/////////7v///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////zv//////////////x////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///5T//////////////83///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////2//////////1////H////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+N//////////////9F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6v//////////////1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+v/////////cP///wD///8A////AP///wD///8A////AP///zv/////////6f///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qv///1z///9c////XP///1z///////////////D///9c////XP///1z///9c////P////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9G////zf////////////////////j/////////+P///2b///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////k/////////9N////AP///wD///8A////UP//////////////Vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9O/////////47///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////MP///yT///8A////AP///2L/////////2P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9///////////////+B////AP///wD///8A////ff//////////////gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5P/////////Tf///wD///8A////AP///wD//////////////4D///8A////B////9n/////////9v///yX///8A////AP///wD///8A////Tv////////+O////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////dv////3//////////////////////////P///3H///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////qf////////+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////NP///3f////z////9f///0P///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////I////Pf///7z////t////3////63///9U////AP///2T//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////4P///wD///8A////AP///+D/////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////88////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1v/////////zf///zH///8A////Mv///8//////////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+C//////////////9+////AP///wD///+C//////////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////8/////////9k////AP///wD///8A////lv////////9B", + "////AP//////////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz////z/////////2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///+p/////////5X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8c////8/////////9k////AP///wD///+W/////////0H///8A//////////////88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9i//////////////+o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL/////////////////////////////////////////////////////////////////////////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Iv////////////////////////////////////////////////////////////////////////8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8i////////////////////////////////////////////////////////////////", + "/////////yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL/////////////////////////////////////////////////////////////////////////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Iv////////////////////////////////////////////////////////////////////////8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8i////////////////////////////////////////////////////////////////", + "/////////yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9O///////////////////////////////////////////////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8u////Z////5j////J////9v////r////q////yP///5H///9B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv//////////////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///1T//////////////7T///8A////AP///+D/////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5///////////////2X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m//////////////+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////n///////////////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2b//////////////5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+f//////////////9l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Zv//////////////lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5///////////////2X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m//////////////+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////n///////////////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2b//////////////5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf///+7////////////////////v////NP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3H//////////////5X///8A////CP///9z/////////7////xj///8A////AP///wD///8A////AP///wD///+U//////////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////f/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////9/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P/////////9", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////3/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////f/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av//////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8D////cv//////////////7v///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wX///+J/////f//////////////k////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv///+L///////////////////////////////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9O////4v///////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///07////i////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv///+L///////////////////////////////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9O////4v///////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///07////i////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N////83/////////////////////////////////////////////////////////////////////", + "/////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///9x////rv///9b////3////6P///83///+J////Jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9v///////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////2////////////////////////////////////////////////////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////b///////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9v///////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///93//////////////wz///8A////AP///wD///8A////AP///wD///8C////+f/////////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Z////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////3//////////X///8A////AP///wD///8A////AP///wD///8A////AP////b/////////9v///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////f/////////9f///wD///8A////AP///wD///8A////AP///wD///8A////9v/////////2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9//////////1////AP///wD///8A////AP///wD///8A////AP///wD////2//////////b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////3//////////X///8A////AP///wD///8A////AP///wD///8A////AP////b/////////9v///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////f/////////9f///wD///8A////AP///wD///8A////AP///wD///8A////9v/////////2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////bP//////////////////////////////////////////////////////////////////////////////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////b//////////3///8B////Af///8v/////////rf///wD///8A////CP//////////////2////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Z//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9n//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2f//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Z//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///5T//////////////83///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////8////8A////J////5n////c////9v///9L///+c////Pf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+U///////////////N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////R///////////////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT///8k////JP///yT///98/////////+j///8k////JP///yT///8k////s/////////+t////JP///yT///8k////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A//////////////8o////AP///xj////1/////////8r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2v////E////8P///8P///9v////AP///zv/////////+////yT///8A////yv////////+E", + "////AP///wD///8A////i/////////+/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT////x//////////7///9d////AP///xv////i//////////////+k////AP///wD///8A////Lv//////////////nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d//////////////9Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1r//////////////5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Vv///3j///8x////Af///wD///8A////h/////////+G////AP///wD///8A////Lf///3P///9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////9Y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9f//////////////9r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////1P/////////+////Af///wD///8A////AP///wD///8A////AP///wP//////////////9b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////8D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///6///////////////5f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///2z////8/////////97///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mf/////////2////Kf///wD///8A////AP///wD///8A////AP//////////////wP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e//////////////+P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////8v//////////////cv///wD///8A////AP///wD///8A////AP///wD///83//////////////+h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////4f/////////y////Dv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+b///////////////P////K////wD///8C////Xf///+3//////////v///3D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8C////bP///7T////f////9v///9j///+I////Ff///yP//////////////8P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///xP///+R////+v/////////3////iv///xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD///+J////9v/////////6////kf///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///8P//////////////z////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+g/////////7D///8A////AP///wD///+H//////////j///8W////AP///wD///8A////R///////////", + "/////////zP///8A////AP///z3/////////+f///xj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////E///////////////////////////////////////////////////////////////G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///1L////6/////////+z///8d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C//////////////9N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9c//////////////+q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///1z///9c////XP///1z///9c////XP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7j//////////////1D///8A////AP///wD///8A////AP///wD///9c////XP///1z///9c////XP////D//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////6////YP///wD///8A////of//////////////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///6D//////////////yL///8A////AP///xv////9/////////2b///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wb////d//////////v///8o////AP///wD////n//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+///////////////9K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////S///////////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////7////8f///+f////dP///xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+6///////////////1////Uf///wD///8A////AP///wD///8A////AP///0/////0//////////////+Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8a////9//////////0////GP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////ZP///+3///////////////L///8b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf//////////////OP///wD///8A////Nf//////////////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///6P//////////////0f///8A////Pv//////////////bP///wD///8A////AP///wD///86//////////////9o////AP///wD////s/////////9v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///81/////f////////+x////tv//////////////VP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9c///////////////+////Mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////H/////n/////////7////xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7j/////////+f///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Xv/////////S////AP///6v/////////e////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///9g////mP///7z////e////7f////j///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6v///wD///8A////AP///wD///8A////AP///wD///8H///////////////g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////1///////////////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////g//////////////8H////AP///wD///8A////AP///wD///8A////AP///+3//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9r///////////////////////////////////////////////////////////////n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3j////////////////////////////////////9////4P///7v///9u////Bf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6f///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////pv///7v//////////////6P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+n///8A////AP///wD///8A////AP///wD///8A///////////////g////AP///wD///8A", + "////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6f///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3///////////////Bf///wD///8A////AP///wD///8A////AP///wf//////////////9v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////73///9P////9f///////////////////////////////P///3H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////dv////z///////////////////////////////H///9F////v///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///6v////////////////////n////a////wX///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+n//////////////8q////AP///wD///8A////O///////////////mv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////O///////////////if///wD///8A////AP///+D/////////sv///wD///8A////l//////////v////BP///wD///8A////h///////////////N////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yn////4///////////////2////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////8f///////////////////zH///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F//////////////+z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Af//////////////1////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9f//////////////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D//////////////zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////yP//////////////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///86////PP///zz//////////////+r///88////PP///zz///88////PP///zz///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////+w////AP///wD///8A////AP///wD///8A////fP////////+9////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+4//////////////////////////////////////////////////////////////+w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mP///////////////////7////9R////Cv///67//////////f///0H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+9/////////xr///8A////AP///wD///+t/////////97///8B////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xv/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C/////f///9f////M/////v////////99////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wH///+x//////////3///9E////AP///wD///8B////r//////////9////RP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////vf////////8a////AP///wD///8A////AP//////////////jP///xj///+J//////////////9w////AP///wD///8A////AP///wD///8b/////////7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ov///7D////l////5P///67///82////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////BP///1j///9Y////WP///1j///9Y////WP//////////////kf///1j///9Y////WP///1j///9Y////Iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S/////////9////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///47/////////q////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+7////6//////////////////////////7///9e////k///////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////g////AP///wD///8A////4P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////+/////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Av///77//////////////9P//////////////63///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rf////3/////////sP///wH///8A////Rf////3/////////rv///wH///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////zz///9z/////////+3///8U////AP///wD///8M////4P///9H///8C/////v////////88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////PP///3P/////////7f///xT///8A////AP///wD///8A////AP///wD///8A////AP///1L/////////3////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9R////sP///+H////3////6v///8n///+C////D////wD///9z/////////+3///8U////AP///wz////g", + "////0f///wL////+/////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP////G//////////////+V////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///8T//////////////////////////////////////////////////////////////8b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP//////////////////////////////////////////////////////////", + "////xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////E///////////////////////////////////////////////////////////////G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///8T//////////////////////////////////////////////////////////////8b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP//////////////////////////////////////////////////////////", + "////xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////E///////////////////////////////////////////////////////////////G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wH////W/////////////////////////////////////////////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////if////////////////////////////////////////////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9c", + "//////////////+q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8G////3f/////////7////KP///wD///8A////5///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////v///////////////Sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0v//////////////7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+///////////////9K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////S///////////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7///////////////0r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9L//////////////+5////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////v///////////////Sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0v//////////////7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+///////////////9K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////S///////////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zH////t//////////D///9n////8P/////////v////NP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////lf//////////////X////wD///8A////Rf//////////////qf///wD///8A////AP///wD///8A////AP///2b//////////////5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9c///////////////+////Mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////r///////////////hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8k////zv///////////////f///4D///8B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///2D///+Y////vP///97////t////+P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8F////YP///5j///+8////3v///+3////4////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///9g////mP///7z////e////7f////j///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///2D///+Y////vP///97////t////+P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8F////YP///5j///+8////3v///+3////4////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///9g////mP///7z////e////7f////j///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z////+L////q////8z////m////8P////r////////////////////////////////////////////////////////////////////5////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9A////1/////////////////////////////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////a///////////////////////////////////////////////////////////////5////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9r///////////////////////////////////////////////////////////////n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////2v//////////////////////////////////////////////////////////////+f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////a///////////////////////////////////////////////////////////////5////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uf//////////////LP///wD///8A////AP///wD///8A////AP///yL///////////////L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+n///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9///////////////wX///8A////AP///wD///8A////AP///wD///8H///////////////b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3///////////////Bf///wD///8A////AP///wD///8A////AP///wf//////////////9v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////f//////////////8F////AP///wD///8A////AP///wD///8A////B///////////////2////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9///////////////wX///8A////AP///wD///8A////AP///wD///8H///////////////b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3///////////////Bf///wD///8A////AP///wD///8A////AP///wf//////////////9v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////f/////////9P///wD///8A////Of////7/////////RP///wD///8A////9//////////2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////8f///////////////////zH///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////vf///0/////1///////////////////////////////8////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////C/////H///////////////////8x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9U//////////////8U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///zf//////////////xP///8A////AP///wD///95/////////83///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////yj///8w////0P//////////////ff///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B//////////////////////////////+J////AP///7P/////////pv///wD///+O/////////8X///8A////AP///wD////S/////////37///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///z3////0//////////7///+L////0f//////////////vv///wb///8A////AP///wD///8C////8f/////////f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8T//////////////y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////L///////////////w////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+i/////////6H///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wj////u/////////9L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////q//////////L///8A////AP///wD///8A////AP///wD///8A////AP////P/////////6////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////wP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Cf///8n//////////////1v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP///2z///91////jv///6r////x//////////////++////Jf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////2v/////////O////Bf///wD///8A////AP///wD///8A///////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8S////jP//////////////+v///zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////4///////////////7////Wf///wD///8A////AP///wD///8A////Ff///83//////////////0r///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9x//////////////9z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wH///+H/////f/////////3////if///9D///////////////P///9W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////If///8j////////////////////////////////////h////K/////7/////////3v///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////sP//////////////7////3f///8I////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wj///92////7v//////////////r////yX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP//////////////5P///yD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8f/////////jP///wD///8A////AP///8T/////////sv///wD///8A////AP///wD///8A////3P//////////////DP///wD///8A////AP///9L/////////dP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///2b//////////////13///8A////AP///wD///8A////AP///1L//////////////2n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///1z///9c////cP///5D////K///////////////V////Ov///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+H//////////////zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zr//////////////9H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///1z///9c////XP///1z///9c////XP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3P//////////////Mv///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///1z///9c////XP///1z///9c////XP///1z///9c////8P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////o////1///////////////+f///8T////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8H////8P/////////L////AP///wD///8A////AP///77/////////wf///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////dP//////////////lP///wD///8A////AP///+j/////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9///////////////y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w///////////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////////////////////5v///03///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////P///////////////6f///zP///8A////AP///wD///8A////AP///wD///8A////AP///y/////m", + "//////////////9T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////5T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8P////ev///+f////////////////////w////TP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wz////2/////////+P///8B////AP///wD///8A////4v/////////3////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5//////////6////C////wD///8F////8/////////+x////AP///wD///8A", + "////AP///4T//////////////x////8A////AP///7T//////////////xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+P/////////////////////////7P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////BP///9v///////////////////+2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////k///////////////h////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8j/////v////////+m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////3f////////9s/////P////H///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////8////Af///wD///8A////AP///wD///8A////AP///x3//////////////7////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x//////////////8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8H//////////////x////8A////AP///wD///8A////AP///wD///8C/////f//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uP//////////////Fv///wD///8A////AP///wD///8A////Av////v/////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P/////////f////NP///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////8////Af///wD///8A////AP///wD///8A////AP///9r//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////+x////Ef///9r/////////9v///zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////P///wH///8A////AP///wD///8A////AP///wL///////////////j///8A////AP///wD///8A////AP///wD///8A////2///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////8////Af///wD///8A////AP///wD///8A////AP///9r//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+9//////////////8b////AP///wD///8A////AP///wD///8A////Hv//////////////tf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2/////b////6////rP///3n///9z////rv////7//////////////2f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2v///////////////3///+p////c////3T///+g////+P///+/////S//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9z///////////////5////e////wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C/////X/////////1f///wD///8A////AP///wD///8B////4//////////t////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+A//////////////9L////AP///wD///8A////jf/////////1////CP///wD////h/////////6b///8A////AP///wD///9H//////////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////xv/////////2////9//////////A////Af///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P/////////5f////L/////////lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+m//////////////9S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m//////////////+f////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////oP//////////////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////cv//////////////Kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////l//////////////8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////j//////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9f//////////////9Q////AP///wD///8A////AP///yr////1/////////1r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7j//////////////////////////////////////////////////////////////7D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///23//////////////+P///9H////AP///wD///8A////Dv///+7/////////t////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9/////m////AP///wD///8A////AP///8//////////pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+f////c////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0D///+m////2////+3///+l////VP///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7////Y/////////+n///8Z////AP///wD///8N////1v/////////p////Gf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////f////5v///wD///8A////AP///wD///8A////////////////////////////////////7P///xj///8A", + "////AP///wD///8A////AP///wD////n////3P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M//////////////////////////////////////////////////////////////////////////////9k", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////AP///wD///8A////AP///2X/////////7f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wL///8A////AP///wD///8A////T//////////u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////v////kP///3X///+n////+P////3////r//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+D///8A////AP///wD////g/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Pf///8r///84////AP////X/////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///3z////L////8v///8r///9y////Af///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xn////p/////////9f///8O////AP///xn////p/////////9b///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////PP///wT////S/////////53///8A////AP///wD///9G/////////1j////5/////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////88////BP///9L/////////nf///wD///8A////AP///xz///8A", + "////AP///wD///8A////Zf/////////t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////j////////////////////n////GP///wT////S/////////53///8A////AP///0b/////////WP////n/////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///xv////d//////////////+s////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Zv//////////////Xf///wD///8A////AP///wD///8A////Uv//////////", + "////af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m//////////////9d////AP///wD///8A////AP///wD///9S//////////////9p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///2b//////////////13///8A////AP///wD///8A////AP///1L//////////////2n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Zv//////////////Xf///wD///8A////AP///wD///8A////Uv//////////", + "////af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m//////////////9d////AP///wD///8A////AP///wD///9S//////////////9p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///2b//////////////13///8A////AP///wD///8A////AP///1L//////////////2n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2H//////////////2n///8A////AP///wD///8A////AP//////////", + "////8P///1z///9c////XP///1z///9c////XP///1z///9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP///7z////////////////////f////rf///3r///9p////iv///6/////x/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////w////XP///1z///9c////XP///1z///9c////XP///1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///1z///9c////XP///1z///9c////XP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////8P///1z///9c////XP///1z///9c////XP///1z///9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////w////XP///1z///9c////XP///1z///9c////XP///1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1z///9c///////////////w////XP///1z///9c////XP///1z///8A////AP///wD///8A////AP///zr//////////////9H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///3T//////////////5T///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////f//////////////8v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////MP//////////////3P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9///////////////y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w///////////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3///////////////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zD//////////////9z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////f//////////////8v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////MP//////////////3P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9///////////////y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w///////////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8w////7f/////////x////N////wD///81////7//////////v////NP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+4//////////////9G////AP///wD///8A////pP//////////////Sv///wD///8A////AP///wD///8A", + "////S///////////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////BP///9v///////////////////+2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///9T//////////////+7////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////JP///+f//////////////97///8/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////j//////////////xf///8A////AP///wD///8A////AP///wL////7/////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lf////v//////////////+H///+p////hf///5r///+6////9f///7T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7j//////////////xb///8A////AP///wD///8A////AP///wL////7/////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uP//////////////Fv///wD///8A////AP///wD///8A////Av////v/////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+4//////////////8W////AP///wD///8A////AP///wD///8C////+//////////Y////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7j//////////////xb///8A////AP///wD///8A////AP///wL////7/////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Q//////////////+K////AP///wD///8A////AP///wD///8A////hP//////////////2f///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////P///wH///8A////AP///wD///8A////AP///wD////a//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////vf//////////////G////wD///8A////AP///wD///8A////AP///x7//////////////7X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+9//////////////8b////AP///wD///8A////AP///wD///8A////Hv//////////////tf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///73//////////////xv///8A////AP///wD///8A////AP///wD///8e//////////////+1////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////vf//////////////G////wD///8A////AP///wD///8A////AP///x7//////////////7X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+9//////////////8b////AP///wD///8A////AP///wD///8A////Hv//////////////tf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3///////////////Bf///wD///8A////ov/////////W////Bf///xT//////////////9v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P/////////5f////L/////////lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////b////9v////r///+s////ef///3P///+u/////v//////////////Z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9j/////////+X////y/////////5X///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2L//////////////yH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP////v/////////Rf///wD///8A////AP///0j/////////+P///wT///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////0f///////////////////8L///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////IP////7/////////df///xz///+E//////////////8l////Lv////7////+////L////y7//////////////3X///8c////hf/////////8////HP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zb////c/////////////////////////9P///8P////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////1v//////////////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c///////////////V////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///73/////////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///47//////////////zv///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////v/////////5////wD///8A////AP///wD///8A////AP///wD///8A////6P/////////6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////H////+7/////////8v///yL///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////9L///+T////S////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///83/////P////////+I////AP///wD///8A////AP///wD//////////////8D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///86////vP///67///+M////d////3L///+O////rP////P///////////////////9m////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+r//////////P///7z/////////xP///3f///9M////V////4P////s//////////////+i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wz////v/////////+D///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8u////2f////////////////////////+p////Gf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C///////////////U////cP///0j///9i////nv////z////K////9P/////////r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////P////8z//////////////+P///9j////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///9i////4///////////////zP///z////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sP//////////////4P///x////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////7v////////9o////AP///wD///8A////5P////////+T////AP///wD///8A////AP///wD///+W//////////////8A////AP///wD///8A////jP////////+v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP////j/////////t////wD///8A////AP///wD///8A////rf/////////5", + "////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////+X///+Z////Vf///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////+P//////////////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf//////////", + "////9P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////2//////////////8c////AP///wD///8A////AP///wD///8A////////////////////////////////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////9f////D/////////////////////////Sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///0///////////////3P///8A////AP///wD///8A////ZP/////////+", + "////Hv///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///xT////w/////////+////8U////AP///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9///////////////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv///////////////f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///3H///+N////2f///////////////////2r///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////A//////////////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2v//////////////8j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////////////////////////////////////7r///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M////g/////D/////////////////////////vP///yP///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Wv//////////////kf///wD///8A////AP///wD///+Q//////////////9b", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yz//////////////8T///8A////AP///wD///+y//////////L///8E////AP///wD///8A////zv/////////W////AP///wD///8A////ef//////////////W////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wv////g///////////////1////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h///////////////P//////////////88////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8X////9P/////////1////GP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4r//////////////z3///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9k//////////3/////////iP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////3//////////6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8n////AP///wD///8A////AP///wD///8A////Sv//////////////nv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4r//////////////2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////of//////////////U////wD///8A////AP///wD///8A////AP///zD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+V//////////////9E////AP///wD///8A////AP///wD///8Z//////////////+0////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////p/////////43///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8q////AP///wD///8A////AP///wD///8Q/////f/////////t////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////8D///8A////KP///+//////////6v///yL///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////Kf///wD///8A////AP///wD///8A////NP///////////////////xz///8A////AP///wD///8A////AP///xH////9/////////+3///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8q////AP///wD///8A////AP///wD///8Q/////f/////////t////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r//////////////0n///8A////AP///wD///8A////AP///wD///9M//////////////+P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////9P///0f///8A////AP///wD///8A////Yf////3/////////3////wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////4//////////5////Uf///wD///8A////AP///wD///83////7f///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////0z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9D//////////////0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9Y//////////////+B////AP///wD///8A////AP///wD///+N//////////////9O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8X//////////f///xD///8A////AP///wD///84//////////////9E////Jf//////////", + "////V////wD///8A////AP///wv////7/////////8H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2///////////////3////+A//////////////9o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////y/////////+r////sP/////////v////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf////v/////////+T///8N////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///53//////////////0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F//////////////+b////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9l//////////////8c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////j/////////9v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////+P//////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zD///////////////3///+R////RP///zv///99////9f/////////9////KP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////S///////////////2//////////8////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zP/////////2////Kf///wD///8A////AP///wD///8A////vP/////////r////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9////8D///8A////AP///wD///8A////7/////////+M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wf////f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yj////y/////////7j///8A////AP///wD///8m////8P////////+5////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////f////A////AP///wD///8A////AP///wD/////////////////////////////////////////9P///1D///8A////AP///wD///8A////AP///8H////3////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz//////////////////////////////////////////////////////////////////////////////2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Yv////3///+Z////Mf///wP///8y////0v////////+5////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9M////3////2b///8e////AP///xj////B/////////8v///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////p////wr///8A////AP///wD///8/////8f///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////4P///wD///8A////AP///+D/////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d//////////3///97////6P////////88////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uf/////////x////KP///wD///8A////uf/////////w////Jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////88////AP///zv////+/////v///zr///8A////AP///wD///+d", + "////0v///+//////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////zz///8A////O/////7////+////Ov///wD///9i/////f///5n///8x////A////zL////S/////////7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////w////2H///8d////Af///xn///9f////6/////////+l////AP///zv////+/////v///zr///8A////AP///53////S////7/////////88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x/////g//////////////+v////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////+P////////+3////AP///wD///8A////AP///wD///+t//////////n///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xD////4/////////7f///8A////AP///wD///8A////AP///63/////////+f///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP////j/////////t////wD///8A////AP///wD///8A////rf/////////5", + "////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////+P////////+3////AP///wD///8A////AP///wD///+t//////////n///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xD////4/////////7f///8A////AP///wD///8A////AP///63/////////+f///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP////j/////////t////wD///8A////AP///wD///8A////rf/////////5", + "////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///+T/////////2v///wL///8A////AP///wD///8A//////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wH////Q///////////////5////ZP///wD///8A////AP///wD///8A////AP///wb///9K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////////////////////////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////////////////////////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////Hf//////////////9P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8U////8P/////////v////FP///wD///8A////AP///+j/////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////f//////////////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b///////////////3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9///////////////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv///////////////f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////3//////////////8a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////G///////////////9////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////f//////////////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b///////////////3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9///////////////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv///////////////f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////MP///+3/////////8f///zf///8A////AP///wD///8y////7f/////////v////NP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9z//////////////y3///8A////AP///wD///8V////7f/////////f////Cv///wD///8A////AP///wD///8w///////////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h///////////////P//////////////88////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///y3//////////////+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///+y//////////////+q////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////f//////////r///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9//////////+v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////3//////////6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////f//////////r///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9//////////+v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////3//////////6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J/////v//////////////Rf///wD///8A", + "////AP///wD///8A////Gf//////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////E//////////////+X////CP///wD///8A////AP///wD///8N////Ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////lf//////////////RP///wD///8A////AP///wD///8A////Gf//////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+V//////////////9E////AP///wD///8A////AP///wD///8Z//////////////+0////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5X//////////////0T///8A////AP///wD///8A////AP///xn//////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////lf//////////////RP///wD///8A////AP///wD///8A////Gf//////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////6//////////H///89////AP///wD///8A////AP///0f////0//////////////+/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////Kv///wD///8A////AP///wD///8A////EP////3/////////7f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+a//////////////9J////AP///wD///8A////AP///wD///8A////TP//////////////j////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r//////////////0n///8A////AP///wD///8A////AP///wD///9M//////////////+P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////mv//////////////Sf///wD///8A////AP///wD///8A////AP///0z//////////////4////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+a//////////////9J////AP///wD///8A////AP///wD///8A////TP//////////////j////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r//////////////0n///8A////AP///wD///8A////AP///wD///9M//////////////+P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+9//////////////8b////AP///wD///8Z////8v////////9y////Of//////////////tv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////y/////////+r////sP/////////v////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////0////R////wD///8A////AP///wD///9h/////f/////////f////BP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8v/////////q////7D/////////7////wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////cP//////////////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0f////////94////AP///wD///8A////F///////////////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Av///0P///+h//////////////////////////n///+A////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+A/////////8X///8A////AP///wD////S/////////4T///8A////pf////////+0////AP///5T/////", + "/////////////////////////3r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz////f////////////////////w////yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr//////////////+f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////2P/////////X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////9Y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jv//////////////pP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////7f/////////x////AP///wD///8A////AP///wD///8A////AP///wD////z/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////8D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uv//////////////sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////////////////////2f///4r///8e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+C//////////3///8/////AP///wD///8A////AP//////////////wP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////b////////////////////////////////////////////////////p////a////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3P//////////////If///8v/////////////////////////////////////////ov///w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4f//////////////1b///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4X////+/////////////////////////+D///9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////W///////////////uf///wj///8A////AP///wD///8A////NP///+3///////////////f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Af///13////j///////////////V////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9P////1f//////////////4v///1z///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8G////rP//////////////3f///xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////q/////////2P///8A////AP///wD////2/////////4f///8A////AP///wD///8A////AP///3b/////", + "/////////wv///8A////AP///wD///9n/////////9z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////q//////////7////Ff///wD///8A////AP///xD////4/////////67///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////////////////////9////7T///9R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////d//////////////81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y///////////////g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9n//////////////zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////S/////3//////////////5n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////pv/////////+////Hf///wD///8A////AP///wD///8Q////+P////////93////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////n////AP///wD///8A////lP//////////////dP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////h//////////////8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////L///////////////3f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8D////cv//////////////7v///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////P///////////////8v///w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP////H//////////////yX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///17///92////kv///9r///////////////T///9P////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv///9D////////////////////9////r////zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x//////////////8+////AP///wD///8A////AP///z3//////////////7L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////cf//////////////gv///wD///8A////AP///2z//////////////zz///8A////AP///xn////+/////////4z///8A////AP///wD///8///////////////+c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Dv///+D//////////////+j///8S////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///9//////////5P///xX////w/////////8L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+G//////////////+U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////6//////////T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX////h//////////b///8W////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////8/////////9n///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////4L///8A////AP///wD///8A////AP///wD///+r//////////////9h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Tf//////////////0f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h//////////////+x////AP///wD///8A////AP///wD///8A////jf///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0P//////////////53///8A////AP///wD///8A////AP///2P//////////////4P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6v/////////sP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////4j///8A////AP///wD///8A////AP///1D//////////////83///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////z////wD///8A////Rf////v/////////2P///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+C////AP///wD///8A////AP///wD///91////////////////////f////wD///8A", + "////AP///wD///8A////Uv//////////////zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////4j///8A////AP///wD///8A////AP///1D//////////////83///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Uv//////////////pv///wD///8A////AP///wD///8A////AP///63//////////////0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+J////AP///wD///8A////AP///wD///8A////tP//////////////Xv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2X//////////////6b///8A////AP///wD///8A////AP///wD///+E////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////x////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9P/////////n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H//////////////yz///8A////AP///wD///8A////AP///zb//////////////6n///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////+//////////Q////AP///wD///8A////AP///wH////i/////////4f///9q//////////r///8O////AP///wD///8A////AP///8f/////////+v///wz///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8g////9P/////////e////CP///wj////e//////////L///8d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zL//////////////2X///9g//////////////9d////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2n//////////////5D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////df///6/////o//////////z///+n////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL///+n/////P/////////o////r////3X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1f//////////////w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4P//////////////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8s////6v/////////9/////////////////////////////////////f/////////m////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////K/////////+j///8g////9/////////+j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////0/////////8H///8A////AP///wD///8A////AP///wH////e/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////e////5v///wD///8A////AP///wD////v/////////47///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////n////3P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///0////+8////Jv///wD///8A////AP///wD///9M////vf///yf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3v///+b///8A////AP///wD///8A////AP//////////////hP///wj///8q////X////9D/////////9f///x////8A////AP///wD///8A////5////9z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///95////+P//////////////+v//////////////9////y7///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///67////////////////////2///////////////8////Qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////9P////AP///wD///8A////AP///wD///+F////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT///9Z////fv///57///+O////b//////////g////AP///wD///8A////4P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9P////5P///////////////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////vP///0////8A////AP///wD///8n////vf///0v///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////zz///8A////AP///57/////////0v///wT///8A////AP///w/////l//////////////88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////PP///wD///8A////nv/////////S////BP///3n////4///////////////6///////////////3////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+H/////////+L///8A////AP///57/////////0v///wT///8A", + "////D////+X//////////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD////k//////////////9a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+r//////////v///8V////AP///wD///8A////EP////j/////////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6v/////////+////xX///8A////AP///wD///8Q////+P////////+u", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////q//////////7////Ff///wD///8A////AP///xD////4/////////67///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+r//////////v///8V////AP///wD///8A////EP////j/////////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6v/////////+////xX///8A////AP///wD///8Q////+P////////+u", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////q//////////7////Ff///wD///8A////AP///xD////4/////////67///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////c///////////////Uf///wD///8A////AP///wD//////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////Uf//////////////7P///zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////////////////////////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8y", + "///////////////g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////5////wD///8A////AP///5T//////////////3T///8A////AP///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4f//////////////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y///////////////93///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////h//////////////8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////L///////////////3f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+H//////////////y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8v///////////////d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4f//////////////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y///////////////93///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////h//////////////8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////L///////////////3f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////W//////////H///84////AP///wD///8A////AP///wD///8w////7P/////////h////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9///////////////Gv///wD///8A////AP///wD///9k//////////////+L////AP///wD///8A////AP///xv///////////////b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///9//////////5P///xX////w/////////8L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////Iv//////////////9P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP////H/////////1f///wL///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B/////z/////////2f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8H/////P/////////Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////8/////////9n///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B/////z/////////2f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8H/////P/////////Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////8/////////9n///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y////////////////////+e////AP///wD///8A////AP///wD///9l//////////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Vf//////////////zP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9D//////////////+d////AP///wD///8A////AP///wD///9j//////////////+D////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0P//////////////53///8A////AP///wD///8A////AP///2P//////////////4P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Q///////////////nf///wD///8A////AP///wD///8A////Y///////////////g////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9D//////////////+d////AP///wD///8A////AP///wD///9j//////////////+D////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///5D///////////////v///+l////dP///3b///+u/////f///////////////////6L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+I////AP///wD///8A////AP///wD///9Q///////////////N////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L//////////////6b///8A////AP///wD///8A////AP///wD///+t//////////////9E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Uv//////////////pv///wD///8A////AP///wD///8A////AP///63//////////////0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S//////////////+m////AP///wD///8A////AP///wD///8A////rf//////////////RP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L//////////////6b///8A////AP///wD///8A////AP///wD///+t//////////////9E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Uv//////////////pv///wD///8A////AP///wD///8A////AP///63//////////////0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8o////Q////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r//////////////0n///8A////AP///wD///92//////////H///92//////////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zL//////////////2X///9g//////////////9d////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////4n///8A////AP///wD///8A////AP///wD///+0//////////////9e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8y//////////////9l////YP//////////////Xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9+//////////////89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yT///8k////JP///yT///+v/////////7P///8k////JP///yT///8k////7P////////9y////JP///yT///8k////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1D////e/////////////////////////+T///+A////HP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8L/////////hP///wD///8A////AP///4v/////////xf///wD///8j////+v////////87////AP///3P////E////8P///77///9i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Y////////////////P//////////////8////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////n/////////9////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP////f/////////+P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////z//////////L///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////vf/////////4////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Z//////////3///8B////AP///wD///8A////AP///wD///8A////A///////////////0f///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////wP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////x//////////+////K////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////M////3f////v/////////+////9Q////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////K/////////+H///8P////AP///wD///8A///////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////5P/////////s////zP///+j////2////9P///9H///+u////cf///wr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+9//////////////8j////B////2v////G////6/////H////J////oP///z////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf////j/////////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+D///////////////f////TP///0n////f//////////z///9b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r//////////////8q////AP///wD///8A////AP///wD///8A////Vf//////////////8////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1/////s////6////17///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn///97////8///////////////xP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////xP//////////////8////3v///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////lv//////////////w////wP///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D/////////iP///wD///8A////AP///9b/////////n////wD///8A////AP///wD///8A////W///////////////GP///wD///8A////AP///1P/////////8f///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9N//////////////9r////AP///wD///8A////ZP//////////////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8C////G////z3///+q//////////////+O////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n//////////////1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1T//////////////7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////sP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////fP//////////////tf///wT///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////n////AP///wr////0/////////8X///8A////AP///wD///8A////AP///wD///+u/////////9P///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+L///8A////AP///yj////7/////////93///8G////AP///wD///8A////AP///+j/////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8H//////////////0n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9K//////////////+6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////r///////////////hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9///////////////+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////lP//////////////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////Av///2P////+//////////H///8a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wX////Z///////////////9////l////yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////D/////j/////////6P///wL///8A////AP///wD///8A////Av///+j/////////+f///w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+1//////////////9B////AP///wD///8A////Jf//////////////gv///wD///8A", + "////Yv//////////////Q////wD///8A////AP///wn////7/////////9z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+h/////////////////////////6r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9n//////////////9x////AP///4P//////////////0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD////v//////////n///8g////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///1z//////////////2v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2r/////////lP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////X////wX///8A////AP///wD///8A////cf//////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////7v///zz///8A////AP///wD///8A////Vv////v/////////4P///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uP//////////////ov///wr///8A////AP///wD///8A////Fv///w////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX////g//////////3///9h////AP///wD///8A////AP///0v////1////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8L//////////P///0L///8A////AP///wD///8X////2P/////////0////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kf///+n////9////TP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////8////0P///8A////AP///wD///8K////qP//////////////pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////X////AP///wD///8A////af//////////////wv///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////D///88////AP///wD///8A////Ef///8T////////////////////u////Ov///wD///8A////AP///wv///+r//////////////+m////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////8////0P///8A////AP///wD///8K////qP//////////////pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////y//////////6////U////wD///8A////AP///wD///9a////+/////////+5////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////y////8A////AP///wD///8A////AP///wD///9V//////////////+d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////o///////////////SP///wD///8A////AP///wD///8A////AP///yP///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9//////////pf///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////V//////////7///8r////AP///wD///8A////AP///0X///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////+f/////////X////AP///wD///8A////AP///wD///8A////AP///9//////////9v///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0///////////////5P///8A////AP///wD///8A////AP///5D/////////yv///67/////////uv///wD///8A////AP///wD///8A////iP//////////////TP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7r//////////////0////8A////AP///1D//////////////7b///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mv/////////9////F////xH////6/////////8H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Av///8j//////////P///zL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+j////Iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8i////o////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Sv//////////////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////D//////////////8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8b/////////4v///yX///9f////wP///+v////q////vf///1j///8q////5v/////////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Sf//////////////eP///wD///+T//////////3///8p////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9z/////////0////wD///8A////AP///wD///8B////if//////////////rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7z/////////Gv///wD///8A////AP///8r/////////q////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G/////////+4////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+8/////////xr///8A////AP///wD///8A//////////////+A////AP///wD///8A////Qf//////////", + "////Zf///wD///8A////AP///xv/////////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////9Y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////kP///8b////z////3P///6X///8n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Af///1L///+y////5/////j////c////q////zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////P///w////8A////AP///wD///8A////AP///yn///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wH///9i////7P///////////////////////////////////+D///8A////AP///wD////g/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8O////lP////3/////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////PP///wD///8A////FP///+3/////////cv///wD///8A////AP///0z//////////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////88////AP///wD///8U////7f////////9y////AP///yb///+Q", + "////xv////P////c////pf///yf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2j/////////4P///wD///8A////FP///+3/////////cv///wD///8A////TP//////////////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///z7//////////////77///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///03//////////////2v///8A////AP///wD///9k//////////////9Q", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tf//////////////a////wD///8A////AP///2T//////////////1D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9N//////////////9r////AP///wD///8A////ZP//////////////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///03//////////////2v///8A////AP///wD///9k//////////////9Q", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tf//////////////a////wD///8A////AP///2T//////////////1D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9N//////////////9r////AP///wD///8A////ZP//////////////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////7//////////F////AP///wD///8A////AP//////////", + "////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////N//////////////96////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1T//////////////7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////i////AP///wD///8o////+//////////d////Bv///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////B//////////////9J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Sv//////////////uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8H//////////////0n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9K//////////////+6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////wf//////////////Sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0r//////////////7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////B//////////////9J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Sv//////////////uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8H//////////////0n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9K//////////////+6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yr////b////Of///wD///8A////AP///wD///8A////AP///wD///8u////3P///zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////h//////////////8u////AP///wD///8A////AP///wH////C//////////v///8w////AP///wD///8A", + "////Lf//////////////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9n//////////////9x////AP///4P//////////////0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///9G///////////////Q////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////4f/////////b////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yP///9f////Bf///wD///8A////AP///wD///9x//////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I////1////8F////AP///wD///8A////AP///3H//////////////7T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////X////wX///8A////AP///wD///8A////cf//////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yP///9f////Bf///wD///8A////AP///wD///9x//////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I////1////8F////AP///wD///8A////AP///3H//////////////7T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////X////wX///8A////AP///wD///8A////cf//////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///xb///9w////D////wD///8A////AP///wD///8A////p/////////////////////z///9C////AP///wD///8A////GP///9v/////////9f///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Q//////////////9a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C//////////z///9C////AP///wD///8A////F////9j/////////9P///xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8L//////////P///0L///8A////AP///wD///8X////2P/////////0////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wv/////////8////Qv///wD///8A////AP///xf////Y//////////T///8W////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C//////////z///9C////AP///wD///8A////F////9j/////////9P///xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///5f////////////////////////////////////4////mv//////////////W////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////P///9D////AP///wD///8A////Cv///6j//////////////6b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8v/////////+v///1P///8A////AP///wD///8A////Wv////v/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////y//////////6////U////wD///8A////AP///wD///9a////+/////////+5////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////L//////////r///9T////AP///wD///8A////AP///1r////7/////////7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8v/////////+v///1P///8A////AP///wD///8A////Wv////v/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////y//////////6////U////wD///8A////AP///wD///9a////+/////////+5////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+r/////////Qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Uv//////////////pv///wD///8A////AP///wb////Z//////////b//////////////0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mv/////////9////F////xH////6/////////8H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////L////wD///8A////AP///wD///8A////AP///1X//////////////53///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r//////////f///xf///8R////+v/////////B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4v//////////////0v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////////////////////", + "////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+b////////////////////8///////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////2/////////9l////AP///wD///8A////af/////////c////AP///wD///+W/////////8L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xX////v//////////7///9Q////XP///+///////////f///2b///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9f/////////5////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+v/////////0////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9V//////////////90////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8X//////////////w3///8A////AP///wD///8A////AP///wD///8R//////////////+6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Q//////////////+T////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf////j//////////b///8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yb////1/////////6X///8A////AP///wD////+/////////8D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q/////////8r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4r//////////////1X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP//////////////Ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////NP//////////////zf///xT///8A////AP///xb////S//////////v///8l////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9P/////////5////wD///8A////AP///wD///8A////AP///wD///8E////9f/////////S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////6f//////////////6f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8X////mf////z/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////P///5n///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pv//////////////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////lv////////+t////AP///wD///8A////sf/////////J////AP///wD///8A////AP///wD///9N//////////////8l////AP///wD///8A////Uf/////////y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////q/////////8X///8A////AP///wD///+//////////+z///8G", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///+V//////////////9L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////lf//////////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df//////////", + "////kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+I//////////////97////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8B////pP//////////////n////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+P///8A////Vf//////////////bf///wD///8A////AP///wD///8A////AP///1P/////", + "/////////y7///8A////5v//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2////wD///8A////tP//////////////VP///wD///8A////AP///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////of//////////////ZP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2X//////////////5f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///9T//////////////+7////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5///////////////2X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m//////////////+u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///5D//////////////5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////av//////////////6f///zv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9e//////////////+X////AP///wD///8A////AP///wD///8A////mP//////////", + "////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf////T/////////9////wf///8A////AP///wD///8A////3v/////////H////AP///wD///+s//////////P///8G////AP///wD///8A////AP///8v//////////////xz///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////VP//////////////1////7X//////////////1v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////+L/////////6////wv///8A////E/////P/////////zf///wH///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3n//////////////6D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf/////////0////Dv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///5L/////////4////6H///92////a////6X////+//////////////9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////93////z////+P///6b///93////dP///6v////9//////////////9n////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////9///////////////5f///7D///+H////k////8f////8////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2b///////////////7///+v////dP///3r///+t////+/////X////a//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pf////v/////////+////57///9r////i////+H//////////////4T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz///8M////DP//////////////2f///wz///8M////DP///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////WP/////////9/////f////H////K////nP///yP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j////s////+f///6j///92////j////+////////////////7///8z////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////kv//////////////pv///wH///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////N////7P////b///+m////cv///5v////1///////////////m////bf/////////5////pf///3T///+R////8P///////////////v///zP///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////87////s////+f///6j///92////j////+////////////////7///8z////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C/////f/////////9////q////3X///93////rv////7/////////+f///y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////9////Av///wD///8A////AP///wD///8A////AP///yD//////////////73///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C//////////////8b////AP///wD///8A////AP///wD///8A////Av////v//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////j////6T/////////7v///7X///+i////gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///4///////////////+D///+X////av///5D////T/////////1D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M////DP//////////////2f///wz///8M////DP///wr///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2L//////////////4P///8A////AP///wD///8A////AP///wD///8A////if//////////////Xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP//////////////Vf///wD///8A////AP///wD///8A////O//////////8////9P////////9s", + "////AP///wD///8A////AP///wD///9I//////////////+S////AP///wD///8A////AP///wD///8A////AP///wD///9h//////////////+2////AP///wD///8A////AP///7f//////////////13///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///w3////z/////////7z///8A////AP///7H//////////////yX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////DP///wz///8M////DP///wz///8M////PP////3/////////y////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+r///96////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////D////3r////q////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///88//////////T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6X//////////////17///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////7////8j////AP///wD///8A////AP///wD///8A////AP///wD///8m////wP///xz///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////I//////////H///8P////AP///x3////6/////////6n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv//////////////Wv///wD///8A////Qf///8f///////////////D///8i////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////kv////////9N////AP///wD///8A////pP/////////p////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9O/////////47///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L/////////Tf///wD///8A////AP///wD//////////////4D///8A////AP///wD///9D//////////////9p////AP///wD///8A////Tv////////+O////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////a////AP///wD///8A////AP///wD///8A////Af////z//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cf//////////////////////////////////////////////4P///wD///8A////AP///+D/////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////88////AP///wD///8A////Zf/////////z////G////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////zz///8A////AP///wD///9l//////////P///8b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8e////4/////////+Q////AP///wD///8A////Zf/////////z////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9X/////////7P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///+r/////////xf///wD///8A////AP///7//////////7P///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8E////6v/////////F////AP///wD///8A////v//////////s////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////q/////////8X///8A////AP///wD///+//////////+z///8G", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///+r/////////xf///wD///8A////AP///7//////////7P///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8E////6v/////////F////AP///wD///8A////v//////////s////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////q/////////8X///8A////AP///wD///+//////////+z///8G", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+G//////////////84////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////R///////////////8////xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df//////////////kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9v///8A////AP///7T//////////////1T///8A////AP///wD///8A////AP///+j/////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6H//////////////2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9l//////////////+X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////of//////////////ZP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2X//////////////5f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+h//////////////9k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Zf//////////////l////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6H//////////////2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9l//////////////+X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////of//////////////ZP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2X//////////////5f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8H//////////////0n///8A////AP///wD///8A////AP///yn////5/////////8r///8C////AP///wD///9F//////////////+z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////+L/////////6////wv///8A////E/////P/////////zf///wH///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///5f//////////////6j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///+M//////////////+W////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kv/////////j////of///3b///9r////pf////7//////////////0////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+S/////////+P///+h////dv///2v///+l/////v//////////////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///5L/////////4////6H///92////a////6X////+//////////////9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kv/////////j////of///3b///9r////pf////7//////////////0////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+S/////////+P///+h////dv///2v///+l/////v//////////////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///5L/////////4////6H///92////a////6X////+//////////////9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////h//////////0////sP///4j///9l////ef///8n//////////////6r///+///////////z///+e", + "////a////4r////h//////////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7b//////////////yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///z3////7//////////v///+e////a////4v////h//////////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pf////v/////////+////57///9r////i////+H//////////////4T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///89////+//////////7////nv///2v///+L////4f//////////////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///z3////7//////////v///+e////a////4v////h//////////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0j///+g////z/////P////R////ov///zf///+j//////////r///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////O////7P////n///+o////dv///4/////v///////////////+////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qv////3//////////f///6v///91////d////67////+//////////n///8v////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C/////f/////////9////q////3X///93////rv////7/////////+f///y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0L////9//////////3///+r////df///3f///+u/////v/////////5////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qv////3//////////f///6v///91////d////67////+//////////n///8v////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C/////f/////////9////q////3X///93////rv////7/////////+f///y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////vP///+v///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////y//////////6////U////wD///8A////AP///0n///////////////////+8////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///w3////z/////////7z///8A////AP///7H//////////////yX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////3///8C////AP///wD///8A////AP///wD///8A////IP//////////////vf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////8/////////+8////AP///wD///+x//////////////8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////mf//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Xv//////////////6////2P///8K//////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////z/////////1f///8A////AP///wD///9Z//////////P///8A////AP///xn////1/////////0r///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////e///////////////m////wD///8A////Kv///+X/////////+f///yv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////k//////////////8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz//////////////+P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP///xT///8G////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX////n/////////9v///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////sf//////////////If///wD///8A////AP///wD///8A////AP///yb//////////////6P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////8D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj//////////////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///03//////////////6L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2r//////////////1n///8A////AP////j/////////wP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7z/////////4f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////V///////////////kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8o/////v////////+s////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+o//////////7///8u////AP///wD///8A////AP///zX//////////////6D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9f/////////J////AP///wD///8A////AP///wD///8A////AP///wD////i/////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////q///////////////q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////LP///7j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7j///8r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8X////+P////////++////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s/////////9P///8A////AP///wD///97//////////////8n////AP///wD///8A////AP///0D/////", + "/////////zL///8A////AP///wD///95/////////8j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5H//////////v///yD///8A////HP////7/////////lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///xz//////////////73///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9x//////////////+w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d//////////////9q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2D//////////////7b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8F////uv//////////////hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////3f///wD///+t//////////3///8Z////AP///wD///8A////AP///wD///8A////CP////D/////////if///wD////h//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Q////AP///0T//////////////8P///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B//////////////+S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////kv//////////////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///y3//////////////+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////v///////////////Sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0v//////////////8n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////Qf//////////////y////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////B//////////////9T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7X//////////////0T///8A////AP///wD///8A////AP///wD///9F//////////////+2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8+//////////////++////AP///wD///8A////AP///wD///+Z//////////v///8N////A/////D/////////sf///wD///8A////AP///wD///8A////kf//////////////Xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///xn////s//////////n///8x////Ff///+j/////////7////x3///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s//////////////99////AP///wD///8A////if//////////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Cv///+j//////////P///yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7//////////////5r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qv//////////////////////////////////////////////ov///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////xf///03////1///////////////////////////////8////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///82////zv/////////////////////////////////////////L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2/////7///////////////////////////////z////TP///77//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////P////+n///////////////////////////////////+J////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2j////7////////////////////////////////////9////2j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////x////0P////y////////////////////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8D////t///////////////hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////4v///9F////8///////////////////////////////9////zf///8A////df////z/////", + "//////////////////////////////+M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////i////0P////y////////////////////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9C////5v///////////////////////////////////93///80////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+z///8A////AP///wD///8A////AP///wD///8A////Cf//////////////3v///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L//////////v///wX///8A////AP///wD///8A////AP///wD///8A////4v//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////91////Df///9H////////////////////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cv///87/////////////////////////////////////////nv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////4P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u///////////////Lv///wD///8A////AP///wD///8A////AP///wD///8y//////////////+4", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Z//////////////8Y////AP///wD///8A////AP///wD///8B////5f///////////////////x7///8A////AP///wD///8A////AP///wz////7/////////9f///8A////AP///wD///8A////AP///wD///8A", + "////GP///+7/////////+f///yX///8A////AP///wD///8A////Jv////n/////////7f///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////af//////////////Xf///wD///8A////UP//////////////if///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3z/////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Hf///1j///+U////9//////////u////Dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7////u//////////X///95////Jf///wv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y//////////5v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Yf//////////////zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////R///////////////h////wD///8A////AP///5z//////////v///y3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////sP/////////9////q////9n////////////////////R////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x/////////53///8A////AP///wD///8///////////////97////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///57/////////Lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Mf////////+d////AP///wD///8A////AP//////////////kP///yH///9A////bP///9f//////////////zX///8A////AP///wD///+e/////////y3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////6v//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP////v///////////////////////////////////////////////g////AP///wD///8A////4P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////zz///8A////AP///wD///8B////x/////////+r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////PP///wD///8A////AP///wH////H/////////6v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T///+5////5///////////////qP///xb///8A////AP///wD///8B////x/////////+r", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf/////////9////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////kf/////////+////IP///wD///8c/////v////////+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+R//////////7///8g////AP///xz////+/////////5X///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5H//////////v///yD///8A////HP////7/////////lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////kf/////////+////IP///wD///8c/////v////////+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+R//////////7///8g////AP///xz////+/////////5X///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5H//////////v///yD///8A////HP////7/////////lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///xf////3/////////6z///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+F//////////////+X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d", + "//////////////9q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////0P///wD///9E///////////////D////AP///wD///8A////AP///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////gf//////////////kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L//////////////3X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B//////////////+S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////kv//////////////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4H//////////////5L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+S//////////////91////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////gf//////////////kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L//////////////3X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B//////////////+S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////kv//////////////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////of//////////////ZP///wD///8A////AP///wD///8A////AP///4P//////////////23///8A////AP///17//////////////43///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s//////////////99////AP///wD///8A////if//////////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///9W/////f//////////////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wf///+9//////////////+v////CP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q//////////////////////////////////////////////+i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6r//////////////////////////////////////////////6L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qv//////////////////////////////////////////////ov///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q//////////////////////////////////////////////+i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6r//////////////////////////////////////////////6L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qv//////////////////////////////////////////////ov///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+l/////f////////////////////////////////////////+1////Bf///wv////B////////////////////////////////////jf///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3f//////////////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z/////p////////////////////////////////////if///wP///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////P////+n///////////////////////////////////+J////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8/////6f///////////////////////////////////4n///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z/////p////////////////////////////////////if///wP///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////GP////n/////////tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////4v///9D////8v///////////////////////////////////4z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qv///+b////////////////////////////////////d////NP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9C////5v///////////////////////////////////93///80////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0L////m////////////////////////////////////3f///zT///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qv///+b////////////////////////////////////d////NP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9C////5v///////////////////////////////////93///80////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C/////f/////////9////q////3X///9s////pf////7//////////////z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////af//////////////Xf///wD///8A////UP//////////////if///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////7P///wD///8A////AP///wD///8A////AP///wD///8J///////////////e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///2n//////////////13///8A////AP///1D//////////////4n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+n//////////////9m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8a//////////////8x////AP///wD///8A////Wv/////////l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////B//////////n///8q////AP///wD//////////////yj///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////X/////////Vv///wD///8A////AP///1j/////////8////wD///8A////AP///4j/////////z////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////L//////////////8i////AP///wD///8A////Sv//////////////qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9L//////////////x3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Hv//////////////0f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///4T//////////////0X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+O//////////////9a////AP///wD///8A////AP///wD///8A////Yf//////////////fv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///+1////Uv///wD///8A////AP////r/////////wP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////L/////////7f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C/////3/////////1v///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7f/////////7////x7///8A////8P/////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////p//////////4////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////9//////////o////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+y//////////z///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9z/////////4P///wD///8A////AP///wD///8A////AP///+T/////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////e/////////9v///8A////AP///wD///8A////AP///wD///8A////Cf////7/////////kP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2T////s////6////2P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K/////////+f///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0L/////////9////wP///8A////AP///w7////q/////////7T///8F////AP///wD///8A////M///////////////P////wD///8A////AP///6P/////////nf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////M///////////////eP///wD///91//////////////83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////Af////b/////////6P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yv////9//////////7///8t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////G/////b//////////////zr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////IP////j//////////////zr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8M////zP//////////////a////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////T////Df////f/////////v////wD///8A////AP///wD///8A////AP///wD///8A////nv/////////i////Af///9r//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////8X///8C////0f/////////+////Nf///wD///8A////AP///wD///8A////AP///+j/////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0T///////////////D///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////w//////////////81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////Iv//////////////9P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////f//////////////8v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////MP//////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8e///////////////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///+T//////////f///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8S////+v/////////s////BP///wD///8A////AP///wD///8A////AP///wT////t//////////r///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4P//////////////33///8A////AP///wD///8A////AP///1L//////////////0j///84", + "//////////////9n////AP///wD///8A////AP///wD///9X//////////////+d////AP///wD///8A////AP///wD///8A////AP///wD///8A////t///////////////dv///wD///8A////S///////////////vf///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////CP///+b/////////8v///xD///8A////AP///wD///8W////9f/////////W////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bf//////////////rP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////lv//////////////Mf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv///43///+7////4/////X////X////tf///0n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Q////AP///yj///+a////2/////X////R////nP///z////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////Zv///6n////R////9f///+f////L////lP///z7///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z3///+b////0f////X////b////lv///yP///8A////0f//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////HP///4T///+8////7////9X///+f////Sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8/////lf///+n/////////////////////////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///85/////P//////////////3f///4j///+E////2v//////////////+v///y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////U////AP///yT///+Z////4P////f////a////s////0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8O////1P//////////////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////Y////wD///8n////nP///+L////0////xf///4r///87////AP///wD///8A////M////6D////h////9////9r///+z////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9j////AP///yT///+Z////4P////f////a////s////0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8W////gv///7P////k////6P///7T///99////D////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2v///wD///8A////AP///wD///8A////AP///wD///8A////9v/////////3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////+P/////////1////AP///wD///8A////AP///wD///8A////AP///wD////a//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1z///8A////Df///5L////e////+v///9r///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///2r////E////5/////T////U////rv///1b///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////d/////P////////////////////////////////////g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf////8/////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD////b//////////z///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Hv//////////////2v///wD///8A////AP///wD///8A////AP///wD///+S///////////////P////AP///wD///8A////AP///wD///8A////AP///8j//////////////x3///8A////AP///wD///8A////AP///wD///+t//////////////+H////AP///wD///8A////AP///wD///8A////iP//////////////rP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q//////////D///8J////AP///wD///8F////6f/////////o////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////fP////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m//////////////9e////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////X///////////////Y////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////4///////////////l////wf///8A////AP///wD///8A////DP///wz///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////5f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////G//////////f///8X////AP///wD///8A////I/////z/////////rv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8D////vv/////////////////////////S////ZP///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////G/////////0X///8A////AP///wD///+0//////////////+c////SP///y3///9Z////uv///0r///8A////AP///wD///9H/////////8H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xv////////9F////AP///wD///8A//////////////////////////////////////////////+X", + "////AP///wD///8A////R//////////B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////9Y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Z//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////f////////////////////////////////////////////////////+D///8A////AP///wD////g/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////PP///wD///8A////AP///wD///8w/////P////////9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////88////AP///wD///8A////AP///zD////8/////////0f///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////9v///8i////AP///wD///8A////AP///wD///8w/////P////////9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8z//////////////94////AP///3X//////////////zf///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zP//////////////3j///8A////df//////////////N////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////M///////////////eP///wD///91//////////////83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8z//////////////94////AP///3X//////////////zf///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zP//////////////3j///8A////df//////////////N////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////M///////////////eP///wD///91//////////////83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5j//////////f///yL///8A////AP//////////", + "////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6T//////////////2n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////G/////b//////////////zr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////F////Av///9H//////////v///zX///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9E///////////////w////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L", + "////8P//////////////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0T///////////////D///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////w//////////////81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////RP//////////////8P///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C/////D//////////////zX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9E///////////////w////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L", + "////8P//////////////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0T///////////////D///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////w//////////////81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B//////////////+S////AP///wD///8A////AP///wD///8A////CP///9r/////////8v///xz///8A", + "////lf//////////////Zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////CP///+b/////////8v///xD///8A////AP///wD///8W////9f/////////W////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///2f///+I////xP///////////////////6////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wb///+k//////////////+7////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8q////jf///7v////j////9f///9f///+1////Sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yr///+N////u////+P////1////1////7X///9J////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv///43///+7////4/////X////X////tf///0n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8q////jf///7v////j////9f///9f///+1////Sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yr///+N////u////+P////1////1////7X///9J////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv///43///+7////4/////X////X////tf///0n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8g////gf///7H////W////9P///9H///+e////av///wn///8A////AP///wz///9o////q////+v////X////of///07///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////2//////////b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz///+E////vP///+/////V////n////0r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////HP///4T///+8////7////9X///+f////Sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////hP///7z////v////1f///5////9K////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz///+E////vP///+/////V////n////0r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+N//////////3///8x////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////Y////wD///8k////mf///+D////3////2v///7P///9E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Fv///4L///+z////5P///+j///+0////ff///w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8W////gv///7P////k////6P///7T///99////D////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xb///+C////s////+T////o////tP///33///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Fv///4L///+z////5P///+j///+0////ff///w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8W////gv///7P////k////6P///7T///99////D////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9C////5v//////////////////////////////////////////////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q//////////D///8J////AP///wD///8F////6f/////////o////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////a////AP///wD///8A////AP///wD///8A////AP///wD////2//////////f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P/////////w////Cf///wD///8A////Bf///+n/////////6P///wT///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7X//////////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////v/////////1z///8A////AP///wD///8v//////////////8Q", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+3/////////z////wD///8A////AP//////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4P////////9l////AP///wD///8A////af/////////Z////AP///wD///8A////Ef///+//////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////D/////////5v///wD///8A////AP///wD///8A////8f/////////i////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////vv//////////////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x//////////////++////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv////3/////////rf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zz//////////////5j///8A////AP///wD///8A////AP///wD///+i//////////////8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////kv//////////////kP///wX///8A////9P/////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////+//////////l////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////9P/////////y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Gf///+z/////////vP///wD////n/////////8D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+T//////////////8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d//////////////9v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z3//////////////4////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f/////////V////AP///wD///8A////AP///wD///8A////1v/////////0////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7f/////////+v///wT///8A////AP///wD///8A////AP///wD///9O//////////////9k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////X////+z////r////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v/////////9f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////E/////f/////////Zv///wD///8A////AP///2n//////////////7b///9N////Ef///xn///9i//////////////9M////AP///wD///8A////zf////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P/////////P////AP///8z/////////2f///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8G////+//////////r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6H//////////////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///+c//////////////+z", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////g///////////////wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8X////3f/////////9////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////8f///9c//////////////9n////AP///wD///8A////AP///wD///8A////AP///wD///9D", + "//////////////9A////z///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////tf///2T//////////////6T///8A////AP///wD///8A////AP///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8T//////////////27///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////af//////////////sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///9G///////////////O////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////f//////////////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b///////////////4////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///z3//////////////9r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v/////////0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P//////////////53///8A////AP///wD///8A////AP///wD///8A////AP///5//////", + "/////////2P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////x///////////////O////wD///8A////AP///wD///8A////D/////z/////////hP///3r//////////////x7///8A////AP///wD///8A////AP///xz//////////////93///8A////AP///wD///8A", + "////AP///wD///8A////AP///2v//////////////73///8B////AP///wD///8A////l///////////////b////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9x//////////////+J////AP///wD///8A////AP///wD///+P//////////////9f", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////3//////////+////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz////y/////////8j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A///////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///63//////////////5L///8A////AP///wD///8A////jP//////////////qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////i////AP///wD///8A////AP///wD///8A////AP///wf//////////////+D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////g//////////////8H////AP///wD///8A////AP///wD///8A////AP///+3//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf///+3/////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////OP//////////////l////wD///8A////AP///wD///+N//////////////9R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj//////////////7b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+3//////////////8X////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9l////////////////////3P///6H///93////gv///7b////2////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////7f/////////8////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rf//////////////lv///wD///8A////AP///wD///8A////pf//////////////Mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ff///7z///////////////n///+l////Pv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0X////+////4v///w7///8A////AP///xT///+2////////////////////////////////////wf///wD///8A////EP///+T////9////Qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F/////v///+L///8O////AP///wD/////////////////////////8f///9j///+y////Tv///wL///8A////AP///xD////k/////f///0H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r////////////////////////////////////////////////////4P///wD///8A////AP///+D/////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////88////AP///wD///8A////AP///wD///+Q/////////9v///8I", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////zz///8A////AP///wD///8A////AP///5D/////////2////wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Av///zT///93////8/////X///9D////AP///wD///8A////AP///wD///+Q/////////9v///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U/////////8////8A////zP/////////Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///9T/////////z////wD////M/////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P/////////P////AP///8z/////////2f///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U/////////8////8A////zP/////////Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///9T/////////z////wD////M/////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P/////////P////AP///8z/////////2f///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////JP////3/////////lP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////wv//////////////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///+c//////////////+z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////7X///9k//////////////+k////AP///wD///8A////AP///wD///8A////AP///+j/////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////E//////////////9u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2n//////////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8T//////////////27///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////af//////////////sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP//////////////bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9p", + "//////////////+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////E//////////////9u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2n//////////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8T//////////////27///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////af//////////////sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0T///////////////D///8M////AP///wD///8A////AP///wD///8A////Q///////////////r////wf////u//////////////8z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9x//////////////+J////AP///wD///8A////AP///wD///+P//////////////9f", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////7///+j////FP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///+h//////////////91////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9f//////////////wv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1f///+c////DP///wD///8A////Xf//////////////mP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8W////gv///7P////k////8f///8////9+////i//////////1////E////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////OP//////////////l////wD///8A////AP///wD///+N//////////////9R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+L///8A////AP///wD///8A////AP///wD///8A////B///////////////4P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zj//////////////5f///8A////AP///wD///8A////jf//////////////Uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////wv//////////////gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8T/////////iP///wD///8A////AP///wf////8/////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////3v/////////2////FP///wD///8A//////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K/////////4T///8A////AP///wD///+L/////////8D///8A////AP///wD///8A////ef/////////b", + "////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6v/////////2////Dv///wD///8A////AP///wD////r/////////+r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+R//////////////9e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1///////////////4////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////s//////////7////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Af///+T/////////5P///w////8A////AP///wD///8A////Ff///+v/////////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9u////+v//////////////w////xP////r/////////8D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9L////DP///wD///8A////AP///wD///8A////AP///z///////////////7X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///x3///8A////AP///wD///8A////AP///wD///8A////AP///zP//////////////8f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////U///////////////U////97/////////wP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3///////////////yf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///y3////9//////////f///9A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8f/////////8v///w7///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////N//////////////8p////AP///wD///8A////AP///yz//////////////8v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////i///////////////Y////wD///8A////AP///wD///8A////Af///8b/////////5////wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////p///////////////p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8E////5//////////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////g//////////m////Cv///wD///8A////AP///2f////4////////////////////////////////", + "/////////1r///8A////AP///xf////3/////////0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///93//////////////84//////////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///zf//////////////73///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv////j//////////v///2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////Tv////z/////////9////yL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////3///////////////jP///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8k////6v/////////4////Pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////uP///7P/////////+////xT///8A////AP///wD///8A////AP///wD///8A////AP///wL////l/////////5v////E//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////+x////5//////////2////Hf///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qv//////////////6P///zL///8A////AP///wD///8A////AP///wD///8A////AP///y3////l", + "//////////3///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///5n//////////////6X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4f//////////////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y///////////////93///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////gv//////////////q////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////E//////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uv//////////////Sv///wD///8A////AP///wD///8A////AP///wD///8A////Tf//////////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///w/////8//////////T///8F////AP///wD///8A////AP///wD///8A////xf////////+9////uf/////////V////AP///wD///8A////AP///wD///8A////AP///+L//////////////x7///8A////AP///wD///8A////AP///wD///8n////9v/////////t////HP///wD///8A////AP///wD///8K////2P/////////3", + "////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C////+n/////////9////xj///8A////AP///wD///8A////AP///xr////4/////////9////8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9g//////////////+4////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////aP//////////////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////1////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////P/////////a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5v//////////////NP///wD///8A////AP///wD///8z///////////////Z////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////v///8C////AP///wD///8A////AP///wD///8A////Hf//////////////v////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8H//////////////x////8A////AP///wD///8A////AP///wD///8C/////f//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP/////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+f//////////////81////AP///wD///8A////AP///yv//////////////7X///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9h////+v/////////////////////////////////////////D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+8//////////////86////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////E//////////z///8h////AP///wD///8A////AP///wD///8q/////v////////+z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+F//////////////+y////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4P/////////sP///w////8A////AP///wH///9m////q////93////z////0f///5b///83", + "////AP///xD///+z/////////37///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+D/////////7D///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////s/////////9+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///xT///8U////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8z////////////////////////////////////////////////////g////AP///wD///8A////4P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////+/////////zz///8A////AP///wD///8A////AP///w3////l/////////4D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP////7/////////PP///wD///8A////AP///wD///8A////Df///+X/////////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+O/////////6v///8A////AP///wD///8A////AP///w3////l", + "/////////4D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///3f//////////////zj//////////////3z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////d///////////////OP//////////////fP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///93//////////////84//////////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///3f//////////////zj//////////////3z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////d///////////////OP//////////////fP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///93//////////////84//////////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////q//////////1////Ev///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////h//////////////8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////Tv////z/////", + "////9////yL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////sf///+f/////////9v///x3///8A////AP///wD///8A////AP///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0L//////////////+j///8y////AP///wD///8A////AP///wD///8A////AP///wD///8t////5f/////////9////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qv//////////////6P///zL///8A////AP///wD///8A////AP///wD///8A////AP///y3////l", + "//////////3///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C///////////////o////Mv///wD///8A////AP///wD///8A////AP///wD///8A////Lf///+X//////////f///yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0L//////////////+j///8y////AP///wD///8A////AP///wD///8A////AP///wD///8t////5f/////////9////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qv//////////////6P///zL///8A////AP///wD///8A////AP///wD///8A////AP///y3////l", + "//////////3///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8T//////////////27///8A////AP///wD///8A////AP///wD///8A////o///////////////pP//////////////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C////+n/////////9////xj///8A////AP///wD///8A////AP///xr////4/////////9////8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////////////////////7////3P///7r///+X////Mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////3/////////+D///8A////AP///wD///8A////AP///w/////8/////////9H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////sf//////////////Jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////zf/////////d////O////z7////5/////////9r///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////wv///0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+f//////////////81////AP///wD///8A////AP///yv//////////////7X///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////+////wL///8A////AP///wD///8A////AP///wD///8d//////////////+/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////n///////////////Nf///wD///8A////AP///wD///8r//////////////+1////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q//////////////+P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////mP////////+z////AP///wD///8A////AP///9j/////////Z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+i//////////////+c////FP///wD//////////////yj///8A////AP///yT///9F////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///47/////////xf///wD///8A////AP///9L/////////fv///wD///8A////AP///wD///8K////5/////////9m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+9//////////////9l////AP///wD///8A////Sv//////////////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1n//////////////5T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////lf//////////////Vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9K//////////////9+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////j///////////////rP///wD///8A////AP///wL///+8//////////////9r////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///86////5P//////////////2f///+//////////wP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Uf////7////d////Pf///wD///8A////AP///wD///8X////0v//////////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8q////9P///7////82////AP///wD///8A////AP///wD///8Z////0///////////////iv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////of/////////Q////0//////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////a///////////////Pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3L///////////////L///90////C////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uv//////////////c////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///5f//////////////5T///8E////AP///wD///8F////l///////////////lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////9f/////////m////Mv///wD///8A////AP///wT///+i//////////////9w////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///+r//////////////+r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8r////ov///zj///8A////AP///wD///8A////BP///5D//////////////5f///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////4/////////99////AP///wD///8A////AP///zD///+R////xv////X////y////2f///7H///95////G////wD///8A////o//////////l////DP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///xv////9/////////8T//////////v///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8T////0///////////////jf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///////////////////53///8H////AP///wD///8A////AP///wD///8o////lv///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////Ef///6P///////////////////+A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9M////////////////////yf///yL///8A////AP///wD///8A////AP///wD///8D////RP///2P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///80////9P/////////v////LP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////+4////+f////////+5////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///47/////////7////7///////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////3//////////////4T///8A////AP///wD///8A////AP///wD///8A////AP///+j/////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vP//////////////9f///1b///8A////AP///wD///8A////AP///wD///9K////8v//////////////of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///9Z/////v//////////////Tv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////B//////////////9J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Sv//////////////uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///1P////8//////////////9n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///4n//////////////7////8X////AP///wD///8A////AP///wD///89////b////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///xT////7//////////D///8G////AP///wD///8A////AP///wD///8A////AP///wD///8H////8v/////////7////FP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////UP//////////////uP///wD///8A////AP///wD///8A////AP///wD///9///////////L////x", + "/////////4z///8A////AP///wD///8A////AP///wD///8A////qP//////////////Xv///wD///8A////AP///wD///8A////BP///8v//////////////1T///8A////AP///wD///8A////AP///wD///8z////+v/////////N////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///93//////////////+W////AP///wD///8A////AP///wD///8A////AP///5X//////////////2v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP////W//////////////8/////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////R/////////+3///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////g/////////+7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////z/////////+z///8A////AP///wD///8A////AP///wD////t//////////T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yL///8A////AP///wD///8A////AP///wD///9K//////////////+e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////of//////////////U////wD///8A////AP///wD///8A////AP///zD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9F/////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP////b/////////0v///wD///8A////AP///wD///8A////AP///8r//////////P///xz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Yf///+v////q////W////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8u////if///9j////////////////////4////yP///2P///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3///////////////83///8R////AP///wD///8A////AP///wT///9O////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Q///////////////pf///wD///8A////AP///wD///8A////AP///wD///+t//////////////83", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9f/////////2P///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///7D/////////4v///0b///8A////AP///wD///8A////AP///wD///8A////AP///wD///9H////5P////////+t////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL///+w/////////+L///9G////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////R////+T/////////rf///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////7f///////////////////////////////////////////////////+D///8A////AP///wD////g/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Pf///8r///84////AP////X/////////PP///wD///8A////AP///wD///8A////AP///1j/////////9////yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///89////yv///zj///8A////9f////////88////AP///wD///8A////AP///wD///8A////WP/////////3", + "////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////AP///wD///8A////AP///0//////////7v///wD///8A////AP///wD///8A////AP///1j/////////9////yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9b////6v///+z///9h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G/////3/////////xP/////////+////IP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b/////f/////////E//////////7///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///xv////9/////////8T//////////v///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G/////3/////////xP/////////+////IP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b/////f/////////E//////////7///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///xv////9/////////8T//////////v///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///80//////////////97////AP//////////", + "////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////j//////////////xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////Ef///6P///////////////////+A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////9//////////////+E////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7z///////////////X///9W////AP///wD///8A////AP///wD///8A////Sv////L/////", + "/////////6H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vP//////////////9f///1b///8A////AP///wD///8A////AP///wD///9K////8v//////////////of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+8///////////////1////Vv///wD///8A////AP///wD///8A////AP///0r////y//////////////+h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7z///////////////X///9W////AP///wD///8A////AP///wD///8A////Sv////L/////", + "/////////6H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vP//////////////9f///1b///8A////AP///wD///8A////AP///wD///9K////8v//////////////of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qv//////////////6P///zL///8A////AP///wD///8A////AP///wD///8V////7f//////////", + "//////////f///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///93//////////////+W////AP///wD///8A////AP///wD///8A////AP///5X//////////////2v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8///////////f///wn///8A////AP///wD///8A////AP///+n/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Zv////z////h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L////9////Z////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2f////3///94////AP///wD///8A////Af///3r////9////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///+X////T////AP///wD///8A////Pf///7L////v////1v///1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////bf///9f////1////0v///1////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+K//////////////9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2b////8////4f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////4v////3///9n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9n////9////eP///wD///8A////AP///wH///96/////f///9j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Zv////z////h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////i/////f///2f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9n////9////eP///wD///8A////AP///wH///96/////f///9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g////yv/////////9////8v/////////m////IP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////l////0////wD///8A////AP///z3///+y////7////9b///9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///2b////8////4f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L////9////Z////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2f////3///94////AP///wD///8A////Af///3r////9////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////l////0////wD///8A////AP///z3///+y////7////9b///9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2b////8////4f///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v////3///9n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////Z/////f///3j///8A////AP///wD///8B////ev////3////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP////b/////////0v///wD///8A////AP///wD///8A////AP///8r//////////P///xz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////Iv///wD///8A////AP///wD///8A////AP///0r//////////////57///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD////2/////////9L///8A////AP///wD///8A////AP///wD////K//////////z///8c", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///97//////////////53///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9t/////////9////8A////AP///wD///8A////rf////////+T", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz////p///////////////5////rf//////////////kv///6X////V//////////L///8R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Lv//////////////df///xz///+F//////////z///8c////AP///wD///8A////AP///wD///9q/////////+T///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1z///////////////z///+5////bv///5L////4//////////////9e////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////If//////////////yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////L//////////////8d////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////f/////////+P///8D////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////0f//////////////2////4////+V////4P//////////////tP///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8W////vf/////////////////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+o////////////////////3f///6P///94////mf///+7//////////////87///8F////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7/////////////////////a////r////4T///98////pf////f//////////////9r///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8O////3//////////9/////////8D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9X//////////////+4////mP///5j///+Y////mP///5j///+Y////mP///5j///8x////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5P////////////////////r////sP///4////9y////fP///6H///83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////mP///5j///+Y////mP///5j///+Y////mP///5j///+Y////mP///5j///+a/////f/////////h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////H////+z//////////////+v///+W////m////+3//////////////+3///8e////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///98///////////////6////qf///3z///+b////3v//////////////1v///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP///+z////r////Y////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r//////////////9////+y////if///5r////Y///////////////s////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9Z//////////L///8r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7//////////////1X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v////////////////////B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////8P///1z///9c////XP///2L///98////o/////b//////////////+D///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8B////dP////r///////////////D///+7////hP///2r///+T////wf////3/////////b////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///1z///9t////mP///8L////x///////////////7////hv///wb///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////8P///1z///9c////XP///1z///9c////XP///1z///9c////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////w////XP///1z///9c////XP///1z///9c////XP///1z///9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C////3f///////////////P///9b///+m////dv///2X///98////rf///+3/////", + "////9v///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8d///////////////t////GP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///9H////+v/////////k////Hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////r//////////////2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////M///////////////+///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////n////DP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8N////pP///////////////////97///+r////eP///3P///+n////2v////7//////////////5D///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///2j///+J////xv///////////////////6j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6H//////////////2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9l//////////////+X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////w////XP///1z///9f////dP///4v////V////////////////////sP///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Dv///9n///////////////3////E////df///3n///+i////1v/////////7////G////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1z///9c////XP///1z///9c////XP///1z///////////////D///9c////XP///1z///9c////XP///1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Z///////////////o////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+n", + "//////////////9n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+V//////////////93////AP///wD///8A////AP///wD///8A////AP///zj/////////////////////////Qv///wD///8A////AP///wD///8A////AP///wD///9u//////////////+e////AP///wD///8A", + "////AP///wD///+C//////////////+e////AP///wD///8A////AP///wD///8A////AP///wD///97//////////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///+z/////////+////yD///8A////AP///wD///8A////AP///wD///8A////Hv////r/////", + "////5////wr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1z///9c////XP///1z///9c////XP///1z///9c////XP///6D//////////////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ov//////////////jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7///////////////y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8z//////////////yT///8A////AP///wD///8A////Iv//////////////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+L////5f///2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////gf///wD///8A////AP///wD///8A////AP///6v//////////////2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h//////////////+x////AP///wD///8A////AP///wD///8A////jf///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP////e////yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9u//////////////9v////AP///wD///8A////AP///wD///8A////aP//////////////ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////q///////////////i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////t////wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Cf///9T//////////////+3///+X////dv///4z///+w////6v////////+q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C//////////////8t////AP///wD///8A////AP///wD///8A////AP///zL//////////////7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3f/////////r////Gf///wD///8A////AP///wD///8A////Cv///0D///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Av///4H////+/////////57///9O////G////wD///8A////AP///xv///9O////nv/////////9////ff///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL///+B/////v////////+e////Tv///xv///8A////AP///wD///8b////Tv///57//////////f///33///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////x////////////////////////////////////////////////////4P///wD///8A////AP///+D/////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d//////////3///97////6P////////88////AP///wD///8A////AP///wD///8A////AP///7v/////", + "////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///53//////////f///3v////o/////////zz///8A////AP///wD///8A////AP///wD///8A////u/////////+4////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////TP///9////9m////Hv///wD///8Y////wf/////////L////AP///wD///8A////AP///wD///8A////AP///7v/////////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L//////////////+r///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u////////////////////8H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+7////////////////////wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v////////////////////B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u////////////////////8H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+7////////////////////wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v////////////////////B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+9/////////+f///9c///////////////w////XP///1z///9c////XP///1z///9c////XP///1z///9c////AP///wD///8A////AP///wD///8A", + "////3f//////////////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///1z///9c////XP///1z///9c////XP///1z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////8P///1z///9c////XP///1z///9c////XP///1z///9c////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////w////XP///1z///9c////XP///1z///9c////XP///1z///9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////D///9c////XP///1z///9c////XP///1z///9c////XP///1z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf//////////////7f///xj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8d///////////////t////GP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x3//////////////+3///8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf//////////////7f///xj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////D///9c////XP///1z///9t////mP///8L////x///////////////7////hv///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////5////wz///8A////AP///wD///8A////AP///wD///8A////AP///+j/////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///6T////////////////////e////q////3j///9z////p////9r////+//////////////+Q////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8N////pP///////////////////97///+r////eP///3P///+n////2v////7//////////////5D///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3///+k////////////////////3v///6v///94////c////6f////a/////v//////////", + "////kP///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///6T////////////////////e////q////3j///9z////p////9r////+//////////////+Q////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8N////pP///////////////////97///+r////eP///3P///+n////2v////7//////////////5D///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vP//////////////9f///1b///8A////AP///wD///8A////AP///wD///+I////////////////////g////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///+z/////////+////yD///8A////AP///wD///8A////AP///wD///8A////Hv////r/////", + "////5////wr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////pP//////////////eP///wD///8A////AP///wD///9A///////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2z//////////////0f///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP//////////////av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8j////6/////////+k////BP///wT///+n/////////+v///8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rP////////+j////bv///77//////////////////////////v///zj///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv///+r///9+////AP///wD///8A////gf///+r///97////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///2r/////////8P///7D////x/////////1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///03//////////////9H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9s//////////////9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I//////////////9q////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I////+v/////////pP///wT///8E////p//////////r////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9+////6v///37///8A////AP///wD///+B////6v///3v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2z//////////////0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0j//////////////2r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////I////+v/////////pP///wT///8E////p//////////r////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9+////6v///37///8A////AP///wD///+B////6v///3v///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////z////////////////////33///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6z/////////o////27///++//////////////////////////7///84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s//////////////9H////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP//////////////av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8j////6/////////+k////BP///wT///+n/////////+v///8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6z/////////o////27///++//////////////////////////7///84////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///37////q////fv///wD///8A////AP///4H////q////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s//////////////9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9I//////////////9q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////r/////////6T///8E////BP///6f/////////6////yP///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv///+r///9+////AP///wD///8A////gf///+r///97////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9u//////////////9v////AP///wD///8A////AP///wD///8A////aP//////////////ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+B////AP///wD///8A////AP///wD///8A////q///////////////Yf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bv//////////////b////wD///8A////AP///wD///8A////AP///2j//////////////33///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////7P//////////////q////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0H//////////v///wv///8A////AP///wD///+B/////////77///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zH////L/////////////////////////////////////////////////////////2f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP//////////////////////////////ef///wD///8A////AP///wD///8A////AP///wX////d", + "/////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5v/////////////////////////////////////////pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f/////////5////FP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP////n/////////3f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3n//////////////0////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8W////2P///////////////////////////////////7r///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////h/////7//////////////8D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///9x////8P/////////////////////////////////////////M////Jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////FP///57////6///////////////////////////////////////////////L////K////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+/////f//////////////wP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0P//////////////////////////////////////////////////////////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Af///1f////Z/////////////////////////////////////////0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////RP///+z////////////////////////////////////t////Rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wT///99////+v///////////////////////////////////7D///8O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////lv////b/////////////////////////////////////////6f///0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C//////////b///9k////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8p////2v////////+3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Xf///////////////////2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////////////////////////////////////////////////////e////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N////9////////////////////////////////////////////////////+8", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////zP///y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////jv////3/////////////////////////////////////////////////////////av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92////4f//////////////////////////////2////2X///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///9d/////v/////////V////Ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////5////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2P////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////2T///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP////T//////////////////////////////////////////////+7///9P", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////3///+d////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////gf//////////////kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L//////////////3X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////+////6b///8P////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv///9H///////////////////////////////////////////////////9n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///++//////////////9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1T//////////////73///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9n//////////////zX///8A////AP///wD///8A////AP///wD///8A////A////+7///////////////P///8G////AP///wD///8A////AP///wD///8A////AP///zT//////////////9////8A////AP///wD///8A////OP////z/////////2////wz///8A////AP///wD///8A////AP///wD///8A////AP///wL////D", + "//////////z///85////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///98//////////////+i////AP///wD///8A////AP///wD///8A////AP///wD///8A////m///////////////d////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+j//////////7///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////df//////////////3////3T///9n////kf///1L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////m///////////////dv///wD///8A////AP///wD///90//////////////+K////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////E/////z/////////7P///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////t////Of///wD///8A////AP///wD///9W////+//////////g////Bf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX////g//////////3///9h////AP///wD///8A////AP///0v////1////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9X/////////+f///xP///8A////AP///wD///8A////AP///wD///8P////9v/////////f", + "////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+n//////////////+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A//////////////+w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kf///9D///////////////////////////////////////////////H///8V", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Qf//////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7b//////////////zv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+L///////////////b////nf///3T///9q////i////7P////1/////v///yf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0T////D////////////////////5////8H////n////////////////", + "////wv///0L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9E////w////////////////////+f////B////5////////////////////8L///9C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87////////////////////////////////////////////////////g////AP///wD///8A////4P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9P////5P///////////////////zz///8A////AP///wD///8A////AP///wD///8A////Jf////j/////////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0/////k////////////////////PP///wD///8A////AP///wD///8A////AP///wD///8l////+P////////9V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+u////////////////////9v///////////////P///0L///8A////AP///wD///8A////AP///wD///8A", + "////Jf////j/////////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f//////////////6f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9d////////////////////ZP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///13///////////////////9k////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Xf///////////////////2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9d////////////////////ZP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///13///////////////////9k////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////yv///////////////////8P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0b///////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///+5//////////////9W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////dv///+H//////////////////////////////9v///9l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92////4f//////////////////////////////2////2X///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3b////h///////////////////////////////b////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////dv///+H//////////////////////////////9v///9l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////zP///y////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////9k////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///2D////0///////////////////////////////////////////////u////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP////T//////////////////////////////////////////////+7///9P", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9g////9P//////////////////////////////////////////////7v///0////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///2D////0///////////////////////////////////////////////u////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP////T//////////////////////////////////////////////+7///9P", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8N////pP///////////////////97///+r////eP///2r///+L////y/////////////////////////9F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///98//////////////+i////AP///wD///8A////AP///wD///8A////AP///wD///8A////m///////////////d////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///86/////P/////////+////r////2////9o////l/////T//////////////2z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W/////v////////+s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////rP/////////9////Uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///89////+v////////+u////r//////////6////Pf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///85///////////////////////////////A////bf///6L/////////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////n/////////+r///8A////AP///wD////r/////////+3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P////r///8S////AP///xn////8////zf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7j//////////////6L///8K////AP///wD///8A////AP///xb///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vv////7/////////rP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+s//////////3///9S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Pf////r/////////rv///6//////////+v///z3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+f/////////6v///wD///8A////AP///+v/////////7f///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W/////v////////+s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6z//////////f///1L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pf////r/////////rv///6//////////+v///z3///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+f/////////6v///wD///8A////AP///+v/////////7f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////JP///7j///////////////T//////////////7j///8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Of//////////////////////////////wP///23///+i/////////6z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vv////7/////////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////rP/////////9////Uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///89////+v////////+u////r//////////6////Pf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Of//////////////////////////////wP///23///+i/////////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////5//////////q////AP///wD///8A////6//////////t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Vv////7/////////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+s//////////3///9S////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z3////6/////////67///+v//////////r///89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////n/////////+r///8A////AP///wD////r/////////+3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9X/////////+f///xP///8A////AP///wD///8A////AP///wD///8P////9v/////////f", + "////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+3///85////AP///wD///8A////AP///1b////7/////////+D///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////V//////////n///8T////AP///wD///8A////AP///wD///8A////D/////b/////////3////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////5//////////////+5////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Fv//////////////Nv///wD///8A////AP///1b/////////6v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///9T////mf///9P///////////////P////R////rv///3r///8m////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////c////8T////w////vv///2D///8A////AP///wD///8A////AP///wD///8A////AP///1z/////////7f///w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///0H///+u////1v////X////d////tv///03///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9///////////////+A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9///////////////96////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv////n/////////t////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8V////Zv///6T////i////3f///5z///9c////Cf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tf///+//////////wP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8T////bP///7v////h////9////9j///+w////ZP///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv///9x////tv///97////0////7f///8r///+m////VP///wH///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+J///////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Lv//////////////////////////////////////////////////////////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///9d////lf///7n////d////+v////T////W////M////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////D////4T////F////7P///+z////G////hv///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x////lf///8T////w////1////6L///9i////Af///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///23///+m////zv////T////h////u////37///8N////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xH///+t//////////////+n////Dv///wD///8A////AP///wD///8A////AP///wD///8C////c/////f/////////9P///yL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8L////8//////////3////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////////////////////1////3v///8f///+m////SP///wH///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///0r///97////rf///97////1////2v///77///+R////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////+P///9H///+m////e////07///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Jv///1z///+H////sv///93////3////4f///8j///+s////af///xz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7D/////////////////////////////////////////mP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///93///////////////E", + "////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////7P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///99/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////R////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j/////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////1f///+G////tv///+X////p////t////4b///9V////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////////////////////5////2f///7f///+T////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9E///////////////w////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L", + "////8P//////////////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////v///+n////O////s////4f///8e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Af///1n///+u////0v////X////q////zv///7L///94////If///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////j////4////4P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////F/////3/////////9P///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C/////b//////////P///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e///////////////x////A////wD///8A////AP///wD///8A////AP///wD///8A////q///////////", + "////sP///wD///8A////AP///wD///8A////AP///wD///8A////BP////T//////////////x////8A////AP///wv////b//////////v///82////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD////x/////////9v///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////D////+///////////v///yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8i////+//////////t////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////E/////j/////////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////1v//////////////////////////////tP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////8v/////////w////l////zr///84////kf///+3//////////////2P///8d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U/////f/////////9////Cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////z////+7////5////pP///3b///90////q/////3//////////////2f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2b///////////////7///+v////dP///3r///+t////+////+3////P//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///89//////////////+q////AP///wD///8A////AP///wD///8A////AP///wD///+l//////////////9F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////XP///+n////n////Vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////7D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///17///+u////1f////b////k////x////6j///9c////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////A//////////////88////AP///wD///8A////AP///wD///8A////AP///wD///8A////Of//////////", + "////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wT///+r////////////////////////////////////////////////////h////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8u////jv///7n////c////9////9z///+5////jv///y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv///47///+5////3P////f////c////uf///47///8u", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////q////////////////////////////////////////////////////+D///8A////AP///wD////g/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8O////lP////3/////////PP///wD///8A////AP///wD///8A////AP///wD///8A////gv/////////k////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7///+U/////f////////88////AP///wD///8A////AP///wD///8A////AP///wD///+C", + "/////////+T///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///9S////sv///+f////4////3P///6v///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////gv/////////k////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9W////5////+n///9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////z//////////f///8P////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C/////P/////////9////w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8L////8//////////3////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////z//////////f///8P////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C/////P/////////9////w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///2r//////////////////////////////1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87/////////////////////", + "/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///5X//////////////3j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w/////////////////////////////////////////5j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7D/////////////////////////////////////////mP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////sP////////////////////////////////////////+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w/////////////////////////////////////////5j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////+P///9H///+m////e////07///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////0f///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv///9X////hv///7b////l////6f///7f///+G////Vf///xb///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////1f///+G////tv///+X////p////t////4b///9V////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8b////V////4b///+2////5f///+n///+3////hv///1X///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv///9X////hv///7b////l////6f///7f///+G////Vf///xb///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////1f///+G////tv///+X////p////t////4b///9V////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP////T///////////////////////////////////////////////X////2", + "/////////9b///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////j////4////4P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////+P////j////g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////4////+P///+D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////j////4////4P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////D////+///////////v///yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8i////+//////////t////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92/////v////////////////////////////////////////+f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Mf////b/////////+v///yP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////+v/////////1////Lv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9y/////////////////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9X////1v///+7///+y////Qf///wD///8A////Af///9f////k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///33////q////fv///wD///8A////AP///4H////w////kf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////1////zf///wD///8A////AP///8/////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I/////f//////////////+X///+w////h////5P////H/////P///3H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zH////2//////////r///8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///yP////6//////////X///8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cv////////////////////////9y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ff///+r///9+////AP///wD///8A////gf////D///+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Mf////b/////////+v///yP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I/////r/////////9f///y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cv////////////////////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////ff///+r///9+////AP///wD///8A////gf////D///+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////J//////////7///+R////C////17////p/////////8H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////V////9b////u////sv///0H///8A////AP///wH////X////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///zH////2//////////r///8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////+v/////////1////Lv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9y/////////////////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////V////9b////u////sv///0H///8A////AP///wH////X////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///99////6v///37///8A////AP///wD///+B////8P///5H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zH////2//////////r///8j////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////6//////////X///8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///3L/////////////////////////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///33////q////fv///wD///8A////AP///4H////w////kf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///89//////////////+q////AP///wD///8A////AP///wD///8A////AP///wD///+l//////////////9F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Z////7v////n///+k////dv///3T///+r/////f//////////////Z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pf//////////////qv///wD///8A////AP///wD///8A////AP///wD///8A////pf//////////", + "////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///xv////8/////////+v///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///+r/////////+v///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9n////9v/////////2////yf///5f///9m////M////zX///9k////k////9H//////////////8P///8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////E//////////////9u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2n//////////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////gP///8/////v////8f///9H///+J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9V////7//////////////////////////////////////////////////////////p////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+N////7v///4T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////+L////Qv////D///////////////////////////////v///9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2/////7///////////////////////////////u////Pv///4r//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6X//////////////0f///8A////AP///wD///8A////AP///wD///8A////AP///0P//////////////6n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////z/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o//////////P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///86////nv///83////p////9////93////A////kv///zz///8B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///9j//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+H////////////////////////////////////////////////////4P///wD///8A////AP///+D/////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P////r///8S////AP///xn////8////zf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////cf//////////////sP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////1f///+G////tv///+X////x////0////7P///9m////Dv///23/////////+P///0L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8r////oP///9D////u////8v///9P///+o////Pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W//////////////+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Z///////////////V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wH////J///////////////J////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///wf///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T////8////G////wD///8b/////P///8////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv///87/////////////////////////////////////////y////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////1v//////////////mP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5n//////////////9X///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////yf//////////////yf///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W//////////////+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mf//////////////1f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8B////yf//////////////yf///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0P///+8////M////wD///8A////AP///xD///+U////K////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1v//////////////mP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Z///////////////V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wH////J///////////////J////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///8H////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1v//////////////mP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///5n//////////////9X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///8n//////////////8n///8B////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6X//////////////0f///8A////AP///wD///8A////AP///wD///8A////AP///0P//////////////6n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////8f///9C////8P//////////////////////////////+////3D///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+l//////////////9H////AP///wD///8A////AP///wD///8A////AP///wD///9D//////////////+p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A//////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6///////////////2v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9o//////////////+r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8q////0P//////////////////////////////////////////", + "//////////b///9x////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0L//////////////+j///8y////AP///wD///8A////AP///wD///8A////AP///wD///8t////5f/////////9////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////2P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8V////jf///8D////l//////////////////////////////////////////////84", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////2P///8A////If///5P////Z////9f///9H///+b////Pf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z3///+b////0f////X////Z////kf///x7///8A////Yf//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////+P/////////i////Av///wD///8A////AP///wD///8A////AP///wD///8A////Af///9//////", + "////+f///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///8D//////////////zP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////M///////////////v////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////2P//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL////3///////////////////////////////////////////////g////AP///wD///8A////4P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8H////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////1////zf///wD///8A////AP///8/////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8r/////f/////////+////Lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8H////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///4P///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////af/////////z////sv////L/////////Xf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////A////2b///+p////0f////X////n////y////5T///8+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////+P/////////i////Av///wD///8A////AP///wD///8A////AP///wD///8A////Af///9//////", + "////+f///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////1P///wD///8h////k////9n////1////0f///5v///89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////FP////j/////////4v///wL///8A////AP///wD///8A////AP///wD///8A////AP///wH////f//////////n///8U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////yj///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv////n/////////3f///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Av///9r/////////+P///yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////Nf///4b////C////2/////T////m////t////4j///9Z////HP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7z///////////////X///9W////AP///wD///8A////AP///wD///8A////Sv////L/////", + "/////////6H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////5f///1j///9Y////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y////WP///1j////l//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cP//////////////7P///43///9k////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////ZP///43////s//////////////9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///4L//////////////////////////////////////////////+////98////fP///3z////v/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m/////P///+H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L////9////Z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////2f////3///94////AP///wD///8A////Af///3r////9////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+X////T////AP///wD///8A////Pf///7L////v////1v///1T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///37////q////fv///wD///8A////AP///4H////q////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///9T////8////G////wD///8b/////P///8////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+h//////////////+s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9m/////P///+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v////3///9n////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Z/////f///3j///8A////AP///wD///8B////ev////3////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9+////6v///37///8A////AP///wD///+B////6v///3v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m/////P///+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L////9////Z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////2f////3///94////AP///wD///8A////Af///3r////9////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9+////6v///37///8A////AP///wD///+B////6v///3v///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////5f///9P///8A////AP///wD///89////sv///+/////W////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m/////P///+H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L////9////Z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////Z/////f///3j///8A////AP///wD///8B////ev////3////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+X////T////AP///wD///8A////Pf///7L////v////1v///1T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///37////q////fv///wD///8A////AP///4H////q////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m/////P///+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////4v////3///9n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Z/////f///3j///8A////AP///wD///8B////ev////3////Y////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9+////6v///37///8A////AP///wD///+B////6v///3v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////i/////f///2f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////av///9f////0////0f///1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////f///////////////V////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9R//////////////9/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///6T////////////////////e////q////3j///9z////p////9r////+//////////////+Q////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////oP////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////n////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///5v////9////////////////////////////////////////////////////////////////", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP//////////////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP//////////////av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////6/////////+k////BP///wT///+n/////////+v///8j", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rP////////+j////bv///77//////////////////////////v///zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////5//////////q////AP///wD///8A////6//////////t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////af/////////z////sv////L/////////Xf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///x7////4//////////7///9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP//////////////R////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I//////////////9q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yP////r/////////6T///8E////BP///6f/////////6////yP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+f/////////6v///wD///8A////AP///+v/////////7f///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP//////////////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////SP//////////////av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////6/////////+k////BP///wT///+n/////////+v///8j////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+f/////////6v///wD///8A////AP///+v/////////7f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+s/////////6P///9u////vv/////////////////////////+////OP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP//////////////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP//////////////av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////r/////////6T///8E////BP///6f/////////6////yP///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rP////////+j////bv///77//////////////////////////v///zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////5//////////q////AP///wD///8A////6//////////t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////bP//////////////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I//////////////9q////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////r/////////6T///8E////BP///6f/////////6////yP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///+f/////////6v///wD///8A////AP///+v/////////7f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0j//////////////2r///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////1P/////////M////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8b/////////1v///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///2D////0///////////////////////////////////////////////u////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Pf///6b////T////8f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////D////S////pf///zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zL///+i////yP///+r///////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///1b////+/////////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rP/////////9////Uv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///89////+v////////+u////r//////////6////Pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///85///////////////////////////////A////bf///6L/////////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///99////6v///37///8A////AP///wD///+B////8P///5H///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////av///9f////0////0f///1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j///////////////////+d////B////wD///8A////AP///wD///8A////KP///5b///8J", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b////+/////////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+s//////////3///9S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z3////6/////////67///+v//////////r///89////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ff///+r///9+////AP///wD///8A////gf////D///+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1b////+/////////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rP/////////9////Uv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///89////+v////////+u////r//////////6////Pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////ff///+r///9+////AP///wD///8A////gf////D///+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zn//////////////////////////////8D///9t////ov////////+s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///1b////+/////////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rP/////////9////Uv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z3////6/////////67///+v//////////r///89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///85///////////////////////////////A////bf///6L/////////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///99////6v///37///8A////AP///wD///+B////8P///5H///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b////+/////////6z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+s//////////3///9S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///z3////6/////////67///+v//////////r///89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ff///+r///9+////AP///wD///8A////gf////D///+R////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6z//////////f///1L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L////9////Z////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv///9X////hv///7b////l////6f///7f///+G////Vf///xb///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+L////5f///2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x////9v/////////6////I////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////+v/////////1////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9y/////////////////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9X////1v///+7///+y////Qf///wD///8A////Af///9f////k", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///3T////6///////////////w////u////4T///9q////k////8H////9/////////2////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8x////9v/////////6////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////6//////////X///8u////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3L/////////////////////////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x////9v/////////6////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////+v/////////1////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9y/////////////////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///1f////W////7v///7L///9B////AP///wD///8B////1////+T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x////9v/////////6////I////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////+v/////////1////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///3L/////////////////////////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9X////1v///+7///+y////Qf///wD///8A////Af///9f////k", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x////9v/////////6////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///yP////6//////////X///8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3L/////////////////////////cv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////I/////r/////////9f///y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP//////////////av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///37////q////fv///wD///8A////AP///4H////q////e////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////E/////z/////////7P///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b//////////////5j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Z///////////////V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////J///////////////J////Af///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///zf////f////////////////////////////////////////////////////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b//////////////5j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5n//////////////9X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Af///8n//////////////8n///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b//////////////5j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+Z///////////////V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////J///////////////J////Af///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////B////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b//////////////5j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Z///////////////V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///8n//////////////8n///8B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9b//////////////5j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5n//////////////9X///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///8n//////////////8n///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mf//////////////1f///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////rP/////////9////Uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5//////////q////AP///wD///8A////6//////////t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U/////f/////////9////Cv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3///9K////e////63////e////9f///9r///++////kf///zX///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////+v/////////1////Lv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///99////6v///37///8A////AP///wD///+B////8P///5H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+N////7v///4T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Z///////////////V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AA==" +}; + +// Texture image block count +const size_t CAF_FIXED_ATLAS_FONT_24_PT_TEXTURE_IMAGE_BLOCK_COUNT = 5462; + + +// Fixed Atlas Font: Droid Sans Regular (32pt) +// Exported by FreeType Font Extractor 1.0.0 +// Copyright (c) 2011 Ceetron AS +// -------------------------------------------------------------------------------- + +// Font name +const char CAF_FIXED_ATLAS_FONT_32_PT_NAME[] = "Droid Sans Regular (32pt)"; + +// Number of glyphs +const size_t CAF_FIXED_ATLAS_FONT_32_PT_NUM_GLYPHS = 256; + +// Horizontal bearings X +const short CAF_FIXED_ATLAS_FONT_32_PT_HORIZONTAL_BEARINGS_X[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3, 3, 1, 3, 2, 2, 3, 2, 1, 2, 1, 1, 2, 3, -1, 2, 4, 2, 2, 0, 3, 2, 2, 2, 2, 3, 1, 2, 2, 2, 1, + 2, -1, 4, 3, 4, 4, 4, 3, 4, 1, -4, 4, 4, 4, 4, 3, 4, 3, 4, 2, 0, 4, -1, -1, -1, -1, 3, 3, -1, 1, 1, 0, + 8, 2, 4, 2, 2, 2, 1, 1, 4, 3, -1, 4, 4, 4, 4, 2, 4, 2, 4, 1, 1, 4, -1, -1, 1, -1, 2, 2, 10, 2, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3, 4, 1, 2, 1, 10, 2, 6, 2, 1, 2, 2, 2, 2, 0, 3, 1, 1, 1, 8, 4, 2, 3, 1, 1, 1, 2, 1, 1, 1, 1, + -1, -1, -1, -1, -1, -1, -1, 3, 4, 4, 4, 4, 1, 1, 0, 1, 1, 4, 3, 3, 3, 3, 3, 2, 3, 4, 4, 4, 4, -1, 4, 4, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 4, -1, 0, 2, 4, 2, 2, 2, 2, 2, 1, 2, 4, 4, 4, 4, -1, 4, -1 +}; + +// Horizontal bearings Y +const short CAF_FIXED_ATLAS_FONT_32_PT_HORIZONTAL_BEARINGS_Y[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 31, 31, 31, 33, 31, 31, 31, 31, 31, 33, 26, 5, 13, 5, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 23, 23, 26, 21, 26, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, -4, + 33, 23, 33, 23, 33, 23, 33, 23, 33, 32, 32, 33, 33, 23, 23, 23, 23, 23, 23, 23, 29, 23, 23, 23, 23, 23, 23, 31, 33, 31, 19, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 23, 31, 31, 24, 31, 33, 33, 31, 31, 31, 20, 17, 13, 31, 36, 31, 26, 31, 31, 33, 23, 33, 18, 0, 31, 31, 20, 31, 31, 31, 23, + 40, 40, 40, 40, 38, 38, 31, 31, 40, 40, 40, 38, 40, 40, 40, 38, 31, 40, 40, 40, 40, 40, 38, 26, 32, 40, 40, 40, 38, 40, 31, 33, + 33, 33, 33, 33, 31, 35, 23, 23, 33, 33, 33, 31, 33, 33, 33, 31, 33, 33, 33, 33, 33, 33, 31, 25, 24, 33, 33, 33, 31, 33, 33, 31 +}; + +// Horizontal advances +const cvf::uint CAF_FIXED_ATLAS_FONT_32_PT_HORIZONTAL_ADVANCES[] = +{ + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 11, 12, 17, 28, 24, 35, 30, 10, 13, 13, 24, 24, 11, 14, 12, 16, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 12, 12, 24, 24, 24, 18, + 37, 26, 27, 26, 29, 23, 21, 30, 30, 15, 12, 25, 21, 37, 31, 32, 25, 32, 25, 22, 22, 30, 24, 38, 24, 23, 23, 13, 16, 13, 23, 18, + 25, 23, 25, 20, 25, 23, 14, 22, 25, 11, 11, 21, 11, 39, 25, 25, 25, 25, 17, 19, 15, 25, 21, 32, 22, 21, 19, 15, 24, 15, 24, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 11, 12, 24, 24, 24, 24, 24, 21, 25, 36, 14, 21, 24, 14, 36, 22, 18, 24, 14, 14, 25, 26, 28, 12, 9, 14, 15, 21, 32, 32, 32, 18, + 26, 26, 26, 26, 26, 26, 37, 26, 23, 23, 23, 23, 15, 15, 15, 15, 29, 31, 32, 32, 32, 32, 32, 24, 32, 30, 30, 30, 30, 23, 25, 26, + 23, 23, 23, 23, 23, 23, 36, 20, 23, 23, 23, 23, 11, 11, 11, 11, 25, 25, 25, 25, 25, 25, 25, 24, 25, 25, 25, 25, 25, 21, 25, 21 +}; + +// Character widths +const cvf::uint CAF_FIXED_ATLAS_FONT_32_PT_CHARACTER_WIDTHS[] = +{ + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 11, 6, 12, 26, 18, 31, 27, 5, 11, 10, 20, 21, 7, 10, 5, 17, 20, 11, 20, 19, 23, 19, 20, 20, 20, 20, 5, 7, 20, 20, 20, 16, + 33, 28, 20, 22, 22, 16, 16, 24, 22, 12, 12, 22, 16, 29, 23, 26, 18, 26, 21, 17, 22, 22, 26, 40, 26, 24, 17, 9, 17, 9, 21, 18, + 8, 17, 19, 17, 19, 19, 15, 21, 17, 6, 10, 18, 4, 31, 17, 21, 19, 19, 12, 16, 13, 17, 23, 34, 20, 23, 16, 12, 4, 12, 20, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 11, 6, 16, 22, 20, 22, 4, 16, 12, 32, 11, 17, 20, 10, 32, 22, 12, 21, 12, 12, 8, 18, 21, 5, 8, 8, 13, 17, 29, 29, 30, 16, + 28, 28, 28, 28, 28, 28, 35, 22, 16, 16, 16, 16, 12, 12, 14, 12, 25, 23, 26, 26, 26, 26, 26, 19, 26, 22, 22, 22, 22, 24, 18, 20, + 17, 17, 17, 17, 17, 17, 32, 17, 19, 19, 19, 19, 8, 9, 14, 12, 21, 17, 21, 21, 21, 21, 21, 21, 21, 17, 17, 17, 17, 23, 19, 23 +}; + +// Character heights +const cvf::uint CAF_FIXED_ATLAS_FONT_32_PT_CHARACTER_HEIGHTS[] = +{ + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 11, 32, 11, 31, 36, 31, 31, 11, 38, 38, 19, 21, 11, 4, 6, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 24, 29, 21, 13, 21, 32, + 35, 31, 31, 31, 31, 31, 31, 31, 31, 31, 39, 31, 31, 31, 31, 31, 31, 40, 31, 31, 31, 31, 31, 31, 31, 31, 31, 38, 31, 38, 19, 3, + 7, 23, 33, 23, 33, 23, 33, 33, 33, 32, 42, 33, 33, 23, 23, 23, 33, 33, 23, 23, 29, 23, 23, 23, 23, 33, 23, 38, 43, 38, 8, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 11, 31, 31, 31, 19, 31, 43, 33, 4, 31, 15, 18, 12, 4, 31, 3, 13, 26, 18, 18, 7, 33, 38, 6, 10, 18, 15, 18, 31, 31, 31, 31, + 40, 40, 40, 40, 38, 38, 31, 41, 40, 40, 40, 38, 40, 40, 40, 38, 31, 40, 40, 40, 40, 40, 38, 19, 34, 40, 40, 40, 38, 40, 31, 33, + 33, 33, 33, 33, 31, 35, 23, 33, 33, 33, 33, 31, 33, 33, 33, 31, 33, 33, 33, 33, 33, 33, 31, 20, 25, 33, 33, 33, 31, 43, 43, 41 +}; + +// Texture image dimensions +const size_t CAF_FIXED_ATLAS_FONT_32_PT_TEXTURE_IMAGE_WIDTH = 11008; +const size_t CAF_FIXED_ATLAS_FONT_32_PT_TEXTURE_IMAGE_HEIGHT = 43; + +// Texture image data +const char* CAF_FIXED_ATLAS_FONT_32_PT_TEXTURE_IMAGE[] = +{ + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf///7n////0////1////0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7//////////////1L///8A////AP///wD///8u//////////////9S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////////If///wD///8A////AP///wD///8F////+f//////////////GP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////6P//////////////iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zP///+M////x/////H////E////i////zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Dv///3L///+e////wf///+P////5////5////9H///+s////Y////xn///8A////AP///wD///8A////AP///wD///8+////9f///////////////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv//////////", + "////Uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///+T/////", + "/////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+m///////////////m////Ev///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///9f////yP///wj///8A////AP///wD///8A////AP///7X///9z////CP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zz///88////PP///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////e//////////z///8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///4j///+I////iP///4j///+I////iP///4j///+I////iP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL////C////9f///8H///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8U////+f//////////////sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8F////Uf///63////X////8/////L////X////sv///1v///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////", + "////////////////////////////////////////////////////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///83////jP///7X////L////4f////b////t////yv///6f///+E////YP///w////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///1X///+W////wf///+T////z////+////+L///++////mv///3b///9F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Of///3H///+j////1f////P////O////ov///3b///8y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xH////0///////////////1////Ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///07///+K////rP///87////v////7v///8r///+l////gf///zL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///92////1f///+7////9////8f///87///+r////h////2P///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL////C", + "////9f///8H///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////e//////////z///8h////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8E////WP///8j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8o", + "////KP///yj///8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////I////WP///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x3///+5////9P///9f///9I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wj///9B////g////7v////R////5f////j////z////2////8T///+t////lf///17///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8V////+///////////////4P///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////+b///////////////r///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////////////////H////M////pv///4H///88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8B////Nf///4L///++////1v///+z////9////+f////D////Z////uv///4X///9E////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////", + "////////////////////+v///9X///+s////gv///1j///8v////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////", + "/////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x7///9q////sP///9D////m////+v////r////y////6P///8////+x", + "////jv///17///8q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z/////////////////////////////////////////////////////////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+i////3f////L////2////1P///67///+F////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4X////////////////////e////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////////////////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///+C///////////////6////Ef///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Z////8/////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////Sv///5n////H", + "////3v////T////0////3f///8X///+R////QP///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9B", + "////n////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5/////////////////////n////Df///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zn///+Q////uP///8/////n////+f///9////+6////lf///2P///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7///9t////mP///8T////u////5f///7j///+L////Xv///y3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////H/////////////////////////8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////yP///////////////////23///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b/////////////////////////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz////j///////////////t////Ff///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ev///////////////////+T///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////////////////////////////////////////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b/////P//////////////pP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D//////////////5n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l///////////////wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////w////8P////D////w////8P////D////w////8P////D////w////8P////D////w////8P////D////w////8P////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///x3////Z//////////H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///2H///+0", + "////2/////j////o////zv///4L///8g////AP///wD///8A////4P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+n///8A////AP///wD///8X////e////8f////m", + "////8////8P///+O////WP///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////U////4f///+t////0/////X////t////1f///73///+F", + "////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////Wv///5D////E////8////+f////H////ev///xT///8A////AP///yz///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////c////5/////L////9P////n////t////z////6T///9h////Ff///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///9e////of///77////b////9v///+3////S////tv///5v///98////Jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6b////j", + "////+P///+D///+y////cP///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///93////////////////////3f///wv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////RP///3f///+l////1P////T////R////pP///3f///9I////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Pf///5f///+5////0v///+r////4////3////8L///+l////Wf///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///w////+H////x////+n////8////6v///8H///99////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv///5v////C////6f////P////W", + "////j////yj///8A////AP///yz///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv/////////////////////////3", + "////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h/////////////////////////1j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////cv////////////////////////9V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////q////////////////////6f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////p////////////////////6r///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+k////4P////P////4////1P///6r///9p////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////////////////////9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9E////qP///83////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////v", + "////zf///6j///9D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////5////////////////////9f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z3///+X////uf///9L////r////+P///97////A////of///1T///8D////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////TP///9T////W////T////wD///8A////AP///wD///9S////1////9L///9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////Wf///43///+u////z/////D////w////z////67///+N////V////wb///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I////6v////k////9////9j///+B////Cv///x7//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////u////13///8A////AP///wD///8A////AP///wb///+5////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////PP///zz///88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+I", + "////iP///4j///+I////iP///4j///+I////iP///4j///+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wf///9Z////jf///67////P////8P////D////P////rv///43///9X////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////D////w////8P////D////w////8P////D////w////8P////D////w", + "////8P////D////w////8P////D////w////8P////D////w////8P////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b////rv///+X////k////rf///1b///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////////////////////////////////////////////////////////////////////////////////////////////////////9I", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////ZP///7f////X////8P////L////Q////rP///2f///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8f/////////d////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////4T///8A////AP///wD///+E//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv///8L////1", + "////wf///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+P////6////7f///9P///+v////S////wH///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////P////6D////S////9P///87///+f////Qf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9d////u////wb///8A////AP///wD///8A////AP///1////+5////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////6v//////////////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Dv///+r//////////////1P///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////////////////////////////////////7z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Dv///+r//////////////1P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rf///5X///+6////4P////X////T////rP///4X///9O////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Ff////v//////////////+D///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP////m///////////////6////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xX////7///////////////g", + "////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////5v//////////////+v///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8V////+///////////////4P///wH///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////+b///////////////r///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ff////v//////////////+D///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wP////m///////////////6////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xX////7///////////////g////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8D////5v//////////////+v///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8V////+///////////////4P///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////+b/////", + "//////////r///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef////T//////////////97///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////", + "//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+P////6////7f///9P///+v////S////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "//////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////", + "////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP////////////////////////////////////////////////////////+E", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z/////////////////////////////////////////////////////////hP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP////////////////////////////////////////////////////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP////////////////////////////////////////////////////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////////////////////6////1f///6z///+C////WP///y////8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xn////z/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf///9K////mf///8f////e////9P////T////d////xf///5H///9A////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8H////Sv///5n////H////3v////T////0////3f///8X///+R////QP///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////B////0r///+Z////x////97////0////9P///93////F////kf///0D///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf///9K", + "////mf///8f////e////9P////T////d////xf///5H///9A////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////Sv///5n////H////3v////T////0", + "////3f///8X///+R////QP///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////Iv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7///9t////mP///8T////u////5f///7j///+L////Xv///y3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////bf///5j////E////7v///+X///+4////i////17///8t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pv///23///+Y////xP///+7////l////uP///4v///9e////Lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7///9t////mP///8T////u////5f///7j///+L////Xv///y3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8x////lv///77////Y", + "////8/////D////R////sf///3f///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///9h////tP///9v////4////6P///87///+C////IP///wD///8A////AP///+D/////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////Yf///7T////b////+P///+j////O////gv///yD///8A////AP///wD////g//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///2H///+0////2/////j////o////zv///4L///8g////AP///wD///8A////4P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///9h////tP///9v////4////6P///87///+C////IP///wD///8A////AP///+D//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////Yf///7T////b////+P///+j////O////gv///yD///8A////AP///wD////g//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///2H///+0////2/////j////o////zv///4L///8g////AP///wD///8A////4P//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8n////mf///8T////n////9v///9r///+9////ff///xj///8A////AP///wD///8A////AP///wD///8A////B////1j///+v////0////+/////7////8v///9j///+t////af///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////4/////r////t////0////6////9L////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7///9z", + "////n////8v////0////+f///+3////P////pP///2H///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////c////5/////L////9P////n////t", + "////z////6T///9h////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pv///3P///+f////y/////T////5////7f///8////+k////Yf///xX///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7///9z////n////8v////0////+f///+3////P////pP///2H///8V////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8E////U////4L///+s////1/////T////P////n////3D///8+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9E////d////6X////U", + "////9P///9H///+k////d////0j///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////RP///3f///+l////1P////T////R////pP///3f///9I", + "////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0T///93////pf///9T////0////0f///6T///93////SP///wL///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9E////d////6X////U////9P///9H///+k////d////0j///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////RP///3f///+l////1P////T////R////pP///3f///9I////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP////f///+x////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zj///+5////Zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Nv///5v////C////6f////P////W////j////yj///8A////AP///yz///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zb///+b////wv///+n////z////1v///4////8o////AP///wD///8s////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82////m////8L////p", + "////8////9b///+P////KP///wD///8A////LP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv///5v////C////6f////P////W////j////yj///8A", + "////AP///yz///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+k////4P////P////4////1P///6r///9p////A////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6T////g////8/////j////U////qv///2n///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6/////////////////////v", + "////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C//////////////9m////AP///wD///8A////Qv//////////", + "////Zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7j//////////////1P///8A////AP///wD///8A////AP///8z/////", + "/////////0n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////k////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2H///////////////n///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///03////3////////////////", + "///////////////5////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////cP///+z////////////////////////////////////////////////////8////nP///x3///8A////AP///wD///84////8////////////////////5n///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0L//////////////2b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6j///////////////T///8e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Gf////H//////////////6n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Af///1r////Y//////////////9h////AP///wD///8A////AP///0X//////////////+P///9l////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////m///////////////kv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0////////////////////sP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6j///////////////z///8b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8V////0f//////////////////////////////////////////////5P///yb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////////////////////zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///4X////d///////////////////////////////////////////////////////////////r////bP///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP////b/////////////////////////////////////", + "/////////////////////////8T///82////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////n///////////////////////////////////////////", + "/////f///5H///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP///////////////////3f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv///87////////////////////////////////////////////////////+////q////yj///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qP//////////////////////////////////////////////+v///5T///8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0////////////////////sP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////m///////////////kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL///94////4///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "/////////////////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////j////eP///xL///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+v////////////////////7////w////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///3v////1////////////////////////////////", + "/////////////////////////////////////P///7////9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7L///////////////////8/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0b///////////////////+y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////////////////////63///8h////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8z////2v///////////////////////////////////////////////////////////////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////////////////////////////////P///9s////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Ef///6v//////////////////////////////////////////////////////////////////////////////+b///+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+c/////////////////////////////////////////////////////////4T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////b///+A////Cf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zP////7///////////////+////QP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////////////////////////////////////////////////////////////////////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////1////////////////////2T///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nv//////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9V////8P/////////////////////////////////////////////////////////j////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8/////9f////////9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///y7////9////////////////////Yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pf///93/////////////////////////////////////////////////////////2////1D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///7r/////////////////////////////////////////////////////////p////xL///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3T/////////////////////////ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev////3///////////////////+w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yf////////////////////////9e////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf///////////////////6D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv////T///////////////////9V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////fv///////////////////z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8////////////////5////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////F/////f//////////////0P///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x7////g//////////////9m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///8b/////////////////////////////////////////9f///1z///8A////F////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////Jf///wD///9i////9f/////////////////////////////////////////C////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8z////yP////////////////////////////////////////////////////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Y", + "////w//////////////////////////////////////////z////VP///wD///9V////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x3///+z////////////////", + "//////////////////////////////////////////r///+o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///27////i//////////////////////////////////////////////////////////7///+0////Qv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////////////////////B////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8m////9////////////////v///z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////uf//////////////////////////", + "/////////////////////////8X///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y////2f/////////////////////////////////////////////////////////i////af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zv////p/////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8G////iP////z////////////////////////////////////6////cP///wD///9V////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4r//////////////////////////////2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////pP////////////////////////+p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///77/////////////////////////mP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xb////r////////////////////Rf///wD///8A", + "////AP///wD///8A////AP///wD///8A////Rv///////////////////+r///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5P///////////////////////////////////8v///8t////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////////////////////////YP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////A/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////77///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4////8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////cP///77////t////+f///9P///+e////Xf///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7P///////////////////+f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+S////bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4L///+Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mv///9n/////", + "////////////////////////////////////////////////////3f///2P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87//////////////9b///8A////AP///wD///8A", + "////2P//////////////y////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yX///+M////7P//////////", + "///////////////////////////////////////////////q////iv///yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////H/////L//////////////////////////////9L///9///////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP//////////////pf///wD///8A////AP///wD///+Q//////////////+m////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jf///4z////s/////////////////////////////////////////////////////////+r///+K////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///w3///+o////////////////////////////////////ov///wv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD/////////////////////", + "////////////////////////////////////////////////////////////////////////////////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////", + "/////////7z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f//////////////////////////////////////////////2v///zr///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2f//////////////+H///8d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+E////AP///wD///8A////hP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T///////////////////+w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////++////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E", + "////h/////3///////////////////////////////7///+N////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+m//////////////+T////AP///wD///8A", + "////AP///6f//////////////5D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2v//////////////9v///8F////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9r///////////////b////Bf///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////////////////////+8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9r///////////////b////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8l////tP///////////////////////////////////////////////////+b///+D////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+y////////////////////P////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9G////////////////////sv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv///////////////////z////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rv///////////////////7L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///7L///////////////////8/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0b///////////////////+y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+y////////////////////P////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9G////////////////////sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv//////////", + "/////////z////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rv///////////////////7L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7L///////////////////8/////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0b///////////////////+y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+R////////////////////U////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////++////Bf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///5z/////////////////////////////////////////////////////////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+c", + "/////////////////////////////////////////////////////////4T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z/////////////////////", + "////////////////////////////////////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z/////////////////////////////////////////////////////", + "////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////", + "////8////2z///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e////////////////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1X////w/////////////////////////////////////////////////////////+P///88////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9V////8P/////////////////////////////////////////////////////////j////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf////D/////////////////////////////////////////////////////////4////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1X////w/////////////////////////////////////////////////////////+P///88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9V////8P/////////////////////////////////////////////////////////j////PP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x/////f", + "////pf///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////of///+7///8y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///27////r////PP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///7r/////////////////////////////////////", + "////////////////////p////xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x7///+6/////////////////////////////////////////////////////////6f///8S", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////uv////////////////////////////////////////////////////////+n////Ev///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///7r/////////////////////////////////////////////////////////p////xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////U////AP///wD////D////////////////////////////////////////////////////7f///3b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///x7////G//////////////////////////////////////////X///9c////AP///xf///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////xv//////////", + "///////////////////////////////1////XP///wD///8X////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///8b/////////////////////////////////////", + "////9f///1z///8A////F////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x7////G//////////////////////////////////////////X///9c////AP///xf/////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////xv/////////////////////////////////////////1////XP///wD///8X////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///8b/////////////////////////////////////////9f///1z///8A////F////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///+Z/////P/////////////////////////////////////////6////kv///wX///8A////AP///wD///8A////Uv///+z////////////////////////////////////////////////////5", + "////m////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////77///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf///7P/////////////////////////////////////////////////////////+v///6j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///x3///+z//////////////////////////////////////////////////////////r///+o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8d////s//////////////////////////////////////////////////////////6////qP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf///7P/////", + "////////////////////////////////////////////////////+v///6j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///84////0f///////////////////////////////////////////////////7X///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz///+5////////////////////////////////////////////////////xf///yb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8c////uf///////////////////////////////////////////////////8X///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////HP///7n////////////////////////////////////////////////////F////Jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz///+5////////////////", + "////////////////////////////////////xf///yb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////uf//////////////////////////////////////////", + "/////////8X///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////T//////////////xz///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4b///////////////X///8r////Q////5z////N////5/////b////R////pP///3f///9I////Av///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////iP////z////////////////////////////////////6////cP///wD///9V////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///4j////8////////////////////////////////////+v///3D///8A////Vf///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///+I/////P////////////////////////////////////r///9w////AP///1X///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8G////iP////z////////////////////////////////////6////cP///wD///9V////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////5P///////////////////////////////////8v///8t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////k////////////////////////////////////y////y3///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////t/////////////////////////z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Vv//////////////ev///wD///8A////AP///1b//////////////3r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+I//////////////+F////AP///wD///8A////AP///wD///+Z//////////////97////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////yv//////////", + "////s////wD///8A////AP///wD///8A////AP///wD///8A////AP///0n////7///////////////2////zv////r///////////////3///9W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////xv//////////////////////////////////////////////////////////", + "///////////////3////af///wD///8y////8P///////////////////6n///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W//////////////96////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1r///////////////////92////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9w////////////////////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///+3////////////////////z////wD///8A////AP///wD////B////////////////////wv///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///1f///////////////T///8R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v///////////////////+z///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C////////////////////ff///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8X////1P/////////////////////////////////////////////////////////m", + "////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////////////////////////////////////84////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////////////////////////////////////////////////////////////////////Z////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////////////////v///6X///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8q////1f//////////////////////////////////////////////////////////////3v///zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yP////9///////////////i////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pv//////////////////////////", + "///////////////////////////////////////////////8////aP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6j/////////////////////////////////////////////////////", + "////9f///4T///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v///////////////////+z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1f///////////////T///8R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP///5j////1/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////1////l////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////7f////////////////////////8+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////OP///9P/////////////////////////////////////////7////+j////3/////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9T////////////////", + "////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+h////////////////////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////", + "////////////////////////////////////+P///2L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s////+f//////////////////////////////////////////", + "////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////////////////////8P///8n////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////P////+P//////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////If///2f///+k////4f/////////////////////////b////nv///2H///8a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////////////////////////////////////8T///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wb////S////////////////////lP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////", + "/////////////////////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////LP////////////////////////+8", + "////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf////3/////////////////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///+P//////////////////////////////////////////////////////////////////////////v///9y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////9P//////////////+v///zr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5////////////////////yv///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2T/////////////////////////////////////////////////////////////////////////oP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP////H/////////////////////", + "///////////////////////////////////////////////m////Sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////J////////////////", + "/////////8////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b/////////////////////////8P///wP///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///6f/////////////////////////ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w////////////////////P////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P///////////////////+4", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///+H//////////////9f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///77//////////////4////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4X//////////////8X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////", + "/////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD////V///////////////J////Af///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v/////////////////////////////////////////////////////////Yf///0////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////2H///92/////////////////////////////////////////////////////////+P///80////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///+Y/////f//////////////////////////////////////////////////////////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///83////5f////////////////////////////////////////////////////////9f////fv///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///2z////y/////////////////////////////////////////////////////////////////////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3j/////", + "/////////////////////f///+X////J////z////+b////8//////////////////////////////+c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////7D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8B////wv///////////////////5D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9f////8P//////////////////////////////////////////////////////////////9v///3H///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////VP////////////////////////////////////////////////////////////////////////9p", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX////W//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf////////////////////////////////////////////////////////9p////fv///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////j///////////////f///////////////B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+b///////////////7/////////8v///wf///8A////AP///wD///8A////AP///wD///8A////AP///w/////6//////////7//////////////9v///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///////////////////9v///8I////AP///wD///8A////AP///wD///8A////CP///9z///////////////////9V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///+T/////////////////////////////////////////6////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+z/////", + "///////////////O////wP///8D////A////wP///8D////A////wP///8D////A////wP///0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///+7", + "//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////uP///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////rP///xD///8A////AP///wD///8A////AP///yj///+a////9/////////////////////////////////////////+z////Ev///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9/////////////////////a", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////////////////////", + "/////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+L//////////////90////AP///yD///+S////xv///+3////s////xv///47///8d////Af///5H//////////////4////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1T/////////////////////////////////////////////////////////////////////////av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////Q///////////////Y////AP///wD///8A////AP///9r//////////////+f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP///5f////+///////////////8////wv///4T///9r////U////1P///9r////hf///8P////8///////////////+////lP///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6X/////", + "/////////7b///9f////Y////7X/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////U///////////", + "/////////2r///8A////AP///wD///9Q////////////////////av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yj///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////l/////7///////////////z////C////hP///2v///9T////U////2v///+F////w/////z/////", + "//////////7///+U////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+i////////////////////+/////P///////////////////+a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////////////////////////////////////////////////////////////////////////////////////////////////////0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////vf//////////////q////5T///+U////lP///5T///+U////lP///5T///9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP//////////////9////9D///+r////n////7/////6///////////////l////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////yv//////////", + "////1P///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "////hP///wD///8A////AP///4T//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////u////////////////////7P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Zf///1f///9x////mP///+7//////////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv//////////////0////3n///9U////eP///9L//////////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////a////////////////////1P///8A////AP///wD///9r////////////////////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8E////2P//////////////b////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////BP///9j//////////////2////8A////AP///wD///8A////AP///wD///8A////AP///73//////////////6v///+U////lP///5T///+U////lP///5T///+U////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////BP///9j//////////////2////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8i////8///////////////////////////////////////////", + "/////////////////////////8////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////U////////////////////5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////of///////////////////1P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P///////////////////+c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6H///////////////////9T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9T////////////////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+h////////////////", + "////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////U////////////////////5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////of///////////////////1P///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P///////////////////+c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6H///////////////////9T////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9T////////////////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+h////////////////////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////IP////z//////////////8b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Zf///1f///9x////mP///+7//////////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////", + "//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////", + "////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////Z////6T////h/////////////////////////9v///+e////Yf///xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////If///2f///+k////4f/////////////////////////b////nv///2H///8a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////Z////6T////h/////////////////////////9v///+e////Yf///xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8h////Z////6T////h/////////////////////////9v///+e////Yf///xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////////////////////////////////////////////////////////////////////w////yf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x/////f//////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///4//////////////////////", + "////////////////////////////////////////////////////+////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///+P////////////////////////////////////////////////", + "//////////////////////////v///9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////j//////////////////////////////////////////////////////////////////////////7", + "////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///4//////////////////////////////////////////////////////////////////////////+////3L///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///+P//////////////////////////////////////////////////////////////////////////v///9y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////e//////////////+n////A////wD///8A////AP///wD///8A////AP///wD///8D////pP//////////////7v///yP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8P//////////////9L///8E////BP///0v///+d////vv///9n////z////9P///93////F////kf///0D///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////ZP////H////////////////////////////////////////////////////////////////////m////Sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2T////x////////////////////////////////////////////////////////////////////5v///0r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k////8f//////////", + "/////////////////////////////////////////////////////////+b///9K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP////H/////////////////////////////////////", + "///////////////////////////////m////Sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////////////////////////////////////////////////////////////////////a////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+7/////////////////////////////////////////////////////////2H///9P////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u/////////////////////////////////////////////////////////9h////T////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///7v/////////////////////////////////////////////////////////Yf///0////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+7/////////////////////////////////////////////////////////2H///9P////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u///////////", + "//////////////////////////////////////////////9h////T////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v/////////////////////////////////////", + "////////////////////Yf///0////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+O///////////////////////////////////////////////////////////////A", + "////Ef///wD///8A////g/////////////////////////////////////////////////////////////////////T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9l////V////3H///+Y////7v//////////////iP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////bP////L////////////////////////////////////////////////////////////////////8////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///2z////y/////////////////////////////////////////////////////////////////////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///9s////8v////////////////////////////////////////////////////////////////////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////bP////L////////////////////////////////////////////////////////////////////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wj///+X/////f//////////////////////////////////////////////////////////", + "////5////0b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1/////w///////////////////////////////////////////////////////////////2////cf///wL///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9f////8P//////////////////////////////////////////////////////////////9v///3H///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////X/////D///////////////////////////////////////////////////////////////b///9x////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1/////w///////////////////////////////////////////////////////////////2////cf///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9f////8P//////////////////////////////////////////////////////////////9v///3H///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+y/////////9P///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8n////9v///////////////f//////////", + "/////////////////////////////////////////8X///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf////////////////////////////////////////////////////////9p", + "////fv///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4H/////////////////////////////////////////////////////////af///37///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B/////////////////////////////////////////////////////////2n///9+////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf////////////////////////////////////////////////////////9p////fv///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T/////////////////////////////////////////6////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////5P/////////////////////////////////////////r////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7f////////////////////////8/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2r//////////////47///8A////AP///wD///9q//////////////+O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP//////////////t////wD///8A////AP///wD///8A////Z///////////////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zj////+//////////////9H////AP///wD///8A////AP///wD///8A////AP///wD////G//////////////+j////CP///wD///8N////vf//////////////0f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////hv/////////////////////////x////ov///3n///9f////cv///47////T//////////////////////////////+w////7P///////////////////7f///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////av//////////", + "////jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz////v///////////////U", + "////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////9D//////////////+////8c////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////+P///////////////////8+////AP///wD///88////////////////////6P///xn///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Y////////////////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+/////////////////////t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Af///9v//////////////+D///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8Z////1////////////////////+j///+k////X////2X///+o////6v///////////////////+n///8r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C////////////////////1v///3z///98////fP///3z///98", + "////fP///3z///98////fP///3z///98////fP///3z///98////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////5P///67///+N////bP///0z///9U////dv///5f////c////////////////", + "/////////+H///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////W////nv///3D///9V////Rf///1T///9z////k////+f/////////////////////////pf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////9f///////////////////+7///+v////cv///0z///9x////oP////n////////////////////d////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rv///////////////////1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP/////////////////////////k////j////23///9N////U////3T///+b////8/////////////////////r///85////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9M////Qv///xj///8I////DP///yT///8+////h////9//////////////////////////k////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+//////", + "///////////////t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Y////////////////////dP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9H", + "////t/////7/////////////////////////8v///5X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////////////////////", + "////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+V////8v/////////////////////////+////t////0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+3/////////////////////////P////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////lf////3////////////////////E////kv///2n///9A////F////wD///8A////AP///wr///8y////Xv///5j////b//////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///+3///////////////H///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////8v//////////////7v///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////8v///3D///9w////cP///3D///9w////dv///5b///+5////5//////////////////////////2////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///w7///+q////////////////////////////////////6P///7r///+L////ev///5T///+u////yv////n//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////y", + "////cP///3D///9w////fv///6j////T////+f//////////////////////////////+P///3r///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////8v///3D///9w////cP///3D///9w", + "////cP///3D///9w////cP///3D///9w////cP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////hP////3///////////////////////////////r////S////pP///3n///91////gP///5f///+5", + "////5P////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C////kv///33///92////k////9v/////////////////////////bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+D////////////////////3v///wv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP////////////////////L///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///27///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///4H//////////////////////////P///xf///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D///////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xn////D///////////////////////////////z", + "////wP///4v///+J////vv////H//////////////////////////////6z///8O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///88////9P//////////", + "//////////////9q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///9G/////////////////////v///zj///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k///////////////8////z////5z///+C////d////5L///+w////9P////////////////////////9b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////c//////////////////////////9////2P///6////+H////g////7D////e/////v////////////////////////9k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8f////////////////////////////////////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+d//////////////////////////////82////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////r/////////////////////////+b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf////P//////////////9X///8F", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zn////+///////////////3////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///////////////////7z///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9r///8o////KP///yj///8o////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0r///////////////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP///yj///8o////KP///yj////a////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///89///////////////1////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////v//////////////9I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wP///+9////////////////////Ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1v/////////////////////", + "////1f///4D///87////V////4X////v//////////n///+8////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////b/////f/////////o////l////2X///85", + "////Xf///5b////x////////////////////4f///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///93/////////////////////////+n///+w////hv///2H///9z////kf///6/////r", + "/////////5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////4v///////////////////+3///+Q////W////zf///9b////h////+P/////////9////9L///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P/////////////////////////7f///7D///+I////Yv///2H///9t////kP///7/////4//////////z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0X////9///////////////p////bf///wr///8A////AP///wD///8A////Av///zH///+S////7f///////////////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3X///8/", + "////Nf///27////y////////////////////Mf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////av///////////////////9n///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Z/////////////////////////8b///+F////Wf///zf///9X////hP///8P/////////////////////////cv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1T//////////////9D///+N////V////z3///8y////R////2f////D////////////////////+////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9r", + "/////////////////////////7v///9N////Nv///1L///9/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev////H////////////////////f////bP///z3///9P", + "////hP///9P/////////9////9H///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C////////////////////Xv//////////", + "/////v///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yr//////////////+n///++//////////////9L////AP///wD///8A////AP///wD///8A", + "////AP///wD///9W///////////////A////7f//////////////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+u////////////////////gv///wD///8A////AP///wD///8A////AP///4P///////////////////+q////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S////Pf///zD///9E////cf///+H///////////////////+/////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9g////////////////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m////////////////////6f///2z///83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///83", + "////bP///+n///////////////////9m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////r////ff///z3///8y", + "////YP///7j////+/////////////////////////////////////////////////////////+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////S////////////////////zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+l////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///4X////p////////////////////o////3z///98////fP///3z///98////fP///3z///98////fP///3z///98////fP///3z///98////fP///3z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hP//////////", + "/////////7v////6////////////////////////////////////+f///8n///////////////////9+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9U///////////////L////iv///1b///89////Mv///0n///9l////t/////7///////////////z///9B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv///9T////V////T////wD///8A////AP///wD///9U////2P///+X///9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jf///8////////////////L///9v////Ev///wD///8A////AP///wD///8A////AP///wD///8A////E////3H////z///////////////O////JP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////d//////////T///8M////AP///wD///8A////iP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv////D//////////////7r///8B////AP///wD///8g////7///////////////uv///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8l", + "////z///////////////8v///2////8S////AP///wD///8A////AP///wD///8A////AP///wD///8T////cf////P//////////////87///8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C////////////////////iv///wv///8D////V/////T//////////v///z3///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8L", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////L/////////9n///8c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////G////Y////wz///8A////AP///wD///8A////JP///+T//////////////5D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zr///////////////////+9////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////4T///8A////AP///wD///+E//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7///////////", + "/////////+3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S///////////////S", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G/////T/////////w////wz///8A////AP///wD///8M////w//////////3////Hv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///+7///////////////w////If///wD///8A////Af///7v//////////////+////8g////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0///////////////+z///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9P///////////////s////EP///wD///8A////AP///wD///8A////AP///wD///8N////y//////////Z////HP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9P///////////////s////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8C////xP////////////////////r///+l////eP///2L///+H////sP///93///////////////////9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wb////t///////////////x////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cv////L//////////////+7///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////7f//////////", + "////8f///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr////y///////////////u////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///+3///////////////H///8I////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////8v//////////////7v///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb////t///////////////x////CP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Cv////L//////////////+7///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////7f//////////////8f///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wr////y///////////////u////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///+3///////////////H///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////8v//////////", + "////7v///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+o////////////////////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////L///9w////cP///3D///9w////cP///3D///9w", + "////cP///3D///9w////cP///3D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S///////////////S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////y////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////8v///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "//////////L///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////y////cP///3D///9w", + "////cP///3D///9w////cP///3D///9w////cP///3D///9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////L///9w////cP///3D///9+////qP///9P////5///////////////////////////////4////ev///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP///////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf///8P///////////////////////////////P////A////i////4n///++////8f//////////////////////////////rP///w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xn////D///////////////////////////////z////wP///4v///+J////vv////H//////////////////////////////6z///8O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Z", + "////w///////////////////////////////8////8D///+L////if///77////x//////////////////////////////+s////Dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf///8P/////////////////////", + "//////////P////A////i////4n///++////8f//////////////////////////////rP///w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xn////D///////////////////////////////z////wP///4v///+J", + "////vv////H//////////////////////////////6z///8O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////qf///////////////////6n///8E////AP///wD///8A////AP///wD///8E////qP///////////////////6X///8D", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9d////////////////////uf///+n/////////////////////////////////////////////////////////4////zz///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////c//////////////////////////9////2P///6////+H////g////7D////e/////v////////////////////////9k////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3P//////////////////////////f///9j///+v////h////4P///+w////3v////7/////////////////////////ZP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9z//////////////////////////3////Y////r////4f///+D////sP///97////+/////////////////////////2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////c//////////////////////////9////2P///6////+H////g////7D////e/////v////////////////////////9k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP//////////////yP///3////9L", + "////M////0T///9n////zv////////////////////n///8x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b/////////////////////////9X///+A////O////1f///+F////7//////////5////vP//////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////W//////////////////////////V////gP///zv///9X////hf///+//////////+f///7z///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1v/////////////////////////1f///4D///87////V////4X////v//////////n///+8////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b/////////////////////////9X///+A////O////1f///+F////7//////////5////vP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////W//////////////////////////V////gP///zv///9X////hf///+//////////+f///7z///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///1v/////////////////////////1f///4D///87////V////4X////v//////////n///+8////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9D/////v///////////////////93///+Q////Rf///0b///9t////sv///////////////////7X///8B////Wv/////////////////////////n////tP///4n///9w////fP///5b////F////+v/////////0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///1L//////////////9L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Y//////////////////////////t", + "////sP///4j///9i////Yf///23///+Q////v/////j//////////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P/////////////////////////7f///7D///+I////Yv///2H///9t", + "////kP///7/////4//////////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9j/////////////////////////+3///+w////iP///2L///9h////bf///5D///+/////+P/////////8", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Y//////////////////////////t////sP///4j///9i////Yf///23///+Q////v/////j//////////P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+L/////////////////////////8X///+F////WP///zf///9Y////hf///8X////////////////////+////Tv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1n/////////////////////////xv///4X///9Z", + "////N////1f///+E////w/////////////////////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Z/////////////////////////8b///+F////Wf///zf///9X////hP///8P/////", + "////////////////////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Wf/////////////////////////G////hf///1n///83////V////4T////D/////////////////////////3L///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1n/////////////////////////xv///4X///9Z////N////1f///+E////w/////////////////////////9y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Z/////////////////////////8b///+F////Wf///zf///9X////hP///8P/////////////////////////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///x3///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///27/////////////////////////////////////////////////////////////////////////9v///3H///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Ev////H////////////////////f////bP///z3///9P////hP///9P/////////9////9H///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////x", + "////////////////////3////2z///89////T////4T////T//////////f////R////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8S////8f///////////////////9////9s", + "////Pf///0////+E////0//////////3////0f///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev////H////////////////////f////bP///z3///9P////hP///9P/////", + "////9////9H///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S////Pf///zD///9E////cf///+H///////////////////+/////Av///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L///89////MP///0T///9x////4f///////////////////7////8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H////////////////////x", + "////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9+//////////////+i////AP///wD///8A////fv//////////", + "////ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yj//////////////+n///8A////AP///wD///8A////AP///zT/////", + "/////////93///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////k////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////o///////////////1////wX///8A////AP///wD///8A////AP///wD///8u///////////////i////CP///wD///8A", + "////AP///xH////v//////////////84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Of////3///////////////////+t////GP///wD///8A////AP///wD///8A////AP///yj///+m/////v///////////////////////////////////8T///8K////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///37//////////////6L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+j////////////////////S////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9I////////////////////ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///86////+///////////////rP///wD///8A////t////////////////P///0H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9v//////////////9////8C////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+3////////////////////s////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///93////////////////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv///////////////////7f///8D////AP///wD///8A////AP///wf////G////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////D////8////////////////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////j///+p////R////wL///8A////AP///wD///8A////AP///wD///8A////BP///2b////n////////////////////o////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8P///4L///8l////AP///wD///8A////AP///wD///8A", + "////AP///wD///8K////dv////L///////////////////9T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qv///////////////////8L///8T////AP///wD///8A////AP///wD///8r", + "////yv///////////////////4T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zv////////////////////G////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////n///////////////7///91////CP///wD///8A////AP///wD///8A////AP///xT///+U////////////////////5P///xX///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////kP////////////////////////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+3////////////////////s////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9v//////////////9////8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///2f////V///////////////////////////////U////af///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3///9q////1P//////////", + "////////////////////1f///2b///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x////////////////////8f///xD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8P////4P///////////////////+b///9S////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///yj///+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+V////////////////////V////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Wf///////////////////5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wf///96////9P///////////////////8r///8E////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////Q//////////////////////////f///9t////F////wD///8A////AP///wD///8A////AP///wD///8J////Qv///4P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wP///8p////rv//////////////////////////////ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////nv//////////////////////////////jv///y////8G////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////d/////////////////////T///8d////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x////+////////////////v///0D///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD////W//////////////////////////////9s////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1H/////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wr////j/////////////////////////7X///8q////Av///wD///8A////AP///wD///8B////Kf///7D/////////////////////////y////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////4/////////////////////z///9h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8C////0f///////////////////6P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP///8j///9j////Ev///wD///8A////AP///wD///8A////AP///xX///+W////////////////", + "////8P///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////GP////L////////////////////a////O////wD///8A////AP///wD///8A////AP///zb////d////////////////////7P///xH///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////c///////////////7P///+3//////////////3n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5P//////////////6P//////////////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8z///////////////x////9f//////////////K////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9y////////////////////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////K////////////////////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zv/////", + "///////////////m////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w", + "///////////////4////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7z//////////////4X///8A////AP///wD///8A////AP///wD///8A////AP///wD///9z///////////////K////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+N////////////////////sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+k////////////////////wf///wD///8A////AP///wD///8A////Gf///7f//////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////////////////////Z////IP///wD///8A////AP///wD///8A////NP///+7///////////////////9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8k////9v///////////////////6T///8P////AP///wD///8A////AP///wD///8A////A////0T///9T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Z///////////", + "/////////+H///8o////AP///wD///8A////AP///wD///8W////wv//////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP////s////////////////////p////xT///8A", + "////AP///wD///8A////AP///wD///8A////C////1b///+5////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e///////////////7////Ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv////e///////////////9", + "////O////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cf///////////////////4b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////Hv////L///////////////3///85////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////5v///////////////f///33///8B////AP///wD///8A", + "////AP///wD///8B////eP////z///////////////H///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9L////lv///yr///8A////AP///wD///8A////AP///wD///8A////AP///33///////////////////+S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pv///////////////////3j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///3z////////////////////W////E////wD///8A////AP///wD///8M////vv//////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////nv//////////////1////wj////2//////////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9t///////////////A////hv//////////////nP///wD///8A////AP///wD///8A////AP///wD///8A////ov//////////////jf///8f//////////////2L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////F////+3///////////////n///8n", + "////AP///wD///8A////AP///yj////5///////////////q////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////xP///////////////////1////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7////////////////7///89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////p////////////////////0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I////////////////////pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+H//////////////////////////////////////////////////////////f///7T///9g////Mv///zr///95////5///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP///////////////////7////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////Ov///4n////Y//////////////////////////j////R////b////wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///8X///////////////T///88////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Y////////////////////////////////////+f////P///////////////////////////////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP///3D///9w////cP///3D///9w////cP////////////////////L///9w////cP///3D///9w////cP///3D///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////RP///4f///8i", + "////AP///wD///8A////AP///wD///8A////AP///wD///9O/////f//////////////mP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP////L//////////////7f///8e////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////H////7r///////////////L///9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v/////////R////AP///wD///8A////AP///wb////3//////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///8z///////////////D///8d////AP///wD///8G////yv//////////////8P///x3///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I////8v//////////////t////x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8f////uv//////////////8v///0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////o///////////////tP///wD///8A////AP///wD///9r//////////////+f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP///9f/////////3v///yH///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+C///////////////I////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv///////////////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+E////AP///wD///8A////hP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7f///////////////////+z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////XP//////////////8f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4n/////", + "/////////0X///8A////AP///wD///8A////AP///0b//////////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf////H//////////////8v///8G", + "////AP///wD///8d////8f//////////////yv///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP//////////////i////wD///8A", + "////AP///wD///8A////lP///5T///+U////lP///5T///+U////lP///5T///////////////////+U////lP///1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D//////////////4v///8A////AP///wD///8A////AP///wD///8A", + "////AP///xT////X/////////97///8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D//////////////4v///8A////AP///wD///8A////lP///5T///+U////lP///5T///+U", + "////lP///5T///////////////////+U////lP///1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yv///////////////////9j///8p////AP///wD///8A////AP///wD///8A////O////6j////m////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lf///////////////////1f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1n///////////////////+W////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5X///////////////////9X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Z////////////////////lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+V////////////////////V////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Wf///////////////////5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////lf///////////////////1f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1n///////////////////+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5X/////", + "//////////////9X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Z////////////////////lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+V////////////////////V////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Wf///////////////////5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////M////////////////////6v///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////XP//////////////8f///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////A////yn///+u", + "//////////////////////////////99////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf//////////////////////////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cv///+P/////////////////////////tf///yr///8C////AP///wD///8A////AP///wH///8p////sP/////////////////////////L////Af///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr////j/////////////////////////7X///8q////Av///wD///8A////AP///wD///8B////Kf///7D/////////////////////////y////wH///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////4/////////////////////////+1////Kv///wL///8A////AP///wD///8A////Af///yn///+w/////////////////////////8v///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cv///+P/////////////////////////tf///yr///8C////AP///wD///8A////AP///wH///8p////sP/////////////////////////L////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wr////j/////////////////////////7X///8q////Av///wD///8A////AP///wD///8B////Kf///7D/////////////////////////y////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///+p", + "////////////////////qv///wT///8A////AP///wD///8F////rP///////////////////6b///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v/////////////////////", + "///////////////////////////////////////////////////////////////7////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////GP////L////////////////////a////O////wD///8A////AP///wD///8A", + "////AP///zb////d////////////////////7P///xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////y////////////////////2v///zv///8A////AP///wD///8A////AP///wD///82////3f//////////", + "/////////+z///8R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Y////8v///////////////////9r///87////AP///wD///8A////AP///wD///8A////Nv///93////////////////////s////Ef///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////GP////L////////////////////a////O////wD///8A////AP///wD///8A////AP///zb////d////////////////////7P///xH///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////U////AP///wD///+r////LP///wD///8A////AP///wD///8A////AP///wH///+f////////////////////if///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////pP///////////////////8H///8A////AP///wD///8A////AP///xn///+3//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6T////////////////////B", + "////AP///wD///8A////AP///wD///8Z////t///////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+k////////////////////wf///wD///8A////AP///wD///8A", + "////Gf///7f//////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pP///////////////////8H///8A////AP///wD///8A////AP///xn///+3////////////////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6T////////////////////B////AP///wD///8A////AP///wD///8Z////t///////////////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+k////////////////////wf///wD///8A////AP///wD///8A////Gf///7f//////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lv///////////////////6n///8A////AP///wD///8A////AP///wD///9D////4P//////////////k/////D///////////////////+U////Cf///wD///8A////AP///wD///8A////AP///xD///9h", + "////w////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9c///////////////x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////+z///////////////////+n////FP///wD///8A////AP///wD///8A////AP///wD///8L////Vv///7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xP////s////////////////////p////xT///8A////AP///wD///8A////AP///wD///8A////C////1b///+5////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T", + "////7P///////////////////6f///8U////AP///wD///8A////AP///wD///8A////AP///wv///9W////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////+z///////////////////+n", + "////FP///wD///8A////AP///wD///8A////AP///wD///8L////Vv///7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82/////P//////////////+f///3H///8B////AP///wD///8A////AP///wD///8B////fP////3//////////////9j///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///w3////m///////////////9////ff///wH///8A////AP///wD///8A////AP///wH///94/////P//////////////8f///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8N////5v///////////////f///33///8B////AP///wD///8A////AP///wD///8B////eP////z///////////////H///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///+b/////", + "//////////3///99////Af///wD///8A////AP///wD///8A////Af///3j////8///////////////x////F////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////m///////////////9////ff///wH///8A", + "////AP///wD///8A////AP///wH///94/////P//////////////8f///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////5v///////////////f///33///8B////AP///wD///8A////AP///wD///8B", + "////eP////z///////////////H///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9e/////////////////////////8L///9n////Qv///zP///9X////hP///8L/////////////////////////cv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3z////////////////////W////E////wD///8A////AP///wD///8M////vv//////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///98////////////////////1v///xP///8A////AP///wD///8A////DP///77//////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////fP///////////////////9b///8T////AP///wD///8A////AP///wz///++//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///3z////////////////////W////E////wD///8A////AP///wD///8M////vv//////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8J////xP///////////////////1////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn////E////////////////", + "////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////uf////T////X////Sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////kv//////////////tv///wD///8A////AP///5L//////////////7b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8C////9f//////////////HP///wD///8A////AP///wD///8H////+v//////////////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///2D///+Y", + "////vv///97////w////+///////////////+v///6X///9d////F////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xr////z", + "//////////////9x////AP///wD///8A////AP///wD///8A////jf//////////////l////wD///8A////AP///wD///8A////pv//////////////lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4b////////////////////R////Bv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0T////p/////////////////////////9D///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+S//////////////+2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Y////+f//////////////3////wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///93///////////////n///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3T///////////////z///8e////M////////////////////3r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+e////////////////////TP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////JP///8L////0////wf///yL///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv////r//////////////67///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////GP////z//////////////9n///8Q////AP///wD///8A////AP///wD///8A////Fv///+H/////", + "//////////////8y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8W////2v///////////////////2////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////NP////v///////////////////9E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W////////////////////6////xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////M/////7//////////////67///8G////AP///wD///8A////AP///wD///8A////AP///xP////u///////////////5////Jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////yP///////////////////zX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///37///////////////////+K////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///6r///////////////////9m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///93", + "/////////////////////f///0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////JP///8L////0////wf///yL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e////////////////////TP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////hv///+z/////////////////////////+v///6n///8/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////qf////r/////////////////////////7P///4b///8a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///7n////0////1////0r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////lv///////////////////5z///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv//////////", + "/////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T///////////////////84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///0j/////////////////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b/////////////////////////9r///8w////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///9f////8f////////////////////T///8b", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////3////////////////////v////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+p////////////////////Yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8F////0P///////////////////5T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8q////////////////////7P//////////", + "////xP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb////c////////////////////1f//////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9w/////////////////////////5b///8D////AP///wD///8A////AP///wD///8A////AP///wD///8C////kf////////////////////////9U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ef////////////////////f///9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////Yf////////////////////T///8a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7L///////////////////9z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5////////////////////+0////Cf///wD///8A", + "////AP///wD///8A////AP///wD///8A////Dv///7n///////////////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8j//////////////7D///+y", + "///////////////N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////K////////////////////5z//////////////7z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////ef//////////////w////9T//////////////2////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////87///////////////b///8h////AP///wD///8A////AP///wD///8A////AP///wD///9h////////////////////2////wj///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////t////////////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////+///////////////pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///87///////////////w", + "////D////wD///8A////AP///wD///8A////AP///wD///8G////5P//////////////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9L/////////////////////v///y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zv///////////////////2X///8A////AP///wD///8A////AP///wD///8P////5/////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////0////Ff///wD///8A////AP///wD///8A////AP///wD///8/////////////////////3P///wP///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///////////////////4b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///+D///////////////////8r////AP///wD///8A////AP///wD///8A////AP///wz////x/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+d////////////////////jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0///////////", + "////xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I/////7//////////////4X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yX///////////////////+m////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///7b///////////////////+K////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////jv///////////////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///9p////////////////////nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////9f//////////", + "////yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8n///////////////////81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q////////////////////Xv///wD///8A////AP///wD///8A////AP///wj////l/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP////H//////////////47///8A////tP//////////////2f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////r///////////////lf///0r//////////////+r///8D////AP///wD///8A////AP///wD///8A////Av///+v//////////////1H///+f//////////////+l////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9c////////////////////vv///wD///8A////AP///wD///+/////////////////////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////2///////////////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8n", + "////+P//////////////1v///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b/////", + "//////////b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af////f//////////////9X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8S////sv/////////////////////////////////////////2////mf///yX///8A////AP///wD///8A////AP///w3///+l/////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7f///////////////////+y", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Y////yf//////////////////////////", + "//////////////////////////////+b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M////7P//////////////6v///w7///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///8z///////////////////+7////Nv///wb///8C////Kf///5T////+///////////////C////Af///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT/////////////////////////////////////////////////////////////////////////////////////////CP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7///////////////9P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////J/////H/////////7f///17///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yf///+//////////8f///yf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8b/////", + "////+////z7///8A////AP///wD///8A////zf//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L///////////////////9g", + "////AP///wD///8A////kP///////////////////2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yj///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8n////8f/////////t////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9h////7//////////x////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9L//////////////1H///8A////AP///wD///8A////CP////3/////////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///88////PP///zz///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8c////4f/////////j////Jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP//////////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7////+", + "////////////////////S////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "////hP///wD///8A////AP///4T//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8k////wv////T////B////Iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z3///92////wv///////////////////7////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0//////////P///8B////AP///wD///8A////AP///wD///8B////8/////////+2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h////////////////////kf///wD///8A////AP///2H///////////////////+Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zT////+//////////j///8g////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///80/////v/////////4////IP///wD///8A////AP///wD///8A////AP///wD///8A////HP///+H/////////4////yb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///80/////v/////////4////IP///wD///8A////AP////////////////////////////////////////////////////////////////////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///53///////////////3///83////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zb///////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+0////////////////////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////tP///////////////////zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv///////////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T///////////////////84", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zb///////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0////////////////////OP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tP///////////////////zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv///////////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T///////////////////84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+////////////////8////If///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///z3///92////wv///////////////////7////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///1/////x////////////////////9P///xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///9z////////////////////V////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3D/////////////////////////lv///wP///8A", + "////AP///wD///8A////AP///wD///8A////AP///wL///+R/////////////////////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9w/////////////////////////5b///8D////AP///wD///8A////AP///wD///8A", + "////AP///wD///8C////kf////////////////////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cP////////////////////////+W////A////wD///8A////AP///wD///8A////AP///wD///8A////Av///5H/////", + "////////////////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3D/////////////////////////lv///wP///8A////AP///wD///8A////AP///wD///8A////AP///wL///+R/////////////////////////1T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9w/////////////////////////5b///8D////AP///wD///8A////AP///wD///8A////AP///wD///8C////kf////////////////////////9U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///6n///////////////////+r////BP///wD///8F////r////////////////////6b///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9R///////////////////////////////+////w////53///9/////if///77////x//////////////////////////////+s////Dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///5////////////////////+0////Cf///wD///8A////AP///wD///8A////AP///wD///8A////Dv///7n///////////////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+f", + "////////////////////tP///wn///8A////AP///wD///8A////AP///wD///8A////AP///w7///+5////////////////////k////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////n////////////////////7T///8J", + "////AP///wD///8A////AP///wD///8A////AP///wD///8O////uf///////////////////5P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5////////////////////+0////Cf///wD///8A////AP///wD///8A", + "////AP///wD///8A////Dv///7n///////////////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////D/////7//////////////7r///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87///////////////////9l////AP///wD///8A////AP///wD///8A////D////+f/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////O////////////////////Zf///wD///8A////AP///wD///8A////AP///w/////n/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////zv///////////////////2X///8A////AP///wD///8A////AP///wD///8P////5/////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///87///////////////////9l////AP///wD///8A////AP///wD///8A////D////+f/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////O////////////////", + "////Zf///wD///8A////AP///wD///8A////AP///w/////n/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zv///////////////////2X///8A////AP///wD///8A", + "////AP///wD///8P////5/////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8b///////////////////8o////AP///wD///8A////AP///wD///8A////AP///zr////9", + "//////////////////////////////94////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pf///3b////C////////////////////v////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///53///////////////////+O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d////////////////////jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nf///////////////////47///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///53///////////////////+O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////1f///////////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s", + "////////////////////af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+O////////////////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2n///////////////////+d////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jv///////////////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///9p////////////////////nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///47///////////////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////af///////////////////53///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+O////////////////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2n///////////////////+d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////jv///////////////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///9p////////////////////nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8P////6P////////////////////////+n", + "////AP///wD///8A////AP///wD///8B////eP////z///////////////D///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q////////////////////Xv///wD///8A////AP///wD///8A////AP///wj////l", + "/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qv///////////////////17///8A////AP///wD///8A////AP///wD///8I////5f////////////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6r///////////////////9e////AP///wD///8A////AP///wD///8A////CP///+X/////////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q////////////////////Xv///wD///8A////AP///wD///8A////AP///wj////l/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////2///////////////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////GP////b//////////////9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6b//////////////8r///8A////AP///wD///+m///////////////K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8j//////////////07///8A////AP///wD///8A////AP///8///////////////0D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u/////7///////////////////////////////////////////////////////////////3///+P////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ef//////////////8P///xX///8A////AP///wD///8A////AP///7L//////////////1b///8A////AP///wD///8A////AP///13//////////////7f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+0////////////////////Sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T////1f////////////////////////+n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pv//////////", + "////yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf///////////////////3r///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///93////////////////////f////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf//////////////if///67//////////////7T///8B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Zf///////////////////6v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+r///////////////7////GP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///3X///////////////////85////AP///wD///8A////AP///wD///8A////AP///wD///9G////////////////////jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x/////k///////////////+////ZP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+E", + "////////////////////gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6L///////////////////9f////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n///////////////f///8Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP///////////////////2////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b///////////////////+l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+v///////////////6////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T/////v//////////////nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2D////////////////////H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Zf///////////////////6v///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX///+m////+v/////////////////////////l", + "////f////xn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Z////fv///+T/////////////////////////+v///6X///80////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv////3//////////////1f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////X///////////////7////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT////7///////////////Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sP///////////////////4r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8D////2f///////////////////7z///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x7////a////////////////////ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7b////////////////////R////Iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tf///////////////////43///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////gP///////////////////93///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////AP///wD///8A////f////////////////////1H///////////////7///8e////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///90////////////////////p////6T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////5P///////////////////3z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///95////////////////////0////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E/////D///////////////////9X", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////Cv///+T///////////////////96////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y////////////////////ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///y/////+///////////////4////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8k////+////////////////P///yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x7///////////////////9y////dv///////////////////yL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///3L///////////////////9I///////////////3////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7///////////////4////+v//////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///80/////f//////////", + "////tP///wD///8A////AP///wD///8A////AP///wD///8N////5////////////////////0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zT////////////////////q////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fP///////////////////0D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v//////////////3v///8A////AP///wD///8A////AP///wD///8A////Yf//////////////z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////5v///////////////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////P///////////////3///8Q", + "////AP///wD///8A////AP///wD///8A////AP///2H/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////o////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9b///////////////////9R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ov///////////////////+////8P////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1X////////////////////F////AP///wD///8A////AP///wD///8A////AP///wD///8A////kf////////////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8s/////v//////////////7f///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////L//////////////6j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////V//////////////+6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8H////////////////////xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///13////////////////////V////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I/////v//////////////+r///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////+r///////////////7///8s////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+P///////////////P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////r", + "///////////////1////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///////////////////wv///8A////AP///wD///8A", + "////AP///wD///8A////jv////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1X///////////////////9E////AP///2j/////", + "//////////////83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////+///////////////2n///8P/////f//////////////P////wD///8A////AP///wD///8A", + "////AP///zr///////////////7///8V////c///////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7L///////////////////9d////AP///wD///9e////////////////////q////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP///////////////////0P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3////////////////////99////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8///////////////Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////a///////////////7////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b////nf///9H////5", + "////7P///73///9u////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///4v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q////////////////////pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8v////4v//////////////////////////////////////////////////////////////oP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///4D///////////////////9n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv////4", + "//////////////+P////Af///wD///8A////AP///wD///8A////Tv////7/////////8v///xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////////////////////////////////", + "/////////////////////////////////////////////////////////wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+u///////////////q////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///9f/////////8P///yD///8A////AP///wD///8A////AP///yn///91////pf///9T////6////8v///8z///+I////Kv///wD///8A////AP///wD///8j////8f/////////W", + "////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9n///////////////9////uP///4P///9i////Uv///9L//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L///////////////////+x////AP///wD///8A////UP///////////////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////1//////////w", + "////IP///wD///8A////AP///////////////////1z///8A////AP///wD///8A////AP///wD///+y//////////////+x////AP///yP////x/////////9b///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////0//////////////8y////AP///wD///8A////AP///wD////n//////////P///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yb////q/////////+X///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yX//////////////7b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf///////////////////+b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////9P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////4T///8A////AP///wD///+E//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+1//////////////////////////X///8x", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2v/////////Z////AP///wD///8A////AP///wD///8A////AP///9r/////////2v///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7L///////////////////9R////AP///wD///8A////sv///////////////////1D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pf//////////////p////wD///8A////AP///wD////y////////////////////////////////////////////////////////////////", + "////oP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6X//////////////6f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////6v/////////l////Jv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6X//////////////6f///8A////AP///wD////y////////////////////////////////////////////////////////////////////oP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////L///////////////S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////1///////////////+////xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////+///////////////2f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9f/////", + "//////////v///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP////v//////////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////X///////////////7////Fv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT////7///////////////Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1///////////////+////xb///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8U////+///////////////2f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9f///////////////v///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////FP////v//////////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////X///////////////7////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT////7///////////////Z", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Sv///////////////////5D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+1//////////////////////////X///8x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///9r///////////////////+i////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3T///////////////////+n////pP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wf////k////////////////////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3n////////////////////T////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8H////5P///////////////////3z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///95////////////////////0////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////+T/////", + "//////////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ef///////////////////9P///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////k////////////////////fP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3n////////////////////T////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////5P///////////////////3z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///95////////////////////0////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////qv///////////////////63///8L////sv///////////////////6j///8D////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////3/////////////////////////+2////Jf///wD///8A////AP///wD///8A////Af///yn///+w/////////////////////////8v///8B", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y/////+///////////////4////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8k////+////////////////P///yn///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8v/////v//////////////+P///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////JP////v///////////////z///8p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////L/////7///////////////j///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT////7///////////////8////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///y/////+///////////////4////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8k////+////////////////P///yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////g///////////////r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////z///////////////9////EP///wD///8A////AP///wD///8A////AP///wD///9h////////////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8////////////////f///xD///8A////AP///wD///8A////AP///wD///8A////Yf////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////P///////////////3///8Q////AP///wD///8A////AP///wD///8A////AP///2H/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////z///////////////9////EP///wD///8A////AP///wD///8A////AP///wD///9h/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8////////////////f///xD///8A////AP///wD///8A////AP///wD///8A////Yf////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP////P///////////////3///8Q////AP///wD///8A////AP///wD///8A////AP///2H/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////x///////////////8////A////wD///8A////AP///wD///8A////AP///wD///8A////lP/////////////////////////m////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///7X/////////////////////////9f///zH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yz////+///////////////t////EP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8s/////v//////////////7f///xD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////LP////7//////////////+3///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yz////+///////////////t////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////TP///////////////////8////8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP///+v//////////////+j///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////+///////////////6v///wj///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8H////6v///////////////v///yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I/////v//////////////+r///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////B////+r///////////////7///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////7///////////////q////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////q///////////////+", + "////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////+///////////////6v///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////6v///////////////v///yz///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I/////v//////////////+r///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////+r///////////////7///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP///////////////////////////////////1r///8A////AP///wD///8A////AP///wD///9p////////////////////m////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////yv///////////////////wv///8A////AP///wD///8A////AP///wD///8A////jv////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r/////", + "//////////////8L////AP///wD///8A////AP///wD///8A////AP///47/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////////////////////C////wD///8A", + "////AP///wD///8A////AP///wD///+O/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///////////////////wv///8A////AP///wD///8A////AP///wD///8A", + "////jv////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP///////////////////0P///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Q////////////////////Q////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+6///////////////e////AP///wD///8A////uv//////////", + "////3v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Y//////////////+A////AP///wD///8A////AP///wD///+c", + "//////////////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////////////////////9v///8i////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////c//////////////+a////AP///wD///8A////AP///wD////M//////////////89////AP///wD///8A", + "////AP///wD///9C///////////////P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v///////////////////xj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////y////////////////////////////////////33///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7r//////////////97///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////+n///////////////r///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Ff////n//////////////+f///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xD////e//////////L////+/////////9////8R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7////////////////////4////Ev///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rv///////////////////3n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W///////////////r////Af///wD///8A////AP///wD///8A////AP///wD///8A////Bf////P//////////////+f///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv///+z///////////////3///9Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mv///////////////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////", + "/////////////////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9G////////////////////i////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y////////////////////+Q////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///xH///////////////////+Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////3///////////////+v///xr///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f//////////////0v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///93//////////////9P///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP///////////////////zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7////////////////////4////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8D////Vf///8X//////////////////////////////7////9U////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8E////Uv///73//////////////////////////////8X///9V////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////87//////////////7b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////eP///////////////////2////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9r", + "////////////////////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2H///////////////////+4////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Xf////////////////////7///8r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////U/////////////////////7///83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0D/////", + "////////////////////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x////////////////////+3////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////L/////r///////////////7///9A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///9T//////////////9H///8A////1P//////////////df///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8V////8P//////////////9v///x7///+w////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////aP///////////////////+P///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////+L///////////////////9W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5D///////////////////+5////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///3v////////////////////e////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B/////z/////", + "/////////9H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9t////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///57///////////////////9s////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9y////////////////////M////zf///////////////////93////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5///////////////0////Bf////j//////////////0L///8A////AP///wD///8A////AP///wD///8A////AP///wv////5//////////////9U////hP//////////////8////wX///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L///////////////////9S////AP///wD///8A////AP///wD///8A////iv///////////////////6v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////sP///////////////////3n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///9//////", + "/////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///86///////////////r////C////wD///8A////AP///wD///8A////Af///9b//////////////1L///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Z////////////////////Ff///wD///8A////AP///wD///8A////AP///wD///8h/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A/////////////////////////0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///92////////////////////fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2X///////////////////+D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B////////////////", + "////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yv///////////////////37///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////J///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qP//////////", + "////7f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///xb////s///////////////7////NP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1z///////////////////+D////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+C////////////////////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zH////////////////////P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///+n//////////////+7///8A////AP///wD///8A////AP///wD///8A////AP///zb/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+x///////////////y////Bf///wD///8b////////////////////lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zX///////////////////86////AP///87//////////////5D///8A////AP///wD///8A////AP///wD///+G///////////////R////AP///0P///////////////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Z////7v//////////", + "////6f///xH///8S////6v//////////////6v///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yj///////////////////+s", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////2P//////////////+P///yb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nf///////////////////5j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////7//////////////////////////B////iP///1r///9N////bv///4/////G/////////6D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///87////////////////////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+P///////////////T////Bv///wD///8A////AP///wD///8A////AP///wD///+T//////////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP////////////////////////////////////////////////////////////////////////////////////////8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8g////8P//////////////p////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6v//////////////1v///8A////AP///wD///8A////AP///2f////3", + "//////////////////////////////////////////////8A////AP///wD///8A////AP///1///////////////6r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4z////8//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH////v///////////////s////F////wD///8A////IP///+///////////////+z///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////q///////////////W////wD///8A////AP///wD///////////////////9c////AP///wD///8A////AP///wD///9O///////////////0////Hv///wD///8A////X///////////////qv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////z///////////////VP///wD///8A////AP///wD///8L/////v/////////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////NP////P/////////5f///yT///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e//////////////9d////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+E////AP///wD///8A////hP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////QP//////////////6f///5r///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////b/////", + "////xf///wD///8A////AP///wD///8A////AP///wD////G//////////b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Y////7P//////////", + "////7////yD///8A////AP///xj////s///////////////v////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x/////3//////////7///82", + "////AP///wD///8A////X///////////////Uv///wD///8A////AP///wD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8f////9//////////+////Nv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///zT////z/////////+X///8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8f////9//////////+////Nv///wD///8A////X///////////////Uv///wD///8A", + "////AP///wD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9P//////////////qP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3j///////////////////9v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////a////////////////////3v///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///94////////////////////b////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2v///////////////////97////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////eP///////////////////2////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9r////////////////////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///3j///////////////////9v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////a////////////////////3v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///94", + "////////////////////b////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2v///////////////////97////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////eP///////////////////2////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9r////////////////////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////U///////////////z////D////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////QP//////////////6f///5r///8f////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9T/////////////////////v///zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///xX////w///////////////2////Hv///7D/////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9o////////////////////4////wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////4v///////////////////1b///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////aP///////////////////+P///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////+L///////////////////9W////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2j////////////////////j////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP////i////////////////////Vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9o////////////////////4////wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////4v///////////////////1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////aP///////////////////+P///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////+L///////////////////9W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wT///+r////////////////////6////////////////////6n///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qv//////////////////////////", + "////3P///wj///8A////AP///wD///8A////AP///wD///8A////Av///5H/////////////////////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9t////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///57///////////////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bf///////////////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e", + "////////////////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///23///////////////////+M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nv///////////////////2z///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9t////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///57///////////////////9s////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////////////////////r////w////5z///90////TP///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v//////////////6v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////2f///////////////////xX///8A////AP///wD///8A////AP///wD///8A////If////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9n///////////////////8V", + "////AP///wD///8A////AP///wD///8A////AP///yH/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Z////////////////////Ff///wD///8A////AP///wD///8A", + "////AP///wD///8h/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2f///////////////////xX///8A////AP///wD///8A////AP///wD///8A////If//////////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9n///////////////////8V////AP///wD///8A////AP///wD///8A////AP///yH/////////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Z////////////////////Ff///wD///8A////AP///wD///8A////AP///wD///8h/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1v///////////////////xr///8A////AP///wD///8A////AP///wD///8A////AP///1H/////////////////////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9A///////////////p////mv///x////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9i////////////////////fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Yv///////////////////37///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2L/////", + "//////////////9+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9i////////////////////fv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3n///////////////////9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+E////////////////////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////XP///////////////////4P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4L///////////////////9l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1z///////////////////+D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+C////////////////////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9c////////////////", + "////g////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gv///////////////////2X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////XP///////////////////4P///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///4L///////////////////9l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1z///////////////////+D////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+C////////////////////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jf////z//////////////9P////h///////////////v////Hf///wD///8A////AP///wD///8A////B////+r///////////////3///8r////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+n//////////////+7///8A////AP///wD///8A////AP///wD///8A////AP///zb/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////p///////////////u////AP///wD///8A////AP///wD///8A////AP///wD///82/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////6f//////////////7v///wD///8A////AP///wD///8A////AP///wD///8A////Nv////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///+n//////////////+7///8A////AP///wD///8A////AP///wD///8A////AP///zb/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///yj///////////////////+s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP//////////", + "/////////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////zv//////////////8v///wD///8A////AP///87///////////////L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////aP//////////////sv///wD///8A////AP///wD///8A////af//////////////o////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////m", + "////r////33///9e////Sv//////////////8f///8P/////////////////////////wf///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////UP///////////////f///zH///8A////AP///wD///8A////5v//////////////LP///wD///8A////AP///wD///8A////L///////////////5////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////H///////////////z///8C////AP///wD///8A////AP///wD///8A////AP///wD///8J", + "////wf///////////////////+3////t///////////////+////Ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////O///////////////y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1z///////////////////+q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+m////////////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////E////yb///85////f/////////////////////////9/////Of///yb///8U////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///yj///8o////KP///yj///8o////KP///yj///8o////////////////////Sf///yj///8o////KP///yj///8o////KP///yj///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8C////9P///////////////////2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////e///////////////d////Af///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82////////////////////qP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w", + "////////////////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///81////8///////////////+////07///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn////9///////////////f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv///////////////////7j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9a////////////////////Of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7P//////////////wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///3D///////////////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+///////////////8T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////E///////////////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2P///////////////////+k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////9P///////////////////2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///90////4f/////////////////////////y////lP///yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP///5L////w/////////////////////////+D///90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///3D///////////////r///8n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv////9", + "///////////////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////x////////////////v///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8+////////////////////5v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////9r///////////////////+s////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////////////////", + "////x////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////////////////////uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////3////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////BP///87///////////////////+U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///yn///////////////////99////AP///33/////", + "/////////83///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////lv///////////////////4T///8A////u///////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///+D///////////////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///97////////////////////1P///wL///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL////5///////////////4////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///xb////y////////////////////Uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////1///////////////1////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP///////////////////0L///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9H////////////////////lP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////x///////////////6v///wH///8C", + "////7P//////////////zP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////9///////////////xv///wD////O//////////////+F////AP///wD///8A", + "////AP///wD///8A////AP///wD///9K////////////////////GP///1j///////////////////89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////5P//////////////4////wz///8A////AP///wD///8A////Jf////n///////////////P///8b////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y3////+///////////////u////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0j///////////////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n/////", + "/////////3H///8A////AP///wD///8A////AP///07//////////////9P///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pv///////////////////0////8A////AP///wD///8A////AP///wD///8A////Av////b///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////8R////AP///wD///8A////AP///wD///8A////AP///wD///8A////PP///////////////////57///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+N////////////////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////of///////////////////zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///4v///////////////////9M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP//////////", + "/////f///yH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8f//////////////+T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9f///8A////AP///wD///+p////////////////////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+F////////////////////Rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rv///////////////////4v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zT////f////////////////", + "////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////X////AP///wD///8A////AP///wD///8A////AP///wD///8L/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T////+v//////////////q////wD///8A////AP///8v//////////////+z///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///94///////////////9////DP///wD///+L///////////////g////AP///wD///8A////AP///wD///8A////0v//////////////jf///wD///8S////////////////////b////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1////////////////////+a////m////////////////////1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf//////////////+f///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///z////////////////////++////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4////////////////////+K", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fP////////////////////j///9o////AP///wD///8A", + "////AP///wD///8A////AP///yL///9D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////HP///////////////////8r///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////x///////////////bv///wD///8A////AP///wD///8A////AP///wD///8A////Jv//////////////wf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9J////4f///////////////////2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///y///////////////6j///8A////AP///wD///8A////Af///6X//////////////////////////v///+X////w////////////////////AP///wD///8A////AP///wD///8A////qv//////////////Lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////If///4f///+y////1f///+/////4////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////G////////////////////Vv///wD///8A", + "////AP///8b///////////////////9W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8o", + "////KP///yj///8o////KP///0n///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////L///////////////qP///wD///8A////AP///wD///8A////////////////////XP///wD///8A////AP///wD///8K////3///////////", + "////df///wD///8A////AP///wD///+q//////////////8t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6D//////////////7v///8A////AP///wD///8A////cv//////////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9G////+v/////////Z////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///0j///9I////af///6b////i//////////////+5////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////z////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "////hP///wD///8A////AP///4T//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////L/////////4n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////d/////////9b///8A////AP///wD///8A////AP///wD///8A////1//////////Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1f////////////////////G////AP///wD///8A////V////////////////////8b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////if//////////////wv///wD///8A////AP///wD///+q/////////+b///8Q////AP///wD///8A////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///4n//////////////8L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rv////r/////////2f///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///4n//////////////8L///8A////AP///wD///+q/////////+b///8Q////AP///wD///8A////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+v//////////////7L///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b/////f//////////////zP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///8f///////////////7///8e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G/////3//////////////8z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////H", + "///////////////+////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv////9///////////////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////x////////////////v///x7///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b/////f//////////////zP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8f///////////////7///8e////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G/////3//////////////8z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////H///////////////+////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv////9///////////////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////x////////////////v///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Yf///////////////////3X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////L/////////4n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r////////////////////H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+W////////////////////hP///wD///+7////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////4P///////////////////3z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3v////////////////////U////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///+D///////////////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///97////////////////////1P///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////g////////////////////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////e////////////////////9T///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////4P///////////////////3z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3v////////////////////U", + "////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///+D///////////////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///97////////////////////1P///wL///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///6v//////////////////////////////6r///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////L/////////////////////////////////////////+A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ef///////////////////9P///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////lP///////////////////0L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9H////////////////////lP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5T/////", + "//////////////9C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////R////////////////////5T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+U////////////////////Qv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0f///////////////////+U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP///////////////////0L///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9H////////////////////lP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////////////////////////////////////////////////////p////Vf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv///////////////////8X///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6b///////////////////9P////AP///wD///8A////AP///wD///8A////AP///wL////2////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+m////////////////////T////wD///8A////AP///wD///8A////AP///wD///8C////9v///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////pv///////////////////0////8A////AP///wD///8A////AP///wD///8A////Av////b///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6b///////////////////9P////AP///wD///8A////AP///wD///8A////AP///wL////2////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+m////////////////", + "////T////wD///8A////AP///wD///8A////AP///wD///8C////9v///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pv///////////////////0////8A////AP///wD///8A", + "////AP///wD///8A////Av////b///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6H///////////////////9e////AP///wD///8A////AP///wD///8A////AP///wD///8l", + "/////////////////////////0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8v/////////if///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////i////////////////////0z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4v///////////////////9M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+L////////////////////TP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////i////////////////////0z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+m////////////////////Mf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Rv///////////////////3f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4X///////////////////9G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9G////////////////////i////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+F////////////////////Rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rv///////////////////4v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hf///////////////////0b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0b///////////////////+L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///4X///////////////////9G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9G////////////////////i////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+F////////////////////Rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rv///////////////////4v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C////yj///8o", + "////KP///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1////////////////////97////QP////7/////", + "/////////77///8B////AP///wD///8A////AP///wD///+C////////////////////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////X////AP///wD///8A////AP///wD///8A////AP///wD///8L", + "/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1////wD///8A////AP///wD///8A////AP///wD///8A////C/////////////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9f///8A////AP///wD///8A////AP///wD///8A////AP///wv/////////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////X////AP///wD///8A////AP///wD///8A////AP///wD///8L/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf//////////////+f///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////F///////////////5////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///97/////////5v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L///////////////////8G////AP///wD////i////////////////////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4P///4H///8x////AP///wD///8A////AP///wD//////////////+T///8A////Rv///9T///////////////////9l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+7///////////////D////AP///wD///8A////AP////n//////////////yD///8A////AP///wD///8A////AP///yH///////////////n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////N////////////////////If///wD///8A////AP///wD///8A////AP///wD///8F////tf////////////////////T///83////Q/////z//////////////9b///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v//////////", + "/////////wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+l////////////////////XP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Wf///////////////////6D///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rv///9v////u/////f////////////////////////////////////////////////////////////////////7////u", + "////3P///7z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD/////////////////////////////////////////////////////////////////////////////////////////////////////////SP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8X///////////////////+w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////ev///////////////////0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////cf///////////////////2P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////aP///////////////////3////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0P////4///////////////4", + "////RP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////8v//////////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////////////////////////////////////", + "////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////x///////////////k////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ff///////////////////xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8f//////////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////8P//////////////6////wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////E///////////////u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////9P//////////////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////8v//////////////+f///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8X///////////////////+w", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////9T///9p////DP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8o////KP///yj///8o", + "////KP///yj///8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C////2b////R/////////////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb////x//////////////+O////AP///wD///8A////AP///wD///8A////Hv///4T///+4////6////+v////G////d////w7///8A////AP///wD///8F////d////87////0////1v///6b///8z////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uv///////////////////3z///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////eP///////////////////77///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf///////////////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///z3/////////////////////////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Q/////////////////////////8Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8n/////////////////////////z////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///33////////////////////d////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////AP///wD///9+////////////////////KP///wD///8l////////////////////Jf///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///wD///8A////K/////z//////////////+b///8M////AP///8b///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0D////////////////////5////Fv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv////n///////////////////82////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf///9K////mf///8f////e////9P////3////3////////////////////gv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///+W////////////////////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Z////////////////////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///7v///////////////////8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////JP///////////////////7z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf////7//////////////6X///8A////AP///6P///////////////////8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////R////////////////////5L///8A////nf//////////////yP///wD///8A////AP///wD///8A////AP///wD///8A////kP//////////////2P///wD///8n////////////////////gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P/////", + "//////////////+N////AP///wD///8A////AP///7P///////////////////9z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qP///////////////////4D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+u///////////////5////FP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///84///////////////l////B////wD///8A////AP///wD////F//////////////9X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2z////////////////////l", + "////GP///wD///8A////AP///wD///8A////AP///wD////X////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////7////Af///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yX///////////////////++////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf///////////////////yv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8L///////////////////8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////X///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0////////////////////Jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w/////j///////////////U////Gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///0f////8//////////////+8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////n////wj///9Q", + "////////////////////0f///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf///////////////////yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yv///////////////////+y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////HP///5H////7////////////////////8P///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP////f///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////af///////////////////1n///8A////AP///wD///94", + "////////////////////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u///////////////1v///wD///8A////Qf///////////////////zL///8A////AP///wD///8A", + "////Hv///////////////////0j///8A////AP///93//////////////7P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf///////////////v////7//////////////6v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2X///////////////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////n////////////////////1////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+C////////////////////ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Cv///+v///////////////////9a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wL////////////////////h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+7/////", + "/////////z3///8A////AP///wD///8A////AP///wD///8A////AP///wH////x/////////+n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0j///+7/////////////////////////6////8I////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d/////////+P///8R////AP///wD///8A////AP///1j////////////////////P////P////w7///8A////AP///xn///9V////pP///wD///8A////AP///wD///8A////AP///xL////k", + "/////////5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8H//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///////////////////1b///8A////AP///wD///++////////////////////Vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///53/////////4////xH///8A", + "////AP///wD///8A////AP///////////////////1z///8A////AP///wD///8A////hv//////////////z////wT///8A////AP///wD///8A////Ev///+T/////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///86/////v//////////////kP///w3///8E////Xf////b//////////f///zb///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3H//////////////7P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////9P///9I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////8j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////4T///8A////AP///wD///+E//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vv/////////6////KP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uf/////////w////AP///wD///8A////AP///wD///8A////AP////D/////////sP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9X////////////////////vv///wD///8A////AP///1f///////////////////++////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w/////r//////////////9R////AP///wD///8A////Ef///+P/////////nf///wD///8A////AP///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8P////6///////////////Uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9x//////////////+z////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8P////6///////////////Uf///wD///8A////Ef///+P/////////nf///wD///8A////AP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////R///////////////V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///7r///////////////////98////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3j///////////////////++////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+6", + "////////////////////fP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///94////////////////////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uv///////////////////3z///9w", + "////cP///3D///9w////cP///3D///9w////cP///3D///9w////eP///////////////////77///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7r///////////////////98////cP///3D///9w////cP///3D///9w", + "////cP///3D///9w////cP///3j///////////////////++////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+6////////////////////fP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///94", + "////////////////////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uv///////////////////3z///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////eP///////////////////77///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb////l///////////////k////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vv/////////6////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9D/////////////////////////xn///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8r/////P//////////////5v///wz///8A////xv///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////QP////////////////////n///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8W////+f///////////////////zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0D////////////////////5////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv////n///////////////////82////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9A////////////////", + "////+f///xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xb////5////////////////////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////QP////////////////////n///8W////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8W////+f///////////////////zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0D////////////////////5////Fv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Fv////n///////////////////82////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////5////////////////////+n///8K////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z////////////////////V////n///////////////9////yP///8A////AP///wD///8A////AP///wD///8A////AP///wP////i////////////////", + "////Vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v///////////////////8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////JP///////////////////7z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+7////////////////////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT///////////////////+8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////u////////////////////x////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8k////////////////////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///7v///////////////////8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////JP///////////////////7z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////", + "//////////////////////////////////////////////+u////Gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////DP///8n///////////////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s////////////////////5f///xj///8A////AP///wD///8A////AP///wD///8A////1///////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP///////////////////+X///8Y////AP///wD///8A////AP///wD///8A////AP///9f///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2z////////////////////l////GP///wD///8A////AP///wD///8A////AP///wD////X////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s////////////////////5f///xj///8A////AP///wD///8A////AP///wD///8A////1////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP///////////////////+X///8Y////AP///wD///8A////AP///wD///8A////AP///9f///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///2z////////////////////l////GP///wD///8A////AP///wD///8A////AP///wD////X////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9j////////////////////8v///y////8A////AP///wD///8A////AP///wD///8A////Av////////////////////////8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9W//////////r///8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T///////////////////8m////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0////////////////////Jv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tP///////////////////yb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T///////////////////8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////0v///////////////////xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yv///////////////////+b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+t////////////////////Kv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////K////////////////////7L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf///////////////////yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yv///////////////////+y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///63///////////////////8q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8r////////////////", + "////sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+t////////////////////Kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////K////////////////////7L///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf///////////////////yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yv///////////////////+y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0j/////////////////////////////////////////////////////////////////////////////////////////////////////////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+H////////////////////Mf///wD///+N////////////////////c////wD///8A////AP///wD///8A////Rv///////////////////4v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP////f///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////3////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////9////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////f///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2X///////////////////9s////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Zf///////////////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////r//////////L///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////2////////////////////Gv///wD///8A////9v//////////", + "/////////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////////////////////", + "/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL///8A////AP///wD///8A////AP///wD///8A///////////////k////AP///wD///9N////////////////////qv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv////v//////////////1j///8A////AP///wD////p//////////////8s////AP///wD///8A", + "////AP///wD///8v///////////////l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pv///////////////////2P///8A////AP///wD///8A////AP///wD///8C////qP////////////////////n///9E////AP///wD///+R////////////////////Z////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////b///////////////////8a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v///////////////////yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///x7////////////////////d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v/////", + "/////////////////////////////////////f///////////////f/////////////////////////////////////////P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g////////////////////////////////", + "/////////////////////////////////////////////////////////////////////////0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+U////////////////////4v///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xn////7//////////////+q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4n///////////////////8y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zb///////////////////+U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf////z///////////////P///80////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jv///////////////////8X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////X///////////////z", + "////fv///3z///98////fP///3z///98////fP///3z///98////fP///3z////////////////////Y////fP///3z///98////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8L/////f//////////////6////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5///////////////+////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////H///////////////p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4r///////////////////9j////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l////////////////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////W////////////////////4b///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r///////////////////81////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+U////////////////////4v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP////3////////////////////N////U////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "/////////////////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wH///9Q////yv////////////////////3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9P//////////////sf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///88///////////////2////D////wD///8A////AP///wD///8A////Sf///+3/////////////////////", + "///////////////r////Ov///wD///8D////vP///////////////////////////////P///4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1v/////////////////////////////////////////////////////////////////////////////////////", + "//////////////9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1n///////////////////++////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9f////////////////////xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////S////////////////////Pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////TP//////////", + "/////////8z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///y3////5///////////////+////P////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////0v//////////////1P///wD///8A////AP///87//////////////33///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///7n///////////////////9i////AP///wD////S////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9i////////////////////sP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w////////////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1X////w/////////////////////////////////////////////////////////9j///8+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8n", + "////+////////////////P///yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////c///////////", + "/////////7b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////i///////////////5////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////7///////////////j////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3H///////////////////9e////AP///wD///9X////////////////////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4////////////////////9Z////AP///2n///////////////z///8P////AP///wD///8A////AP///wD///8A////AP///9b//////////////5f///8A////Av////H//////////////8X///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////s///////////////+////y////8A////AP///0f////////////////////S////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yf////8///////////////x////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Y////+///////////", + "////qP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7f//////////////2j///8A////AP///wD///88///////////////X////Av///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////vv///////////////////+////+H////KP///wX///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////////////////////3v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///93///////////////////8O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////i////////////////", + "////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////a////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3f///////////////v///zD///8s////LP///yz///8s", + "////LP///yz///8s////LP///yz///8s////LP///yz///8s////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv///9T///////////////j///+o////f////3D///9w////cP///3H///99////i////8T////9////////////////", + "////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////////////////////M////5f//////////////+v///zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b///////////////////8P////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8Q////////////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////L////AP///wD///8X////e////8f////m////8////8P///+O////WP///wX///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///9a////kP///8T////z////5////8f///96////FP///wD///8A////z////////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8n////nf////n/////////////////////////9f///0////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////k////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///8X///////////////f///8N////AP///wD///8A////If///////////////////67///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////B/////b//////////////6H///8A////AP///wT////s//////////////+D////AP///wD///8A////AP///2r///////////////b///8J////AP///wD///+m///////////////y////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv////w", + "/////////////////////////+r///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+K////////////////", + "////zP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP////r///////////////s////FP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df///////////////////3D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2X////////////////////f////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////r//////////////9B////AP///wD///8A////AP///wD///8A////AP///wD///8C////9P/////////t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8D////W////9L//////////////////////////////5z///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8V////9/////////9W////AP///wD///8A////AP///wT////a//////////////+4", + "////Cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vv/////////3////FP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////X/////////+3///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv////r///////////////s////F////wD///8A////G////+v//////////////+z///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xX////3/////////1b///8A////AP///wD///8A////AP///wD///////////////////9c////AP///wD///8A////J/////n//////////f///zX///8A////AP///wD///8A////AP///wD///9W//////////f///8U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///5z////////////////////8////9P///////////////////5T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vP//////////", + "////Rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////////////////////C////If///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////A////A////3L///+1////5f///+v///+8////jP///1T///8B////AP///zP///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+E////AP///wD///8A////hP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5D/////", + "/////////zv///8A////AP///wD///8A////AP///zz//////////////4T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Y////7P//////////", + "////6////xr///8A////AP///xj////s///////////////q////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bf//////////", + "////2v///wX///8A////AP///wD///9C/////v////////9D////AP///wD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///23//////////////9r///8F////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///7z//////////////0b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///23//////////////9r///8F////AP///wD///9C/////v////////9D", + "////AP///wD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP///////////////////zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b////////////////////////////////////////////////////////////////////////////////////////////////////YP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////W////////////////////////////////////////////////////////////////////////////////////////////////////2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1v///////////////////////////////////////////////////////////////////////////////////////////////////9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9b////////////////////////////////////////////////////////////////////////////////////////////////////YP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////W////////////////////////////////////////////////////////////////////////////////////////////////////2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1v/////////////////////", + "//////////////////////////////////////////////////////////////////////////////9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////d///////////////////////////////////////////", + "///////////////////////////////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///zX///+C////vv///9b////s/////f////n////w////2f///7r///+F", + "////RP///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9L///////////////////8+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////uf///////////////////2L///8A////AP///9L/////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2L///////////////////+w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7D///////////////////9Y", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9i////////////////////sP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w////////////////////WP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yv///////////////////7D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sP///////////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///2L///////////////////+w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7D///////////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9i////////////////////sP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w////////////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8E////q///////////////////////////////sf///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////2////////////////////c////xX////u", + "//////////////+3////AP///wD///8A////AP///wD///8A////AP///wD///8A////e////////////////////9T///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////i///////////////5////Av///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wT////7///////////////j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v//////////////+f///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E", + "////+///////////////4////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L///////////////n///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP////v//////////////+P///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////i///////////////5////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////7///////////////j////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////L///9w////cP///3P///+K////pP///8H////8/////////////////////////9f///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ff///8H////////////////////v////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////BP///77////////////////////v////h////yj///8F////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///++////////////////", + "////7////4f///8o////Bf///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////vv///////////////////+////+H////KP///wX///8A", + "////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///77////////////////////v////h////yj///8F////AP///wD///8A////AP///9T/////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///++////////////////////7////4f///8o////Bf///wD///8A////AP///wD////U////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////vv///////////////////+////+H////KP///wX///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///67////////////////////7////rv///0r///8f////A////wD///8A////AP///wD////////////////////9////MP///yz///8s////LP///yz///8s////LP///yz///8s////LP///yz///8s", + "////LP///yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///1P///+H////rf///9P////1////7f///9X///+9////hf///yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////d///////////////+////MP///yz///8s////LP///yz///8s////LP///yz///8s////LP///yz///8s////LP///yz///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////3f///////////////v///zD///8s////LP///yz///8s////LP///yz///8s////LP///yz///8s////LP///yz///8s////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///93/////", + "//////////7///8w////LP///yz///8s////LP///yz///8s////LP///yz///8s////LP///yz///8s////LP///yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////d///////////////+////MP///yz///8s", + "////LP///yz///8s////LP///yz///8s////LP///yz///8s////LP///yz///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////X///////////////v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////////////////////v////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////1v///////////////////w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD////////////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9b///////////////////8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////////////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W////////////////", + "////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///////////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1v///////////////////w////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///xD////////////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b///////////////////8P////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8Q////////////////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I////////////////////////////////////////////////////////////////////////////////////////////////", + "/////////yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////r////////////////////xf///8A////B////9P///////////////j///8t////AP///wD///8A////AP///yv///////////////////+x////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////k////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////5P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////k////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+K////////////////////zP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////y////wD///8A", + "////F////3v////H////5v////P////D////jv///1j///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4r/////", + "///////////////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P/////////+////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///+D////g////4P///+D////g////4P////b//////////////+v////g////4P///+D////g////4P////f//////////////+r////g////4P///+D////g////4P///+D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////5P///wD///8A////B/////D//////////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+R///////////////i////Cv///wD///8A////0f//////////////Pf///wD///8A////AP///wD///8A////Qv//////////////yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0n////////////////////k////DP///wD///8A////AP///wD///8A////mv//////////", + "//////////z///9T////AP///wD///8A////D/////L//////////////9n///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////H////////////////////+P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v///////////////////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+T/////////////////////////9v///+T////S////0P//////////////0H///9K////kf///9f/////////////////////////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////////////////////////////////////////////////////////////////////////////////////////////////////9I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////r///////////////+f///xX///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+h////////////////////Iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m", + "////////////////////qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9j////////////////////6v///yX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2L///////////////////+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////MP////n//////////////3j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////OP///////////////////7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////C////////////////////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v//////////////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8c////+v//////////////0v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zH////9///////////////S////BP///wD///8A", + "////AP///wD///8A////AP///wD///8A////L/////X///////////////P///8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9m////////////////////Z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8q////qf////7////////////////////W////Xf///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////1r////T/////////////////////v///6n///8q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+H//////////////+T///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////fP//////////////0P///wD///8A////AP///wD///8A////Tv////7///////////////7////c////xf////f///////////////b///8z////bf//////////////8P///8H////x////////////////////d////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K", + "////8v/////////////////////////////////////////////////////////////////////////////////////////0////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+a////////////////////kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////f////////////////////6D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////q///////////", + "/////////2L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3D///////////////////+c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wT////M////////////////////lP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////J////////////////////4D///8A////AP///wD///92", + "///////////////W////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///0r////////////////////O////Av///wD///8A////3P//////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf///////////////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jf///////////////////3n///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///4///////////////////////////////////////////////////////////////////////////v///5r///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////sP///////////////////5T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////L/////T///////////////////+G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////v//////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////G///////////////9////Fv///wD///8A", + "////EP////r//////////////8r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W////////////////////Gv///wD///8u////////////////////Tv///wD///8A", + "////AP///wD///8A////AP///xz///////////////////9U////AP///wD///+7///////////////7////Dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x/////0///////////////H////Af///wT////X///////////////+////O////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////of///////////////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ev///////////////////0L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82", + "///////////////f////BP///wD///8A////s///////////////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT////d///////////////////////////////8////4P///8L///+1////qf///+////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////r///////////////f///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////1///////////////6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P//////////////+f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP////X///////////////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H", + "////av///8X/////////////////////////////////////////////////////////////////////////1P///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////v//////////////////////////////37///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////2///////////////6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////r///////////////X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////u////wD///9i////9f/////////////////////////////////////////C////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////D", + "//////////////////////////////////////////P///9S////AP///8H///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7///+u/////f//////////////////////////////y////yf///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1f///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH///////////////////+t////AP///wD///8A////AP///wD////H///////////////5////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0D///////////////////9o////AP///wD///8A////nv//////////////1f///wD///8A////AP///wD///+2//////////////+y////AP///wD///8A////a////////////////////zn///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////af////////////////////////9d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////6P////////////////////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Xv///////////////////6D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2f///////////////////9j", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Q////////////////////c////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////w///////////////cf///wD///8A////AP///wD///8A////AP///wD///8A////KP//////////////w////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wj///9w////cP///3D///9w////cP///3D////////////////////y////cP///3D///9w////cP///3D///9w////A////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Z////3v////////////////////////////////////////+3////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////bP/////////z////CP///wD///8A////AP///wD///9d////////////////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn////0/////////2v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G", + "////Jf///wD///8A////AP///wD///8g////+v/////////K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Sv////7//////////////7L///8A", + "////AP///wD///9I/////v//////////////sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////", + "//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s//////////P///8I////AP///wD///8A////AP///wD///8A////////////////////XP///wD///8A////AP///7z//////////////5H///8A", + "////AP///wD///8A////AP///wD///8A////Cf////T/////////a////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////of///////////////////////////////////5v///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0X//////////////7X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8B////MP///3X////i//////////P///80////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////y////7//////////////////////", + "////////////////////vP///w////9i////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "////hP///wD///8A////AP///4T//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////+f////////+7////Cf///wD///8A////AP///wj///+7//////////L///8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv///////////////v///0n///8A////AP///wD///+y///////////////+////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX////Z//////////////9t////AP///wD///8A////AP///4z/////////3f///wr///8A////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8F////2f//////////////bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F//////////////+1////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8F////2f//////////////bf///wD///8A////AP///4z/////////3f///wr///8A////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zv////////////////////G////B////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cv////L/////////////////////////////////////////////////////", + "////////////////////////////////////9P///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr////y////////////////////////////////////////////////////////////////////////////////", + "//////////T///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////8v/////////////////////////////////////////////////////////////////////////////////////////0////DP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cv////L/////////////////////////////////////////////////////////////////////////////////////////9P///wz///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr////y//////////////////////////////////////////////////////////////////////////////////////////T///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////8v/////////////////////////////////////////////////////////////////////////////////////////0////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///w/////y////////////////////////////////////////////////////////////////////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////M////9r////////////////////////////////////////////////////////////////////r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r////////////////////Yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A", + "////AP///wD///8A////AP///wD///8A////Sv///////////////////87///8C////AP///wD////c////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B////////////////////jP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+N////////////////////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf///////////////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////jf///////////////////3n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4H///////////////////+M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///43///////////////////95////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+N////////////////", + "////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gf///////////////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jf///////////////////3n///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////q////////////////////+v///////////////////+x////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8x////////////////////+v///xX///8A////af///////////////////1P///8A////AP///wD///8A////AP///wD///8A////AP///xb////5////////////////////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////v//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////7/////", + "/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////+///////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////v//////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////JP///5v////9////////////////////c////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////Qv///+b////////////////////7////T////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////3f///////////////////////////////P///+D////C////tf///6n////v////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP///93///////////////////////////////z////g////wv///7X///+p////7////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///xT////d///////////////////////////////8////4P///8L///+1////qf///+////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8U////3f///////////////////////////////P///+D////C////tf///6n////v////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP///93/////", + "//////////////////////////z////g////wv///7X///+p////7////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT////d///////////////////////////////8", + "////4P///8L///+1////qf///+////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////yP////////////////////////////////////v////g////zf///8L///+2", + "////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////M////8j/////////////////////////////////////////////////////////iP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f///////////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////X///////////////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////1////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f///////////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////a////////////////////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////v//////////////+P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////b///////////////r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+v//////////////9f///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////2///////////////6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////r///////////////X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9v//////////////+v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////6///////////////1////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP////b///////////////r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+v//////////////9f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////2///////////////6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////r///////////////X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP//////////", + "//////////////////////////////////////////////////////////////////////////////////////////////8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9f///////////////////8F////AP///wD///8v", + "////+f//////////////0f///wf///8A////AP///wD///8Q////////////////////1////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////1f///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9X///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////V////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1f///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////6P////////////////////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7v///8A////Yv////X/////////////////////////////////////////wv///xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////o/////////////////////////yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///////////////////wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Z//////////////96////AP///wD///8A////AP///wD///+i//////////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+T///8A////AP///wD////B///////////////y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX///+O////yP////H////G////jv///zr///8A////EP///+v//////////////4H///8A////AP///7n//////////////1X///8A////AP///wD///8A////AP///13//////////////6////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////vP///////////////////8T///8Q////AP///wD///8A////jP////////////////////////9i////AP///wD///8A////AP///wD///+W////////////////////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1z///////////////////+n////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6f///////////////////9X////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP////P///+x////av///yL///8A////AP///wD///9S//////////////9R////AP///wD///8A////Hv///2T///+r", + "////7v///4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0n///////////////////91////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uf///////////////////xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ff///////////////////7////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3r/////", + "///////////////e////GP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yX////r", + "///////////////6////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9z///////////////7////N////wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4n///////////////////+G////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5f///////////////////1////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv///////////////////5P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6X///////////////////9D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////l////////////////////7P///8M////AP///wD///8A////AP///wD///8A////Yf////P///////////////////9l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wj///9n////l////7/////o////9P///9f///+u////Tv///wP///8A////Rv///////////////////5j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8s////q/////7////////////////////e////Z////wf///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////////////////////", + "////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////Zf///9z////////////////////+////q////yz///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x////////////////////Uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7b//////////////6v///8A////AP///wD///8A////Av///9X//////////////93///8x////AP///wD///8G////bf////7/////////0v///8//////////0////xb///8A////CP///2z///////////////3///84", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///53/////////////////////////////////////////////////////////////////////////////////////////o////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///88/////v///////////////P///zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///5////////////////////+A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4v///////////////////+H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+U////////////////////fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///3D///9w////cP///3D///9w", + "////cP////L///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////9v///zH///8A////AP///wD///96////////////////////3f///wv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////AP///3z///////////////////8r////AP///wD///8A////H////////////////////y7///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///wT////X////////////////////QP///wD///8A////AP///+X///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6H///////////////////9y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3P///////////////////+b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////6////8P///+c////dP///0z///8Q////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf///8P///////////////////////////////P////A////i////4n///++////8f//////////////////////////", + "////2P///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////Pf///////////////////+3///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Z/////f////////////////////y////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8c/////v//////////////w////wD///8A////AP///wD///+7////////////////////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8d////////////////////2f///wD///8A////Av///+///////////////5L///8A////AP///wD///8A////AP///wD///9i///////////////9////Ev///wD///8A////gf///////////////////07///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////dP///////////////////2f///9w////////////////////nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Q////////////////", + "/////P///yP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL////6///////////////0////Fv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///97//////////////9r///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7b//////////////17///8A////K/////7/////////2////wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///2z////g", + "////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////m////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wr////////////////////h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0////////////////////xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9////////////////////8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+r///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wj///+h////////////////////////////////////////////////////////////////////w////yb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////j////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+W////3///////////", + "/////////83///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "////1////wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////j////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2////////////////////w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7////////////////////Y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////6f///92/////////////////////////////////////////////////////////+P///80////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zf////l/////////////////////////////////////////////////////v///13///+r////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////4P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Bf///4H////7///////////////////////////////H////UP///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///98////////////////////VP///wD///8A////AP///wD///8A", + "////bP///////////////////2n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+D////////////////////Lf///wD///8A////AP///0v///////////////////8m////AP///wD///8K", + "////9///////////////ZP///wD///8A////AP///y7///////////////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///67/////////////////////////ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////UP//////////////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+9////////////////////Qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9a////////////////////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////rP///////////////////0D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4L/////", + "/////////9j///8H////AP///wD///8A////AP///wD///8A////AP///5r//////////////4v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////////////////////////////////", + "/////////////////////////////////////////////////////////wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7///+l//////////////////////////////+y////Xf///+///////////////7P///8B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5X/////////qv///wD///8A////AP///wD///8A////lf//////////////wP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////qv////////+U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Z/////7///+7////ff///1f///+L////5///////////////iP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+K////////////////////YP///wD///8A////AP///4n///////////////////9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lf////////+q////AP///wD///8A", + "////AP///wD///8A////AP///////////////////1z///8A////AP///1n//////////////+L///8M////AP///wD///8A////AP///wD///8A////AP///wD///+q/////////5T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W////q////+T////i////qf///1L///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q///////////////k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP//////////////kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////+t////kf///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////4T///8A////AP///wD///+E//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////tf///z7///8A////AP////v//////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///47//////////////8////94////VP///3f////O//////////////91////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yf///////////////////4n///8A////AP///wD///9h////////////////////iP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf//////////////6////w////8A////AP///wD///8G////0P////////+J////AP////z//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1H//////////////+v///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP//////////////5P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1H//////////////+v///8P////AP///wD///8G////0P////////+J////AP////z//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////t////////////////////6X///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+d/////////////////////////////////////////////////////////////////////////////////////////6P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////nf////////////////////////////////////////////////////////////////////////////////////////+j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///53/////////////////////", + "////////////////////////////////////////////////////////////////////o////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d////////////////////////////////////////////////", + "/////////////////////////////////////////6P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nf//////////////////////////////////////////////////////////////////////////", + "//////////////+j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///53/////////////////////////////////////////////////////////////////////////////////////////o////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jv///////////////////////////////////////////////////////////////////////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP////n//////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////i////////////////////4f///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////BP///9f///////////////////9A////AP///wD///8A////5f///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////of///////////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////c////////////////////5v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6H///////////////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3P///////////////////+b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+h////////////////", + "////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9z////////////////////m////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////of///////////////////3L///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////c////////////////////5v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6H///////////////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///3P///////////////////+b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////q////////////////////7H///8M////sP///////////////////7D///8F////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////U////////////////////7H///8A////AP///wL////L///////////////j////DP///wD///8A////AP///wD///8A////AP///wD///8A////sP//////////", + "/////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9Q/////////////////////P///yP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///wD///8A////hf////////////////////L///8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8E", + "////hv////3////////////////////6////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn///9s////4P//////////////////////////////////////////////////////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////bP///+D///////////////////////////////////////////////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///2z////g////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn///9s////4P///////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////bP///+D///////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///2z////g////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wP///9U////xv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E", + "////mP////3//////////////////////////////////////////////////////////////5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b/////////////////////////////////////", + "//////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W////////////////////////////////////////////////////////////////", + "////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1v//////////////////////////////////////////////////////////////////////////////////////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b///////////////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////s////////////////////zP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz////////////////////3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+P///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////b////////////////////Df///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Dv///////////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2////////////////////w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///w7////////////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9v///////////////////8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////////////////", + "////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////b////////////////////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Dv///////////////////9j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2////////////////////w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7////////////////////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////2///////////////5////AP///wD///8A////AP///3f///////////////////+L////AP///wD///8A////AP////n///////////////X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////UP//////////////////////////////jP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+n////dv/////////////////////////////////////////////////////////j////NP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Q//////////////////////////////+M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL///////////////////8Z", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////aP//////////////q////wD///8A////AP///wD///8A", + "////cv//////////////m////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////k////AP///wD///8D////5///////////////y////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0/////3///////////////////////////////6////WP///wD///9o///////////////2////H////wD///+Y//////////////+W////AP///wD///8A", + "////AP///wD///+l//////////////+L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT////j////////////////////1////zX///8A////fP////////////////////////9z////AP///wD///8A////AP///wD///8A////PP///////////////////5H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+V////////////////////a////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9s////////////////////kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3///8F", + "////AP///wD///8A////AP///wD///8A////bf//////////////bP///wD///8A////AP///wD///8A////AP///wP///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////4f//////////////2f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///////////////////8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kf///////////////////8r///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///0z////d////////////////////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///7v/////", + "/////////93///8O////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///0T////9////////////////////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////v////////////////////t////If///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6n///////////////////9m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y////////////////////sv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7////B////////////////////0f///zX///8A////AP///wD///8x////tf////////////////////////+M////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0f////b///////////////////////////////////////////////N////IP///yb////////////////////C////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8u////rv////7////////////////////l////cf///wr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wr///9v////4/////////////////////7///+t////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Y////////////////////+n///8X", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////P//////////////+G////AP///wD///8A////AP///1v///////////////7///8t////AP///wD///8A", + "////AP///wD///93/////////////////////////1H///8A////AP///wD///8A////kP//////////////sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////////////////////pP///wD///8A////AP///wD///8A////AP///wD///8A////lf//////////", + "/////////0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wf///9y////7f///////////////////4D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+/////////////////////Yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9q////////////////////q////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////////////////////y////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uP//////////", + "/////////2D///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////3////YP///wD///8r////+f///////////////v///z////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD////R///////////////W////AP///wD///8A////AP///wD////H//////////////+G////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///9s////////////////////r////wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////A////////////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Z////////////////////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////////////////////////////////////////////////////6f///1X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cv///+P/////", + "////////////////////tf///yr///8C////AP///wD///8A////AP///wH///8p////sP////////////////////////+m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////", + "//////////////9r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9L////zP//////////////////////////", + "////ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cP///////////////////3H///8A////AP///wD///8A////av///////////////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP///////////////////5X///8A////AP///wD///+w///////////////V////AP///wD///8A////AP///wD///8A////qP//////////////zP///wD///8A////AP///0L///////////////////+T", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////P///////////////u////7///////////////7f///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////y/////////////////////////+d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////mf///////////////////47///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0b///////////////////92", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///81///////////////X////Av///6H//////////////2H///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///0n///9x////lf///7j////Y////5f///+/////4/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////+f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////////////////////wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6v///////////////////8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+/////////////////", + "////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////8////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf//////////////////////////////////////////", + "////////////////////////////////////////////////////7////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+L////////////////////////////////////////////////////7////8j///+i////Xf///wH///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////9v///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////k////zP////4///////////////L////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////5////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+3///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////9v///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7X///////////////////8n////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8p////////////////////r////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////g/////f/////////o////l////2X///85////Xf///5b////x////////////////", + "////4f///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb////i////////////////////7f///5D///9b////N////1v///+H////4//////////2////0P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////z///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P//////////////////////////f///67///89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////1///////////////8v///wn///8A////AP///wD///8A////AP///xX////7///////////////G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////xv//////////////8P///wL///8A////AP///wD///8G////8f//////////////dP///wD///8A////Sv///////////////v///xj///8A////AP///wD///8B////7v//////////////wP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2D/////", + "//////////////////////////////9V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7P//////////////8H/////", + "/////////+j///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jf////j//////////////9n///8H////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////////////////////0////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0////////////////////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tf///////////////////0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8n///////////////////8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T////8v//////////////kv///wH///8A////AP///wD///8A////AP///1L///////////////j///8b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP////////////////////////////////////////////////////////////////////////////////////////8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+y", + "/////////////////////////7P///8x////AP///wD///9a////////////////////S////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5/////////3z///8A////AP///wD///8A////AP///7j//////////////5H///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///33/////////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8X/////////////////////////////////////////3v///wz///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///8b///////////////D///8d////AP///wD///8E////xf//////////////8P///x3///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n/////////fP///wD///8A////AP///wD///8A////AP///wD///////////////////+6////lP///5T////o//////////////9N////AP///wD///8A////AP///wD///8A////AP///wD///8A////ff////////+4////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///8o////KP///yj///8o", + "////KP///yj///8o////KP///////////////////0n///8o////KP///yj///8o////KP///yj///8o////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////L////wT///8A////AP///wD///8A////L///////////", + "////6////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///8A////AP///wD///8A////AP///xP//////////////+L///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////H///9+////Tf///zn///9m////l////+v///////////////r///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+E////AP///wD///8A////hP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////lv/////////5////Xv///wD////v//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I", + "////lP////////////////////////////////////z///+A////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv////H//////////////8b///8E", + "////AP///wD///8e////8f//////////////xP///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD////C", + "//////////////+J////AP///wD///8A////AP///yr////3////+f///yP////1//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////wv//////////////if///wD///8A", + "////AP///y////8E////AP///wD///8A////AP///y///////////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////ZP///7f////X////8P////L////Q////rP///2f///8E////AP///wD///8A////wv//////////////if///wD///8A////AP///yr////3", + "////+f///yP////1//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xb////n////////////////////tP///wv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pv///////////////////6T///8A////AP///wD///8A////AP///wD///8A////AP///5X///////////////////9E////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7///////////////////+k////AP///wD///8A////AP///wD///8A////AP///wD///+V////////////////////RP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////////////////////pP///wD///8A////AP///wD///8A////AP///wD///8A////lf///////////////////0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Pv///////////////////6T///8A////AP///wD///8A////AP///wD///8A////AP///5X///////////////////9E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///z7///////////////////+k////AP///wD///8A////AP///wD///8A////AP///wD///+V////////////////////RP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////////////////", + "////pP///wD///8A////AP///wD///8A////AP///wD///8A////lf///////////////////0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x7////7//////////////+x////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////qv///////////////////////////////////+j///+6////i////3r///+U////rv///8r////5", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9w////cP///3D////////////////////y////cP///3D///9w////cP///3D///9w////cP///wD///8A", + "////AP///wD///8A////AP///2r///////////////////+r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///2z///////////////////+v////AP///wD///8A////AP///+j/////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D///////////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1n///////////////////+8", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////A////////////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Z////////////////////vP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP///////////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Wf///////////////////7z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///8D///////////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1n///////////////////+8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////A////////////////////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Z////////////////////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E", + "////q////////////////////7H///8G////AP///wX///+t////////////////////r////wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3X///////////////////+H////AP///wD///8A", + "////Nf////3//////////////4v///8A////AP///wD///8A////AP///wD///8A////AP///43///////////////////95////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////y/////////////////////////+d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wX////P////////////////////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8O////w//////////////////////////i////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wT///9J////cf///5X///+4////2P///+X////v////+P////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E", + "////Sf///3H///+V////uP///9j////l////7/////j/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///0n///9x////lf///7j////Y", + "////5f///+/////4/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///9J////cf///5X///+4////2P///+X////v////+P//////////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////Sf///3H///+V////uP///9j////l////7/////j/////////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///0n///9x////lf///7j////Y////5f///+/////4/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y////Y////4X///+m////yP///9/////o////8f////r/////////////////////////////////////////////////////////////////////////////////////", + "//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////d//////////////////////////p////sP///4b///9h////c////5H///+v////6/////////+c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+x///////////////////////////////////////////////////////////////////////////////////////////////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////sf//////////////////////////////////////////////////////////////////////////////////////////////7////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H/////", + "/////////////////////////////////////////////////////////////////////////////////////////+////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x////////////////////////////////", + "///////////////////////////////////////////////////////////////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4v///////////////////9Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I////////////////////4v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////2////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////tf///////////////////yf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yn///////////////////+v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7X///////////////////8n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8p////////////////////r////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+1////////////////", + "////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kf///////////////////6////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf///////////////////yf///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///yn///////////////////+v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7X///////////////////8n////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8p////////////////////r////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2////////////////////w3///8A////AP///wD///8C////wf///////////////f///0D///8A////AP///wf////////////////////Y////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///7P//////////////8H//////////////+j///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////4P////3/////", + "////6P///5f///9l////Of///13///+W////8f///////////////////+H///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////s///////////", + "////wf//////////////6P///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8f////////////////////Jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///zb//////////////9z///8A////AP///wD///8A////AP///0L//////////////8r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////5P///wD///8A////b////////////////////5////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0v////8///////////////2////zv////r/////", + "//////////3///9V////Av///9D//////////////6v///8A////QP//////////////4f///wj///8A////AP///wD///8Q////7v//////////////K////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP///9z////////////////////8////sf////////////////////////+G", + "////AP///wD///8A////AP///wD///8A////AP///wT////y///////////////b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sP///////////////////0r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////S////////////////////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j//////////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///37///////////////////9A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o///////////////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9f//////////////6f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///+u////////////////////j////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0D///9A////Qf///1f///9w////jP///97////////////////////8////iv///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////7P//////////////pv///wD///8A////AP///wD///8A////AP///wD///8A////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP///3D////t////////////////////zf///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////w/////////////////////////9f///85////AP///wD///8A////AP///wD///8A////Af///2z////////////////////d////Cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///7////////////////3///8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////6z/////////////////////", + "////rP///07///+v//////////////////////////f///9d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4//////////////////////////////////////////////////////", + "/////////+n///8j/////v//////////////0////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////sP/////////////////////////r////e////w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////D////3r////q/////////////////////////7D///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////V////////////////////0P///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4v//////////////YP///wD///8A////AP///wD///+i//////////////+4////AP///wD///8A////AP///wD///8A////Cv////L///////////////////8f////AP///wD///8A////AP///wj////0//////////7///8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Af///97///////////////P///8J////AP///wD///8A////AP///wD///8A////BP///+r//////////////+P///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////y////cP///3D///9w////cP///3D///97", + "////mv///7r////o////////////////////+v///4v///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3////////////////////0L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Sv//////////", + "/////////9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////y////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9v///////////////////9C////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////y////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D////y////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////+Y", + "////yv///////////////////5P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8m////////////////////g////wD///8A////AP///wD///8A", + "////cP//////////////3f///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8Q////7P//////////////+f///yT///8A////AP///wD///8A////6P//////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3////////////////////z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////P////////////////////93///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////////rv///xn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3D/////////////////////////lv///wP///8A////AP///wD///8A////AP///wD///8A////AP///wL///+R/////////////////////////2f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////////v////0H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///zz////H////////////////////////////////////hP///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8X///////////////////8g////AP///wD///8A", + "////AP///xr////+///////////////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6v///////////////////9Q////AP///wD///8A////bP///////////////////xn///8A", + "////AP///wD///8A////Av///+z//////////////4b///8A////AP///wD///8J////+f//////////////1////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv////3//////////////////////////////2X///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////R///////////////////////////////+v///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz////4///////////////3////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+s///////////////5////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7T//////////////3H////6/////////9////8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8j///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////8O////AP///wD///8A////AP///wD///8A////AP///wD///8A////OP///////////////////6D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+D////////////////////Sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////n////////////////////zv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8S/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///4z///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////B/////3//////////////8f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////2v//////////////1v///z3///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////8K////AP///wD///8A", + "////AP///wD///8A////AP///wD////X////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////6L///8A////aP///////////////////6b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////w7///8A////AP///wD///8A////AP///wD///8A////AP///wP////////////////////+////Bv///wD///8A////AP///wD///8A////AP///wD///8A////1////////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////8K////AP///wD///8A////AP///wD///8A////AP///wD////X////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+O////////////////////Qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rf///////////////////4b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////////////////////Z////IP///wD///8A////AP///wD///8A////NP///+7///////////////////9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9n////////////////", + "////4f///yj///8A////AP///wD///8A////AP///xb////C//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////If///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1j/////////////////////////t////yX///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////NP///////////////////6P///8A////AP///wD///8A////AP///wD///8A////t////////////////////yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df////v//////////////7f///8A////AP///wD///8A////AP///6X//////////////7////8A////AP///5L//////////////8n///8A////AP///wD///8A////AP///7P///////////////n///8K////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD////y///////////////i////4v//////////////7f///xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xr////8//////////////9L////////////////////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9+////////////////////gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv//////////", + "/////////7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v///////////////////8h////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0D///////////////////87", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////m////////////////////C////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9P//////////////////////////////////////////////////////////////////////////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////9D///////////////////+9////N////wb///8C////Kv///5b///////////////////+9////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT/////////////////////////////////////////////////////////////////////////////////////////CP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9f////////////////////9v///2P///8A////AP///wD///8A////Av///+L//////////////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////3f////////9i////AP///wD///8A////AP///wD////b//////////////92////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9j/////////9z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D", + "////Tv///6P////N////8v///+n////J////f////wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8f////7v//////////", + "////uv///wH///8A////AP///x3////t//////////////+6////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////d/////////2L///8A////AP///wD///8A////AP///wD///8A///////////////////////////////////////////////z////S////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///2P/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g/////////////////////////////////////////////////////////////////////////////////////////////////////////0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////MP////X////J////Kv///wD///8A////Af///5j//////////////7v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yD////n////e////wj///8A////AP///wD///9o///////////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////+P///8h////AP///wD///8A", + "////AP///wD///8i////2P//////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "////hP///wD///8A////AP///4T//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2j////4//////////7///9k////4v//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I////oP///8/////z////z////53///85////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///7z//////////////+7///8e////AP///wD///8B////vP//////////////7f///x3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////Nv////7/////////9////x////8A////AP///wD///8A////bf////////+m////6v//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////wD///8A////AP///zb////+//////////f///8f////AP///zD////1////yf///yr///8A////AP///wH///+Y//////////////+7////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f//////////////////////////", + "////////////////////2v///zr///8A////AP///zb////+//////////f///8f////AP///wD///8A////bf////////+m////6v//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////MP///+7////////////////////J////Ev///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////e///////////////z////Cf///wD///8A////AP///wD///8A", + "////AP///wT////q///////////////j////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////3v//////////////8////wn///8A////AP///wD///8A////AP///wD///8E////6v//////////", + "////4////wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///97///////////////P///8J////AP///wD///8A////AP///wD///8A////BP///+r//////////////+P///8C////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////e///////////////z////Cf///wD///8A////AP///wD///8A////AP///wT////q///////////////j////Av///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////3v//////////////8////wn///8A////AP///wD///8A////AP///wD///8E////6v//////////////4////wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///97///////////////P///8J////AP///wD///8A////AP///wD///8A////BP///+r//////////////+P///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////pf///////////////f///yX///8A////AP///wD///8A////AP///wD///8A////////////////////8v///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C", + "////0P/////////////////////////3////bf///xf///8A////AP///wD///8A////AP///wD///8A////Cf///0L///+D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////L///9w////cP///3D///9w", + "////cP///3D///9w////cP///3D///9w////cP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////y////cP///3D///9w////cP///3D///9w////cP///3D///9w", + "////cP///3D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////8v///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////L///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "//////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///9K////////////////////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A", + "////AP///wD///8A////AP///xD////s///////////////5////JP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////f////////////////////Pv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8/////////////////////3f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3////////////////////z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////P////////////////////93///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9////////////////////8+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///z/////////////////////d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////f////////////////////Pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8/////////////////", + "////3f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3////////////////////z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////P////////////////////93///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////q////////////////////7H///8G////AP///wD///8A////BP///6v///////////////////+v////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+Y////////////////////bv///wD///8A////AP///wD///+X///////////////7////K////wD///8A////AP///wD///8A////AP///wD///9z////////////////////m////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////R///////////////////////////////+v///yD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////f////////////////////6P///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8I////x/////////////////////////+s////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////I////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////I////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///8j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////9P///////////////////yb///8A////AP///wD///8A////AP///wD///8A////AP///wX////9///////////////L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////JP////b///////////////////+k////D////wD///8A////AP///wD///8A////AP///wP///9E////U////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H/////f//////////////x////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4z///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////B/////3//////////////8f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+M////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////9///////////////H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H/////f//////////////x////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k////////////////////x////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////tP///////////////////8r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////wr///8A////AP///wD///8A////AP///wD///8A////AP///9f///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///47///////////////////9C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F////////////////////hv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+O////////////////////Qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rf///////////////////4b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jv///////////////////0L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0X///////////////////+G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///47///////////////////9C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F////////////////////hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+O////////////////////Qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rf///////////////////4b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7X///////////////////8o////AP///wD///8A", + "////AP///x/////x///////////////h////D////wD///8a////////////////////sP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xr////8//////////////9L////////////////////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////2f///yD///8A////AP///wD///8A////AP///zT////u////////////////////Y////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv////z//////////////0v///////////////////9N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////LP///////////////////zP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////+//////////+////Dv///wD///8A////AP///wD///8S///////////////2////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+T///8M////hf////7///////////////v///8x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////G//////////////+j////CP///wD///8N////vf//////////////zv///wD///8+////////////////////QP///wD////a//////////////+j////CP///wD///8N////vf//////////////v////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8V////p/////////////////////////////////////////+X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8P///////////////////82////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zf///////////////////+/////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+j//////////////+i////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b/////P//////////////pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////+v//////////////5////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Dv///9n///////////////////9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////r///+/", + "////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0////////////////////9g////AP///wD///8A////AP///wD///8A////AP///////////////////7T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cv///4n///+w////iv///2n///9P////Q////1b///92////lf///+T/////////////////////////8P///yL///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4////////////////////7z//////////v///6X///9Y////LP///wv///8r////Vv///73/////////////////////////Q////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9M////////////////////kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vv///97//////////////////////////////////////////////7T///8n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///0b/////////////////////////vv///1b///8s////Cv///yn///9U////mv////z/////////yP////X//////////////+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8z////s///////////", + "///////////////w////hf///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////hP////D/////////////////////////sv///zL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nf////X////////////////////M////Dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////X//////////////zv///8A////AP///wD///8A////xf//////////////iP///wD///8A////AP///wD///8A////AP///wD///+d////////////////////A////wD///8A////AP///wD///8A////rv//////////", + "////af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+A////////////////////Vf///wD///8A////AP///wD///8A////AP///0n///////////////////+H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////////////////////////////////////////////////////////////////////p////o////yf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////f///////////////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y3////////////////////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////", + "////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////2////////////////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////", + "//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////9f////H//////////////////////////////93///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////ev///////////////////y7///8A////AP///wD///8A////AP///xr////9//////////////82////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////j////////////////////4z///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////j///////////////////8q////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yr////////////////////3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////y////cP///3D///9z////iv///6T////B/////P/////////////////////////X", + "////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////k////////////////////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3n/////", + "///////////////3////GP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////////rP///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I////63////////////////////////////////////t////Xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///xz////+///////////////P////AP///wD///8A////AP///wD///8A////yf///////////////////x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wP////v///////////////8////D////wD///8A////AP///yj///////////////////9b////AP///wD///8A////AP///zP///////////////////9B////AP///wD///8A////AP///8P///////////////////8b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+V/////////////////////////8f///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8P//////////////9z////v", + "//////////////+a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kv///////////////////5T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8X////+v//////////////qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///80///////////////+//////////////9m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////Q///////////////6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////O////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///2f///////////////////+A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////W////////////////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3////////////////////92////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP////////////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9o////////////////////Yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///yf///////////////////+e////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T//////////////23///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////N////wD///8A////AP///wD///8A////AP///wD///8A////7///////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+x////AP///wD///+i", + "////////////////////ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////89////AP///wD///8A////AP///wD///8A////AP///wD///8d////////////////", + "/////////yP///8A////AP///wD///8A////AP///wD///8A////AP///+///////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////N////wD///8A////AP///wD///8A////AP///wD///8A////7///////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////aP///////////////////3r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///33///////////////////9d////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////0////Ff///wD///8A////AP///wD///8A////AP///wD///8/////////////////////3P///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////4P///////////////////yv///8A////AP///wD///8A////AP///wD///8A////DP////H/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A/////////////////////////2P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+z////////////////////jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5D///////////////////9L////AP///wD///8A////AP///wD///8A", + "////AP///1z///////////////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0v///////////////////98////AP///wD///8A////AP///wD///9S///////////////5////Cf///wD////X", + "//////////////98////AP///wD///8A////AP///wD///91////////////////////Rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////D////////////////////R////0j///////////////////+7////Af///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///95///////////////i////AP///9///////////////63///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///9b///////////////n///8p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b///////////////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+U////////////////////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y////////////////////Lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////+P//////////////+v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////T/////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///6z/////", + "///////////////////////////////5////8////////////////////////////////////4H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6X/////", + "//////////L////8//////////////92////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tP///////////////////17///8A////AP///wD///8A////AP///wD///+w///////////////b////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////f/////////Tv///wD///8A////AP///wD///8A////9///////////////Yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////T//////////2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1D///////////////////9q////AP///wD///8A////Tf///////////////////2r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9/////////9O////AP///wD///8A", + "////AP///wD///8A////AP////////////////////////////////////////////////////////+b////A////wD///8A////AP///wD///8A////AP///wD///9P//////////b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP////////////////////////////////////////////////////////////////////////////////////////////////////////9I", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v////////////////////Z////p////+X///////////////////9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+7///////////////0////xf///57////C////////////////////lP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP////////////////////////9s////AP///wD///8A////AP///wD///8A////AP///xP////0/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////4T///8A////AP///wD///+E//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////M////97/////////+/////P//////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2v///////////////////9P////AP///wD///8A////a////////////////////0z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A////AP///wD///+m//////////////+l////AP///wD///8A////AP///wD///+3/////f////f//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD///8A////pv//////////////pf///wD///+7////////////////////2f///6f////l////////////////////XP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////9////9D///+r////n////7/////6///////////////l////Ev///wD///8A////pv//////////////pf///wD///8A////AP///wD///+3/////f////f//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8z////7////////////////////9P///8U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////gP///////////////////1X///8A////AP///wD///8A////AP///wD///9J////////////////////h////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///4D///////////////////9V////AP///wD///8A////AP///wD///8A////Sf///////////////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+A////////////////", + "////Vf///wD///8A////AP///wD///8A////AP///0n///////////////////+H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gP///////////////////1X///8A////AP///wD///8A", + "////AP///wD///9J////////////////////h////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D///////////////////9V////AP///wD///8A////AP///wD///8A////Sf//////////", + "/////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+A////////////////////Vf///wD///8A////AP///wD///8A////AP///0n///////////////////+H////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zD///////////////////+W////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////", + "/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////W//////////////////////////a////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////", + "//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////Lf////////////////////P///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///+P////////////////////jP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////+P///////////////////yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv////////////////////f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP////j///////////////////8q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yr////////////////////3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////4////////////////", + "////Kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8q////////////////////9////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P///////////////////yr///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv////////////////////f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////j///////////////////8q////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///yr////////////////////3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////q////////////////////7H///8G////AP///wD///8A////AP///wD///8E////qf///////////////////67///8F", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uv///////////////////1X///8A////AP///wD///8A////Ef///+r//////////////8L///8A////AP///wD///8A////AP///wD///8A////Wf//////////", + "/////////7z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///8P//////////////9z////v//////////////+a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///1b////////////////////J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////cv//////////", + "//////////j///9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P//////////", + "////+v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///////////////r///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q///////////////6////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P//////////////+v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///////////////r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q///////////////6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av////r///////////////////9a////AP///wD///8A////AP///wD///8A////AP///wD///8i////////////////////pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///77/////", + "//////////////+G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2j///////////////////9h////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////J////////////////////57///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9o////////////////////Yf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yf///////////////////+e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////aP///////////////////2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8n////////////////", + "////nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2j///////////////////9h////AP///wD///8A////AP///wD///8A////AP///wD///8A////J////////////////////57///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////FP///+3///////////////////9J////AP///wD///8A////AP///wD///8A////AP///wD///8A////S/////////////////////////+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////83", + "////AP///wD///8A////AP///wD///8A////AP///wD////v///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9o////////////////////ev///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////ff///////////////////13///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////aP///////////////////3r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///33///////////////////9d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2j///////////////////96////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///99////////////////", + "////Xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9o////////////////////ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ff///////////////////13///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////aP///////////////////3r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///33///////////////////9d////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+O////////////////////Qv///wD///8A////AP///wD///8A////YP///////////////////6T///8A////N////////////////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///95///////////////i////AP///9///////////////63///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////9P///xX///8A////AP///wD///8A////AP///wD///8A////P////////////////////9z///8D////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3n//////////////+L///8A////3///////////////rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zn///////////////////9A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9P//////////////z7///8A////AP///wD///8A", + "////AP///+L//////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////3////6/////////////////////////+A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8u///////////////i////CP///wD///8A////AP///xH////v//////////////8z////AP///6n//////////////9D///8D////Yv////////////////////b////O", + "////+v//////////////+v///0P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9M////6P/////////////////////////2////Mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////V////////////////////Iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8j////////////////////0v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////vf//////////////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7P///////////////j///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+v///////////////P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////0///////////////n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8r////9P//////////////7f///w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////////////////////0P///03///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////mf//////////////8////yb///8A////AP///wD///8A////AP///wD///////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9v/////////////////////////////////////", + "////////////////////////////////////9////0////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b///////////////////8l////3v//////////////////////////////////////////", + "////////////////////jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///9f///////////////L///8O////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9J////+v///////////////////////////////////6P///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////f////////////////////af///wD///8A////AP///wD///8A////AP///wD///8v////zf/////////////////////////v////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///81////tf/////////////////////////1////j////xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xv///+P////9f//////////", + "//////////////+0////NP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8/////9P//////////", + "/////////8H///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////3//////////////8r////AP///wD///8A////AP///+j//////////////23///8A////AP///wD///8A", + "////AP///wD///8A////bf///////////////////wL///8A////AP///wD///8A////AP///2L//////////////6f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv////7//////////////63///8A////AP///wD///8A////AP///wD///+j////////////////", + "////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////7///97////Cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c////////////////////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9A////////////////////5f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2v//////////", + "/////////0b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////", + "//////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///9U//////////////////////////7///8/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///8///////////////9n///8A////AP///wD///8A////AP///wD///8A////wf//////////////jv///wD///8A////AP///+j///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+f///8A////AP///wD///8A////Jv////r//////////////+v///8P////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////i////////////////////Pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////////////////////3v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////6P///wD///8A////AP///wD///8A////AP///yT///+b/////f///////////////////3P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9o////////////////", + "////4////wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////4v///////////////////2////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////y////cP///3D///9w////ef///5f///+1", + "////6P/////////////////////////J////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nf///+7///////////////////////////////T///+E////D////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9v////////////////////fv///wD///8A////AP///wD///8A////AP///3j///////////////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///85////////////////////x////wD///8A////AP///wD///8A////5P//////////////nv///wD///8A////AP///wD///95///////////////1////Bv///wD///8A////AP///wD///+E////////////////", + "////YP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////X/////////////////////////93////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7///////////////////9r////iP//////////////+f///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xj////1///////////////5////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ef///////////////////0P///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7L////////////////////i////Bv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8P//////////////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A/////////////////////////5j///8A////AP///wD///8A////AP///wD///8A////AP///wD////I////////////////////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///y/////////////////////z////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Q////////////////", + "////1f///wD///8A////AP///wD///8A////AP///wD///8A////AP///6X/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP////z//////////////6f///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9b////////////////////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///99//////////////+l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////4////8A////AP///wD///8A////AP///wD///8A////C////////////////////8r///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////wP///wD///8A////Cf///9D///////////////7///9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////////////////////nf///wD///8A////AP///wD///8A////AP///wD///8A////PP////////////////////////98////AP///wD///8A////AP///wD///8A////AP///wv////////////////////K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////4////8A", + "////AP///wD///8A////AP///wD///8A////C////////////////////8r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y/////+///////////////k////BP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wf////o///////////////8////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////o////wD///8A////AP///wD///8A////AP///wD///8A////AP///9b/////", + "//////////////9R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///////////////////8X///8A////AP///wD///8A////AP///wD///8A////AP///wD///+R/////////////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////a////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4///////////////+P///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wP////o///////////////t////Bf///wD///8A////AP///wD///8A////AP///wD///8M////9f//////////////3v///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+O", + "////////////////////Qv///wD///8A////AP///wD///8A////Cv////X//////////////0T///8b////////////////////Lv///wD///8A////AP///wD///8A////OP///////////////////4r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///94////////////////", + "////nv///wD///8A////n////////////////////3D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////2///////////////nv///wD///+R", + "///////////////5////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///89/////v//////////////wv///wH///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xb////k///////////////8////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////L/////z//////////////+T///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jf///////////////////yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+D///////////////////8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////0/////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r///////////////////+6////+f////////////////////////////////////X///++////////////////////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL////8//////////////+J////qP//////////////6P///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+H/////", + "/////////9X///8A////AP///wD///8A////AP///wD///8A////sP//////////////9f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////2L///8A////AP///wD///8A////AP///93//////////////3v///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P/////////2////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kv//////////////pf///wD///8A////AP///wD///+O//////////////+m////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9z/////////Yv///wD///8A////AP///wD///8A////AP///wD///////////////////+K////SP///1T///9w////xv///////////////////3z///8A////AP///wD///8A////AP///wD///8A////Y//////////b////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD/////////////////////", + "////////////////////////////////////////////////////////////////////////////////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////mP////////////////////////////////////////+f", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qv///+L/////////////////////////////////////////y////wr///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////EP///wD///8A////AP///wD///8A////AP///wD///8A////of////////////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn///8s////Kv///wv///8A//////////////+E////AP///wD///8A////hP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8Q////sP////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+m//////////////+R////AP///wD///8A", + "////AP///6f//////////////43///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD///8A", + "////H/////j//////////v///zX///8A////AP///wD///8A////GP///+r///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////AP///x/////4//////////7///81", + "////C////5j/////////////////////////////////////////n////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////G////Y////wz///8A////AP///wD///8A////JP///+T//////////////5D///8A////AP///x/////4//////////7///81////AP///wD///8A", + "////GP///+r///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zP////u////////////////////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL////+//////////////+t////AP///wD///8A////AP///wD///8A////o////////////////////yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8i/////v//////////////rf///wD///8A////AP///wD///8A////AP///6P///////////////////8p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv////7//////////////63///8A////AP///wD///8A////AP///wD///+j////////////////////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///yL////+//////////////+t////AP///wD///8A////AP///wD///8A////o////////////////////yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8i/////v//////////////rf///wD///8A////AP///wD///8A////AP///6P///////////////////8p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv////7/////", + "/////////63///8A////AP///wD///8A////AP///wD///+j////////////////////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vP//////////////9v///xP///8A", + "////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////9n///////////////////+8////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////////////////////////////////////////////////////wD///8A", + "////AP///wD///8A////AP///0D////////////////////l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////5////wD///8A////AP///wD///8m////+v//////////////6////w////8A////AP///wD///8A////AP///+j/////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L///////////////////89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7////////////////////e", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////i////////////////////Pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////////////////////3v///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v///////////////////z3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pv///////////////////97///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///+L///////////////////89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7////////////////////e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////i////////////////////Pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////////////////////3v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////H////+f/////", + "/////////7H///8G////AP///wD///8A////AP///wD///8A////AP///wP///+m///////////////x////K////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9z///////////////////88////AP///wD///8A", + "////AP///wD///9h////////////////////Xv///wD///8A////AP///wD///8A////AP///z/////////////////////d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7///////////////////9r////iP//////////////+f///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////////////////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///9P///////////////v///9B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////D//////////////9r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////w///////////////a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////8P//////////////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////D/////", + "/////////9r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////w///////////////a////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8P//////////////2v///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH/////////////////////////mv///wD///8A////AP///wD///8A////AP///wD///8A////Uf//////////", + "/////////4D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zr////////////////////v////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8o/////P//////////////p////wD///8A////AP///wD///8A////AP///wD///8A////AP///1v///////////////////91////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////KP////z//////////////6f///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b////////////////////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yj////8", + "//////////////+n////AP///wD///8A////AP///wD///8A////AP///wD///8A////W////////////////////3X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8o/////P//////////////p////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///1v///////////////////91////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k////////////////////8v///2L///8A////AP///wD///8A////AP///wD///8B////cP////b/////////////////////////mf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////j////wD///8A////AP///wD///8A////AP///wD///8L////////////////////yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////L/////7//////////////+T///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////+j///////////////z///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///y/////+///////////////k////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////o///////////////8////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8v/////v//////////", + "////5P///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////6P///////////////P///yX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////L/////7//////////////+T///8E////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////B////+j///////////////z///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y/////+///////////////k////BP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wf////o///////////////8////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL///8f////Bf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////aP///////////////////3r///8A////AP///wD///8A////AP///wD///+t////////////////////V////33///////////////////9e////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8B////2///////////////nv///wD///+R///////////////5////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////6P///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////W////////////////////Uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////b//////////////+e", + "////AP///5H///////////////n///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9F////////////////////TP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+h//////////////9v////AP///wD///8A////AP///wD///+y//////////////9X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8P////Zf////////////////////////////////////n///90////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP//////////////l////wD///8A////AP///wD///8A", + "////pv//////////////kP///wD///8e////9v//////////////aP///wD///9l/////f//////////////////////////////9P///0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf////X///////////////////////////////r///9/", + "////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///////////////////+b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9j//////////////9f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9N////////////////", + "////cP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W////////////////////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F", + "////////////////////z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3n///////////////////97////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////////////////////0////sP///zv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr////X///////////////N////Bv///wD///8A////AP///wD///8A////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////q///////////////////////////////////////////////////////////////8////m////xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////G////////////////////Kv///xf////B///////////////////////////////////////////////a////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9m////////////////////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///+S/////v//////////", + "////////////////////////////////////0P///z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9n////////////////////pv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///xf////k////////////////////+v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///83////t//////////////////////////5////mf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5n////5/////////////////////////7f///82////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zv////v////////////////////sP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4///////////////T////wD///8A////AP///wD////y//////////////9n////AP///wD///8A////AP///wD///8A////AP///0v///////////////////8N////AP///wD///8A////AP///wD///9A///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////C///////////////3////Dv///wD///8A////AP///wD///8J////8///////////////yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////", + "//////////////////////////X///+l////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////t////////////////////2v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP//////////", + "/////////7////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7L///////////////////9p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///4//////", + "///////////////E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///yT///////////////////+G////AP///wD///8A////AP///wD///8A", + "////AP///2n//////////////+X///8C////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////k////AP///wD///8A////AP///7H///////////////////9q////AP///wD///8A////AP///wD///8A////6P//////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////w////////////////////1f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///////////////////73///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///4X////////////////////y////GP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////4P///////////////////3z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3v////////////////////K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wj///9x////7P///////////////////5j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Nv////H/////////////////////////9v///47///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP///////////////////yz///8A////AP///wD///8A", + "////AP///wD///8o////////////////////x////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gP///////////////////4L///8A////AP///wD///8A////AP///6H//////////////+H///8A", + "////AP///wD///8A////v///////////////t////wD///8A////AP///wD///8A////RP///////////////////6T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf///+3/////////////////////////8v///yD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+6///////////////u////C////xr////5//////////////+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iv///////////////////5v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///93//////////////9v///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8y////////////////////a////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I////////////////////7b///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////u////Df///wD///8A////AP///wD///8A////AP///wD///8v////////////////////3////wT///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////r////////////////////47///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////9r///////////////////8+////AP///wD///8A////AP///wD///8A////AP///xf////1/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+c///////////////+////P////wD///8A////AP///wD///8A////AP///wD///8C////1P//////////////+////yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Df///6n//////////////4r///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////m////Cf///wD///8A", + "////AP///wD///8A////AP///2D///////////////////+r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////8////8A////AP///wD///8i////7v//////////////8////y3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////P///8T////AP///wD///8A////AP///wD///8A////AP///5f/////////////////////////4f///wP///8A////AP///wD///8A////AP///wD///9g////////////////////q////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////m////Cf///wD///8A////AP///wD///8A////AP///2D///////////////////+r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////o////////////////////1////8A////AP///wD///8A////AP///wD///8A////AP///wD///9n////////////////////kP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///92////////////////////fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4H///////////////////9l", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nf////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////3H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+n//////////////+z///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9H////////////////////mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///6f///////////////////89////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0f//////////////+////wv///8A////AP///wD///8A////AP///wD///+s//////////////+F////Xv//////////////4f///wD///8A////AP///wD///8A////AP///wX////1///////////////N////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////+f//////////////5f///xD///8A////AP///xD////m///////////////3////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////QP///////////////////1D///8A////Qf///////////////////23///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///53///////////////////9k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82////Uv///43////x///////////////+", + "////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///97/////v//////////////8f///43///9S////Nv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj///////////////////8T", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////D////////////////////Kf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+M//////////////90////AP///x3///+L////wv///+z////p////wP///4X///8W////AP///4T//////////////6D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Y///////////////6////G////zL///////////////////9v////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////0//////////////+n////AP///wD///8A////AP///wD///8A////B////+X//////////////9X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////uP////////98////AP///wD///8A////AP///wD///+3//////////////+b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///99/////////7f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///+6", + "////XP///wD///8A////AP///wD///8A////Bf///7j///9e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+4/////////3z///8A////AP///wD///8A////AP///wD///8A////////////////////XP///wD///8A////AP///wD///+9///////////////0", + "////DP///wD///8A////AP///wD///8A////AP///33/////////t////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///89////hv///8D////y////3f///7X///9I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8H////Zv///7r////n////+P///93///+8////YP///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////8f///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///0H/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8/////uv///+P////+////////////////////7P//////////", + "////hP///wD///8A////AP///4T//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9z////+///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1z///+6////Bv///wD///8A////AP///wD///8A////Xv///7j///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////AP///wD///+K///////////////B////AP///wD///8A////AP///wD///9O////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A////iv//////////////wf///wD///8A////Pf///4b////A////8v///93///+1////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+C///////////////I////AP///wD///8A////iv//////////////wf///wD///8A////AP///wD///9O////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////NP////f///////////////////9I", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wv//////////////9////w7///8A////AP///wD///8A", + "////Cf////P//////////////8r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8L///////////////f///8O////AP///wD///8A////AP///wn////z///////////////K", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C///////////////3////Dv///wD///8A////AP///wD///8J////8///////////////yv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wv//////////////9////w7///8A////AP///wD///8A////Cf////P//////////////8r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8L///////////////f///8O////AP///wD///8A////AP///wn////z///////////////K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////C///////////////3////Dv///wD///8A////AP///wD///8J////8///////////////yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0f///////////////////98////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///13/////", + "///////////////+////K////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////", + "/////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9g////////////////////v////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+T///8A", + "////AP///wD///8A////sf///////////////////2r///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////D////////////////////V////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y////////////////////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////w////////////////////1f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////WP///////////////////73///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8P///////////////////9X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1j///////////////////+9////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////D////////////////////V////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y////////////////", + "////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////w////////////////////1f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///////////////////73///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8o////5////7H///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////6T////w////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////3////////////////////Kv///wD///8A////AP///wD///8A////Af///8X//////////////+n///8Q////AP///wD///8A////AP///wD///8q////////////////////9////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+6///////////////u////C////xr////5//////////////+W", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rf///////////////////+f///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD////0//////////////+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP///////////////////+2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////////////////////tv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I////////////////////7b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP///////////////////+2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8j////////////////////tv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////I////////////////////7b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y", + "//////////////////////////r///8o////AP///wD///8A////AP///wD///8A////AP///8L///////////////7///80////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9l////////////////////g////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z///////////////7///8/////AP///wD///8A////AP///wD///8A////AP///wL////U///////////////7////Kf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+c///////////////+////P////wD///8A////AP///wD///8A////AP///wD///8C////1P//////////////+////yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP///////////////v///z////8A////AP///wD///8A////AP///wD///8A////Av///9T///////////////v///8p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z///////////////7///8/////AP///wD///8A////AP///wD///8A////AP///wL////U///////////////7////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///8X/////////////////////////vv///4L///9X////N////1v///+J////yv//////////", + "/////////////////////////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////+b///8J////AP///wD///8A////AP///wD///8A////YP///////////////////6v///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+j////////////////////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///2f///////////////////+Q////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////o////////////////////1////8A////AP///wD///8A////AP///wD///8A////AP///wD///9n////////////////////kP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P///////////////////9f////AP///wD///8A////AP///wD///8A////AP///wD///8A////Z////////////////////5D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+j////////////////////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///2f///////////////////+Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////o////////////////////1////8A////AP///wD///8A////AP///wD///8A////AP///wD///9n////////////////////kP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+y/////////9P///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y/////+///////////////k////BP///wD///8A", + "////AP///wD///8A////FP///+f//////////////+7////V///////////////7////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////QP///////////////////1D///8A////Qf///////////////////23///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////dv///////////////////37///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9A////////////////////UP///wD///9B////////////////////bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uv///////////////////1n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////b///////////////oP///wD///8A////AP///wD///8A////gv//////////////hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0P///+p////9////////////////////////////////////8P///8x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///7L//////////////1b///8A////AP///wD///8A////AP///13//////////////7P///8A////AP///4D//////////////+z///8R////AP///0H///+R////yv////H////D////if///y////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Dv///+D////////////////////o/////////////////////////7f///8K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////n///////////////r///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////7///////////////5////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////z///////////////y////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////+T//////////////9X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////wP///////////////////xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ff///////////////////7b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8N////7f//////////////7P///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///8g////RP///3z////u///////////////9", + "////iP///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf////n//////////////47///8A////AP///wD///8A////AP////7//////////////7T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1v//////////////3////7X////a////6v////f////v////yv///6T///9+////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////m////////////////////0L///8A////Af///0X///+n////0/////L////o////vv///5T///9k////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP///+r//////////////97///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///+q/////////////////////v///7T///8+////N////67////+///////////////7////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////lP///////////////////x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////S////////////////////+P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL////C", + "////9f///8H///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///85////uv////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////uf///zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////L////+j///////////////////9l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8///////////////3X///8A////AP///wD///8A////zP//////////////g////wD///8A////AP///wD///8A////AP///wD///8s////////////////////G////wD///8A////AP///wD///8A////Kf//////////", + "////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Y////////////////////17///8A////AP///wD///8A////V////////////////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////D////yr///9H////of////z//////////////+D///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///5L///////////////////+O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D///////////////////+Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+K////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8F////xf///////////////////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////n////AP///wD///95////////////////////Mf///wD///8A////AP///wD///8A////AP///wD///8V/////P//////////////P////wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////3v///wD///8A", + "////AP///0L////////////////////V////A////wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P///////////////////9x////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3L///////////////////+c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8F////z///////////", + "/////////3v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////QP////////////////////n///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8W", + "////+f///////////////////yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///0T////////////////////8////LP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87/////////////////////////pf///xn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////G/////7//////////////9v///8A////AP///wD///8A////AP///wD///8A////AP///9f///////////////7///8c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8f///////////////////89////AP///wD///8A////AP///wD///9e////////////////////JP///wD///8A////C/////n//////////////3L///8A////AP///wD///8A////AP///wr////6///////////////n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///7b///////////////////////////////////+/////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82////////////////////iP///wD///8A", + "////oP//////////////+P///xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP////y///////////////7////I////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0X///////////////////93////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7D/////////5v///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///7H///9T", + "////Av///wD///8A////AP///wD///8A////Av///7H///////////////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////83///8Y////AP///wD///8A", + "////AP///wD///8s////5f///////////////////2f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xr////w////////////////////r////xP///8A////AP///wD///8A////AP///wD///8L", + "////Sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9g////////////////////7f///zT///8A////AP///wD///8A////AP///yH////b//////////////////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv////T//////////////+D///84////AP///wD///8A////AP///wD///8G////lP///////////////////5D///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////dv//////////////+P/////////x////yf///6D///9r////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////77///8M////AP///wD///8A////AP///xX////X////////////////////f////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///0r////+///////////////f////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////1v///x////8A////AP///wD///8A////AP///zf////4////////////////", + "//////////////+w////Cv///wD///8A////AP///wD///8V////1////////////////////3////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////77///8M////AP///wD///8A////AP///xX////X////////////////////f////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xr////z///////////////7////cv///wD///8A////AP///wD///8A////AP///wH///95/////P//////////////5////w7///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////8R////AP///wD///8A////AP///wD///8A////AP///wD///8A////PP///////////////////57///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+h////////////////////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////xP////3/////////hv///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+x////////////////////c////wD///8A////AP///wD///8A////AP///wX///9R////V////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////o////////////////////0H///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9M////////////////////mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ff////7//////////////8z///8A////AP///wD///8A////AP///wD///8A////Wf//////////////xf///6H/////", + "/////////5T///8A////AP///wD///8A////AP///wD///8A////vf///////////////f///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////1P///////////////////03///8A////AP///wD///8A////Tv///////////////////9H///8G////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P///////////////T///8K////AP///wP////q///////////////N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8S////6v//////////////7v///xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////3////F////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///0f////G/////f////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////////////////////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////pv///////////////////0P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L///9s", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df///5b///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Z////+P//////////", + "////o////wD///8A////vf//////////////5P///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1f//////////////vf///wD///8A////AP///wD///8A////AP///5L///////////////////+k////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5T/////////qv///wD///8A////AP///wD///8A////kv//////////////0v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////qv////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP////////+q////AP///wD///8A", + "////AP///wD///8A////AP///////////////////1z///8A////AP///wD///8A////VP///////////////////zf///8A////AP///wD///8A////AP///wD///+q/////////5P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////9f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8S/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xH///+d/////v///////////////////////////////////////////////////4T///8A////AP///wD///+E//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A////D////+z//////////////1D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD///8A////AP///w/////s//////////////9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP//////////////8P///wD///8A////AP///w/////s//////////////9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9r////////////////////oP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///2P///////////////////9e////AP///wD///8A////AP///1f///////////////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9j////////////////////Xv///wD///8A////AP///wD///9X////////////////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Y///////////", + "/////////17///8A////AP///wD///8A////V////////////////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P///////////////////9e////AP///wD///8A", + "////AP///1f///////////////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9j////////////////////Xv///wD///8A////AP///wD///9X////////////////", + "////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Y////////////////////17///8A////AP///wD///8A////V////////////////////2z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0f//////////////6P///wf///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP////a////////////////////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gP///////////////////5n///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////e////AP///wD///8A////Qv///////////////////9X///8D////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////o////////////////////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cv///////////////////5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6P///////////////////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3L///////////////////+c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+j////////////////", + "////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9y////////////////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////o////////////////////3H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cv///////////////////5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P///////////////////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///3L///////////////////+c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////JP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v///////////////////z3///8A////AP///wD///8A////AP///wD///8v/////P//////////////lv///wD///8A////AP///wD///8A////PP//////////", + "/////////9v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///82////////////////////iP///wD///8A////oP//////////////+P///xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///23///////////////////+/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////3P//////////", + "////zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///+x////U////wL///8A////AP///wD///8A////AP///wL///+x////////////////", + "////kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////sf///1P///8C////AP///wD///8A////AP///wD///8C////sf///////////////////5H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///7H///9T////Av///wD///8A////AP///wD///8A////Av///7H///////////////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///+x////U////wL///8A////AP///wD///8A////AP///wL///+x////////////////////kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////sf///1P///8C////AP///wD///8A////AP///wD///8C////sf///////////////////5H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///7H///9T////Av///wD///8A////AP///wD///8A////Av///7H///////////////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wH///+s////Z////wv///8A////AP///wD///8A////AP///wD///8P////4f//////////////////////////////y////x7///8A////AP///wD///8A////AP///3X///////////////////+m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jf//////////", + "/////////0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////9P//////////////4P///zj///8A", + "////AP///wD///8A////AP///wb///+U////////////////////kP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv////T//////////////+D///84////AP///wD///8A////AP///wD///8G", + "////lP///////////////////5D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xr////0///////////////g////OP///wD///8A////AP///wD///8A////Bv///5T///////////////////+Q", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////9P//////////////4P///zj///8A////AP///wD///8A////AP///wb///+U////////////////////kP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8i////x////////////////////////////////////////////////////////////////////8n///////////////////8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////", + "////vv///wz///8A////AP///wD///8A////Ff///9f///////////////////9/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv////P///////////////v///9y////AP///wD///8A", + "////AP///wD///8A////Af///3n////8///////////////n////Dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xr////z///////////////7////cv///wD///8A////AP///wD///8A////AP///wH///95", + "/////P//////////////5////w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////8///////////////+////3L///8A////AP///wD///8A////AP///wD///8B////ef////z//////////////+f///8O", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv////P///////////////v///9y////AP///wD///8A////AP///wD///8A////Af///3n////8///////////////n////Dv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xr////z///////////////7////cv///wD///8A////AP///wD///8A////AP///wH///95/////P//////////////5////w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9P//////////////HP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////o////////////////////1////8A////AP///wD///8A////AP///wD///9K////////////////////////////////////kP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P///////////////T///8K////AP///wP////q///////////////N", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////Ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///zz///////////////////+e////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////o///////////////9P///wr///8A////A////+r//////////////83///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1////////////////////9m", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////g////4P///+D////g////4P///+r///////////////f////g////4P///+D////g", + "////4P///+z///////////////T////g////4P///+D////g////4P///+D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////F////6v////////////////////////////////////9////pv///zT///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////L//////////////89////AP///wD///8A////AP///wD///9C///////////////M////AP///wD///8J////4f//////////////kv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5T////////////////////c////Fv///07////o////////////////////x////w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////0///////////////9////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8C/////f//////////////8v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+C////////////////////O////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6v///////////////////8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yb///////////////////+e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///37///////////////////9p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///6b///////////////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///91///////////////+////Sf///wD///8A////AP///wD////7//////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8L//////////////73///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2n///////////////////91////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B////////////////////UP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+R////////////////////4P///0H///8A////AP///wD///8A////Qf///+P///////////////////9n////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7///////////////+r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wj////4///////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0////////////////////sP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///87////vP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+8////O////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82", + "////+P//////////////8v///w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+6//////////////+b////AP///wD///8A////AP///6P//////////////6P///8A////AP///wD///8A", + "////AP///wD///8A////Hf///////////////////yn///8A////AP///wD///8A////AP///xT///////////////r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7////2//////////////+3////AP///wD///8A////AP///7H///////////////n///8T", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8r////9P//////////////1////wX///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9t////////////////////sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+g////////////////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yv//////////", + "/////////6////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///xn////i///////////////9////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////4v///wD///8A////zv//////////////3P///wD///8A////AP///wD///8A////AP///wD///8A////AP///7r//////////////5f///8A////AP///+b///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9f///8A////AP///wL////Q////////////////////SP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+E////////////////////i////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+M////////////////////ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///3////////////////////+j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2L///////////////////+w", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7D///////////////////93////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////ov///////////////////4////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0f////////////////////+////af///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///27///////////////////+K////AP///wD///8A////AP///wD///8A////AP///wD///+H////////////////////cP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xH////8///////////////z////Bf///wD///8A////AP///wD///8A////Gv///////////////////2f///8A////AP///0r///////////////////8t////AP///wD///8A////AP///wD///8A////xf//////////", + "/////////y3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2X////////////////////W////pv///////////////////2////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv//////////////+////xz///8A////AP///yz///////////////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////g////////////////////6L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r///////////////6////Fv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1v//////////////9z///+V////av///z////8+////Yf///87////////////////////6////K////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////4f////v/////////4////5D///9h////Of///13///+T////7v///////////////////+L///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Zv/////////////////////////s////tv///43///9k////Zv///4n///++////+P////////8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///97/////", + "///////////////x////l////17///86////Zv///5j////p//////////3////f////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+A/////////////////////f///57///9k", + "////O////0v///95////z////////////////////+r///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv///+T//////////////////////////////////////////////9j///9C////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////2f////b/////////0////4X///9Q////Pv///23////g////////////////////8f///xP///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////f////////////////////8H///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////R////8v/////////o////lf///2P///84////U////4v////6////////////////////2////47//////////////9L///+A////Tf///z7///9t////4f////////////////////H///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////0v////b/////", + "////0////4X///9Q////Pv///23////g////////////////////8f///xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ef/////////////////////////B////hP///1j///83", + "////Wf///4X////F/////////////////////////1v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////7////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///yX/////", + "//////////////++////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wv///////////////////x////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////3b///+X///////////////q////rv///4P///+V////Z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////a/////////////////////T///+Q////TP///zX///9F////bv///5n////o/////////+T///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////C/////T//////////////+b///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///+z//////////////+////8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b/////", + "//////////////+R////AP///wD///8A////AP///wD///8A////AP///w3////4//////////r////s//////////////9G////AP///wD///8A////AP///wD///8A////AP///3////////////////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////j////////////////////6X///8A", + "////AP///wD///8A////AP///wD///+m////////////////////i////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w/////2//////////////+j////AP///wD///8A", + "////kv///////////////////y3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///13///////////////////+l////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////r///9k////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///2T////6////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z/////////+P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4n///////////////////9+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////i////////////////////zD///8A////AP///0j///////////////////9o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5H/////", + "//////////n///8Y////AP///wD///8A////Ff///6/////////////////////6////Mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9q//////////P///8I////AP///wD///8A////AP///1j///////////////////9L", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf////T/////////af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2r/////////8////wj///8A////AP///wD///8A////AP///wD///////////////////9c////AP///wD///8A////AP///yD///////////////////9P////AP///wD///8A////AP///wD///8J////9P////////9p////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af////r///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////M//////////////////////////////////////////////////////////////+E////AP///wD///8A////hP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD///8A", + "////AP///wD///9u///////////////Z////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////AP///wD///8A////bv//////////", + "////2f///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yX//////////////7b///8A////AP///wD///8A////bv//////////////2f///wT///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///+3//////////////9v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////9v//////////////t////wD///8A////AP///wD///+x///////////////5////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Dv////b//////////////7f///8A////AP///wD///8A////sf//////////////+f///xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7////2//////////////+3////AP///wD///8A////AP///7H///////////////n///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8O////9v//////////////t////wD///8A////AP///wD///+x///////////////5////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Dv////b//////////////7f///8A////AP///wD///8A////sf//////////////+f///xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7////2", + "//////////////+3////AP///wD///8A////AP///7H///////////////n///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///17///////////////////9h", + "////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///89/////////////////////////zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///6D///////////////////90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1////wD///8A////Av///9D///////////////////9I////AP///wD///8A////AP///wD///8A////AP///+j/////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4T///////////////////+L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4z///////////////////96", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+E////////////////////i////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+M////////////////////ev///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hP///////////////////4v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP///////////////////3r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///4T///////////////////+L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4z///////////////////96////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+E////////////////////i////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+M////////////////////ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8P///////////////////9X////AP///wD///8A", + "////AP///wD///8A////AP///5D///////////////3///80////AP///wD///8A////AP///1T///////////////////+2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv//////////////+////xz///8A////AP///yz///////////////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///+1////////////////////lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///6P///////////////////9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9b///////////////c////lf///2r///8/////Pv///2H////O////////////////////+v///yv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////W///////////", + "////3P///5X///9q////P////z7///9h////zv////////////////////r///8r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1v//////////////9z///+V////av///z////8+", + "////Yf///87////////////////////6////K////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b///////////////c////lf///2r///8/////Pv///2H////O////////////////", + "////+v///yv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////W///////////////3P///5X///9q////P////z7///9h////zv////////////////////r///8r////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1v//////////////9z///+V////av///z////8+////Yf///87////////////////////6////K////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9P///////////////w////o////3r///9T////NP///0v///97////6////////////////////5v////w///////////////w////g////1L///86////aP///7P////////////////////4", + "////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7X///////////////////8r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D////////////////////9////nv///2T///87////S////3n////P////////////////////6v///w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+A/////////////////////f///57///9k////O////0v///95////z////////////////////+r///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////gP////////////////////3///+e////ZP///zv///9L////ef///8/////////////////////q////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D////////////////////9", + "////nv///2T///87////S////3n////P////////////////////6v///w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL///9u////8///////////////////////////////////////////////7v///1X///+X///////////////T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////S////9v/////////T////hf///1D///8+////bf///+D////////////////////x////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///95/////////////////////////8H///+E////WP///zf///9Z////hf///8X/////////////////////////W////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////ef/////////////////////////B////hP///1j///83////Wf///4X////F/////////////////////////1v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3n/////", + "////////////////////wf///4T///9Y////N////1n///+F////xf////////////////////////9b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///95/////////////////////////8H///+E", + "////WP///zf///9Z////hf///8X/////////////////////////W////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ef/////////////////////////B////hP///1j///83////Wf///4X////F", + "/////////////////////////1v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4/////1////sP///wH///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xr////z///////////////7////cv///wD///8A////AP///wD///8A////AP///5j/////////////////////////6v///w////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///w/////2//////////////+j////AP///wD///8A////kv///////////////////y3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////+////wH///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8l////////////////////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////D/////b//////////////6P///8A", + "////AP///wD///+S////////////////////Lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s////////////////////c////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mf///+7/////", + "////////////////////////////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5f//////////////LP///wD///8A////AP///wD///8A", + "////L///////////////5f///wD///8A////AP///1b///////////////v///8r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x/////9///////////////6////LP///wD///8A////F////8//////", + "//////////////+b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v///////////////////xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////////////////////9////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////LP///yz///8s////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv////3/////", + "/////////6H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+V////////////////////Mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82", + "////////////////////hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///89////////////////////nP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////0///////////////+////zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///7z//////////////+n///8Y////AP///wD///8A////9///////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+t///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///83////////////////////sP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv////f//////////////7////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////+///////////////3f///xH///8A", + "////AP///wD///8A////AP///wD///8V////4///////////////8f///xn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////q///////////////G////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////2P//////////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v///////////////////+z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////v////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7////89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3X///////////////////9l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////jv//////////////wv///wD///8A////AP///wD///97///////////////v////Cv///wD///8A////AP///wD///8A////AP///w////////////////////83////AP///wD///8A////AP///wD///8u///////////////u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////pf//////////////+////xT///8A////AP///xH////5//////////////+v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///23///////////////////9u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP///////////////////97///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP//////////", + "/////////07///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zr////////////////////b////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////Lv////L///////////////X///81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9z///8A////Iv///////////////////4n///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9j///////////////q////BP///wD////j////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////N////AP///wD///9l////////////////////t////wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP///////////////////63///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf///////////////////1n///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W////////////////////yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+N////////////////////mf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///2L///////////////////+4////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+l////////////////////of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////D////////////////////OP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Nv///////////////////8X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W////////////////////tP///wD///8A////AP///wD///8A////AP///wD////W//////////////+n", + "////AP///wD///+Q///////////////n////AP///wD///8A////AP///wD///8A////AP///4b///////////////////9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH////z///////////////6////M////w/////i///////////////2////Jv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////7//////////////6b///8A////AP///wD///8A////uP//////////////9////xn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w/////u///////////////9////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8W////+v//////////////q////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////////////////////////////////////////////////////////////////////iP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7b///9t/////////////////////////////////////////////////////////+T///82////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///+M////+///////////////////////////////////////////////////////////////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////4P////////////////////////////////////////////////////////9y////p////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///3z////8/////////////////////////////////////////////////////////+f///9C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////A////wP///8D////A////////////////////9f///8D////A////wP///8D////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////SP////z////////////////////h////tf///7L////c/////////////////////////0v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7j///9m////////////////", + "/////////////////////////////////////////3////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wH///+0////////////////////m////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////g////1T//////////////////////////////////////////////////////////////0j///8D////wv////////////////////////////////////////////////////////9/////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////4P///9m/////////////////////////////////////////////////////////3////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wP///92////+P//////////////////////////////////////////////////////////////8P///2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////6f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////////////////////3v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L///////////////////8I", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9r///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////9c////Dv///9X/////////////////////", + "/////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///+s////////////////////////////////////////////////////////////////", + "////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D////A////wP////////////////////X////A////wP///8D////A////wP///5////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1v///////////////////+Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+X////////////////////Vf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Z////////////////////Vv///wD///8A////AP///wD///8A////AP///wD///8A////s//////////////////////////y////Bv///wD///8A////AP///wD///8A////AP///wD///9C////////////////////l////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Q/////7//////////////+j///8T////AP///wD///8A////AP///wD///8A////E////+n///////////////3///9A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9p////////////////////R////wD///8A////AP///zT///////////////////+O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zn////A", + "////wP///8D////A////wP///8D////A////wP///8D////A/////f///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////b///+F", + "////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////hf////b//////////////////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////w/////////+v///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y////////////////////5v///wX///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef////P//////////////73///8A////AP///wD///8A////0v//////////////3////wT///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////8///////////////uP///wn///8a////iP///+//////////////////////////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Ev////b/////////Vv///wD///8A////AP///wD///8C////zv//////////////1P///xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b/////////9f///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8S////9v////////9W////AP///wD///8A////AP///wD///8A////////////////////XP///wD///8A////AP///wD///+I////////////////", + "////J////wD///8A////AP///wD///8A////Vv/////////1////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////m////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9d////////////////////////////////////////////////////////////////", + "////hP///wD///8A////AP///4T//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////AP///wD///8A////Bf///9r//////////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A////AP///wX////a//////////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+e//////////////9d////AP///wD///8A////AP///wX////a//////////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+1///////////////w", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6X///////////////v///8U////AP///wD///8R", + "////+f//////////////r////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+l///////////////7////FP///wD///8A////Ef////n//////////////6////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pf//////////////+////xT///8A////AP///xH////5//////////////+v////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6X///////////////v///8U////AP///wD///8R////+f//////////////r////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+l///////////////7////FP///wD///8A////Ef////n//////////////6////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pf//////////////+////xT///8A////AP///xH////5//////////////+v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////4///////////////0////wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////X///////////", + "/////////8X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////A////////////////////Tv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////83///8A", + "////AP///2X///////////////////+3////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k////////////////////rf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+t////////////////////Wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP///////////////////63///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////rf///////////////////1n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2T///////////////////+t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///63///////////////////9Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k////////////////////rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+t////////////////", + "////Wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP///////////////////63///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf///////////////////1n///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+j////////////////////cf///wD///8A////AP///wD///8A////AP///wD///8O////5v//////////////y////wL///8A////AP///wD///9s////////////////////kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////7//////////////6b///8A////AP///wD///8A////uP//////////", + "////9////xn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///9c/////////////////////////2r///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8i////9f//////////////+f///1D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///////////////////////////////////////////////////////////////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r///////////////////////////////////////////////////////////////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////K////////////////////////////////////////////////////////////////////iP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////yv///////////////////////////////////////////////////////////////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r/////", + "//////////////////////////////////////////////////////////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////////////////////////////////", + "////////////////////////////////////iP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xv//////////////////////////////////////////////////////////", + "/////////8f///8C////NP///+7////////////////////////////////////////////////////1////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////d////////////////////Dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////fP////z/////////////////////////////////////////////////////////5////0L///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///3z////8/////////////////////////////////////////////////////////+f///9C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL///98/////P/////////////////////////////////////////////////////////n////Qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////fP////z/////////////////////////////////////////////////////////5////0L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x3///9q////lP///77////o////7v///8X///+d////df///xz///8b", + "////+P//////////////g////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////g////2b/////////////////////////////////////////////////////////f////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////3b////4///////////////////////////////////////////////////////////////w////Yf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///92////+P//////////////////////////////////////////////////////////////8P///2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////dv////j///////////////////////////////////////////////////////////////D///9h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////3b////4///////////////////////////////////////////////////////////////w////Yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wP///92////+P//////////////////////////////////////////////////////////////8P///2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ef/////////////////////////B", + "////hP///1j///80////R////23////H/////////////////////////2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9p////////////////////R////wD///8A////AP///zT///////////////////+O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///////////////////97///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2n///////////////////9H////AP///wD///8A////NP///////////////////47///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ef///////////////////4D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cv///9f////////////////////r////gP///yP//////////////+T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP////n//////////////yD///8A////AP///wD///8A////AP///yH///////////////n///8A////AP///wD///8A////wP//////////////u////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+A////////////////////iv///wD///8A////AP///wD///8P////2f///////////////////0L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8////////////////////8m////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yb////////////////////M////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+2///////////////2////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////gP///////////////////2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////aP///////////////////23///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////+//////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Ff///////////////////8f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0r/////", + "//////////////+Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////7P//////////////uv///wH///8A////AP////L//////////////7T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mf//////////////6////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP////n//////////////+v///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+b////////////////////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////l////////////////////zf///8A////AP///wD///8A////AP///wD///8A////AP///0H///////////////////+P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////7P//////////////xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A/////n//////////////3n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+//////", + "///////////////t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8P////9P//////////////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0v//////////////+j///8A////AP///wD///8A////Lv////3//////////////2b///8A////AP///wD///8A////AP///wD///8C/////v//////////////Rf///wD///8A////AP///wD///8A////W///////////", + "////2f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0b///////////////////9o////AP///wD///9k////////////////////Uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8f////////////////////t////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yH/////////////////////////V////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////HP////j///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R/////////////////////////1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///9J/////P//////////////6P///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////U////AP///3f///////////////////80////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef////r//////////////0f///8A////3v///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////wv///wD///8N", + "////6P//////////////+////yr///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0T////////////////////4////Ff///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////E/////f///////////////////83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////MP//////////", + "//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////of///////////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////c////////////////////7L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///88////////////////////4P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////x////////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8a/////v//////////////5f///wH///8A////AP///wD///8A////AP///wD///8A////AP///wH////k///////////////+////HP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////nf///////////////////2////8A////AP///wD///8A////AP///wD///8A////k///////////////5P///wD///8A////1P//////////////o////wD///8A////AP///wD///8A////AP///wD///9H////////////////////tv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////A", + "////////////////////ff///wD///8A////Q/////7//////////////8f///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6n///////////////////81////AP///wD///8A", + "////AP///0T///////////////////+P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////e////////////////////6n///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////d////////////////////0X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////M////6H////5", + "///////////////////////////////////////////////4////jP///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////B////AP///2D////2////////////////", + "/////////////////////////8L///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yn///+6////////////////////////////////////////////////", + "/////////83///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT///++//////////////////////////////////////////T///9d////AP///7v///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pv///+T//////////////////////////////////////////////67///8U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP////D///////////////b///9l////Af///wD///8A////AP///1n////z///////////////i////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////E////AP///2z////5////////////////////////////////////+////4L///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////EP///9z///////////////////9u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////1v///8A////Vv///+//////////////////////////////////////////9P///1X///8A", + "////AP///wr///+c//////////////////////////////////////////v///+C////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////9b////AP///2z////5////////////////////////////////////+////4L///8F////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yn////I////////////////////////////////////////////////////t////xz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////r///////////////f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////4///////////////5////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////X////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////Qv///wD///8h////2//////////////////////////T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Cf///5/////6////////////////////////////////////////////////////2P///1f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////9////////////////", + "///////////////////////////////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+3////////////////////OP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////PP///////////////////7P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3P///////////////////xv///8A////AP///wD///8A////AP///wD///8A////AP///2D/////////////////////", + "////q////wD///8A////AP///wD///8A////AP///wD///8A////Cf////r//////////////9r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///+P///////////////////9U////AP///wD///8A////AP///wD///8A////AP///wD///9V////////////////////4v///xD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zP//////////////5v///wP///8A////AP///wD///8A////2P//////////////6f///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9M//////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///yf///9f////zv///////////////////7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////u////////////////////83///9c////JP///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4//////////e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Bf///+P///////////////////9k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///37///////////////////9K", + "////AP///wD///8A////AP///17///////////////////9h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0T////1///////////////k////+f/////////////////////////1////YP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+a/////////+T///8R////AP///wD///8A////AP///0D////////////////////o////Vf///xf///8A////A////yr///+G////z////wj///8A////AP///wD///8A////AP///xL////k", + "/////////5n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r/////////5P///xH///8A", + "////AP///wD///8A////AP///////////////////1z///8A////AP///wP///9M////7f//////////////9f///wP///8A////AP///wD///8A////Ev///+T/////////mf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1f///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8I////4v///////////////////////////////////////////////////////////////////4T///8A////AP///wD///+E//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A////AP///wD///9S///////////////r////Dv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD///8A////AP///wD///8A////Uv//////////////6////w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0j///9I////af///6b////i//////////////+5////Df///wD///8A////AP///wD///8A////Uv//////////////6////w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////oP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9G////////////////////aP///wD///8A////ZP///////////////////1H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Rv///////////////////2j///8A////AP///2T///////////////////9R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0b/////", + "//////////////9o////AP///wD///9k////////////////////Uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9G////////////////////aP///wD///8A", + "////ZP///////////////////1H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rv///////////////////2j///8A////AP///2T///////////////////9R", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0b///////////////////9o////AP///wD///9k////////////////////Uf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3T///////////////////9H////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3////////////////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////+P///////////////////yj///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////C////AP///w3////o///////////////7////Kv///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////RP////////////////////j///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T////9////////////////////zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0T////////////////////4////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E/////f///////////////////83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9E////////////////", + "////+P///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP////3////////////////////N////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////RP////////////////////j///8V////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T////9////////////////////zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0T////////////////////4////Ff///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////E/////f///////////////////83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hP///////////////////4v///8A////AP///wD///8A////AP///wD///8A////AP///1n///////////////////9q////AP///wD///8A////hf//////////", + "/////////23///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///6n///////////////////81////AP///wD///8A////AP///0T///////////////////+P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///w////+C////9P///////////////////9v///8K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///1X////7", + "///////////////8////W////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zP///+h////+f//////////////////////////////////////////////+P///4z///8J", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8z////of////n///////////////////////////////////////////////j///+M////Cf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////M////6H////5///////////////////////////////////////////////4////jP///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zP///+h////+f//////////////////////////////////////////////+P///4z///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8z////of////n///////////////////////////////////////////////j///+M////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////M////6H////5///////////////////////////////////////////////4////jP///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///zD///+a////9P///////////////////////////////////////////////////7H///8R////AP///wD///8x////7f/////////////////////////////////////////T////Kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f//////////", + "////+v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////5P//////////", + "////////////////////////////////////rv///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pv///+T/////////////////////////////////////", + "/////////67///8U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7////k//////////////////////////////////////////////+u////FP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////5P//////////////////////////////////////////////rv///xT///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP///////////////f///yz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////1v///8A", + "////bP////n////////////////////////////////////7////gv///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kf///8j/////////////////////", + "//////////////////////////////+3////HP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yn////I////////////////////////////////////////////////", + "////t////xz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8p////yP///////////////////////////////////////////////////7f///8c////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kf///8j///////////////////////////////////////////////////+3////HP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yn////I////////////////////////////////////////////////////t////xz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///92////+P////////////////////////////////////////////////////////////////////////9+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zP//////////////5v///wP///8A////AP///wD///8A////2P//////////", + "////6f///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////6///////////////3////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////M///////////////m////A////wD///8A////AP///wD////Y///////////////p////BP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4b///////////////////+N", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+v//////////////9p////AP///wD///8A", + "////AP///wD///+z//////////////9R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///37///////////////////++////Fv///wD///8A///////////////k////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////p//////////////8s////AP///wD///8A////AP///wD///8v///////////////l////AP///wD///8A////AP///y/////9//////////////9Q////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf///////////////////yL///8A////AP///wD///8A////AP///0n///////////////////+e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+9////////////////////Of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///85////////////////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf///////////////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0n///////////////////+n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H///////////////////8z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ef///3X///8A////AP///wD///8A////+f//////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////w///////////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T////////////////////x////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///1D///////////////////92////AP///wD////r//////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4X///////////////7///8E////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+k////////////////////Yf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kf////7//////////////5////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8j//////////////+r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v//////////////w////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8P//////////////+r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yX///////////////////9V////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5////////////////////tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8X//////////////9j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////+///////////////Fv///wD///8A////AP///wD///+Y///////////////s////M////wD///8A", + "////AP///wD///8A////AP////P//////////////1P///8A////AP///wD///8A////AP///4j//////////////8P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////5P//////////////wv///wD///8A////v///////////////7P///wb///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af////b//////////////+H///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf///////////////////9n///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5n////////////////////n////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6r/////", + "///////////////a////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///2v////////////////////W////EP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////yf///wD////M///////////////f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0//////////////+g////AP///9P///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////7b///8A////h////////////////////5X///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8H////5f///////////////////3v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3X////////////////////X////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///0X////////////////////m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D///////////////////9Y", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1n////////////////////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////NP////////////////////P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+b///////////////3///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bf///////////////////5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lf///////////////////2////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T///////////////////8r////AP///wD///8A////AP///wD///8A////AP///0////////////////////8g////Fv///////////////////17///8A////AP///wD///8A////AP///wD///8A////DP////v/////", + "//////////T///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9x////////////////////x////wP///8A////AP///wD///+S////////////////////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///yf////9///////////////E////AP///wD///8A////AP///wD///8A////z///////////////9v///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wz////r///////////////+////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///9v//////////////93///8B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////F////23///+Y////wP///+j////z////1P///7b///+Q////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////y////wD///8A////GP///33////H////5v////L////C////jf///1f///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///0f///+B////p////8z////x////7v///9L///+3////jP///zz///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////BP///1b///+M////wv////L////k////w////3b///8U////AP///wD////K////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////Vv///4r///+9", + "////7v///97///+u////fv///0X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///9I////oP////D///////////////////////////////////////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3T///////////////////+C////AP///wD///8A////AP///wD///8A////e////////////////////3z///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////0P///wD///8A////Jf///4r////T////8v///+j///+/////lv///zP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8u////9f///////////////P///0X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "//////////////8z////AP///wD///8X////dP///8X////n////8v///7////+H////T////xX///8A////AP///wD///8A////AP///zX///+X////1P////L////n////v////5b///8y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////M////wD///8A", + "////Jf///4r////T////8v///+j///+/////lv///zP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////0n///93////pP///9D////0", + "////0////6T///91////Qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr/////", + "///////////////h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3////////////////////wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6v///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wr///+E////yv////f////z////z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////HP///4X///+2////1f////P////s////zv///6////+K////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv///63/////////////////////////////////////////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8W/////P//////////////3////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////g///////////////7////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////H///////////", + "/////////+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8S////+////////////////////17///8A////AP///wD///8A////AP///wD///8A////AP///wD////H////////////////////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///6f///////////////////+s////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///6z///////////////////+m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////L////////////////////4z///8A////AP///wD///8A", + "////AP///33///////////////////9O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////TP//////////////////////////////////////////////////////////////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb////G////////////////////W////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////XP///////////////////8X///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9z/////////////////////P///3b///8A////AP///wD///8A////AP///wD///8A////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////s///////////////W////Af///wD///8A////AP///wD///8F////4///////////////2v///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Lv////j///////////////////////////////3///+n////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////K///////////////qP///wD///8A////AP///wD///8A////hP////7/////", + "////////////////////6f////n///////////////////9t////AP///wD///8A////AP///wD///+r//////////////8q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8r//////////////+o////AP///wD///8A////AP///wD////////////////////o////3P///+j////8/////////////////////////27///8A////AP///wD///8A////AP///6v//////////////yr///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Xv////////////////////////////////////////////////////////////////////////+E////AP///wD///8A////hP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///8P//////////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////AP///wD///8A////AP///wD////D", + "//////////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////9P///9I////AP///wD///8A////AP///wD///8A////AP///wD////D//////////////+I", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///+T//////////////8L///8A////AP///7///////////////+z///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////k///////////////C////AP///wD///+////////////////s////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////5P//////////////wv///wD///8A////v///////////////7P///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///+T//////////////8L///8A////AP///7///////////////+z///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wL////k///////////////C////AP///wD///+////////////////s////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C", + "////5P//////////////wv///wD///8A////v///////////////7P///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////8f//////////", + "////uv///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+f////////////////////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////mf///////////////////+f///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////tv///wD///+H////////////////////lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j/////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////l////////////////////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df///////////////////9f///8C", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////5f///////////////////3v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3X////////////////////X////Av///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////+X///////////////////97////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///91////////////////////1////wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wf////l////////////////////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df///////////////////9f///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8H////5f///////////////////3v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3X////////////////////X////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2T///////////////////+t////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////vf//////////////7////xb///8A////AP///7D///////////////////9I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yf////9///////////////E////AP///wD///8A////AP///wD///8A////z///////////////9v///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////L///9w////cP///3D///98////m////7n////v//////////////////////////7///89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////U/////n///////////////v///9O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xf///9t////mP///8D////o////8////9T///+2////kP///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8X", + "////bf///5j////A////6P////P////U////tv///5D///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////F////23///+Y////wP///+j////z", + "////1P///7b///+Q////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf///9t////mP///8D////o////8////9T///+2////kP///yD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8X////bf///5j////A////6P////P////U////tv///5D///8g////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////F////23///+Y////wP///+j////z////1P///7b///+Q////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7///9i////j////7X////b////+P///+j////R////mP///0L///8A////AP///wD///8A////AP///w3///9K////i////8z////w////wv///5D///9d////Cf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9P///////////////////8R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xH///9W////iv///73////u////3v///67///9+////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8R////Vv///4r///+9////7v///97///+u////fv///0X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Ef///1b///+K////vf///+7////e////rv///37///9F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xH///9W", + "////iv///73////u////3v///67///9+////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv////b//////////////57///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8z////AP///wD///8l////iv///9P////y////6P///7////+W////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////Sf///3f///+k////0P////T////T////pP///3X///9C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////A////0n///93////pP///9D////0////0////6T///91////Qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wP///9J////d////6T////Q////9P///9P///+k////df///0L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////Sf///3f///+k", + "////0P////T////T////pP///3X///9C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////0n///93////pP///9D////0////0////6T///91", + "////Qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yn////I////////////////////////////////////////////////////9f//////////////+v///zH///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////L////////////////////4z///8A////AP///wD///8A////AP///33///////////////////9O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////2f///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8K////////////////////4f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8v////////////////////jP///wD///8A", + "////AP///wD///8A////ff///////////////////07///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+T////////////////////mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////fP//////////////m////wD///8A////AP///wD///8A////gP//////////////g////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+3///////////////0", + "////GP///wD///8A////AP//////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0f//////////////Pf///wD///8A////AP///wD///8A", + "////Qv//////////////yv///wD///8A////AP///wD///8A////mP//////////////3f///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+b//////////////+r///8A////AP///wD///8A////AP///wD///8D", + "////+P//////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////q////////////////////03///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////TP///////////////////6b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////m", + "///////////////R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////6v//////////////6v///wH///8A////AP///wD///8A////AP///wD///8A////AP///wb////z", + "///////////////R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N/////v/////////lf///wP///8A////AP////L//////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K/////f//////////////3////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////H///////////////H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mv//////////////+v///zH///8A////4///////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9w////////////////////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Nf///////////////////9n///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+1///////////////4////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////x///////////////A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///8H//////////////+////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+a////////////////////Dv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9+////////////////////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////J////8f////1////xf///yX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv///8L////1////wf///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+o///////////////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8D//////////////5D///8A////AP///wD///8A////FP///+////////////////H///9X////Ef///wD///8A////AP///wn////p//////////////9h////AP///wD///8A////AP///wD///+0//////////////+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///4j///////////////3///8Y////Ff////3//////////////5T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wj////7///////////////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yv////8////////////////////Y////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////7////////////////", + "////Yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////9P///////////////////2f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////kP///////////////////73///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////73///8h////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////XP//////////////8P///wf////H////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+l////IP////j//////////////+////8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3D////////////////////k////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////e////////////////////Wf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///9u////////////////////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////f////////////////////Pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8/////////////////////5f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///17////////////////////L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////0///////////////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8L///////////////////9F////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///0T////////////////////D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yv////////////////////l////AP///wD///8A////AP///wD///8A////AP///wD///8P/////P//////////", + "////Wf///1H///////////////////8a////AP///wD///8A////AP///wD///8A////AP///wD////I////////////////////Pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8p////9///////////////9P///yX///8A////AP///wD///8A////Cf///9j///////////////n///8t////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+g////////////////////U////wD///8A////AP///wD///8A////AP///1v///////////////////+M////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////dP///////////////////7D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///0P///////////////////95////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8H////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////F", + "////////////////////E////wD///8A////AP///wD///8A////AP///xH///////////////////+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////8////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////////////////////wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7////////////////////8k", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af////z///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nf////T//////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///5L///////////////////8v////AP///wD///8A////AP///wD///8h/////v//////////////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qf//////////", + "/////////6P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6T///////////////////8/////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///+z/////////////////////////yP///5D///9i", + "////R////2H///+U////2/////////8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////r///////////////r///8E////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9x////////////////////Zf///wD///8A////AP///wD///8A////AP///3P///////////////////9a////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///9D/////////////////////////+P///5z///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+l//////////////9b////AP///wD///8A////AP///wD///9E////5f//////////////////////////////////////////////wP///wD///8A////AP///wD///9f//////////////+l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6X//////////////1v///8A////AP///wD///8A/////////////////////////////////////////////////////P///5f///8A", + "////AP///wD///8A////AP///1///////////////6X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4T/////////////////////////////////////////////////////////////////////", + "////hP///wD///8A////AP///4T//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////AP///wD///8A////AP///wD///8A////AP///wD///82/////v/////////3////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////Nv////7/////////9////x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "///////////////C////If///wD///8A////AP///wD///8A////AP///wD///8A////Nv////7/////////9////x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+I///////////////9////GP///xX////9", + "//////////////+U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///////////////f///xj///8V/////f//////////////lP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j///////////////3///8Y////Ff////3//////////////5T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+I///////////////9////GP///xX////9//////////////+U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///////////////f///xj///8V/////f//////////////lP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j///////////////3///8Y////Ff////3//////////////5T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4v///////////////////8t////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////v///////////", + "/////////2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I/////v///////////////////9h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////6X///8g", + "////+P//////////////7////xP///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cP///////////////////+T///8E////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///97///////////////////9Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3D////////////////////k////BP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wL////e////////////////////Wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9w////////////////////5P///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C", + "////3v///////////////////1n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cP///////////////////+T///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///97///////////////////9Z", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3D////////////////////k////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////e////////////////////Wf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9E////////////////////+P///xX///8A////AP///wD///8A////AP///wD///8A////AP///yn////6//////////////+h////AP///xP////5////////////////////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+g////////////////////U////wD///8A////AP///wD///8A////AP///1v/////", + "//////////////+M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////////////////////////////////////////////////z///9+////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///9G////+///////////////7f///xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r////////////////////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6b///+L////EP///wD///8A////AP///wD///8A////FP///9P/////", + "//////////L///8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////0n///93", + "////o////9D////1////5P///8f///+V////N////xv////u//////////////+Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L///////////////////8v////AP///wD///8A////AP///wD///8h/////v//////////////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////If///////////////////8H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////kv///////////////////y////8A////AP///wD///8A////AP///yH////+//////////////+u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////oP///////////////////6f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0n//////////////83///8A////AP///wD///8A////AP///03//////////////7b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5f//////////////yP///wD///8A////AP///wD//////////////+T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///7n//////////////1X///8A////AP///wD///8A////AP///13//////////////6////8A////AP///wD///8A////AP///xT////v//////////////95////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////z///////////////q////A////wD///8A////AP///wD///8A////AP///+D///////////////L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4b///////////////////91////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3T///////////////////+B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hf///////////////////zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///5P///////////////////83////AP///wD///8A////AP///wD///8A////AP///wD///9H////////////////////cP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8f///////////////////+y", + "////Cf///wD////r//////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Nv///////////////////6////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x3/////", + "///////////////X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr////Y///////////////K////Af///9j//////////////7T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////XP///////////////////zH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////H////////////////////if///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qv///////////////////37///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////2P//////////////4f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////j///////////////W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////cP///////////////////2r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////7///////////////s////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T///////////////////+w", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tP//////////////5////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9R///////////////6////JP///wD///8A////AP///wD///9I////6/////////////////////7////S////v////9X////7////////////////////b////wD///8A////AP///wD///8A////4f//////////", + "////Uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8p////////////////////ZP///17///////////////////81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///80////////////////////wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////nP///////////////////+b///8t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///+r////////////////////yv///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3n////////////////////p////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wL///+x////////////////////oP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "//////////////+v////dv///////////////////zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////3//////////////9Q////uv///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////lP///6n/////", + "//////////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////6P///////////////////37///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9x////////////////////1f///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////t///////////", + "/////////5P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P///////////////////yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Kv////////////////////j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///+R////////////////////n////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///////////////////xz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xn////9///////////////u////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////7////////////////v///xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9y", + "////////////////////of///wD///8A////AP///wD///8A////AP///wD///8A////AP///8j//////////////5H///+L///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///////////////////4P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////y///////////", + "/////////2j///8A////AP///wD///8A////AP///wD///82/////P//////////////z////wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g////+///////////////3////wP///8A////AP///wD///8A", + "////AP///wD///8E////4v//////////////9f///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn////m////////////////////NP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+p///////////////6////F////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////T////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6f//////////////7v///wD///8A////AP///wD///8A////AP///wD///8A////7///////////////3f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////OP///////////////////6D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+f////////////////////O////wD///8A////AP///wD///8A////AP///wD///8A////AP///xL/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+o", + "///////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wj////u///////////////R////AP///wD///8A////AP///wD///8A////AP///8T///////////////r///8U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP////////////////////K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////K////////////////////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8q////3///////////////////////////////////////////////////////////////hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////M////////////////////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////5P//////////////6f///wj///8A", + "////AP///wD///8A////AP///wD///8N////8P//////////////1P///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf///+f////////////////////0////gv///xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C////9P/////////8P///yD///8A////AP///wD///8A////AP///xP///9m////lv///8f////z////4////8H///+T////Ov///wD///8A////AP///wD///8j////8f/////////S", + "////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////0//////////w", + "////IP///wD///8A////AP//////////////////////////////9f///9r///++////kP///yP///8A////AP///wD///8A////AP///yP////x/////////9L///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+l/////////////////////////////////////////////////////////////////////////4T///8A////AP///wD///+E//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///6j//////////////6T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///+o//////////////+k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////MP///3X////i//////////P///80////AP///wD///8A////AP///wD///8A////AP///wD///+o//////////////+k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kf///////////////////2T///9e////////////////////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yn///////////////////9k////Xv///////////////////zX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8p", + "////////////////////ZP///17///////////////////81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kf///////////////////2T///9e", + "////////////////////Nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yn///////////////////9k////Xv///////////////////zX///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8p////////////////////ZP///17///////////////////81////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////+v//////////////n////wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9////////////////////9C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////6v////////////////////K////Af///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+U////qf///////////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wn////o////////////////////fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3H////////////////////V////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8J////6P///////////////////37///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9x////////////////////1f///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///+j/////", + "//////////////9+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cf///////////////////9X///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn////o////////////////////fv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3H////////////////////V////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////6P///////////////////37///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9x////////////////////1f///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////+X///////////////////97////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///////////////////z7///9r////////////////", + "////3v///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8g////+///////////////3////wP///8A////AP///wD///8A////AP///wD///8E////4v//////////////9f///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////", + "/////////////////////////////////////////7L///8r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A", + "////AP///3r///////////////////+L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////g///////////", + "/////////0r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///2H//////////////+3///9w////Bf///wD///8A////Ef///8////////////////////95////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///77///87////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wj////u///////////////R////AP///wD///8A////AP///wD///8A////AP///8T/////", + "//////////r///8U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zj///////////////////+g////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP///+7//////////////9H///8A////AP///wD///8A////AP///wD///8A////xP//////////////+v///xT///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6z///////////////////+z", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8W///////////////5////Bf///wD///8A", + "////AP///wD///8b///////////////p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+n//////////////8v///8A////AP///wD///8A///////////////k////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Y//////////////+W////AP///wD///8A////AP///wD///+l//////////////+L////AP///wD///8A////AP///wD///8A////bv//////////////8////xr///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP///////////////////0n///8A////AP///wD///8A////AP///w7////9///////////////J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9L////////////////////sP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+v////////////////////Rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH////+//////////////+d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///84////////////////////1////w////8A////AP///wD///8A////AP///wD///8Y////4v//////////////+v///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////1f///////////////////8H///8M////4f//////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///1f////c////Q////wD///8A////AP///wD///8A////AP///wD///8A////AP///7L///////////////////9/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9N////b////wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///98////////////////////pP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Mv////r//////////////1f////N//////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0j///////////////////9I////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rf////3///////////////////94////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////P///////////////n", + "////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z///////////////////8x////AP///wD///8A////AP///wD///8A////AP///wD///80////////////////////m////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yb////5///////////////t////Ev///wD///8A////AP///wD///8A////AP///wD///8E////of///////////////v///y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////u////////////////////7P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9///////////////7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///9f//////////////63///8A////AP///wD///8A////AP///xn///+6////////////////", + "/////////////////////////////////////////33///8A////AP///wD///8A////Sf//////////////+v///w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r//////////////6z///+p///////////////W////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////rP///////////////////5H///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xr////1////////////////////9f///13///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////F/////////////////////v///zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G", + "////2f////////////////////r///95////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////C////83///////////////////9+////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////nf///8r//////////////+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf//////////////qP///6////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////8X////////////////////b////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///3X/////////////////////////mf///wT///8A////AP///wD///8A////AP///wD///8A////AP///wH///+L/////////////////////////1f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////X/////////////////////////9n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L///////////////////89", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7////////////////////f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///83////+v///////////////////3P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5v///////////////////+A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9s////////////////////ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P///////////////////9t////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uf///////////////////13///8A////AP///wD///8A////AP///wD///8A////AP///wD///+E///////////////H////xP//////////////j////wD///8A////AP///wD///8A////AP///wD///8A////AP///0n/////", + "///////////////H////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv///////////////////7b///8A////AP///wD///8A////AP///wD///8A////AP///4P///////////////////+D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////mP///////////////////3H///8A////AP///wD///8A////AP///wD///8A////AP///3P///////////////////+J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP///////////////////7f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8V////+f//////////////rf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////1///////////////a////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////L//////////////93///8A////AP///wD///8A////AP///wD///8A////AP///9z///////////////P///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////Mf///wD///8A////AP///wD///8A////AP///wD///8A////AP///2f/////", + "//////////////+A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////f////////////////////3b///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I/////////////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf//////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Z////////////////////dP///wD///8A////AP///wD///8A", + "////AP///wD///9o////////////////////bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///7v////1////2////1D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xb////G/////////////////////////////////////////////////////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lf///////////////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP///////////////////3////8A////AP///wD///8A////AP///wD///8A////AP///4n///////////////////9T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2//////", + "//////////////+/////Hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8k////8P/////////u////YP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k////7//////////v////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT////w/////////+7///9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2T////v/////////+////8k////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yz///8s////LP///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xv////////////////////////////////////////////////////////////////////////+E////AP///wD///8A////hP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///7X///8+////AP///wD////7//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8g////+P/////////+////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///+1////Pv///wD///8A////+///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////IP////j//////////v///zP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP//////////////kv///wD///8A////AP///wD///8A////AP///wD///8A////IP////j/////", + "/////v///zP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///03////a////9f///73///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K//////////////+s////qf//////////////1v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv//////////////rP///6n//////////////9b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r//////////////6z///+p///////////////W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K//////////////+s////qf//////////////1v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////yv//////////////rP///6n//////////////9b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8r//////////////6z///+p///////////////W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6L/////", + "//////////n///8Z////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////3////////////////////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////I////8X////////////////////+////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////xf///////////////////9v///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j/////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df////////////////////////+Z////BP///wD///8A////AP///wD///8A////AP///wD///8A////Af///4v/////////////////////////V////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3X/////////////////////////mf///wT///8A////AP///wD///8A////AP///wD///8A////AP///wH///+L/////////////////////////1f///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///91/////////////////////////5n///8E////AP///wD///8A////AP///wD///8A////AP///wD///8B////i/////////////////////////9X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////df////////////////////////+Z////BP///wD///8A////AP///wD///8A////AP///wD///8A////Af///4v/////////////////////////V////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///3X/////////////////////////mf///wT///8A////AP///wD///8A////AP///wD///8A////AP///wH///+L/////////////////////////1f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9w////////////////////5P///wT///8A", + "////AP///wD///8A////AP///wD///8A////AP///wv////h///////////////U////y////////////////////1b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mP///////////////////3H///8A////AP///wD///8A////AP///wD///8A////AP///3P///////////////////+J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////////////////////7////3v///73///+c////e////zr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////0///////////////e////AP///wD///8A////AP///wD///8A////AP///wD///8R/////v//////////////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////CP///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1v///////////////////+M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e/////////////////////////9z///9V////D////8r///////////////////+5////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////wj///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////wj///8B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9Z////////////////////dP///wD///8A////AP///wD///8A////AP///wD///9o////////////////////bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////zH///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9n////////////////////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1n///////////////////90////AP///wD///8A", + "////AP///wD///8A////AP///2j///////////////////9u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5////////////////////wP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T//////////////zH///8A////AP///wD///8A////AP///+j//////////////xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+z///////////////5", + "////Iv///wD///8A////AP//////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////QP//////////////4f///wj///8A////AP///wD///8Q", + "////7v//////////////K////wD///8A////AP///wD///8A////AP///wT////V//////////////+i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5n///////////////////+u////AP///wD///8A////AP///wD///+V", + "////////////////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP////7//////////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6f///////////////P///w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uv//////////////9P///w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9v///////////////////+2////A////wD///8A////AP///wD///8I////yP//////////", + "/////////6z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w////+5////////////////////wf///+D//////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z/////4//////////////+b////EP///wD///8A////AP///wD///8A////BP///33////////////////////6////L////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b////7f/////////X////S////wD///8A////AP///wD///8A////AP///wD///9Y/////P///////////////////2j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92///////////////R////wv//////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///80////////////////////YP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9s/////////////////////////7b///85////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Xf///////////////////13///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9f////////////////////4P///yT///8A", + "////AP///wD///8A////AP///wD///8o////4////////////////////2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hf///////////////////8v///8s////AP///wD///8A////AP///wD///8O", + "////uP///////////////////6X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7////////////////////+3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L///////////////////+N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9f////////////////////Pf///wD///8A////AP///wD///8A////Af///0z///+C////tP///+b////5////7P///9P///+y////gv///0j///8J////AP///wD///8A////Df///+H//////////////5j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9r///////////////s////7P//////////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8g////nP////////////////////////9f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////eP//////////////////////////////l////yb///8B////AP///wD///8A", + "////AP///wD///8E////U////7r///+m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////Df///2j////0/////////////////////////6T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0b////8/////////////////////////73///83////Cf///wD///8A////AP///wD///8A////AP///wT///9D////lv////H///9O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8a////4////////////////////1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////6z///////////////////+P////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///1b///////////////X///+v////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////5v////////////////////////+6////Lf///wP///8A////AP///wD///8A////Af///yj///+q/////////////////////////87///8B////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8Q////hP////X////////////////////Z////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////D////////////////////V////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y////////////////////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wX///9e////5P////////////////////D///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9g////////////////////+v///17///8A////AP///wD///8A////AP///wD///8/////pf///2v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wf///////////////////1H///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9T////////////////////wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf////f///////////////////8Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qf//////////", + "////9/////f//////////////0r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N/////P///////////////P///w////8A////AP///wD///8A////AP///wD///8A////Mv////r//////////////+z///8Z////AP///wD///8A////AP///wD///8A////AP///wD///8F////zf//////////////+////zX///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G/////j///////////////L///8O////AP///wD///8A////AP///wD///8A////AP///wD///8N////8P//////////////8////xP///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb////h////////////////////Ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////df///////////////////0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////1///////////////7v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////M", + "///////////////4////Af///wD///8A////AP///wD///8A////AP///wH////3///////////////N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////////////////////////47///8A////AP///wD///8A////AP///wD///8A////AP///wD////I////////////////////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1D////////////////////V", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////pf////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wj////y/////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////vP///////////////P///xn///8A////AP///wD///8A////AP///wD///8A////Ev////n//////////////87///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H////////////////////z", + "////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///zj///+I////2P//////////", + "///////////////6////0////4n///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1f////////////////////+////W////wD///8A////AP///wD///8A", + "////AP///wD///8U////bP///3f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///9r///////////////f///8V////AP///wD///8A////AP///wD///8A////AP///wD///8a////+f//////////////zv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+4///////////////k////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///0X////x//////////////+5////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH///+8///////////////w////RP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rf////H//////////////7n///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////If///7z///////////////D///9E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+f/////////////////////////////////////////////////////////////////////", + "////hP///wD///8A////AP///4T//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///5b/////////+f///17///8A////7///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4z//////////////7////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+W", + "//////////n///9e////AP///+///////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+M//////////////+/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///8A////AP///wD///8A", + "////AP///xP//////////////+L///8A////AP///wD///8A////AP///wD///8A////AP///wD///+M//////////////+/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////z////////////////", + "////sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////a///////////////7P///+z/////", + "/////////3j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2v//////////////+z////s//////////////94////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9r///////////////s////7P//////////////eP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////a///////////////7P///+z//////////////3j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2v//////////////+z////s//////////////94////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9r///////////////s////7P//////////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8u////////////////////hf///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3P//////////", + "/////////0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8N////aP////T/////////////////////////pP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////", + "//////////////9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////m/////////////////////////7r///8t", + "////A////wD///8A////AP///wD///8B////KP///6r/////////////////////////zv///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////5v////////////////////////+6////Lf///wP///8A////AP///wD///8A", + "////Af///yj///+q/////////////////////////87///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C////+b/////////////////////////uv///y3///8D////AP///wD///8A////AP///wH///8o////qv//////////", + "///////////////O////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////m/////////////////////////7r///8t////A////wD///8A////AP///wD///8B////KP///6r/////////////////////////zv///wH///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////5v////////////////////////+6////Lf///wP///8A////AP///wD///8A////Af///yj///+q/////////////////////////87///8B////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///+j///////////////////9+////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf///////////////////////////////////8X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G/////j///////////////L///8O////AP///wD///8A////AP///wD///8A////AP///wD///8N", + "////8P//////////////8////xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yf///////////////v///wr///8A////AP///wD///8A////AP///wD///8A////AP///+P///////////////L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf///9n/////////8f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////H/////////3f///x////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////6//////////q////Pv///wD///8A////AP///wD///8A////AP///0D////q/////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////5/////////9c////AP///wD///8A////AP///wD///9M////tv///+7////G////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////5f////Z", + "////9f///9T///+I////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8v////////////////////8////xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////2f/////////x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8f/////////d////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////r/////////+r///8+////AP///wD///8A////AP///wD///8A////QP///+r/////////6////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8d////2f/////////x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////8f/////////d////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6//////////q////Pv///wD///8A", + "////AP///wD///8A////AP///0D////q/////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zv////J//////////////////////////H////////////////////P", + "////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+f/////////XP///wD///8A////AP///wD///8A////TP///7b////u////xv///17///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////2f/////////x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////H/////////3f///x////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+v/////////6v///z7///8A////AP///wD///8A////AP///wD///9A////6v/////////r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+f/////////XP///wD///8A////AP///wD///8A////TP///7b////u////xv///17///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf///9n/////////8f///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////H/////////3f///x////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6//////////q////Pv///wD///8A////AP///wD///8A////AP///0D////q/////////+v///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vP///////////////P///xn///8A////AP///wD///8A////AP///wD///8A////Ev////n//////////////87///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////+O////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP///////////////////1X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+8///////////////8////Gf///wD///8A////AP///wD///8A////AP///wD///8S////+f//////////////zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xv///////////////////83///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x//////////////9k////AP///wD///8A////AP///wD///+1//////////////9O////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////c////////////////////9H///8t////AP///wD//////////////+T///8A////AP///wD///8W////cP///zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////a//////////////+j////CP///wD///8N////vf//////////////v////wD///8A////AP///wD///8A////AP///wD///8A////Rf///////////////v///zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///84/////P///////////////////93///+I////Pv///1f///+2/////////////////////f///z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////T////////////////////KP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jf///////////////////87///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1T///////////////////9o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8x////7f///////////////////+n///+l////X////2b///+r////7f///////////////////9P///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////5X/////", + "//////////////////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w//////////////////////////v////O////lv///17///9T", + "////fP///9H/////////////////////////ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uv/////////////////////////h////s////4T///9V////VP///3j////H////////////////", + "/////////8H///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///73///////////////z//////////////7T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////H////////////////////7b///98////fP///3z///98////fP///3z///98////fP///3z///98////Xf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///43//////////////////////////////8X///+V////dP///1P///9H////WP///37///95////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3z///98////fP///3z///98////fP///3z///98////fP///3z///98////fP///3z///98////fP///4H////9///////////////N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////8H////////////////////8////qP///23///9O////Uf///3D///+t/////f///////////////////8L///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wn////d////////////////////+v///6L///9z////Tf///3D///+r////6f////////////////////P///8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n///////////////////+1", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C////+v///+t////Qv///wD///8A////AP///wD///8A////AP///zr////l////////////////////Rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///7b//////////////8v///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5X//////////////+P///8O", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev////n//////////////////////////f///xz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////8v///3D///9w////cP///3D///9z////h////5/////B/////v////////////////////////++////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9Y////8P//////////////////////////////8P///77///+J////gv///6b////J////7////////////////f///yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////y", + "////cP///3D///9w////cP///4n///+1////4f////7//////////////////////////////6X///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////8v///3D///9w////cP///3D///9w", + "////cP///3D///9w////cP///3D///9w////cP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////L///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w", + "////cP///3D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv///9T///////////////////////////////z////Y////qf///33///9/////k////8H////y", + "////////////////////wP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///y/////z///////////////5////P////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "///////////////4////////////////////Ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////9P//////////////+f///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////", + "////v////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz////F///////////////////////////////0", + "////w////47///+I////vf////D//////////////////////////////6////8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////y////cP///3D///9w////fP///5v///+6////7//////////////////////////9", + "////Ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////o////////////////////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////cv///////////////////5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////L///9w////cP///3D///96////k////63////k//////////////////////////////9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///7//////////////////////////zv///5f///95////lf///7v////k///////////////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cP///3D///9w////cP///3D///9w////cP///3D///9w////////////////////8v///3D///9w////cP///3D///9w////cP///3D///9w////cP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////GP////3///////////////X///8K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C/////f///////////////3///8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0f/////", + "///////////////T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////1//////////////////////////n///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r///////////////////9Q////AP///wD///8A////AP///wD///8A////B////9T///////////////////9U", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yv////4///////////////W////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4////////////////////+P////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///4v///////////////////+F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////uP///////////////////77///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9r//////////////9////8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7f///////////////7///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pf///////////////////yj///8A////AP///wD///8A////AP///wD///8j////////////////////o////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///13////V////x////0X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////w////DP///wD///8A////AP///wD///8A////AP///wD///8v////////////////////3////wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////2v///////////////////z7///8A////AP///wD///8A////AP///wD///8A////F/////X/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////pf/////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////If////7//////////////7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w////////////////////L////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////t/////////////////////////0H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+o////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////rP/////////////////////////I////dP///1T///9O////cP///5L///+7////+//////////6////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1f///////////////////+Z////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///57///////////////////9M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7///////////////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I////8z///////////////P///9z////Ff///wD///8A////AP///wD///8A////AP///wD///8A////Fv///3X////1///////////////K////If///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j", + "////zP//////////////8////3P///8V////AP///wD///8A////AP///wD///8A////AP///wD///8W////df////X//////////////8r///8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////6/////////////////////////////////////////////////////////////////////////4T///8A////AP///wD///+E//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9o////+P/////////+////ZP///+L//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////7f//////////////Tv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////aP////j//////////v///2T////i//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///+3//////////////07///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD////n////e////wj///8A////AP///wD///9o///////////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///+3//////////////07///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9B/////////////////////////+3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////5//////////////////////////3///8c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8S////+f/////////////////////////9////HP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Ev////n//////////////////////////f///xz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////5////////////////", + "//////////3///8c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8S////+f/////////////////////////9////HP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev////n//////////////////////////f///xz///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7j//////////////+3///9w////cP////////////////////L///9w////cP///3D///9w////cP///3D///9w", + "////cP///3D///9w////cP///3D///8A////AP///wD///8A////AP///wD///8A////AP///7f///////////////////9r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////y////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////8v///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "//////////L///9w////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////y////cP///3D///9w", + "////cP///3D///9w////cP///3D///9w////cP///3D///9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////L///9w////cP///3D///9w////if///7X////h/////v//////////////////////////////pf///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////////////////////+/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////HP///8X///////////////////////////////T////D////jv///4j///+9////8P//////////////////////////////r////w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xz////F///////////////////////////////0////w////47///+I////vf////D//////////////////////////////6////8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c", + "////xf//////////////////////////////9P///8P///+O////iP///73////w//////////////////////////////+v////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////HP///8X/////////////////////", + "//////////T////D////jv///4j///+9////8P//////////////////////////////r////w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz////F///////////////////////////////0////w////47///+I", + "////vf////D//////////////////////////////6////8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///91/////////////////////////5n///8E////AP///wD///8A////AP///wD///8A////AP///wD///+2//////////////////////////7///83", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///4////////////////////+P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4v///////////////////+F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///53///////////////////9F////AP///wD///8A////AP///wD///8A", + "////AP///xD////+///////////////O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///+D//////////////2b///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9n///////////////h////Hf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zf////1//////////r///9n////AP///wD///8A////AP///23////7//////////X///83////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n/////////uf///wD///8A////AP///xz///+w//////////////////////////////9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0z////U////1v///0////8A////AP///wD///8A////Uv///9f////S////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev///+T//////////////////////////////9b///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6//////", + "//////////////+O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e", + "////4P//////////////Zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2f//////////////+H///8d", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N/////X/////////+v///2f///8A////AP///wD///8A////bf////v/////////9f///zf///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9M////1P///9b///9P////AP///wD///8A////AP///1L////X////0v///0f///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////4P//////////////Zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2f//////////////+H///8d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zf////1//////////r///9n////AP///wD///8A////AP///23////7//////////X///83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9M////1P///9b///9P////AP///wD///8A////AP///1L////X////0v///0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Af///1r////h///////////////////////////////i////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5/////////7n///8A", + "////AP///wD///8c////sP//////////////////////////////cP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e", + "////4P//////////////Zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9n///////////////h////Hf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///83////9f/////////6////Z////wD///8A////AP///wD///9t////+//////////1////N////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5/////////7n///8A////AP///wD///8c////sP//////////////////////////////cP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9M////1P///9b///9P////AP///wD///8A////AP///1L////X////0v///0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///+D//////////////2b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9n///////////////h////Hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zf////1//////////r///9n", + "////AP///wD///8A////AP///23////7//////////X///83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////TP///9T////W////T////wD///8A////AP///wD///9S", + "////1////9L///9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////If////7//////////////7n///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w", + "////////////////////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////8P///wz///8A////AP///wD///8A////AP///wD///8A////L////////////////////9////8E////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h/////v//////////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///7D///////////////////8v////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9P////////////////////a", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////f///////////////lv///wD///8A", + "////AP///wD///8A////g///////////////gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX////F/////////////////////P///7j///94///////////////r////Xv///47///+/////+/////////+w////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yv////////////////////b////O////+v//////////////+v///0P///8A////AP///wD///8A////AP///wD///8A////AP///wD///+w///////////////K", + "////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4L//////////////////////////////////////////////////////////////43///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////mP///////////////////2P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///2D///////////////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////6f//////////////zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zD////s/////////////////////////////////////////////////////////87///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bf////z/////////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////A////4j////8////////////////////////////////////////////////////////////////////wv///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zb////a/////////////////////////////////////////////////////////////////////////+v///8b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8b////7f////////////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv/////////////////////////////////////", + "/////////////////////////////////////////8D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////ff////L/////////////////////////////////////", + "////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////////////////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////1v///////////////////////////////////////////////////////////////////9f///8R////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv///97//////////////////////////////////////////////////////////////9L///8n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8n////x/////X////F////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2n////////////////////k////tv///4r///9j////ff///67////9", + "////////////////////pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////5P//////////////2P///zL///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z3////+//////////////9K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+t/////////////////////////7v///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////////////////////////////////////////////////////////////////////Y////Ef///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD////G//////////////////////////////////////////////////////////////////////////////+m////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////////////////////////////////////6P///1D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8G////g/////v///////////////////////////////////////////////////////////////////////////////////8z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////aP///6X////i/////////////////////////9z///+f////Yv///xr///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////S/////z//////////////+7///8o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////5P///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6f///////////////////////////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////f///zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///47/////////////////////////////////////////////////////////////////////////+////3X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "///////////////////////////////////////////////////////////////////////////////8////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4T///////////////////+L", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4z///////////////////97////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////", + "//////////////////////////////+b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////7v//////////////////////////////////////////////////////////", + "/////////y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////////////////////////////////////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2v///////////////////+u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+y////////////////////a////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+O////////////////////j////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uf/////////////////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+L", + "////////////////////lP///wD///8A////AP///wD///8A////AP///4v///////////////////+j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////dP///////////////////43///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xX////1///////////////9////If///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////+v//////////////8v///xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0H///////////////////97////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+W////////////////////cf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2v///////////////////+i////AP///wD///8A////AP///wD///8A////nP///////////////////zz///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb////v///////////////T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////8P///8X////AP///wD///8A////AP///wD///8s////5f//////////", + "/////////2f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2D////////////////////t////NP///wD///8A////AP///wD///8A////If///9v//////////////////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD///9M////Pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4L///////////////////9c////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////U////////////////////4////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7f////////////////////////9A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz////U/////////////////////////////////////////////////////////////////////////5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////P///////////////+////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8q/////v//////////////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D/////", + "/////////+L///8Q////AP///wD///8A////AP///wD///8A////Af///zz///9M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////kv////7///////////////3////F", + "////hv///23///9U////VP///23///+G////xv////3///////////////3///+P////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///+S/////v///////////////f///8X///+G////bf///1T///9U////bf///4b////G/////f///////////////f///4////8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7f////////////////////////////////////////////////////////////////////////+E////AP///wD///8A////hP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zP////e//////////v////z//////////////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///3D//////////////9f///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8z////3v/////////7////8///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9w///////////////X////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+7///////////////0////xf///57////C////////////////////lP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9w", + "///////////////X////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qf/////////////////////////s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf////////////////////////+7////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///63/////////////////////////u////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+t/////////////////////////7v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf////////////////////////+7////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///63/////////////////////////u////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+t/////////////////////////7v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9E", + "////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///+S////////////////////jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yH///9o////pf///+L/////////////////////////3P///5////9i////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h", + "////aP///6X////i/////////////////////////9z///+f////Yv///xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH///9o////pf///+L/////", + "////////////////////3P///5////9i////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH///9o////pf///+L/////////////////////////3P///5////9i", + "////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////", + "///////////////o////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////////////////////9////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j/////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////jv/////////////////////////////////////////////////////////////////////////7////df///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///47/////////////////////////////////////////////////////////////////////////+////3X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///+O//////////////////////////////////////////////////////////////////////////v///91////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////jv/////////////////////////////////////////////////////////////////////////7////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Bf///47/////////////////////////////////////////////////////////////////////////+////3X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C////+b/////////////////////", + "////uv///y3///8D////AP///wD///8A////AP///wD///8k////p/////////////////////////+m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xX////1///////////////9////If///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////+v//////////////8v///xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9w////////////////////4P///xL///8A////AP///wD///8A////AP///wD///+j////////////////////lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////EP///9X//////////////8n///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Af///8r//////////////9T///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf////7//////////////3X///8A", + "////AP///3v///////////////3///9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9///////////3///+V////QP///4H////x////////////////////////////////", + "////9f///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////O///////////////W////AP///wD///8A////AP///9j//////////////8v///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5X/////////9P///4X///88////iP////j/////////hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////8P///////////////////6////8T////AP///wD///8A////AP///wD///8A////C////0n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////1f//////////////yf///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////yv//////////////1P///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9R/////v//////////////df///wD///8A////e////////////////f///0////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zv//////////", + "////1v///wD///8A////AP///wD////Y///////////////L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////1f//////////////yf///wH///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////yv//////////////1P///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf////7//////////////3X///8A////AP///3v///////////////3///9P////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zv//////////////1v///wD///8A////AP///wD////Y///////////////L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T////o///////////////////////////////9v///4X///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////f//////////9////lf///0D///+B////8f////////////////////////////////////X///8U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////1f//////////////yf///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///8r//////////////9T///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1H////+//////////////91////AP///wD///97///////////////9////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////f//////////9////lf///0D///+B", + "////8f////////////////////////////////////X///8U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zv//////////////1v///wD///8A////AP///wD////Y", + "///////////////L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///9X//////////////8n///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///8r//////////////9T///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf////7//////////////3X///8A////AP///3v///////////////3///9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///87//////////////9b///8A////AP///wD///8A////2P//////////////y////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///4L///////////////////9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////U////////////////////4////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////////////////////D", + "////F////wD///8A////AP///wD///8A////LP///+X///////////////////9n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gv///////////////////1z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9T////////////////////j////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////g////////////////////5////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0z//////////////8j///8A////AP///wD///8A////AP///1D//////////////7P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf///93/////", + "/////////////////////////////////////////////////////////////////////f///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9l/////f//////////////////////////", + "////8////0X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv////j//////////////2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////fv////P/////////////////////////////////////", + "////+f///4v///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0f///////////////////+2////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+z////////////////////Q////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///4n///////////////////8z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv///+r//////////////////////////////////////////////8n///8R", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9J////8f///////////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv///7L////////////////////////////////////////////////////u////bf///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///23////i////////////////////////////////////////////////////+v///5X///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L/////////////////////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////9v/////////////////////////////////////////////////////////////////////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8U////jv////j//////////////////////////////////////////////7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "//////////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf///+Q////9f//////////", + "////////////////////////////////////9v///5L///8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8L////kf////3/////////////////////////////////////", + "/////////5z///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////R////////////////////////////////////////////////////////////////////6P///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///z3////1///////////////5////dP///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////3P////0//////////////+j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Tv////////////////////////9d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////", + "/////////////////////////+z///+O////HP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///4T////4////////////////////////////////", + "//////////////////////////3///+9////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////////p////xP///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////zP///////////////////////////////////////////////////////////////////97///+J////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////nP////////////////////////////////////////////////////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9t////////////////////3f///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////5L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9P////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////53///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P//////////", + "/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uv///+3/////////////////////////////////////////////////////////5P///z7///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////+t////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k////////////////////rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+t////////////////////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////8D///9D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yH///+s////////////////////////////////////////////////////+////7L///8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////", + "////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////A////////////////////Xf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Yf///////////////////8D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1f///////////////////0r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3b/////", + "////////////////////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////S////////////////////9n///8A////AP///wD///8A////AP///z3////9///////////////i////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////B///////////////9", + "////Pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+H////////////////////rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P///////////////////+C////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+n///////////////7////Gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////PP////////////////////n///9/////QP///zn///9b////nf///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F", + "////1P///////////////v///5H///8K////AP///wD///8I////iP////3//////////////9b///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82/////////////////////////x7///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////0/////b/////////5f///4v///9d////OP///13///+T////7v///////////////////+L///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////3v//////////", + "//////////H///+X////Xv///zr///9m////mP///+n/////////9v///9H///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wL////i///////////////z////Cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////v///////////////q////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///63////////////////////w", + "////Ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///4P////y////////////////////////////////", + "/////////////////////////9L///90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9K////////////////////s////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T///////////////////9F////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///99////////////////////3v///5j///9p////O////0f///9q////kf///9//////////4P///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////iP///+n/////////////////////////////////////////////////////////6P///4b///8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH///+I////6f/////////////////////////////////////////////////////////o", + "////hv///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///97/////////////////////////////////////////////////////////////////////", + "////hP///wD///8A////AP///4T//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////EP///7D/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////2///////////////av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///xD///+w/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///9v//////////////2r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qv///+L/////////////////////", + "////////////////////y////wr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///9v//////////////2r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xH////w////////////////", + "////rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///07/////////////////////", + "////Xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9O/////////////////////////13///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv////////////////////////9d////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///07/////////////////////////Xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9O/////////////////////////13///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yf/////////////////////////l////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87//////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////bf//////////", + "/////////7L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////", + "//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////", + "////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+c/////////////////////////////////////////////////////////4T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP////////////////////////////////////////////////////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+c/////////////////////////////////////////////////////////4T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+c/////////////////////////////////////////////////////////4T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A//////////////////////////////////////////////////////////////////////////////+n////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////", + "////nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S////7f//////////", + "///////////////////////////////////////////////k////Pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uv///+3/////////////////////////////////////", + "////////////////////5P///z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L////t/////////////////////////////////////////////////////////+T///8+", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S////7f/////////////////////////////////////////////////////////k////Pv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uv///+3/////////////////////////////////////////////////////////5P///z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////xf//////////////////////////////9P///8P///+O////fv///5/////D/////f//////////////////////////////Yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+H////////////////////rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6P///////////////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///+D////////////////////t////hP///03///8z////RP///2v////P/////////////////////v///0X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////73///////////////////86////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///86////////////////////vf///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92////////////////////d////3n///////////////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////F/////f////////////////////////////////////0////hv///0D///+T/////f////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////0P//////////////2P///wD///8A////AP///wD////a///////////////n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W/////////6D///8A", + "////AP///wD///+q/////////83///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2b/////////////////////////7P///7b///+N////ZP///2b///+J////vv////j/////////JP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////vf///////////////////zr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zr///////////////////+9////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3b///////////////////93////ef///////////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D//////////////9j///8A////AP///wD///8A////2v//////////////5////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8D////vf///////////////////zr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///zr///////////////////+9////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92////////////////", + "////d////3n///////////////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D//////////////9j///8A////AP///wD///8A////2v//////////", + "////5////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///9p////6//////////////////////////8////////////////", + "////6f///2n///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf////3////////////////////////////////////9P///4b///9A////k/////3/////////fP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////vf///////////////////zr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///86////////////////////vf///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////dv///////////////////3f///95////////////////////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf////3////////////////////////////////////9P///4b///9A////k/////3/////////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///9D//////////////9j///8A////AP///wD///8A////2v//////////////5////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////73///////////////////86////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///86////////////////////vf///wP///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92////////////////////d////3n///////////////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q///////////////Y////AP///wD///8A////AP///9r//////////////+f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////i///////////////z////Cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////v///////////////q////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9r////2/////////+X///+L////Xf///zj///9d////k////+7////////////////////i////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Av///+L///////////////P///8K////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////+///////////////+r///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7f////////////////////T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Z///////////////2////A////wD///8A////AP///wD///8d///////////////m////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////ef////L//////////////////////////////////////////////////////////P///7j///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0H///+R////yv////H////D////if///y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+G///////////////n////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8Y////hv///7L////W////9f///+D///+6////kf///yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////2f///////////////f///yD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c/////P//////////////1////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8k/////v//////////////mf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8M////YP///7b////Y////8/////D////U////qP///0r///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///yz////f//////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////H////3D///+3////1v////H////t", + "////xv///6D///92////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///0D///+J////xP///9z////0////7f///8n///+l////gP///yT///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////m////////////////////7T///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L/////////////////////////////////////////////////////////////////////////wP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////Xv///4L///+m////y////+/////6////6////8////93////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT///96////q////83////v////7v///83///+r////ff///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8y////df///6H////N////8////9T///+h////bv///zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf///37////j///////////////////////////////////////////////+////nv///xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv///+r///////////////////+6////Gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mv///83////////////////////n////Ev///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX////q///////////////z////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A///////////////////////////////////////////////5////4v///8v///+0////nf///1f///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP///1P///+f////xv///93////0////8f///9X///+5////nv///3L///8b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////", + "//////////////////////////X////K////nv///3H///9F////GP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////", + "/////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////////////////////////////////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8k////av///6z////L////3/////T////z////2P///73///+i", + "////gf///zP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z/////////////////////////////////////////////////////////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L////////////////////H////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "//////////////////////////////8+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B/////D//////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////P///8Y", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////Rv///5X////F", + "////3P////L////1////3f///8X///+T////Qf///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////+v///9z///+7////mv///3n///81////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////RP////////////////////j///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T", + "////9////////////////////zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////////////////////////////////////4////3P///7////+i////hf///z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0D///+S////uv///+H////2////2////73///+f////cf///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP////j////4////+P///+D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8Y/////f//////////////+////xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT////8///////////////9////GP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////HP//////////", + "//////////r///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y/////////////////////////zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w/////8////////////////////Hf///wD///8A////AP///wv////d///////////////+////Qv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////If////L//////////////93///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////8f///////////////////zz///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8u////////////////////8P///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////////////////////////////////////////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////+P//////////////r////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+s//////////////////////////////////////////////9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z3////9////////////////////+////9b////V////+v///////////////////////////////////9X///+U////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Bv////D///////////////X///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////4P///9e/////////////////////////////////////////////////////////+T///82////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zD////g/////////////////////////////////////////////////////v///1r///9+////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I////////////////////of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////m////////////////////0////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////tf////P////X////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev///3b///+i////xv///+r////0////2P///7z///+g////fP///yv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////w////////////////////0H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8/////////////////////wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////73///////////////////////////////////////////////////////////////////9E////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////VP///4n///+r////zf///+/////v////zf///6v///+J////U////wX///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wb///9U////if///6v////N////7////+/////N////q////4n///9T////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+8/////////////////////////////////////////////////////////////////////////4T///8A////AP///wD///+E//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////c/////v//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P//////////////+r///8O////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3P////7//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9T///////////////q////Dv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////Zv///7r////n////+P///93///+8////YP///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9T///////////////q////Dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rv///9b////0////uP///xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////6v//////////////8////wv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Bf///+r///////////////P///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wX////q///////////////z////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////6v//////////", + "////8////wv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///+r///////////////P///8L////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev///+n//////////////////////////////9b///8J////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9a////////////////////////////////////////////////////////////////////////////////", + "//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///0j////////////////////e////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////////////////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////", + "//////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////", + "////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP////////////////////////////////////////////////////////+E", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z/////////////////////////////////////////////////////////hP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP////////////////////////////////////////////////////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP////////////////////////////////////////////////////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////9f///8r///+e////cf///0X///8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////8////xj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///9G////lf///8X////c////8v////X////d////xf///5P///9B////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8G////Rv///5X////F////3P////L////1////3f///8X///+T////Qf///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Bv///0b///+V////xf///9z////y////9f///93////F////k////0H///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///9G", + "////lf///8X////c////8v////X////d////xf///5P///9B////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////Rv///5X////F////3P////L////1", + "////3f///8X///+T////Qf///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///+O/////////////////////////////////////////////////////////////////////////////////////////+X///8O", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////j////4////+P///+D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////4////+P////j////g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P////j////4////4P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP////j////4////+P///+D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q", + "////8f///////////////////zz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8u////////////////////8P///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///84////+v//////////////////////////////////////////", + "/////////////////////////3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///43///////////////////+x////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7L///////////////////+M////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///63///////////////////////////////////+o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92//////////////////////////////+5////If///wD///8A////AP///73/////////t////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///07////U////1f///0////8A////AP///wD///8A////VP///9j////l////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f////////9l////AP///wD///8A////Zv/////////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B", + "////jP////v//////////////////////////////////////////////////////////////4T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jf//////////", + "/////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv//////////", + "/////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf///////////////////////////////////6j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9O////1P///9X///9P////AP///wD///8A////AP///1T////Y////5f///1T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jf///////////////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv///////////////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///63///////////////////////////////////+o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9O////1P///9X///9P////AP///wD///8A////AP///1T////Y////5f///1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+8/////////////////////////+L///9Q////H////6b////+////////////////////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////dv//////////", + "////////////////////uf///yH///8A////AP///wD///+9/////////7f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jf//////////", + "/////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7L///////////////////+M", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+t////////////////////////////////////qP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////dv//////////////////////////////uf///yH///8A////AP///wD///+9/////////7f///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9O////1P///9X///9P////AP///wD///8A////AP///1T////Y////5f///1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///43///////////////////+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///7L///////////////////+M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///63/////", + "//////////////////////////////+o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv///9T////V////T////wD///8A////AP///wD///9U", + "////2P///+X///9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I////////////////////of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////m////////////////////0////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////+4////Xv/////////////////////////////////////////////////////////k////Nv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0j///////////////////+h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+b////////////////////T////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////r/////////////////////", + "////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8T////Vv///5D////K////////////////////6P///8H///+a////bf///xn///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///27///////////////////+G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////gP///////////////////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////0z///+C////qv///9L////0////3P///7T///+M", + "////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////2P////////////////////j///+3////av///yT///8I", + "////AP///wD///8A////Hv///0n///91////p/////z///////////////////+s////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////l////////////////", + "////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df///////////////////9n///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf///8L/////////////////////////////////////", + "////w////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N////9D/////////////////////////////////////////////////////////////////////", + "/////////0z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9f////1f///+X///9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////9b////AP///1T////z/////////////////////////////////////////8L///8X", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP///77/////////////////////////////////////////8P///07///8A////Vf///////////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////q////////////////////0P///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///z////////////////////+v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M", + "////pv////v////////////////////////////////////////////////////V////TP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hf////////////////////////////////////////////////////////////////////////+E////AP///wD///8A////hP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///5X/////////9P///4X///88////iP////j/////////hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h/////////////////////////1f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L////t", + "/////////////////////////////////////////////////////////9D///+L////////////////////lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///07////T////////////////////////////////////////////////////5////3H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///0v////////////////////+////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8u/////v///////////////////0v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////4v//////////", + "///////////////g////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2L////H////7v///7X///9R////AP///wD///8A////AP///wD///9i", + "/////////+b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b/////////qf///wD///8A////AP///6r/////////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8p////uv/////////////////////////////////////////////////////////N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////S/////////////////////7///8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7////+////////////////////S////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///w7////i/////////////////////////+D///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////S/////////////////////7///8u////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7////+////////////////////S////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////4v/////////////////////////g////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vv//////////////9f///4f///8L////AP///wD///8A////N////8X//////////f///z////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9i////x////+7///+1////Uf///wD///8A////AP///wD///8A////Yv/////////m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////S/////////////////////7///8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8u/////v///////////////////0v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Dv///+L/////////////////////////4P///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9i////x////+7///+1", + "////Uf///wD///8A////AP///wD///8A////Yv/////////m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0v////////////////////+////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8u/////v///////////////////0v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////4v/////////////////////////g////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////q////////////////////0P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z////////////////////+v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////xP///wD///9U", + "////8//////////////////////////////////////////C////F////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r////////////////////Q////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////P////////////////////6////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////8///////////////6P///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////+T///////////////L///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wf///91////8P////////////////////////////////////L////c////8f///////////////////////////////////+P///9O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cP///////////////////+T///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///97///////////////////9b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9T///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1P///////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////V////7D////R////8v///+7////S////pf///1r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8E////Zf///5z////E////7P////////////////////////////////////////////////////////9M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////////////////////M////wD///8A////E////3b////D////5P////L////C////jf///1f///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E", + "////Vv///4z////C////8v///+T////D////dP///xL///8A////AP///yz///////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////FP////n//////////////+T///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////4P//////////////+v///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L/////", + "//////////P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////T//////////////+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////hf///7X////U////8////+z////N////rv///4j///8z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zv/////////////////////////////////////////////////////////////////////", + "////hP///wD///8A////AP///4T//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////wj///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W/////////6D///8A////AP///wD///+q/////////83///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7X/////", + "///////////////Z////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H", + "////CP///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf///8I////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///0b///+V////xf///9z////y////8f///9L///+z////jv///zb///8A////AP///6f//////////////73///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///03///+k////wv///9/////3////5f///8b///+n////Yf///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////m////////////////////sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H////////////////////m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L/////////////////////////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///wz///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+U//////////j///+K", + "////Pf///4n////4/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9H////gf///6f////M////8f///+7////S////t////4z///88////Av///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+b///////////////////+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf///////////////////+b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uv////////////////////////9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///+b///////////////////+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////sf///////////////////+b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L/////", + "////////////////////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+s////jP///xb///8A////AP///wD///8A////AP///wD///8A", + "////VP///3T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL///8M////C////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+b///////////////////+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H////////////////////m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S/////////////////////////1D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL///8M////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////m////////////////////sf///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H////////////////////m////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1L/////////////////////////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP////n//////////////+T///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////4P//////////////+v///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9D///8A////AP///xP///92////w////+T////y////wv///43///9X////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8U////+f//////////////5P///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////g///////////////6////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD//////////////+T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5P///////////////////9X", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1D///////////////////+S////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT///+K////3////////////////////////////////////////////////////////////////P///5L///8N////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn////o////////////////////fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3H/////", + "///////////////W////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x////////////////////QP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0D///////////////////+w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////rv///////////////////////////////////////////////////////////////////4T///8A////AP///wD///+E//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf///9n/////////8f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////x/////////93///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6//////////q", + "////Pv///wD///8A////AP///wD///8A////AP///0D////q/////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+f/////////XP///wD///8A////AP///wD///8A", + "////TP///7b////u////xv///17///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f////////9l////AP///wD///8A////Zv/////////z////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8r/////P///////////////////2P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf///9n/////////8f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////8f/////////d////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////r", + "/////////+r///8+////AP///wD///8A////AP///wD///8A////QP///+r/////////6////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x3////Z//////////H///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////x/////////93///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////r/////////+r///8+////AP///wD///8A////AP///wD///8A////QP///+r/////////6////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5/////////9c////AP///wD///8A////AP///wD///9M////tv///+7////G////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////2f/////////x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8f/////////d////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////r/////////+r///8+////AP///wD///8A////AP///wD///8A////QP///+r/////////6////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////n/////////1z///8A", + "////AP///wD///8A////AP///0z///+2////7v///8b///9e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Y////yv///0////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////2f/////////x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////x/////////93///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+v/////////6v///z7///8A////AP///wD///8A////AP///wD///9A////6v/////////r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////8f/////////d////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///+L//////////////////////////////9T///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////k////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8S////5v//////////////3v///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wb////Z///////////////m////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8v////f////7D////I", + "////3/////b////x////3P///8b///+Z////U////xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df//////////", + "//////////////+Z////BP///wD///8A////AP///wD///8A////AP///wD///8A////Af///4v/////////////////////////V////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////a////KP///yj///8o", + "////KP///yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yj///8o////KP///yj///8o////2v///////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////d////////////////////+b///9r////N////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N////2v////m////////////////////dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL////4//////////////////////////////////////////////////////////////+u////WP///1j///9Y////rv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///+D//////////////2b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Z///////////////4f///x3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zf////1//////////r///9n////AP///wD///8A////AP///23////7//////////X///83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+5/////////7n///8A////AP///wD///8c////sP//////////////////////////////cP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///0z////U////1v///0////8A////AP///wD///8A////Uv///9f////S////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///9b/////////qf///wD///8A////AP///6r/////////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z////////////////////m////Lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///+D//////////////2b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2f//////////////+H///8d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N/////X/////////+v///2f///8A////AP///wD///8A////bf////v/////////9f///zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9M////1P///9b///9P////AP///wD///8A////AP///1L////X////0v///0f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///x7////g//////////////9m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Z///////////////4f///x3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N/////X/////////+v///2f///8A", + "////AP///wD///8A////bf////v/////////9f///zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0z////U////1v///0////8A////AP///wD///8A////Uv///9f////S", + "////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n/////////uf///wD///8A////AP///xz///+w//////////////////////////////9w////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////4P//////////////Zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2f//////////////+H///8d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N/////X/////////+v///2f///8A////AP///wD///8A////bf////v/////////9f///zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uf////////+5////AP///wD///8A////HP///7D//////////////////////////////3D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////TP///9T////W////T////wD///8A////AP///wD///9S////1////9L///9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////4P//////////", + "////Zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Z///////////////4f///x3///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///83////9f/////////6////Z////wD///8A////AP///wD///9t////+//////////1////N////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0z////U////1v///0////8A////AP///wD///8A////Uv///9f////S////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2f//////////////+H///8d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////k////9b////0////z////4H///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP//////////////5P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0z///////////////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///97////////////////////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////m/////////////////////////7r///8t////A////wD///8A////AP///wD///8B////KP///6r/////////////////////////zv///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf////L", + "//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//////////////////////////////yP///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////e///////////////////////////////////////////////////////////", + "/////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///9X//////////////8n///8B", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////K///////////////U////EP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf////7//////////////3X///8A////AP///3v///////////////3///9P////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////f//////////9////lf///0D///+B////8f////////////////////////////////////X///8U////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////O///////////////W////AP///wD///8A////AP///9j//////////////8v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+U//////////j///+K////Pf///4n////4/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a", + "////9f////////////////////X///9d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///9X/////", + "/////////8n///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////yv//////////////1P///xD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9R/////v//////////////df///wD///8A////e////////////////f///0////8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zv//////////////1v///wD///8A////AP///wD////Y///////////////L////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD////V///////////////J////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////K///////////////U////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9R/////v//////////////df///wD///8A////e////////////////f///0////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////O///////////////W////AP///wD///8A////AP///9j//////////////8v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9/", + "//////////3///+V////QP///4H////x////////////////////////////////////9f///xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q", + "////1f//////////////yf///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////yv//////////", + "////1P///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9R/////v//////////////df///wD///8A////e////////////////f///0////8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3///////////f///5X///9A////gf////H////////////////////////////////////1////FP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87//////////////9b///8A////AP///wD///8A////2P//////////////y////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////1f//////////////yf///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wH////K///////////////U////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1H////+", + "//////////////91////AP///wD///97///////////////9////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////O///////////////W////AP///wD///8A", + "////AP///9j//////////////8v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////yv//////////////1P///xD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////n///////////", + "////+f///yf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g////9v//////////////of///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////HP///8X///////////////////////////////T////D////jv///4j///+9////8P//////////////////////////", + "////r////w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////H////8z/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////////////////////yv///x3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8+////0/////////////////////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////73///////////////////86////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ov///////////////////73///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92", + "////////////////////d////3n///////////////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf////3////////////////////////////////", + "////9P///4b///9A////k/////3/////////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P//////////////2P///wD///8A////AP///wD////a///////////////n", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///+L//////////////////////////////9T///8J////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3j//////////////////////////////5f///8m////Af///wD///8A////AP///wD///8A////BP///1P///+6////pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////73///////////////////86////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zr///////////////////+9////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///3b///////////////////93////ef///////////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D//////////////9j///8A", + "////AP///wD///8A////2v//////////////5////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///+9////////////////////Ov///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ov///////////////////73///8D////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3b///////////////////93////ef///////////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P//////////////2P///wD///8A////AP///wD////a///////////////n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////F/////f////////////////////////////////////0////hv///0D///+T/////f////////98////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////vf///////////////////zr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zr///////////////////+9////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///3b///////////////////93////ef///////////////////3L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8X////9///////////", + "//////////////////////////T///+G////QP///5P////9/////////3z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q///////////////Y////AP///wD///8A", + "////AP///9r//////////////+f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////vf///////////////////zr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ov///////////////////73///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////dv///////////////////3f///95////////////////////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P//////////////2P///wD///8A////AP///wD////a///////////////n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zr///////////////////+9////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////x/////////93///8f////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w/////j//////////////+9////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////sv//////////////5f///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////o////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F", + "////jv/////////////////////////////////////////////////////////////////////////7////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////////////////", + "//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///13////V////x////0X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////S////6v////O////7////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7////87///+r////Sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///9l////mv///77////i/////v//////////////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///43///////////////////+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+y////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///63///////////////////////////////////+o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////dv//////////////////////////////uf///yH///8A////AP///wD///+9/////////7f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///07////U////1f///0////8A////AP///wD///8A////VP///9j////l////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8R////k////9b////0////z////4H///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP////D///////////////////////////////D///++////if///4L///+m////yf///+//////", + "//////////3///8p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///43///////////////////+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv///////////////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf///////////////////////////////////6j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9O////1P///9X///9P////AP///wD///8A////AP///1T////Y////5f///1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+N////////////////////sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+y////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf//////////", + "/////////////////////////6j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///07////U////1f///0////8A////AP///wD///8A////VP///9j////l", + "////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///92//////////////////////////////+5////If///wD///8A////AP///73/////////t////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jf///////////////////7H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv///////////////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf///////////////////////////////////6j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3b//////////////////////////////7n///8h////AP///wD///8A////vf////////+3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv///9T////V////T////wD///8A////AP///wD///9U////2P///+X///9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jf///////////////////7H///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+y////////////////////jP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+t////////////////////////////////////qP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///07////U////1f///0////8A////AP///wD///8A////VP///9j////l////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv///////////////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Z///////////////4f///x3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0z////U////1v///0////8A", + "////AP///wD///8A////Uv///9f////S////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S////7f/////////////////////////////////////////////////////////k////Pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb////v///////////////T////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0v////////////////////+////Lv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////7///////////////////9L", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////4v/////////////////////////g////DP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9i////x////+7///+1////Uf///wD///8A////AP///wD///8A////Yv/////////m////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8g////xv//////////////////////////////////////////////////////////////////////////////pv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0v////////////////////+", + "////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7////+////////////////", + "////S////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7////i/////////////////////////+D///8M////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9L/////////////////////v///y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////7///////////////////9L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7////i/////////////////////////+D///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///2L////H////7v///7X///9R////AP///wD///8A////AP///wD///9i/////////+b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////S///////////", + "//////////7///8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7////+", + "////////////////////S////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7////i/////////////////////////+D///8M////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yv///8f////u////tf///1H///8A////AP///wD///8A////AP///2L/////////5v///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////S/////////////////////7///8u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////7///////////////////9L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Dv///+L/////////////////////////4P///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y7////+////////////////", + "////S////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////K///////////////U////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////O///////////////W////AP///wD///8A////AP///9j//////////////8v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///9G////lf///8X////c////8v////X////d////xf///5P///9B////A////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///82/////////////////////////x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD////m////////////////////sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x////////////////////5v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///1L/////////////////////////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wL///8M////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///+E////+P/////////////////////////////////////////////////////////9////vf///17///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////m////////////////////sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf///////////////////+b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Uv////////////////////////9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5v///////////////////7H///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x////////////////////5v///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uv////////////////////////9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///wz///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+b///////////////////+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf///////////////////+b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Uv////////////////////////9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8C////DP///wv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+b///////////////////+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x////////////////////5v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S/////////////////////////1D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf///////////////////+b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ov///////////////////73///8D", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P//////////////2P///wD///8A////AP///wD////a///////////////n////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv////D///////////////X///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///////////////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz///9T////n////8b////d////9P////H////V////uf///57///9y", + "////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+y////////////////////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////1P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///07////U////1f///0////8A", + "////AP///wD///8A////VP///9j////l////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9f////1f///+X///9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////7///////////////////9L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////yj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+x////////////////", + "////5v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AA==" +}; + +// Texture image block count +const size_t CAF_FIXED_ATLAS_FONT_32_PT_TEXTURE_IMAGE_BLOCK_COUNT = 9862; + + + + + +// Fixed Atlas Font: Droid Sans Regular, standard font size +// Exported by FreeType Font Extractor 0.1 alpha +// -------------------------------------------------------------------------------- + +// Font name +const char CVF_FIXED_ATLAS_FONT_STANDARD_NAME[] = "Droid Sans Regular Standard"; + +// Number of glyphs +const size_t CVF_FIXED_ATLAS_FONT_STANDARD_NUM_GLYPHS = 256; + +// Horizontal bearings X +const short CVF_FIXED_ATLAS_FONT_STANDARD_HORIZONTAL_BEARINGS_X[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -1, -1, 0, 0, 1, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, + 1, -1, 1, 1, 1, 1, 1, 1, 1, 0, -1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, -1, -1, -1, -1, 1, 1, -1, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, -1, 0, 1, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 1, 0, 0, 2, -1, 1, 1, 0, -1, 1, 0, 1, 0, 1, -1, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, -1, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1 +}; + +// Horizontal bearings Y +const short CVF_FIXED_ATLAS_FONT_STANDARD_HORIZONTAL_BEARINGS_Y[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 1, 3, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 5, 6, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, -1, + 9, 6, 8, 6, 8, 6, 8, 6, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 8, 8, 8, 6, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 6, 8, 8, 6, 8, 8, 8, 8, 8, 8, 5, 4, 3, 8, 9, 8, 7, 8, 8, 9, 6, 8, 5, 0, 8, 8, 5, 8, 8, 8, 6, + 11, 11, 11, 12, 10, 10, 8, 8, 11, 11, 11, 10, 11, 11, 11, 10, 8, 12, 11, 11, 11, 12, 10, 6, 9, 11, 11, 11, 10, 11, 8, 8, + 9, 9, 9, 10, 8, 10, 6, 6, 9, 9, 9, 8, 9, 9, 9, 8, 8, 10, 9, 9, 9, 10, 8, 6, 6, 9, 9, 9, 8, 9, 8, 8 +}; + +// Horizontal advances +const cvf::uint CVF_FIXED_ATLAS_FONT_STANDARD_HORIZONTAL_ADVANCES[] = +{ + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 3, 3, 5, 7, 6, 9, 8, 3, 3, 3, 6, 6, 3, 4, 3, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 6, 6, 6, 5, + 10, 7, 7, 7, 8, 6, 5, 8, 8, 3, 3, 7, 5, 10, 8, 9, 6, 9, 7, 6, 5, 8, 7, 9, 6, 7, 7, 3, 4, 3, 6, 5, + 6, 6, 6, 5, 6, 6, 4, 6, 6, 2, 2, 5, 2, 10, 6, 6, 6, 6, 4, 5, 4, 6, 6, 8, 6, 6, 5, 4, 5, 4, 6, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 3, 3, 6, 6, 6, 6, 5, 5, 6, 9, 4, 5, 6, 4, 9, 6, 5, 6, 4, 4, 6, 6, 7, 3, 2, 4, 4, 5, 8, 8, 8, 5, + 7, 7, 7, 7, 7, 7, 9, 7, 6, 6, 6, 6, 3, 3, 3, 3, 8, 8, 9, 9, 9, 9, 9, 6, 9, 8, 8, 8, 8, 7, 6, 6, + 6, 6, 6, 6, 6, 6, 10, 5, 6, 6, 6, 6, 2, 2, 2, 2, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 +}; + +// Character widths +const cvf::uint CVF_FIXED_ATLAS_FONT_STANDARD_CHARACTER_WIDTHS[] = +{ + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 3, 3, 4, 7, 5, 8, 7, 2, 3, 2, 7, 6, 2, 3, 1, 6, 5, 3, 6, 5, 5, 5, 5, 5, 5, 5, 1, 2, 4, 4, 4, 4, + 8, 9, 5, 6, 6, 4, 4, 6, 6, 3, 3, 7, 4, 8, 6, 7, 4, 7, 6, 5, 5, 6, 9, 11, 8, 9, 5, 2, 6, 2, 6, 5, + 2, 5, 5, 4, 5, 5, 4, 6, 5, 3, 3, 5, 1, 9, 5, 5, 5, 5, 3, 5, 3, 5, 7, 9, 5, 7, 5, 3, 1, 3, 4, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 3, 3, 4, 4, 6, 5, 1, 5, 3, 7, 3, 5, 4, 3, 7, 6, 3, 6, 4, 3, 2, 5, 5, 1, 2, 2, 3, 5, 8, 8, 8, 4, + 9, 9, 9, 9, 9, 9, 9, 6, 4, 4, 4, 4, 3, 3, 4, 3, 7, 6, 7, 7, 7, 7, 7, 5, 7, 6, 6, 6, 6, 9, 4, 5, + 5, 5, 5, 5, 5, 5, 9, 4, 5, 5, 5, 5, 2, 2, 4, 3, 5, 5, 5, 5, 5, 5, 5, 7, 5, 5, 5, 5, 5, 7, 5, 7 +}; + +// Character heights +const cvf::uint CVF_FIXED_ATLAS_FONT_STANDARD_CHARACTER_HEIGHTS[] = +{ + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 3, 8, 3, 8, 9, 8, 8, 3, 10, 10, 5, 6, 3, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 8, 5, 3, 5, 8, + 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 10, 8, 8, 8, 8, 8, 8, 10, 8, 8, 8, 8, 8, 8, 8, 8, 8, 10, 8, 10, 5, 1, + 2, 6, 8, 6, 8, 6, 8, 9, 8, 8, 11, 8, 8, 6, 6, 6, 9, 9, 6, 6, 8, 6, 6, 6, 6, 9, 6, 10, 11, 10, 4, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 3, 8, 8, 8, 5, 8, 11, 8, 1, 8, 4, 4, 3, 1, 8, 1, 3, 7, 5, 5, 2, 9, 9, 2, 3, 5, 4, 4, 8, 8, 8, 8, + 11, 11, 11, 12, 10, 10, 8, 11, 11, 11, 11, 10, 11, 11, 11, 10, 8, 12, 11, 11, 11, 12, 10, 5, 10, 11, 11, 11, 10, 11, 8, 8, + 9, 9, 9, 10, 8, 10, 6, 9, 9, 9, 9, 8, 9, 9, 9, 8, 8, 10, 9, 9, 9, 10, 8, 5, 6, 9, 9, 9, 8, 12, 11, 11 +}; + +// Texture image dimensions +const size_t CVF_FIXED_ATLAS_FONT_STANDARD_TEXTURE_IMAGE_WIDTH = 2816; +const size_t CVF_FIXED_ATLAS_FONT_STANDARD_TEXTURE_IMAGE_HEIGHT = 12; + +// Texture image data +const char* CVF_FIXED_ATLAS_FONT_STANDARD_TEXTURE_IMAGE[] = +{ + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///+y////AP///7L///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////G////Av///6b///8l////AP///wD///8A////AP///wD///8A////AP///wD///+8////AP///wD///8A////AP///wD///8A////AP///wD///8L////1v///y3///8A////AP///3/////M////gv///wD///8A////AP///0b////S////3P///9X///9m////qv///43///8A////AP///wD///8A////sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8P////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///7z///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf////A////BP///73///8Z////AP///wD///8A////AP///wD///8A////AP///wD///+2////AP///wD///8A////AP///wD///8A////AP///6z///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///+j////o////AP///wD///8A////AP///wD///8A////AP///wD////N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////c////Bf///wD///8A////AP///wD///8A////AP///wD///8A////Dv///7P////X////tv///xD///8A////AP///wD///8A////AP///wD///8A////AP////T///8A////AP///wD///8A////AP///wD///8A////AP////z////o////5P///+T////k////R////wD///8A////AP///wD///8A////vv///9j////V////tv///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD////0", + "////AP///wD///8A////AP///wD///8A////AP///8X////a////0f///7H///8d////AP///wD///8A////AP///wD///8A////Ev///7D////W////x////yv///8A////AP///wD///8A////AP///wD///8R////5v///w7///8A////AP///wD///8A////AP///wD///8A////AP///0D////N////0////8f///80////AP///wD///8A////AP///wD///8A////UP///8f////O////Zv///wD///8A////AP///wD///8A////AP///wD////N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6z///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////tf///wD///8A////AP///wD///8A////AP///wD////Q////0P///9D////Q////AP///wD///8A////AP///wD///8A////AP///7X///8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////QP///7f///+7////u////7P///8A////AP///wD///8A////AP///xP////k////Bv///wD///8A////AP///wb////l////E////wD///8A//////////D////x////y////y////8A////AP///wD///8A////AP///wD///8A////TP///8b////t////8////9P///8A////AP///wD///8A////AP/////////w////7f///8L///9D////AP///wD///8A////AP///wD///8A//////////D////w////8P///wD///8A////AP///wD///8A", + "////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h////0/////L////r////w////wD///8A////AP///wD///8A/////////wD///8A////AP///wD/////////AP///wD///8A////AP///wD///+a/////////5r///8A////AP///wD///8A////AP///wD///8A////AP///+z////g////Tf///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///0b////P////Cv///wD///8A////AP///wD/////////8P////D///+w////AP///wD///8A////AP///wD///8A////AP////////8A////AP///2r///9P////AP///wD/////////AP///wD///8A/////////wD///8A////AP///2L/////////AP///wD///8A////AP///wD///8A////ZP///9L////u////0f///1v///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf///+9////JP///wD///8A////AP///wD/////////AP///wD///8c////3f///w3///8A////AP///wD///8A////AP///w/////U////8P///9j///9A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8U////p////+v////m////of///xL///8A////AP///wD///8A////AP///wD///8A////AP///zT////z////N////wD///8A////AP///wD///8A////AP///wD///8v", + "////+P///xH///8A////G/////n///8k////AP///wD///8L////0v///x7///8A////AP///zL////c////DP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A/////f////L////w////8P////D///8A////AP///wD///8A////AP///wD/////////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xH////c////Bf///wD///8A////AP///wD///8A////0P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///+5////N////wD///8A////Nf///7v///8A////AP///wD///8A////AP///8D////A////wP///8D////A////AP///wD///8A////AP///wD///8A////If///7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///9j////7P///+3///+O////0v///wD///8A////AP///wD///8A////AP///9j///+b////8v///8////8o////AP///wD///8A////AP///wD///8A////JP///8b////k////v////wD///8A////AP///wD///8A////AP///wD///8p////zf////L///+X////4f///wD///8A////AP///wD///8A////AP///xX///+t////5P///9z///+P////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h////wv///7/////D////Nv///wD///8A////AP///wD///8A////AP////z///8A////AP///wD////8////AP///wD///8A", + "////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD////t////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////Af///7r///9j////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A/////P///wD///8A////AP////z///8A////AP////z///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////HP///7z////x////vv///x////8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M////0f///+7////h////ZP///wD///8A////AP///wD///8A////AP///wD///+j////7f///wD///8A////AP///wD///8A////AP///wD///8A////XP///+f////w////jv///+H///8A////AP///wD///8A////AP///wD///8A////AP///zT////0////KP///wD///8A////AP///wD///8A////AP///wD///8R////+P///xv///8A////HP////j///8O////AP///wD///8A////lf///4D///8A////gP///5P///8A////AP///wD///8A////AP///wD///8k////7////73///8M////AP///wD///8A////AP///wD///8A////AP////7///+4", + "////tP///7T///8Q////AP///wD///8A////AP///wD///8A////AP///2n////V////AP///wD///8A////AP///wD///8A////AP///wD////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9f///+A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wH////m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////s////AP///wD///8A////AP///wD///8A////AP///wD/////////7P///+T////k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////M////7v///+T///9t////AP///wD///8A////AP///wD///8A////wP///wH////E////AP///wD///8A////AP///wD///8A////AP///wD///8A////RP///6L///+Z////of///0P///8A////AP///wD///8A////AP///7L///+P////zP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD///+k////EP///6T///8A////AP///wD///8A////AP///wD///8A////AP///wD///+2////AP///wD///8A////AP///wD///8A////AP///+j////o////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///0T///+i////mf///6H///9D", + "////AP///wD///8A////AP///wD////A////wP///8D////A////wP///8D///8A////AP///wD///8A////AP///4j////E////hf///wD///8A////AP///wD///8A////AP///wD///8A////EP///9D////Q////0P///9D///+5////AP///wD///8A////AP///wD////o////qf///6j///8f////AP///wD///8A////AP///wD///8A////AP///7P///+2////hv///wD///8A////AP///wD///8A////AP///wD///8A////u////yD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pP///wD///+k////AP///wD///8A////AP///wD///8A////zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+W////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////E////AP///wD///8A////AP///wD///8A////AP///wD///8A////dv///6z///94////AP///wD///8A////AP///wD///8A////AP///wD///+k////EP///6T///8Q////AP///wD///8A////AP///wD///8A////AP///w3////D////Bv///wD///8A////AP///8T///8A////AP///wD///8A////Df///8P///8G////AP///+j///+p////qP///x////8A////AP///wD///8N////w////wb///8A////AP///wD////E////AP///wD///8A////AP///2f////e////2////5////8A////AP///wD///8A////AP///wD///8A", + "////E////+T///8G////AP///wD///8A////Bv///+X///8T////AP///wD///8T////5P///wb///8A////AP///wD///8G////5f///xP///8A////AP///xP////k////Bv///wD///8A////AP///wb////l////E////wD///8A////E////+T///8G////AP///wD///8A////Bv///+X///8T////AP///wD///8T////5P///wb///8A////AP///wD///8G////5f///xP///8A////AP///xP////k////Bv///wD///8A////AP///wb////l////E////wD///8A////FP///+T///8G////AP///wD/////////8P////D////w////AP///wD///8A////AP///wD///+W////ef///wD///8A////AP///wD///8A////AP/////////w////8P////D///8A////AP///wD///8A////AP///wD///8A//////////D////w////8P///wD///8A////AP///wD///8A////AP///wD/////////8P////D////w////AP///wD///8A////AP///wD///8A////AP/////////w////8P////D///8A////AP///wD///8A////AP///wD///8A////mv////////+a////AP///wD///8A////AP///wD///8A////AP///wD///+a/////////5r///8A////AP///wD///8A////AP///wD///8A////AP///5r/////////mv///wD///8A////AP///wD///8A////AP///wD///8A////mv////////+a////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D////t////wv///0P///8A////AP///wD///8A////AP////////8A////AP///wD///9i", + "/////////wD///8A////AP///wD///8A////AP///2T////S////7v///9H///9b////AP///wD///8A////AP///wD///8A////ZP///9L////u////0f///1v///8A////AP///wD///8A////AP///wD///9k////0v///+7////R////W////wD///8A////AP///wD///8A////AP///2T////S////7v///9H///9b////AP///wD///8A////AP///wD///8A////ZP///9L////u////0f///1v///8A////AP///wD///8A////AP///2P///8m////AP///yr///9l////AP///wD///8A////AP///wD///8A////A////xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U////p////+v////m////of///xL///8A////AP///wD///8A////AP///xT///+n////6////+b///+h////Ev///wD///8A////AP///wD///8A////FP///6f////r////5v///6H///8S////AP///wD///8A////AP///wD///8U////p////+v////m////of///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///9X////w////gf///wD///8A////AP///wD///8A////AP///2P////s////7f///47////S////AP///wD///8A////AP///wD///8A////Y////+z////t////jv///9L///8A////AP///wD///8A////AP///wD///9j////7P///+3///+O////0v///wD///8A////AP///wD///8A", + "////AP///2P////s////7f///47////S////AP///wD///8A////AP///wD///8A////Y////+z////t////jv///9L///8A////AP///wD///8A////AP///wD///9j////7P///+3///+O////0v///wD///8A////AP///wD///8A////AP///1/////q////7f///5z///8W////rf///+/////y////hP///wD///8A////AP///5b///95////AP///wD///8A////AP///wD///8A////AP///wD///8V////rf///+T////c////j////wD///8A////AP///wD///8A////AP///xX///+t////5P///9z///+P////AP///wD///8A////AP///wD///8A////Ff///63////k////3P///4////8A////AP///wD///8A////AP///wD///8V////rf///+T////c////j////wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lf///8v////w////vv///x7///8A////AP///wD///8A////AP///wD////8////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///xz///+8////8f///77///8f////AP///wD///8A////AP///wD///8A////HP///7z////x////vv///x////8A////AP///wD///8A////AP///wD///8c////vP////H///++", + "////H////wD///8A////AP///wD///8A////AP///xz///+8////8f///77///8f////AP///wD///8A////AP///wD///8A////HP///7z////x////vv///x////8A////AP///wD///8A////AP///wD///8A////AP///wD///+H////AP///wD///8A////AP///wD///8A////AP///2/////R////7P///77///8f////AP///wD///8A////AP///wD///8A////XP///+f////w////jv///+H///8A////AP///wD///8A////AP///wD///9c////5/////D///+O////4f///wD///8A////AP///wD///8A////AP///1z////n////8P///47////h////AP///wD///8A////AP///wD///8A////XP///+f////w////jv///+H///8A////AP///wD///8A////AP///wD///8k////7////73///8M////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////JP///+////+9////DP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////z////wD///8A////AP///wD///8A////AP///wD///8A////AP///9j///8A////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///5T///83////Wv///2////8A////AP///wD///8A////AP///wD////M////2/////X////C////O////wD///8A////AP///wD///8A////AP///wD///88////zf///wX///8A////0f///wD////U////AP///wD///8A////4////zf///8A////FP///+L////R////Af///wD///8A////AP///wD////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2////97////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////e////27///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5f///+d////mP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////Rv///3n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z///9Y////AP///wD///8A////AP///wD///8A////AP///wD///+M////d////wD///98////kv///wD///8A////AP///wD///8A////AP///wD///8A////9P///wD///8A////AP///wD///8A////AP///wD///8A////Wf///7r///8M////AP///wD///8A////AP///wD///8A////AP///wD///8n////AP///wD///9i////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP////T///8A////AP///wD///8A////AP///wD///8A////IP///wD///8A////Yf///7b///8A////AP///wD///8A////AP///wD///+W////cP///wD///9G////wv///wD///8A////AP///wD///8A////AP///wD///+Q////c////wD///8A////AP///wD///8A////AP///wD///8A////3f///y3///8A////OP///9T///8A////AP///wD///8A////AP///wD///8A////AP///wr///++////U////wD///8A////AP///wD///8A////AP///8z///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rv///3n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////n////5////8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I////5////+e////Hv///wD///8A////AP///wD///8A////AP///wD///8A////z////wD///8A////AP///wD///8A////AP///wD///8A////AP///z3///+5////Ef///wD///8A////Df///wD///8A////AP///wD///8A////AP///6H///9S////AP///wD///8A////U////6L///8A////AP///wD/////////AP///wD///9f////yf///wD///8A////AP///wD///8A////AP///03////i////Rf///wb///8A////Gf///wD///8A////AP///wD///8A/////////wD///8h////eP///+r///9A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///9n///8y////Af///wP/////////AP///wD///8A////AP///wD/////////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///zf////g////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8a////2f///yP///8A", + "////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////q////5L///8A////AP////////8A////AP///wD/////////AP///wD///8N////u/////L///8A////AP///wD///8A////AP///1v////R////KP///wH///8o////0f///1D///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vf///3v///8A////AP///wD///8A////AP////////8A////AP///6L///9f////AP///wD///8A////AP///wD///8A////B////xz///8B////Uv///9r///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///6j///+h////Hf///wf///+R////pf///wD///8A////AP///wD///8A////AP///wD///8A////nP///3b///+f////AP///wD///8A////AP///wD///8A////AP///3b///+9////SP///wD///9R////tv///2z///8A////AP///wD///8/////sP///wD///8A////xP///0H///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///+T////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df///3////8A////AP///wD///8A////AP///wD///8A", + "/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///zD///+5////AP///wD///+2////NP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////G////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+3///8x////Av///3L/////////AP///wD///8A////AP///wD///8A/////////2X///8G////g////7b///8A////AP///wD///8A////AP///wD///+3////c////wH///8M////AP///wD///8A////AP///wD///8A////AP///7v///98////Bf///2H/////////AP///wD///8A////AP///wD///8A////qP///43///8J////AP///xj///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///+X///8I////AP///zf////X////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////x////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///9z////qP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD////8////AP///wD///8A/////P///wD///8A/////P///wD///8A////AP////z///8A", + "////AP///wD///8A////AP///wD///+t////gv///w7///+C////sf///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf///8r////AP///x3////w////AP///wD///8A////AP///wD///8A////AP////b///8U////AP///wD///8A////AP///wD///8A////AP///wD////m////U////wL///9y/////////wD///8A////AP///wD///8A////AP///wD///8A////k////4L///+J////AP///wD///8A////AP///wD///8A////AP///0f///+3////bP///wD///9r////tf///0T///8A////AP///wD///8S////3////yv////d////EP///wD///8A////AP///wD///8A////AP///wD///8A////iP///3j///8A////AP///wD///8A////AP///wD///8A////kv///4H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7////w7///8A////AP///wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C/////b///8A////AP///wD///8A////AP///wD///8A////AP///wD///9G////JP///8r///+F////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////BP///9z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x////1f///+X////H////AP///wD///8A////AP///wD///8A", + "////AP///2r///+3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H////G////w////7X///8A////AP///wD///8A////AP///wD///9S////8P/////////w////Uv///wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////yn///8A////FP///+b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zr///+O////Av///wD///8C////kf///zb///8A////AP///wD///8A////h////4/////h////AP///wD///8A////AP///wD///8A////AP///wD///8A////sP///07///+w////Tv///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///86////jv///wL///8A////Av///5H///82////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0////wD///+/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+2////AP///wD///8A////AP///wD///8A////AP///zn///+U////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////N////AP///wD///8A////AP///wD///8A////AP///wD///9V////w////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+k////AP///6T///8A////AP///wD///8A////AP///wD////L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///+4////AP///7n///8A////AP///wD///8A////AP///wD///8A////AP///07///+w////Tv///7D///8A////AP///wD///8A////AP///wD///8A////AP///2D///93////AP///6f///+o////6////0n///8A////AP///wD///8A////YP///3f///8A////Of///5T///8C////AP///wD///8A////AP///wD///9g////d////wD///+n////qP///+v///9J////AP///wD///8A////6v///w////8A////If///wD///8A////AP///wD///8A////AP///wD///8A////of///1L///8A////AP///wD///9T////ov///wD///8A////AP///wD///+h////Uv///wD///8A////AP///1P///+i////AP///wD///8A////AP///6H///9S////AP///wD///8A////U////6L///8A////AP///wD///8A////of///1L///8A////AP///wD///9T////ov///wD///8A////AP///wD///+h////Uv///wD///8A////AP///1P///+i////AP///wD///8A////AP///6H///9S////AP///wD///8A////U////6L///8A", + "////AP///wD///8A////pv///1b///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD////K////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///yH///94////6v///0D///8A////AP///wD///8A/////////wD///8A////Df///7v////y////AP///wD///8A////AP///wD///9b////0f///yj///8B////KP///9H///9Q////AP///wD///8A////AP///1v////R////KP///wH///8o////0f///1D///8A////AP///wD///8A////W////9H///8o////Af///yj////R////UP///wD///8A////AP///wD///9b////0f///yj///8B////KP///9H///9Q////AP///wD///8A////AP///1v////R////KP///wH///8o////0f///1D///8A////AP///wD///8A////KP///87///9T", + "////zv///yT///8A////AP///wD///8A////AP///wD///80////3P///8n////r////0f///1v///8A////AP///wD///8A////AP///6j///+h////Hf///wf///+R////pf///wD///8A////AP///wD///8A////qP///6H///8d////B////5H///+l////AP///wD///8A////AP///wD///+o////of///x3///8H////kf///6X///8A////AP///wD///8A////AP///6j///+h////Hf///wf///+R////pf///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////FP///xL////z////AP///wD///8A////AP///wD///8A////7f///zH///8C////cv////////8A////AP///wD///8A////AP///wD////t////Mf///wL///9y/////////wD///8A////AP///wD///8A////AP///+3///8x////Av///3L/////////AP///wD///8A////AP///wD///8A////7f///zH///8C////cv////////8A////AP///wD///8A////AP///wD////t////Mf///wL///9y/////////wD///8A////AP///wD///8A////AP///+3///8x////Av///3L/////////AP///wD///8A////AP///wD///8A////6////zX///8C////ev////L///+h////Hf///w3///8y////AP///wD///8A////AP///8r///8A////AP///wD///8A////AP///wD///8A////AP///6j///+N////Cf///wD///8Y////AP///wD///8A", + "////AP///wD///8A////qP///43///8J////AP///xj///8A////AP///wD///8A////AP///wD///+o////jf///wn///8A////GP///wD///8A////AP///wD///8A////AP///6j///+N////Cf///wD///8Y////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD////H////VP///wb///93////r////wD///8A////AP///wD///8A////AP////z///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////rf///4L///8O////gv///7H///8A////AP///wD///8A////AP///wD///+t////gv///w7///+C////sf///wD///8A////AP///wD///8A////AP///63///+C////Dv///4L///+x////AP///wD///8A////AP///wD///8A////rf///4L///8O////gv///7H///8A////AP///wD///8A////AP///wD///+t////gv///w7///+C////sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf///+T///8c////gv///7H///8A////AP///wD///8A////AP///wD////m////U////wL///9y/////////wD///8A////AP///wD///8A////AP///+b///9T", + "////Av///3L/////////AP///wD///8A////AP///wD///8A////5v///1P///8C////cv////////8A////AP///wD///8A////AP///wD////m////U////wL///9y/////////wD///8A////AP///wD///8A////AP///wD///8A////iP///3j///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j///94////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9v///wb////2////Bv///wD///8A////AP///wD///8A////AP///wD///+8////yv///+L///+8////8P///7z///+8////AP///wD///8A////AP///x3///8A////vP///zb////k////AP///wD///8A////AP///wD///8A////AP///wD///+M////g////wD////T////AP///9T///8A////AP///wD////p////GP///wD///+H////vP///7r///9X////AP///wD///8A////AP////b///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////uP///z////8A////AP///wD///8A////AP///wD///8A////AP///wD///9A////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Y////tf////b///+1////mv///wL///8A////AP///wD///8A////EP///9D////Q////9////9D///+5////AP///wD///8A////AP///wD///8A////t////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Lv///8X///8A////AP///wD///8A////AP///wD///8A////AP///9n///8e////AP///yP////c////AP///wD///8A////AP///wD///8A////AP///wD////0////AP///wD///8A////AP///wD///8A////AP///wD///8A////U////8H///8P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv////x////AP///wD///8A////AP///wD///8A/////f///+T////k/////v///+T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8S////8v///wD///8A////AP///wD///8A////AP///+H///8M////AP///wH////x////AP///wD///8A////AP///wD///8A////AP///x/////d////A////wD///8A////AP///wD///8A////AP///wD////w////Ef///wD///8K////7f///wD///8A////AP///wD///8A////AP///wD///8A////AP///z////+8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////t////wD///8A////AP///wD///8A////AP///wD///8A////AP///+P///9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P///9D////Q////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///1H////j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uf///x7///9k////0f///5L///+e////w////0H///8A////AP///wD///8A////N/////j////w////8P////D////4////Of///wD///8A////AP////////8A////AP///wn////1////AP///wD///8A////AP///wD///8A////xf///1D///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////hf///77///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////I////R////wD///8A////AP////////8A////AP///wD///8A////AP////////8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP////////8A////A////7////9M////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///zP///94////c////x////8A/////////wD///8A////AP////////8A////AP///4j///9C/////P///wD///8A////AP///wD///8A////yv///0H///8A////AP///wD///9C////wv///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k////0v////T////9", + "////Yv///wD///8A////AP///wD///8A/////////wD///8y////x////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8X////8////wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////7////yP///8A////AP///xH////v////AP///wD///8A////AP///wD///8A////AP///w/////W////Av///9f///8Q////AP///wD///8A////AP///wD///8A////vP///2H///+A////AP///4b///9V////tP///wD///8A////AP///wD///+Q////Uf///1z///+X////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///w7////b////If///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP////Z////F////wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6H///9B////OP///6v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uP///1v///8I////Bf////7///8A////AP///wD///8A////AP///wD/////////CP///wD///8b////7f///wD///8A////AP///wD///8A", + "////AP///+////8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////8f///xf///8A////B/////7///8A////AP///wD///8A////AP///wD////t////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////x////xv///8A////C////+z///8A////AP///wD///8A////AP///wD////8////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD////+////ev///9n///8P////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP////z///8A////AP///wD////8////AP///wD////8////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///+3///8Z////AP///xr////t////AP///wD///8A////AP///wD///8A////+////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8t////r////67///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP////z///8C////AP///wr/////////AP///wD///8A////AP///wD///8A////AP///wb////Y////Cv///9j///8E////AP///wD///8A////AP///wD///8A////fv///1j///+3////AP///7T///9X////fP///wD///8A////AP///wD///9n////7P///2P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////1////wD///8A////AP///wD///8A////AP///wD///8I////0P///zv///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///4X////K////Iv///0j///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8G////0f///wD///8A////AP///wD///8A////AP///wD///8A////AP///8H///9v////AP///wj///8A////AP///wD///8A////AP///wD///8A////Cf////n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////y////wr///8F////tv///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///0////+8////i////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////nP///wf///9h////yP///73///8I////nf///wD///8A////AP///wD///8A////AP///73///8A////AP///wD///8A////AP///wD///8A////AP///wD///+u////Tv///67///9O////AP///wD///8A////AP///wD///8A////0P///9D////Q////9////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5z///8H////3P///zL////G////C////53///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+E////w////4H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////AP///0n///+H////AP///wD///8A////AP///wD///8A////AP///wD///8A////o////5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6T///8A////pP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nf///5r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7r///8A", + "////uf///wD///8A////AP///wD///8A////AP///wD///8A////Tv///67///9O////rv///wD///8A////AP///wD///8A////AP///wD///8A////Af///7z///8Z////lf///xj////E////AP///wD///8A////AP///wD///8B////vP///xn///8A////Sf///4f///8A////AP///wD///8A////AP///wH///+8////Gf///5X///8Y////xP///wD///8A////AP///wD////N////Of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///83////+P////D////w////8P////j///85////AP///wD///8A////AP///zf////4////8P////D////w////+P///zn///8A////AP///wD///8A////N/////j////w////8P////D////4////Of///wD///8A////AP///wD///83////+P////D////w////8P////j///85////AP///wD///8A////AP///zf////4////8P////D////w////+P///zn///8A////AP///wD///8A////N/////j////w////8P////D////4////Of///wD///8A////AP///wD///9A////+P////D////w/////////wD///8A////AP///wD///8A////AP///wD///8A////nf///5r///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///+F////vv///wD///8A////AP///wD/////////AP///wD///+I////Qv////z///8A////AP///wD///8A////AP///8r///9B////AP///wD///8A////Qv///8L///8A////AP///wD///8A////yv///0H///8A////AP///wD///9C////wv///wD///8A////AP///wD////K////Qf///wD///8A////AP///0L////C////AP///wD///8A////AP///8r///9B////AP///wD///8A////Qv///8L///8A////AP///wD///8A////yv///0H///8A////AP///wD///9C////wv///wD///8A////AP///wD///8A////UP////////9P////AP///wD///8A////AP///wD///8A////AP///1X////7////df///wD///8o////0f///1D///8A////AP///wD///8A////7////yP///8A////AP///xH////v////AP///wD///8A////AP///wD////v////I////wD///8A////Ef///+////8A////AP///wD///8A////AP///+////8j////AP///wD///8R////7////wD///8A////AP///wD///8A////7////yP///8A////AP///xH////v////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////wD///8A////AP///wD///8A////AP/////////w////0f///zP///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////ev///7r///8A////AP///wD///8A////AP///wD///+4////W////wj///8F/////v///wD///8A////AP///wD///8A////AP///7j///9b////CP///wX////+////AP///wD///8A////AP///wD///8A////uP///1v///8I////Bf////7///8A////AP///wD///8A////AP///wD///+4////W////wj///8F/////v///wD///8A////AP///wD///8A////AP///7j///9b////CP///wX////+////AP///wD///8A////AP///wD///8A////uP///1v///8I////Bf////7///8A////AP///wD///8A////AP///wD///+5////Qf///wD///8J/////////yb///8A////AP///wD///8A////AP///wD///+d////mv///wD///8A////AP///wD///8A////AP///wD///8A////7f///yT///8A////AP///wD///8A////AP///wD///8A////AP///wD////t////JP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+3///8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////7f///yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP////X///8E////AP///xD////s////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP////z///8A////AP///wD///8A////AP///wD////t////Gf///wD///8a////7f///wD///8A////AP///wD///8A////AP///+3///8Z////AP///xr////t////AP///wD///8A////AP///wD///8A////7f///xn///8A////Gv///+3///8A////AP///wD///8A////AP///wD////t////Gf///wD///8a////7f///wD///8A////AP///wD///8A////AP///+3///8Z////AP///xr////t////AP///wD///8A////AP///wD///8A////Fv///9D////Q////0P///9D////Q////Fv///wD///8A////AP///wD////t////Tv///6b///8a////7f///wD///8A////AP///wD///8A////AP////z///8C////AP///wr/////////AP///wD///8A////AP///wD///8A/////P///wL///8A////Cv////////8A////AP///wD///8A////AP///wD////8////Av///wD///8K/////////wD///8A////AP///wD///8A////AP////z///8C////AP///wr/////////AP///wD///8A////AP///wD///8A////AP///wD///8a////1////wD///8A////AP///wD///8A////AP///wD////7////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv///9f///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////73///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8Y////sP///wD////I////AP///wD///8A////AP///wD///8A////AP///wD////D////ZP///87///8A////AP///wD///8A////AP///wD///8A////AP///wf////R////Nf///4X////N////fP///wD///8A////AP///1b////L////jv///8////8N////KP///9X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////l////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///xr////k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1H///8V////t////xT///9S////AP///wD///8A////AP///wD///8A////AP///wD////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP///zP///8A////AP///wD///8A////AP///wD///8A////9P///wf///8A////Cf////X///8A////AP///wD///8A////AP///wD///8A////AP////T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////U////8T///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP///77///8A////AP///wD///8A////AP///wD///+h////R////wD////0", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////37////J////AP///wD///8A////AP///wD///8A////+////0j///8A////MP///9T///8A////AP///wD///8A////AP///wD///8A////AP///6b///9X////AP///wD///8A////AP///wD///8A////AP///5D///+d////Gv///67///+B////AP///wD///8A////AP///wD///8A////P////83////G////lP///+z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP///5L///+e////Iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP///+e////kf///xT///8A////AP///wD///8A////AP///wD///8A////AP///+v///8Q////AP///wD///8A////AP///wD///8A////AP///wD////L////AP///+D///8O////FP////j///8K////t////wD///8A////AP///wD///8A////yv///x7///8A////Gv///8z///8A////AP///wD///8A/////////wD///8B////Xv///8b///8A////AP///wD///8A////AP///wD////v////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8v////6f///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+////8O////AP////D////w/////////wD///8A////AP///wD///8A/////////wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A/////////0L///+E////g////wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////kf///xf///8V////ff///wD/////////AP///wD///8A/////////wD///8j////qP///wD/////////AP///wD///8A////AP///wD////w////Dv///wD///8A////AP///w7////t////AP///wD///8A////AP/////////w////0f///zP///8A////AP///wD///8A////AP///wD///8A////W////9H///8o////Af///yj////R////V////wD///8A////AP///wD/////////8P////v///+3////E////wD///8A////AP///wD///8A////AP///wD///8A////Q////9T///+N////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////bP///4P///8A////g////27///8A////AP///wD///8A////AP///wr////k", + "////Cf///7H///8A////sP///wT////g////B////wD///8A////AP///wn///+9////xf///wz///8A////AP///wD///8A////AP///wD///8A////AP///0r/////////Q////wD///8A////AP///wD///8A////AP///1T///+2////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf///6P///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv///77///+2////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8o////l////9j////u/////////wD///8A////AP///wD///8A////AP////////8H////AP///xn////v////AP///wD///8A////AP///wD///8A////7f///xr///8A////AP///wD///8A////AP///wD///8A////AP///wD////w////Gf///wD///8I/////////wD///8A////AP///wD///8A////AP///+v////w////8P////D////s////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8P////yv///+D////q////g////wD///8A////AP///wD///8A////AP////////8I////AP///wL////8////AP///wD///8A", + "////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///+7///+3////f////wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////CP///wD///8D/////////wf///8A////Av////z///8A////AP////////8I////AP///wL////8////AP///wD///8A////AP///wD///8A////7////xf///8A////Gf///+3///8A////AP///wD///8A////AP///wD////1////m/////L////P////KP///wD///8A////AP///wD///8A////AP///yn////O////8v///5T////2////AP///wD///8A////AP///wD///8A/////////wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP///87///9W////Av///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////Uv///5v///8A////ov///0z///8A////AP///wD///8A////AP///wD///+2////KP///63///8j////sv///yT///+0////AP///wD///8A////AP///1T////4////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yn////8////N////wD///8A////AP///wD///8A////AP///wD///8u", + "////1////w7///8A////AP///wD///8A////AP///wD///8A////AP////v///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////l////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn////H////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v///xf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////J////C////wb////E////AP///wD///8A////AP///wD///8A////Uv////D/////////8P///1L///8A////AP///wD///8A////AP///wD////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0////d////x/////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+a////AP///9n///8G////AP///wD///+c////AP///wD///8A////AP///4T///+X////i////wD///8A////AP///wD///8A////AP///wD///8A////AP///w////+k////D////6T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mv///wD////w////2P///0z///8A", + "////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///9D////Q////9////9D///+5////AP///wD///8A////AP///wD///8E////AP///8b///8A////AP///wD///8A////AP///wD///8A////AP///wH///8N////w////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////7////0////+3///+Z////6P///wD///8A////AP///wD///8A////AP///wD///8B////pP///wD///+k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3b////D////AP///wD///8A////AP///wD///8A////AP///wD///8A////ev///6n///90////AP///wD///8A////AP///wD///8A////AP///wD///+k////D////6T///8P////AP///wD///8A////AP///wD///8A////AP///wD////E////N////6D///8R////g////8P///8A////AP///wD///8A////AP///8T///83////oP///wT///8A////xv///wD///8A////AP///wD///+z////tv///77///+g////Ef///4P////D////AP///wD///8A////AP///x3////I////Xf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD////K////Hv///wD///8a////zP///wD///8A////AP///wD///8A////AP///8r///8e////AP///xr////M////AP///wD///8A////AP///wD///8A////yv///x7///8A////Gv///8z///8A////AP///wD///8A////AP///wD////K////Hv///wD///8a////zP///wD///8A////AP///wD///8A////AP///8r///8e////AP///xr////M////AP///wD///8A////AP///wD///8A////yv///x7///8A////Gv///8z///8A////AP///wD///8A////AP///wD////W////H////wD/////////AP///wD///8A////AP///wD///8A////TP///8b////t////8////9P///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///y/////p////AP///wD///8A////AP////////8A////I////6j///8A", + "/////////wD///8A////AP///wD///8A////8P///w7///8A////AP///wD///8O////7f///wD///8A////AP///wD////w////Dv///wD///8A////AP///w7////t////AP///wD///8A////AP////D///8O////AP///wD///8A////Dv///+3///8A////AP///wD///8A////8P///w7///8A////AP///wD///8O////7f///wD///8A////AP///wD////w////Dv///wD///8A////AP///w7////t////AP///wD///8A////AP///yr////O////T////87///8p////AP///wD///8A////AP///wD///8A////yP///1j////c////G////wD///9C////wv///wD///8A////AP///wD/////////AP///wD///8A////AP////////8A////AP///wD///8A////AP////////8A////AP///wD///8A/////////wD///8A////AP///wD///8A/////////wD///8A////AP///wD/////////AP///wD///8A////AP///wD/////////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///0r/////////Q////wD///8A////AP///wD///8A/////////wD///9R////yv///wD///8A////AP///wD///8A////AP///wD////8////AP///6T///+o////Dv///wD///8A////AP///wD///8A////AP///yj///+X////2P///+7/////////AP///wD///8A////AP///wD///8A////KP///5f////Y////7v////////8A////AP///wD///8A////AP///wD///8o////l////9j////u/////////wD///8A////AP///wD///8A", + "////AP///yj///+X////2P///+7/////////AP///wD///8A////AP///wD///8A////KP///5f////Y////7v////////8A////AP///wD///8A////AP///wD///8o////l////9j////u/////////wD///8A////AP///wD///8A////AP///yn///+X////xP///87/////////8P////D////w////7P///wD///8A////JP///8b////k////v////wD///8A////AP///wD///8A////AP///wD////r////8P////D////w////7P///wD///8A////AP///wD///8A////AP///+v////w////8P////D////s////AP///wD///8A////AP///wD///8A////6/////D////w////8P///+z///8A////AP///wD///8A////AP///wD////r////8P////D////w////7P///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////z////1P///8A////Uv////L///8A////AP///wD///8A////AP///wD/////////CP///wD///8C/////P///wD///8A////AP///wD///8A////AP///+////8X////AP///xn////t////AP///wD///8A////AP///wD///8A////7////xf///8A////Gf///+3///8A////AP///wD///8A////AP///wD////v////F////wD///8Z", + "////7f///wD///8A////AP///wD///8A////AP///+////8X////AP///xn////t////AP///wD///8A////AP///wD///8A////7////xf///8A////Gf///+3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+////8X////oP///17////t////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP////z///8A////AP///wD///8A////AP///wD////8////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP////z///8A////AP///wD////8////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///yn////8////N////wD///8A////AP///wD///8A////AP////X///+b////8v///8////8o////AP///wD///8A////AP///wD///8A////AP///wD///8p/////P///zf///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////I////AP///7P///8U////AP///wD///8A////AP///wD///8b////mP////L///+Q////F////wD///8A////AP///wD///8A////AP///3/////N////gf///zP////S////CP///wD///8A////AP///wD///8A////AP///2v////1////qv///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////n///8J////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Cf////j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9T////oP///wD///8A////AP///wD///8A////AP///wD////3////B////wD///8J////9P///wD///8A////AP///wD///8A////AP///wD///8A////9P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////e////5D///8A////AP///wD///8A////AP///wD///8A////1P///+n////K////F////wD///8A////AP///wD///8A////AP///xr////D////Af////T///8A////AP///wD///8A////AP///wD///8A////2P///9D////o////uv///yb///8A////AP///wD///8A////AP///wD////w////jv///8T////N////Pf///wD///8A////AP///wD///8A////AP///wD///8A////Mf///8j///8A////AP///wD///8A////AP///wD///8A////HP///+f////X////0////xH///8A////AP///wD///8A////AP///wD////W////L////wD///9D////+f///wD///8A////AP///wD///8A////AP///83///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yr///+y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sv///yn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Xv///8j///8e////AP///wD///8A////AP///wD///8A////AP///8n///8A////2v///wD///8A////1f///wP////G////AP///wD///8A////AP///wD///9j////fv///wD///97////Z////wD///8A////AP///wD/////////8P////f////g////KP///wD///8A////AP///wD///8A////AP///+z///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///xD////u////AP///wD///8A////AP///wD/////////8P////D////w////AP///wD///8A////AP///wD///8A////AP/////////w////8P////D///8A////AP///wD///8A////AP///wD///8A////7f///xH///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P////D////w////8P////////8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD/////////V////+X///8H////AP///wD///8A", + "////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wr///+e////AP///wD///+N////BP////////8A////AP///wD/////////AP///6j///8j////AP////////8A////AP///wD///8A////AP////D///8O////AP///wD///8A////Dv///+3///8A////AP///wD///8A/////////wD///9R////yv///wD///8A////AP///wD///8A////AP///wD////K////Qf///wD///8A////AP///0L////F////AP///wD///8A////AP////////8A////Av///2z///+6////AP///wD///8A////AP///wD///8A////AP///33////d////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD////S////I////wD///8j////1P///wD///8A////AP///wD///8A////Sf///63///8A////uf///wL///+y////AP///63///9E////AP///wD///8A////AP///6z///+t////AP///wD///8A////AP///wD///8A////AP///wD///8O////3P///1X////Y////DP///wD///8A////AP///wD///8A////AP///7T///9V////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///++////NP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iv///5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT///8c////AP///yD////o////AP///wD///8A////AP///wD///8A/////////2P///8G////gv///7b///8A////AP///wD///8A////AP///wD///+1////ev///wP///8H////AP///wD///8A////AP///wD///8A////AP///7n///+D////B////2n/////////AP///wD///8A////AP///wD///8A////p////2H///8D////N////83///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U////BP///wD///8A////AP///wD///8A////AP///wD///8A/////////3T///8D////Vf///8f///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////+v///w3////K////Rv///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////90////A////1j////9////bP///wL///9X////x////wD///8A/////////3T///8D////Vf///8f///8A", + "////AP///wD///8A////AP///wD///+y////f////w7///+D////rP///wD///8A////AP///wD///8A////AP////////9l////Bv///4P///+2////AP///wD///8A////AP///wD///8A////u////3z///8F////Yf////////8A////AP///wD///8A////AP///wD////8////YP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////z////Hf///wX///8j////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///+x////Rf///wD///9J////rf///wD///8A////AP///wD///8A////AP///+j///8F////W////6f///9o////A////+T///8A////AP///wD///8N////2////z3////Z////DP///wD///8A////AP///wD///8A////AP///wD///8A////i////6D///+W////AP///wD///8A////AP///wD///8A////AP///wD///9x////pP///wD///8A////AP///wD///8A////AP///wD///8p////0f///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0H////i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C////73///8A////AP///wD///8A////AP///wD///8A////AP///wD////x////Gv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8D/////////xP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7P////I////xP///6z///8A////AP///wD///8A////AP///wD///8A////kP///7r///+N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+b///8L////TP///9f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r///8A////2v///wf///8A////AP///5v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+a////AP///+H///9I////xf///wD///+b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q////AP///wD///8A////AP///wD///8A////AP///5L///+u////lf///wD///8A////AP///wD///8A////AP///wD///8A////mf///6z///+j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP////////9T////Av///3L/////////AP///wD///8A////AP///wD///8A////ff////r///+k////AP///6T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////U////8D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8T///8A////oP///zf///9L////wv///wD///8A////AP///wD///8A////xP///wD///+g////yf///67///+V////AP///wD///8A////AP///wD///8A////zf///6D///83////S////8L///8A////AP///wD///8A////AP///xH////r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P///9+////AP///3v///9n////AP///wD///8A////AP///wD///8A////Y////37///8A////e////2f///8A////AP///wD///8A////AP///wD///9j////fv///wD///97////Z////wD///8A////AP///wD///8A////AP///2P///9+////AP///3v///9n////AP///wD///8A////AP///wD///8A////Y////37///8A////e////2f///8A////AP///wD///8A////AP///wD///9j////fv///wD///97////Z////wD///8A", + "////AP///wD///8A////AP///3P///+A////AP/////////w////8P////D///8A////AP///03////i////Rf///wb///8A////Gf///wD///8A////AP///wD///8A//////////D////w////8P///wD///8A////AP///wD///8A////AP///wD/////////8P////D////w////AP///wD///8A////AP///wD///8A////AP/////////w////8P////D///8A////AP///wD///8A////AP///wD///8A//////////D////w////8P///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP////D/////////8P////D///8A////EP///+7///8A////AP///wD///8A/////////wD///+o////I////wD/////////AP///wD///8A////AP///wD////w////Dv///wD///8A////AP///w7////t////AP///wD///8A////AP////D///8O////AP///wD///8A////Dv///+3///8A////AP///wD///8A////8P///w7///8A////AP///wD///8O////7f///wD///8A////AP///wD////w////Dv///wD///8A////AP///w7////t////AP///wD///8A////AP////D///8O////AP///wD///8A////Dv///+3///8A////AP///wD///8A////Zf///yb///8A", + "////Jv///2X///8A////AP///wD///8A////AP///wD////u////Df///1j///+4////AP///w7////t////AP///wD///8A////AP////////8A////AP///wD///8A/////////wD///8A////AP///wD///8A/////////wD///8A////AP///wD/////////AP///wD///8A////AP///wD/////////AP///wD///8A////AP////////8A////AP///wD///8A////AP////////8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8O////3P///1X////Y////DP///wD///8A////AP///wD/////////AP///wz////3////AP///wD///8A////AP///wD///8A////AP////z///8A////7P///wz///8A////AP///wD///8A////AP///wD///8A////JP///xz///8A////IP///+j///8A////AP///wD///8A////AP///wD///8k////HP///wD///8g////6P///wD///8A////AP///wD///8A////AP///yT///8c////AP///yD////o////AP///wD///8A////AP///wD///8A////JP///xz///8A////IP///+j///8A////AP///wD///8A////AP///wD///8k////HP///wD///8g////6P///wD///8A////AP///wD///8A////AP///yT///8c////AP///yD////o////AP///wD///8A////AP///wD///8A////Mv///xH///8A////Jv////7///9h////A////zf////M////AP///wD///+3////c////wH///8M////AP///wD///8A////AP///wD///8A////AP///6f///9h////A////zf////N////AP///wD///8A", + "////AP///wD///8A////p////2H///8D////N////83///8A////AP///wD///8A////AP///wD///+n////Yf///wP///83////zf///wD///8A////AP///wD///8A////AP///6f///9h////A////zf////N////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///81////0P///+3////G////xP///wD///8A////AP///wD///8A////AP////////90////A////1X////H////AP///wD///8A////AP///wD///8A////sv///3////8O////g////6z///8A////AP///wD///8A////AP///wD///+y////f////w7///+D////rP///wD///8A////AP///wD///8A////AP///7L///9/////Dv///4P///+s////AP///wD///8A////AP///wD///8A////sv///3////8O////g////6z///8A////AP///wD///8A////AP///wD///+y////f////w7///+D////rP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4f///8A////AP///wD///8A////AP///wD///8A////sv///3////8Y////5P///6z///8A////AP///wD///8A////AP///wD////8////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP////z///8A", + "////AP///wD////8////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP////z///8A////AP///wD///8A////AP///wD////8////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////i////6D///+W////AP///wD///8A////AP///wD///8A/////////2X///8G////g////7b///8A////AP///wD///8A////AP///wD///8A////AP///4v///+g////lv///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+8////vP////D///+8////4////8n///+8////AP///wD///8A////AP///9H///9e////vP///wD///8A////AP///wD///8A////AP///wD///8A////0f///wD////U////AP///4D///+N////AP///wD///8A////AP///wD///8A////3f///zH///9g////tv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////9////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wP////a////Ff///wD///8A////AP///wD///8A////AP///+D///8e////AP///yP////Y////AP///wD///8A////AP///wD///8A////AP///wD////0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////7f///wD///8A////AP///wD///8A////AP///wD///8A////EP///3X///+1////AP///wD///8A////AP///wD///8A////AP///33///9a////8v///wD///8A////AP///wD///8A////AP///wD////k////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///7////8/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vP///zv///8A////AP///wD///8A////AP///wD////K////RP///wD///9I////xP///wD///8A////AP///wD///8A////AP////H///8B////AP///wj////d////AP///wD///8A////AP///wD///8A////zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Of///8z///8A////AP///wD///8A////AP///wD///8A", + "////wv///wL///+9////Lv///wD////F////EP///8X///8A////AP///wD///8A////AP///wn////N////A////8////8M////AP///wD///8A////AP////////8A////BP///0n////J////AP///wD///8A////AP///wD///8A////vf///1X///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////Sv///8P///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////A////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP////////8A////X////67///8G////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////X////0j///8A////AP///z////9T/////////wD///8A////AP////n///9D////iP///wD///8A/////////wD///8A////AP///wD///8A////yv///0L///8A////AP///wD///9C////wv///wD///8A////AP///wD/////////AP///wz////3////AP///wD///8A////AP///wD///8A////AP////D///8O////AP///wD///8A", + "////Dv////H///8A////AP///wD///8A/////////wD///8A////C////+////8A////AP///wD///8A////AP///wD///8A////7v///x3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////PP///8H///8A////AP///wD////C////Pf///wD///8A////AP///wD///+Q////bv///wD///+T////T////4z///8A////bv///4z///8A////AP///wD///9m////jf///37///9m////AP///wD///8A////AP///wD///8A////AP///5v///98////AP///3v///+W////AP///wD///8A////AP///wD///8A////H////9r///8O////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lf///8b///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yv///9n////v////3v///1j///8A////AP///wD///8A////AP///wD////5////mP////D////N////J////wD///8A////AP///wD///8A", + "////AP///yL///+/////4////7////8A////AP///wD///8A////AP///wD///8A////J////8r////w////lv////b///8A////AP///wD///8A////AP///wD///8X////tv///+3////N////M////wD///8A////AP///wD///8A////AP///5H////+////tP///wD///8A////AP///wD///8A////AP///wD///8A////ZP////7////q////X////wD///8A////AP///wD///8A////AP///wD////5////jf///+7////K////Sv///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///xn////T////Mv///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f///37////t////2////0n///+R////7v///8r///9K////AP///wD////l////jf///+7////K////Sv///wD///8A////AP///wD///8A////AP///x////++////8P///7v///8c////AP///wD///8A////AP///wD///8A/////////wj///8A////G////+3///8A////AP///wD///8A////AP///wD////x////F////wD///8H/////v///wD///8A////AP///wD///8A////AP///9n///+G////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///3L////o////7f///5v///8A////AP///wD///8A////AP///wD///+b/////v///6v///8A", + "////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////Ff///+X///8D////AP///wT////l////Ff///wD///8A////AP///wD///8k////2////wD///8O////9f///xn///8A////1P///yT///8A////AP///5H///+E////AP///4X///+P////AP///wD///8A////AP///wD///8A////AP///wT////f////F////+H///8G////AP///wD///8A////AP///wD///+S////tP///7X////9////AP///wD///8A////AP///wD///8A////AP///+T///83////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf///zT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7////92////Av///wT///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr////h////Ff///+D///8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv///+j///+c////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////m////wf///9f////yP///6r///8I////m////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5v///8H////9v///73///9w////CP///5v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////f///wL///8A////Cv////////8A////AP///wD///8A////AP///wD////m/////////6T///8A////pP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP///wD///8Z////vP///wH///8A////AP///wD///8A////AP///wD////E////AP///xn///+8////Af///wD///8A////AP///wD///8A////AP///6P///+c////Gf///7z///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///83///8D////z////wz///8A////AP///wD///8A////AP///wD///8J////zf///wP////P////DP///wD///8A////AP///wD///8A////AP///wn////N////A////8////8M////AP///wD///8A////AP///wD///8A////Cf///83///8D////z////wz///8A////AP///wD///8A////AP///wD///8J////zf///wP////P////DP///wD///8A////AP///wD///8A////AP///wn////N////A////8////8M////AP///wD///8A////AP///wD///8A////E////9r///8C/////////wD///8A////AP///wD///8A////xf///1D///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///9K////w////wD///8A////AP///wD////5////Q////4j///8A////AP////////8A////AP///wD///8A////AP///8r///9C////AP///wD///8A////Qv///8L///8A////AP///wD///8A////yv///0L///8A////AP///wD///9C////wv///wD///8A////AP///wD////K////Qv///wD///8A////AP///0L////C////AP///wD///8A////AP///8r///9C////AP///wD///8A////Qv///8L///8A////AP///wD///8A////yv///0L///8A////AP///wD///9C////wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////D///8O////AP///6v///9l////Hv///+z///8A////AP///wD///8A/////////wD///8A////AP///wD/////////AP///wD///8A////AP///wD/////////AP///wD///8A////AP////////8A////AP///wD///8A////AP////////8A////AP///wD///8A/////////wD///8A////AP///wD///8A/////////wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A", + "////AP///5v///98////AP///3v///+W////AP///wD///8A////AP////////8B////Y////9n///8A////AP///wD///8A////AP///wD///8A/////P///wD///9v////qf///wD///8A////AP///wD///8A////AP///wD///9i////2f///+/////e////WP///wD///8A////AP///wD///8A////AP///2L////Z////7////97///9Y////AP///wD///8A////AP///wD///8A////Yv///9n////v////3v///1j///8A////AP///wD///8A////AP///wD///9i////2f///+/////e////WP///wD///8A////AP///wD///8A////AP///2L////Z////7////97///9Y////AP///wD///8A////AP///wD///8A////Yv///9n////v////3v///1j///8A////AP///wD///8A////AP///wD///+P////4P///+v////M////SP///7L////s////zP///zH///8A////AP///+////8Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////F////7b////t////zf///zP///8A////AP///wD///8A////AP///wD///8X////tv///+3////N////M////wD///8A////AP///wD///8A////AP///xf///+2////7f///83///8z////AP///wD///8A////AP///wD///8A////F////7b////t////zf///zP///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5v///9W////AP///wD///8A////AP///wD///8A////5f///43////u////yv///0r///8A////AP///wD///8A////AP///wD///8f////vv////D///+7////HP///wD///8A////AP///wD///8A////AP///x////++////8P///7v///8c////AP///wD///8A////AP///wD///8A////H////77////w////u////xz///8A////AP///wD///8A////AP///wD///8f////vv////D///+7////HP///wD///8A////AP///wD///8A////AP///x////++////8P///7v///8c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8f////vv///+/////V////c////wD///8A////AP///wD///8A////AP////z///8A////AP///wD////8////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP////z///8A////AP///wD///8A////AP///wD////8////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP////z///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wT////f////F////+H///8G////AP///wD///8A////AP///wD/////////CP///wD///8b////7f///wD///8A////AP///wD///8A////AP///wD///8E////3////xf////h////Bv///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////97///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////cv///1n///82////jv///wD///8A////AP///wD///8A////6v///yP///+8////Av///xL///8A////AP///wD///8A////AP///wD////U////AP///9T///8A////BP///8r///89////AP///wD///8A////AP///wD////w////LP///yL////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////i////KP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yn////i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3j///97////AP///wD///8A////AP///wD///8A////lv///3X///8A////ff///4r///8A////AP///wD///8A////AP///wD///+g////Qf////L///8A////AP///wD///8A////AP///wD///8A////AP///1L///8Z////AP///zv////a////AP///wD///8A////AP///wD///8A////Q////w7///8A////Jf///+3///8A////AP///wD///8A////AP///wD///8A////Cf///7n////p", + "////AP///wD///8A////AP///wD///8A////AP///9P///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uv///8P///8R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9H////rf///wD///8A////AP///wD///8A////AP///+n///8s////AP///y7////p////AP///wD///8A////AP///wD///8A////w////0X///8A////bv///5T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jf///wD///8R////6P///wD///8A////AP///wD///8A////AP///wD///9z////XP///yX///+3////s////9H///82////sP///wD///8A////AP///wD///8A////AP///4////98////lf///wD///8A////AP///wD///8A/////////wD///8D////Tv///+v///8A////AP///wD///8A////AP///wD///8+////5f///0b///8E////CP///yP///8A////AP///wD///8A////AP////////8A////BP///z3////d////Sf///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0X////e////O////wL///8O////K////wD///8A////AP///wD///8A/////////wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////YP///7H///8H////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////H///+k////Av///wD///8A////AP///5H////0////AP///wD///8A////7////7r///8N////AP///wD/////////AP///wD///8A////AP///wD///9Z////1P///y3///8B////K////9L///9Q////AP///wD///8A////AP////////8B////Y////9j///8A////AP///wD///8A////AP///wD///8A////8P///w7///8A////AP///wD///8O////7v///wD///8A////AP///wD/////////AP///wP///9q////oP///wD///8A////AP///wD///8A////AP///wD////q////QP///wP///8c////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///+k////YP///wD///8A////AP///2H///+k////AP///wD///8A////AP///9b///8u", + "////AP///1v///+y////V////wD///8v////1P///wD///8A////Lf///8r///8H////BP///8D///8s////AP///wD///8A////AP///wD///9E////zv///wT///8A////BP///8z///9B////AP///wD///8A////AP///wD///8A////dv///5L///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+b////Wf///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////j///8N////BP///wD///8A////AP///wD///8A////AP///wD////u////OP///zj////s////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////+////Bv///wD///8Z////7////wD///8A////AP///wD///8A////AP////D///8Z////AP///wj/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tf///6n///8A////pf///1P///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Of///9j///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////7////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////R////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv///9T////n////yP///wD///8A////AP///wD///8A////AP///wD///8A////+P///xD///8K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yv///5r///8A////m////2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////n////Iv///wX///8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///83////jf///wL///8A////Av///5D///80////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////N////43///8C////AP///wL///+Q", + "////NP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP////n/////////pP///wD///+k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3b////D////AP///wD///93////YP///wD///8A////AP///wD///8A////dv///8P///8A////AP///3f///9g////AP///wD///8A////AP///wD///8B////Df///8P///8A////d////2D///8A////AP///wD///8A////AP///wD///8A////0f///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////j////3z///+V////AP///wD///8A////AP///wD///8A////AP///wD///+P////fP///5X///8A////AP///wD///8A////AP///wD///8A////AP///4////98////lf///wD///8A////AP///wD///8A////AP///wD///8A////j////3z///+V////AP///wD///8A////AP///wD///8A////AP///wD///+P////fP///5X///8A////AP///wD///8A////AP///wD///8A////AP///4////98////lf///wD///8A////AP///wD///8A////AP///wD///8A////pv///0f/////////AP///wD///8A////AP///wD////v////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8E////Pf///93///9J////AP///wD///8A////AP///+////+6////Df///wD///8A", + "/////////wD///8A////AP///wD///8A////Wf///9T///8t////Af///yv////S////UP///wD///8A////AP///wD///9Z////1P///y3///8B////K////9L///9Q////AP///wD///8A////AP///1n////U////Lf///wH///8r////0v///1D///8A////AP///wD///8A////Wf///9T///8t////Af///yv////S////UP///wD///8A////AP///wD///9Z////1P///y3///8B////K////9L///9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///0H///8A////Ff///93///97////wv///wD///8A////AP///wD/////////AP///wD///8A////AP////////8A////AP///wD///8A////AP////////8A////AP///wD///8A/////////wD///8A////AP///wD///8A/////////wD///8A////AP///wD/////////AP///wD///8A////AP///wD/////////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///9E////zv///wT///8A////BP///8z///9B////AP///wD///8A//////////P////e////R////wD///8A////AP///wD///8A////AP///wD////w////JP///xf////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7f///xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5T///+Z////j////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tf///6n///8A////pf///1P///8A////AP///wD///8A////AP////7///8G////AP///xn////v////AP///wD///8A////AP///wD///8A////AP///03///+p////AP///6X///9T////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////6v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////o////wH////C////AP///wD///8A////AP///wD///9O////0f////T////Z////g////wD///8A////AP///wD///8A////AP///4X////N////fP///wD///8A////K////9X///8L////AP///wD///8A////AP///2j////p////6f///2v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7X///9E////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////RP///7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////9v///8E////AP///wD///8A////AP///wD///8S////tf///9f///+x////Df///wD///8A////AP///wD///8A////AP///wv///+N////8P///wD///8A////AP///wD///8A////AP///wD///8A////aP///9T////X////yf///zn///8A////AP///wD///8A////AP///wD///94////2v///9f////S////VP///wD///8A////AP///wD///8A////AP///wD///8A////Wf////T///8A////AP///wD///8A////AP///wD///8A////vv///+f////k////5P///2D///8A////AP///wD///8A////AP///wD///8A////ZP///8/////T////Wv///wD///8A////AP///wD///8A////AP///+T////k////5P///+T////9////AP///wD///8A////AP///wD///8A////TP///9T////b////1P///0z///8A////AP///wD///8A////AP///wD///8r////xf///9X///+t////Ef///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+f////3P///9v///9j////AP///wD///8A////AP///wD///8A////AP///wb///+3////Rf///wD///8A////FP///7z///8x////AP///wD///8A////AP///wD///8A////Jv////b///8s////AP///wD///8A////AP///wD/////////8P////L////Y////WP///wD///8A////AP///wD///8A////AP///wD///9A////wf///+r////r////oP///wD///8A////AP///wD///8A//////////D////u////yv///0////8A////AP///wD///8A////AP///wD/////////8P////D////w////AP///wD///8A////AP///wD///8A////AP/////////w////8P////D///8A////AP///wD///8A////AP///wD///8A////AP///0j////F////6////+f///+I////AP///wD///8A////AP///wD/////////AP///wD///8A////AP////////8A////AP///wD///8A////AP///5r/////////mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD/////////AP///wD///8A////Yf///7T///8I", + "////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+v///33///8A////AP///wD///8A////bv////v///8A////AP///wD/////////Yf///wD///8A////AP////////8A////AP///wD///8A////AP///wD///9h////0f///+7////Q////W////wD///8A////AP///wD///8A//////////H////Z////Q////wD///8A////AP///wD///8A////AP///wD////K////Qv///wD///8A////AP///0L////D////AP///wD///8A////AP/////////w////2v///5n///8k////AP///wD///8A////AP///wD///8A////AP///1j////l////7P///5b///8A////AP///wD///8A////AP///wD////w////8P/////////w////8P///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A/////////wD///8A////AP///wD///8A////E////+z///8M////AP///wD///8A////DP///+z///8T////AP///wD///8d////7f///wH///8A////JP////r///8i////AP///wL////t////HP///wr////Q////L////wD///8A////Jv///8z///8K////AP///wD///8A////DP///9v///8w////AP///wD///8A////Lv///9j///8M////AP///wD////w////8P////D////y/////f///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev///9z///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP///+/////K////AP///wD///8A////AP///wD///8A////AP///+T///8c////G////+L///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////1P///wX///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9h////B////4L///+2////AP///wD///8A////AP///wD///8A////uf///4P///8H////af////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+u////Tf///wD///9L////sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///+O////3v///4P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////L////OP///wD///85////y////wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D////p////7P///5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9B////of///5n///+g////QP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Qf///6H///+Z////oP///0D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////1/////////+k////AP///6T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////U////8D///8A////AP///wb////D////Df///wD///8A////AP///wD///9T////wP///wD///8A////Bv///8P///8N////AP///wD///8A////AP///5n///+s////o////wD///8G////w////w3///8A////AP///wD///8A////AP///wD////O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////9v///yz///8A////AP///wD///8A////AP///wD///8A////AP///yb////2////LP///wD///8A////AP///wD///8A////AP///wD///8A////Jv////b///8s////AP///wD///8A////AP///wD///8A////AP///wD///8m////9v///yz///8A////AP///wD///8A////AP///wD///8A////AP///yb////2////LP///wD///8A////AP///wD///8A////AP///wD///8A////rv////////+v////AP///wD///8A", + "////AP///wD///8A////AP///wD///8/////9//////////w////8P////D///8A////AP///+z///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D////w////8P///wD///8A////AP///wD///8A////AP///wD/////////8P////D////w////AP///wD///8A////AP///wD///8A////AP/////////w////8P////D///8A////AP///wD///8A////AP///wD///8A//////////D////w////8P///wD///8A////AP///wD///8A////AP///wD///+a/////////5r///8A////AP///wD///8A////AP///wD///8A////AP///5r/////////mv///wD///8A////AP///wD///8A////AP///wD///8A////mv////////+a////AP///wD///8A////AP///wD///8A////AP///wD///+a/////////5r///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///+7////K////T////wD///8A////AP///wD///8A/////////2H///8A////AP///wD/////////AP///wD///8A////AP///wD///8A////Yf///9H////u////0P///1v///8A////AP///wD///8A////AP///wD///9h////0f///+7////Q////W////wD///8A////AP///wD///8A////AP///2H////R////7v///9D///9b////AP///wD///8A////AP///wD///8A////Yf///9H////u////0P///1v///8A////AP///wD///8A////AP///wD///9h////0f///+7////Q////W////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///9Z////0v///yz///8A////bf////7///9M////AP///wD///8A////AP////////8A////AP///wD///8A/////////wD///8A////AP///wD///8A/////////wD///8A////AP///wD/////////AP///wD///8A////AP///wD/////////AP///wD///8A////AP////////8A////AP///wD///8A////AP////////8A////AP///wD///8A/////////wD///8A////AP///wD///8A////DP///9v///8w////AP///wD///8A////Lv///9j///8M////AP///wD/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2/////q////7P///3n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v///8g////AP///wD///8A////AP///wD///8A////AP///wD///+n////Tf///1D///+m////AP///wD///8A////AP///wD///8A////AP///53///8a////wf///4b///8A////AP///wD///8A////AP///wD///8A////AP///8D///8B////xP///wD///8A////AP///wD///8A////AP///wD///+I////mf///4L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+1////ev///wP///8H////AP///wD///8A////AP///wD///8A////AP///wD///8h////uv///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+7////IP///wD///8A////AP///wD///8A////AP///wD///8A////p////03///9Q////pv///wD///8A////AP///wD///8A////AP///wD////A////Af///8T///8A////AP///wD///8A////AP///wD///8A////If///7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///+7////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6f///9N////UP///6b///8A////AP///wD///8A////AP///wD///8A////wP///wH////E////AP///wD///8A////AP///wD///8A////AP///wD///8A////lv///4L///+J////AP///wD///8A////AP///wD///8A////AP///wD///+d////Gv///8H///+G////AP///wD///8A////AP///wD///8A////AP///wD///8h////uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v///8g////AP///wD///8A////AP///wD///8A////AP///wD///+n////Tf///1D///+m////AP///wD///8A////AP///wD///8A////AP///53///8a////wf///4b///8A////AP///wD///8A////AP///wD///8A////wP///wH////E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////If///7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////u////yD///8A////AP///wD///8A////AP///wD///8A////AP///6f///9N////UP///6b///8A////AP///wD///8A////AP///wD///8A////wP///wH////E////AP///wD///8A////AP///wD///8A////AP///wD///+u////Tf///wD///9L////sf///wD///8A////AP///wD///8A/////////2H///8H////gv///7b///8A////AP///wD///8A////AP///wD///8A////rv///03///8A////S////7H///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////a////4r///8A////AP///wD///8A////AP///wD///8A////AP///wD///+J////a////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wj///+K////t////7j///+4////Ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1n////U////Lf///wH///8r", + "////0v///1H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////T////8X////i////8v///7f///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5f///5T////w////zv///yj///8A////AP///wD///8A////AP///wD///8n////yv////D///+U////4f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ff///+b///8F////AP///wT////m////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////4////CP///wD///8A////AP///wD///8A////AP///wD///8A////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////7////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///9I////4P////L////c////8////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+i////AP///6L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vf///1X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9h////0f///+/////Y////1v///z3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8b///9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///8P///8A////AP///wD///8A////AP///wD///8A////AP///wn////K////yv///wj///8A////AP///wD///8A////AP///wD///8A////h////8L///8c////nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6L///8A////ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL///+/////4////7////8A////AP///wD///8A////AP///wD///8A////AP///8b///9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1X////D////AP///wD///8A////AP///wD///8A////AP///wD///8J////yv///8r///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////G////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1X////D////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///8r////K////CP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4f////C////HP///57///8A////AP///wD///8A////AP///wD///8A////AP///8b///9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///8P///8A////AP///wD///8A////AP///wD///8A////AP///wn////K////yv///wj///8A////AP///wD///8A////AP///wD///8A////h////8L///8c////nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////G////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9V////w////wD///8A////AP///wD///8A////AP///wD///8A////Cf///8r////K////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ff///+b///8F////AP///wT////m////Ff///wD///8A////AP///wD////5////lP////D////O////KP///wD///8A////AP///wD///8A////AP///xX////m////Bf///wD///8E////5v///xX///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8O////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8T///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2H////R////7v///9D///9b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////0P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4L////V////AP///wD///8A////AP///wD///8A////AP///wD////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9X///9r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////If///7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u////yD///8A////AP///wD///8A////AP///wD///8A////AP///6f///9N////UP///6b///8A////AP///wD///8A////AP///wD///8A////nf///xr////B////hv///wD///8A////AP///wD///8A////AP///wD////A////Af///8T///8A////AP///wD///8A////AP///wD///8A////AP///4b///+Y////f////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8+////5f///0b///8E////CP///yP///8A////AP///wD///8A////AP///wD///8h////uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+7////IP///wD///8A////AP///wD///8A////AP///wD///+n////Tf///1D///+m////AP///wD///8A////AP///wD///8A////AP///wD////A////Af///8T///8A////AP///wD///8A////AP///wD///8A////If///7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u////yD///8A////AP///wD///8A////AP///wD///8A////AP///6f///9N////UP///6b///8A////AP///wD///8A////AP///wD///8A////wP///wH////E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+d////Gv///8H///+G", + "////AP///wD///8A////AP///wD///8A////AP///wD///8h////uv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+7////IP///wD///8A////AP///wD///8A////AP///wD///8A////p////03///9Q////pv///wD///8A////AP///wD///8A////AP///wD///+d////Gv///8H///+G////AP///wD///8A////AP///wD///8A////AP///8D///8B////xP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8S////Av///wD///8A////AP///wD///8A////AP///yH///+6////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v///8g////AP///wD///8A////AP///wD///8A////AP///6f///9N////UP///6b///8A////AP///wD///8A////AP///wD///8A////AP///8D///8B////xP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+7////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hv///5j///9/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP////U////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////G////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9V////w////wD///8A////AP///wD///8A////AP///wD///8A////Cf///8r////K////CP///wD///8A////AP///wD///8A////AP///wD///+H////wv///xz///+e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9A////wf///+r////r////oP///wD///8A////AP///wD///8A////AP///8b///9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1X////D////AP///wD///8A////AP///wD///8A////AP///wn////K////yv///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////G////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9V////w////wD///8A////AP///wD///8A////AP///wD///8A////Cf///8r////K////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4f////C////HP///57///8A////AP///wD///8A////AP///wD///8A////AP///8b///9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1X////D////AP///wD///8A////AP///wD///8A////AP///wD///8J////yv///8r///8I////AP///wD///8A////AP///wD///8A////AP///4f////C////HP///57///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xv///1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///8P///8A////AP///wD///8A////AP///wD///8A////Cf///8r////K////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1X////D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v///8g////AP///wD///8A////AP///wD///8A/////P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D///8B////xP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///8P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +}; + +// Texture image block count +const size_t CVF_FIXED_ATLAS_FONT_STANDARD_TEXTURE_IMAGE_BLOCK_COUNT = 176; + + +// Fixed Atlas Font: Droid Sans Regular, large font size +// Exported by FreeType Font Extractor 0.1 alpha +// -------------------------------------------------------------------------------- + +// Font name +const char CVF_FIXED_ATLAS_FONT_LARGE_NAME[] = "Droid Sans Regular Large"; + +// Number of glyphs +const size_t CVF_FIXED_ATLAS_FONT_LARGE_NUM_GLYPHS = 256; + +// Horizontal bearings X +const short CVF_FIXED_ATLAS_FONT_LARGE_HORIZONTAL_BEARINGS_X[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, -1, 1, 2, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 1, -1, 2, 1, 2, 2, 2, 1, 2, 1, -2, 2, 2, 2, 2, 1, 2, 1, 2, 0, 0, 2, -1, -1, -1, -1, 1, 1, -1, 0, 0, 0, + 4, 0, 1, 0, 0, 0, 0, 0, 1, 0, -1, 1, 1, 1, 1, 0, 1, 0, 1, -1, 0, 1, -1, -1, 0, -1, 0, 0, 5, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 2, 1, 0, 0, 5, -1, 3, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 4, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, + -1, -1, -1, -1, -1, -1, -1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, -1, 2, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, -1, -1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, -1, 1, -1 +}; + +// Horizontal bearings Y +const short CVF_FIXED_ATLAS_FONT_LARGE_HORIZONTAL_BEARINGS_Y[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 15, 15, 15, 16, 15, 15, 15, 15, 15, 16, 12, 2, 6, 3, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 12, 12, 12, 10, 12, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, -2, + 16, 12, 16, 12, 16, 12, 16, 12, 16, 16, 16, 16, 16, 12, 12, 12, 12, 12, 12, 12, 15, 12, 12, 12, 12, 12, 12, 15, 16, 15, 10, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 11, 15, 15, 13, 15, 16, 16, 16, 15, 15, 10, 8, 6, 15, 17, 15, 12, 15, 15, 16, 12, 16, 9, 0, 15, 15, 10, 15, 15, 15, 12, + 19, 19, 19, 20, 19, 19, 15, 15, 19, 19, 19, 19, 19, 19, 19, 19, 15, 20, 19, 19, 19, 20, 19, 12, 16, 19, 19, 19, 19, 19, 15, 16, + 16, 16, 16, 17, 16, 18, 12, 12, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 16, 16, 16, 17, 16, 12, 13, 16, 16, 16, 16, 16, 16, 16 +}; + +// Horizontal advances +const cvf::uint CVF_FIXED_ATLAS_FONT_LARGE_HORIZONTAL_ADVANCES[] = +{ + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 5, 6, 8, 14, 12, 17, 15, 4, 6, 6, 12, 12, 6, 7, 6, 8, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6, 6, 12, 12, 12, 9, + 18, 13, 13, 13, 14, 11, 10, 14, 15, 8, 6, 12, 10, 18, 15, 15, 12, 15, 13, 11, 10, 15, 12, 19, 11, 12, 11, 6, 8, 6, 11, 9, + 12, 11, 12, 10, 12, 11, 7, 11, 12, 5, 5, 10, 5, 19, 12, 12, 12, 12, 8, 9, 7, 12, 11, 16, 11, 11, 9, 7, 12, 7, 12, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 5, 6, 12, 12, 12, 12, 12, 10, 12, 17, 7, 10, 12, 7, 17, 11, 9, 12, 7, 7, 12, 12, 14, 6, 4, 7, 7, 10, 15, 15, 15, 9, + 13, 13, 13, 13, 13, 13, 18, 13, 11, 11, 11, 11, 8, 8, 8, 8, 14, 15, 15, 15, 15, 15, 15, 12, 15, 15, 15, 15, 15, 12, 12, 12, + 11, 11, 11, 11, 11, 11, 18, 10, 11, 11, 11, 11, 5, 5, 5, 5, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 12, 11 +}; + +// Character widths +const cvf::uint CVF_FIXED_ATLAS_FONT_LARGE_CHARACTER_WIDTHS[] = +{ + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 5, 3, 7, 14, 10, 15, 14, 3, 6, 5, 10, 10, 3, 5, 3, 10, 10, 6, 10, 10, 11, 10, 10, 10, 10, 10, 3, 3, 10, 10, 10, 8, + 16, 15, 10, 11, 11, 8, 8, 12, 11, 6, 6, 11, 8, 14, 11, 13, 9, 13, 11, 10, 10, 11, 14, 21, 13, 14, 9, 4, 10, 4, 11, 9, + 4, 9, 10, 9, 10, 10, 7, 11, 9, 4, 5, 10, 2, 16, 9, 11, 10, 10, 7, 9, 7, 9, 12, 17, 10, 12, 9, 7, 2, 7, 10, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 5, 3, 8, 10, 12, 12, 2, 10, 6, 15, 5, 8, 10, 5, 15, 11, 7, 10, 7, 6, 4, 9, 11, 3, 4, 4, 5, 8, 14, 14, 16, 8, + 15, 15, 15, 15, 15, 15, 18, 11, 8, 8, 8, 8, 6, 6, 7, 6, 13, 11, 13, 13, 13, 13, 13, 9, 13, 11, 11, 11, 11, 14, 9, 10, + 9, 9, 9, 9, 9, 9, 17, 9, 10, 10, 10, 10, 4, 4, 7, 6, 11, 9, 11, 11, 11, 11, 11, 10, 11, 9, 9, 9, 9, 12, 10, 12 +}; + +// Character heights +const cvf::uint CVF_FIXED_ATLAS_FONT_LARGE_CHARACTER_HEIGHTS[] = +{ + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 5, 15, 5, 15, 17, 15, 15, 5, 18, 18, 9, 10, 5, 2, 3, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 12, 15, 10, 6, 10, 15, + 17, 15, 15, 15, 15, 15, 15, 15, 15, 15, 19, 15, 15, 15, 15, 15, 15, 19, 15, 15, 15, 15, 15, 15, 15, 15, 15, 18, 15, 18, 9, 2, + 3, 12, 16, 12, 16, 12, 16, 17, 16, 16, 21, 16, 16, 12, 12, 12, 17, 17, 12, 12, 15, 12, 12, 12, 12, 17, 12, 18, 21, 18, 5, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 5, 15, 15, 15, 11, 15, 21, 16, 2, 15, 7, 9, 6, 2, 15, 2, 7, 12, 9, 9, 3, 17, 19, 3, 5, 9, 7, 9, 15, 15, 15, 16, + 19, 19, 19, 20, 19, 19, 15, 20, 19, 19, 19, 19, 19, 19, 19, 19, 15, 20, 19, 19, 19, 20, 19, 9, 17, 19, 19, 19, 19, 19, 15, 16, + 16, 16, 16, 17, 16, 18, 12, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 16, 16, 16, 17, 16, 10, 14, 16, 16, 16, 16, 21, 21, 21 +}; + +// Texture image dimensions +const size_t CVF_FIXED_ATLAS_FONT_LARGE_TEXTURE_IMAGE_WIDTH = 5376; +const size_t CVF_FIXED_ATLAS_FONT_LARGE_TEXTURE_IMAGE_HEIGHT = 21; + +// Texture image data +const char* CVF_FIXED_ATLAS_FONT_LARGE_TEXTURE_IMAGE[] = +{ + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pf////L///9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////n////6L///8A////AP///5////+i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////l////lP///wD///8A////AP///2P/////////HP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8P////7f///4////8A////AP///wD///8A////AP///3r////i////4v///33///8A////AP///wD///8A////AP///wD///8A////AP///x////+Y////1v////T////y////0////4v///8f////AP///xT////J/////////3j///8A////AP///wD///8A////AP///wD///8A////n////6L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y////+P///6v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qf////n///8z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xf///+P////k////wD///8A////hv///5j///8a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3z///9B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///53///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uP///7j///+4////uP///7j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////mf////f///+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev////b////O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8/////qv///+P////k////rP///0n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Wv///63////f////8/////X////W////sv///0v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Zv///7f////l////+/////D////Q////p////zj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8u////rP///9/////x////yf///3b///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xD////y////7v///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP///+I////zv///+/////u////y////3n///8K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r////9////7////8z///+g////Lv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mf////f///+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P///53///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT///9Y////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///4j///+I////iP///4j///+I////iP///4j///+I////iP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP///1j///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pf////L///9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////CP///3L///+m////0f////b////s////1f///6L///9R////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP////n////e////Af///wD///8A////AP///wD///8A////AP///wD///8D////4/////n///8U////AP///wD///8A////AP///wD///8A///////////////////////////////u////yP///3j///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////NP///5L///+9////6P////3////w////zf///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////v///+H///+5////jf///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////NP///5b////D////7/////v////u////0v///6H///9i////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP//////////", + "//////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v////r////h////qP///yX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///z7////+////3v///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////4T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8V/////P///9P///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///+h//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///6L////R////9P///9D///+g////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv///77///8k////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A", + "////AP///0//////////4f///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///4T////M////6P////n////o////yf///3T///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///87////rP///9j////1////0////6f///81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8i//////////////8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xP////9////6P///wH///8A////AP///wD///8A////AP///wj////1////9f///wj///8A////AP///wD///8A////Df///+b////o////Dv///wD///8A////AP///wD///8A////Mf////3////n////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C////+/////X////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uf////H///8T////AP///wD///8A////AP///wD///8R////8P///7r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cP///3D///9w////cP///3D///9w////cP///3D///9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////B////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////3r////b////+f///+j///+Y////Ev///4D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4L///8W////mf///+b////0////x////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8l////o////9T////2////7f///8z///9q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9u////yP////T////n////mP///xP///+h/////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////mv///87////2////+P///9n///+b////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b///+/////5v////j////i////xv///3f///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5v///+////+g////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////Q/////7////a////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD////o", + "/////////wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////of///9T////0////0////6T///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///4b////T////7f////n////i////sf///0D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M////m////+v////6////0v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b////M////8////+z///+i////Gf///6H/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P//////////////1P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Ov//////////////MP///wD///8A////AP///z7//////////////zX///8A////AP///wD///8A////AP///wD///8A////rv////////+J////AP///wD///8A////AP///4r/////////rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///+z////6////1v///2v///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///23////M////8f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8f///8z///9t////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+f////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///4D////L////5/////n////w////1////5v///81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///7j///8A////AP///7r///+8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////1H///+z////3v////f////e////sf///0////8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////Zf///+7////j////Z/////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9n////jP///wD///8A////ZP///43///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9B////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uP///7j///+4////uP///7j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////1H///+z////3v////f////e////sf///0////8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////cP///3D///9w////cP///3D///9w////cP///3D///9w////cP///3D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1D////N////8////8z///9M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P//////////////////////////////////////////////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP///+X////4////2////4X///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///8L///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////l/////f///+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9////9r///+d////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///7H////x////sv///xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP///2b///8A////AP///47///9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///+b///+n////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///8A////AP///wD///8A////AP///wD///8A////Df///+b///+n////AP///wD///8A////AP///////////////////////////////////1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////5v///6f///8A////AP///wD///8A////AP///wD///8A////AP////////94////AP///wD///8A////AP///wD///8A////AP///zb///+1////5v////L////N////kP///yv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////FP////n////e////Af///wD///8A////AP///wD///8A////AP///wD///8D////4/////n///8U////AP///wD///8A////AP///wD///8A////FP////n////e////Af///wD///8A////AP///wD///8A////AP///wD///8D////4/////n///8U////AP///wD///8A////AP///wD///8A////FP////n////e////Af///wD///8A////AP///wD///8A////AP///wD///8D////4/////n///8U////AP///wD///8A////AP///wD///8A////FP////n////e////Af///wD///8A////AP///wD///8A////AP///wD///8D////4/////n///8U////AP///wD///8A////AP///wD///8A////FP////n////e////Af///wD///8A////AP///wD///8A////AP///wD///8D////4/////n///8U////AP///wD///8A////AP///wD///8A////FP////n////e////Af///wD///8A////AP///wD///8A////AP///wD///8D////4/////n///8U////AP///wD///8A////AP///wD///8A////EP////H////g////BP///wD///8A////AP///wD///8A////AP//////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD////3////2v///53///8n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP////////////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP////////////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP////////////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP////////////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////+////4f///7n///+N////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///+h//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///6L////R", + "////9P///9D///+g////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///6L////R////9P///9D///+g////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///6L////R////9P///9D///+g////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///6L////R////9P///9D///+g////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///6L////R////9P///9D///+g////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jf///3n///8A////AP///wD///8A////AP///3L///8y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz///9L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///87////rP///9j////1////0////6f///81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///87////rP///9j////1////0////6f///81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///87////rP///9j////1////0////6f///81", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///87////rP///9j////1////0////6f///81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////gv///9f////z////8f///83///9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////3r////b////+f///+j///+Y////Ev///4D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////3r////b////+f///+j///+Y////Ev///4D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////3r////b////+f///+j///+Y////Ev///4D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////3r////b////+f///+j///+Y////Ev///4D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////3r////b////+f///+j///+Y////Ev///4D/////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////3r////b////+f///+j///+Y////Ev///4D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///27////V////9////+f///+o////KP///wD///8A////Mf///5L////G////9v////j////Y////mv///yn///8A////AP///wD///8A////AP///wD///8A////9////9r///+d////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////mv///87////2////+P///9n///+b////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////mv///87////2////+P///9n///+b////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////mv///87////2////+P///9n///+b////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////mv///87////2////+P///9n///+b////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///87////sP///9v////1////1P///6T///8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////of///9T////0////0////6T///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////of///9T////0////0////6T///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////of///9T////0////0////6T///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////of///9T////0////0////6T///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////of///9T////0////0////6T///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///+H///9p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev///5////9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b////M////8////+z///+i////Gf///6H/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b////M////8////+z///+i////Gf///6H/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b////M////8////+z///+i////Gf///6H/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1b////M////8////+z///+i////Gf///6H/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///+z////6////1v///2v///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///+z////6////1v///2v///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9/////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf///7j///8A////AP///7X///+4////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+v////zf///wD///8A////AP///yr/////////VP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df////j///8e////AP///wD///8A////W/////////+o////sv////////9h////AP///wD///8A////AP///wD///8A////Jf////H/////////3f///6v///+u////4f/////////4////f////9n////+////av///wD///8A////AP///wD///8A////AP///wD///8A////tf///7j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////b////6////xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv///+z////b////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH////t////+P///xf///8X////9f////D///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uf////P///8K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////9v/////////0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5v/////////Pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///03////4////9P///7b///+6////9v////v///9a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f/////////B////nP///5z///+c////nP///5z///+c////X////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////n////K////rP///6L///+/////+f////////+v////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////P////B////of///6H///+9////+f////////+Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1z////4////9v///73///+m////3v/////////I////Bf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+K/////////3D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////+n/////////1f///6b///+p////3P/////////Y////Dv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4z///9/////k////8f////3/////v///5D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9v/////////0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uf////P///8K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////d////+P/////////2////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3P/////////i////d////xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9/////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9B////2/////r///+/////lf///3D///9z////lf///83////+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6r/////////SP///wD///8A////AP///wD///8A////AP///wD///9N/////////6n///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///43///+n////4v/////////T////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///9+////+//////////Z////rv///5T///+u////2f////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////j////7H////b//////////T///9x////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///99////+/////7////e////sP///47///+Z////vv////3/////////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv///1n/////", + "////9////1X///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qf///5H///+u/////P////L///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////Cf///9v////+////Qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///9l//////////////8q////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///y3////9//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+i//////////L///+/////mP///77////x/////////5P///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8k////4P////////+Z////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A", + "////DP///+L/////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////NP/////////k////qv///5L///+7////9P/////////Z////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D////9/////////+f///+d////tP////P////8////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///98//////////////97////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1v//////////////zf///8A////AP///wD///8A////AP///0n//////////////0j///8A////AP///wD///8A////AP///1r/////////jf///wD///8A////AP///wD///8A////vP////////9f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4P////////+r////jP///4z///+M////jP///4z///+M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+////+I////iP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////av////////9p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///4j////v/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lf////3///+M////AP///wD///8A////AP///wD///+G/////v///zH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///9H////3////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv/////////w////qv///5/////f////0v///8b/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9L////e////5f///6j///+j////5/////////+e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2H////5/////P///8v///+o////uf///+D////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5//////////5f///6P///+i////3////9b////X/////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P////y//////////X///+w////q////87////8////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cf/////////N////cv///2T///+U////yv////r////n////Hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nv///8b/////////fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8Q////4/////v///81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD////o", + "/////////wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P////z////9v///7j///+W////t/////X////2////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////LP/////////S////of///5H///+o////8/////7///9S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+J/////////+v///+W////pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv//////////////z////5/////d////2P///9f/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n////k////8v///6r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////ff////n////x////cP///wD///8A////AP///3r////x////+v///3n///8A////AP///wD///8A////AP///wD///8A////Gv////D////5////JP///wD///8A////JP////n////v////Gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///5b///+W////3v////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zf////////9+////WP///1j///9Y////WP///1j///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hf/////////W////kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kf///9f/////////gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hv///wL///8A////AP///yr///+c////6v////P///+/////Mv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6/////////9e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP/////////p////nP///5z///+c////nP///5z///+c////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2H///+b////AP///wD///8A////AP///wD///8B////of///2b///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////LP/////////f////rf///5P///+T////q////+7////7////WP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///7X///8A////AP///7r////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8g////zP///+b///+G////U////yz///9T////h////+j////K////H////wD///8A////AP///wD///8A////AP///wD///8A////7P///5P///8v////xP////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x3////y////ov///wD///8c////8f///6L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+I/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8g////zP///+b///+G////U////yz///9T////h////+j////K////H////wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////UP/////////B////dP///7D/////////TP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////g////4j///+I////iP///4j///+I////iP///4j///+I////RP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mf///+H///9Q////RP///0T///9E////GP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP///23///9R////kv////n///+O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jv////f////P////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////9v/////////0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kf///zz////K////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kv///9X///9K////1////5X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////o/////H///8d////AP///6P////w////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///13/////////P////wD///8A////AP///0T///9E////RP///0T/////////nP///zP///8A////AP///wD///8A////AP///wD///8A////AP///13/////////P////wD///8A////AP///5n////h////UP///0T///9E////RP///xj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Xf////////8/////AP///wD///8A////RP///0T///9E////RP////////+c////M////wD///8A////AP///wD///8A////PP////3////7////uf///67////Y/////////8n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///6r/////////SP///wD///8A////AP///wD///8A////AP///wD///9N/////////6n///8A////AP///wD///8A////AP///wD///8A////AP///6r/////////SP///wD///8A////AP///wD///8A////AP///wD///9N/////////6n///8A////AP///wD///8A////AP///wD///8A////AP///6r/////////SP///wD///8A////AP///wD///8A////AP///wD///9N/////////6n///8A////AP///wD///8A////AP///wD///8A////AP///6r/////////SP///wD///8A////AP///wD///8A////AP///wD///9N/////////6n///8A////AP///wD///8A////AP///wD///8A////AP///6r/////////SP///wD///8A////AP///wD///8A////AP///wD///9N/////////6n///8A////AP///wD///8A////AP///wD///8A////AP///6r/////////SP///wD///8A////AP///wD///8A////AP///wD///9N/////////6n///8A////AP///wD///8A////AP///wD///8A////AP///4f/////////Xf///wD///8A////AP///wD///8A////AP/////////4////jP///4z///+M////jP///4z///+M////AP///wD///8A////AP///wD///8A////AP///wD///8p////PP///8r///+u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M", + "////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv///1n/////////9////1X///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv///1n/////////9////1X///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv///1n/////////9////1X///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv///1n/////////9////1X///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////+P///4z///+P////sf///9v/////////9P///3H///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///y3////9//////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+i//////////L///+/", + "////mP///77////x/////////5P///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+i//////////L///+/////mP///77////x/////////5P///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+i//////////L///+/////mP///77////x/////////5P///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+i//////////L///+/////mP///77////x/////////5P///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+i//////////L///+/////mP///77////x/////////5P///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////d/////////95////AP///wD///8A////bf////////+E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8P////0////Zv///5P////K////8////9D///+g////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D////9/////////+f///+d////tP////P////8////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D////9/////////+f///+d////tP////P////8////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D////9/////////+f///+d////tP////P////8", + "////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4D////9/////////+f///+d////tP////P////8////ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A/////v///8b///+W////oP///+3/////////bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv/////////w////qv///5/////f////0v///8b/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv/////////w////qv///5/////f////0v///8b/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv/////////w////qv///5/////f////0v///8b/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv/////////w////qv///5/////f////0v///8b/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv/////////w////qv///5/////f////0v///8b/////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv/////////w////qv///5/////f////0v///8b/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////c//////////z////q////6P////n////8v///zf///9F////8//////////5////u////7f////a/////////3z///8A////AP///wD///8A////AP///wD///8A////Kf///zz////K////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P////y//////////X///+w////q////87////8////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P////y//////////X///+w////q////87////8////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P////y//////////X///+w////q////87////8////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P////y//////////X///+w////q////87////8////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4v/////////8P///7H///+V////sv////H////3////Yf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P////z////9v///7j///+W////t/////X////2////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P////z////9v///7j///+W////t/////X////2////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P////z////9v///7j///+W////t/////X////2////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P////z////9v///7j///+W////t/////X////2////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1P////z////9v///7j///+W////t/////X////2////Xv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///2r///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf////b////d////kv///8r////z////0////6T///8m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv//////////////z////5/////d////2P///9f/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv//////////////z////5/////d////2P///9f/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv//////////////z////5/////d////2P///9f/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv//////////////z////5/////d////2P///9f/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///5b///+W////3v////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///5b///+W////3v////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pP////L///9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///83///8A////AP///8r////N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///95////+////wr///8A////AP///wH////v////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////eP///77////n////+//////////p////rf///2b///8H////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP///+T///+f////AP///wD///8A////v////8////8A////AP///9f////D////AP///wD///8A////AP///wD///8A////sv////////+T////A////wD///8A////AP///0n////f//////////z///9e////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///83///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3//////////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3X/////////ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I/////f///4L///+O/////v///0v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP////////9X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////mf////f///+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yz/////////q////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cv////H////v////KP///wD///8A////MP////P////4////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jf///+f////p////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP///w////8A////AP///wD///8A////Hf///8v/////////cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////V////wb///8A////AP///wD///8A////Gf///8n/////////Yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP////H////g////KP///wD///8A////Bf///6P/////////ev///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8Z////+P///+H///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qf////////96////AP///wD///8A////A////4r/////////l////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8i////3P////////97////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mf////f///+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP////////9X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////J////5b////1/////f///7T///9I////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///0n///+0/////f////T///+W////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pP////L///9H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0D////+////y////y3///8A////AP///wD///8A////AP///wD///8c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0b/////////sP///wD///8A////AP///wD///8A////AP///wD///+y/////////0X///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////Cf///7L/////////h////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j/////////5f///0f///8A////AP///wD///8A////AP///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////Tv///+f/////////a////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///33/////////5////0L///8A////AP///wD///8A////AP////D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////jf////////+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///+4////+v////z///+B////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///7T////4////5v////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////v////xP///8A////AP///wD///8S////vv////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////D/////////5L///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A", + "////jf////////+j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf///zv///8A////AP///wD///8A////BP///57/////////nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Of////7////f////Rv///wP///8A////AP///yP////b/////f///zT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////W////4v///+L////V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6X////t////7f///4X///8A////AP///wD///8A////AP///5T////p////7////5P///8A////AP///wD///8A////AP///wD////A////+v///yj///8A////AP///wD///9J/////////8f///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP////////+t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////1////+////8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5v////3////Hf///wD///8A////AP///xX////0////pf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////v/////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2/////////9G////AP///wD///8G////qf//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////F////D////wD///8A////Fv///9r/////////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////If////T////o////N////wD///8A////AP///wD///8d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////O//////////R////E////wD///8A////Cv///77//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf////D////n////WP///wv///8A////AP///wD///8Q////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3v///+j///8J////AP///wD///8A////AP///2//////////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz/////////yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///+m/////////33///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD////o", + "/////////wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv///+/////k////LP///wD///8A////AP///yr////k////8////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP///yX///8A////AP///wD///8A////Kf/////////N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////Y/////////yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wf////////90////AP///wD///8J////u///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E/////v///+i////tv////X///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////wP///9X////D////sP///wD///8A////AP///7b////D////2P///73///8A////AP///wD///8A////AP///wD///8A////AP///2f/////////sf///wD///8A////sv////////9k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP///9n////1////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////MP////v////C////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v////b///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w7////4////4P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P///9H///+Q////uv////7////+////uv///4/////P////+P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3P////////9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr///+J////2///////////////8v///4T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5L/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4T/////////lf///6v////t////7P///6j///+c/////f///3f///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zT///+M////jP///4z/////////+P///4z///+M////jP///zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////D////yj///8A////AP///wD///8A////AP///xL////n////1////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD////r////o////xH///8A////AP///wD///8A////AP///xL///+m////6////x////8A////AP///wD///8A////AP///wD///8A////vv///7P///86////dv////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7f////4////Hv///wD///+1////+P///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+I/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///yD////r////o////xH///8A////AP///wD///8A////AP///xL///+m////6////x////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zf///9D///8D////AP///wD///+v////yv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3z///9B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4/////P////HP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H////l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4L/////////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////mf////f///+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zP////M////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3////37///8A////gf///+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////H/////j///+2////AP///x/////4////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////D////0v///wT///8A////AP///////////////////////////////////8D///8A////AP///wD///8A////AP///wD///8A////AP///wD////D////0v///wT///8A////AP///wD///+P////z////xz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8P////S////BP///wD///8A////////////////////////////////////wP///wD///8A////AP///wD///8A////wf////3///9A////AP///wD///8A////Lv///zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///0b/////////sP///wD///8A////AP///wD///8A////AP///wD///+y/////////0X///8A////AP///wD///8A////AP///wD///8A////AP///0b/////////sP///wD///8A////AP///wD///8A////AP///wD///+y/////////0X///8A////AP///wD///8A////AP///wD///8A////AP///0b/////////sP///wD///8A////AP///wD///8A////AP///wD///+y/////////0X///8A////AP///wD///8A////AP///wD///8A////AP///0b/////////sP///wD///8A////AP///wD///8A////AP///wD///+y/////////0X///8A////AP///wD///8A////AP///wD///8A////AP///0b/////////sP///wD///8A////AP///wD///8A////AP///wD///+y/////////0X///8A////AP///wD///8A////AP///wD///8A////AP///0b/////////sP///wD///8A////AP///wD///8A////AP///wD///+y/////////0X///8A////AP///wD///8A////AP///wD///8A////AP///xb////2////1f///wH///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////M////8z////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///9O////5/////////9r////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///7T////4////5v////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////v////xP///8A", + "////AP///wD///8S////vv////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////v////xP///8A////AP///wD///8S////vv////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////v////xP///8A////AP///wD///8S////vv////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////v////xP///8A////AP///wD///8S////vv////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////v////xP///8A////AP///wD///8S////vv////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3b////+////aP///wD///9g/////v///37///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0D///////////////H///+s////lf///77////x/////////5P///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////Of////7////f////Rv///wP///8A////AP///yP////b/////f///zT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Of////7////f////Rv///wP///8A////AP///yP////b/////f///zT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Of////7////f////Rv///wP///8A////AP///yP////b", + "/////f///zT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Of////7////f////Rv///wP///8A////AP///yP////b/////f///zT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////Kf///wD///8A////AP///yL////+////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2/////////9G////AP///wD///8G////qf//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2/////////9G////AP///wD///8G////qf//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2/////////9G////AP///wD///8G////qf//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2/////////9G////AP///wD///8G////qf//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2/////////9G////AP///wD///8G////qf//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////2/////////9G////AP///wD///8G////qf//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1/////////9M////AP///wD///8N////w////+n////5////6v///2H///8Q////AP///wD///8A////Gv///yz///8A////AP///wD///8A////AP///wD///8A////AP///zP////M////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf////D////n////WP///wv///8A////AP///wD///8Q////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf////D////n////WP///wv///8A////AP///wD///8Q////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf////D////n////WP///wv///8A////AP///wD///8Q////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf////D////n////WP///wv///8A////AP///wD///8Q////J////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf/////////N////Gf///wD///8A////AP///x3////c////9f///x3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv///+/////k////LP///wD///8A////AP///yr////k////8////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv///+/////k////LP///wD///8A////AP///yr////k////8////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv///+/////k////LP///wD///8A////AP///yr////k////8////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv///+/////k////LP///wD///8A////AP///yr////k////8////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv///+/////k////LP///wD///8A////AP///yr////k////8////xr///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///53/////////9f///6n///+U////uP////X////2////Xv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wf////////90////AP///wD///8J////u///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wf////////90////AP///wD///8J////u///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wf////////90////AP///wD///8J////u///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wf////////90////AP///wD///8J////u///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP///9n////1////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP///9n////1////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4P///+P///8A////AP///+D////j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9D/////////z////8A////AP///wD///+4////xP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////X////B////of/////////g////+f/////////h////IP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2X////8////Kf///wD///8A////5////6j///8A////AP///63////o////AP///wD///8A////AP///wD///8A////6f////////8R////AP///wD///8A////AP///zf////t//////////7///9W////AP///wD///8A////AP///wD///8A////AP///wD///8A////4P///+P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///+v////0////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD////0////6f///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fv///+3////2////f////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yv////////+o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///++////+////x3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP////////+A////AP///wD///8A////AP///4f/////////Z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yz////s////5////yb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zD/////////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yz/////////v////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP////////9R////AP///wD///8A////AP///xT/////////yf///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////mP////////9b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5P////P///8B////AP///wD///8A////AP///wT////3////2////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////F/////H////2////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yv////////+o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0X///+2/////v///+3///+L////Iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv///4v////t/////v///7X///9F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Bf///9b////U////BP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////f/////P///xv///8A////AP///wD///8A////AP///xv////8////3v///wH///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///y7/////////z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////HP////f////6////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///yf////7////7v///xX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gf////T////3////Hv///wD///8A////AP///wD///8A////AP////D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef/////////R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///83/////f///+H///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///xD////6////t////73////Y////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////Pv////////+O////1v////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////J/////z////l////Bv///wD///8A////AP///wD///8A////Bf///+P////4////Hf///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2H/////////vv///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8v", + "////+////+r///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT////9////3f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sP////////+C////AP///wD///8A////AP///wD///9R/////////63///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zH/////////n////5//////////MP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///+z////B////vv///9L///8A////AP///wD///8A////AP///9////+w////xf///97///8A////AP///wD///8A////AP///wD///8r////+////7r///8A////AP///wP////T/////v///zT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8b/////////P////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9H/////////4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////0////nf///wD///8A////AP///47////5////If///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v////////8K////AP///wD///8A////G///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////9F////AP///wD///8A////AP///4T/////////p////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////////9u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qf////////9Z////AP///wD///8A////AP///z3//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP////////9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f///9T///8A////AP///wD///8A////AP///wX////j////6f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH/////////4////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///1n/////////xP///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD////o", + "/////////wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jv////////9t////AP///wD///8A////AP///wD///9u/////////5L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A/////X////y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////3////8////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5/////////8g////AP///wD///8A////Pv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Zf////////9c////cP////////9Z////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8K////+f///6f///+S////7v///wL///8A////Av///+////+T////rP////f///8I////AP///wD///8A////AP///wD///8A////AP///wH////B/////////0T///9F/////////77///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2T/////////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4b/////////av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mv///77////y////6v///5z///8q////AP///wD///8C////h////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zv////////9B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////CP///8///////////////87///+m////y////87///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yH/////////0f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+F/////////+n///+E////f////97/////////e////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2D//////////////////////////////////////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xX////o////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////8z///+j////AP///wD///8x////uv///+z////z////sP///wD///8A////p////8v///8D////AP///wD///8A////AP///wD///8A////L////6L////l/////v////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////X/////////+L////AP///17/////////i////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+I/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////A////8z///+j////AP///wD/////////pP///wD///8V////8f///+3///8S////p////8v///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8////5T///8A////AP///wD///9w////8v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+D////4////yr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6T////i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8H////2////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P///2H///8A////Yv////j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4z/////////Xv///wD///+M/////////13///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w/////f///27///8A////AP///5z////B////AP///wD/////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w/////f///27///8A////AP///wD///8A////g////+P///8q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zD////9////bv///wD///8A////nP///8H///8A////AP////////94////AP///wD///8A////AP///wD///8A////8P///9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wH////f/////P///xv///8A////AP///wD///8A////AP///xv////8////3v///wH///8A////AP///wD///8A////AP///wD///8A////AP///wH////f/////P///xv///8A////AP///wD///8A////AP///xv////8////3v///wH///8A////AP///wD///8A////AP///wD///8A////AP///wH////f/////P///xv///8A////AP///wD///8A////AP///xv////8////3v///wH///8A////AP///wD///8A////AP///wD///8A////AP///wH////f/////P///xv///8A////AP///wD///8A////AP///xv////8////3v///wH///8A////AP///wD///8A////AP///wD///8A////AP///wH////f/////P///xv///8A////AP///wD///8A////AP///xv////8////3v///wH///8A////AP///wD///8A////AP///wD///8A////AP///wH////f/////P///xv///8A////AP///wD///8A////AP///xv////8////3v///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///+R/////////1D///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wf////b///9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////J/////v////u////Ff///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////Pv////////+O////1v////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////J/////z////l////Bv///wD///8A", + "////AP///wD///8A////Bf///+P////4////Hf///wD///8A////AP///wD///8A////AP///wD///8A////J/////z////l////Bv///wD///8A////AP///wD///8A////Bf///+P////4////Hf///wD///8A////AP///wD///8A////AP///wD///8A////J/////z////l////Bv///wD///8A////AP///wD///8A////Bf///+P////4////Hf///wD///8A////AP///wD///8A////AP///wD///8A////J/////z////l////Bv///wD///8A////AP///wD///8A////Bf///+P////4////Hf///wD///8A////AP///wD///8A////AP///wD///8A////J/////z////l////Bv///wD///8A////AP///wD///8A////Bf///+P////4////Hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9l////+////5T////6////bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5D//////////////2T///8A////AP///wD///8S////vv////////+R////AP///wD///8A////AP///wD///8A////AP///wD///8A////sP////////+C////AP///wD///8A////AP///wD///9R/////////63///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sP////////+C////AP///wD///8A////AP///wD///9R/////////63///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sP////////+C////AP///wD///8A////AP///wD///9R", + "/////////63///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sP////////+C////AP///wD///8A////AP///wD///9R/////////63///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////+v///9n///+y////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD////z////9P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v////////8K////AP///wD///8A////G///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v////////8K////AP///wD///8A////G///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v////////8K////AP///wD///8A////G///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v////////8K////AP///wD///8A////G///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v////////8K////AP///wD///8A////G///////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v////////8K////AP///wD///8A////G///////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v////////8J////AP///wD///8A////Of//////////////Zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8H////2////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP////////9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP////////9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP////////9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP////////9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////t/////////8/////AP///wD///8A////AP///wD///+H/////////5b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jv////////9t////AP///wD///8A////AP///wD///9u/////////5L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jv////////9t////AP///wD///8A////AP///wD///9u/////////5L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jv////////9t////AP///wD///8A////AP///wD///9u/////////5L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jv////////9t////AP///wD///8A////AP///wD///9u/////////5L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jv////////9t////AP///wD///8A////AP///wD///9u/////////5L///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv///+//////////9v///yn///8A////AP///yv////k////8////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5/////////8g////AP///wD///8A////Pv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5/////////8g////AP///wD///8A////Pv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5/////////8g////AP///wD///8A////Pv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5/////////8g////AP///wD///8A////Pv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2T/////////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2T/////////df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f////j///8A////AP////X////4////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////TP///wb///8A////AP////////9s////DP///4P/////////uv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////Z////rv///wD///8A////+v///43///8A////AP///47////5////AP///wD///8A////AP///wD///8A////7P////////8L////AP///wD///8A////Q/////P////2////a/////L////v////Fv///wD///8A////AP///wD///8A////AP///wD///8A////9f////j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////VP////////+j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+j/////////1D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///7j////K////3f//////////////3f///8r///+5////jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////g////4j///+I////iP/////////H////iP///4j///+I////RP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pf/////////n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9P/////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////s/////////82////AP///wD///8A////AP///zv/////////tv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8z////8f///+X///8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////7////8v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v////r///+d////nP///5z///+c////nP/////////x////nP///5z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////7////7v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vP////3///8J////AP///wD///8A////AP///wD////o////8v///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Iv////z////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7P////b///8N////AP///wD///8A////AP///wH////v////6////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5b/////////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Pf/////////n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0//////////O////Y////wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///4j///+I////iP///4j///+I////iP///4j///+I////iP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////Yv///83/////////0////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////av////////9F////AP///wD///9h////1f////X////B////MP///xb///+9////9P///8H///8r////AP///wD///8A////AP///wD///8A////AP///wD///99/////////7n///+M////jP///4z///+M////jP///7j/////////fP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wn/////////9P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///+Y/////////4H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP////////+S////AP///wD///8A////AP///wD///8A////AP////D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wf////W/////////0b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///17/////////ZP///2f/////////L////wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////x/////D///8T////3/////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lf////////98////AP///wD///8A////AP///wD///8A////AP///3z/////////jP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///6L////R////+f////7/////////bP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wL////I", + "/////////1r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz////+////7v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2/////////8w////AP///wD///8A////AP///wD///8O/////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4v/////////VP///1L/////////iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Of////////+Q////hv////////8f////AP///wD///8A////K/////////9u////lf////////8q////AP///wD///8A////AP///wD///8A////jv////////9Q////AP///2P/////////nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zf////+////zf///wL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+2/////P///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9+/////P///yj///8A////Gv////f///+P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////+F////Bf///wD///8A////AP///+7/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////8F////AP///wD///8A////AP///03/////////z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf////////8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0f////////8a////AP///wD///8A////AP///wj//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////xv////////8e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wf////z///83////AP///wD///8A////AP///w3////q////5v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8S////HP///+/////y////If///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD////o", + "/////////wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////w/////////8h////AP///wD///8A////AP///wD///8h/////////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q////pf////////+8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////v///+z///8A////AP///wD///8A////Bv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u/////7///8V////Jv////////+w////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9H/////////3P///9b/////////zH///8A////Lv////////9f////eP////////9E////AP///wD///8A////AP///wD///8A////AP///wD///8n////+P///9T////U////9////yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////1////0////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wj////Y////8v///x3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////v/////////8z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bv/////////L////NP///wD///8A////AP///xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL/////////7f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+3////7v///xz///8A////AP///w7////d////vv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8w////i/////D////y////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uf///+b///8R////AP///yv////3////3v///3z///9w////q////wD///8A////Ev///+b///9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////Zv////r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1v////////8i////AP///9b/////////Iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///4j///+I////iP///4j///+I////iP///4j////H/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Uf///+b///8R////AP///wD/////////pP///wD///+T/////////27///8A////Ev///+b///9Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zP///9L///8E////AP///wD///+z////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gv///+n///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD///81////cv////v///+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///07////Y////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4////33///8A////gP///+D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP/////////1v///wD///8j/////////9b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lv////D///8W////AP///w/////k////Vv///wD/////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lv////D///8W////AP///wD///8A////AP///4L////p////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+W////8P///xb///8A////D////+T///9W////AP////////94////AP///wD///8A////AP///wD///8A////8f///9X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///99/////////7n///+M////jP///4z///+M////jP///7j/////////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///99/////////7n///+M////jP///4z///+M////jP///7j/////////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///99/////////7n///+M////jP///4z///+M////jP///7j/////////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///99/////////7n///+M////jP///4z///+M////jP///7j/////////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///99/////////7n///+M////jP///4z///+M////jP///7j/////////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///99/////////7n///+M////jP///4z///+M////jP///7j/////////fP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c////+f///9j///+M////jP///4z///+M////jP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Tv///9j///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///5j/////////gf///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////x/////D///8T////3/////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lf////////98////AP///wD///8A", + "////AP///wD///8A////AP///3z/////////jP///wD///8A////AP///wD///8A////AP///wD///8A////lf////////98////AP///wD///8A////AP///wD///8A////AP///3z/////////jP///wD///8A////AP///wD///8A////AP///wD///8A////lf////////98////AP///wD///8A////AP///wD///8A////AP///3z/////////jP///wD///8A////AP///wD///8A////AP///wD///8A////lf////////98////AP///wD///8A////AP///wD///8A////AP///3z/////////jP///wD///8A////AP///wD///8A////AP///wD///8A////lf////////98////AP///wD///8A////AP///wD///8A////AP///3z/////////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP////////+Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv////v////f////3P///+r///8T////AP///wD///8A////Bf///+P////5////Hv///wD///8A////AP///wD///8A////AP///wD///8A////2/////////8w////AP///wD///8A////AP///wD///8O/////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2/////////8w////AP///wD///8A////AP///wD///8O/////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2/////////8w////AP///wD///8A////AP///wD///8O", + "/////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2/////////8w////AP///wD///8A////AP///wD///8O/////////9n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////kv///6r////u/////////7j///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///17/////////xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////+F////Bf///wD///8A////AP///+7/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////+F////Bf///wD///8A////AP///+7/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////+F////Bf///wD///8A////AP///+7/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////+F////Bf///wD///8A////AP///+7/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////+F////Bf///wD///8A////AP///+7/////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////+F////Bf///wD///8A////AP///+7/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wf////////9b////AP///wD///8A////Cv//////////////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///07////Y////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xv////////8e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xv////////8e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xv////////8e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xv////////8e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5/////7///8J////AP///wD///8A////AP///wD///9A/////////8f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////w/////////8h////AP///wD///8A////AP///wD///8h/////////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////w/////////8h////AP///wD///8A////AP///wD///8h/////////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////w/////////8h////AP///wD///8A////AP///wD///8h/////////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////w/////////8h////AP///wD///8A////AP///wD///8h/////////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////w/////////8h////AP///wD///8A////AP///wD///8h/////////8T///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////TP///4j///+I////iP///4j///+I////iP///4j///+I////e////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jv////////+q/////////87///8G////AP///wD///9u/////////5L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////v///+z///8A////AP///wD///8A////Bv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////v///+z///8A////AP///wD///8A////Bv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////v///+z///8A////AP///wD///8A////Bv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////v///+z///8A////AP///wD///8A////Bv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////1////0////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////1////0////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////d////+////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////aP///2j///9o////4////9D///9o////aP///2j///+V/////////4b///9o////aP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wT////x////8P///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W/////////zb///8A////6f///6j///8A////AP///63////k////AP///wD///8A////AP///wD///8A////sv////////9o////AP///wD///9S////+P////L///8+////AP///3P/////////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP////////9i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9j/////////5H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////r/////H///+w////a////7b///+1////av///6/////v////u////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P//////////////////////////////////////////////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////3v///+z///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P////////8O////AP///wD///8A////AP///xL/////////0f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////PP////X////g////Hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yb/////////zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////YP////////9p////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yf/////////1P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3/////3///8R////AP///wD///8A////AP///wP////4////2////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///6X/////////R////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf////////9i////AP///wD///8A////AP///1//////////p////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z3/////////rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qv////z////O////Y////wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////Yv///83////8////qv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P///8z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////o////97///8A////AP///1L/////////yP///2r////E////7f///6z///+y////Z////9T////k////Ef///wD///8A////AP///wD///8A////AP///wD///8c/////P/////////////////////////////////////////8////G////wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///yX/////////2f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uf////////9B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///9G/////////63///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf////////87////AP///wD///8A////AP///wD///8A////AP////D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///4b/////////nf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///7H////8////Ff///xT////7////hv///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///9R/////////3r///8A////6v////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////v/////////82////AP///wD///8A////AP///wD///8A////AP///zf/////////uf///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+i//////////L///+/////mP///77////x/////////67///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///2n/////", + "////tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////53/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P////L///8A////AP///wD///8A////AP///wD///8A////8f////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///+P////3////Df///wr////1////4////wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////g/////////9W////Rf////////9t////AP///wD///8A////dv////////8n////Wf////////91////AP///wD///8A////AP///wD///8A////Df///+b////e////E////+X////w////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F//////////H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+l/////////2D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yb////+////r////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8K////5P///63///8A////lv////H///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////H/////////6////7v///+e////kv////X/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////H///8A////AP///wD///8A////AP///xb/////////7////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v////7///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8P////7///8E////AP///wD///8A////AP///wD////s/////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v////////+N////jP///4z///+M////jP///4z///+M////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv///8z////8////wf///7D///+w////uf///+r/////////if///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////o////zP////////9g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD////o", + "/////////wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6/////7///8G////AP///wD///8A////AP///wD///8H/////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////97///8W////mf///+b////0////x////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9u////yP////T////n////mP///xP////h/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv///5H////z/////////9j///8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP////D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8U/////P///8j///8A////AP///9X////4////D////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+K/////////z7///8e/////////3L///8A////av////////8j////P/////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////fP//////////////d////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////8/////////y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///88/////v///7X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf////////8k////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xv////////9F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////u////nv///wD///8A////AP///wD///99////8f///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zT///+M////jP///4z/////////+P///4z///+M////jP///zD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M////dv///9X//////////P////////+X////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////s////4b///8A////AP///6j////4////Gv///wD///8A////AP///wD///8A////AP///4f///+y////AP///wD///8A////AP///wD///8A////YP///0r///80////xP///7L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////W/////////+L////AP///1r/////////i////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////s////4b///8A////AP///wD/////////pP///yT////6////1////wX///8A////AP///4f///+y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Sv/////////F////dv///7T/////////Rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7////+3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////6r///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+L///+Q////5////+r///+5////JP///6D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mf///9T///9K////1f///5H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4z/////////Wv///wD///+M/////////1n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///+v///+e////AP///wD///9L////4f///wr/////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///+v///+e////AP///wD///8A////AP///wD///+/////t////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////6////57///8A////AP///0v////h////Cv////////94////AP///wD///8A////AP///wD///8A////vf////7///8r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8c/////P/////////////////////////////////////////8////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c/////P/////////////////////////////////////////8////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c/////P/////////////////////////////////////////8////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c/////P/////////////////////////////////////////8////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c/////P/////////////////////////////////////////8////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8c/////P/////////////////////////////////////////8////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mv/////////////////////////////////////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////NP///5L///+9////6P////3////w////zf///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///0b/////////rf///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///9R/////////3r///8A////6v////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////v/////////82////AP///wD///8A", + "////AP///wD///8A////AP///zf/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////v/////////82////AP///wD///8A////AP///wD///8A////AP///zf/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////v/////////82////AP///wD///8A////AP///wD///8A////AP///zf/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////v/////////82////AP///wD///8A////AP///wD///8A////AP///zf/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////v/////////82////AP///wD///8A////AP///wD///8A////AP///zf/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9k////+////5z////7////Zv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kv////////97////Rv////////+e////AP///wD///8A////AP///3z/////////jf///wD///8A////AP///wD///8A////AP///wD///8A/////P////L///8A////AP///wD///8A////AP///wD///8A////8f////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P////L///8A////AP///wD///8A////AP///wD///8A////8f////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P////L///8A////AP///wD///8A////AP///wD///8A", + "////8f////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P////L///8A////AP///wD///8A////AP///wD///8A////8f////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F//////////H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8L////vP////////9z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8D////fv////v////2////Ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////H/////////6////7v///+e////kv////X/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////H/////////6////7v///+e////kv////X/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////H/////////6////7v///+e////kv////X/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////H/////////6////7v///+e////kv////X/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////H/////////6////7v///+e////kv////X/////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv////H/////////6////7v///+e////kv////X/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////L/////L////+////uP///4L///9l////Vv//////////////jf///4z///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8l////o////9T////2////7f///8z///9q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v////////+N////jP///4z///+M////jP///4z///+M////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v////////+N////jP///4z///+M////jP///4z///+M////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v////////+N////jP///4z///+M////jP///4z///+M////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v////////+N////jP///4z///+M////jP///4z///+M////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6/////////8L////AP///wD///8A////AP///wD///8I/////v///+7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6/////7///8G////AP///wD///8A////AP///wD///8H/////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6/////7///8G////AP///wD///8A////AP///wD///8H/////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6/////7///8G////AP///wD///8A////AP///wD///8H/////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6/////7///8G////AP///wD///8A////AP///wD///8H/////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6/////7///8G////AP///wD///8A////AP///wD///8H/////////+v///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////kP//////////////////////////////////////////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////w/////////8X////nf////////+K////AP///wD///8h/////////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP////D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP////D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP////D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP////D/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////8/////////y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////97///8W////mf///+b////0////x////2z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj////8/////////y7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hv////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rf///9L///8A////AP///wD///8r/////////1T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////Av///2v/////////wf///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3r////i////4f///3z///8B////zP///77///8A////xf///9D///8A////AP///9f///+8////AP///wD///8A////AP///wD///8A////K/////D////6////Zf///2L////8////7f///zX///8A////AP///xD////8////2v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zP////////8n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8n/////////8v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv///wT///8A////AP///7r///+5////AP///wD///8D////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////c/////////9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6P////3///8B////AP///wD///8A////AP///wL////+////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0f////6////2P///w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////If///83////9////S////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7f////y////Hv///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////M////8v/////////if///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+v////////+k////Bv///wD///8A////AP///3H/////////n////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///y3////+////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP///+/////v////Xv///wD///8J////gf////z////e////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xj///+Z////2P////f////j////jP///yL/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL///+T////9f///+3///+L////If///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////IP///4r////t////9f///5P///8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3f////n///8e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////y////7n///8A////AP///8L////4////B////wD///8P////9P////////8Z////AP///x7////6////ef///wD///8A////AP///wD///8A////AP///wD///8A////tf////////9S////AP///wD///8A////T/////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////B////6n/////////gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3P////////8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8k/////////9P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2v////////8d////AP///wD///8A////AP///4z///+M////jP////j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+Q////Nv////v////k////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////DP////f////A////AP///wD///+6////3f///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wP////X////5f///wr///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3/////////8b////AP///wD///8A////AP///wD///8A////AP///xz/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////////////////////+v///9n///+y////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////v////xP///8A////AP///wD///8S////vv////////+W////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////", + "////Xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3///9s////3P/////////v////K////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////QP////////+u////AP///wD///+p/////////z////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zf////7///8V////CP////T///+6////AP///wD///8A////wf///97///8A////F/////7////A////AP///wD///8A////AP///wD///8A////AP///1v/////////2f////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9v//////////////9R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////9v///+b///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5P/////////QP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Yf////////9W////+f///3r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT///97////uP///9j////v////+f//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wT////+////7////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6v////7///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8P////7///8G////AP///wD///8A////AP///wD////z/////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////6////////////////////////////////////////////////f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4z/////////////////////////9f///9L///93////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+7///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9j////g/////////7L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+7///8A////AP///wD///8A////AP/////////q////AP///wD///8A////AP///wD////o", + "/////////wD///8A////AP///wD///8A/////////+7///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7f////7///8G////AP///wD///8A////AP///wD///8H/////v///+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+L////e////5f///6j///+j////5/////////+e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5//////////5f///6P///+i////3////9f////f/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf///+S/////f/////////e////b////wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9n/////////3b///8A////AP///4D/////////X////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD////O////+f///wj///8A////2////7L///8A////pf///+b///8A////CP////j////L////AP///wD///8A////AP///wD///8A////AP///wD///8A////T///////////////S////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3H////0////+f///4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lf////////9c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Q/////////9T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////U/////////xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////o/////////8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5P////////8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////dv///3j/////////9////3j///94////eP///3j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////t////oP///wD///8A////AP///wD///9+////5f///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2D//////////////////////////////////////////////1j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zD////o/////////7P///9N////C////4v/////////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3v///1P///8A////AP///9////+9////AP///wD///8A////AP///wD///8A////AP///1T////e////AP///wD///8A////AP///wD///8A////h////9z////w////sf///zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T////4////Hv///wD///+y////+P///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////3v///1P///8A////AP///wD/////////0////8X/////////S////wD///8A////AP///1T////e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0n////K////8v///8j///9G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////g////4j///+I////iP/////////H////iP///4j///+I////RP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////wL///8A////AP///4r////y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////Lf///8r///+s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////z////5/////c////5////+L/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP///yv////5////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////7T////x////r////w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////H/////j///+z////AP///x/////4////sf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///2b////+////N////wD///8A////ov///3n////7////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///2b////+////N////wf///8C////AP///wD///+K////8v///wD///8A////AP///wD///8A////AP///wD///8A////nP///+X////4////2////4X///8I////Zv////7///83////AP///wD///+i////ef////v///94////AP///wD///8A////AP///wD///8A////Rv/////////V////FP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////tf////////9S////AP///wD///8A////T/////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf////////9S////AP///wD///8A////T/////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf////////9S////AP///wD///8A////T/////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf////////9S////AP///wD///8A////T/////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf////////9S////AP///wD///8A////T/////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf////////9S////AP///wD///8A////T/////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I/////z///+4////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///9+////+//////////Z////rv///5T///+u////2f////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///yT/////////0////wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wP////X////5f///wr///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3/////////8b////AP///wD///8A", + "////AP///wD///8A////AP///xz/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////3/////////8b////AP///wD///8A////AP///wD///8A////AP///xz/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////3/////////8b////AP///wD///8A////AP///wD///8A////AP///xz/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////3/////////8b////AP///wD///8A////AP///wD///8A////AP///xz/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////3/////////8b////AP///wD///8A////AP///wD///8A////AP///xz/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////AP///3P/////////bv///wD///9p/////v///3n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uP////////8y////AP///6b/////////P////wD///8A////AP///zf/////////uf///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A", + "////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9v//////////////9R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////Mf/////////P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///xP////D/////////+D///84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT///97////uP///9j////v////+f//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT///97////uP///9j////v////+f//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT///97////uP///9j////v////+f//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT///97////uP///9j////v////+f//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT///97////uP///9j////v////+f//////////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xT///97////uP///9j////v////+f//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xb///9+////uf///9r////w////+v////////////////////////////////////////////////////3///8A////AP///wD///8A////AP///2H////5/////P///8v///+o////uf///+D////M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6////////////////////////////////////////////////f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6////////////////////////////////////////////////f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6////////////////////////////////////////////////f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6////////////////////////////////////////////////f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////8+////AP///wD///8A////AP///wD///81//////////H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+7///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7f////7///8G////AP///wD///8A////AP///wD///8H/////v///+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7f////7///8G////AP///wD///8A////AP///wD///8H/////v///+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7f////7///8G////AP///wD///8A////AP///wD///8H/////v///+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7f////7///8G////AP///wD///8A////AP///wD///8H/////v///+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7f////7///8G////AP///wD///8A////AP///wD///8H/////v///+v///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6/////7///8C////DP///9z////9////Qf///wD///8H/////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3H////0////+f///4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+L////e////5f///6j///+j////5/////////+e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3H////0////+f///4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP////////8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gv////n///8E////AP///wD///8G/////P///33///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////K////4f/////////k////Jv///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////W/////////+q////sv////////9d////Rv////////9F////Z/////////+q////sv////////9Y////AP///wD///8A////AP///wD///8A////AP///zL////a///////////////q////Lf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////5f////////8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8M/////////+T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9b////V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////EP////T////R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+v////P///8A////AP///wD///8A////AP///wD////0////+f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9q/////////63///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+Y////mv///6z////L////8v///5z///81////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x3////x////uf///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///83///+x////nf///73////0//////////////+3////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v////7///+6////3////5b///+F////uv/////////q////F////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///+z/////////zL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yj////H/////////77////m/////////63///8T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv///+z/////////tv///4T///+V////3f///7v////8////7////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////33////p/////f///7P///9H////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///0b///+y/////f///+n///99////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP/////////N////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////8f///5b///8A////AP///+z////E////AP///wD///8A////sv////////8B////AP///wD///+5////xP///wD///8A////AP///wD///8A////AP///wD///8A////UP////////+u////AP///wD///8A////rf////////9P////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///47///+p////4v////j///+P////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9/////////8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8I//////////X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9v////////8H////AP///wD///8A////AP//////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///+M////+P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j////v////+v////////9L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////V/////////9t////AP///wD///9k/////////zX///8A////8P////////8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///2X/////////Zv///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9/////////8G////AP///wD///8A////AP///wD///8A////AP///wf/////////9////wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////kv///6r////u/////////7j///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////J/////z////l////Bv///wD///8A////AP///wD///8A////Bf///+P/////////Lf///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jv///6f////k", + "/////////5////8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8N////h/////D//////////f///6z///8d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////mv////////9W////AP///wD///9T/////////5n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8X/////v///87///8A////AP///67////5////Dv///wD///8Q////+////5P///8A////AP///9H////7////EP///wD///8A////AP///wD///8A////AP///wD////E/////////9j///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////u////5P///+z////d////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////g/////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////D/////P////Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Av///9D////8////5f///wr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////8E////AP///wD///8A////AP///xr/////////zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wv////////8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P////////8d////AP///wD///8A////AP///wj//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf////////8v////AP///wD///8A////AP///wn/////////3v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+j////L////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////7///8D////AP///wD///8A////AP///+z////+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9L///8s////8f///+r///8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////7///8D////AP///wD///8A////BP/////////7////Av///wD///8A////AP///wD////s", + "/////v///wD///8A////AP///wD///8A//////////7///8D////AP///wD///8A////AP///+z////+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP////////8f////AP///wD///8A////AP///wD///8h/////////8L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////F////D////wD///8A////Fv///9r/////////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////O//////////R////E////wD///8A////Cv///77//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5X/////////2P///0////8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+9/////////yL///8A////AP///yv/////////tv///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///xP////+////xf///wD///8A////mf///+7///8B////4P///6n///8A////AP///8P////9////Ef///wD///8A////AP///wD///8A////AP///wD///8S////5v///+3////t////5P///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87////E////w////+H///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df///+L////s////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B/////////4n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+M/////////4D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lP////////8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P////3///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////P////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+y////8P///x7///8A////AP///w/////g////oP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////DP///+j////X////5v///9T///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8z////8////T////wD///8A////AP///wD////b////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9////yz///8A////AP////f///+q////AP///wD///8A////AP///wD///8A////AP///y3////3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz////x////ov///wD///8a////8P///6L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////9////yz///8A////AP///wD/////////9P///+7/////////yf///w////8A////AP///y3////3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P//////////////////////////////////////////////gP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////q////87///9q////Yv///+b///+9////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////oP///6j///9d////UP///8v////n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////90////AP///wD///8I////uv//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ff///93////0////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////o/////H///8b////AP///6P////w////Gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wL////M////y////wL///8A////Ef///9T////4////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wL////M////y////67////O////av///2L////m////vf///wD///8A////AP///wD///8A////AP///wD///8A////wP///23///9R////kv////n///+O////Av///8z////L////Av///wD///8R////1P////j///94////AP///wD///8A////AP///wD///8A////AP///4T/////////zf///w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////UP////////+u////AP///wD///8A////rf////////9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////UP////////+u////AP///wD///8A////rf////////9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////UP////////+u////AP///wD///8A////rf////////9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////UP////////+u////AP///wD///8A////rf////////9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////UP////////+u////AP///wD///8A////rf////////9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////UP////////+u////AP///wD///8A////rf////////9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6T/////////Mf///wD///8A////AP/////////4////jP///4z///+M////jP///4z///+M////AP///wD///8A////AP///4j/////////5f///0f///8A////AP///wD///8A////AP///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M", + "////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP///4z/////////+P///4z///+M////jP///wD///8A////AP///wj/////////9f///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///2X/////////Zv///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9/////////8G////AP///wD///8A", + "////AP///wD///8A////AP///wf/////////9////wD///8A////AP///wD///8A////AP///wD///8A////9/////////8G////AP///wD///8A////AP///wD///8A////AP///wf/////////9////wD///8A////AP///wD///8A////AP///wD///8A////9/////////8G////AP///wD///8A////AP///wD///8A////AP///wf/////////9////wD///8A////AP///wD///8A////AP///wD///8A////9/////////8G////AP///wD///8A////AP///wD///8A////AP///wf/////////9////wD///8A////AP///wD///8A////AP///wD///8A////9/////////8G////AP///wD///8A////AP///wD///8A////AP///wf/////////9////wD///8A////AP///wD///8A////AP///wD///8A////d/////////+D////AP///wD///8A////eP////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3P////////8Y////AP///xf////u////2P///wb///8A////AP///xz/////////3P///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A", + "////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////u////5P///+z////d////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////EP/////////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///7T/////////oP///w7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T/////////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+T/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z/////////L////wD///8A////AP///wD///8J/////////97///8A////AP///wD///8A////If////T////o////N////wD///8A////AP///wD///8d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf////////8v////AP///wD///8A////AP///wn/////////3v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf////////8v////AP///wD///8A////AP///wn/////////3v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf////////8v////AP///wD///8A////AP///wn/////////3v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf////////8v////AP///wD///8A////AP///wn/////////3v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ZP/////////K////Fv///wD///8A////AP///xr////L/////////9f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////7///8D////AP///wD///8A////AP///+z////+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP////////8f////AP///wD///8A////AP///wD///8h/////////8L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP////////8f////AP///wD///8A////AP///wD///8h/////////8L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP////////8f////AP///wD///8A////AP///wD///8h/////////8L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP////////8f////AP///wD///8A////AP///wD///8h/////////8L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yP////////8f////AP///wD///8A////AP///wD///8h/////////8L///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////7v////7///8G////AP///zn////8////4////xH///8O/////////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87////E////w////+H///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////F////D////wD///8A////Fv///9r/////////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///87////E////w////+H///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////o/////////8a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////V/////////8o////AP///wD///8A////2f///6b///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3///98////2v//////////////0////3T///8K////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////v////9D///8A////AP///9j///+/////AP///77////L////Av///4L////i////4P///3f///8A////AP///wD///8A////AP///wD///8A////AP///wD///95///////////////8////kf///wr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P////X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f////f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////L////x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5b/////////QP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6/////3///8B////AP///wD///8A////AP///wL////+////5v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf////////9G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////////////////////2////ev///xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9n/////////2L///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8f////b////h////9P////f////Z////sP///0z///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3/////////8d////if///9/////3////1////5f///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///85/////////6j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9p////+///////////////4f///z7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pP////////9t////AP///wD///8A////Bf///53/////////+f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////Z////9n/////////2P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2P/////////Z////Zv///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4T/////////xP///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////4////57///8A////AP////H///+u////AP///wD///8A////kv////////8O////AP///wD///+Q////7f///wD///8A////AP///wD///8A////AP///wD///8A////BP///+f////5////Ev///wD///8R////+f///+b///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////9v///3////8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////2/////////8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8f/////////97///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1/////////8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///9Q/////////9f///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+////8A////qv////7///8c////AP///wD///8S////+v///4z///8A////8P////////8A////AP///wD///8A////AP///wD///8A/////////+7///8A////Cf///+X////Y////A////wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f////////8a////AP///wD///8A////AP///wD///8A////AP///xv/////////3P///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8L////vP////////9z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lf////////98////AP///wD///8A////AP///wD///8A////AP///3z/////////iv///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8I", + "////sP////////9v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xb////T/////////+7///+M////Iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////7v////T///8K////AP///wD///8J////8////+3///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9g/////////4j///8A////AP///1//////////Vf///wD///9X/////////0n///8A////AP///4z/////////Vv///wD///8A////AP///wD///8A////AP///xL////o/////////+z///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5H/////////Yf///27/////////ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C////+b////2////Hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////cf////////9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0P/////////Zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af////n////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////8/////AP///wD///8A////AP///1r/////////pP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lv////////91////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////p/////////9j////AP///wD///8A////AP///0r//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP////////+O////AP///wD///8A////AP///zb/////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3D////m////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////88////AP///wD///8A////If/////////m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+H///8A////Rv////v////Z////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////87////AP///wD///8A////OP//////////////Lv///wD///8A////AP///yH/////", + "////5v///wD///8A////AP///wD///8A//////////////88////AP///wD///8A////If/////////m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////////9o////AP///wD///8A////AP///wD///9t/////////4////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////9F////AP///wD///8A////AP///4T/////////p////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qf////////9Z////AP///wD///8A////AP///z3//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////9b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+r////7////FP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xb////8////z////wD///8A////AP///wD////W////+v///xP///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///1T/////////iP///wD///8A////Vv////////88/////////2z///8A////AP///4T/////////U////wD///8A////AP///wD///8A////AP///wD///+l/////////2T///9l/////////6H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////K/////////+D////ff////////89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0r/////////qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ov///9b////7////q////xz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8d////rP////v////W////ov///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////hv////n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4P////////8U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+K/////////+r///+F////f////9//////////mP///wH///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////f/////////9U////af////////9l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////P////U////AP///wD///8A////AP///xb////v////4v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3v///1P///8A////AP///+D////A////AP///wD///8A////AP///wD///8A////AP///1T////d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9m////i////wD///8A////Y////43///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////3v///1P///8A////AP///wD/////////pP///wH///9e/////////3r///8A////AP///1T////d////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jf///6f////j////7////7D///8e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP///73////0////8v///8T///8/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////8g////AP///wD///8A////PP//////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9A////ff///5j///+A/////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3D////+////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP///2b///8A////AP///43///9j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///84/////v///2X///8A////AP///1D/////////eP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///84/////v///4r///+n////4////+////+w////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7H////l////AP///zj////+////Zf///wD///8A////UP////////94////AP///wD///8A////AP///wD///8A////AP///wD///+n/////////43///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////BP///+f////5////Ev///wD///8R////+f///+b///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///+f////5////Ev///wD///8R////+f///+b///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///+f////5////Ev///wD///8R////+f///+b///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///+f////5////Ev///wD///8R////+f///+b///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///+f////5////Ev///wD///8R////+f///+b///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///+f////5////Ev///wD///8R////+f///+b///8E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yv////+////qf///wD///8A////AP//////////////////////////////////////////////AP///wD///8A////HP////f////6////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////wD///8A////AP///x//////////3v///wD///8A////AP///wD///8A////AP///wD///8A/////////+7///8A////Cf///+X////Y////A////wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f////////8a////AP///wD///8A", + "////AP///wD///8A////AP///xv/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////4f////////8a////AP///wD///8A////AP///wD///8A////AP///xv/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////4f////////8a////AP///wD///8A////AP///wD///8A////AP///xv/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////4f////////8a////AP///wD///8A////AP///wD///8A////AP///xv/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////4f////////8a////AP///wD///8A////AP///wD///8A////AP///xv/////////3P///wD///8A////AP///wD///8A////AP///wD///8A////Lf///4f///8A////AP///wD///8A////AP///37///85////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9/////////8G////AP///wD///9m/////////3////8A////AP///wf/////////9v///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A", + "////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5H/////////Yf///27/////////ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////W//////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP////X////Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af////n////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af////n////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af////n////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af////n////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af////n////v////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af////n////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E///////////////jv///wD///8A////AP///wD///82/////////7T///8A////AP///wD///8A////l/////////9u////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP////////+O////AP///wD///8A////AP///zb/////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP////////+O////AP///wD///8A////AP///zb/////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP////////+O////AP///wD///8A////AP///zb/////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP////////+O////AP///wD///8A////AP///zb/////////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6r/////////7////7H///+W////tf////L////0/////////7D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////88////AP///wD///8A////If/////////m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////////9o////AP///wD///8A////AP///wD///9t/////////4////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////////9o////AP///wD///8A////AP///wD///9t/////////4////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////////9o////AP///wD///8A////AP///wD///9t/////////4////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////////9o////AP///wD///8A////AP///wD///9t/////////4////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////////9o////AP///wD///8A////AP///wD///9t/////////4////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///2v///8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yf////////8f////AP///wD///+D/////////6r///85/////////8L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////K/////////+D////ff////////89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////9F////AP///wD///8A////AP///4T/////////p////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////K/////////+D////ff////////89////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf////////8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2j///9o////h/////////+U////aP///2j///9o////1f///97///9o////aP///2j///8A////AP///wD///8A////AP///wD///8A////Kv///+X/////////3P////////95////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////5////6j///8A////AP///63////m////AP///zf/////////Vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0P////+////4////z////+p/////////87///8R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f////z///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H/////P////T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///+F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yj////+////rv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////1f////////8O////AP///wD///8A////AP///xL/////////zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ov////////+3////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////BP///x7///9n////6f///+j///8t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////vf///+////8a////AP////z////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3f///9v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf////////9D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////z///8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4f/////////w////zr///84////xf////7///9v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3/////b///8C////AP///wD///8A////AP///wv////6////3f///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////f///+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL///9Q////xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf///1D///8C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+E/////////4D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////uP///8T///8A////AP///83////U////AP///wD///8A////gv////////8b////AP///wD///+G////9f///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j/////////aP///wD///9o/////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wL///8V////Uf///+P////l////G////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tP////////9G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///9B/////////7f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rv////////9G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////h/////////+J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+z///8J////9P///8j///8A////AP///wD///8A////t////+L///8B////7/////////8A////AP///wD///8A////AP///wD///8A/////////+j///8A////eP////////9S////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////82////AP///wD///8A////AP///wD///8A////AP///zb/////////uf///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////Mf/////////P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////v/////////82////AP///wD///8A////AP///wD///8A////AP///zf/////////yv///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A", + "////K//////////R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r/////////tv///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9P/////////6f///8A////AP///wD///8A////pf////////9O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q/////////0P///8A////AP///xT////8////ov///wD///+i////9f///wj///8A////AP///0f/////////ov///wD///8A////AP///wD///8A////AP///6P/////////pf////////+p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////J/////v////S////Av///wX////a////8////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2H/////////pP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////3f///+v///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP///8V////AP///wD///8A////Tf/////////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+/////DP///wD///8A////E////9H/////////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv////L////s////Pv///wD///8A////AP///wL///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////OP/////////Z////F////wD///8A////D////8f//////////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv////X////p////OP///wD///8A////CP///7n/////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9t//////////3////u////wf///0D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+8////CP///wD///8A////dP////////+/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///2P/////////w////wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+4////Bv///wD///8A////iP//////////////sf///wf///8A////AP///3T/////", + "////wP///wD///8A////AP///wD///8A//////////////+8////CP///wD///8A////dP////////+/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf////X////h////KP///wD///8A////AP///yz////l////7////xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////8F////AP///wD///8A////AP///03/////////z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0f////////8a////AP///wD///8A////AP///wj//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////P////i////Kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9/////8////KP///wD///8A////AP///xb///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2n/////////fP///wD///8A////AP///wD///+B/////////2X///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///5j/////////S////wD///8A////FP////7///+l/////////y////8A////AP///0X/////////lv///wD///8A////AP///wD///8A////AP///1H/////////xf///wH///8B////xv////////9O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP////////84////MP////////+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+k/////////0////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////S////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////R////9L//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////d////+v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////9L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4//////////lf///6n////s////6////6b///+Z/////////6H///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8W////8v///87///8B////BP///9v////n////C////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6/////7////Q////wD///8I////W////97/////////a////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////sf///4f///8A////AP///6j////6////HP///wD///8A////AP///wD///8A////AP///4f///+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////sf///4f///8A////AP///wD/////////pP///wD///8e/////////4n///8A////AP///4f///+x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+z///8A////AP///wD///8A////A/////7/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5///////////////////////////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///8A////n////+v///8R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///8A////n////+v///8R////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6T////i////AP///wD///+f////6////xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8P////9f///+L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///4j/////////aP///wD///9o/////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j/////////aP///wD///9o/////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j/////////aP///wD///9o/////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j/////////aP///wD///9o/////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j/////////aP///wD///9o/////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j/////////aP///wD///9o/////////4f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+u/////f///yX///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///0H/////////t////wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////eP////////9S////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////82////AP///wD///8A", + "////AP///wD///8A////AP///zb/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////wP////////82////AP///wD///8A////AP///wD///8A////AP///zb/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////wP////////82////AP///wD///8A////AP///wD///8A////AP///zb/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////wP////////82////AP///wD///8A////AP///wD///8A////AP///zb/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////wP////////82////AP///wD///8A////AP///wD///8A////AP///zb/////////uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f////////8a////AP///wD///8B////xP////j///8n////AP///xn/////////2v///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A", + "////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////J/////v////S////Av///wX////a////8////xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8U////xf////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///7r////8////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP///8V////AP///wD///8A////Tf/////////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP///8V////AP///wD///8A////Tf/////////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP///8V////AP///wD///8A////Tf/////////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP///8V////AP///wD///8A////Tf/////////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP///8V////AP///wD///8A////Tf/////////I////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP///8V////AP///wD///8A////Tf/////////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT///8U////AP///wD///8A////Y///////////////6f///zj///8A////AP///wj///+5/////////0f///8A////AP///wD///8A////xf////////8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv////X////p////OP///wD///8A////CP///7n/////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv////X////p////OP///wD///8A////CP///7n/////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv////X////p////OP///wD///8A////CP///7n/////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Gv////X////p////OP///wD///8A////CP///7n/////////SP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S////uf///+D////1////1P///5r///98/////////2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+8////CP///wD///8A////dP////////+/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf////X////h////KP///wD///8A////AP///yz////l////7////xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf////X////h////KP///wD///8A////AP///yz////l////7////xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf////X////h////KP///wD///8A////AP///yz////l////7////xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf////X////h////KP///wD///8A////AP///yz////l////7////xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf////X////h////KP///wD///8A////AP///yz////l////7////xb///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///9////9p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////////9o////AP///wD///8E////yv////////++/////////43///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP////////84////MP////////+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////8F////AP///wD///8A////AP///03/////////z////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP////////84////MP////////+Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////v/////////83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////////////////////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////wf////////9j////AP////////9s////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////+v///43///8A////AP///47////5////AP///wD///+v////2f///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D/////////Q////wD///8A////e/////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v////////8s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8t/////////+H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+5/////P///x////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u/////////81////AP///wD///8A////AP///zv/////////r////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B/////z////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////O/////////+9////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////If////T///+y////AP////f////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df////////+O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////R/////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////If////3////L////BP///wD///8A////Bv///8/////6////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v///+f///8A////AP///wD///8A////AP///wX////6////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9v/////////0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8E////6v///93///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////jf///+n///8A////AP///33/////////QP///wD///8A////dP////////8o////AP///wD///+u////zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT/////////xP///wD////E/////v///yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///1j/////////kf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////g/////////+e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///+C/////////47///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////fP////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////Af///67/////////ZP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+T///9R/////////3b///8A////AP///wD///8A////Yf////////86////6v////////8A////AP///wD///8A////AP///wD///8A/////////93///8R////7////8f///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////////97////AP///wD///8A////AP///wD///8A////AP///3r/////////jf///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////EP/////////z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3/////////8b////AP///wD///8A////AP///wD///8A////AP///xz/////////5f///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A", + "////Cv/////////0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+L/////////Ff///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+p/////////0////8A////AP///wD///8A////Tv////////+p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wT////v////9f///wf///8A////AP///wD////C////6f///wP////q////s////wD///8A////AP///wn////4////6////wL///8A////AP///wD///8A////S/////////++////Af///6L/////////UP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////s/////////9J////AP///wD///9Q/////////6P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wL////O/////v///zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9O/////////4X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D////5////vv///5n///+o////+f////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+T////c////4v///6f///+j////5f////////+a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///13////4/////f///9D///+p////tv///+v///+f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5v/////////6P///6T///+p////5f///93////i/////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P////5/////////9D///+f////3P////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///1j/////////8P///1j///9Y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0b////9/////v///7////+7/////v////7///9C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+L////W////3P///6D////Q//////////////9J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///+D/////////6j///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9P////Y////2v///5/////W//////////n///9h////7P///9z///+f////0P//////////", + "////TP///wD///8A////AP///wD///8A/////////9P////W////3P///6D////Q//////////////9J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1/////2////9P///7j///+X////uf////b////y////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////H///8A////AP///wD///8A////AP///xb/////////7////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8P////7///8E////AP///wD///8A////AP///wD////s/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////7P///+c////+v///8n////E////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3P/////////7P///7D///+b////xP////z///+G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////WP///1j/////////8P///1j///9Y////Uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7//////////KP///wD///8A////AP///wD///8s/////////7z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///9v////9////EP///wD///8A////AP///9D////5////8P///wL///8A////AP///wv////7////2v///wD///8A////AP///wD///8A////FP///+n////7////Lv///wD///8A////L/////z////o////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////4////+P///8B////AP///9v////s////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////O////1j///9Y////WP///1j///9r/////f///+X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////GP///0j////F/////////2j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9r/////////67///8t////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Y//////////R////P////wD///8A////AP///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///17///+a////AP///wD///8A////AP///wD///8B////nf///1r///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+T/////////0v///8A////AP///1n/////////gf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD///+n/////f///8f////y/////////9X///9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////UP///+f///8S////AP///y3////4////3P///3j///+J////kf///wD///8A////E////+j///9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////UP///+f///8S////AP///wD/////////x////3H////B/////////yr///8A////E////+j///9P////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+//////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uv///////////////////////////////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///8A////Fv////D///+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///8A////Fv////D///+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yD///81////cv////v///+C////AP///wD///8W////8P///5X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv////z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///yT/////////xP///wD////E/////v///yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT/////////xP///wD////E/////v///yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT/////////xP///wD////E/////v///yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT/////////xP///wD////E/////v///yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT/////////xP///wD////E/////v///yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yT/////////xP///wD////E/////v///yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y/////////5v///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////uf////////9B////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///4L/////////jv///wD///8A////AP///wD///8A////AP///wD///8A/////////93///8R////7////8f///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////////97////AP///wD///8A", + "////AP///wD///8A////AP///3r/////////jf///wD///8A////AP///wD///8A////AP///wD///8A////l/////////97////AP///wD///8A////AP///wD///8A////AP///3r/////////jf///wD///8A////AP///wD///8A////AP///wD///8A////l/////////97////AP///wD///8A////AP///wD///8A////AP///3r/////////jf///wD///8A////AP///wD///8A////AP///wD///8A////l/////////97////AP///wD///8A////AP///wD///8A////AP///3r/////////jf///wD///8A////AP///wD///8A////AP///wD///8A////l/////////97////AP///wD///8A////AP///wD///8A////AP///3r/////////jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////82////AP///wD///8A////LP////r///+/////AP///zL/////////tP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A", + "////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////s/////////9J////AP///wD///9Q/////////6P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////kv///83////+/////////+b///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///xf////H/////f///37///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D////5////vv///5n///+o////+f////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D////5////vv///5n///+o////+f////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D////5////vv///5n///+o////+f////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D////5////vv///5n///+o////+f////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D////5////vv///5n///+o////+f////////9U////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8D////5////vv///5n///+o////+f////////9U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8H////4////vf///5f///+t/////P///9////9t////+P/////////R////nv///9z/////////nP///wD///8A////AP///wD///8A////7v////7///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P////5/////////9D///+f////3P////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P////5/////////9D///+f////3P////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P////5/////////9D///+f////3P////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2P////5/////////9D///+f////3P////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX////e////7v///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9P////W////3P///6D////Q//////////////9J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1/////2////9P///7j///+X////uf////b////y////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1/////2////9P///7j///+X////uf////b////y////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1/////2////9P///7j///+X////uf////b////y////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1/////2////9P///7j///+X////uf////b////y////U////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1/////2////9P///7j///+X////uf////b////y////U////wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hf////X////h////KP///wD///8A////Jv////X/////////8P///xb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////4////+P///8B////AP///9v////s////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////H///8A////AP///wD///8A////AP///xb/////////7////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8C////4////+P///8B////AP///9v////s////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zv////////9F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8f///+8////AP///wD///8A////Q/////////84////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v///+z///8A////AP////////9s////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////6f///6j///8A////AP///6z////k////AP///wD///8q/////f///2T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////P////1////AP///wD///8A////A/////f////s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xv////////9W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9X/////////8X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9L/////////4r///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bP////////9/////AP///wD///8A////AP///4f/////////W////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Y////67///8Q////AP////n////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////C/////7////p////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A/////v////x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///27/////////Uv///+/////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tv////////8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////FP////b////z////Hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///83////1////E////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Uv////////+Q////AP///wD///8A////AP///5L/////////Uf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yf////////8V////AP///wD///8A////AP///0v/////////gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////m/////f///+Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////zv////X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////UP////////9F////AP///wv////Y////7v///4L///9e////tP////////82////AP///wD////a////of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+//////v///zj////+////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///1L/////////sv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////+/////8////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///xX////z////+P///yP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Dv///+X////9////Mf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wr////N////+////0T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9n///+k/////////yT///8A////AP///wD///8A////EP////n///+R////4f////////8A////AP///wD///8A////AP///wD///8A/////////9H///+L/////////z7///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP////3////k////Bv///wD///8A////AP///wD///8A////Bf///+P////5////H////wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////W//////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9/////////8G////AP///wD///8A////AP///wD///8A////AP///wf/////////+P///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A", + "////KP/////////a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////D////7////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3////2////7////wb///8A////AP///wD///8A////B/////D////2////DP///wD///8A////AP///wD///8A////AP///wD///8A////AP///z7/////////t////wD///8A////AP///wD///9z/////////1v/////////af///wD///8A////AP///wD///+9/////////zj///8A////AP///wD///8P////5P////T///8h////AP///xL////p////5v///xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9E/////////7z///8A////AP///wD///8A////wf////7///84////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8//////////8X///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+9////+////xv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX///+Y////z/////P////q////xf///1P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+D///8X////nP///+b////z////xP///2j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////nv///9H////0////7f///8////+D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9o////xP////P////j////lf///xT////i/////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y////qv///93////t////vf///17///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////j////+P/////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8P/////////YP///wD///8A////XP/////////A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+T///8X////oP///+r////y////yf///0////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////ov////////+I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////5////8Y////ov///+v////s////t////03///8A////IP///6T////p////8v///8v///9T", + "////AP///wD///8A////AP///wD///8A/////////5////8X////oP///+r////y////yf///0////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////of///9H////0////0f///53///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+v///8A////AP///wD///8A////AP///wT////+////7////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8P////7///8G////AP///wD///8A////AP///wD////z/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////5n///8F////kP///+v////3////Kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9Y////wv///+r////2////2v///6r///9M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////pf////f/////////////////////////7P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////F/////3////V////AP///wD///8A////AP///wD///8A////1v////z///8X////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////Hv/////////S////AP///wD///8A////AP///43/////////tv///wD///8A////AP///wD////H/////////x7///8A////AP///wD///8A////qv////////+O////AP///wD///8A////AP///47/////////qf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C/////////43///8A////AP///4b/////////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rP////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y/////////8T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////F/////////xT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///8j//////////////9b///+i////1P///6v///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////z/////P///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yL////6////xv///wD///8A////AP///wH////P////9f///xr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x////+5/////////+b///+S////OP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////8r///+m////AP///wD///81////vv////D////h////iv///wD///8A////qf///8n///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////A////8r///+m////AP///wD///////////////D///+w////ZP///wD///8A////qf///8n///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////z///+F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////uv///////////////////////////////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///8A////AP///2/////8////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////eP///wD///8A////AP///2/////8////L////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///////////////////6r///8D////AP///wD///8A////b/////z///8v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+//////v///zj////+////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+//////v///zj////+////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+//////v///zj////+////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+//////v///zj////+////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+//////v///zj////+////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+//////v///zj////+////vv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////t/////n///8a////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////3P////////8g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////Ff////P////4////I////wD///8A////AP///wD///8A////AP///wD///8A/////////9H///+L/////////z7///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP////3////k////Bv///wD///8A", + "////AP///wD///8A////Bf///+P////5////H////wD///8A////AP///wD///8A////AP///wD///8A////KP////3////k////Bv///wD///8A////AP///wD///8A////Bf///+P////5////H////wD///8A////AP///wD///8A////AP///wD///8A////KP////3////k////Bv///wD///8A////AP///wD///8A////Bf///+P////5////H////wD///8A////AP///wD///8A////AP///wD///8A////KP////3////k////Bv///wD///8A////AP///wD///8A////Bf///+P////5////H////wD///8A////AP///wD///8A////AP///wD///8A////KP////3////k////Bv///wD///8A////AP///wD///8A////Bf///+P////5////H////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////////98////AP///wD///8A////AP///4f/////////YP///3r/////////i////wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A", + "////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9E/////////7z///8A////AP///wD///8A////wf////7///84////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////v///+f////H////fv///w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8F////ov////////94////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX///+Y////z/////P////q////xf///1P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX///+Y////z/////P////q////xf///1P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX///+Y////z/////P////q////xf///1P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX///+Y////z/////P////q////xf///1P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX///+Y////z/////P////q////xf///1P///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX///+Y////z/////P////q////xf///1P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zb///+Z////0f////P////Z////p////yL///8A////Of///6f////f////6////7r///9a////AP///wD///8A////AP///wD///8A////6v////7///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y////qv///93////t////vf///17///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y////qv///93////t////vf///17///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y////qv///93////t////vf///17///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8y////qv///93////t////vf///17///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9y////vP///z3///8A////A////6n/////////a////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////5////8X////oP///+r////y////yf///0////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////of///9H////0////0f///53///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////of///9H////0////0f///53///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////of///9H////0////0f///53///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////of///9H////0////0f///53///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////of///9H////0////0f///53///8f////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///17////2////9P///7j///+U////rf////b/////////pP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C/////////43///8A////AP///4b/////////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+v///8A////AP///wD///8A////AP///wT////+////7////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9C/////////43///8A////AP///4b/////////Tf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3P////////9T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///47////y////Av///wD///8A////Df////3///9x////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P////////9Q////AP////////9s////AP///wH///8q////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf///9D///8A////AP///9f///+7////AP///wD///8A////oP///+P///8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9v/////////Pv///wD///8A////Jv////7////b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP////////+A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+B/////////4n///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////2v///+7///8K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E/////n////w////Kv///wD///8A////Mv////P////t////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ff////r////f////Mf////H////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Wf///7j///8h////AP///wD///8A////ff////////+y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP///4P///8N////AP///wD///8A////Wv/////////O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH////D////0f///+P////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ov////////8c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3r/////////2f///zb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1T/////////f////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////LP/////////p////DP///wD///8A////Dv///+v/////////Kv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ef////////+k////Bv///wD///8A////Jv///9z////u////Ef///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////f///+V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Nv///yv///8A////AP///wD///8s////+P///8z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///8L////R////Av///wD///8O////l////9r////6////5v///7b///8i////AP///z7////+////af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b/////////8n/////////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////Av///8z/////////hP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3H/////////6v///0f///8A////AP///wD///8A////Lv///yP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////Mf///9H/////////g////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1X/////////7////1f///8A////AP///wD///8A////AP///zn///8K////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////", + "////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8b////5f////D///8r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9D////w////0f///wD///8A////AP///wD///8A////AP///7T////m////1/////////8A////AP///wD///8A////AP///wD///8A/////////9/////3////tP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////wf///xT///8A////AP///wD///8R////vP////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8U////xf////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4f////////8a////AP///wD///8A////AP///wD///8A////AP///xv/////////3P///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8F", + "////qP////////+g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7v/////////gf///wD///8A////AP///wD///83////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///17/////////n////wD///8A////AP///wD///8A////AP///6H/////////Xf///wD///8A////AP///wD///8A////AP///wD///8A////AP///4j/////////cv///wD///8A////AP///wD///8k/////////9T/////////Hv///wD///8A////AP///wD///94/////////4P///8A////AP///wD///+c/////////23///8A////AP///wD///9V/////////57///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP////S/////v///zL///8A////AP///wD///8A////M/////7////K////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////rv////////9X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yz/////////qP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o/////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wH/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////T////8////Ef///wD///8A////Ev////3////v////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////7///8F////AP///wD///8A////AP///xr/////////zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////0P////////8d////AP///wD///8A////AP///wj//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xD////l////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e/////////zb///8A////AP///zD/////////qP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////p/////L///9M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wj///+F////2f//////////////9v///6T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////D/////////13///8A////AP///wD///8o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6f/////////Qv///wD///8A////AP///wD///9J/////////53///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7L////7////aP///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///x7////p////p////xL///8A////AP///wD///8A////AP///xT///+q////6f///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///x7////p////p////xL///8A////AP///wD///8A////AP///xT///+q////6f///x7///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////3P///////////////////////////////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP///yv////5////eP///wD///8A////AP///wT////T////w////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////nP///yv////5////eP///wD///8A////AP///wT////T////w////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////Lf///8r///+s////AP///wD///8A////BP///9P////D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///9b/////////8n/////////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b/////////8n/////////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b/////////8n/////////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b/////////8n/////////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b/////////8n/////////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9b/////////8n/////////Wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////PP////////+M////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////9/////////8I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////8P///wD///8A////AP///wD///8x////0f////////+D////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9/////3////tP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////wf///xT///8A", + "////AP///wD///8R////vP////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////wf///xT///8A////AP///wD///8R////vP////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////wf///xT///8A////AP///wD///8R////vP////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////wf///xT///8A////AP///wD///8R////vP////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////wf///xT///8A////AP///wD///8R////vP////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP////3////n////B////wD///8A////AP///wn////d////7P///97////3////H////wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A", + "////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP////S/////v///zL///8A////AP///wD///8A////M/////7////K////Af///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v////T///8B////AP///wD///8A////Cv////n////l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wv////////8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9n////3v/////////A////sP////////+r////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8l////oP///9D////2////4////6H////X////+P///yD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e/////////zb///8A////AP///zD/////////qP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////7///8F////AP///wD///8A////AP///xr/////////zf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+e/////////zb///8A////AP///zD/////////qP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6/////////9i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1X/////////Lv///wD///8A////AP///9H///+q////AP///wD///8A////AP///wD///8A////AP///wD///8A////Rf////z/////////0P/////////K////wP///+r/////////W////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Z/////////+q////sv////////9V////AP///wD///8A////H/////j///90////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///23/////////9f///7T///+e////7/////////9y////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////TP////////+t////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+t/////////0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////bv////////9m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///17////8////9v///7j///+8////9/////b///9J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zD////P////8/////n////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lf/////////7////z////6T////M//////////P///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tf/////////z////xf///6H////E//////////3///9J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8l////9v////7////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jv////////+s////nP///5z///+c////nP///5z///+N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+P/////v/////////Q////q////5////+l////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////nP///5z///+c////nP///5z///+c////nP///57////9////6////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///6j/////////9f///7j///+8////9v////////+m////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///8j/////////3////6f///+9////9v////f///9Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9v/////////0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv/////////X////r////7f////5/////v///03///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///y7////8////hP///wH///8A////AP///wD///8A////AP///wD///8A////Bv///9f////S////Bf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////7v/////////t////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///5b////E////8//////////i////Hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9p////9f////7////X////pP///6L////N/////////67///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///6L////O////+/////z///+K////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9R////5f/////////f////sv///5P///+s////5f////////9w////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////1n/////", + "////9////1b///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////Mv////X////f////Fv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////z/////////f////wD///8A////AP///wD///8A////AP///17//////////P////////8A////AP///wD///8A////AP///wD///8A///////////////9////LP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+g//////////P////B////mf///77////x/////////5b///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////kv///83////+/////////+b///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP////////82////AP///wD///8A////AP///wD///8A////AP///zb/////////uf///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jv///6X////h", + "/////////+b///8V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///y3////z/////////+L///+e////rP///9n/////////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP///4z///+M////jP/////////4////jP///4z///+M////jP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7n/////////R////wD///8A////AP///wD///8A////AP///0r/////////uP///wD///8A////AP///wD///8A////AP///wD///8A////AP///9L/////////LP///wD///8A////AP///wD///8A////1v/////////T////AP///wD///8A////AP///wD///8z/////////87///8A////AP///0T/////////wv///wH///8A////AP///wD///8A////rv////////9G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2b/////////pf///wD///8A////AP///wD///8A////AP///6P/////////YP///wD///8A////AP///wD///8A////AP///wD///8A////jP///4z///+M////jP///4z///+M////q//////////g////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5r/////////Of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o/////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////q////+P///wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+f////7////Df///wD///8A////Df////r////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////85////AP///wD///8A////AP///1r/////////pP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////p/////////9j////AP///wD///8A////AP///0r//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+P////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn////y////3v///wD///8A////AP///wD////Z////9f///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9/////////+T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////I////Av///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8//////f////3///+2////pv///9H/////////Of///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Mv////7///++////AP///wD///8A////AP///wD///8A////wP////3///8t////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+n////m////Df///wD///8A////AP///wD///8V////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8e////y////+b///+H////VP///y3///9U////h////+j////J////Hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8e////y////+b///+H////VP///y3///9U////h////+j////J////Hf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9////////////////////////////////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ff///93////0////eP///wD///8A////AP///wD///9A/////////1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ff///93////0////eP///wD///8A////AP///wD///9A/////////1z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////oP///6j///9d////UP///8v////n////AP///wD///8A////AP///0D/////////XP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9M////8v///6f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8I////7v/////////t////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////7v/////////t////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////7v/////////t////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////7v/////////t////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////7v/////////t////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8I////7v/////////t////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8H////z////jP/////////4////jP///4z///+M////jP///4z///+M////AP///wD///8A////2/////////8j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M", + "////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////j///+M////jP///4z///+M////jP///4z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////1n/////////9////1b///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////1n/////////9////1b///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////1n/////////9////1b///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////G////1n/////////9////1b///8X////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////+P///4z///+M////ov///87////7/////P///4r///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////////9////LP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+g//////////P////B", + "////mf///77////x/////////5b///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+g//////////P////B////mf///77////x/////////5b///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+g//////////P////B////mf///77////x/////////5b///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+g//////////P////B////mf///77////x/////////5b///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+g//////////P////B////mf///77////x/////////5b///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////wv///xT///8A////AP///wD///9Q//////////////+D////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A", + "////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///2b/////////pf///wD///8A////AP///wD///8A////AP///6P/////////YP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xf////////9M////AP///wD///8A////Kf////7////b////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev///8H////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r////C////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0////1////zz///8A////Pv///9j///+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////q////Lv///wD///9T////3f///9P///8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////L////8r////1////w////yb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////lv////////91////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev///8H////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r////C////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0////1////zz///8A////Pv///9j///+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////B////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///8L///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////tP///9f///88////AP///z7////Y////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////4b///////////////X///8r////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+r///8u////AP///1P////d////0////yH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////B////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////wv///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0////1////zz///8A////Pv///9j///+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////q////Lv///wD///9T////3f///9P///8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9W////of///xP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev///8H////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r////C////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T////X////PP///wD///8+////2P///7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn////y////3v///wD///8A////AP///wD////Z////9f///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////85////AP///wD///8A////AP///1r/////////pP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn////y////3v///wD///8A////AP///wD////Z////9f///wz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+f////////9w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xz/////////Z////wD///8A////AP///5j////j////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yr///+f////3P/////////7////4f///8T///+L////OP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////Af///4L////j////3////3T///8A////AP///wD///8A////AP///5D////t////D////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9a////xv///+z////x////zP///2H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///+T////6////I////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////6////4f///wT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Df////H////T////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9L////qv///+P////h////p////zr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8F////fv////r////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zr///+l////4/////f////Z////nv///x////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////1f///+y////6P////j////e////rv///zf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////dP/////////c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ev/////////////////////////////////////////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lv///6D////M////7v////r////A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///9n////yP///+/////v////yf///2j///8F////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wX///92////yP////D////e////rP///y3///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////m/////f///+Z////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Kv///47////L////8f///+b///+3////QP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///9t////+v///7z///8a////AP///wD///8A////AP///wD///8s////y/////3///83////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kv////////+S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////n////m////zf///4D///8c////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////J////4v///+6////6f////H////V////ov///0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////D////G////nP///zT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Dv///3r///+q////1P////f////n////zf///5D///84////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP//////////", + "//////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///1H////+////yP///wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////////Lf///wD///8A////AP///wD///8A////AP///w7////4//////////////8A////AP///wD///8A////AP///wD///8A//////////////+g////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///6D////P////8////9D///+f////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////v///+f////H////fv///w////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////l/////////97////AP///wD///8A////AP///wD///8A////AP///3r/////////jv///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////v///+f////J", + "////f////xH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8i////mv///9j////2////6v///8////+V////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////////////////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P///+j///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv////z////r////BP///wD///8A////AP///wD///8A////AP///wX////t/////P///xb///8A////AP///wD///8A////AP///wD///8A////HP/////////l////AP///wD///8A////AP///wD///8A////h/////////+J////AP///wD///8A////AP///wD///8C////7P////////8b////DP///9/////2////Jf///wD///8A////AP///wD///8A////GP///+7////g////DP///wD///8A////AP///wD///8A////AP///wD///8A////Dv///+n////4////IP///wD///8A////AP///wD///8A////AP///x3////2////5////w3///8A////AP///wD///8A////AP///wD///8A////////////////////////////////////////////////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev////b////K////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o/////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+u/////////8L///+W////hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7f/////////Tf///wD///8A////T/////////+q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///9T////F////Af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+8////C////wD///8A////E////9H/////////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////OP/////////Z////F////wD///8A////D////8f//////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8q////hv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1j/////////iP///wD///8A////AP///wD///+E/////////13///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////of////D///9I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////E////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////O////7v////r////8P///9H///+O////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////u/////////86////AP///wD///8A////AP///wD///8A////OP////////+5////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4H/////////3v///67///+U////q////9D////+////cv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////1D///+y////3v////f////d////sf///07///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////1D///+y////3v////f////d////sf///07///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////4v///////////////////////////////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3D////+////eP///wD///8A////AP///wD///8A////qP///+b///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3D////+////eP///wD///8A////AP///wD///8A////qP///+b///8N////AP///wD///8A////AP///wD///8A////AP///wD///8A////SP///73////0////8v///8T///8/////AP///wD///8A////AP///wD///+o////5v///w3///8A////AP///wD///8A////AP///wD///8A////AP///wD///+T//////////f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////kv////////+S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kv////////+S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kv////////+S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kv////////+S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kv////////+S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8v////////////////////Jv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0b/////////////////////////////////////////////////////////AP///wD///8A////tP////////9G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////////////////", + "//////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////////////////////////////////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP////////////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP////////////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP////////////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////xP////////////////////////+0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////////////////////8P///8b///+c////NP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+g////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///6D////P", + "////8////9D///+f////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///6D////P////8////9D///+f////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///6D////P////8////9D///+f////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///6D////P////8////9D///+f////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///6D////P////8////9D///+f////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+g//////////P////B////lv///6r////v//////////////9S////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P///+j///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P///+j///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P///+j///8A////AP///wD///8A////AP///wD///8A", + "////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////+P///+j///8A////AP///wD///8A////AP///wD///8A////8P////////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Dv///+n////4////IP///wD///8A////AP///wD///8A////AP///x3////2////5////w3///8A////AP///wD///8A////AP///wD///8A//////////D///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////S/////3////6////sf///5L///+n////8v////////9s////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////0f////f///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yb////3////z////xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////s/////z///+p/////P///7P///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q////0v///7X/////////tP///9H///+n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///++////uP///wD///8A////uv///7z///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////y////5b///8j////nf///8H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Hv////L////s////Pv///wD///8A////AP///wL///8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////0f////f///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yb////3////z////xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////s/////z///+p/////P///7P///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///++////uP///wD///8A////uv///7z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///9H////3////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jv////f////P////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Bv///7P////8////qf////z///+z////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///7j///8A////AP///7r///+8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////jP////v////3////mv///+n////6////iv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6r////S////tf////////+0////0f///6f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///9H////3////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////9////8////8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////s/////z///+p/////P///7P///8G////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q////0v///7X/////////tP///9H///+n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///7j///8A////AP///7r///+8////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////0f////f///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yb////3////z////xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///+z/////P///6n////8////s////wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///++////uP///wD///8A////uv///7z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1j/////////iP///wD///8A////AP///wD///+E/////////13///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//////////////+8////C////wD///8A////E////9H/////////Nv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///1j/////////iP///wD///8A////AP///wD///+E/////////13///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3b/////////qP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6j/////////dP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////NP///9n////4////zP///5z///9x////i////7n////5////2P///zv///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////KP////3////k////Bv///wD///8A////AP///wD///8A////Bf///+P////5////IP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9z///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////c/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////o/////////wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8a////rf///+z////z////tv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zX////8////7////47///+N////7v/////////H////YP///wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///9T////V////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////9P////W////4f///6X///+j////5f////////+a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///5v/////////6P///6T///+p////5f///9P////V/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7X/////////Mf///wD///8A////AP///wD///8u/////////7f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6f////T///8L////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wz////2////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9S////sv///+D////4////7P///9P///+d////Rf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////wP///////////////////////////////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9I////8P///6H///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////L////lv///yP///+d////wf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////g/////////+e////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////B////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///6D////P////9f///+H///+z////W////+n////O////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///0L///+z////4/////j////k////uP///0////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+//////////4L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+C/////////73///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///8//////////z////wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////0////93///9V////AP///y/////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///++////tf///wD///8A////uv///8j///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////9f///zX///8A////N/////P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///13////4/////f///9D///+p////tv///+v///+f////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+//////////4L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+C/////////73///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///8//////////z////wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///++////tf///wD///8A////uv///8j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////v/////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4L/////////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wn////P/////////8////8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///7X///8A////AP///7r////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gP///6T///8j////AP///w3///+F////af///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////T////3f///1X///8A////L////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////v/////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gv////////+9////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///8//////////z////wn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////0////93///9V////AP///y/////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///7X///8A////AP///7r////I////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+//////////4L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+C/////////73///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////z//////////P////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///++////tf///wD///8A////uv///8j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7X/////////Mf///wD///8A////AP///wD///8u/////////7f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+L////W////4f///6X///+j////5f////////+a////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7X/////////Mf///wD///8A////AP///wD///8u/////////7f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////9s////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn////X/////v///zT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////M/////7////X////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wv///9h////lP///8b////y////2P///6r///9y////CP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6P/////////wf///xT///8A////AP///wD///8R////vP////////+U////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+////+I////iP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////iP///4j////v/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///82////uv///+r//////////////////////////////yT///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/////////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////5////8S////lf///+P////z////xP///2j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9o////xP////P////j////kv///w////+h/////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv////v////a////AP///wD///8A////AP///wD///8A////1/////z///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////kP/////////X////k////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////k////9j/////////jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///+j/////////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////df///////////////////////////////////zz///8A////PP////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////Ev///8H////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r////C////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T////X////PP///wD///8+////2P///7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///+r///8u////AP///1P////d////0////yH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////1////Nf///wD///83////8////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////E////+/////8////LP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ev///8H////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////yv///8L///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7T////X////PP///wD///8+////2P///7T///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////B////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////wv///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tP///9f///88////AP///z7////Y////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////q////Lv///wD///9T////3f///9P///8h////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8S", + "////wf///8j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///8L///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////tP///9f///88////AP///z7////Y////tP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////6v///y7///8A////U////93////T////If///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///zT///8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xL////B////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///8r////C////Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+0////1////zz///8A////Pv///9j///+0", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yv///8L///8S////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////yf///53///8l////n////8L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8h////nv///9H////0////7f///8////+D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv////v////a////AP///wD///8A////AP///wD///8A////1/////z///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+P///8S////lf///+P////z////xP///2j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Fv////v////a////AP///wD///8A////AP///wD///8A////1/////z///8W////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8x////+f///77///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////u/////n///8x////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wv///+g//////////P////B////mf///77////x/////////5b///8H////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////////////////////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////3P////Q////8v///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////8v///9D///9z////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bf///9P//////////////////////////////7b///+g////tv////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8R////0f////f///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yb////3////z////xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///+z/////P///6n////8////s////wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6r////S////tf////////+0////0f///6f///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///++////uP///wD///8A////uv///7z///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////J////nf///yX///+f////wv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///3H/////////6v///0f///8A////AP///wD///8A////Lv///yP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8R////0f////f///8l////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////Jv////f////P////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///+z/////P///6n////8////s////wb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///77///+4////AP///wD///+6////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///9H////3////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////9////8////8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///7P////8////qf////z///+z////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///7j///8A////AP///7r///+8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q////0v///7X/////////tP///9H///+n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///xH////R", + "////9////yX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jv////f////P////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Bv///7P////8////qf////z///+z////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qv///9L///+1/////////7T////R////p////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///77///+4////AP///wD///+6////vP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Ef///9H////3////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yb////3////z////xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8G////s/////z///+p/////P///7P///8G", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///7j///8A////AP///7r///+8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Jv////f////P////EP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Lf///8n////0////wP///yX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP/////////w////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Vf///6D////P////8////9D///+f////T////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wr///+B////0P////L///////////////////////////////////8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///+//////////4L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+C/////////73///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////z//////////P////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///yP////T////3f///1X///8A////L////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///++////tf///wD///8A////uv///8j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8t////yf////T////A////Jf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9p////9f////7////X////pP///6L////N/////////67///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+//////////4L///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///4L/////////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8J////z//////////P////Cf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///77///+1////AP///wD///+6////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////v/////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gv////////+9////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn////P/////////8////8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///7X///8A////AP///7r////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////0////93///9V////AP///y/////o////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///7//////", + "////gv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4L/////////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wn////P/////////8////8J////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////I////9P////d////Vf///wD///8v////6P///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///77///+1////AP///wD///+6////yP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////v/////////+C////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+C/////////73///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////Cf///8//////////z////wn///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///7X///8A////AP///7r////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///4L/////////vf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD////K////wv///xL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb////U////xf///wH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////J////4v///+6////6f////H////V////ov///0j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8D////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8m////9////8////8Q////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///7j///8A////AP///7r///+8////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb////U////1f///wP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////4j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A", + "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////gv////////+9////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/////////+j///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////vv///7X///8A////AP///7r////I////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +}; + +// Texture image block count +const size_t CVF_FIXED_ATLAS_FONT_LARGE_TEXTURE_IMAGE_BLOCK_COUNT = 588; + + + +//================================================================================================== +/// +/// \class cvf::FixedAtlasFont +/// \ingroup Render +/// +/// Loads a given fixed atlas font to be used when drawing text +//================================================================================================== + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +FixedAtlasFont::FixedAtlasFont(FontSize size) +: m_name(""), + m_numGlyphs(0), + m_textureImage(NULL) +{ + bool fontLoaded = false; + + switch (size) + { + case FixedAtlasFont::POINT_SIZE_8: + { + fontLoaded = load( + CVF_FIXED_ATLAS_FONT_STANDARD_NAME, + CVF_FIXED_ATLAS_FONT_STANDARD_NUM_GLYPHS, + CVF_FIXED_ATLAS_FONT_STANDARD_HORIZONTAL_BEARINGS_X, + CVF_FIXED_ATLAS_FONT_STANDARD_HORIZONTAL_BEARINGS_Y, + CVF_FIXED_ATLAS_FONT_STANDARD_HORIZONTAL_ADVANCES, + CVF_FIXED_ATLAS_FONT_STANDARD_CHARACTER_WIDTHS, + CVF_FIXED_ATLAS_FONT_STANDARD_CHARACTER_HEIGHTS, + CVF_FIXED_ATLAS_FONT_STANDARD_TEXTURE_IMAGE_WIDTH, + CVF_FIXED_ATLAS_FONT_STANDARD_TEXTURE_IMAGE_HEIGHT, + CVF_FIXED_ATLAS_FONT_STANDARD_TEXTURE_IMAGE_BLOCK_COUNT, + CVF_FIXED_ATLAS_FONT_STANDARD_TEXTURE_IMAGE); + + break; + } + + case FixedAtlasFont::POINT_SIZE_16: + { + fontLoaded = load( + CVF_FIXED_ATLAS_FONT_LARGE_NAME, + CVF_FIXED_ATLAS_FONT_LARGE_NUM_GLYPHS, + CVF_FIXED_ATLAS_FONT_LARGE_HORIZONTAL_BEARINGS_X, + CVF_FIXED_ATLAS_FONT_LARGE_HORIZONTAL_BEARINGS_Y, + CVF_FIXED_ATLAS_FONT_LARGE_HORIZONTAL_ADVANCES, + CVF_FIXED_ATLAS_FONT_LARGE_CHARACTER_WIDTHS, + CVF_FIXED_ATLAS_FONT_LARGE_CHARACTER_HEIGHTS, + CVF_FIXED_ATLAS_FONT_LARGE_TEXTURE_IMAGE_WIDTH, + CVF_FIXED_ATLAS_FONT_LARGE_TEXTURE_IMAGE_HEIGHT, + CVF_FIXED_ATLAS_FONT_LARGE_TEXTURE_IMAGE_BLOCK_COUNT, + CVF_FIXED_ATLAS_FONT_LARGE_TEXTURE_IMAGE); + + break; + } + + case FixedAtlasFont::POINT_SIZE_12: + { + fontLoaded = load( + CAF_FIXED_ATLAS_FONT_12_PT_NAME, + CAF_FIXED_ATLAS_FONT_12_PT_NUM_GLYPHS, + CAF_FIXED_ATLAS_FONT_12_PT_HORIZONTAL_BEARINGS_X, + CAF_FIXED_ATLAS_FONT_12_PT_HORIZONTAL_BEARINGS_Y, + CAF_FIXED_ATLAS_FONT_12_PT_HORIZONTAL_ADVANCES, + CAF_FIXED_ATLAS_FONT_12_PT_CHARACTER_WIDTHS, + CAF_FIXED_ATLAS_FONT_12_PT_CHARACTER_HEIGHTS, + CAF_FIXED_ATLAS_FONT_12_PT_TEXTURE_IMAGE_WIDTH, + CAF_FIXED_ATLAS_FONT_12_PT_TEXTURE_IMAGE_HEIGHT, + CAF_FIXED_ATLAS_FONT_12_PT_TEXTURE_IMAGE_BLOCK_COUNT, + CAF_FIXED_ATLAS_FONT_12_PT_TEXTURE_IMAGE); + + break; + } + + case FixedAtlasFont::POINT_SIZE_24: + { + fontLoaded = load( + CAF_FIXED_ATLAS_FONT_24_PT_NAME, + CAF_FIXED_ATLAS_FONT_24_PT_NUM_GLYPHS, + CAF_FIXED_ATLAS_FONT_24_PT_HORIZONTAL_BEARINGS_X, + CAF_FIXED_ATLAS_FONT_24_PT_HORIZONTAL_BEARINGS_Y, + CAF_FIXED_ATLAS_FONT_24_PT_HORIZONTAL_ADVANCES, + CAF_FIXED_ATLAS_FONT_24_PT_CHARACTER_WIDTHS, + CAF_FIXED_ATLAS_FONT_24_PT_CHARACTER_HEIGHTS, + CAF_FIXED_ATLAS_FONT_24_PT_TEXTURE_IMAGE_WIDTH, + CAF_FIXED_ATLAS_FONT_24_PT_TEXTURE_IMAGE_HEIGHT, + CAF_FIXED_ATLAS_FONT_24_PT_TEXTURE_IMAGE_BLOCK_COUNT, + CAF_FIXED_ATLAS_FONT_24_PT_TEXTURE_IMAGE); + + break; + } + + case FixedAtlasFont::POINT_SIZE_32: + { + fontLoaded = load( + CAF_FIXED_ATLAS_FONT_32_PT_NAME, + CAF_FIXED_ATLAS_FONT_32_PT_NUM_GLYPHS, + CAF_FIXED_ATLAS_FONT_32_PT_HORIZONTAL_BEARINGS_X, + CAF_FIXED_ATLAS_FONT_32_PT_HORIZONTAL_BEARINGS_Y, + CAF_FIXED_ATLAS_FONT_32_PT_HORIZONTAL_ADVANCES, + CAF_FIXED_ATLAS_FONT_32_PT_CHARACTER_WIDTHS, + CAF_FIXED_ATLAS_FONT_32_PT_CHARACTER_HEIGHTS, + CAF_FIXED_ATLAS_FONT_32_PT_TEXTURE_IMAGE_WIDTH, + CAF_FIXED_ATLAS_FONT_32_PT_TEXTURE_IMAGE_HEIGHT, + CAF_FIXED_ATLAS_FONT_32_PT_TEXTURE_IMAGE_BLOCK_COUNT, + CAF_FIXED_ATLAS_FONT_32_PT_TEXTURE_IMAGE); + + break; + } + + default: + { + CVF_FAIL_MSG("Fixed Atlas Font size not supported"); + } + } + + // Make sure isEmpty fails if unable to load + if (!fontLoaded) + { + m_textureImage = NULL; + } +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +FixedAtlasFont::~FixedAtlasFont() +{ +} + + +//-------------------------------------------------------------------------------------------------- +/// Get name of the font +//-------------------------------------------------------------------------------------------------- +const cvf::String& FixedAtlasFont::name() const +{ + return m_name; +} + + +//-------------------------------------------------------------------------------------------------- +/// Get glyph for the given character. Will be created if not already present. +//-------------------------------------------------------------------------------------------------- +cvf::ref FixedAtlasFont::getGlyph(wchar_t character) +{ + if (isEmpty()) return NULL; + + cvf::uint characterPos = static_cast(character) > static_cast(m_numGlyphs) ? 0 : static_cast(character); + + cvf::ref glyph = NULL; + + // Glyph already available? + MapType::iterator it = m_atlasMap.find(characterPos); + if (it != m_atlasMap.end()) + { + // Yes, return existing glyph + glyph = it->second; + } + else + { + glyph = new cvf::Glyph(character); + glyph->setHorizontalBearingX(m_horizontalBearingsX[characterPos]); + glyph->setHorizontalBearingY(m_horizontalBearingsY[characterPos]); + glyph->setHorizontalAdvance(m_horizontalAdvances[characterPos]); + + // Todo: Work directly on the common atlas texture with texture coordinates + //glyph->m_textureImage = m_textureImage; + + // Size of the image texture. Note that there may be some 'air' around this. + cvf::uint textureWidth = m_characterWidths[characterPos]; + cvf::uint textureHeight = m_characterHeights[characterPos]; + + // Start position in textureImage atlas + cvf::uint cursorX = (m_textureImage->width() / static_cast(m_numGlyphs)) * characterPos; + + cvf::TextureImage* glyphTextureImage = new cvf::TextureImage; + glyphTextureImage->allocate(textureWidth, textureHeight); + cvf::uint x, y; + for (y = 0; y < textureHeight; y++) + { + for (x = 0; x < textureWidth; x++) + { + glyphTextureImage->setPixel(x, y, m_textureImage->pixel(cursorX + x, y)); + } + } + glyph->setTextureImage(glyphTextureImage); + + glyph->setWidth(glyphTextureImage->width()); + glyph->setHeight(glyphTextureImage->height()); + + m_atlasMap.insert(MapType::value_type(characterPos, glyph)); + } + + CVF_TIGHT_ASSERT(glyph.notNull()); + return glyph; +} + + +//-------------------------------------------------------------------------------------------------- +/// Get advance for character glyph in relation to the next character +//-------------------------------------------------------------------------------------------------- +cvf::uint FixedAtlasFont::advance(wchar_t character, wchar_t nextCharacter) +{ + CVF_UNUSED(nextCharacter); // No kerning available + + cvf::ref characterGlyph = getGlyph(character); + + cvf::uint characterWidth = characterGlyph->horizontalBearingX() + characterGlyph->width(); + + return characterWidth > characterGlyph->horizontalAdvance() ? characterWidth : characterGlyph->horizontalAdvance(); +} + + +//-------------------------------------------------------------------------------------------------- +/// Returns true if the font is set up properly and ready to be used, otherwise returns false. +//-------------------------------------------------------------------------------------------------- +bool FixedAtlasFont::isEmpty() +{ + return m_textureImage.isNull(); +} + + +//-------------------------------------------------------------------------------------------------- +/// Load a pre-rendered fixed atlas font directly form data arrays. +/// +/// This kind of data has typically been exported by "FreeType Font Extractor" +/// Copyright (c) Ceetron AS +//-------------------------------------------------------------------------------------------------- +bool FixedAtlasFont::load(const char* name, size_t numGlyphs, + const short* horizontalBearingsX, const short* horizontalBearingsY, + const cvf::uint* horizontalAdvances, const cvf::uint* characterWidths, const cvf::uint* characterHeights, + const size_t textureImageWidth, const size_t textureImageHeight, + const size_t numTextureImageDataBlockCount, const char** textureImageData) +{ + CVF_ASSERT(name); + CVF_ASSERT(numGlyphs > 0); + CVF_ASSERT(horizontalBearingsX); + CVF_ASSERT(horizontalBearingsY); + CVF_ASSERT(horizontalAdvances); + CVF_ASSERT(characterWidths); + CVF_ASSERT(characterHeights); + CVF_ASSERT(textureImageWidth > 0); + CVF_ASSERT(textureImageHeight > 0); + CVF_ASSERT(numTextureImageDataBlockCount > 0); + CVF_ASSERT(textureImageData); + + unload(); + CVF_ASSERT(m_textureImage.isNull()); + + size_t i; + + // Calculate size of buffer to be preallocated + size_t textureImageDataBufferSize = 0; + for (i = 0; i < numTextureImageDataBlockCount; i++) + { + textureImageDataBufferSize += strlen(textureImageData[i]); + } + + // Create and populate buffer to be decoded + std::string encodedTextureImageData; + encodedTextureImageData.reserve(textureImageDataBufferSize); + for (i = 0; i < numTextureImageDataBlockCount; i++) + { + encodedTextureImageData += textureImageData[i]; + } + + // Decode texture image data containing the glyph images + cvf::ref decodedTextureImageData = cvf::Base64::decode(encodedTextureImageData); + if (decodedTextureImageData.isNull()) return false; + if (decodedTextureImageData->size() == 0) return false; + + m_name = name; + if (m_name.isEmpty()) return false; + + m_numGlyphs = numGlyphs; + + m_horizontalBearingsX.resize(numGlyphs); + for (i = 0; i < numGlyphs; i++) + { + m_horizontalBearingsX[i] = horizontalBearingsX[i]; + } + + m_horizontalBearingsY.resize(numGlyphs); + for (i = 0; i < numGlyphs; i++) + { + m_horizontalBearingsY[i] = horizontalBearingsY[i]; + } + + m_horizontalAdvances.resize(numGlyphs); + for (i = 0; i < numGlyphs; i++) + { + m_horizontalAdvances[i] = horizontalAdvances[i]; + } + + m_characterWidths.resize(numGlyphs); + for (i = 0; i < numGlyphs; i++) + { + m_characterWidths[i] = characterWidths[i]; + } + + m_characterHeights.resize(numGlyphs); + for (i = 0; i < numGlyphs; i++) + { + m_characterHeights[i] = characterHeights[i]; + } + + m_textureImage = new cvf::TextureImage; + m_textureImage->allocate(static_cast(textureImageWidth), static_cast(textureImageHeight)); + m_textureImage->setData(decodedTextureImageData->ptr(), static_cast(textureImageWidth), static_cast(textureImageHeight)); + + return true; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void FixedAtlasFont::unload() +{ + m_name = ""; + m_numGlyphs = 0; + m_horizontalBearingsX.clear(); + m_horizontalBearingsY.clear(); + m_horizontalAdvances.clear(); + m_characterWidths.clear(); + m_characterHeights.clear(); + m_textureImage = NULL; +} + +} // namespace cvf diff --git a/Fwk/AppFwk/cafVizExtensions/cafFixedAtlasFont.h b/Fwk/AppFwk/cafVizExtensions/cafFixedAtlasFont.h new file mode 100644 index 0000000000..39dc217d91 --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafFixedAtlasFont.h @@ -0,0 +1,106 @@ +//################################################################################################## +// +// Custom Visualization Core library +// Copyright (C) 2011-2013 Ceetron AS +// +// This library may be used under the terms of either the GNU General Public License or +// the GNU Lesser General Public License as follows: +// +// GNU General Public License Usage +// This library is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at <> +// for more details. +// +// GNU Lesser General Public License Usage +// This library is free software; you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU Lesser General Public License at <> +// for more details. +// +//################################################################################################## + + +#pragma once + +#include "cvfObject.h" +#include "cvfFont.h" +#include "cvfGlyph.h" +#include "cvfString.h" +#include + +namespace cvf { + +class TextureImage; +class Glyph; + +} + +namespace caf { + +//================================================================================================== +// +// Fixed atlas font class used to generate glyphs for a given character +// +//================================================================================================== +class FixedAtlasFont : public cvf::Font +{ +public: + enum FontSize + { + POINT_SIZE_8, // 8pt + POINT_SIZE_12, + POINT_SIZE_16, // 16pt + POINT_SIZE_24, + POINT_SIZE_32 + }; + +public: + FixedAtlasFont(FontSize size); + virtual ~FixedAtlasFont(); + + virtual const cvf::String& name() const; + virtual cvf::ref getGlyph(wchar_t character); + virtual cvf::uint advance(wchar_t character, wchar_t nextCharacter); + virtual bool isEmpty(); + +private: + // Load/unload font + bool load(const char* name, size_t numGlyphs, + const short* horizontalBearingsX, const short* horizontalBearingsY, + const cvf::uint* horizontalAdvances, const cvf::uint* characterWidths, const cvf::uint* characterHeightss, + const size_t textureImageWidth, const size_t textureImageHeight, + const size_t numTextureImageDataBlockCount, const char** textureImageData); + void unload(); + +private: + cvf::String m_name; + size_t m_numGlyphs; + std::vector m_horizontalBearingsX; + std::vector m_horizontalBearingsY; + std::vector m_horizontalAdvances; + std::vector m_characterWidths; + std::vector m_characterHeights; + + cvf::ref m_textureImage; + + // Glyph cache + typedef std::map > MapType; + MapType m_atlasMap; +}; + +} // namespace cvf diff --git a/Fwk/AppFwk/cafVizExtensions/cafHexGridIntersectionTools/cafHexGridIntersectionTools.cpp b/Fwk/AppFwk/cafVizExtensions/cafHexGridIntersectionTools/cafHexGridIntersectionTools.cpp new file mode 100644 index 0000000000..f6ec78936c --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafHexGridIntersectionTools/cafHexGridIntersectionTools.cpp @@ -0,0 +1,933 @@ + +#include "cafHexGridIntersectionTools.h" + +#include "cvfPlane.h" +#include + + + +namespace caf { + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +HexGridIntersectionTools::ClipVx::ClipVx() + : vx(cvf::Vec3d::ZERO), + normDistFromEdgeVx1(HUGE_VAL), + clippedEdgeVx1Id(-1), + clippedEdgeVx2Id(-1), + isVxIdsNative(true), + derivedVxLevel(-1) +{ +} + + +//-------------------------------------------------------------------------------------------------- +/// Find intersection between a line segment and a plane +/// +/// \param a Start of line segment +/// \param b End of line segment +/// \param intersection Returns intersection point along the infinite line defined by a-b +/// \param normalizedDistFromA Returns the normalized (0..1) position from a to b of the intersection point. +/// Will return values along the infinite line defined by the a-b direcion, +/// and HUGE_VAL if plane and line are parallel. +/// +/// \return True if line segment intersects the plane +//-------------------------------------------------------------------------------------------------- +bool HexGridIntersectionTools::planeLineIntersect(const cvf::Plane& plane, const cvf::Vec3d& a, const cvf::Vec3d& b, cvf::Vec3d* intersection, double* normalizedDistFromA) +{ + // From Real-Time Collision Detection by Christer Eriscon, published by Morgen Kaufmann Publishers, (c) 2005 Elsevier Inc + + cvf::Vec3d ab = b - a; + cvf::Vec3d normal = plane.normal(); + + double normDotAB = normal * ab; + if (normDotAB == 0) + { + (*normalizedDistFromA) = HUGE_VAL; + return false; + } + + double interpolationParameter = (-plane.D() - (normal * a)) / normDotAB; + + (*intersection) = a + interpolationParameter * ab; + (*normalizedDistFromA) = interpolationParameter; + + return (interpolationParameter >= 0.0 && interpolationParameter <= 1.0); +} + + +//-------------------------------------------------------------------------------------------------- +/// Returns whether the triangle was hit by the plane. +/// isMostVxesOnPositiveSide returns true if all or two of the vxes is on the positive side of the plane. +/// newVx1/2.vx1ClippedEdge returns the index of the single vx that is alone on one side of the plane. +/// Going newVx1 to newVx2 will make the top triangle same winding as the original triangle, +/// and the quad opposite winding + +// The permutations except for the trivial cases where all vertices are in front or behind plane: +// +// Single vertex on positive side of plane => isMostVxesOnPositiveSide = false +// +// +\ /\3 /\3 /+ /\3 . +// \ / \ / \ / + / \ + . +// \2 \ / \/1 __1/____\2__ . +// / \ \ / /\ / \ . +// 1/___\1___\2 1/____2/__\2 1/________\2 . +// +\ /+ +// +// Two vertices vertex on positive side of plane => isMostVxesOnPositiveSide = true +// +// \+ /\3 /\3 +/ /\3 . +// \ / \ / \ / / \ . +// \2 \ / \/1 __1/____\2__ . +// / \ \ / /\ + / \ + . +// 1/___\1___\2 1/____2/__\2 1/________\2 . +// \+ +/ +//-------------------------------------------------------------------------------------------------- + +bool HexGridIntersectionTools::planeTriangleIntersection(const cvf::Plane& plane, + const cvf::Vec3d& p1, size_t p1Id, + const cvf::Vec3d& p2, size_t p2Id, + const cvf::Vec3d& p3, size_t p3Id, + ClipVx* newVx1, ClipVx* newVx2, + bool * isMostVxesOnPositiveSide) +{ + int onPosSide[3]; + onPosSide[0] = plane.distanceSquared(p1) >= 0; + onPosSide[1] = plane.distanceSquared(p2) >= 0; + onPosSide[2] = plane.distanceSquared(p3) >= 0; + + const int numPositiveVertices = onPosSide[0] + onPosSide[1] + onPosSide[2]; + + // The entire triangle is on the negative side + // Clip everything + if (numPositiveVertices == 0) + { + (*isMostVxesOnPositiveSide) = false; + return false; + } + + // All triangle vertices are on the positive side + if (numPositiveVertices == 3) + { + (*isMostVxesOnPositiveSide) = true; + return false; + } + + (*isMostVxesOnPositiveSide) = (numPositiveVertices == 2); + + int topVx = 0; + if (numPositiveVertices == 1) + { + if (onPosSide[0]) topVx = 1; + if (onPosSide[1]) topVx = 2; + if (onPosSide[2]) topVx = 3; + } + else if (numPositiveVertices == 2) + { + if (!onPosSide[0]) topVx = 1; + if (!onPosSide[1]) topVx = 2; + if (!onPosSide[2]) topVx = 3; + } + else + { + CVF_ASSERT(false); + } + + bool ok1, ok2; + if (topVx == 1) + { + ok1 = planeLineIntersect(plane, p1, p2, &((*newVx1).vx), &((*newVx1).normDistFromEdgeVx1)); + (*newVx1).clippedEdgeVx1Id = p1Id; + (*newVx1).clippedEdgeVx2Id = p2Id; + ok2 = planeLineIntersect(plane, p1, p3, &((*newVx2).vx), &((*newVx2).normDistFromEdgeVx1)); + (*newVx2).clippedEdgeVx1Id = p1Id; + (*newVx2).clippedEdgeVx2Id = p3Id; + CVF_TIGHT_ASSERT(ok1 && ok2); + } + else if (topVx == 2) + { + ok1 = planeLineIntersect(plane, p2, p3, &((*newVx1).vx), &((*newVx1).normDistFromEdgeVx1)); + (*newVx1).clippedEdgeVx1Id = p2Id; + (*newVx1).clippedEdgeVx2Id = p3Id; + ok2 = planeLineIntersect(plane, p2, p1, &((*newVx2).vx), &((*newVx2).normDistFromEdgeVx1)); + (*newVx2).clippedEdgeVx1Id = p2Id; + (*newVx2).clippedEdgeVx2Id = p1Id; + } + else if (topVx == 3) + { + ok1 = planeLineIntersect(plane, p3, p1, &((*newVx1).vx), &((*newVx1).normDistFromEdgeVx1)); + (*newVx1).clippedEdgeVx1Id = p3Id; + (*newVx1).clippedEdgeVx2Id = p1Id; + ok2 = planeLineIntersect(plane, p3, p2, &((*newVx2).vx), &((*newVx2).normDistFromEdgeVx1)); + (*newVx2).clippedEdgeVx1Id = p3Id; + (*newVx2).clippedEdgeVx2Id = p2Id; + } + else + { + CVF_ASSERT(false); + } + + CVF_TIGHT_ASSERT(ok1 && ok2); + + return true; +} + +//-------------------------------------------------------------------------------------------------- +// +// +// P2 P2 P2 P2 +// Keep Keep Keep Keep +// None Top 3 Quad All +// | | + | | +// | | / \ | | +// | | | | / \ | | | | +// | | | | / \ | | | | +// | | | | / \| | | | +// | | | |/ 1+ | | | +// | | | +2 |\ | | | +// | | | /| | \ | | | +// | | | / | | \ | _ | | +// | | | / | | \| |\Dir | | +// | | |/ | | 1+ \ | | +// | | +2 | | |\ \ | | +// | | /| | | | \ | | +// | | / |1 |1 2| 2| \ | | +// | | +--+----+----------+----+---+ | | +// | |1 | | | | 2 | | +// P1 P1 P1 P1 +// Keep Keep Keep Keep +// All Quad Top None +// +// +// Clips the supplied triangles into new triangles returned in clippedTriangleVxes. +// New vertices have set isVxIdsNative = false and their vxIds is indices into triangleVxes +// The isTriangleEdgeCellContour bits refer to the edge after the corresponding triangle vertex. +//-------------------------------------------------------------------------------------------------- + +void HexGridIntersectionTools::clipTrianglesBetweenTwoParallelPlanes(const std::vector& triangleVxes, + const std::vector& isTriangleEdgeCellContour, + const cvf::Plane& p1Plane, + const cvf::Plane& p2Plane, + std::vector* clippedTriangleVxes, + std::vector* isClippedTriEdgeCellContour) +{ + size_t triangleCount = triangleVxes.size() / 3; + + for (size_t tIdx = 0; tIdx < triangleCount; ++tIdx) + { + + size_t triVxIdx = tIdx * 3; + + ClipVx newVx1OnP1; + newVx1OnP1.isVxIdsNative = false; + ClipVx newVx2OnP1; + newVx2OnP1.isVxIdsNative = false; + + bool isMostVxesOnPositiveSideOfP1 = false; + + bool isIntersectingP1 = planeTriangleIntersection(p1Plane, + triangleVxes[triVxIdx + 0].vx, triVxIdx + 0, + triangleVxes[triVxIdx + 1].vx, triVxIdx + 1, + triangleVxes[triVxIdx + 2].vx, triVxIdx + 2, + &newVx1OnP1, &newVx2OnP1, &isMostVxesOnPositiveSideOfP1); + + if (!isIntersectingP1 && !isMostVxesOnPositiveSideOfP1) + { + continue; // Discard triangle + } + + + ClipVx newVx1OnP2; + newVx1OnP2.isVxIdsNative = false; + ClipVx newVx2OnP2; + newVx2OnP2.isVxIdsNative = false; + + bool isMostVxesOnPositiveSideOfP2 = false; + + bool isIntersectingP2 = planeTriangleIntersection(p2Plane, + triangleVxes[triVxIdx + 0].vx, triVxIdx + 0, + triangleVxes[triVxIdx + 1].vx, triVxIdx + 1, + triangleVxes[triVxIdx + 2].vx, triVxIdx + 2, + &newVx1OnP2, &newVx2OnP2, &isMostVxesOnPositiveSideOfP2); + + if (!isIntersectingP2 && !isMostVxesOnPositiveSideOfP2) + { + continue; // Discard triangle + } + + bool p1KeepAll = (!isIntersectingP1 && isMostVxesOnPositiveSideOfP1); + bool p2KeepAll = (!isIntersectingP2 && isMostVxesOnPositiveSideOfP2); + bool p1KeepQuad = ( isIntersectingP1 && isMostVxesOnPositiveSideOfP1); + bool p2KeepQuad = ( isIntersectingP2 && isMostVxesOnPositiveSideOfP2); + bool p1KeepTop = ( isIntersectingP1 && !isMostVxesOnPositiveSideOfP1); + bool p2KeepTop = ( isIntersectingP2 && !isMostVxesOnPositiveSideOfP2); + + if (p1KeepAll && p2KeepAll) + { + // Keep the triangle + clippedTriangleVxes->push_back(triangleVxes[triVxIdx + 0]); + clippedTriangleVxes->push_back(triangleVxes[triVxIdx + 1]); + clippedTriangleVxes->push_back(triangleVxes[triVxIdx + 2]); + + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[triVxIdx + 0]); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[triVxIdx + 1]); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[triVxIdx + 2]); + + continue; + } + + if (p1KeepQuad && p2KeepAll) + { + // Split the resulting quad and add the two triangles + clippedTriangleVxes->push_back(newVx2OnP1); + clippedTriangleVxes->push_back(newVx1OnP1); + clippedTriangleVxes->push_back(triangleVxes[newVx1OnP1.clippedEdgeVx2Id]); + + clippedTriangleVxes->push_back(triangleVxes[newVx1OnP1.clippedEdgeVx2Id]); + clippedTriangleVxes->push_back(triangleVxes[newVx2OnP1.clippedEdgeVx2Id]); + clippedTriangleVxes->push_back(newVx2OnP1); + + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP1.clippedEdgeVx1Id]); + isClippedTriEdgeCellContour->push_back(false); + + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP1.clippedEdgeVx2Id]); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP1.clippedEdgeVx2Id]); + isClippedTriEdgeCellContour->push_back(false); + + continue; + } + + if (p2KeepQuad && p1KeepAll) + { + // Split the resulting quad and add the two triangles + clippedTriangleVxes->push_back(newVx2OnP2); + clippedTriangleVxes->push_back(newVx1OnP2); + clippedTriangleVxes->push_back(triangleVxes[newVx2OnP2.clippedEdgeVx2Id]); + + clippedTriangleVxes->push_back(newVx1OnP2); + clippedTriangleVxes->push_back(triangleVxes[newVx1OnP2.clippedEdgeVx2Id]); + clippedTriangleVxes->push_back(triangleVxes[newVx2OnP2.clippedEdgeVx2Id]); + + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP2.clippedEdgeVx2Id]); + + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP2.clippedEdgeVx1Id]); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP2.clippedEdgeVx2Id]); + isClippedTriEdgeCellContour->push_back(false); + + continue; + } + + if (p1KeepTop && p2KeepAll) + { + // Add the top triangle + clippedTriangleVxes->push_back(newVx1OnP1); + clippedTriangleVxes->push_back(newVx2OnP1); + clippedTriangleVxes->push_back(triangleVxes[newVx1OnP1.clippedEdgeVx1Id]); + + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP1.clippedEdgeVx2Id]); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP1.clippedEdgeVx1Id]); + + continue; + } + + if (p2KeepTop && p1KeepAll) + { + // Add the top triangle + clippedTriangleVxes->push_back(newVx1OnP2); + clippedTriangleVxes->push_back(newVx2OnP2); + clippedTriangleVxes->push_back(triangleVxes[newVx1OnP2.clippedEdgeVx1Id]); + + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP2.clippedEdgeVx2Id]); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP2.clippedEdgeVx1Id]); + + continue; + } + + if (p1KeepQuad && p2KeepQuad) + { + // We end up with a pentagon. + clippedTriangleVxes->push_back(newVx2OnP1); + clippedTriangleVxes->push_back(newVx1OnP1); + clippedTriangleVxes->push_back(newVx2OnP2); + + clippedTriangleVxes->push_back(newVx2OnP2); + clippedTriangleVxes->push_back(newVx1OnP2); + clippedTriangleVxes->push_back(newVx2OnP1); + + + // Two variants. The original point might be along newVx1OnP1 to newVx2OnP2 or along newVx2OnP1 to newVx1OnP2 + if (newVx1OnP1.clippedEdgeVx2Id == newVx2OnP2.clippedEdgeVx1Id) + { + clippedTriangleVxes->push_back(newVx2OnP1); + clippedTriangleVxes->push_back(newVx1OnP2); + clippedTriangleVxes->push_back(triangleVxes[newVx2OnP1.clippedEdgeVx2Id]); + + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP1.clippedEdgeVx1Id]); + isClippedTriEdgeCellContour->push_back(false); + + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(false); + + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP2.clippedEdgeVx1Id]); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP1.clippedEdgeVx2Id]); + } + else + { + + clippedTriangleVxes->push_back(newVx2OnP2); + clippedTriangleVxes->push_back(newVx1OnP1); + clippedTriangleVxes->push_back(triangleVxes[newVx2OnP2.clippedEdgeVx2Id]); + + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(false); + + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP2.clippedEdgeVx1Id]); + isClippedTriEdgeCellContour->push_back(false); + + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP1.clippedEdgeVx1Id]); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP2.clippedEdgeVx2Id]); + } + + continue; + } + + if (p1KeepQuad && p2KeepTop) + { + // We end up with a quad. + clippedTriangleVxes->push_back(newVx1OnP1); + clippedTriangleVxes->push_back(newVx1OnP2); + clippedTriangleVxes->push_back(newVx2OnP1); + + clippedTriangleVxes->push_back(newVx1OnP2); + clippedTriangleVxes->push_back(newVx2OnP2); + clippedTriangleVxes->push_back(newVx2OnP1); + + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP1.clippedEdgeVx1Id]); + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(false); + + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP2.clippedEdgeVx2Id]); + isClippedTriEdgeCellContour->push_back(false); + + continue; + } + + if (p2KeepQuad && p1KeepTop) + { + // We end up with a quad. + clippedTriangleVxes->push_back(newVx2OnP1); + clippedTriangleVxes->push_back(newVx2OnP2); + clippedTriangleVxes->push_back(newVx1OnP2); + + clippedTriangleVxes->push_back(newVx2OnP1); + clippedTriangleVxes->push_back(newVx1OnP2); + clippedTriangleVxes->push_back(newVx1OnP1); + + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx2OnP1.clippedEdgeVx2Id]); + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(false); + + isClippedTriEdgeCellContour->push_back(false); + isClippedTriEdgeCellContour->push_back(isTriangleEdgeCellContour[newVx1OnP2.clippedEdgeVx1Id]); + isClippedTriEdgeCellContour->push_back(false); + + continue; + } + + CVF_ASSERT(false); + } +} + +//-------------------------------------------------------------------------------------------------- +/// Will return the intersection point. If the plane is outside the line, it returns the closest line endpoint +//-------------------------------------------------------------------------------------------------- +cvf::Vec3d HexGridIntersectionTools::planeLineIntersectionForMC(const cvf::Plane& plane, const cvf::Vec3d& p1, const cvf::Vec3d& p2, double* normalizedDistFromP1) +{ + // From http://local.wasp.uwa.edu.au/~pbourke/geometry/planeline/ + // + // P1 (x1,y1,z1) and P2 (x2,y2,z2) + // + // P = P1 + u (P2 - P1) + // + // A*x1 + B*y1 + C*z1 + D + // u = --------------------------------- + // A*(x1-x2) + B*(y1-y2) + C*(z1-z2) + + CVF_TIGHT_ASSERT(normalizedDistFromP1); + + const cvf::Vec3d v = p2 - p1; + + (*normalizedDistFromP1) = 0.0; + + double denominator = -(plane.A()*v.x() + plane.B()*v.y() + plane.C()*v.z()); + if (denominator != 0) + { + double u = (plane.A()*p1.x() + plane.B()*p1.y() + plane.C()*p1.z() + plane.D()) / denominator; + (*normalizedDistFromP1) = u; + if (u > 0.0 && u < 1.0) + { + return (p1 + u*v); + } + else + { + if (u >= 1.0) + { + return p2; + } + else + { + return p1; + } + } + } + else + { + return p1; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int HexGridIntersectionTools::planeHexIntersectionMC(const cvf::Plane& plane, + const cvf::Vec3d cell[8], + const size_t hexCornersIds[8], + std::vector* triangleVxes, + std::vector* isTriEdgeCellContour) +{ + + // Based on description and implementation from Paul Bourke: + // http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/ + + static const cvf::uint cubeIdxToCutEdgeBitfield[256] = + { + 0x0, 0x109, 0x203, 0x30a, 0x406, 0x50f, 0x605, 0x70c, + 0x80c, 0x905, 0xa0f, 0xb06, 0xc0a, 0xd03, 0xe09, 0xf00, + 0x190, 0x99, 0x393, 0x29a, 0x596, 0x49f, 0x795, 0x69c, + 0x99c, 0x895, 0xb9f, 0xa96, 0xd9a, 0xc93, 0xf99, 0xe90, + 0x230, 0x339, 0x33, 0x13a, 0x636, 0x73f, 0x435, 0x53c, + 0xa3c, 0xb35, 0x83f, 0x936, 0xe3a, 0xf33, 0xc39, 0xd30, + 0x3a0, 0x2a9, 0x1a3, 0xaa, 0x7a6, 0x6af, 0x5a5, 0x4ac, + 0xbac, 0xaa5, 0x9af, 0x8a6, 0xfaa, 0xea3, 0xda9, 0xca0, + 0x460, 0x569, 0x663, 0x76a, 0x66, 0x16f, 0x265, 0x36c, + 0xc6c, 0xd65, 0xe6f, 0xf66, 0x86a, 0x963, 0xa69, 0xb60, + 0x5f0, 0x4f9, 0x7f3, 0x6fa, 0x1f6, 0xff, 0x3f5, 0x2fc, + 0xdfc, 0xcf5, 0xfff, 0xef6, 0x9fa, 0x8f3, 0xbf9, 0xaf0, + 0x650, 0x759, 0x453, 0x55a, 0x256, 0x35f, 0x55, 0x15c, + 0xe5c, 0xf55, 0xc5f, 0xd56, 0xa5a, 0xb53, 0x859, 0x950, + 0x7c0, 0x6c9, 0x5c3, 0x4ca, 0x3c6, 0x2cf, 0x1c5, 0xcc, + 0xfcc, 0xec5, 0xdcf, 0xcc6, 0xbca, 0xac3, 0x9c9, 0x8c0, + 0x8c0, 0x9c9, 0xac3, 0xbca, 0xcc6, 0xdcf, 0xec5, 0xfcc, + 0xcc, 0x1c5, 0x2cf, 0x3c6, 0x4ca, 0x5c3, 0x6c9, 0x7c0, + 0x950, 0x859, 0xb53, 0xa5a, 0xd56, 0xc5f, 0xf55, 0xe5c, + 0x15c, 0x55, 0x35f, 0x256, 0x55a, 0x453, 0x759, 0x650, + 0xaf0, 0xbf9, 0x8f3, 0x9fa, 0xef6, 0xfff, 0xcf5, 0xdfc, + 0x2fc, 0x3f5, 0xff, 0x1f6, 0x6fa, 0x7f3, 0x4f9, 0x5f0, + 0xb60, 0xa69, 0x963, 0x86a, 0xf66, 0xe6f, 0xd65, 0xc6c, + 0x36c, 0x265, 0x16f, 0x66, 0x76a, 0x663, 0x569, 0x460, + 0xca0, 0xda9, 0xea3, 0xfaa, 0x8a6, 0x9af, 0xaa5, 0xbac, + 0x4ac, 0x5a5, 0x6af, 0x7a6, 0xaa, 0x1a3, 0x2a9, 0x3a0, + 0xd30, 0xc39, 0xf33, 0xe3a, 0x936, 0x83f, 0xb35, 0xa3c, + 0x53c, 0x435, 0x73f, 0x636, 0x13a, 0x33, 0x339, 0x230, + 0xe90, 0xf99, 0xc93, 0xd9a, 0xa96, 0xb9f, 0x895, 0x99c, + 0x69c, 0x795, 0x49f, 0x596, 0x29a, 0x393, 0x99, 0x190, + 0xf00, 0xe09, 0xd03, 0xc0a, 0xb06, 0xa0f, 0x905, 0x80c, + 0x70c, 0x605, 0x50f, 0x406, 0x30a, 0x203, 0x109, 0x0 + }; + + static const int cubeIdxToTriangleIndices[256][16] = + { + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 8, 3, 9, 8, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 8, 3, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 2, 10, 0, 2, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 2, 8, 3, 2, 10, 8, 10, 9, 8, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 11, 2, 8, 11, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 9, 0, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 11, 2, 1, 9, 11, 9, 8, 11, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 10, 1, 11, 10, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 10, 1, 0, 8, 10, 8, 11, 10, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 9, 0, 3, 11, 9, 11, 10, 9, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 4, 3, 0, 7, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 1, 9, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 4, 1, 9, 4, 7, 1, 7, 3, 1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 2, 10, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 4, 7, 3, 0, 4, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 2, 10, 9, 0, 2, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1 }, + { 2, 10, 9, 2, 9, 7, 2, 7, 3, 7, 9, 4, -1, -1, -1, -1 }, + { 8, 4, 7, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 11, 4, 7, 11, 2, 4, 2, 0, 4, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 0, 1, 8, 4, 7, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1 }, + { 4, 7, 11, 9, 4, 11, 9, 11, 2, 9, 2, 1, -1, -1, -1, -1 }, + { 3, 10, 1, 3, 11, 10, 7, 8, 4, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 11, 10, 1, 4, 11, 1, 0, 4, 7, 11, 4, -1, -1, -1, -1 }, + { 4, 7, 8, 9, 0, 11, 9, 11, 10, 11, 0, 3, -1, -1, -1, -1 }, + { 4, 7, 11, 4, 11, 9, 9, 11, 10, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 5, 4, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 5, 4, 1, 5, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 8, 5, 4, 8, 3, 5, 3, 1, 5, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 2, 10, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 0, 8, 1, 2, 10, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1 }, + { 5, 2, 10, 5, 4, 2, 4, 0, 2, -1, -1, -1, -1, -1, -1, -1 }, + { 2, 10, 5, 3, 2, 5, 3, 5, 4, 3, 4, 8, -1, -1, -1, -1 }, + { 9, 5, 4, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 11, 2, 0, 8, 11, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 5, 4, 0, 1, 5, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1 }, + { 2, 1, 5, 2, 5, 8, 2, 8, 11, 4, 8, 5, -1, -1, -1, -1 }, + { 10, 3, 11, 10, 1, 3, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1 }, + { 4, 9, 5, 0, 8, 1, 8, 10, 1, 8, 11, 10, -1, -1, -1, -1 }, + { 5, 4, 0, 5, 0, 11, 5, 11, 10, 11, 0, 3, -1, -1, -1, -1 }, + { 5, 4, 8, 5, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 7, 8, 5, 7, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 3, 0, 9, 5, 3, 5, 7, 3, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 7, 8, 0, 1, 7, 1, 5, 7, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 7, 8, 9, 5, 7, 10, 1, 2, -1, -1, -1, -1, -1, -1, -1 }, + { 10, 1, 2, 9, 5, 0, 5, 3, 0, 5, 7, 3, -1, -1, -1, -1 }, + { 8, 0, 2, 8, 2, 5, 8, 5, 7, 10, 5, 2, -1, -1, -1, -1 }, + { 2, 10, 5, 2, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1 }, + { 7, 9, 5, 7, 8, 9, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 5, 7, 9, 7, 2, 9, 2, 0, 2, 7, 11, -1, -1, -1, -1 }, + { 2, 3, 11, 0, 1, 8, 1, 7, 8, 1, 5, 7, -1, -1, -1, -1 }, + { 11, 2, 1, 11, 1, 7, 7, 1, 5, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 5, 8, 8, 5, 7, 10, 1, 3, 10, 3, 11, -1, -1, -1, -1 }, + { 5, 7, 0, 5, 0, 9, 7, 11, 0, 1, 0, 10, 11, 10, 0, -1 }, + { 11, 10, 0, 11, 0, 3, 10, 5, 0, 8, 0, 7, 5, 7, 0, -1 }, + { 11, 10, 5, 7, 11, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 8, 3, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 0, 1, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 8, 3, 1, 9, 8, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 6, 5, 2, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 6, 5, 1, 2, 6, 3, 0, 8, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 6, 5, 9, 0, 6, 0, 2, 6, -1, -1, -1, -1, -1, -1, -1 }, + { 5, 9, 8, 5, 8, 2, 5, 2, 6, 3, 2, 8, -1, -1, -1, -1 }, + { 2, 3, 11, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 11, 0, 8, 11, 2, 0, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 1, 9, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1 }, + { 5, 10, 6, 1, 9, 2, 9, 11, 2, 9, 8, 11, -1, -1, -1, -1 }, + { 6, 3, 11, 6, 5, 3, 5, 1, 3, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 8, 11, 0, 11, 5, 0, 5, 1, 5, 11, 6, -1, -1, -1, -1 }, + { 3, 11, 6, 0, 3, 6, 0, 6, 5, 0, 5, 9, -1, -1, -1, -1 }, + { 6, 5, 9, 6, 9, 11, 11, 9, 8, -1, -1, -1, -1, -1, -1, -1 }, + { 5, 10, 6, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 4, 3, 0, 4, 7, 3, 6, 5, 10, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 9, 0, 5, 10, 6, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1 }, + { 10, 6, 5, 1, 9, 7, 1, 7, 3, 7, 9, 4, -1, -1, -1, -1 }, + { 6, 1, 2, 6, 5, 1, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 2, 5, 5, 2, 6, 3, 0, 4, 3, 4, 7, -1, -1, -1, -1 }, + { 8, 4, 7, 9, 0, 5, 0, 6, 5, 0, 2, 6, -1, -1, -1, -1 }, + { 7, 3, 9, 7, 9, 4, 3, 2, 9, 5, 9, 6, 2, 6, 9, -1 }, + { 3, 11, 2, 7, 8, 4, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1 }, + { 5, 10, 6, 4, 7, 2, 4, 2, 0, 2, 7, 11, -1, -1, -1, -1 }, + { 0, 1, 9, 4, 7, 8, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1 }, + { 9, 2, 1, 9, 11, 2, 9, 4, 11, 7, 11, 4, 5, 10, 6, -1 }, + { 8, 4, 7, 3, 11, 5, 3, 5, 1, 5, 11, 6, -1, -1, -1, -1 }, + { 5, 1, 11, 5, 11, 6, 1, 0, 11, 7, 11, 4, 0, 4, 11, -1 }, + { 0, 5, 9, 0, 6, 5, 0, 3, 6, 11, 6, 3, 8, 4, 7, -1 }, + { 6, 5, 9, 6, 9, 11, 4, 7, 9, 7, 11, 9, -1, -1, -1, -1 }, + { 10, 4, 9, 6, 4, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 4, 10, 6, 4, 9, 10, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1 }, + { 10, 0, 1, 10, 6, 0, 6, 4, 0, -1, -1, -1, -1, -1, -1, -1 }, + { 8, 3, 1, 8, 1, 6, 8, 6, 4, 6, 1, 10, -1, -1, -1, -1 }, + { 1, 4, 9, 1, 2, 4, 2, 6, 4, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 0, 8, 1, 2, 9, 2, 4, 9, 2, 6, 4, -1, -1, -1, -1 }, + { 0, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 8, 3, 2, 8, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1 }, + { 10, 4, 9, 10, 6, 4, 11, 2, 3, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 8, 2, 2, 8, 11, 4, 9, 10, 4, 10, 6, -1, -1, -1, -1 }, + { 3, 11, 2, 0, 1, 6, 0, 6, 4, 6, 1, 10, -1, -1, -1, -1 }, + { 6, 4, 1, 6, 1, 10, 4, 8, 1, 2, 1, 11, 8, 11, 1, -1 }, + { 9, 6, 4, 9, 3, 6, 9, 1, 3, 11, 6, 3, -1, -1, -1, -1 }, + { 8, 11, 1, 8, 1, 0, 11, 6, 1, 9, 1, 4, 6, 4, 1, -1 }, + { 3, 11, 6, 3, 6, 0, 0, 6, 4, -1, -1, -1, -1, -1, -1, -1 }, + { 6, 4, 8, 11, 6, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 7, 10, 6, 7, 8, 10, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 7, 3, 0, 10, 7, 0, 9, 10, 6, 7, 10, -1, -1, -1, -1 }, + { 10, 6, 7, 1, 10, 7, 1, 7, 8, 1, 8, 0, -1, -1, -1, -1 }, + { 10, 6, 7, 10, 7, 1, 1, 7, 3, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 2, 6, 1, 6, 8, 1, 8, 9, 8, 6, 7, -1, -1, -1, -1 }, + { 2, 6, 9, 2, 9, 1, 6, 7, 9, 0, 9, 3, 7, 3, 9, -1 }, + { 7, 8, 0, 7, 0, 6, 6, 0, 2, -1, -1, -1, -1, -1, -1, -1 }, + { 7, 3, 2, 6, 7, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 2, 3, 11, 10, 6, 8, 10, 8, 9, 8, 6, 7, -1, -1, -1, -1 }, + { 2, 0, 7, 2, 7, 11, 0, 9, 7, 6, 7, 10, 9, 10, 7, -1 }, + { 1, 8, 0, 1, 7, 8, 1, 10, 7, 6, 7, 10, 2, 3, 11, -1 }, + { 11, 2, 1, 11, 1, 7, 10, 6, 1, 6, 7, 1, -1, -1, -1, -1 }, + { 8, 9, 6, 8, 6, 7, 9, 1, 6, 11, 6, 3, 1, 3, 6, -1 }, + { 0, 9, 1, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 7, 8, 0, 7, 0, 6, 3, 11, 0, 11, 6, 0, -1, -1, -1, -1 }, + { 7, 11, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 0, 8, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 1, 9, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 8, 1, 9, 8, 3, 1, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1 }, + { 10, 1, 2, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 2, 10, 3, 0, 8, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1 }, + { 2, 9, 0, 2, 10, 9, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1 }, + { 6, 11, 7, 2, 10, 3, 10, 8, 3, 10, 9, 8, -1, -1, -1, -1 }, + { 7, 2, 3, 6, 2, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 7, 0, 8, 7, 6, 0, 6, 2, 0, -1, -1, -1, -1, -1, -1, -1 }, + { 2, 7, 6, 2, 3, 7, 0, 1, 9, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 6, 2, 1, 8, 6, 1, 9, 8, 8, 7, 6, -1, -1, -1, -1 }, + { 10, 7, 6, 10, 1, 7, 1, 3, 7, -1, -1, -1, -1, -1, -1, -1 }, + { 10, 7, 6, 1, 7, 10, 1, 8, 7, 1, 0, 8, -1, -1, -1, -1 }, + { 0, 3, 7, 0, 7, 10, 0, 10, 9, 6, 10, 7, -1, -1, -1, -1 }, + { 7, 6, 10, 7, 10, 8, 8, 10, 9, -1, -1, -1, -1, -1, -1, -1 }, + { 6, 8, 4, 11, 8, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 6, 11, 3, 0, 6, 0, 4, 6, -1, -1, -1, -1, -1, -1, -1 }, + { 8, 6, 11, 8, 4, 6, 9, 0, 1, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 4, 6, 9, 6, 3, 9, 3, 1, 11, 3, 6, -1, -1, -1, -1 }, + { 6, 8, 4, 6, 11, 8, 2, 10, 1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 2, 10, 3, 0, 11, 0, 6, 11, 0, 4, 6, -1, -1, -1, -1 }, + { 4, 11, 8, 4, 6, 11, 0, 2, 9, 2, 10, 9, -1, -1, -1, -1 }, + { 10, 9, 3, 10, 3, 2, 9, 4, 3, 11, 3, 6, 4, 6, 3, -1 }, + { 8, 2, 3, 8, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 9, 0, 2, 3, 4, 2, 4, 6, 4, 3, 8, -1, -1, -1, -1 }, + { 1, 9, 4, 1, 4, 2, 2, 4, 6, -1, -1, -1, -1, -1, -1, -1 }, + { 8, 1, 3, 8, 6, 1, 8, 4, 6, 6, 10, 1, -1, -1, -1, -1 }, + { 10, 1, 0, 10, 0, 6, 6, 0, 4, -1, -1, -1, -1, -1, -1, -1 }, + { 4, 6, 3, 4, 3, 8, 6, 10, 3, 0, 3, 9, 10, 9, 3, -1 }, + { 10, 9, 4, 6, 10, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 4, 9, 5, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 8, 3, 4, 9, 5, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1 }, + { 5, 0, 1, 5, 4, 0, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1 }, + { 11, 7, 6, 8, 3, 4, 3, 5, 4, 3, 1, 5, -1, -1, -1, -1 }, + { 9, 5, 4, 10, 1, 2, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1 }, + { 6, 11, 7, 1, 2, 10, 0, 8, 3, 4, 9, 5, -1, -1, -1, -1 }, + { 7, 6, 11, 5, 4, 10, 4, 2, 10, 4, 0, 2, -1, -1, -1, -1 }, + { 3, 4, 8, 3, 5, 4, 3, 2, 5, 10, 5, 2, 11, 7, 6, -1 }, + { 7, 2, 3, 7, 6, 2, 5, 4, 9, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 5, 4, 0, 8, 6, 0, 6, 2, 6, 8, 7, -1, -1, -1, -1 }, + { 3, 6, 2, 3, 7, 6, 1, 5, 0, 5, 4, 0, -1, -1, -1, -1 }, + { 6, 2, 8, 6, 8, 7, 2, 1, 8, 4, 8, 5, 1, 5, 8, -1 }, + { 9, 5, 4, 10, 1, 6, 1, 7, 6, 1, 3, 7, -1, -1, -1, -1 }, + { 1, 6, 10, 1, 7, 6, 1, 0, 7, 8, 7, 0, 9, 5, 4, -1 }, + { 4, 0, 10, 4, 10, 5, 0, 3, 10, 6, 10, 7, 3, 7, 10, -1 }, + { 7, 6, 10, 7, 10, 8, 5, 4, 10, 4, 8, 10, -1, -1, -1, -1 }, + { 6, 9, 5, 6, 11, 9, 11, 8, 9, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 6, 11, 0, 6, 3, 0, 5, 6, 0, 9, 5, -1, -1, -1, -1 }, + { 0, 11, 8, 0, 5, 11, 0, 1, 5, 5, 6, 11, -1, -1, -1, -1 }, + { 6, 11, 3, 6, 3, 5, 5, 3, 1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 2, 10, 9, 5, 11, 9, 11, 8, 11, 5, 6, -1, -1, -1, -1 }, + { 0, 11, 3, 0, 6, 11, 0, 9, 6, 5, 6, 9, 1, 2, 10, -1 }, + { 11, 8, 5, 11, 5, 6, 8, 0, 5, 10, 5, 2, 0, 2, 5, -1 }, + { 6, 11, 3, 6, 3, 5, 2, 10, 3, 10, 5, 3, -1, -1, -1, -1 }, + { 5, 8, 9, 5, 2, 8, 5, 6, 2, 3, 8, 2, -1, -1, -1, -1 }, + { 9, 5, 6, 9, 6, 0, 0, 6, 2, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 5, 8, 1, 8, 0, 5, 6, 8, 3, 8, 2, 6, 2, 8, -1 }, + { 1, 5, 6, 2, 1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 3, 6, 1, 6, 10, 3, 8, 6, 5, 6, 9, 8, 9, 6, -1 }, + { 10, 1, 0, 10, 0, 6, 9, 5, 0, 5, 6, 0, -1, -1, -1, -1 }, + { 0, 3, 8, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 10, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 11, 5, 10, 7, 5, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 11, 5, 10, 11, 7, 5, 8, 3, 0, -1, -1, -1, -1, -1, -1, -1 }, + { 5, 11, 7, 5, 10, 11, 1, 9, 0, -1, -1, -1, -1, -1, -1, -1 }, + { 10, 7, 5, 10, 11, 7, 9, 8, 1, 8, 3, 1, -1, -1, -1, -1 }, + { 11, 1, 2, 11, 7, 1, 7, 5, 1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 8, 3, 1, 2, 7, 1, 7, 5, 7, 2, 11, -1, -1, -1, -1 }, + { 9, 7, 5, 9, 2, 7, 9, 0, 2, 2, 11, 7, -1, -1, -1, -1 }, + { 7, 5, 2, 7, 2, 11, 5, 9, 2, 3, 2, 8, 9, 8, 2, -1 }, + { 2, 5, 10, 2, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1 }, + { 8, 2, 0, 8, 5, 2, 8, 7, 5, 10, 2, 5, -1, -1, -1, -1 }, + { 9, 0, 1, 5, 10, 3, 5, 3, 7, 3, 10, 2, -1, -1, -1, -1 }, + { 9, 8, 2, 9, 2, 1, 8, 7, 2, 10, 2, 5, 7, 5, 2, -1 }, + { 1, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 8, 7, 0, 7, 1, 1, 7, 5, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 0, 3, 9, 3, 5, 5, 3, 7, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 8, 7, 5, 9, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 5, 8, 4, 5, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1 }, + { 5, 0, 4, 5, 11, 0, 5, 10, 11, 11, 3, 0, -1, -1, -1, -1 }, + { 0, 1, 9, 8, 4, 10, 8, 10, 11, 10, 4, 5, -1, -1, -1, -1 }, + { 10, 11, 4, 10, 4, 5, 11, 3, 4, 9, 4, 1, 3, 1, 4, -1 }, + { 2, 5, 1, 2, 8, 5, 2, 11, 8, 4, 5, 8, -1, -1, -1, -1 }, + { 0, 4, 11, 0, 11, 3, 4, 5, 11, 2, 11, 1, 5, 1, 11, -1 }, + { 0, 2, 5, 0, 5, 9, 2, 11, 5, 4, 5, 8, 11, 8, 5, -1 }, + { 9, 4, 5, 2, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 2, 5, 10, 3, 5, 2, 3, 4, 5, 3, 8, 4, -1, -1, -1, -1 }, + { 5, 10, 2, 5, 2, 4, 4, 2, 0, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 10, 2, 3, 5, 10, 3, 8, 5, 4, 5, 8, 0, 1, 9, -1 }, + { 5, 10, 2, 5, 2, 4, 1, 9, 2, 9, 4, 2, -1, -1, -1, -1 }, + { 8, 4, 5, 8, 5, 3, 3, 5, 1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 4, 5, 1, 0, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 8, 4, 5, 8, 5, 3, 9, 0, 5, 0, 3, 5, -1, -1, -1, -1 }, + { 9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 4, 11, 7, 4, 9, 11, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 8, 3, 4, 9, 7, 9, 11, 7, 9, 10, 11, -1, -1, -1, -1 }, + { 1, 10, 11, 1, 11, 4, 1, 4, 0, 7, 4, 11, -1, -1, -1, -1 }, + { 3, 1, 4, 3, 4, 8, 1, 10, 4, 7, 4, 11, 10, 11, 4, -1 }, + { 4, 11, 7, 9, 11, 4, 9, 2, 11, 9, 1, 2, -1, -1, -1, -1 }, + { 9, 7, 4, 9, 11, 7, 9, 1, 11, 2, 11, 1, 0, 8, 3, -1 }, + { 11, 7, 4, 11, 4, 2, 2, 4, 0, -1, -1, -1, -1, -1, -1, -1 }, + { 11, 7, 4, 11, 4, 2, 8, 3, 4, 3, 2, 4, -1, -1, -1, -1 }, + { 2, 9, 10, 2, 7, 9, 2, 3, 7, 7, 4, 9, -1, -1, -1, -1 }, + { 9, 10, 7, 9, 7, 4, 10, 2, 7, 8, 7, 0, 2, 0, 7, -1 }, + { 3, 7, 10, 3, 10, 2, 7, 4, 10, 1, 10, 0, 4, 0, 10, -1 }, + { 1, 10, 2, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 4, 9, 1, 4, 1, 7, 7, 1, 3, -1, -1, -1, -1, -1, -1, -1 }, + { 4, 9, 1, 4, 1, 7, 0, 8, 1, 8, 7, 1, -1, -1, -1, -1 }, + { 4, 0, 3, 7, 4, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 4, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 0, 9, 3, 9, 11, 11, 9, 10, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 1, 10, 0, 10, 8, 8, 10, 11, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 1, 10, 11, 3, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 2, 11, 1, 11, 9, 9, 11, 8, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 0, 9, 3, 9, 11, 1, 2, 9, 2, 11, 9, -1, -1, -1, -1 }, + { 0, 2, 11, 8, 0, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 3, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 2, 3, 8, 2, 8, 10, 10, 8, 9, -1, -1, -1, -1, -1, -1, -1 }, + { 9, 10, 2, 0, 9, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 2, 3, 8, 2, 8, 10, 0, 1, 8, 1, 10, 8, -1, -1, -1, -1 }, + { 1, 10, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 1, 3, 8, 9, 1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 9, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { 0, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 } + }; + + static const int edgeTable[12][2] = + { + {0, 1}, + {1, 2}, + {2, 3}, + {3, 0}, + {4, 5}, + {5, 6}, + {6, 7}, + {7, 4}, + {0, 4}, + {1, 5}, + {2, 6}, + {3, 7} + }; + + int cubeIndex = 0; + if (plane.distanceSquared(cell[0]) < 0) cubeIndex |= 1; + if (plane.distanceSquared(cell[1]) < 0) cubeIndex |= 2; + if (plane.distanceSquared(cell[2]) < 0) cubeIndex |= 4; + if (plane.distanceSquared(cell[3]) < 0) cubeIndex |= 8; + if (plane.distanceSquared(cell[4]) < 0) cubeIndex |= 16; + if (plane.distanceSquared(cell[5]) < 0) cubeIndex |= 32; + if (plane.distanceSquared(cell[6]) < 0) cubeIndex |= 64; + if (plane.distanceSquared(cell[7]) < 0) cubeIndex |= 128; + + if (cubeIdxToCutEdgeBitfield[cubeIndex] == 0) + { + return 0; + } + + cvf::Vec3d edgeIntersections[12]; + double normDistAlongEdge[12]; + + + // Compute vertex coordinates on the edges where we have intersections + if (cubeIdxToCutEdgeBitfield[cubeIndex] & 1) edgeIntersections[0] = planeLineIntersectionForMC(plane, cell[0], cell[1], &normDistAlongEdge[0]); + if (cubeIdxToCutEdgeBitfield[cubeIndex] & 2) edgeIntersections[1] = planeLineIntersectionForMC(plane, cell[1], cell[2], &normDistAlongEdge[1]); + if (cubeIdxToCutEdgeBitfield[cubeIndex] & 4) edgeIntersections[2] = planeLineIntersectionForMC(plane, cell[2], cell[3], &normDistAlongEdge[2]); + if (cubeIdxToCutEdgeBitfield[cubeIndex] & 8) edgeIntersections[3] = planeLineIntersectionForMC(plane, cell[3], cell[0], &normDistAlongEdge[3]); + if (cubeIdxToCutEdgeBitfield[cubeIndex] & 16) edgeIntersections[4] = planeLineIntersectionForMC(plane, cell[4], cell[5], &normDistAlongEdge[4]); + if (cubeIdxToCutEdgeBitfield[cubeIndex] & 32) edgeIntersections[5] = planeLineIntersectionForMC(plane, cell[5], cell[6], &normDistAlongEdge[5]); + if (cubeIdxToCutEdgeBitfield[cubeIndex] & 64) edgeIntersections[6] = planeLineIntersectionForMC(plane, cell[6], cell[7], &normDistAlongEdge[6]); + if (cubeIdxToCutEdgeBitfield[cubeIndex] & 128) edgeIntersections[7] = planeLineIntersectionForMC(plane, cell[7], cell[4], &normDistAlongEdge[7]); + if (cubeIdxToCutEdgeBitfield[cubeIndex] & 256) edgeIntersections[8] = planeLineIntersectionForMC(plane, cell[0], cell[4], &normDistAlongEdge[8]); + if (cubeIdxToCutEdgeBitfield[cubeIndex] & 512) edgeIntersections[9] = planeLineIntersectionForMC(plane, cell[1], cell[5], &normDistAlongEdge[9]); + if (cubeIdxToCutEdgeBitfield[cubeIndex] & 1024) edgeIntersections[10] = planeLineIntersectionForMC(plane, cell[2], cell[6], &normDistAlongEdge[10]); + if (cubeIdxToCutEdgeBitfield[cubeIndex] & 2048) edgeIntersections[11] = planeLineIntersectionForMC(plane, cell[3], cell[7], &normDistAlongEdge[11]); + + + // Create the triangles + + const int* triangleIndicesToCubeEdges = cubeIdxToTriangleIndices[cubeIndex]; + cvf::uint triangleVxIdx = 0; + int cubeEdgeIdx = triangleIndicesToCubeEdges[triangleVxIdx]; + + + while (cubeEdgeIdx != -1) + { + ClipVx cvx; + cvx.vx = edgeIntersections[cubeEdgeIdx]; + cvx.normDistFromEdgeVx1 = normDistAlongEdge[cubeEdgeIdx]; + cvx.clippedEdgeVx1Id = hexCornersIds[edgeTable[cubeEdgeIdx][0]]; + cvx.clippedEdgeVx2Id = hexCornersIds[edgeTable[cubeEdgeIdx][1]]; + + (*triangleVxes).push_back(cvx); + ++triangleVxIdx; + cubeEdgeIdx = triangleIndicesToCubeEdges[triangleVxIdx]; + } + + cvf::uint triangleCount = triangleVxIdx / 3; + + int triangleEdgeCount[12][12] = { + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } + }; + + (*isTriEdgeCellContour).clear(); + (*isTriEdgeCellContour).resize(triangleVxIdx, false); + + for (cvf::uint tIdx = 0; tIdx < triangleCount; ++tIdx) + { + cvf::uint triVxIdx = 3 * tIdx; + int cubeEdgeIdx1 = triangleIndicesToCubeEdges[triVxIdx]; + int cubeEdgeIdx2 = triangleIndicesToCubeEdges[triVxIdx + 1]; + int cubeEdgeIdx3 = triangleIndicesToCubeEdges[triVxIdx + 2]; + + cubeEdgeIdx1 < cubeEdgeIdx2 ? ++triangleEdgeCount[cubeEdgeIdx1][cubeEdgeIdx2] : ++triangleEdgeCount[cubeEdgeIdx2][cubeEdgeIdx1]; + cubeEdgeIdx2 < cubeEdgeIdx3 ? ++triangleEdgeCount[cubeEdgeIdx2][cubeEdgeIdx3] : ++triangleEdgeCount[cubeEdgeIdx3][cubeEdgeIdx2]; + cubeEdgeIdx3 < cubeEdgeIdx1 ? ++triangleEdgeCount[cubeEdgeIdx3][cubeEdgeIdx1] : ++triangleEdgeCount[cubeEdgeIdx1][cubeEdgeIdx3]; + } + + for (cvf::uint tIdx = 0; tIdx < triangleCount; ++tIdx) + { + cvf::uint triVxIdx = 3 * tIdx; + + int cubeEdgeIdx1 = triangleIndicesToCubeEdges[triVxIdx]; + int cubeEdgeIdx2 = triangleIndicesToCubeEdges[triVxIdx + 1]; + int cubeEdgeIdx3 = triangleIndicesToCubeEdges[triVxIdx + 2]; + + (*isTriEdgeCellContour)[triVxIdx + 0] = (1 == (cubeEdgeIdx1 < cubeEdgeIdx2 ? triangleEdgeCount[cubeEdgeIdx1][cubeEdgeIdx2] : triangleEdgeCount[cubeEdgeIdx2][cubeEdgeIdx1])); + (*isTriEdgeCellContour)[triVxIdx + 1] = (1 == (cubeEdgeIdx2 < cubeEdgeIdx3 ? triangleEdgeCount[cubeEdgeIdx2][cubeEdgeIdx3] : triangleEdgeCount[cubeEdgeIdx3][cubeEdgeIdx2])); + (*isTriEdgeCellContour)[triVxIdx + 2] = (1 == (cubeEdgeIdx3 < cubeEdgeIdx1 ? triangleEdgeCount[cubeEdgeIdx3][cubeEdgeIdx1] : triangleEdgeCount[cubeEdgeIdx1][cubeEdgeIdx3])); + } + + return triangleCount; +} + + + + +} // namespace cvf + diff --git a/Fwk/AppFwk/cafVizExtensions/cafHexGridIntersectionTools/cafHexGridIntersectionTools.h b/Fwk/AppFwk/cafVizExtensions/cafHexGridIntersectionTools/cafHexGridIntersectionTools.h new file mode 100644 index 0000000000..392cbf2002 --- /dev/null +++ b/Fwk/AppFwk/cafVizExtensions/cafHexGridIntersectionTools/cafHexGridIntersectionTools.h @@ -0,0 +1,68 @@ + +#pragma once + +#include "cvfBase.h" +#include "cvfVector3.h" + +#include + +namespace cvf { + class Plane; +}; + + +namespace caf { + + + +//================================================================================================== +// +// +//================================================================================================== +class HexGridIntersectionTools +{ +public: + + //-------------------------------------------------------------------------------------------------- + /// + //-------------------------------------------------------------------------------------------------- + struct ClipVx + { + ClipVx(); + + cvf::Vec3d vx; + + double normDistFromEdgeVx1; + size_t clippedEdgeVx1Id; + size_t clippedEdgeVx2Id; + + bool isVxIdsNative; //< Pointing to real vertices, or indices to ClipVx's in the supplied triangle vertices array + int derivedVxLevel; //< Helper data to make it possible to track what set of ClipVx's the indices is reffering to in case of consecutive clips + }; + + static bool planeLineIntersect(const cvf::Plane& plane, const cvf::Vec3d& a, const cvf::Vec3d& b, cvf::Vec3d* intersection, double* normalizedDistFromA); + + static bool planeTriangleIntersection(const cvf::Plane& plane, + const cvf::Vec3d& p1, size_t p1Id, + const cvf::Vec3d& p2, size_t p2Id, + const cvf::Vec3d& p3, size_t p3Id, + ClipVx* newVx1, ClipVx* newVx2, + bool* isMostVxesOnPositiveSide); + + static void clipTrianglesBetweenTwoParallelPlanes(const std::vector& triangleVxes, + const std::vector& isTriangleEdgeCellContour, + const cvf::Plane& p1Plane, const cvf::Plane& p2Plane, + std::vector* clippedTriangleVxes, + std::vector* isClippedTriEdgeCellContour); + + static cvf::Vec3d planeLineIntersectionForMC(const cvf::Plane& plane, const cvf::Vec3d& p1, const cvf::Vec3d& p2, double* normalizedDistFromP1); + + static int planeHexIntersectionMC(const cvf::Plane& plane, + const cvf::Vec3d cell[8], + const size_t hexCornersIds[8], + std::vector* triangleVxes, + std::vector* isTriEdgeCellContour); + +}; + +}; // namespace caf \ No newline at end of file diff --git a/Fwk/AppFwk/cafVizExtensions/cafTransparentWBRenderConfiguration.cpp b/Fwk/AppFwk/cafVizExtensions/cafTransparentWBRenderConfiguration.cpp index 77982076ba..d0617aaf93 100644 --- a/Fwk/AppFwk/cafVizExtensions/cafTransparentWBRenderConfiguration.cpp +++ b/Fwk/AppFwk/cafVizExtensions/cafTransparentWBRenderConfiguration.cpp @@ -426,7 +426,7 @@ void WBTransparencySurfaceEffectGenerator::updateCommonEffect(cvf::Effect* effec { if (m_polygonOffset != PO_NONE) { - cvf::ref polyOffset = EffectGenerator::CreateAngConfigurePolygonOffsetRenderState(m_polygonOffset); + cvf::ref polyOffset = EffectGenerator::createAndConfigurePolygonOffsetRenderState(m_polygonOffset); effect->setRenderState(polyOffset.p()); } @@ -541,7 +541,7 @@ void WBTransparencySurfaceEffectGenerator::initStaticData() m_depth->enableDepthWrite(false); m_renderPassUniform = new UniformInt("isOpaquePass", 1); - m_cameraNearUniform = new UniformFloat("cameraNear", 0.01); + m_cameraNearUniform = new UniformFloat("cameraNear", 0.01f); m_cameraFarUniform = new UniformFloat("cameraFar",1000); } diff --git a/Fwk/VizFwk/LibCore/cvfProgramOptions.cpp b/Fwk/VizFwk/LibCore/cvfProgramOptions.cpp index 65b2cbd494..4a97b4ca72 100644 --- a/Fwk/VizFwk/LibCore/cvfProgramOptions.cpp +++ b/Fwk/VizFwk/LibCore/cvfProgramOptions.cpp @@ -90,6 +90,10 @@ class ProgramOptions::ParsedOption : public Object CVF_ASSERT(numParsedValues <= 1); return (numParsedValues == 1) ? true : false; } + else if (m_spec->m_valueReq == OPTIONAL_MULTI_VALUE) + { + return true; + } else { return (numParsedValues >= 1) ? true : false; diff --git a/Fwk/VizFwk/LibCore/cvfProgramOptions.h b/Fwk/VizFwk/LibCore/cvfProgramOptions.h index 57408ea31b..9d6f93584b 100644 --- a/Fwk/VizFwk/LibCore/cvfProgramOptions.h +++ b/Fwk/VizFwk/LibCore/cvfProgramOptions.h @@ -94,9 +94,10 @@ class ProgramOptions enum ValueReq { - NO_VALUE, // A flag option that does not accept any values - SINGLE_VALUE, // Option requires exactly one single value, no more, no less - MULTI_VALUE // Option requires one or more values + NO_VALUE, // A flag option that does not accept any values + SINGLE_VALUE, // Option requires exactly one single value, no more, no less + MULTI_VALUE, // Option requires one or more values + OPTIONAL_MULTI_VALUE // Option can have none, one or more values }; enum OptionFlag diff --git a/Fwk/VizFwk/LibRender/cvfScalarMapperDiscreteLinear.cpp b/Fwk/VizFwk/LibRender/cvfScalarMapperDiscreteLinear.cpp index 5d8d9872bd..27dcd095e8 100644 --- a/Fwk/VizFwk/LibRender/cvfScalarMapperDiscreteLinear.cpp +++ b/Fwk/VizFwk/LibRender/cvfScalarMapperDiscreteLinear.cpp @@ -38,7 +38,9 @@ #include "cvfScalarMapperDiscreteLinear.h" #include "cvfMath.h" #include "cvfTextureImage.h" + #include +#include namespace cvf { //================================================================================================== @@ -59,9 +61,13 @@ ScalarMapperDiscreteLinear::ScalarMapperDiscreteLinear() //-------------------------------------------------------------------------------------------------- Color3ub ScalarMapperDiscreteLinear::mapToColor(double scalarValue) const { + assert(m_sortedLevels.size() > 0); + double discVal = ScalarMapperDiscreteLinear::discretizeToLevelBelow(scalarValue, m_sortedLevels); std::set::reverse_iterator it = m_sortedLevels.rbegin(); - it++; + + if (m_sortedLevels.size() > 1 ) it++; + double levelUnderMax = *it; double normDiscVal = normalizedValue(discVal); double normSemiMaxVal = normalizedValue(levelUnderMax); diff --git a/Fwk/VizFwk/LibRender/cvfScalarMapperDiscreteLog.cpp b/Fwk/VizFwk/LibRender/cvfScalarMapperDiscreteLog.cpp index 858bdfcede..fabf0492c9 100644 --- a/Fwk/VizFwk/LibRender/cvfScalarMapperDiscreteLog.cpp +++ b/Fwk/VizFwk/LibRender/cvfScalarMapperDiscreteLog.cpp @@ -37,9 +37,11 @@ #include "cvfScalarMapperDiscreteLog.h" #include "cvfScalarMapperDiscreteLinear.h" -#include #include "cvfMath.h" +#include +#include + namespace cvf { //================================================================================================== @@ -59,14 +61,19 @@ ScalarMapperDiscreteLog::ScalarMapperDiscreteLog() } + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- Color3ub ScalarMapperDiscreteLog::mapToColor(double scalarValue) const { + assert(m_sortedLevels.size() > 0); + double discVal = ScalarMapperDiscreteLinear::discretizeToLevelBelow(scalarValue, m_sortedLevels); std::set::reverse_iterator it = m_sortedLevels.rbegin(); - it++; + + if (m_sortedLevels.size() > 1) it++; + double levelUnderMax = *it; double normDiscVal = normalizedValue(discVal); double normSemiMaxVal = normalizedValue(levelUnderMax); diff --git a/Fwk/VizFwk/LibViewing/cvfRenderSequence.cpp b/Fwk/VizFwk/LibViewing/cvfRenderSequence.cpp index b510222bc7..de8cf9582b 100644 --- a/Fwk/VizFwk/LibViewing/cvfRenderSequence.cpp +++ b/Fwk/VizFwk/LibViewing/cvfRenderSequence.cpp @@ -59,8 +59,10 @@ namespace cvf { //------------------------------------------------------------------------------------------------ /// //------------------------------------------------------------------------------------------------ -RenderSequence::RenderSequence() +RenderSequence::RenderSequence() + : m_defaultGlLightPosition(0.5, 5.0, 7.0, 1.0) // Positional Headlight right, up, back from camera { + } @@ -234,6 +236,25 @@ BoundingBox RenderSequence::boundingBox() const } +//-------------------------------------------------------------------------------------------------- +/// Todo: Replace with some renderstate object etc. +//-------------------------------------------------------------------------------------------------- +void RenderSequence::setDefaultFFLightPositional(const Vec3f& position) +{ + m_defaultGlLightPosition = Vec4f(position, 1.0); +} + +//-------------------------------------------------------------------------------------------------- +/// Todo: Replace with some renderstate object etc. +//-------------------------------------------------------------------------------------------------- +void RenderSequence::setDefaultFFLightDirectional(const Vec3f& direction) +{ + // The fourth value= 0.0 makes the light become a directional one, + // with direction from the position towards origo. + + m_defaultGlLightPosition = Vec4f(-direction, 0.0); +} + //-------------------------------------------------------------------------------------------------- /// Get the performance info for the last rendering (last call to render()). //-------------------------------------------------------------------------------------------------- @@ -291,7 +312,7 @@ void RenderSequence::deleteOrReleaseOpenGLResources(OpenGLContext* oglContext) /// in this function, but rather the ones that are likely to have been set by our caller and that /// are likely to affect our rendering. //-------------------------------------------------------------------------------------------------- -void RenderSequence::preRenderApplyExpectedOpenGLState(OpenGLContext* oglContext) +void RenderSequence::preRenderApplyExpectedOpenGLState(OpenGLContext* oglContext) const { CVF_CALLSITE_OPENGL(oglContext); CVF_CHECK_OGL(oglContext); @@ -341,8 +362,8 @@ void RenderSequence::preRenderApplyExpectedOpenGLState(OpenGLContext* oglContext // TODO Work out a proper solution for this // Should probably add some RenderState that encapsulates a light source - const Vec4f lightPosition(0.5f, 5.0f, 7.0f, 1.0f); - glLightfv(GL_LIGHT0, GL_POSITION, lightPosition.ptr()); + + glLightfv(GL_LIGHT0, GL_POSITION, m_defaultGlLightPosition.ptr()); const Vec3f spotDirection(0.0f, 0.0f, -1.0f); glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, spotDirection.ptr()); diff --git a/Fwk/VizFwk/LibViewing/cvfRenderSequence.h b/Fwk/VizFwk/LibViewing/cvfRenderSequence.h index 95ca1a5411..56c4cb9ebc 100644 --- a/Fwk/VizFwk/LibViewing/cvfRenderSequence.h +++ b/Fwk/VizFwk/LibViewing/cvfRenderSequence.h @@ -70,17 +70,21 @@ class RenderSequence : public Object BoundingBox boundingBox() const; + void setDefaultFFLightPositional(const Vec3f& position); + void setDefaultFFLightDirectional(const Vec3f& direction); + void render(OpenGLContext* oglContext); const PerformanceInfo& performanceInfo() const; void deleteOrReleaseOpenGLResources(OpenGLContext* oglContext); private: - static void preRenderApplyExpectedOpenGLState(OpenGLContext* oglContext); + void preRenderApplyExpectedOpenGLState(OpenGLContext* oglContext) const; private: Collection m_renderings; // One rendering per render pass PerformanceInfo m_performanceInfo; // Performance summary for this view + Vec4f m_defaultGlLightPosition; // Fixed function default setting for glLightfv(GL_LIGHT0, GL_POSITION, m_defaultGlLightPosition.ptr()); }; } diff --git a/OctavePlugin/OctaveScripts/LGRSOIL.m b/OctavePlugin/OctaveScripts/LGRSOIL.m index 504d36c698..a202391c7a 100644 --- a/OctavePlugin/OctaveScripts/LGRSOIL.m +++ b/OctavePlugin/OctaveScripts/LGRSOIL.m @@ -1,4 +1,5 @@ -addpath("/home/builder/Projects/ResInsightBuildDir/OctavePlugin"); +# Keep the values in the first LGR only + CInfo = riGetActiveCellInfo(); SOIL = riGetActiveCellProperty("SOIL"); diff --git a/OctavePlugin/OctaveScripts/SatNum.m b/OctavePlugin/OctaveScripts/SatNum.m index 2536ad4957..4c67eba547 100644 --- a/OctavePlugin/OctaveScripts/SatNum.m +++ b/OctavePlugin/OctaveScripts/SatNum.m @@ -1,10 +1,10 @@ -addpath("/home/builder/Projects/ResInsightBuildDir/OctavePlugin"); -SATNUM = riGetActiveCellProperty("MSW_CASE", "SATNUM"); -SOIL = riGetActiveCellProperty("MSW_CASE", "SOIL"); + +SATNUM = riGetActiveCellProperty("SATNUM"); +SOIL = riGetActiveCellProperty( "SOIL"); # Set all SOIL data to 0.0 for all cells with SATNUM different # from 7 for timestep 1 GENERATED = (SATNUM == 7) .* SOIL(:, 1); -riSetActiveCellProperty(GENERATED, "MSW_CASE", "SOIL_IN_SATNUM_Eq_7"); \ No newline at end of file +riSetActiveCellProperty(GENERATED, "SOIL_IN_SATNUM_Eq_7"); \ No newline at end of file diff --git a/OctavePlugin/OctaveScripts/SoilTimeDiff.m b/OctavePlugin/OctaveScripts/SoilTimeDiff.m index 0f12a12550..4ca512332d 100644 --- a/OctavePlugin/OctaveScripts/SoilTimeDiff.m +++ b/OctavePlugin/OctaveScripts/SoilTimeDiff.m @@ -1,4 +1,4 @@ -addpath("/home/builder/Projects/ResInsightBuildDir/OctavePlugin"); + SOIL = riGetActiveCellProperty("SOIL"); SOILDIFF = SOIL; diff --git a/OctavePlugin/OctaveScripts/kaverage.m b/OctavePlugin/OctaveScripts/kaverage.m index 99de16d021..fed00e8113 100644 --- a/OctavePlugin/OctaveScripts/kaverage.m +++ b/OctavePlugin/OctaveScripts/kaverage.m @@ -1,4 +1,4 @@ -addpath("/home/builder/Projects/ResInsightBuildDir/OctavePlugin"); + CInfo = riGetActiveCellInfo(); SOIL = riGetActiveCellProperty("SOIL"); diff --git a/OctavePlugin/OctaveScripts/kslice.m b/OctavePlugin/OctaveScripts/kslice.m index a0f8cc5141..660381d2a5 100644 --- a/OctavePlugin/OctaveScripts/kslice.m +++ b/OctavePlugin/OctaveScripts/kslice.m @@ -1,3 +1,4 @@ +# Set all values to "Undefined" exept k-layers from 17 to 20 CInfo = riGetActiveCellInfo(); SOIL = riGetActiveCellProperty("SOIL"); diff --git a/ResInsightVersion.cmake b/ResInsightVersion.cmake index 02f067d341..eb8c6aa2e8 100644 --- a/ResInsightVersion.cmake +++ b/ResInsightVersion.cmake @@ -1,15 +1,18 @@ -set(CMAKE_MAJOR_VERSION 1) -set(CMAKE_MINOR_VERSION 6) +set(CMAKE_MAJOR_VERSION 2016) +set(CMAKE_MINOR_VERSION 11) set(CMAKE_PATCH_VERSION 0) -#set(DEV_VERSION "-RC") +#set(DEV_VERSION "-dev") # https://github.com/CRAVA/crava/tree/master/libs/nrlib set(NRLIB_GITHUB_SHA "ba35d4359882f1c6f5e9dc30eb95fe52af50fd6f") # https://github.com/Ensembles/ert -set(ERT_GITHUB_SHA "9eb4c76cb930450c35e6d44d479da1141e296c7a") +set(ERT_GITHUB_SHA "236164870f011305aed2eca85c45944b021e4107") + +set(OPM_COMMON_GITHUB_SHA "1216bc052542f24ec6fcfbe1947d52e6300ff754") +set(OPM_PARSER_GITHUB_SHA "a3496df501a4369fd827fbf0ff893d03deff425f") set(PRODUCTVER ${CMAKE_MAJOR_VERSION},${CMAKE_MINOR_VERSION},0,${CMAKE_PATCH_VERSION}) set(STRPRODUCTVER ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}${DEV_VERSION}) diff --git a/TestModels/Case_with_10_timesteps/BatchStatistics.rsp b/TestModels/Case_with_10_timesteps/BatchStatistics.rsp index 79769c9f28..777b26314e 100644 --- a/TestModels/Case_with_10_timesteps/BatchStatistics.rsp +++ b/TestModels/Case_with_10_timesteps/BatchStatistics.rsp @@ -1,10 +1,9 @@ - - C:/gitRoot/OPM/ResInsight/TestModels/Case_with_10_timesteps/BatchStatistics.rsp - 1.1.0 - 5 - 1 + D:/gitroot/ResInsight/TestModels/Case_with_10_timesteps/BatchStatistics.rsp + 1.6.9-dev + 10 + 2 @@ -12,7 +11,7 @@ - Grid Case Group + Grid Case Group 1 0 @@ -20,14 +19,59 @@ Statistics 1 1 + + 0 0 1456 852 1 + View 1 + True + 0.985567 -0.130505 -0.107829 -26681.5 0.147857 0.973785 0.172859 -32645.3 0.0824431 -0.186307 0.979026 -63663.2 0 0 0 1 + 0 0 0 + True + 5 + 0.752941 0.823529 0.870588 + 10 + False + 0 + + + True + True + True + True + True + ALL_TIMESTEPS + ALL_CELLS + + + FULL_MESH + SURFACE + True + False + + + + True + + + + + + + True + + + + + True + + DYNAMIC_NATIVE MATRIX_MODEL PRESSURE_RANGE - + 8 4 @@ -37,10 +81,8 @@ AUTOMATIC_ALLTIMESTEPS 1 0 - PRESSURE_RANGE + - - 8 4 @@ -50,7 +92,7 @@ AUTOMATIC_ALLTIMESTEPS 1 0 - + PRESSURE_MIN 8 @@ -61,7 +103,7 @@ AUTOMATIC_ALLTIMESTEPS 1 0 - PRESSURE_MIN + PRESSURE_MAX 8 @@ -72,7 +114,7 @@ AUTOMATIC_ALLTIMESTEPS 1 0 - PRESSURE_MAX + PRESSURE_MEAN 8 @@ -83,7 +125,7 @@ AUTOMATIC_ALLTIMESTEPS 1 0 - PRESSURE_MEAN + PRESSURE_DEV 8 @@ -94,13 +136,29 @@ AUTOMATIC_ALLTIMESTEPS 1 0 - PRESSURE_DEV + PRESSURE_RANGE + + + 2 + USER_DEFINED_MAX_MIN + + 1 + 0 + 1 + 0 + 1 + 0 + + + ResultVarLegendDefinitionList 5 + True + MULTI_AXIS_STATIC_PROPERTY True True @@ -118,21 +176,81 @@ + + + DYNAMIC_NATIVE + MATRIX_MODEL + None + + + 8 + 4 + FIXED + NORMAL + LinearContinuous + AUTOMATIC_ALLTIMESTEPS + 1 + 0 + None + + + + + 2 + USER_DEFINED_MAX_MIN + + 1 + 0 + 1 + 0 + 1 + 0 + + + ResultVarLegendDefinitionList 0 + + - - - True - True - True - True - - - View 1 - 5 - True - 3 - True + + + False + + + DYNAMIC_NATIVE + MATRIX_MODEL + None + + + 8 + 4 + FIXED + NORMAL + LinearContinuous + AUTOMATIC_ALLTIMESTEPS + 1 + 0 + None + + + + + 2 + USER_DEFINED_MAX_MIN + + 1 + 0 + 1 + 0 + 1 + 0 + + + ResultVarLegendDefinitionList 0 + + + + True @@ -155,35 +273,41 @@ True - False True True - False - True + True FAULT_FRONT_FACE_CULLING True 0.890196 0.890196 0.890196 + False + True + + + NNCs With No Common Area (0) + + - Unnamed grid faults + Undefined Grid Faults True 0.396078 0.517647 0.376471 + + Undefined Grid Faults With Inactive + False + 1 0.513726 0.54902 + - - - - True - - + True New Filter (1) True + INCLUDE @@ -194,122 +318,20 @@ 1.81686 179.869 + False - True - FULL_MESH - SURFACE - 10 True False False - 0.752941 0.823529 0.870588 - 0.985567 -0.130505 -0.107829 -26681.5 0.147857 0.973785 0.172859 -32645.3 0.0824431 -0.186307 0.979026 -63663.2 0 0 0 1 C:/gitRoot/OPM/ResInsight/TestModels/Case_with_10_timesteps/BatchStatistics_cache/{d2b3579e-720d-4e40-98e1-417eb7a90c12} - - - DYNAMIC_NATIVE - PRESSURE_MIN - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 8 - - - DYNAMIC_NATIVE - PRESSURE_MAX - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 3817008 - - - DYNAMIC_NATIVE - PRESSURE_MEAN - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 7634008 - - - DYNAMIC_NATIVE - PRESSURE_DEV - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 11451008 - - - DYNAMIC_NATIVE - PRESSURE_RANGE - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 15268008 - - - DYNAMIC_NATIVE - PRESSURE_P_10 - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 19085008 - - - DYNAMIC_NATIVE - PRESSURE_P_50 - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 22902008 - - - DYNAMIC_NATIVE - PRESSURE_P_90 - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 26719008 - - - DYNAMIC_NATIVE - SWAT_MIN - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 30536008 - - - DYNAMIC_NATIVE - SWAT_MAX - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 34353008 - - - DYNAMIC_NATIVE - SWAT_MEAN - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 38170008 - - - DYNAMIC_NATIVE - SWAT_DEV - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 41987008 - - - DYNAMIC_NATIVE - SWAT_RANGE - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 45804008 - - - DYNAMIC_NATIVE - SWAT_P_10 - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 49621008 - - - DYNAMIC_NATIVE - SWAT_P_50 - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 53438008 - - - DYNAMIC_NATIVE - SWAT_P_90 - 1997_01_01-00:00:00 1997_01_31-00:00:00 1997_03_02-00:00:00 1997_04_01-00:00:00 1997_05_01-00:00:00 1997_05_31-00:00:00 1997_06_30-00:00:00 1997_07_30-00:00:00 1997_08_29-00:00:00 1997_09_28-00:00:00 1997_10_28-00:00:00 - 57255008 - - + @@ -335,6 +357,7 @@ 50 90 None + False @@ -345,6 +368,7 @@ BRUGGE_0000 0 + @@ -361,11 +385,12 @@ False False - C:/gitRoot/OPM/ResInsight/TestModels/Case_with_10_timesteps/Real0/BRUGGE_0000.EGRID + D:/gitroot/ResInsight/TestModels/Case_with_10_timesteps/Real0/BRUGGE_0000.EGRID BRUGGE_0010 2 + @@ -382,11 +407,12 @@ False False - C:/gitRoot/OPM/ResInsight/TestModels/Case_with_10_timesteps/Real10/BRUGGE_0010.EGRID + D:/gitroot/ResInsight/TestModels/Case_with_10_timesteps/Real10/BRUGGE_0010.EGRID BRUGGE_0030 3 + @@ -403,11 +429,12 @@ False False - C:/gitRoot/OPM/ResInsight/TestModels/Case_with_10_timesteps/Real30/BRUGGE_0030.EGRID + D:/gitroot/ResInsight/TestModels/Case_with_10_timesteps/Real30/BRUGGE_0030.EGRID BRUGGE_0040 4 + @@ -424,7 +451,392 @@ False False - C:/gitRoot/OPM/ResInsight/TestModels/Case_with_10_timesteps/Real40/BRUGGE_0040.EGRID + D:/gitroot/ResInsight/TestModels/Case_with_10_timesteps/Real40/BRUGGE_0040.EGRID + + + + + + + Grid Case Group 2 + 1 + + + + + Statistics 1 + 6 + + + + 0 0 1456 852 1 + View 1 + True + 1 0 0 -31314.5 0 1 0 -26550.5 0 0 1 -64067.8 0 0 0 1 + 0 0 0 + True + 5 + 0.682353 0.768627 0.866667 + 10 + False + 0 + + + True + True + True + True + True + ALL_TIMESTEPS + ALL_CELLS + + + FULL_MESH + SURFACE + True + False + + + + True + + + + + + + True + + + + + True + + + + + DYNAMIC_NATIVE + MATRIX_MODEL + None + + + 8 + 4 + FIXED + NORMAL + LinearContinuous + AUTOMATIC_ALLTIMESTEPS + 1 + 0 + None + + + + + 2 + USER_DEFINED_MAX_MIN + + 1 + 0 + 1 + 0 + 1 + 0 + + + ResultVarLegendDefinitionList 0 + + + + + False + MULTI_AXIS_STATIC_PROPERTY + MULT + True + True + True + + + 8 + 4 + FIXED + PINK_WHITE + LinearContinuous + AUTOMATIC_ALLTIMESTEPS + 1 + 0 + + + + + + DYNAMIC_NATIVE + MATRIX_MODEL + None + + + 8 + 4 + FIXED + NORMAL + LinearContinuous + AUTOMATIC_ALLTIMESTEPS + 1 + 0 + None + + + + + 2 + USER_DEFINED_MAX_MIN + + 1 + 0 + 1 + 0 + 1 + 0 + + + ResultVarLegendDefinitionList 0 + + + + + + + False + + + DYNAMIC_NATIVE + MATRIX_MODEL + None + + + 8 + 4 + FIXED + NORMAL + LinearContinuous + AUTOMATIC_ALLTIMESTEPS + 1 + 0 + None + + + + + 2 + USER_DEFINED_MAX_MIN + + 1 + 0 + 1 + 0 + 1 + 0 + + + ResultVarLegendDefinitionList 0 + + + + + + + True + True + True + 1 + WELLHEAD_POS_TOP_COLUMN + 0.919997 0.919997 0.919997 + OPEN_IN_VISIBLE_CELLS + 0.1 + 12 + FORCE_ALL_OFF + False + K_DIRECTION + 0.5 + True + + + + + + True + True + True + True + FAULT_BACK_FACE_CULLING + False + 0.919997 0.919997 0.919997 + True + True + + + NNCs With No Common Area (0) + + + + + Undefined Grid Faults + True + 0.396078 0.517647 0.376471 + + + Undefined Grid Faults With Inactive + False + 1 0.513726 0.54902 + + + Undefined Grid Faults + True + 0.823529 0.690196 0.439216 + + + Undefined Grid Faults With Inactive + False + 0.54902 0.670588 0.933333 + + + + + + + True + + + + True + False + False + + + + + + + + + + + + + + + False + False + + PRESSURE + PERMX PORO + + + + + + + True + InterpolatedObservationPercentile + 10 + 50 + 90 + None + False + + + + + + + + + BRUGGE_0000 + 5 + + + + + + + + + + + + + + + False + False + + D:/gitroot/ResInsight/TestModels/Case_with_10_timesteps/Real0/BRUGGE_0000.EGRID + + + BRUGGE_0010 + 7 + + + + + + + + + + + + + + + False + False + + D:/gitroot/ResInsight/TestModels/Case_with_10_timesteps/Real10/BRUGGE_0010.EGRID + + + BRUGGE_0030 + 8 + + + + + + + + + + + + + + + False + False + + D:/gitroot/ResInsight/TestModels/Case_with_10_timesteps/Real30/BRUGGE_0030.EGRID + + + BRUGGE_0040 + 9 + + + + + + + + + + + + + + + False + False + + D:/gitroot/ResInsight/TestModels/Case_with_10_timesteps/Real40/BRUGGE_0040.EGRID @@ -433,7 +845,25 @@ - + + + + True + True + 0.919997 0.919997 0.919997 + ALL_ON + 0.1 + True + 100 + + + + + + + + + @@ -442,31 +872,129 @@ - C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts + D:\Models\Statoil\OctaveScripts + + + D:\Models\Statoil\OctaveScripts\activeCellProperty.m + + + D:\Models\Statoil\OctaveScripts\getCurrentCase.m + + + D:\Models\Statoil\OctaveScripts\IJK_index.m + + + D:\Models\Statoil\OctaveScripts\InputPropTest.m + + + D:\Models\Statoil\OctaveScripts\jadda.m + + + D:\Models\Statoil\OctaveScripts\kaverage.m + + + D:\Models\Statoil\OctaveScripts\kslice.m + + + D:\Models\Statoil\OctaveScripts\KvKh.m + + + D:\Models\Statoil\OctaveScripts\LGRSOIL.m + + + D:\Models\Statoil\OctaveScripts\magne_1.m + + + D:\Models\Statoil\OctaveScripts\msj_test_activeCellProperty.m + + + D:\Models\Statoil\OctaveScripts\msj_test_activeCellProperty2.m + + + D:\Models\Statoil\OctaveScripts\PressureForSgas.m + + + D:\Models\Statoil\OctaveScripts\SatNum.m + + + D:\Models\Statoil\OctaveScripts\SetGridProperty_seg_fault.m + + + D:\Models\Statoil\OctaveScripts\SoilTimeDiff.m + + + D:\Models\Statoil\OctaveScripts\SoilTimeDiff_magne.m + + + D:\Models\Statoil\OctaveScripts\testAsciiGrids.m + + + D:\Models\Statoil\OctaveScripts\testSleep - Copy - Copy.m + + + D:\Models\Statoil\OctaveScripts\testSleep - Copy.m + + + D:\Models\Statoil\OctaveScripts\testSleep.m + + + D:\Models\Statoil\OctaveScripts\untitled.m + + + D:\Models\Statoil\OctaveScripts\untitled1.m + + + D:\Models\Statoil\OctaveScripts\untitled2.m + + + D:\Models\Statoil\OctaveScripts\untitled3.m + + + D:\Models\Statoil\OctaveScripts\untitled4.m + + + D:\Models\Statoil\OctaveScripts\untitled5.m + + + + + D:/Models/Statoil/OctaveScripts/a + + + + + D:/Models/Statoil/OctaveScripts/test + + + + + + + D:\gitroot\ResInsight\OctavePlugin\OctaveScripts - C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\InputPropTest.m + D:\gitroot\ResInsight\OctavePlugin\OctaveScripts\InputPropTest.m - C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\kaverage.m + D:\gitroot\ResInsight\OctavePlugin\OctaveScripts\kaverage.m - C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\kslice.m + D:\gitroot\ResInsight\OctavePlugin\OctaveScripts\kslice.m - C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\LGRSOIL.m + D:\gitroot\ResInsight\OctavePlugin\OctaveScripts\LGRSOIL.m - C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\OctaveInterfaceTest.m + D:\gitroot\ResInsight\OctavePlugin\OctaveScripts\OctaveInterfaceTest.m - C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\ResInsightIterfaceUnitTest.m + D:\gitroot\ResInsight\OctavePlugin\OctaveScripts\ResInsightIterfaceUnitTest.m - C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\SatNum.m + D:\gitroot\ResInsight\OctavePlugin\OctaveScripts\SatNum.m - C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\SoilTimeDiff.m + D:\gitroot\ResInsight\OctavePlugin\OctaveScripts\SoilTimeDiff.m @@ -474,7 +1002,6 @@ - -1-1000000000060;-1-10000000000;-1-100000000;-1-1000000;-1-1000010;-1-10000;-1-100 True @@ -487,6 +1014,32 @@ + + + True + + + + + + + + + + + + + + + True + + + - 0 0;0 0;0 0;0 0;0 0;6 0;0 0 + -1-100000000;-1-1000000;-1-1000010;-1-10000;-1-1001000;-1-1001010;-1-10010;-1-100 + 0 0;1 0;1 0 + + + True + False diff --git a/TestModels/Case_with_10_timesteps/CaseList3.txt b/TestModels/Case_with_10_timesteps/CaseList3.txt new file mode 100644 index 0000000000..81de94f001 --- /dev/null +++ b/TestModels/Case_with_10_timesteps/CaseList3.txt @@ -0,0 +1,2 @@ +Real30/BRUGGE_0030.EGRID +Real40/BRUGGE_0040.EGRID \ No newline at end of file diff --git a/TestModels/TEST10K_FLT_LGR_NNC/10KWithWellLog.rsp b/TestModels/TEST10K_FLT_LGR_NNC/10KWithWellLog.rsp new file mode 100644 index 0000000000..5c220be7a7 --- /dev/null +++ b/TestModels/TEST10K_FLT_LGR_NNC/10KWithWellLog.rsp @@ -0,0 +1,639 @@ + + + C:/gitRoot/OPM/ResInsight/TestModels/TEST10K_FLT_LGR_NNC/10KWithWellLog.rsp + 1.6.1-dev + 1 + 0 + + + + + + + TEST10K_FLT_LGR_NNC + 0 + + + 635 0 440 639 0 + View 1 + True + 1 0 0 -438.988 0 1 0 -608.278 0 0 1 -1086.95 0 0 0 1 + True + 5 + 0.752941 0.823529 0.870588 + 10 + True + 0 + + + True + True + True + True + True + ALL_TIMESTEPS + ALL_CELLS + + + FULL_MESH + SURFACE + True + False + + + + True + + + + + + True + + + + + True + + + + + DYNAMIC_NATIVE + MATRIX_MODEL + SWAT + + + 8 + 4 + FIXED + NORMAL + LinearContinuous + AUTOMATIC_ALLTIMESTEPS + 1 + 0 + None + + + 8 + 4 + FIXED + NORMAL + LinearContinuous + AUTOMATIC_ALLTIMESTEPS + 1 + 0 + SOIL + + + 8 + 4 + FIXED + NORMAL + LinearContinuous + AUTOMATIC_ALLTIMESTEPS + 1 + 0 + SGAS + + + 8 + 4 + FIXED + NORMAL + LinearContinuous + AUTOMATIC_ALLTIMESTEPS + 1 + 0 + SWAT + + + + + 2 + USER_DEFINED_MAX_MIN + + 1 + 0 + 1 + 0 + 1 + 0 + + + ResultVarLegendDefinitionList 3 + + + + + False + MULT + True + True + True + + + 8 + 4 + FIXED + PINK_WHITE + LinearContinuous + AUTOMATIC_ALLTIMESTEPS + 1 + 0 + + + + + + + + False + + + DYNAMIC_NATIVE + MATRIX_MODEL + None + + + 8 + 4 + FIXED + NORMAL + LinearContinuous + AUTOMATIC_ALLTIMESTEPS + 1 + 0 + None + + + + + 2 + USER_DEFINED_MAX_MIN + + 1 + 0 + 1 + 0 + 1 + 0 + + + ResultVarLegendDefinitionList 0 + + + + + + + True + True + True + 1 + WELLHEAD_POS_TOP_COLUMN + 0.890196 0.890196 0.890196 + OPEN_IN_VISIBLE_CELLS + 0.1 + 12 + FORCE_ALL_OFF + False + K_DIRECTION + 0.5 + True + + + GI1 + True + True + True + 1 + 0.588 0.588 0.804 + True + False + + + GP1 + True + True + True + 1 + 0.588 0.588 0.804 + True + False + + + GP2 + True + True + True + 1 + 0.588 0.588 0.804 + True + False + + + + + + + True + True + True + True + FAULT_BACK_FACE_CULLING + False + 0.890196 0.890196 0.890196 + True + True + + + NNCs With No Common Area (0) + + + + + Undefined grid faults + True + 0.396078 0.517647 0.376471 + + + + + + + True + + + + True + False + False + + + + + + + + + + + + + + + False + False + + C:/gitRoot/OPM/ResInsight/TestModels/TEST10K_FLT_LGR_NNC/TEST10K_FLT_LGR_NNC.EGRID + + + + + + + + + True + True + 0.890196 0.890196 0.890196 + ALL_ON + 0.1 + True + 100 + + + C:\gitRoot\OPM\ResInsight\TestModels\TEST10K_FLT_LGR_NNC\wellpath_a.dev + 0 + True + True + 1 + 0.999 0.333 0.999 + + + + C:\gitRoot\OPM\ResInsight\TestModels\TEST10K_FLT_LGR_NNC\wellpath_b.dev + 0 + True + True + 1 + 0.999 0.333 0.999 + + + + + + + + + + + + + + C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts + + + C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\InputPropTest.m + + + C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\kaverage.m + + + C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\kslice.m + + + C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\LGRSOIL.m + + + C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\OctaveInterfaceTest.m + + + C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\ResInsightIterfaceUnitTest.m + + + C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\SatNum.m + + + C:\gitRoot\OPM\ResInsight\OctavePlugin\OctaveScripts\SoilTimeDiff.m + + + + + + + + -1-100000020;-1-1000000;-1-10000;-1-100;-1-1200000;-1-12000;-1-1201000;-1-12010;-1-120;-1-130 + + + True + True + UTM_FILTER_OFF + 0 + 0 + 0 + 0 + + + + + + True + + + + + 318 0 317 639 0 + True + Well Log Plot 1 + MEASURED_DEPTH + UNIT_METER + 87.0125 + 2133.94 + True + + + Track 1 + True + + + True + Well Path B,SWAT, 01.jan 2014 + + True + 0.501961 0.501961 0 + 1 + STYLE_SOLID + SYMBOL_NONE + .. .. .. .. .. OilFields 0 WellPathCollection 0 WellPaths 1 + .. .. .. .. .. OilFields 0 AnalysisModels 0 Reservoirs 0 + + + DYNAMIC_NATIVE + MATRIX_MODEL + SWAT + + + + + NODAL + + + + + 0 + False + True + True + False + True + + + True + Well Path B,SOIL, 01.jan 2014 + + True + 0 0 0 + 1 + STYLE_SOLID + SYMBOL_NONE + .. .. .. .. .. OilFields 0 WellPathCollection 0 WellPaths 1 + .. .. .. .. .. OilFields 0 AnalysisModels 0 Reservoirs 0 + + + DYNAMIC_NATIVE + MATRIX_MODEL + SOIL + + + + + NODAL + + + + + 0 + False + True + True + False + True + + + True + Well Path B,SGAS, 01.jan 2014 + + True + 0.501961 0 0 + 1 + STYLE_SOLID + SYMBOL_NONE + .. .. .. .. .. OilFields 0 WellPathCollection 0 WellPaths 1 + .. .. .. .. .. OilFields 0 AnalysisModels 0 Reservoirs 0 + + + DYNAMIC_NATIVE + MATRIX_MODEL + SGAS + + + + + NODAL + + + + + 0 + False + True + True + False + True + + + 0 + 0.955563 + True + False + + + + + 0 0 318 619 0 + True + Well Log Plot 4 + MEASURED_DEPTH + UNIT_METER + 162.724 + 2490.69 + True + + + Track 1 + True + + + True + Well Path A,SOIL, 01.jan 2014 + + True + 0 0 0.501961 + 1 + STYLE_SOLID + SYMBOL_NONE + .. .. .. .. .. OilFields 0 WellPathCollection 0 WellPaths 0 + .. .. .. .. .. OilFields 0 AnalysisModels 0 Reservoirs 0 + + + DYNAMIC_NATIVE + MATRIX_MODEL + SOIL + + + + + NODAL + + + + + 0 + False + True + True + False + True + + + True + Well Path A,SGAS, 01.jan 2014 + + True + 0 0.501961 0 + 1 + STYLE_SOLID + SYMBOL_NONE + .. .. .. .. .. OilFields 0 WellPathCollection 0 WellPaths 0 + .. .. .. .. .. OilFields 0 AnalysisModels 0 Reservoirs 0 + + + DYNAMIC_NATIVE + MATRIX_MODEL + SGAS + + + + + NODAL + + + + + 0 + False + True + True + False + True + + + True + Well Path A,SWAT, 01.jan 2014 + + True + 0.501961 0 0.501961 + 1 + STYLE_SOLID + SYMBOL_NONE + .. .. .. .. .. OilFields 0 WellPathCollection 0 WellPaths 0 + .. .. .. .. .. OilFields 0 AnalysisModels 0 Reservoirs 0 + + + DYNAMIC_NATIVE + MATRIX_MODEL + SWAT + + + + + NODAL + + + + + 0 + False + True + True + False + True + + + 0 + 0.956023 + True + False + + + + + + + + + + + + + + + + True + + + + + 2 0;0 0 + diff --git a/ThirdParty/Ert/.gitignore b/ThirdParty/Ert/.gitignore index 1ec65bb69b..b0601e3c62 100644 --- a/ThirdParty/Ert/.gitignore +++ b/ThirdParty/Ert/.gitignore @@ -7,20 +7,21 @@ *.user *.user.* .idea -devel/python/lib64 -/devel/libenkf/src/.faultlist +python/lib64 +/libenkf/src/.faultlist /develbranch/libenkf/src/.faultlist /build -/devel/libert_util/tests/data/latex_OK.pdf -/devel/test-data/Statoil -/devel/python/python/ert/ecl/ecl_local.py -/devel/GPATH -/devel/GRTAGS -/devel/GTAGS -/devel/gtags.sh +/libert_util/tests/data/latex_OK.pdf +/test-data/Statoil +/python/python/ert/ecl/ecl_local.py +/GPATH +/GRTAGS +/GTAGS +/gtags.sh /cmake.sh scratch.sparsebundle *.iml *.DS_Store __ert_lib_path.py +__ert_lib_info.py diff --git a/ThirdParty/Ert/.travis.yml b/ThirdParty/Ert/.travis.yml index e28b6c4420..6e3998c990 100644 --- a/ThirdParty/Ert/.travis.yml +++ b/ThirdParty/Ert/.travis.yml @@ -1,38 +1,63 @@ -language: python +language: c -python: - - 2.7_with_system_site_packages - -compiler: - - gcc +matrix: + fast_finish: true + allow_failures: + - os: osx + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: gcc addons: apt: + sources: + - ubuntu-toolchain-r-test packages: - liblapack-dev - - texlive-latex-base - valgrind - - python-qt4 - - python-qt4-gl - -before_install: - - wget http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh - - chmod +x miniconda.sh - - ./miniconda.sh -b - - export PATH=/home/travis/miniconda/bin:$PATH - - conda update --yes conda + - gcc-4.8 + - g++-4.8 + - clang install: - - conda install --yes numpy scipy matplotlib pandas pyopengl sphinx + - if [[ "$CC" == "gcc" ]]; then export CXX="g++-4.8"; fi + + - export TRAVIS_PYTHON_VERSION="2.7" + # We do this conditionally because it saves us some downloading if the version is the same. + - if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then + if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + wget https://repo.continuum.io/miniconda/Miniconda-latest-MacOSX-x86_64.sh -O miniconda.sh; + else + wget https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh; + fi + else + if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + wget https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -O miniconda.sh; + else + wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; + fi + fi + + - bash miniconda.sh -b -p $HOME/miniconda + - export CONDA_HOME="$HOME/miniconda" + - export PATH="$CONDA_HOME/bin:$PATH" + - hash -r + - conda config --set always_yes yes --set changeps1 no + - conda update -q conda + # Useful for debugging any issues with conda + - conda info -a + - conda install pyqt=4 scipy=0.16.1 numpy pandas matplotlib + +env: + global: + - ERT_SHOW_BACKTRACE=1 before_script: - - sudo apt-get install libplplot-dev - - sudo apt-get install python-tk - mkdir build - cd build - - echo "WORKFLOW_JOB_DIRECTORY ../devel/share/workflows/jobs/internal/config" > DEFAULT_SITE_CONFIG_FILE - - echo "WORKFLOW_JOB_DIRECTORY ../devel/share/workflows/jobs/internal-gui/config" >> DEFAULT_SITE_CONFIG_FILE - - echo "JOB_SCRIPT ../devel/share/bin/job_dispatch.py" >> DEFAULT_SITE_CONFIG_FILE - - cmake -DPYTHON_INSTALL_PREFIX=python -DBUILD_ERT=ON -DERT_BUILD_GUI=ON -DBUILD_ENS_PLOT=ON -DBUILD_TESTS=ON -DBUILD_APPLICATIONS=ON -DUSE_RUNPATH=ON -DBUILD_PYTHON=ON -DERT_USE_OPENMP=ON -DERT_DOC=ON -DSITE_CONFIG_FILE=DEFAULT_SITE_CONFIG_FILE ../devel + - cmake -DPYTHON_INSTALL_PREFIX=python -DBUILD_ERT=ON -DERT_BUILD_GUI=ON -DBUILD_TESTS=ON -DBUILD_APPLICATIONS=ON -DUSE_RUNPATH=ON -DBUILD_PYTHON=ON -DERT_USE_OPENMP=ON -DERT_DOC=OFF -DERT_BUILD_CXX=ON .. -script: make && ctest --output-on-failure -LE StatoilData +script: make && ctest --output-on-failure diff --git a/ThirdParty/Ert/CMakeLists.txt b/ThirdParty/Ert/CMakeLists.txt new file mode 100644 index 0000000000..08d043e38e --- /dev/null +++ b/ThirdParty/Ert/CMakeLists.txt @@ -0,0 +1,223 @@ +cmake_minimum_required( VERSION 2.8 ) +project( ERT C CXX ) + +if(POLICY CMP0042) + cmake_policy(SET CMP0042 OLD) +endif() + +#----------------------------------------------------------------- + +set( ERT_VERSION_MAJOR 2 ) # Remember to update release notes whenever +set( ERT_VERSION_MINOR 1 ) # you change the ERT_VERSION_MINOR or MAJOR +set( ERT_VERSION_MICRO git ) # with "new in Ert Version X.X.X"! + +# If the micro version is not integer, that should be interpreted as a +# development version leading towards version MAJOR.MINOR.0 + +#----------------------------------------------------------------- + +option( BUILD_ERT "Build the full ERT application - Linux only" OFF) +option( BUILD_TESTS "Should the tests be built" OFF) +option( BUILD_APPLICATIONS "Should we build small utility applications" OFF) +option( BUILD_ECL_SUMMARY "Build the commandline application ecl_summary" OFF) +option( BUILD_PYTHON "Run py_compile on the python wrappers" ON ) +option( BUILD_SHARED_LIBS "Build shared libraries" ON ) +option( INSTALL_ERT "Should anything be installed when issuing make install?" ON ) +option( ERT_BUILD_GUI "Should the PyQt based GUI be compiled and installed" OFF) +option( ERT_USE_OPENMP "Use OpenMP - currently only in EclGrid" OFF) +option( ERT_DOC "Build ERT documantation" OFF) +option( ERT_BUILD_CXX "Build some CXX wrappers" ON) + + + + + +set(STATOIL_TESTDATA_ROOT "" CACHE PATH "Root to Statoil internal testdata") +if (EXISTS ${STATOIL_TESTDATA_ROOT}) + set( LINK "${CMAKE_CURRENT_SOURCE_DIR}/test-data/Statoil" ) + if (EXISTS ${LINK}) + EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} -E remove "${LINK}") + endif() + + EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} -E create_symlink "${STATOIL_TESTDATA_ROOT}" "${LINK}") + message(STATUS "Linking testdata: ${LINK} -> ${STATOIL_TESTDATA_ROOT}") +endif() + + + +include( CheckFunctionExists ) +include( CheckTypeSize ) +ENABLE_TESTING() + +if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") + set(ERT_LINUX TRUE ) + add_definitions( -DERT_LINUX ) + set( ERT_BINARY_POSTFIX .${ERT_VERSION_MAJOR}.${ERT_VERSION_MINOR} ) +elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + set(ERT_LINUX TRUE ) + set(ERT_MAC TRUE) + add_definitions( -DERT_LINUX ) + set( ERT_BINARY_POSTFIX .${ERT_VERSION_MAJOR}.${ERT_VERSION_MINOR} ) +elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") + set(ERT_WINDOWS TRUE) + add_definitions( -DERT_WINDOWS ) +endif() + +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + message(STATUS "Setting build type to 'RelWithDebInfo' as none was specified.") + set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING + "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) + # Set the possible values of build type for cmake-gui + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" + "MinSizeRel" "RelWithDebInfo") +endif() + +# Treat warnings as errors if not on Windows +if (NOT ERT_WINDOWS) + set( CMAKE_C_FLAGS "-std=gnu99 -Wall -Wno-unknown-pragmas ") + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall " ) +endif() + +if (MSVC) + add_definitions( "/W3 /D_CRT_SECURE_NO_WARNINGS /wd4996" ) +endif() + +list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules) +find_package(CXX11Features) + +if (ERT_USE_OPENMP) + find_package(OpenMP) + if (OPENMP_FOUND) + message(STATUS "Enabling OpenMP support") + # The actual use of OpenMP is only in the libecl library - the compile flags is only applied there. + else() + set( ERT_USE_OPENMP OFF ) + message(STATUS "OpenMP package not found - OpenMP disabled") + endif() +endif() + + +#----------------------------------------------------------------- + +# Checking based on compiling. Some of the code generates warnings, so we just cut down to bare-bone compiler flags. + +set( CMAKE_C_FLAGS_main ${CMAKE_C_FLAGS} ) +set( CMAKE_CXX_FLAGS_main ${CMAKE_CXX_FLAGS} ) + +if (NOT ERT_WINDOWS) + set( CMAKE_C_FLAGS_main "${CMAKE_C_FLAGS} -std=gnu99" ) +endif() + +set( ERT_EXTERNAL_UTIL_LIBS "" ) +include(cmake/ert_build_check.cmake) +include(cmake/ert_api_check.cmake) +include(cmake/ert_lib_check.cmake) + +set( CMAKE_C_FLAGS ${CMAKE_C_FLAGS_main} ) +set( CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS_main} ) + +include(cmake/Modules/UseMultiArch.cmake) +include(cmake/ert_link.cmake) + +#----------------------------------------------------------------- + +set(INSTALL_GROUP "" CACHE STRING "Group to install as - blank to install as current group") +set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) +set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/bin) + + +if (BUILD_SHARED_LIBS) + set( LIBRARY_TYPE SHARED ) +else() + set( LIBRARY_TYPE STATIC ) + if (BUILD_ERT) + message(FATAL_ERROR "The full ERT application must be built with shared libraries") + endif() + if (BUILD_PYTHON) + message(FATAL_ERROR "The Python wrappers require shared libraries") + endif() +endif() + +if (MSVC) + add_definitions( -D__func__="\\"????\\"") +endif() + +if (ERT_LINUX) + set( NEED_LIBM TRUE ) + set( LINK_STATIC FALSE ) + add_definitions( -DHAVE_PROC ) +else() + set( NEED_LIBM FALSE ) + set( LINK_STATIC TRUE ) +endif() + +include_directories( ${PROJECT_SOURCE_DIR}/libert_util/include ) +include_directories( ${PROJECT_BINARY_DIR}/libert_util/include ) +if (MSVC) + include_directories( ${PROJECT_BINARY_DIR}/libert_util/include/ert/util ) +endif() +add_subdirectory( libert_util ) + + +include_directories( ${PROJECT_SOURCE_DIR}/libgeometry/include ) +add_subdirectory( libgeometry ) + +include_directories( ${PROJECT_SOURCE_DIR}/libecl/include ) +add_subdirectory( libecl ) + +if (ERT_BUILD_CXX) + include_directories( ${PROJECT_SOURCE_DIR}/libert_utilxx/include ) + include_directories( ${PROJECT_SOURCE_DIR}/libeclxx/include ) + + add_subdirectory( libert_utilxx ) + add_subdirectory( libeclxx ) +endif() + +include_directories( ${PROJECT_SOURCE_DIR}/libecl_well/include ) +add_subdirectory( libecl_well ) + + +#----------------------------------------------------------------- +if (BUILD_ERT) +#----------------------------------------------------------------- + if (BUILD_TESTS) + option( ERT_LSF_SUBMIT_TEST "Build and run tests of LSF submit" OFF) + endif() + add_subdirectory( bin ) + + include(cmake/ert_module_name.cmake) + + include_directories( ${PROJECT_SOURCE_DIR}/libconfig/include ) + add_subdirectory( libconfig ) + + include_directories( ${PROJECT_SOURCE_DIR}/libsched/include ) + add_subdirectory( libsched ) + + include_directories( ${PROJECT_SOURCE_DIR}/librms/include ) + add_subdirectory( librms ) + + include_directories( ${PROJECT_SOURCE_DIR}/libanalysis/include ) + add_subdirectory( libanalysis ) + + include_directories( ${PROJECT_SOURCE_DIR}/libjob_queue/include ) + add_subdirectory( libjob_queue ) + + include_directories( ${PROJECT_SOURCE_DIR}/libenkf/include ) + add_subdirectory( libenkf ) + + install(DIRECTORY ${PROJECT_SOURCE_DIR}/share DESTINATION ${CMAKE_INSTALL_PREFIX}) +endif() + + +if (BUILD_PYTHON) + if (ERT_WINDOWS) + message(STATUS "Python is not supported on Windows") + else() + include(cmake/python.cmake2) + add_subdirectory( python ) + if(ERT_DOC) + add_subdirectory( docs ) + endif() + endif() +endif() + diff --git a/ThirdParty/Ert/README b/ThirdParty/Ert/README index f6515ee1ac..dcae8cff53 100644 --- a/ThirdParty/Ert/README +++ b/ThirdParty/Ert/README @@ -1,3 +1,39 @@ +Coming from OPM?? +----------------- + +ERT is a package for handling an ensemble of reservoir models, an +important part of that is beeing able to read and write the files from +standard reservoir applications; ert has quite extensive support for +reading and writing the result files from the ECLIPSE reservoir +simulator. The capabilities to read and write ECLIPSE result files is +used by the OPM simulator codes. + +The ERT build system has many configuration options, but when +compiling for OPM you should be able to use the all defaults route: + + git clone https://github.com/Ensembles/ert.git + cd ert + mkdir build + cd build + cmake .. + make + +The OPM build system can find an ERT distribution in the sibling +location, i.e. if you have cloned ert beside the opm modules like: + + ert/ + opm-common/ + opm-parser/ + opm-material/ + .... + +The opm build system will find the ert distribution in-place, +otherwise you should install ert with 'make install' and the normal +cmake machinery of the opm build system should find it. + + +------------------------------------------------------------------------ + _________________________________ / \ | ______ ______ _______ | @@ -77,14 +113,15 @@ with MinGW. 3. Building ERT CMake is the build system for ERT. The top level CMakeLists.txt file -is located in the devel/ directory, and this CMakeLists.txt file -includes individual CMakeLists.txt files for the different libraries. +is located in the top level directory of the repository, and this +CMakeLists.txt file includes individual CMakeLists.txt files for the +different libraries. Building with CMake is performed like this: 1. Create a build directory, this can in principle be anywhere in - the filesystem. At the same level as the devel/ directory is a - practical choice. + the filesystem. One level above the toplevel source directory is + a practical choice. 2. Go to the build directory and invoke the command: @@ -205,8 +242,8 @@ orientation'. Most of the code is uses the following conventions: Some of the code, in particular the ECLIPSE related functionality, has been wrapped for usage in Python. Using these wrappers, it is quite easy work with ECLIPSE files. The python wrappers are quite well -documented both in the directory devel/python/docs and in the Python -classes themselves. +documented both in the directory python/docs and in the Python classes +themselves. 5. Tests @@ -242,10 +279,10 @@ way, and the last line adds it as a test. 5.2 Testing of Python Code -In devel/python/test there are several files with Python tests, these -files are executable files and they are invoked directly from the -command line. A limited number of the tests have been integrated in the -ctest system. +In python/test there are several files with Python tests, these files +are executable files and they are invoked directly from the command +line. A limited number of the tests have been integrated in the ctest +system. 5.3 Test names @@ -275,8 +312,8 @@ labels currently available in the ERT test setup are: StatoilData: This implies that the test makes use of Statoil internal data. If you are work for the Bergen office of Statoil, - you can read the the file devel/test-data/README for - instructions on how to make this data available. + you can read the the file test-data/README for instructions on + how to make this data available. If you are not for Statoil in Bergen, you must pass the option: "-EL StatoilData" to ctest to skip all the tests which require diff --git a/ThirdParty/Ert/devel/VisualStudio/stdbool.h b/ThirdParty/Ert/VisualStudio/stdbool.h similarity index 94% rename from ThirdParty/Ert/devel/VisualStudio/stdbool.h rename to ThirdParty/Ert/VisualStudio/stdbool.h index 448b85ad0d..c599cf5cbd 100644 --- a/ThirdParty/Ert/devel/VisualStudio/stdbool.h +++ b/ThirdParty/Ert/VisualStudio/stdbool.h @@ -13,8 +13,8 @@ include directory as used by VisualStudio. */ -#ifndef __STDBOOL_H__ -#define __STDBOOL_H__ +#ifndef ERT_STDBOOL_H +#define ERT_STDBOOL_H #ifndef __cplusplus typedef int bool; diff --git a/ThirdParty/Ert/devel/Windows.txt b/ThirdParty/Ert/Windows.txt similarity index 100% rename from ThirdParty/Ert/devel/Windows.txt rename to ThirdParty/Ert/Windows.txt diff --git a/ThirdParty/Ert/appveyor.yml b/ThirdParty/Ert/appveyor.yml new file mode 100644 index 0000000000..574be1fff7 --- /dev/null +++ b/ThirdParty/Ert/appveyor.yml @@ -0,0 +1,12 @@ +version: 1.0.{build} +clone_depth: 1 +build_script: +- cmd: >- + mkdir build + + cd build + + cmake .. -G"Visual Studio 14 2015 Win64" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DERT_BUILD_CXX=OFF -DBUILD_PYTHON=OFF -DBUILD_APPLICATIONS=ON + + + msbuild /m /p:Configuration=Release /p:Platform="x64" ERT.sln diff --git a/ThirdParty/Ert/cmake/Modules/FindCXX11Features.cmake b/ThirdParty/Ert/cmake/Modules/FindCXX11Features.cmake new file mode 100644 index 0000000000..0b79c32344 --- /dev/null +++ b/ThirdParty/Ert/cmake/Modules/FindCXX11Features.cmake @@ -0,0 +1,19 @@ +# +# Module that checks for supported C++11 (former C++0x) features. +# +if(CMAKE_VERSION VERSION_LESS 3.1) + if(NOT MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + endif() + if(NOT ERT_WINDOWS) + set( CMAKE_CXX_FLAGS_main "${CMAKE_CXX_FLAGS} -std=c++11") + endif() +else() + if(NOT CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 11) + endif() + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) +endif() + +set(CXX11FEATURES_FOUND TRUE) diff --git a/ThirdParty/Ert/devel/cmake/Modules/UseMultiArch.cmake b/ThirdParty/Ert/cmake/Modules/UseMultiArch.cmake similarity index 100% rename from ThirdParty/Ert/devel/cmake/Modules/UseMultiArch.cmake rename to ThirdParty/Ert/cmake/Modules/UseMultiArch.cmake diff --git a/ThirdParty/Ert/devel/cmake/Tests/test_getenv.c b/ThirdParty/Ert/cmake/Tests/test_getenv.c similarity index 100% rename from ThirdParty/Ert/devel/cmake/Tests/test_getenv.c rename to ThirdParty/Ert/cmake/Tests/test_getenv.c diff --git a/ThirdParty/Ert/devel/cmake/Tests/test_have_sigbus.c b/ThirdParty/Ert/cmake/Tests/test_have_sigbus.c similarity index 100% rename from ThirdParty/Ert/devel/cmake/Tests/test_have_sigbus.c rename to ThirdParty/Ert/cmake/Tests/test_have_sigbus.c diff --git a/ThirdParty/Ert/devel/cmake/Tests/test_isfinite.c b/ThirdParty/Ert/cmake/Tests/test_isfinite.c similarity index 77% rename from ThirdParty/Ert/devel/cmake/Tests/test_isfinite.c rename to ThirdParty/Ert/cmake/Tests/test_isfinite.c index 4f5968970a..8eafdbcb93 100644 --- a/ThirdParty/Ert/devel/cmake/Tests/test_isfinite.c +++ b/ThirdParty/Ert/cmake/Tests/test_isfinite.c @@ -1,5 +1,5 @@ #include int main( int argc , char ** argv) { - isfinite(0); + isfinite(0.0); } diff --git a/ThirdParty/Ert/devel/cmake/Tests/test_mktime_before1970.c b/ThirdParty/Ert/cmake/Tests/test_mktime_before1970.c similarity index 100% rename from ThirdParty/Ert/devel/cmake/Tests/test_mktime_before1970.c rename to ThirdParty/Ert/cmake/Tests/test_mktime_before1970.c diff --git a/ThirdParty/Ert/cmake/Tests/test_mode_t.c b/ThirdParty/Ert/cmake/Tests/test_mode_t.c new file mode 100644 index 0000000000..b502411b83 --- /dev/null +++ b/ThirdParty/Ert/cmake/Tests/test_mode_t.c @@ -0,0 +1,6 @@ +#include + +int main(int argc, char ** argv) { + mode_t new_mode = S_IWGRP; + chmod( "/tmp" , new_mode ); +} diff --git a/ThirdParty/Ert/devel/cmake/Tests/test_openmp.c b/ThirdParty/Ert/cmake/Tests/test_openmp.c similarity index 100% rename from ThirdParty/Ert/devel/cmake/Tests/test_openmp.c rename to ThirdParty/Ert/cmake/Tests/test_openmp.c diff --git a/ThirdParty/Ert/devel/cmake/Tests/test_pid_t.c b/ThirdParty/Ert/cmake/Tests/test_pid_t.c similarity index 100% rename from ThirdParty/Ert/devel/cmake/Tests/test_pid_t.c rename to ThirdParty/Ert/cmake/Tests/test_pid_t.c diff --git a/ThirdParty/Ert/devel/cmake/Tests/test_shared_ptr.cpp b/ThirdParty/Ert/cmake/Tests/test_shared_ptr.cpp similarity index 100% rename from ThirdParty/Ert/devel/cmake/Tests/test_shared_ptr.cpp rename to ThirdParty/Ert/cmake/Tests/test_shared_ptr.cpp diff --git a/ThirdParty/Ert/devel/cmake/Tests/test_va_copy.c b/ThirdParty/Ert/cmake/Tests/test_va_copy.c similarity index 100% rename from ThirdParty/Ert/devel/cmake/Tests/test_va_copy.c rename to ThirdParty/Ert/cmake/Tests/test_va_copy.c diff --git a/ThirdParty/Ert/devel/cmake/cmake_pyc b/ThirdParty/Ert/cmake/cmake_pyc similarity index 100% rename from ThirdParty/Ert/devel/cmake/cmake_pyc rename to ThirdParty/Ert/cmake/cmake_pyc diff --git a/ThirdParty/Ert/devel/cmake/cmake_pyc2 b/ThirdParty/Ert/cmake/cmake_pyc2 similarity index 100% rename from ThirdParty/Ert/devel/cmake/cmake_pyc2 rename to ThirdParty/Ert/cmake/cmake_pyc2 diff --git a/ThirdParty/Ert/devel/cmake/cmake_pyc_file b/ThirdParty/Ert/cmake/cmake_pyc_file similarity index 100% rename from ThirdParty/Ert/devel/cmake/cmake_pyc_file rename to ThirdParty/Ert/cmake/cmake_pyc_file diff --git a/ThirdParty/Ert/devel/cmake/cmake_pyc_tree b/ThirdParty/Ert/cmake/cmake_pyc_tree similarity index 100% rename from ThirdParty/Ert/devel/cmake/cmake_pyc_tree rename to ThirdParty/Ert/cmake/cmake_pyc_tree diff --git a/ThirdParty/Ert/devel/cmake/create_cmakelists.py b/ThirdParty/Ert/cmake/create_cmakelists.py similarity index 100% rename from ThirdParty/Ert/devel/cmake/create_cmakelists.py rename to ThirdParty/Ert/cmake/create_cmakelists.py diff --git a/ThirdParty/Ert/cmake/ert_api_check.cmake b/ThirdParty/Ert/cmake/ert_api_check.cmake new file mode 100644 index 0000000000..972ae76eb5 --- /dev/null +++ b/ThirdParty/Ert/cmake/ert_api_check.cmake @@ -0,0 +1,74 @@ +# This file contains feature checks which affect the API of the final +# product; i.e. if the test for zlib fails the function +# buffer_fwrite_compressed() will not be available in the final +# installation. +# +# The results of these tests will be assembled in the +# ert/util/ert_api_config.h header; all the symbols in that header will +# have a ERT_ prefix. The generated header is part of the api and can be +# included by other header files in the ert source. + +find_library( BLAS_LIBRARY NAMES blas) +if (BLAS_LIBRARY) + set(ERT_HAVE_BLAS ON) +endif() + +find_library( LAPACK_LIBRARY NAMES lapack) +if (LAPACK_LIBRARY) + set(ERT_HAVE_LAPACK ON) +endif() + +#----------------------------------------------------------------- + +find_library( ZLIB_LIBRARY NAMES z ) +find_path( ZLIB_HEADER zlib.h /usr/include ) +if (ZLIB_LIBRARY AND ZLIB_HEADER) + set( ERT_HAVE_ZLIB ON ) +else() + message("ZLib not found - zlib support will not be included." ) +endif() + +#----------------------------------------------------------------- + +try_compile( ERT_HAVE_ISFINITE ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_isfinite.c ) +find_path( ERT_HAVE_GETOPT getopt.h /usr/include ) +find_path( ERT_HAVE_UNISTD unistd.h /usr/include ) + +check_function_exists( posix_spawn ERT_HAVE_SPAWN ) +check_function_exists( opendir ERT_HAVE_OPENDIR ) +check_function_exists( symlink ERT_HAVE_SYMLINK ) +check_function_exists( readlinkat ERT_HAVE_READLINKAT ) +check_function_exists( glob ERT_HAVE_GLOB ) +check_function_exists( getuid ERT_HAVE_GETUID ) +check_function_exists( regexec ERT_HAVE_REGEXP ) +check_function_exists( lockf ERT_HAVE_LOCKF ) + + +check_type_size(time_t SIZE_OF_TIME_T) +if (${SIZE_OF_TIME_T} EQUAL 8) + try_run( RUN_RESULT COMPILE_RESULT ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_mktime_before1970.c ) + if (${COMPILE_RESULT}) + if (${RUN_RESULT} EQUAL 0) + set( ERT_TIME_T_64BIT_ACCEPT_PRE1970 ON ) + endif() + endif() +endif() + + +if (ERT_WINDOWS) + if (CMAKE_SIZEOF_VOID_P EQUAL 8) + set( ERT_WINDOWS_LFS ON ) + endif() +endif() + + +if (HAVE_PTHREAD) + set( ERT_HAVE_THREAD_POOL ON ) +endif() + + +find_program(PING_PATH NAMES ping) +if (PING_PATH) + set( ERT_HAVE_PING ON ) + add_definitions( -DPING_CMD="${PING_PATH}" ) +endif() \ No newline at end of file diff --git a/ThirdParty/Ert/cmake/ert_build_check.cmake b/ThirdParty/Ert/cmake/ert_build_check.cmake new file mode 100644 index 0000000000..6abfd821f1 --- /dev/null +++ b/ThirdParty/Ert/cmake/ert_build_check.cmake @@ -0,0 +1,76 @@ +# This file contains checks which are used to implement portable +# utility functions. The results of these check are assembled in the +# generated header "ert/util/build_config.h" - that header is NOT part +# of the public api and it should only be included from source files +# as part of the compilation. +# +# Check which affect the final api are implemented in the +# ert_api_check.cmake file. + +find_library( PTHREAD_LIBRARY NAMES pthread ) +if (PTHREAD_LIBRARY) + set( HAVE_PTHREAD ON ) + set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} pthread) +endif() + +if (UNIX) + set( CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} m ) + set( ERT_EXTERNAL_UTIL_LIBS ${ERT_EXTERNAL_UTIL_LIBS} m ) +endif(UNIX) + + +check_function_exists( localtime_r HAVE_LOCALTIME_R ) +check_function_exists( gmtime_r HAVE_GMTIME_R ) +check_function_exists( realpath HAVE_REALPATH ) +check_function_exists( usleep HAVE__USLEEP ) +check_function_exists( fnmatch HAVE_FNMATCH ) +check_function_exists( ftruncate HAVE_FTRUNCATE ) +check_function_exists( round HAVE_ROUND ) +check_function_exists( GetTempPath HAVE_WINDOWS_GET_TEMP_PATH ) +check_function_exists( fork HAVE_FORK ) +check_function_exists( getpwuid HAVE_GETPWUID ) +check_function_exists( fsync HAVE_FSYNC ) +check_function_exists( setenv HAVE_POSIX_SETENV ) +check_function_exists( chmod HAVE_CHMOD ) +check_function_exists( pthread_timedjoin_np HAVE_TIMEDJOIN) +check_function_exists( pthread_yield_np HAVE_YIELD_NP) +check_function_exists( pthread_yield HAVE_YIELD) +check_function_exists( fseeko HAVE_FSEEKO ) +check_function_exists( timegm HAVE_TIMEGM ) + +check_function_exists( _mkdir HAVE_WINDOWS_MKDIR) +if (NOT HAVE_WINDOWS_MKDIR) + check_function_exists( mkdir HAVE_POSIX_MKDIR) +endif() + + +check_function_exists( _chdir HAVE_WINDOWS_CHDIR) +if (NOT HAVE_WINDOWS_CHDIR) + check_function_exists( chdir HAVE_POSIX_CHDIR) +endif() + +check_function_exists( _getcwd HAVE_WINDOWS_GETCWD) +if (NOT HAVE_WINDOWS_GETCWD) + check_function_exists( getcwd HAVE_POSIX_GETCWD) +endif() + + +include(CheckSymbolExists) +check_symbol_exists(_tzname time.h HAVE_WINDOWS_TZNAME) +check_symbol_exists( tzname time.h HAVE_TZNAME) + +find_path( HAVE_EXECINFO execinfo.h /usr/include ) + +try_compile( HAVE_VA_COPY ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_va_copy.c ) +try_compile( HAVE_SIGBUS ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_have_sigbus.c ) +try_compile( HAVE_PID_T ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_pid_t.c ) +try_compile( HAVE_MODE_T ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_mode_t.c ) + + +set( BUILD_CXX ON ) +try_compile( HAVE_CXX_SHARED_PTR ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_shared_ptr.cpp ) +if (NOT HAVE_CXX_SHARED_PTR) + set( BUILD_CXX OFF ) +endif() + + diff --git a/ThirdParty/Ert/cmake/ert_lib_check.cmake b/ThirdParty/Ert/cmake/ert_lib_check.cmake new file mode 100644 index 0000000000..2aa4c851f7 --- /dev/null +++ b/ThirdParty/Ert/cmake/ert_lib_check.cmake @@ -0,0 +1,30 @@ +# This file contains various checks which will append to the list +# $ERT_EXTERNAL_UTIL_LIBS which should contain all the external library +# dependencies. Observe that all library dependencies go transitively +# through the ert_util library. + +if (ERT_HAVE_LAPACK) + set( ERT_EXTERNAL_UTIL_LIBS ${ERT_EXTERNAL_UTIL_LIBS} ${LAPACK_LIBRARY} ${BLAS_LIBRARY}) + set( CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${LAPACK_LIBRARY} ${BLAS_LIBRARY}) +endif() + + +if (ERT_WINDOWS) + find_library( SHLWAPI_LIBRARY NAMES Shlwapi ) + set( ERT_EXTERNAL_UTIL_LIBS ${ERT_EXTERNAL_UTIL_LIBS} Shlwapi ) +endif() + + +if (ERT_HAVE_ZLIB) + set( ERT_EXTERNAL_UTIL_LIBS ${ERT_EXTERNAL_UTIL_LIBS} ${ZLIB_LIBRARY} ) +endif() + +if (HAVE_PTHREAD) + set( ERT_EXTERNAL_UTIL_LIBS ${ERT_EXTERNAL_UTIL_LIBS} ${PTHREAD_LIBRARY} ) +endif() + +find_library( DL_LIBRARY NAMES dl ) +find_path( DLFUNC_HEADER dlfcn.h ) +if (DL_LIBRARY AND DLFUNC_HEADER) + set( ERT_EXTERNAL_UTIL_LIBS ${ERT_EXTERNAL_UTIL_LIBS} ${DL_LIBRARY} ) +endif() \ No newline at end of file diff --git a/ThirdParty/Ert/devel/cmake/ert_link.cmake b/ThirdParty/Ert/cmake/ert_link.cmake similarity index 100% rename from ThirdParty/Ert/devel/cmake/ert_link.cmake rename to ThirdParty/Ert/cmake/ert_link.cmake diff --git a/ThirdParty/Ert/devel/cmake/ert_module_name.cmake b/ThirdParty/Ert/cmake/ert_module_name.cmake similarity index 100% rename from ThirdParty/Ert/devel/cmake/ert_module_name.cmake rename to ThirdParty/Ert/cmake/ert_module_name.cmake diff --git a/ThirdParty/Ert/devel/cmake/python.cmake b/ThirdParty/Ert/cmake/python.cmake similarity index 100% rename from ThirdParty/Ert/devel/cmake/python.cmake rename to ThirdParty/Ert/cmake/python.cmake diff --git a/ThirdParty/Ert/cmake/python.cmake2 b/ThirdParty/Ert/cmake/python.cmake2 new file mode 100644 index 0000000000..740fe86618 --- /dev/null +++ b/ThirdParty/Ert/cmake/python.cmake2 @@ -0,0 +1,43 @@ +if (NOT PYTHONINTERP_FOUND) + find_package (PythonInterp REQUIRED) +endif () +function(add_python_package target package_path source_files install_package) + + set(build_files "") + + foreach (file ${source_files} ) + string(SUBSTRING ${file} 0 1 first_char) + string(SUBSTRING ${file} 1 1 second_char) + if (first_char STREQUAL "/" OR second_char STREQUAL ":") + set( source_file ${file} ) + set( build_file ${file} ) + file(RELATIVE_PATH file ${CMAKE_CURRENT_BINARY_DIR} ${file}) + set(dependent_target) + else() + set( source_file ${CMAKE_CURRENT_SOURCE_DIR}/${file} ) + set( build_file ${PROJECT_BINARY_DIR}/${package_path}/${file} ) + set(dependent_target DEPENDS ${source_file}) + endif() + if("$ENV{DESTDIR}" STREQUAL "") + set( install_file ${CMAKE_INSTALL_PREFIX}/${package_path}/${file} ) + else() + set( install_file $ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${package_path}/${file} ) + endif() + + add_custom_command( + OUTPUT ${build_file} + COMMAND ${PYTHON_EXECUTABLE} + ARGS ${PROJECT_SOURCE_DIR}/cmake/cmake_pyc2 ${source_file} ${build_file} + ${dependent_target}) + + list(APPEND build_files ${build_file} ) + + if (install_package) + install(FILES ${build_file} DESTINATION ${CMAKE_INSTALL_PREFIX}/${package_path}) + install(CODE "execute_process(COMMAND ${PROJECT_SOURCE_DIR}/cmake/cmake_pyc_file ${install_file})") + endif() + + endforeach() + add_custom_target( ${target} ALL DEPENDS ${build_files}) + +endfunction() diff --git a/ThirdParty/Ert/devel/debian/README.Debian b/ThirdParty/Ert/debian/README.Debian similarity index 100% rename from ThirdParty/Ert/devel/debian/README.Debian rename to ThirdParty/Ert/debian/README.Debian diff --git a/ThirdParty/Ert/debian/changelog b/ThirdParty/Ert/debian/changelog new file mode 100644 index 0000000000..1924ff336a --- /dev/null +++ b/ThirdParty/Ert/debian/changelog @@ -0,0 +1,23 @@ +ert.ecl (2016.10-rfinal-1~xenial) xenial; urgency=medium + + * New release + + -- Arne Morten Kvarving Wed, 26 Oct 2016 09:46:18 +0200 + +ert.ecl (1.0-4) precise; urgency=low + + * Unmark -dev package as architecture independent due to library symlink + + -- Arne Morten Kvarving Wed, 03 Apr 2013 17:49:24 +0200 + +ert.ecl (1.0-2) precise; urgency=low + + * Mark -dev package as architecture independent + + -- Arne Morten Kvarving Tue, 19 Feb 2013 10:03:04 +0100 + +ert.ecl (1.0-1) unstable; urgency=low + + * Initial release + + -- Arne Morten Kvarving Wed, 16 Jan 2013 11:21:17 +0100 diff --git a/ThirdParty/Ert/devel/debian/compat b/ThirdParty/Ert/debian/compat similarity index 100% rename from ThirdParty/Ert/devel/debian/compat rename to ThirdParty/Ert/debian/compat diff --git a/ThirdParty/Ert/debian/control b/ThirdParty/Ert/debian/control new file mode 100644 index 0000000000..65375785a7 --- /dev/null +++ b/ThirdParty/Ert/debian/control @@ -0,0 +1,41 @@ +Source: ert.ecl +Priority: extra +Maintainer: Arne Morten Kvarving +Build-Depends: debhelper (>= 8.0.0), cmake, liblapack-dev, libquadmath0, + iputils-ping, zlib1g-dev, git, python-dev, python-numpy +Standards-Version: 3.9.2 +Section: libs +Homepage: http://ert.nr.no +Vcs-Git: git://github.com/Ensembles/ert.git +Vcs-Browser: https://github.com/Ensembles/ert + +Package: libert.ecl-dev +Section: libdevel +Architecture: any +Depends: libert.ecl1 (= ${binary:Version}) +Description: The Ensemble based Reservoir Tool -- Development files + ERT - Ensemble based Reservoir Tool is a tool for managing en ensemble + of reservoir models. + +Package: libert.ecl1 +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: The Ensemble based Reservoir Tool + ERT - Ensemble based Reservoir Tool is a tool for managing en ensemble + of reservoir models. + +Package: python-ert.ecl +Section: python +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, libert.ecl1, python-cwrap +Description: The Ensemble based Reservoir Tool - Python bindings + ERT - Ensemble based Reservoir Tool is a tool for managing en ensemble + of reservoir models. + +Package: python-cwrap +Section: python +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Package to simplify ctypes based wrapping of C code. + Package to simplify ctypes based wrapping of C code. diff --git a/ThirdParty/Ert/devel/debian/copyright b/ThirdParty/Ert/debian/copyright similarity index 100% rename from ThirdParty/Ert/devel/debian/copyright rename to ThirdParty/Ert/debian/copyright diff --git a/ThirdParty/Ert/devel/debian/docs b/ThirdParty/Ert/debian/docs similarity index 100% rename from ThirdParty/Ert/devel/debian/docs rename to ThirdParty/Ert/debian/docs diff --git a/ThirdParty/Ert/devel/debian/libert.ecl-dev.dirs b/ThirdParty/Ert/debian/libert.ecl-dev.dirs similarity index 100% rename from ThirdParty/Ert/devel/debian/libert.ecl-dev.dirs rename to ThirdParty/Ert/debian/libert.ecl-dev.dirs diff --git a/ThirdParty/Ert/devel/debian/libert.ecl-dev.install b/ThirdParty/Ert/debian/libert.ecl-dev.install similarity index 100% rename from ThirdParty/Ert/devel/debian/libert.ecl-dev.install rename to ThirdParty/Ert/debian/libert.ecl-dev.install diff --git a/ThirdParty/Ert/devel/debian/libert.ecl1.dirs b/ThirdParty/Ert/debian/libert.ecl1.dirs similarity index 100% rename from ThirdParty/Ert/devel/debian/libert.ecl1.dirs rename to ThirdParty/Ert/debian/libert.ecl1.dirs diff --git a/ThirdParty/Ert/devel/debian/libert.ecl1.install b/ThirdParty/Ert/debian/libert.ecl1.install similarity index 100% rename from ThirdParty/Ert/devel/debian/libert.ecl1.install rename to ThirdParty/Ert/debian/libert.ecl1.install diff --git a/ThirdParty/Ert/debian/python-cwrap.install b/ThirdParty/Ert/debian/python-cwrap.install new file mode 100644 index 0000000000..4712e62110 --- /dev/null +++ b/ThirdParty/Ert/debian/python-cwrap.install @@ -0,0 +1 @@ +usr/lib/python2.7/*/cwrap/* diff --git a/ThirdParty/Ert/debian/python-ert.ecl.install b/ThirdParty/Ert/debian/python-ert.ecl.install new file mode 100644 index 0000000000..2694b36fab --- /dev/null +++ b/ThirdParty/Ert/debian/python-ert.ecl.install @@ -0,0 +1 @@ +usr/lib/python2.7/*/ert/* diff --git a/ThirdParty/Ert/devel/debian/rules b/ThirdParty/Ert/debian/rules similarity index 100% rename from ThirdParty/Ert/devel/debian/rules rename to ThirdParty/Ert/debian/rules diff --git a/ThirdParty/Ert/devel/debian/source/format b/ThirdParty/Ert/debian/source/format similarity index 100% rename from ThirdParty/Ert/devel/debian/source/format rename to ThirdParty/Ert/debian/source/format diff --git a/ThirdParty/Ert/devel/CMakeLists.txt b/ThirdParty/Ert/devel/CMakeLists.txt deleted file mode 100644 index b435f95919..0000000000 --- a/ThirdParty/Ert/devel/CMakeLists.txt +++ /dev/null @@ -1,220 +0,0 @@ -cmake_minimum_required( VERSION 2.8 ) -project( ERT C CXX ) - -if(POLICY CMP0042) - cmake_policy(SET CMP0042 OLD) -endif() - -#----------------------------------------------------------------- - -set( ERT_VERSION_MAJOR 1 ) -set( ERT_VERSION_MINOR 10 ) -set( ERT_VERSION_MICRO git ) - -# If the micro version is not integer, that should be interpreted as a -# development version leading towards version MAJOR.MINOR.0 - -#----------------------------------------------------------------- - - -option( BUILD_ERT "Build the full ERT application - Linux only" OFF) -option( BUILD_ENS_PLOT "Build small Eclipse plotting program - no" OFF) -option( BUILD_TESTS "Should the tests be built" OFF) -option( BUILD_APPLICATIONS "Should we build small utility applications" OFF) -option( BUILD_ECL_SUMMARY "Build the commandline application ecl_summary" OFF) -option( BUILD_PYTHON "Run py_compile on the python wrappers" ON) -option( BUILD_SHARED_LIBS "Build shared libraries" ON ) -option( INSTALL_ERT "Should anything be installed when issuing make install?" ON) -option( ERT_BUILD_GUI "Should the pyQt based gui be compiled and installed" OFF ) -option( ERT_USE_OPENMP "Use OpenMP - currently only in EclGrid" OFF) -option( ERT_DOC "Build ERT documantation" OFF) -option( ERT_BUILD_CXX "Build (some) CXX wrappers" ON) - -include( CheckFunctionExists ) -include( CheckTypeSize ) -ENABLE_TESTING() - -if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") - set(ERT_LINUX TRUE ) - add_definitions( -DERT_LINUX ) -elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - set(ERT_LINUX TRUE ) - set(ERT_MAC TRUE) - add_definitions( -DERT_LINUX ) -elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") - set(ERT_WINDOWS TRUE) - add_definitions( -DERT_WINDOWS ) -# This symbol must be defined to support large (> 2GB) files on windows. - add_definitions( -DWINDOWS_LFS ) -endif() - -if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - message(STATUS "Setting build type to 'RelWithDebInfo' as none was specified.") - set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING - "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) - # Set the possible values of build type for cmake-gui - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" - "MinSizeRel" "RelWithDebInfo") -endif() - -# Treat warnings as errors if not on Windows -if (NOT ERT_WINDOWS) - set( CMAKE_C_FLAGS "-std=gnu99 -Wall -Wno-unknown-pragmas ") - set( CMAKE_CXX_FLAGS "-Wall " ) -endif() - -if (MSVC) - add_definitions( "/W3 /D_CRT_SECURE_NO_WARNINGS /wd4996" ) - add_definitions( -DCOMPILER_MSVC ) -elseif (CMAKE_COMPILER_IS_GNUCC) - add_definitions( -DCOMPILER_GCC ) - set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x" ) -endif() - - -if (ERT_USE_OPENMP) - find_package(OpenMP) - if (OPENMP_FOUND) - message(STATUS "Enabling OpenMP support") - # The actual use of OpenMP is only in the libecl library - the compile flags is only applied there. - else() - set( ERT_USE_OPENMP OFF ) - message(STATUS "OpenMP package not found - OpenMP disabled") - endif() -endif() - - -include(cmake/ert_find.cmake) -include(cmake/ert_check.cmake) -include(cmake/Modules/UseMultiArch.cmake) -include(cmake/ert_link.cmake) - - -#----------------------------------------------------------------- -# Should we build the block_fs filesystem; this is used extensively -# by the ert application; but if you are only building the support -# eclipse related support libraries you can safely leave this at the -# default OFF value. - -if (BUILD_ERT) - set( ERT_BUILD_BLOCK_FS ON) -else() - if (WITH_PTHREAD) - set( ERT_BUILD_BLOCK_FS OFF CACHE BOOL "Build the block_fs filesystem. Used by ERT application") - else() - set( ERT_BUILD_BLOCK_FS OFF) - endif() -endif() - -#----------------------------------------------------------------- - -set(INSTALL_GROUP "" CACHE STRING "Group to install as - blank to install as current group") -set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) -set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/bin) - - -if (BUILD_SHARED_LIBS) - set( LIBRARY_TYPE SHARED ) -else() - set( LIBRARY_TYPE STATIC ) - if (BUILD_ERT) - message(FATAL_ERROR "The full ERT application must be built with shared libraries") - endif() - if (BUILD_PYTHON) - message(FATAL_ERROR "The Python wrappers require shared libraries") - endif() -endif() - -if (MSVC) - add_definitions( -D__func__="\\"????\\"") -endif() - - -if (ERT_LINUX) - set( NEED_LIBM TRUE ) - set( LINK_STATIC FALSE ) - add_definitions( -DHAVE_PROC ) -else() - set( NEED_LIBM FALSE ) - set( LINK_STATIC TRUE ) -endif() - - -configure_file( ${PROJECT_SOURCE_DIR}/cmake/config/ert_build_config.h.in - ${PROJECT_BINARY_DIR}/ert_build_config.h ) - -include_directories( ${PROJECT_SOURCE_DIR}/libert_util/include ) -include_directories( ${PROJECT_BINARY_DIR}/libert_util/include ) -if (MSVC) - include_directories( ${PROJECT_BINARY_DIR}/libert_util/include/ert/util ) -endif() -add_subdirectory( libert_util ) - - -include_directories( ${PROJECT_SOURCE_DIR}/libgeometry/include ) -add_subdirectory( libgeometry ) - -if (BUILD_ERT OR BUILD_ENS_PLOT) - include_directories( ${PROJECT_SOURCE_DIR}/libplot/include ) - add_subdirectory( libplot ) -endif() - -include_directories( ${PROJECT_SOURCE_DIR}/libecl/include ) -add_subdirectory( libecl ) - -if (ERT_BUILD_CXX) - if (HAVE_CXX_SHARED_PTR) - include_directories( ${PROJECT_SOURCE_DIR}/libeclxx/include ) - add_subdirectory( libeclxx ) - else() - message(STATUS "Skipping CXX support - missing Cxx11 features.") - endif() -endif() - -include_directories( ${PROJECT_SOURCE_DIR}/libecl_well/include ) -add_subdirectory( libecl_well ) - - -#----------------------------------------------------------------- -if (BUILD_ERT) -#----------------------------------------------------------------- - if (BUILD_TESTS) - option( ERT_LSF_SUBMIT_TEST "Build and run tests of LSF submit" OFF) - endif() - - include(cmake/ert_module_name.cmake) - - include_directories( ${PROJECT_SOURCE_DIR}/libconfig/include ) - add_subdirectory( libconfig ) - - include_directories( ${PROJECT_SOURCE_DIR}/libsched/include ) - add_subdirectory( libsched ) - - include_directories( ${PROJECT_SOURCE_DIR}/librms/include ) - add_subdirectory( librms ) - - include_directories( ${PROJECT_SOURCE_DIR}/libanalysis/include ) - add_subdirectory( libanalysis ) - - include_directories( ${PROJECT_SOURCE_DIR}/libjob_queue/include ) - add_subdirectory( libjob_queue ) - - include_directories( ${PROJECT_SOURCE_DIR}/libenkf/include ) - add_subdirectory( libenkf ) - - install(DIRECTORY ${PROJECT_SOURCE_DIR}/share DESTINATION ${CMAKE_INSTALL_PREFIX}) -endif() - - -if (BUILD_PYTHON) - if (ERT_WINDOWS) - message(STATUS "Python is not supported on Windows") - else() - include(cmake/python.cmake2) - add_subdirectory( python ) - if(ERT_DOC) - add_subdirectory( docs ) - endif() - endif() -endif() - diff --git a/ThirdParty/Ert/devel/Doxyfile b/ThirdParty/Ert/devel/Doxyfile deleted file mode 100644 index 83eb8d1735..0000000000 --- a/ThirdParty/Ert/devel/Doxyfile +++ /dev/null @@ -1,1265 +0,0 @@ -###################################################################### -# -# Doxyfile for StatoilHydro enkf prototype. -# -# $Id$ -# -###################################################################### - -# Doxyfile 1.5.2 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file that -# follow. The default is UTF-8 which is also the encoding used for all text before -# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into -# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of -# possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = enkf - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = doc - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = YES - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, -# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, -# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, -# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an -# explicit @brief command for a brief description. - -JAVADOC_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = YES - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes -# will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to -# include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = YES - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from the -# version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = . - -# This tag can be used to specify the character encoding of the source files that -# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default -# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding. -# See http://www.gnu.org/software/libiconv for the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = apps build doc ext old Scripts Testcases libenkf/src/sqlite3.h libenkf/src/sqlite3.c - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the output. -# The symbol name can be a fully qualified name, a word, or if the wildcard * is used, -# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = YES - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = YES - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = YES - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = pdflatex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4 - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to -# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to -# specify the directory where the mscgen tool resides. If left empty the tool is assumed to -# be found in the default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a caller dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable caller graphs for selected -# functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen will always -# show the root nodes and its direct children regardless of this setting. - -DOT_GRAPH_MAX_NODES = 50 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, which results in a white background. -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/ThirdParty/Ert/devel/cmake/Tests/test_blas.c b/ThirdParty/Ert/devel/cmake/Tests/test_blas.c deleted file mode 100644 index 89ad8bc88e..0000000000 --- a/ThirdParty/Ert/devel/cmake/Tests/test_blas.c +++ /dev/null @@ -1,17 +0,0 @@ -#include - -void dgemv_(char * , int * , int * , double * , double * , int * , const double * , int * , double * , double * , int * ); - - -/* - This test is only to check if seperate linking with BLAS is - necessary; on the RedHat linux computers only explicit linking with - lapack is sufficient, whereas in other cases also blas must be - linked in specifically. -*/ - - -int main(int argc , char ** argv) { - /* Wildly invalid input - but the signature is satisfies so it should compile. */ - dgemv_( "A" , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL); -} diff --git a/ThirdParty/Ert/devel/cmake/Tests/test_isreg.c b/ThirdParty/Ert/devel/cmake/Tests/test_isreg.c deleted file mode 100644 index c04eb26800..0000000000 --- a/ThirdParty/Ert/devel/cmake/Tests/test_isreg.c +++ /dev/null @@ -1,8 +0,0 @@ -#include -#include -#include - -int main(int argc, char ** argv) { - struct stat stat_buffer; - return S_ISREG(stat_buffer.st_mode); -} diff --git a/ThirdParty/Ert/devel/cmake/Tests/test_mkdir.c b/ThirdParty/Ert/devel/cmake/Tests/test_mkdir.c deleted file mode 100644 index babbfe4b92..0000000000 --- a/ThirdParty/Ert/devel/cmake/Tests/test_mkdir.c +++ /dev/null @@ -1,7 +0,0 @@ -#include -#include -#include - -int main(int argc, char ** argv) { - mkdir("/tmp/path" , 0); -} diff --git a/ThirdParty/Ert/devel/cmake/config/ert_build_config.h.in b/ThirdParty/Ert/devel/cmake/config/ert_build_config.h.in deleted file mode 100644 index 88df980d5e..0000000000 --- a/ThirdParty/Ert/devel/cmake/config/ert_build_config.h.in +++ /dev/null @@ -1,18 +0,0 @@ -#cmakedefine HAVE_PTHREAD 1 -#cmakedefine HAVE_EXECINFO 1 -#cmakedefine HAVE_FORK 1 -#cmakedefine HAVE_ZLIB 1 -#cmakedefine HAVE_LSF 1 -#cmakedefine HAVE_REALPATH 1 -#cmakedefine HAVE_SYMLINK 1 -#cmakedefine HAVE_READLINKAT 1 -#cmakedefine HAVE_GETUID 1 -#cmakedefine HAVE_LOCALTIME_R 1 -#cmakedefine HAVE_LOCKF 1 -#cmakedefine HAVE_SETENV 1 -#cmakedefine HAVE_GLOB 1 -#cmakedefine MKDIR_POSIX 1 -#cmakedefine HAVE_FNMATCH 1 -#cmakedefine NEED_BLAS 1 -#cmakedefine HAVE_OPENMP 1 -#cmakedefine HAVE_FTRUNCATE 1 diff --git a/ThirdParty/Ert/devel/cmake/ert_check.cmake b/ThirdParty/Ert/devel/cmake/ert_check.cmake deleted file mode 100644 index 24c03a1543..0000000000 --- a/ThirdParty/Ert/devel/cmake/ert_check.cmake +++ /dev/null @@ -1,198 +0,0 @@ -include(CheckSymbolExists) - -check_function_exists( fseeko HAVE_FSEEKO ) -if (HAVE_HFSEEKO) - add_definitions( -DHAVE_FSEEKO ) -endif() - -check_function_exists( regexec HAVE_REGEXP ) -if (HAVE_REGEXP) - add_definitions( -DHAVE_REGEXP ) -endif() - -check_function_exists( realpath HAVE_REALPATH ) -if (HAVE_REALPATH) - add_definitions( -DHAVE_REALPATH ) -endif() - -check_function_exists( chmod HAVE_CHMOD ) -check_type_size( mode_t SIZE_MODE_T ) -if (HAVE_CHMOD AND HAVE_SIZE_MODE_T) - add_definitions( -DHAVE_CHMOD_AND_MODE_T ) -endif() - -check_function_exists( fork HAVE_FORK ) -if (HAVE_FORK) - add_definitions( -DHAVE_FORK ) -endif() - -check_function_exists( round HAVE_ROUND ) -if (HAVE_ROUND) - add_definitions( -DHAVE_ROUND ) -endif() - -check_function_exists( ftruncate HAVE_FTRUNCATE ) -if (HAVE_FTRUNCATE) - add_definitions( -DHAVE_FTRUNCATE ) -endif() - -check_function_exists( readlinkat HAVE_READLINKAT ) -if (HAVE_READLINKAT) - add_definitions( -DHAVE_READLINKAT ) -endif() - -check_function_exists( symlink HAVE_SYMLINK ) -if (HAVE_SYMLINK) - add_definitions( -DHAVE_SYMLINK ) -endif() - -check_function_exists( getuid HAVE_GETUID ) -if (HAVE_GETUID) - add_definitions( -DHAVE_GETUID ) -endif() - -check_function_exists( _chdir HAVE_WINDOWS_CHDIR) -if (HAVE_WINDOWS_CHDIR) - add_definitions( -DHAVE_WINDOWS_CHDIR) -else() - check_function_exists( chdir HAVE_CHDIR) - if (HAVE_CHDIR) - add_definitions( -DHAVE_CHDIR) - else() - message(FATAL_ERROR "Could not find chdir() / _chdir() functions") - endif() -endif() - -check_function_exists( localtime_r HAVE_LOCALTIME_R ) -if (HAVE_LOCALTIME_R) - add_definitions( -DHAVE_LOCALTIME_R ) -endif() - -check_function_exists( lockf HAVE_LOCKF ) -if (HAVE_LOCKF) - add_definitions( -DHAVE_LOCKF ) -endif() - - -check_function_exists( glob HAVE_GLOB ) -if (HAVE_GLOB) - add_definitions( -DHAVE_GLOB ) -endif() - -check_function_exists( fnmatch HAVE_FNMATCH ) -if (HAVE_FNMATCH) - add_definitions( -DHAVE_FNMATCH ) -endif() - -check_function_exists( fsync HAVE_FSYNC ) -if (HAVE_FSYNC) - add_definitions( -DHAVE_FSYNC ) -endif() - -check_function_exists( setenv HAVE_SETENV ) -if (HAVE_SETENV) - add_definitions( -DPOSIX_SETENV ) -endif() - -check_function_exists( opendir HAVE_OPENDIR ) -if (HAVE_OPENDIR) - add_definitions( -DHAVE_OPENDIR ) -endif() - -check_function_exists( getpwuid HAVE_GETPWUID ) -if (HAVE_GETPWUID) - add_definitions( -DHAVE_GETPWUID ) -endif() - -# The usleep() check uses the symbol HAVE__USLEEP with double -# underscore to avoid conflict with plplot which defines the -# HAVE_USLEEP symbol. -check_function_exists( usleep HAVE__USLEEP ) -if (HAVE__USLEEP) - add_definitions( -DHAVE__USLEEP ) -endif() - -check_symbol_exists(_tzname time.h HAVE_WINDOWS_TZNAME) -if (HAVE_WINDOWS_TZNAME) - add_definitions(-DHAVE_WINDOWS_TZNAME) -else() - check_symbol_exists(tzname time.h HAVE_TZNAME) - if (HAVE_TZNAME) - add_definitions(-DHAVE_TZNAME) - else() - message(FATAL_ERROR "Could not find tzname global variable") - endif() -endif() - -check_function_exists(pthread_yield_np HAVE_YIELD_NP) -if (HAVE_YIELD_NP) - add_definitions(-DHAVE_YIELD_NP) -endif() - -check_function_exists(pthread_yield HAVE_YIELD) -if (HAVE_YIELD) - add_definitions(-DHAVE_YIELD) -endif() - - -check_function_exists(pthread_timedjoin_np HAVE_TIMEDJOIN) -if (HAVE_TIMEDJOIN) - add_definitions(-DHAVE_TIMEDJOIN) -endif() - -# Checking based on compiling. Some of the code generates warnings, so we just cut down to bare-bone compiler flags. - -set( CMAKE_C_FLAGS_main ${CMAKE_C_FLAGS} ) -set( CMAKE_CXX_FLAGS_main ${CMAKE_CXX_FLAGS} ) - -if (NOT ERT_WINDOWS) - set( CMAKE_C_FLAGS "-std=gnu99" ) - set( CMAKE_CXX_FLAGS "-std=c++0x") -endif() - -try_compile( HAVE_ISFINITE ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_isfinite.c ) -if (HAVE_ISFINITE) - add_definitions( -DHAVE_ISFINITE ) -endif() - -try_compile( MKDIR_POSIX ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_mkdir.c ) -if (MKDIR_POSIX) - add_definitions( -DMKDIR_POSIX ) -endif() - -try_compile( HAVE_PID_T ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_pid_t.c ) -if (HAVE_PID_T) - add_definitions( -DHAVE_PID_T ) -endif() - -try_compile( HAVE_VA_COPY ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_va_copy.c ) -if (HAVE_VA_COPY) - add_definitions( -DHAVE_VA_COPY ) -endif() - - -try_compile( ISREG_POSIX ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_isreg.c ) -if (ISREG_POSIX) - add_definitions( -DHAVE_ISREG ) -endif() - -try_compile( HAVE_SIGBUS ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_have_sigbus.c ) -if (HAVE_SIGBUS) - add_definitions( -DHAVE_SIGBUS ) -endif() - -try_compile( HAVE_CXX_SHARED_PTR ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_shared_ptr.cpp ) - -check_type_size(time_t SIZE_OF_TIME_T) -if (${SIZE_OF_TIME_T} EQUAL 8) - try_run( RUN_RESULT COMPILE_RESULT ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_mktime_before1970.c ) - if (${COMPILE_RESULT}) - if (${RUN_RESULT} EQUAL 0) - add_definitions( -DTIME_T_64BIT_ACCEPT_PRE1970 ) - endif() - endif() -endif() - -set( CMAKE_C_FLAGS ${CMAKE_C_FLAGS_main} ) -set( CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS_main} ) - diff --git a/ThirdParty/Ert/devel/cmake/ert_find.cmake b/ThirdParty/Ert/devel/cmake/ert_find.cmake deleted file mode 100644 index c4d448d6df..0000000000 --- a/ThirdParty/Ert/devel/cmake/ert_find.cmake +++ /dev/null @@ -1,92 +0,0 @@ -set(NEED_LIBDL OFF) -find_library( DL_LIBRARY NAMES dl ) -find_path( DLFUNC_HEADER dlfcn.h ) -if (DL_LIBRARY AND DLFUNC_HEADER) - set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} dl) - - check_function_exists( dladdr HAVE_DLADDR ) - if (HAVE_DLADDR) - add_definitions( -DHAVE_DLADDR ) - set(NEED_LIBDL ON) - endif() -endif() -#----------------------------------------------------------------- -find_library( ZLIB_LIBRARY NAMES z ) -find_path( ZLIB_HEADER zlib.h /usr/include ) - -if (ZLIB_LIBRARY AND ZLIB_HEADER) - option(WITH_ZLIB "Include support for zlib functions compress()/uncompress()" ON) - if (WITH_ZLIB) - add_definitions( -DWITH_ZLIB ) - endif() -else() - set( WITH_ZLIB FALSE ) - message("ZLib not found - zlib support will not be included." ) -endif() -#----------------------------------------------------------------- -find_library( PTHREAD_LIBRARY NAMES pthread ) -if (PTHREAD_LIBRARY) - option( WITH_PTHREAD "Include support for pthreads" ON ) - if (WITH_PTHREAD) - add_definitions( -DWITH_PTHREAD ) - endif() - set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} pthread) -else() - set( WITH_PTHREAD FALSE ) - message("pthread library not found - pthread support will not be included") -endif() -#----------------------------------------------------------------- -find_library( LAPACK_LIBRARY NAMES lapack) -if (LAPACK_LIBRARY) - set(CMAKE_REQUIRED_LIBS LAPACK_LIBRARY) - try_compile( BLAS0 ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/Tests/test_blas.c ) - if (BLAS0) - set(NEED_BLAS OFF) - else() - set(NEED_BLAS ON) - find_library( BLAS_LIBRARY NAMES blas) - endif() - option(WITH_LAPACK "Build LAPACK enabled code" ON) - if (WITH_LAPACK) - add_definitions( -DWITH_LAPACK ) - endif() -else() - set( WITH_LAPACK OFF) - message("LAPACK library not found - LAPACK support will not be included") -endif() -#----------------------------------------------------------------- -find_program(LATEX_PATH NAMES pdflatex) -if (LATEX_PATH) - option( WITH_LATEX "Build small class for compiling LaTeX files" ON) - if (WITH_LATEX) - set( WITH_LATEX ON) - add_definitions( -DWITH_LATEX ) - endif() -else() - set( WITH_LATEX OFF ) -endif() -#-----------------------------------------------------------------f -find_program(PING_PATH NAMES ping) -#----------------------------------------------------------------- -find_path( EXECINFO_HEADER execinfo.h /usr/include ) -if (EXECINFO_HEADER) - add_definitions( -DHAVE_EXECINFO ) -endif() -#----------------------------------------------------------------- -find_path( GETOPT_HEADER getopt.h /usr/include ) -if (GETOPT_HEADER) - add_definitions( -DHAVE_GETOPT ) -endif() -#----------------------------------------------------------------- -find_path( UNISTD_HEADER unistd.h /usr/include ) -if (UNISTD_HEADER) - add_definitions( -DHAVE_UNISTD ) -endif() - -if (ERT_WINDOWS) - find_library( SHLWAPI_LIBRARY NAMES Shlwapi ) -endif() - -if (UNIX) - set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} m) -endif(UNIX) diff --git a/ThirdParty/Ert/devel/cmake/python.cmake2 b/ThirdParty/Ert/devel/cmake/python.cmake2 deleted file mode 100644 index 414b9bbd9d..0000000000 --- a/ThirdParty/Ert/devel/cmake/python.cmake2 +++ /dev/null @@ -1,33 +0,0 @@ -if (NOT PYTHONINTERP_FOUND) - find_package (PythonInterp REQUIRED) -endif () -function(add_python_package target package_path source_files install_package) - - set(build_files "") - - foreach (file ${source_files} ) - set( source_file ${CMAKE_CURRENT_SOURCE_DIR}/${file} ) - set( build_file ${PROJECT_BINARY_DIR}/${package_path}/${file} ) - if("$ENV{DESTDIR}" STREQUAL "") - set( install_file ${CMAKE_INSTALL_PREFIX}/${package_path}/${file} ) - else() - set( install_file $ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${package_path}/${file} ) - endif() - - add_custom_command( - OUTPUT ${build_file} - COMMAND ${PYTHON_EXECUTABLE} - ARGS ${PROJECT_SOURCE_DIR}/cmake/cmake_pyc2 ${source_file} ${build_file} - DEPENDS ${source_file} ) - - list(APPEND build_files ${build_file} ) - - if (install_package) - install(FILES ${build_file} DESTINATION ${CMAKE_INSTALL_PREFIX}/${package_path}) - install(CODE "execute_process(COMMAND ${PROJECT_SOURCE_DIR}/cmake/cmake_pyc_file ${install_file})") - endif() - - endforeach() - add_custom_target( ${target} ALL DEPENDS ${build_files}) - -endfunction() \ No newline at end of file diff --git a/ThirdParty/Ert/devel/debian/changelog b/ThirdParty/Ert/devel/debian/changelog deleted file mode 100644 index b1760ad6be..0000000000 --- a/ThirdParty/Ert/devel/debian/changelog +++ /dev/null @@ -1,17 +0,0 @@ -ert.ecl (1.0-4) precise; urgency=low - - * Unmark -dev package as architecture independent due to library symlink - - -- Arne Morten Kvarving Wed, 03 Apr 2013 17:49:24 +0200 - -ert.ecl (1.0-2) precise; urgency=low - - * Mark -dev package as architecture independent - - -- Arne Morten Kvarving Tue, 19 Feb 2013 10:03:04 +0100 - -ert.ecl (1.0-1) unstable; urgency=low - - * Initial release - - -- Arne Morten Kvarving Wed, 16 Jan 2013 11:21:17 +0100 diff --git a/ThirdParty/Ert/devel/debian/control b/ThirdParty/Ert/devel/debian/control deleted file mode 100644 index 763f72dc09..0000000000 --- a/ThirdParty/Ert/devel/debian/control +++ /dev/null @@ -1,34 +0,0 @@ -Source: ert.ecl -Priority: extra -Maintainer: Arne Morten Kvarving -Build-Depends: debhelper (>= 8.0.0), cmake, liblapack-dev, libquadmath0, - iputils-ping, zlib1g-dev, git, python-dev -Standards-Version: 3.9.2 -Section: libs -Homepage: http://ert.nr.no -Vcs-Git: git://github.com/Ensembles/ert.git -Vcs-Browser: https://github.com/Ensembles/ert - -Package: libert.ecl-dev -Section: libdevel -Architecture: any -Depends: libert.ecl1 (= ${binary:Version}) -Description: The Ensemble based Reservoir Tool -- Development files - ERT - Ensemble based Reservoir Tool is a tool for managing en ensemble - of reservoir models. - -Package: libert.ecl1 -Section: libs -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: The Ensemble based Reservoir Tool - ERT - Ensemble based Reservoir Tool is a tool for managing en ensemble - of reservoir models. - -Package: python-ert.ecl -Section: python -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libert.ecl1 -Description: The Ensemble based Reservoir Tool - Python bindings - ERT - Ensemble based Reservoir Tool is a tool for managing en ensemble - of reservoir models. diff --git a/ThirdParty/Ert/devel/docs/CMakeLists.txt b/ThirdParty/Ert/devel/docs/CMakeLists.txt deleted file mode 100644 index 109259a876..0000000000 --- a/ThirdParty/Ert/devel/docs/CMakeLists.txt +++ /dev/null @@ -1,26 +0,0 @@ -set( ERT_DOC_INSTALL_PATH "" CACHE PATH "Absolute path to install documentation *in addition* to $PREFIX/documentation") -set( ERT_DOC_EXTERNAL_ROOT "" CACHE PATH "Path to site local ERT documentation") - -file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/tmp_doc") -EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_CURRENT_SOURCE_DIR}/user" "${PROJECT_BINARY_DIR}/tmp_doc/user") -EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_CURRENT_SOURCE_DIR}/code" "${PROJECT_BINARY_DIR}/tmp_doc/code") - -if (ERT_DOC_EXTERNAL_ROOT) - EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} -E create_symlink "${ERT_DOC_EXTERNAL_ROOT}" "${PROJECT_BINARY_DIR}/tmp_doc/external-doc") - message(STATUS "Adding documentation link ${PROJECT_BINARY_DIR}/tmp_doc/external-doc -> ${ERT_DOC_EXTERNAL_ROOT}") - set( ERT_DOC_LINK external-doc/index ) -else() - set( ERT_DOC_LINK "" ) -endif() - -configure_file(index.rst.in ${PROJECT_BINARY_DIR}/tmp_doc/index.rst) -configure_file(conf.py.in ${PROJECT_BINARY_DIR}/conf.py) - -add_custom_target(doc_out ALL - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/script/run-sphinx.py ${PROJECT_BINARY_DIR}/conf.py ${PROJECT_BINARY_DIR}/python ${PROJECT_BINARY_DIR}/tmp_doc - DEPENDS enkf ) - -INSTALL( DIRECTORY ${PROJECT_BINARY_DIR}/tmp_doc/_build/ DESTINATION ${CMAKE_INSTALL_PREFIX}/documentation ) -if (ERT_DOC_INSTALL_PATH) - INSTALL( DIRECTORY ${PROJECT_BINARY_DIR}/tmp_doc/_build/ DESTINATION ${ERT_DOC_INSTALL_PATH} ) -endif() diff --git a/ThirdParty/Ert/devel/docs/code/python/index.rst b/ThirdParty/Ert/devel/docs/code/python/index.rst deleted file mode 100644 index 786c08ae7e..0000000000 --- a/ThirdParty/Ert/devel/docs/code/python/index.rst +++ /dev/null @@ -1,10 +0,0 @@ -Python documentation -==================== - -.. toctree:: - :maxdepth: 1 - - introduction/index - eclipse/index - ../../API/python/ert - ../../API/python/ert_gui diff --git a/ThirdParty/Ert/devel/docs/code/python/introduction/index.rst b/ThirdParty/Ert/devel/docs/code/python/introduction/index.rst deleted file mode 100644 index 06307a123e..0000000000 --- a/ThirdParty/Ert/devel/docs/code/python/introduction/index.rst +++ /dev/null @@ -1,4 +0,0 @@ -Simple introduction to Python -============================= - -An introduction to Python diff --git a/ThirdParty/Ert/devel/docs/index.rst.in b/ThirdParty/Ert/devel/docs/index.rst.in deleted file mode 100644 index 47842e6143..0000000000 --- a/ThirdParty/Ert/devel/docs/index.rst.in +++ /dev/null @@ -1,25 +0,0 @@ -.. ert documentation master file, created by - sphinx-quickstart on Mon Aug 11 13:14:00 2014. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -Welcome to ert's documentation! -=============================== - -Contents: - -.. toctree:: - :maxdepth: 1 - - user/index - code/index - ${ERT_DOC_LINK} - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` - diff --git a/ThirdParty/Ert/devel/docs/user/index.rst b/ThirdParty/Ert/devel/docs/user/index.rst deleted file mode 100644 index 8848329bc8..0000000000 --- a/ThirdParty/Ert/devel/docs/user/index.rst +++ /dev/null @@ -1,14 +0,0 @@ -User documentation for ERT -========================== - -Contents: - -.. toctree:: - :maxdepth: 1 - - tutorial/index - keywords/index - workflows/index - observations/index - distributions/index - localization/index diff --git a/ThirdParty/Ert/devel/docs/user/keywords/index.rst b/ThirdParty/Ert/devel/docs/user/keywords/index.rst deleted file mode 100644 index a7017fea43..0000000000 --- a/ThirdParty/Ert/devel/docs/user/keywords/index.rst +++ /dev/null @@ -1,2207 +0,0 @@ -.. _ert_kw_full_doc: - -Keywords for the configuration file -=================================== - -:ref:`Go to main ERT page ` - - -General overview ----------------- -The enkf application is started with a single argument, which is the name of the configuration file to be used. The enkf configuration file serves several purposes, which are: - -* Defining which ECLIPSE model to use, i.e. giving a data, grid and schedule file. -* Defining which observation file to use. -* Defining how to run simulations. -* Defining where to store results. -* Creating a parametrization of the ECLIPSE model. - -The configuration file is a plain text file, with one statement per line. The first word on each line is a keyword, which then is followed by a set of arguments that are unique to the particular keyword. Except for the DEFINE keyword, ordering of the keywords is not significant. Similarly to ECLIPSE data files, lines starting with "--" are treated as comments. - -The keywords in the enkf configuration file can roughly be divded into two groups: - -* Basic required keywords not related to parametrization. I.e., keywords giving the data, grid, schedule and observation file, defining how to run simulations and how to store results. These keywords are described in :ref:`Basic required keywords.` -* Basic optional keywords not related to parametrization. These keywords are described in :ref:`Basic optional keywords `. -* Keywords related to parametrization of the ECLIPSE model. These keywords are described in :ref:`Parametrization keywords`. -* Advanced keywords not related to parametrization. These keywords are described in :ref:`Advanced optional keywords`. - - -List of keywords ----------------- - -===================================================================== ====================================== ============================== ============================================================================================================================================== -Keyword name Required by user? Default value Purpose -===================================================================== ====================================== ============================== ============================================================================================================================================== -:ref:`ADD_FIXED_LENGTH_SCHEDULE_KW ` NO Supporting unknown SCHEDULE keywords. -:ref:`ADD_STATIC_KW ` NO Add static ECLIPSE keyword that should be stored -:ref:`ANALYSIS_COPY ` NO Create new instance of analysis module -:ref:`ANALYSIS_LOAD ` NO Load analysis module -:ref:`ANALYSIS_SET_VAR ` NO Set analysis module internal state variable -:ref:`ANALYSIS_SELECT ` NO STD_ENKF Select analysis module to use in update -:ref:`CASE_TABLE ` NO For running sensitivities you can give the cases descriptive names -:ref:`CONTAINER ` NO ... -:ref:`CUSTOM_KW ` NO Ability to load arbitrary values from the forward model. -:ref:`DATA_FILE ` YES Provide an ECLIPSE data file for the problem. -:ref:`DATA_KW ` NO Replace strings in ECLIPSE .DATA files -:ref:`DBASE_TYPE ` NO BLOCK_FS Which 'database' system should be used for storage -:ref:`DEFINE ` NO Define keywords with config scope -:ref:`DELETE_RUNPATH ` NO Explicitly tell ert to delete the runpath when a job is complete -:ref:`ECLBASE ` YES Define a name for the ECLIPSE simulations. -:ref:`END_DATE ` NO You can tell ERT how lon the simulations should be - for error check -:ref:`ENKF_ALPHA ` NO 1.50 Parameter controlling outlier behaviour in EnKF algorithm -:ref:`ENKF_BOOTSTRAP ` NO FALSE Should we bootstrap the Kalman gain estimate -:ref:`ENKF_CROSS_VALIDATION ` NO ... -:ref:`ENKF_CV_FOLDS ` NO 10 Number of folds used in the Cross-Validation scheme -:ref:`ENKF_FORCE_NCOMP ` NO FALSE Should we want to use a spesific subspace dimension -:ref:`ENKF_KERNEL_REGRESSION ` NO FALSE -:ref:`ENKF_KERNEL_FUNCTION ` NO 1 -:ref:`ENKF_KERNEL_PARAM ` NO 1 -:ref:`ENKF_LOCAL_CV ` NO FALSE Should we estimate the subspace dimenseion using Cross-Validation -:ref:`ENKF_MERGE_OBSERVATIONS ` NO FALSE Should observations from many times be merged together -:ref:`ENKF_MODE ` NO STANDARD Which EnKF should be used -:ref:`ENKF_NCOMP ` NO 1 Dimension of the reduced order subspace (If ENKF_FORCE_NCOMP = TRUE) -:ref:`ENKF_PEN_PRESS ` NO FALSE Should we want to use a penalised PRESS statistic in model selection? -:ref:`ENKF_RERUN ` NO FALSE Should the simulations be restarted from time zero after each update. -:ref:`ENKF_SCALING ` NO TRUE Do we want to normalize the data ensemble to have unit variance? -:ref:`ENKF_SCHED_FILE ` NO Allows fine-grained control of the time steps in the simulation. -:ref:`ENKF_TRUNCATION ` NO 0.99 Cutoff used on singular value spectrum. -:ref:`ENSPATH ` NO storage Folder used for storage of simulation results. -:ref:`EQUIL_INIT_FILE ` NO Use INIT_SECTION instead -:ref:`FIELD ` NO Ads grid parameters -:ref:`FORWARD_MODEL ` NO Add the running of a job to the simulation forward model. -:ref:`GEN_DATA ` NO Specify a general type of data created/updated by the forward model. -:ref:`GEN_KW ` NO Add a scalar parameter. -:ref:`GEN_KW_TAG_FORMAT ` NO <%s> Format used to add keys in the GEN_KW template files. -:ref:`GEN_KW_EXPORT_FILE ` NO parameter.txt Name of file to export GEN_KW parameters to. -:ref:`GEN_PARAM ` NO Add a general parameter. -:ref:`GRID ` YES Provide an ECLIPSE grid for the reservoir model. -:ref:`HISTORY_SOURCE ` NO REFCASE_HISTORY Source used for historical values. -:ref:`HOST_TYPE ` NO -:ref:`IGNORE_SCHEDULE ` NO -:ref:`IMAGE_TYPE ` NO png The type of the images created when plotting. -:ref:`IMAGE_VIEWER ` NO /usr/bin/display External program spawned to view images. -:ref:`INIT_SECTION ` YES Initialization code for the reservoir model. -:ref:`INSTALL_JOB ` NO Install a job for use in a forward model. -:ref:`ITER_CASE ` NO IES%d Case name format - iterated ensemble smoother -:ref:`ITER_COUNT ` NO 4 Number of iterations - iterated ensemble smoother -:ref:`ITER_RETRY_COUNT ` NO 4 Number of retries for a iteration - iterated ensemble smoother -:ref:`JOBNAME ` NO Name used for simulation files. An alternative to ECLBASE. -:ref:`JOB_SCRIPT ` NO Python script managing the forward model. -:ref:`KEEP_RUNPATH ` NO Specify realizations that simulations should be kept for. -:ref:`LOAD_SEED ` NO Load random seed from given file. -:ref:`LOAD_WORKFLOW ` NO Load a workflow into ERT. -:ref:`LOAD_WORKFLOW_JOB ` NO Load a workflow job into ERT. -:ref:`LICENSE_PATH ` NO A path where ert-licenses to e.g. RMS are stored. -:ref:`LOCAL_CONFIG ` NO A file with configuration information for local analysis. -:ref:`LOG_FILE ` NO log Name of log file -:ref:`LOG_LEVEL ` NO 1 How much logging? -:ref:`LSF_QUEUE ` NO normal Name of LSF queue. -:ref:`LSF_RESOURCES ` NO -:ref:`LSF_SERVER ` NO Set server used when submitting LSF jobs. -:ref:`MAX_ITER_COUNT ` NO Maximal number of iterations - iterated ensemble smoother. -:ref:`MAX_RESAMPLE ` NO 1 How many times should ert resample & retry a simulation. -:ref:`MAX_RUNNING_LOCAL ` NO The maximum number of running jobs when running locally. -:ref:`MAX_RUNNING_LSF ` NO The maximum number of simultaneous jobs submitted to LSF. -:ref:`MAX_RUNNING_RSH ` NO The maximum number of running jobs when using RSH queue system. -:ref:`MAX_RUNTIME ` NO 0 Set the maximum runtime in seconds for a realization. -:ref:`MAX_SUBMIT ` NO 2 How many times should the queue system retry a simulation. -:ref:`MIN_REALIZATIONS ` NO 0 Set the number of minimum reservoir realizations to run before long running realizations are stopped. Keyword STOP_LONG_RUNNING must be set to TRUE when MIN_REALIZATIONS are set. -:ref:`NUM_REALIZATIONS ` YES Set the number of reservoir realizations to use. -:ref:`OBS_CONFIG ` NO File specifying observations with uncertainties. -:ref:`PLOT_DRIVER ` NO PLPLOT Which plotting system should be used. -:ref:`PLOT_ERRORBAR ` NO FALSE Should errorbars on observations be plotted? -:ref:`PLOT_ERRORBAR_MAX ` NO 25 Show error bars if less than this number of observations. -:ref:`PLOT_HEIGHT ` NO 768 Pixel height of the plots. -:ref:`PLOT_PATH ` NO plots Path to where the plots are stored. -:ref:`PLOT_REFCASE ` NO TRUE TRUE (IF you want to plot the listed reference cases) FALSE if not. -:ref:`PLOT_REFCASE_LIST ` NO Deprecated. Use REFCASE_LIST instead. -:ref:`PLOT_WIDTH ` NO 1024 Pixel width of the plots. -:ref:`PRE_CLEAR_RUNPATH ` NO FALSE Should the runpath be cleared before initializing? -:ref:`QC_PATH ` NO QC ... -:ref:`QC_WORKFLOW ` NO Name of existing workflow to do QC work. -:ref:`QUEUE_SYSTEM ` NO System used for running simulation jobs. -:ref:`REFCASE ` NO (see HISTORY_SOURCE and SUMMARY) Reference case used for observations and plotting. -:ref:`REFCASE_LIST ` NO Full path to Eclipse .DATA files containing completed runs (which you can add to plots) -:ref:`REPORT_CONTEXT ` NO Values for variables used in report templates. -:ref:`REPORT_GROUP_LIST ` NO Specify list of groups used in report templates. -:ref:`REPORT_LARGE ` NO FALSE -:ref:`REPORT_LIST ` NO List of templates used for creating reports. -:ref:`REPORT_PATH ` NO Reports Directory where final reports are stored. -:ref:`REPORT_SEARCH_PATH ` NO Search path for report templates. -:ref:`REPORT_TIMEOUT ` NO 120 Timeout for running LaTeX. -:ref:`REPORT_WELL_LIST ` NO Specify list of wells used in report templates. -:ref:`RERUN_PATH ` NO ... -:ref:`RERUN_START ` NO 0 ... -:ref:`RFT_CONFIG ` NO Config file specifying wellnames and dates for rft-measurments. Used for plotting. The format has to be name day month year (ex. Q-2FI 02 08 1973), with a new entry on a new line. -:ref:`RFTPATH ` NO rft Path to where the rft well observations are stored -:ref:`RSH_COMMAND ` NO Command used for remote shell operations. -:ref:`RSH_HOST ` NO Remote host used to run forward model. -:ref:`RUNPATH ` NO simulations/realization%d Directory to run simulations -:ref:`RUN_TEMPLATE ` NO Install arbitrary files in the runpath directory. -:ref:`STD_SCALE_CORRELATED_OBS ` NO FALSE Try to estimate the correlations in the data to inflate the observation std. -:ref:`SCHEDULE_FILE ` YES Provide an ECLIPSE schedule file for the problem. -:ref:`SCHEDULE_PREDICTION_FILE ` NO Schedule prediction file. -:ref:`SELECT_CASE ` NO The current case / default You can tell ert to select a particular case on bootup. -:ref:`SETENV ` NO You can modify the UNIX environment with SETENV calls. -:ref:`SINGLE_NODE_UPDATE ` NO FALSE ... -:ref:`STD_CUTOFF ` NO 1e-6 ... -:ref:`STOP_LONG_RUNNING ` NO FALSE Stop long running realizations after minimum number of realizations (MIN_REALIZATIONS) have run. -:ref:`STORE_SEED ` NO File where the random seed used is stored. -:ref:`SUMMARY

` NO Add summary variables for internalization. -:ref:`SURFACE ` NO Surface parameter read from RMS IRAP file. -:ref:`TORQUE_QUEUE ` NO ... -:ref:`TIME_MAP ` NO Ability to manually enter a list of dates to establish report step <-> dates mapping. -:ref:`UMASK ` NO ... -:ref:`UPDATE_LOG_PATH ` NO update_log Summary of the EnKF update steps are stored in this directory. -:ref:`UPDATE_PATH ` NO Modify a UNIX path variable like LD_LIBRARY_PATH. -:ref:`UPDATE_RESULTS ` NO FALSE ... -:ref:`WORKFLOW_JOB_DIRECTORY ` NO Directory containing workflow jobs. -===================================================================== ====================================== ============================== ============================================================================================================================================== - - -:ref:` <>` - -Basic required keywords ------------------------ -.. _basic_required_keywords: - -These keywords must be set to make the enkf function properly. - -.. _data_file: -.. topic:: DATA_FILE - - | This is the name of ECLIPSE data file used to control the simulations. The data file should be prepared according to the guidelines given in Preparing an ECLIPSE reservoir model for use with enkf. - - *Example:* - - :: - - -- Load the data file called ECLIPSE.DATA - DATA_FILE ECLIPSE.DATA - - - - -.. _eclbase: -.. topic:: ECLBASE - - | The ECLBASE keyword sets the basename used for the ECLIPSE simulations. It can (and should, for your convenience) contain a %d specifier, which will be replaced with the realization numbers when running ECLIPSE. Note that due to limitations in ECLIPSE, the ECLBASE string must be in strictly upper or lower case. - - *Example:* - - :: - - -- Use MY_VERY_OWN_OIL_FIELD-0 etc. as basename. - -- When ECLIPSE is running, the %d will be, - -- replaced with realization number, giving: - -- - -- MY_VERY_OWN_OIL_FIELD-0 - -- MY_VERY_OWN_OIL_FIELD-1 - -- MY_VERY_OWN_OIL_FIELD-2 - -- ... - -- and so on. - ECLBASE MY_VERY_OWN_OIL_FIELD-%d - -.. _jobname: -.. topic:: JOBNAME - - As an alternative to the ECLBASE keyword you can use the JOBNAME keyword; in particular in cases where your forward model does not include ECLIPSE at all that makes more sense. If JOBANME is used instead of ECLBASE the same rules of no-mixed-case apply. - -.. _grid: -.. topic:: GRID - - This is the name of an existing GRID/EGRID file for your ECLIPSE model. If you had to create a new grid file when preparing your ECLIPSE reservoir model for use with enkf, this should point to the new .EGRID file. - - *Example:* - - :: - - -- Load the .EGRID file called MY_GRID.EGRID - GRID MY_GRID.EGRID - - -.. _init_section: -.. topic:: INIT_SECTION - - The INIT_SECTION keyword is used to handle initialization of the ECLIPSE run. See the documentation of the Initialization for more details on why this has to be done. The keyword can be used in two different ways: - - * If it is set to the name of an existing file, the contents of this file will be used for the initialization. - * If it is set to the name of a non-existing file, it will be assumed that a file with this name in the simulation folder will be generated when simulations are submitted, either by the enkf application itself, or by some job installed by the user (see INSTALL_JOB). This generated file will then be used by ECLIPSE for initialization. - - *Example A:* - - :: - - -- Use the contents of the file parameters/EQUIL.INC for initialization - INIT_SECTION params/EQUIL.INC - - *Example B:* - - :: - - -- Use a generated file for the initialization - INIT_SECTION MY_GENERATED_EQUIL_KEYWORD.INC - - -.. _num_realizations: -.. topic:: NUM_REALIZATIONS - - This is just the size of the ensemble, i.e. the number of realizations/members in the ensemble. - - *Example:* - - :: - - -- Use 200 realizations/members - NUM_REALIZATIONS 200 - - -.. _schedule_file: -.. topic:: SCHEDULE_FILE - - This keyword should be the name a text file containing the SCHEDULE section of the ECLIPSE data file. It should be prepared in accordance with the guidelines given in Preparing an ECLIPSE reservoir model for use with enkf. This SCHEDULE section will be used to control the ECLIPSE simulations. You can optionally give a second filename, which is the name of file which will be written into the directories for running ECLIPSE. - - *Example:* - - :: - - -- Parse MY_SCHEDULE.SCH, call the generated file ECLIPSE_SCHEDULE.SCH - SCHEDULE_FILE MY_SCHEDULE.SCH ECLIPSE_SCHEDULE.SCH - - Observe that the SCHEDULE_FILE keyword is only required when you need ERT to stop and restart your simulations; i.e. when you are using the EnKF algorithm. If you are only using ERT to your simulations; or using smoother update it is recommended to leave the SCHEDULE_FILE keyword out. In that case you must make sure that the ECLIPSE datafile correctly includes the SCHEDULE section. - - -Basic optional keywords ------------------------ -.. _basic_optional_keywords: - -These keywords are optional. However, they serve many useful purposes, and it is recommended that you read through this section to get a thorough idea of what's possible to do with the enkf application. - -.. _data_kw: -.. topic:: DATA_KW - - The keyword DATA_KW can be used for inserting strings into placeholders in the ECLIPSE data file. For instance, it can be used to insert include paths. - - *Example:* - - :: - - -- Define the alias MY_PATH using DATA_KW. Any instances of (yes, with brackets) - -- in the ECLIPSE data file will now be replaced with /mnt/my_own_disk/my_reservoir_model - -- when running the ECLIPSE jobs. - DATA_KW MY_PATH /mnt/my_own_disk/my_reservoir_model - - The DATA_KW keyword is of course optional. Note also that the enkf has some built in magic strings. - -.. _delete_runpath: -.. topic:: DELETE_RUNPATH - - When the enkf application is running it creates directories for the ECLIPSE simulations, one for each realization. When the simulations are done, the enkf will load the results into it's internal database. If you are using the enkf application as a convenient way to start many simulations, e.g. using the screening experiment option, the default behavior is to not delete these simulation directories. This behavior can be overridden with the DELETE_RUNPATH keyword, which causes enkf to delete the specified simulation directories. When running the EnKF algorithm, the behavior is the opposite. The keyword KEEP_RUNPATH can then be used to override the default behavoir. - - *Example A:* - - :: - - -- Delete simulation directories 0 to 99 - DELETE_RUNPATH 0-99 - - *Example B:* - - :: - - -- Delete simulation directories 0 to 10 as well as 12, 15 and 20. - DELETE_RUNPATH 0 - 10, 12, 15, 20 - - The DELETE_RUNPATH keyword is optional. - -.. _enfk_sched_file: -.. topic:: ENKF_SCHED_FILE - - When the enkf application runs the EnKF algorithm, it will use - ECLIPSE to simulate one report step at a time, and do an - update after each step. However, in some cases it will be - beneficial to turn off the EnKF update for some report steps - or to skip some steps completely. The keyword ENKF_SCHED_FILE - can point to a file with a more advanced schedule for when to - perform the updates. The format of the file pointed to by - ENKF_SCHED_FILE should be plain text, with one entry per - line. Each line should have the following form: - - :: - - REPORT_STEP1 REPORT_STEP2 ON|OFF STRIDE - ... - - Here REPORT_STEP1 and REPORT_STEP2 are the first and last - report steps respectively and ON|OFF determines whether the - EnKF analysis should be ON or OFF, the STRIDE argument is - optional. If the analysis is ON the stride will default to - REPORT_STEP2 minus REPORT_STEP1, thus if you want to perform - analysis at each report step set stride equal to 1. Observe - that whatever value of stride is used, the integration will - always start on REPORT_STEP1 and end on REPORT_STEP2. Example: - - :: - - 0 100 OFF - 100 125 ON 5 - 125 200 ON 1 - - In this example, the enkf application will do the following: - - #. Simulate directly from report step 0 to report step 100. No EnKF update will be performed. - #. From report step 100 to report step 125 it will simulate five report steps at a time, doing EnKF update at report steps 105, 110, 115, 120 and 125. - #. From report step 125 to report step 200 it will simulate one report step at a time, doing EnKF update for every timestep. - - The ENKF_SCHED_FILE keyword is optional. - -.. _end_date: -.. topic:: END_DATE - - When running a set of models from beginning to end ERT does - not now in advance how long the simulation is supposed to be, - it is therefor impossible beforehand to determine which - restart file number should be used as target file, and the - procedure used for EnKF runs can not be used to verify that an - ECLIPSE simulation has run to the end. - - By using the END_DATE keyword you can tell ERT that the - simulation should go at least up to the date given by - END_DATE, otherwise they will be regarded as failed. The - END_DATE does not need to correspond exactly to the end date - of the simulation, it must just be set so that all simulations - which go to or beyond END_DATE are regarded as successfull. - - *Example:* - - :: - END_DATE 10/10/2010 - - With this END_DATE setting all simulations which have gone to - at least 10.th of October 2010 are OK. - - -.. _enspath: -.. topic:: ENSPATH - - The ENSPATH should give the name of a folder that will be used - for storage by the enkf application. Note that the contents of - this folder is not intended for human inspection. By default, - ENSPATH is set to "storage". - - *Example:* - - :: - - -- Use internal storage in /mnt/my_big_enkf_disk - ENSPATH /mnt/my_big_enkf_disk - - The ENSPATH keyword is optional. - -.. _select_case: -.. topic:: SELECT_CASE - - By default ert will remember the selected case from the - previous run, or select the case "default" if this is the - first time you start a project. By using the SELECT_CASE - keyword you can tell ert to start up with a particular - case. If the requested case does not exist ert will ignore the - SELECT_CASE command, the case will not be created - automagically. - -.. _history_source: -.. topic:: HISTORY_SOURCE - - In the observation configuration file you can enter - observations with the keyword HISTORY_OBSERVATION; this means - that ERT will the observed 'true' values from the model - history. Practically the historical values can be fetched - either from the SCHEDULE file or from a reference case. What - source to use for the historical values can be controlled with - the HISTORY_SOURCE keyword. The different possible values for - the HISTORY_SOURCE keyword are: - - - REFCASE_HISTORY - This is the default value for HISTORY_SOURCE, - ERT will fetch the historical values from the *xxxH* - keywords in the refcase summary, e.g. observations of - WGOR:OP_1 is based the WGORH:OP_1 vector from the - refcase summary. - - REFCASE_SIMULATED - In this case the historical values are based on the simulated values from the refcase, this is mostly relevant when a you want compare with another case which serves as 'the truth'. - - SCHEDULE - Load historical values from the WCONHIST and WCONINJE keywords in the Schedule file. - - - When setting HISTORY_SOURCE to either REFCASE_SIMULATED or REFCASE_HISTORY you must also set the REFCASE variable to point to the ECLIPSE data file in an existing reference case (should be created with the same schedule file as you are using now). - - *Example:* - - :: - - -- Use historic data from reference case - HISTORY_SOURCE REFCASE_HISTORY - REFCASE /somefolder/ECLIPSE.DATA - - The HISTORY_SOURCE keyword is optional. - -.. _refcase: -.. topic:: REFCASE - - With the REFCASE key you can supply ert with a reference case which can be used for observations (see HISTORY_SOURCE), if you want to use wildcards with the SUMMARY keyword you also must supply a REFCASE keyword. The REFCASE keyword should just point to an existing ECLIPSE data file; ert will then look up and load the corresponding summary results. - - *Example:* - - :: - - -- The REFCASE keyword points to the datafile of an existing ECLIPSE simulation. - REFCASE /path/to/somewhere/SIM_01_BASE.DATA - - -.. _install_job: -.. topic:: INSTALL_JOB - - The INSTALL_JOB keyword is used to learn the enkf application how to run external applications and scripts, i.e. defining a job. After a job has been defined with INSTALL_JOB, it can be used with the FORWARD_MODEL keyword. For example, if you have a script which generates relative permeability curves from a set of parameters, it can be added as a job, allowing you to do history matching and sensitivity analysis on the parameters defining the relative permeability curves. - - The INSTALL_JOB keyword takes two arguments, a job name and the name of a configuration file for that particular job. - - *Example:* - - :: - - -- Define a Lomeland relative permeabilty job. - -- The file jobs/lomeland.txt contains a detailed - -- specification of the job. - INSTALL_JOB LOMELAND jobs/lomeland.txt - - The configuration file used to specify an external job is easy to use and very flexible. It is documented in Customizing the simulation workflow in enkf. - - The INSTALL_JOB keyword is optional. - -.. _keep_runpath: -.. topic:: KEEP_RUNPATH - - When the enkf application is running it creates directories for the ECLIPSE simulations, one for each realization. If you are using the enkf application to run the EnKF algorithm, the default behavior is to delete these directories after the simulation results have been internalized. This behavior can be overridden with the KEEP_RUNPATH keyword, which causes enkf to keep the specified simulation directories. When running the enkf application as a convenient way to start many simulations, e.g. using the screening experiment option, the behavior is the opposite, and can be overridden with the DELETE_RUNPATH keyword. - - *Example:* - - :: - - -- Keep simulation directories 0 to 15 and 18 and 20 - KEEP_RUNPATH 0-15, 18, 20 - - The KEEP_RUNPATH keyword is optional. - -.. _obs_config: -.. topic:: OBS_CONFIG - - The OBS_CONFIG key should point to a file defining observations and associated uncertainties. The file should be in plain text and formatted according to the guidelines given in Creating an observation file for use with enkf. - - *Example:* - - :: - - -- Use the observations in my_observations.txt - OBS_CONFIG my_observations.txt - - The OBS_CONFIG keyword is optional, but for your own convenience, it is strongly recommended to provide an observation file. - -.. _result_path: -.. topic:: RESULT_PATH - - The enkf application will print some simple tabulated results at each report step. The RESULT_PATH keyword should point to a folder where the tabulated results are to be written. It can contain a %d specifier, which will be replaced with the report step by enkf. The default value for RESULT_PATH is "results/step_%d". - - *Example:* - - :: - - -- Changing RESULT_PATH - RESULT_PATH my_nice_results/step-%d - - The RESULT_PATH keyword is optional. - -.. _runpath: -.. topic:: RUNPATH - - The RUNPATH keyword should give the name of the folders where the ECLIPSE simulations are executed. It should contain at least one %d specifier, which will be replaced by the realization number when the enkf creates the folders. Optionally, it can contain one more %d specifier, which will be replaced by the iteration number. - - By default, RUNPATH is set to "simulations/realization-%d". - - *Example A:* - - :: - -- Giving a RUNPATH with just one %d specifer. - RUNPATH /mnt/my_scratch_disk/realization-%d - - *Example B:* - - :: - - -- Giving a RUNPATH with two %d specifers. - RUNPATH /mnt/my_scratch_disk/realization-%d/iteration-%d - - The RUNPATH keyword is optional. - - -.. _runpath_file: -.. topic:: RUNPATH_FILE - -When running workflows based on external scripts it is necessary to 'tell' the external script in some way or another were all the realisations are located in the filesystem. Since the number of realisations can be quite high this will easily overflow the commandline buffer; the solution which is used is therefor to let ert write a reagular file which looks like this:: - - 0 /path/to/realisation0 CASE0 iter - 1 /path/to/realisation1 CASE1 iter - ... - N /path/to/realisationN CASEN iter - -The path to this file can then be passed to the scripts using the -magic string . The RUNPATH_FILE will by default be -stored as .ert_runpath_list in the same directory as the configuration -file, but you can set it to something else with the RUNPATH_FILE key. - -Keywords controlling the simulations ------------------------------------- -.. _keywords_controlling_the_simulations: - -.. _min_realizations: -.. topic:: MIN_REALIZATIONS - - MIN_REALIZATIONS is the minimum number of realizations that must have succeeded for the simulation to be regarded as a success. - - MIN_REALIZATIONS can also be used in combination with STOP_LONG_RUNNING, see the documentation for STOP_LONG_RUNNING for a description of this. - - *Example:* - - :: - - MIN_REALIZATIONS 20 - - The MIN_REALIZATIONS key can also be set as a percentage of NUM_REALIZATIONS - - :: - - MIN_REALIZATIONS 10% - - The MIN_REALIZATIONS key is optional. - - -.. _stop_long_running: -.. topic:: STOP_LONG_RUNNING - - The STOP_LONG_RUNNING key is used in combination with the MIN_REALIZATIONS key to control the runtime of simulations. When STOP_LONG_RUNNING is set to TRUE, MIN_REALIZATIONS is the minimum number of realizations run before the simulation is stopped. After MIN_REALIZATIONS have succeded successfully, the realizatons left are allowed to run for 25% of the average runtime for successfull realizations, and then killed. - - *Example:* - - :: - - -- Stop long running realizations after 20 realizations have succeeded - MIN_REALIZATIONS 20 - STOP_LONG_RUNNING TRUE - - The STOP_LONG_RUNNING key is optional. The MIN_REALIZATIONS key must be set when STOP_LONG_RUNNING is set to TRUE. - - -.. _max_runtime: -.. topic:: MAX_RUNTIME - - The MAX_RUNTIME keyword is used to control the runtime of simulations. When MAX_RUNTIME is set, a job is only allowed to run for MAX_RUNTIME, given in seconds. A value of 0 means unlimited runtime. - - *Example:* - - :: - - -- Let each realizations run for 50 seconds - MAX_RUNTIME 50 - - The MAX_RUNTIME key is optional. - - -Parameterization keywords -------------------------- -.. _parameterization_keywords: - -The keywords in this section are used to define a parametrization of the ECLIPSE model. I.e., defining which parameters to change in a sensitivity analysis and/or history matching project. For some parameters, it necessary to specify a prior distribution. See Prior distributions available in enkf for a complete list of available priors. - -.. _field: -.. topic:: FIELD - - The FIELD keyword is used to parametrize quantities which have extent over the full grid. Both dynamic properties like pressure, and static properties like porosity, are implemented in terms of FIELD objects. When adding fields in the config file the syntax is a bit different for dynamic fields (typically solution data from ECLIPSE) and parameter fields like permeability and porosity. - - **Dynamic fields** - - To add a dynamic field the entry in the configuration file looks like this: - - :: - FIELD DYNAMIC MIN:X MAX:Y - - In this case ID is not an arbitrary string; it must coincide with the keyword name found in the ECLIPSE restart file, e.g. PRESSURE. Optionally, you can add a minimum and/or a maximum value with MIN:X and MAX:Y. - - *Example A:* - - :: - - -- Adding pressure field (unbounded) - FIELD PRESSURE DYNAMIC - - *Example B:* - - :: - - -- Adding a bounded water saturation field - FIELD SWAT DYNAMIC MIN:0.2 MAX:0.95 - - **Parameter fields** - - A parameter field (e.g. porosity or permeability) is defined as follows: - - :: - - FIELD ID PARAMETER INIT_FILES:/path/%d MIN:X MAX:Y OUTPUT_TRANSFORM:FUNC INIT_TRANSFORM:FUNC - - Here ID is again an arbitrary string, ECLIPSE_FILE is the name of the file the enkf will export this field to when running simulations. Note that there should be an IMPORT statement in the ECLIPSE data file corresponding to the name given with ECLIPSE_FILE. INIT_FILES is a filename (with an embedded %d) to load the initial field from. Can be RMS ROFF format, ECLIPSE restart format or ECLIPSE GRDECL format. - - The options MIN, MAX, INIT_TRANSFORM and OUTPUT_TRANSFORM are all optional. MIN and MAX are as for dynamic fields. OUTPUT_TRANSFORM is the name of a mathematical function which will be applied to the field before it is exported, and INIT_TRANSFORM is the name of a function which will be applied to the fields when they are loaded. [Just use INIT_TRANSFORM:XXX to get a list of available functions.] - - Regarding format of ECLIPSE_FILE: The default format for the parameter fields is binary format of the same type as used in the ECLIPSE restart files. This requires that the ECLIPSE datafile contains an IMPORT statement. The advantage with using a binary format is that the files are smaller, and reading/writing is faster than for plain text files. If you give the ECLIPSE_FILE with the extension .grdecl (arbitrary case), enkf will produce ordinary .grdecl files, which are loaded with an INCLUDE statement. This is probably what most users are used to beforehand - but we recomend the IMPORT form. - - **General fields** - - In addition to dynamic and parameter field there is also a general field, where you have fine grained control over input/output. Use of the general field type is only relevant for advanced features. The arguments for the general field type are as follows: - - :: - - FIELD ID GENERAL FILE_GENERATED_BY_ENKF FILE_LOADED_BY_ENKF - - The OPTIONS argument is the same as for the parameter field. - -.. _gen_data: -.. topic:: GEN_DATA - - The GEN_DATA keyword is used when estimating data types which enkf does not know anything about. GEN_DATA is very similar to GEN_PARAM, but GEN_DATA is used for data which are updated/created by the forward model like e.g. seismic data. In the main configuration file the input for a GEN_DATA instance is as follows: - - :: - - GEN_DATA ID RESULT_FILE:yyy INPUT_FORMAT:xx REPORT_STEPS:10,20 ECL_FILE:xxx OUTPUT_FORMAT:xx INIT_FILES:/path/files%d TEMPLATE:/template_file TEMPLATE_KEY:magic_string - - The GEN_DATA keyword has many options; in many cases you can leave many of them off. We therefor list the required and the optional options separately: - - **Required GEN_DATA options** - - * RESULT_FILE - This if the name the file generated by the forward model and read by ERT. This filename _must_ have a %d as part of the name, that %d will be replaced by report step when loading. - * INPUT_FORMAT - The format of the file written by the forward model (i.e. RESULT_FILE) and read by ERT, valid values are ASCII, BINARY_DOUBLE and BINARY_FLOAT. - * REPORT_STEPS A list of the report step(s) where you expect the forward model to create a result file. I.e. if the forward model should create a result file for report steps 50 and 100 this setting should be: REPORT_STEPS:50,100. If you have observations of this GEN_DATA data the RESTART setting of the corresponding GENERAL_OBSERVATION must match one of the values given by REPORT_STEPS. - - **Optional GEN_DATA options** - - * ECL_FILE - This is the name of file written by enkf to be read by the forward model. - * OUTPUT_FORMAT - The format of the files written by enkf and read by the forward model, valid values are ASCII, BINARY_DOUBLE, BINARY_FLOAT and ASCII_TEMPLATE. If you use ASCII_TEMPLATE you must also supply values for TEMPLATE and TEMPLATE_KEY. - * INIT_FILES - Format string with '%d' of files to load the initial data from. - - *Example:* - - :: - - GEN_DATA 4DWOC INPUT_FORMAT:ASCII RESULT_FILE:SimulatedWOC%d.txt REPORT_STEPS:10,100 - - Here we introduce a GEN_DATA instance with name 4DWOC. When the forward model has run it should create two files with name SimulatedWOC10.txt and SimulatedWOC100.txt. The result files are in ASCII format, ERT will look for these files and load the content. The files should be pure numbers - without any header. - - **Observe that the GEN_DATA RESULT_FILE setting must have a %d format specifier, that will be replaced with the report step..** - - -.. _custom_kw: -.. topic:: CUSTOM_KW - - The keyword CUSTOM_KW enables custom data key:value pairs - to be stored in ERT storage. Custom KW has many - similarities to Gen KW and Gen Data but is fully defined by - the user and contain only key_value pairs. - - *Example:* - - :: - - CUSTOM_KW GROUP_NAME - - --GROUP_NAME - This is similar to Gen KW where every keyword is prefixed with the GROUP_NAME like this: GROUP_NAME:KEYWORD - - --input_file - This is the input file expected to be generated by a forward model. - - --Example - CUSTOM_KW COMPOSITION composition.txt - - With this setup ERT will expect the file composition.txt to be present in the runpath. - This file may look like this - - :: - - oil 0.5 - water 0.2 - gas 0.2 - unknown 0.1 - state good - - Every key-value pair must be a string followed by a space and a value. - The value can either be a number or a string (all numbers are interpreted as floats). - - After a successful run, ERT will store the COMPOSITION - Custom KW in its filesystem and will be available for every - realization. An export will present the values produced as: - - * COMPOSITION:oil - * COMPOSITION:water - * COMPOSITION:gas - * COMPOSITION:unknown - * COMPOSITION:state - - -.. _gen_kw: -.. topic:: GEN_KW - - The GEN_KW (abbreviation of general keyword) parameter is based on a template file and substitution. In the main config file a GEN_KW instance is defined as follows: - - :: - - GEN_KW ID my_template.txt my_eclipse_include.txt my_priors.txt - - Here ID is an (arbitrary) unique string, my_template.txt is - the name of a template file, my_eclipse_include.txt is the - name of the file which is made for each member based on - my_template.txt and my_priors.txt is a file containing a list - of parametrized keywords and a prior distribution for - each. Note that you must manually edit the ECLIPSE data file - so that my_eclipse_include.txt is included. - - Let us consider an example where the GEN_KW parameter type is - used to estimate pore volume multipliers. We would then - declare a GEN_KW instance in the main enkf configuration file: - - :: - - GEN_KW PAR_MULTPV multpv_template.txt multpv.txt multpv_priors.txt - - In the GRID or EDIT section of the ECLIPSE data file, we would - insert the following include statement: - - :: - - INCLUDE - 'multpv.txt' / - - The template file multpv_template.txt would contain some - parametrized ECLIPSE statements: - - :: - - BOX - 1 10 1 30 13 13 / - MULTPV - 300* / - ENDBOX - - BOX - 1 10 1 30 14 14 / - MULTPV - 300* / - ENDBOX - - Here, and will act as magic - strings. Note that the '<' '>' must be present around the - magic strings. In this case, the parameter configuration file - multpv_priors.txt could look like this: - - :: - - MULTPV_BOX2 UNIFORM 0.98 1.03 - MULTPV_BOX1 UNIFORM 0.85 1.00 - - In general, the first keyword on each line in the parameter - configuration file defines a key, which when found in the - template file enclosed in '<' and '>', is replaced with a - value. The rest of the line defines a prior distribution for - the key. See Prior distributions available in enkf for a list - of available prior distributions. - - **Example: Using GEN_KW to estimate fault transmissibility multipliers** - - Previously enkf supported a datatype MULTFLT for estimating - fault transmissibility multipliers. This has now been - depreceated, as the functionality can be easily achieved with - the help of GEN_KW. In th enkf config file: - - :: - - GEN_KW MY-FAULTS MULTFLT.tmpl MULTFLT.INC MULTFLT.txt - - Here MY-FAULTS is the (arbitrary) key assigned to the fault - multiplers, MULTFLT.tmpl is the template file, which can look - like this: - - :: - - MULTFLT - 'FAULT1' / - 'FAULT2' / - / - - and finally the initial distribution of the parameters FAULT1 - and FAULT2 are defined in the file MULTFLT.txt: - - :: - - FAULT1 LOGUNIF 0.00001 0.1 - FAULT2 UNIFORM 0.00 1.0 - - The various prior distributions available for the ``GEN_KW`` - keyword are here :ref:`prior distributions available in ERT ` - - - Loading GEN_KW values from an external file - - The default use of the GEN_KW keyword is to let the ERT - application sample random values for the elements in the - GEN_KW instance, but it is also possible to tell ERT to load a - precreated set of data files, this can for instance be used as - a component in a experimental design based workflow. When - using external files to initialize the GEN_KW instances you - supply an extra keyword ``INIT_FILE:/path/to/priors/files%d`` - which tells where the prior files are: - - :: - - GEN_KW MY-FAULTS MULTFLT.tmpl MULTFLT.INC MULTFLT.txt INIT_FILES:priors/multflt/faults%d - - In the example above you must prepare files - priors/multflt/faults0, priors/multflt/faults1, - ... priors/multflt/faultsn which ert will load when you - initialize the case. The format of the GEN_KW input files can - be of two varieties: - - 1. The files can be plain ASCII text files with a list of numbers: - - :: - - 1.25 - 2.67 - - The numbers will be assigned to parameters in the order found in the MULTFLT.txt file. - - 2. Alternatively values and keywords can be interleaved as in: - - :: - - FAULT1 1.25 - FAULT2 2.56 - - in this case the ordering can differ in the init files and the parameter file. - - The heritage of the ERT program is based on the EnKF algorithm, and the EnKF algorithm evolves around Gaussian variables - internally the GEN_KW variables are assumed to be samples from the N(0,1) distribution, and the distributions specified in the parameters file are based on transformations starting with a N(0,1) distributed variable. The slightly awkward consequence of this is that to let your sampled values pass through ERT unmodified you must configure the distribution NORMAL 0 1 in the parameter file; alternatively if you do not intend to update the GEN_KW variable you can use the distribution RAW. - - -.. _gen_param: -.. topic:: GEN_PARAM - - The GEN_PARAM parameter type is used to estimate parameters which do not really fit into any of the other categories. As an example, consider the following situation: - - Some external Software (e.g. Cohiba) makes a large vector of random numbers which will serve as input to the forward model. (It is no requirement that the parameter set is large, but if it only consists of a few parameters the GEN_KW type will be easier to use.) - We want to update this parameter with enkf. - In the main configuration file the input for a GEN_PARAM instance is as follows: - - :: - - GEN_PARAM ID ECLIPSE_FILE INPUT_FORMAT:xx OUTPUT_FORMAT:xx INIT_FILES:/path/to/init/files%d (TEMPLATE:/template_file KEY:magic_string) - - here ID is the usual unique string identifying this instance and ECLIPSE_FILE is the name of the file which is written into the run directories. The three arguments GEN_PARAM, ID and ECLIPSE_FILE must be the three first arguments. In addition you must have three additional arguments, INPUT_FORMAT, OUTPUT_FORMAT and INIT_FILES. INPUT_FORMAT is the format of the files enkf should load to initialize, and OUTPUT_FORMAT is the format of the files enkf writes for the forward model. The valid values are: - - * ASCII - This is just text file with formatted numbers. - * ASCII_TEMPLATE - An plain text file with formatted numbers, and an arbitrary header/footer. - * BINARY_FLOAT - A vector of binary float numbers. - * BINARY_DOUBLE - A vector of binary double numbers. - - Regarding the different formats - observe the following: - - #. Except the format ASCII_TEMPLATE the files contain no header information. - #. The format ASCII_TEMPLATE can only be used as output format. - #. If you use the output format ASCII_TEMPLATE you must also supply a TEMPLATE:X and KEY:Y option. See documentation of this below. - #. For the binary formats files generated by Fortran can not be used - can easily be supported on request. - - **Regarding templates:** If you use OUTPUT_FORMAT:ASCII_TEMPLATE you must also supply the arguments TEMPLATE:/template/file and KEY:MaGiCKEY. The template file is an arbitrary existing text file, and KEY is a magic string found in this file. When enkf is running the magic string is replaced with parameter data when the ECLIPSE_FILE is written to the directory where the simulation is run from. Consider for example the follwing configuration: - - :: - - TEMPLATE:/some/file KEY:Magic123 - - The template file can look like this (only the Magic123 is special): - - :: - - Header line1 - Header line2 - ============ - Magic123 - ============ - Footer line1 - Footer line2 - - When enkf is running the string Magic123 is replaced with parameter values, and the resulting file will look like this: - - :: - - Header line1 - Header line2 - ============ - 1.6723 - 5.9731 - 4.8881 - ..... - ============ - Footer line1 - Footer line2 - -.. _surface: -.. topic:: SURFACE - - The SURFACE keyword can be used to work with surface from RMS in the irap format. The surface keyword is configured like this: - - :: - - SURFACE TOP OUTPUT_FILE:surf.irap INIT_FILES:Surfaces/surf%d.irap BASE_SURFACE:Surfaces/surf0.irap - - The first argument, TOP in the example above, is the identifier you want to use for this surface in ert. The OUTPUT_FILE key is the name of surface file which ERT will generate for you, INIT_FILES points to a list of files which are used to initialize, and BASE_SURFACE must point to one existing surface file. When loading the surfaces ERT will check that all the headers are compatible. An example of a surface IRAP file is: - - :: - - -996 511 50.000000 50.000000 - 444229.9688 457179.9688 6809537.0000 6835037.0000 - 260 -30.0000 444229.9688 6809537.0000 - 0 0 0 0 0 0 0 - 2735.7461 2734.8909 2736.9705 2737.4048 2736.2539 2737.0122 - 2740.2644 2738.4014 2735.3770 2735.7327 2733.4944 2731.6448 - 2731.5454 2731.4810 2730.4644 2730.5591 2729.8997 2726.2217 - 2721.0996 2716.5913 2711.4338 2707.7791 2705.4504 2701.9187 - .... - - The surface data will typically be fed into other programs like Cohiba or RMS. The data can be updated using e.g. the Smoother. - - **Initializing from the FORWARD MODEL** - - All the parameter types like FIELD,GEN_KW,GEN_PARAM and SURFACE can be initialized from the forward model. To achieve this you just add the setting FORWARD_INIT:True to the configuration. When using forward init the initialization will work like this: - - #. The explicit initialization from the case menu, or when you start a simulation, will be ignored. - #. When the FORWARD_MODEL is complete ERT will try to initialize the node based on files created by the forward model. If the init fails the job as a whole will fail. - #. If a node has been initialized, it will not be initialized again if you run again. [Should be possible to force this ....] - - When using FORWARD_INIT:True ERT will consider the INIT_FILES setting to find which file to initialize from. If the INIT_FILES setting contains a relative filename, it will be interpreted relativt to the runpath directory. In the example below we assume that RMS has created a file petro.grdecl which contains both the PERMX and the PORO fields in grdecl format; we wish to initialize PERMX and PORO nodes from these files: - - :: - - FIELD PORO PARAMETER poro.grdecl INIT_FILES:petro.grdecl FORWARD_INIT:True - FIELD PERMX PARAMETER permx.grdecl INIT_FILES:petro.grdecl FORWARD_INIT:True - - Observe that forward model has created the file petro.grdecl and the nodes PORO and PERMX create the ECLIPSE input files poro.grdecl and permx.grdecl, to ensure that ECLIPSE finds the input files poro.grdecl and permx.grdecl the forward model should contain a job which will copy/convert petro.grdecl -> (poro.grdecl,permx.grdecl), this job should not overwrite existing versions of permx.grdecl and poro.grdecl. This extra hoops is not strictly needed in all cases, but strongly recommended to ensure that you have control over which data is used, and that everything is consistent in the case where the forward model is run again. - - -.. _summary: -.. topic:: SUMMARY - - The SUMMARY keyword is used to add variables from the ECLIPSE summary file to the parametrization. The keyword expects a string, which should have the format VAR:WGRNAME. Here, VAR should be a quantity, such as WOPR, WGOR, RPR or GWCT. Moreover, WGRNAME should refer to a well, group or region. If it is a field property, such as FOPT, WGRNAME need not be set to FIELD. - - *Example:* - - :: - - -- Using the SUMMARY keyword to add diagnostic variables - SUMMARY WOPR:MY_WELL - SUMMARY RPR:8 - SUMMARY F* -- Use of wildcards requires that you have entered a REFCASE. - - The SUMMARY keyword has limited support for '*' wildcards, if your key contains one or more '*' characters all matching variables from the refcase are selected. Observe that if your summary key contains wildcards you must supply a refcase with the REFCASE key - otherwise it will fail hard. - - **Note:** Properties added using the SUMMARY keyword are only diagnostic. I.e., they have no effect on the sensitivity analysis or history match. - - -Keywords controlling the ES algorithm ------------------------------------------ -.. _keywords_controlling_the_es_algorithm: - -.. _enkf_alpha: -.. topic:: ENKF_ALPHA - - ENKF_ALPHA has some latex letters - need to be handled!! - Scaling factor (double) used in outlier detection. Increasing this factor means that more observations will potentially be included in the assimilation. The default value is 1.50. - - Including outliers in the EnKF algorithm can dramatically increase the coupling between the ensemble members. It is therefore important to filter out these outlier data prior to data assimilation. An observation, \textstyle d^o_i, will be classified as an outlier if - - :: - - |d^o_i - \bar{d}_i| > \mathrm{ENKF\_ALPHA} \left(s_{d_i} + \sigma_{d^o_i}\right), - - where \textstyle\boldsymbol{d}^o is the vector of observed data, \textstyle\boldsymbol{\bar{d}} is the average of the forcasted data ensemble, \textstyle\boldsymbol{s_{d}} is the vector of estimated standard deviations for the forcasted data ensemble, and \textstyle\boldsymbol{s_{d}^o} is the vector standard deviations for the observation error (specified a priori). - - -.. _enkf_bootstrap: -.. topic:: ENKF_BOOTSTRAP - - Boolean specifying if we want to resample the Kalman gain matrix in the update step. The purpose is to avoid that the ensemble covariance collapses. When this keyword is true each ensemble member will be updated based on a Kalman gain matrix estimated from a resampling with replacement of the full ensemble. - - In theory and in practice this has worked well when one uses a small number of ensemble members. - - -.. _enkf_cv_folds: -.. topic:: ENKF_CV_FOLDS - - Integer specifying how many folds we should use in the Cross-Validation (CV) scheme. Possible choices are the integers between 2 and the ensemble size (2-fold CV and leave-one-out CV respectively). However, a robust choice for the number of CV-folds is 5 or 10 (depending on the ensemble size). - - *Example:* - - :: - - -- Setting the number of CV folds equal to 5 - ENKF_CV_FOLDS 5 - - Requires that the ENKF_LOCAL_CV keyword is set to TRUE - - -.. _enkf_force_ncomp: -.. topic:: ENKF_FORCE_NCOMP - - Bool specifying if we want to force the subspace dimension we want to use in the EnKF updating scheme (SVD-based) to a specific integer. This is an alternative to selecting the dimension using ENKF_TRUNCATION or ENKF_LOCAL_CV. - - *Example:* - - :: - - -- Setting the the subspace dimension to 2 - ENKF_FORCE_NCOMP TRUE - ENKF_NCOMP 2 - - - -.. _enkf_local_cv: -.. topic:: ENKF_LOCAL_CV - - Boolean specifying if we want to select the subspace dimension in the SVD-based EnKF algorithm using Cross-Validation (CV) [1]. This is a more robust alternative to selecting the subspace dimension based on the estimated singular values (See ENKF_TRUNCATION), because the predictive power of the estimated Kalman gain matrix is taken into account. - - *Example:* - - :: - - -- Select the subspace dimension using Cross-Validation - ENKF_LOCAL_CV TRUE - - - -.. _enkf_pen_press: -.. topic:: ENKF_PEN_PRESS - - Boolean specifying if we want to select the subspace dimension in the SVD-based EnKF algorithm using Cross-Validation (CV), and a penalised version of the predictive error sum of squares (PRESS) statistic [2]. This is recommended when overfitting is a severe problem (and when the number of ensemble members is small) - - *Example:* - - :: - - -- Select the subspace dimension using Cross-Validation - ENKF_LOCAL_CV TRUE - - -- Using penalised PRESS statistic - ENKF_PEN_PRESS TRUE - - - -.. _enkf_mode: -.. topic:: ENKF_MODE - - The ENKF_MODE keyword is used to select which EnKF algorithm to use. Use the value STANDARD for the original EnKF algorithm, or SQRT for the so-called square root scheme. The default value for ENKF_MODE is STANDARD. - - *Example A:* - - :: - - -- Using the square root update - ENKF_MODE SQRT - - *Example B:* - - :: - - -- Using the standard update - ENKF_MODE STANDARD - - The ENKF_MODE keyword is optional. - - -.. _enkf_merge_observations: -.. topic:: ENKF_MERGE_OBSERVATIONS - - If you use the ENKF_SCHED_FILE option to jump over several dates at a time you can choose whether you want to use all the observations in between, or just the final. If set to TRUE, all observations will be used. If set to FALSE, only the final observation is used. The default value for ENKF_MERGE_OBSERVATIONS is FALSE. - - *Example:* - - :: - - -- Merge observations - ENKF_MERGE_OBSERVATIONS TRUE - - -.. _enkf_ncomp: -.. topic:: ENKF_NCOMP - - Integer specifying the subspace dimension. Requires that ENKF_FORCE_NCOMP is TRUE. - -.. _enkf_rerun: -.. topic:: ENKF_RERUN - - This is a boolean switch - TRUE or FALSE. Should the simulation start from time zero after each update. - - - -.. _enkf_scaling: -.. topic:: ENKF_SCALING - - This is a boolean switch - TRUE (Default) or FALSE. If TRUE, we scale the data ensemble matrix to unit variance. This is generally recommended because the SVD-based EnKF algorithm is not scale invariant. - - -.. _enkf_truncation: -.. topic:: ENKF_TRUNCATION - - Truncation factor for the SVD-based EnKF algorithm (see Evensen, 2007). In this algorithm, the forecasted data will be projected into a low dimensional subspace before assimilation. This can substantially improve on the results obtained with the EnKF, especially if the data ensemble matrix is highly collinear (Saetrom and Omre, 2010). The subspace dimension, p, is selected such that - - :: - - \frac{\sum_{i=1}^{p} s_i^2}{\sum_{i=1}^r s_i^2} \geq \mathrm{ENKF\_TRUNCATION}, - - where si is the ith singular value of the centered data ensemble matrix and r is the rank of this matrix. This criterion is similar to the explained variance criterion used in Principal Component Analysis (see e.g. Mardia et al. 1979). - - The default value of ENKF_TRUNCATION is 0.99. If ensemble collapse is a big problem, a smaller value should be used (e.g 0.90 or smaller). However, this does not guarantee that the problem of ensemble collapse will disappear. Note that setting the truncation factor to 1.00, will recover the Standard-EnKF algorithm if and only if the covariance matrix for the observation errors is proportional to the identity matrix. - - -.. _std_scale_correlated_obs: -.. topic:: STD_SCALE_CORRELATED_OBS - - With this kewyord you can instruct ERT to use the simulated - data to estimate the correlations in the observations, and - then inflate the observation standard deviation as a way to - estimate the real information content in the observations. The - method is based on PCA, the scaling factor is calculated as: - - :: - - \sqrt{\frac{N_{\sigma}}{N_{\mathrm{obs}}} - - where $N_{\sigma}$ is the number of singular components, at - (fixed) truncation 0.95 and $N_{\mathrm{obs}}$ is the number - of observations. The STD_SCALE_CORRELATED_OBS keyword will - flatten all your observations, including temporal and spatial - correlations. For more fine grained control you can use the - STD_CALE_CORRELATED_OBS workflow job, or even write your own - plugins. - - - -.. _update_log_path: -.. topic:: UPDATE_LOG_PATH - - A summary of the data used for updates are stored in this directory. - - -**References** - -* Evensen, G. (2007). "Data Assimilation, the Ensemble Kalman Filter", Springer. -* Mardia, K. V., Kent, J. T. and Bibby, J. M. (1979). "Multivariate Analysis", Academic Press. -* Saetrom, J. and Omre, H. (2010). "Ensemble Kalman filtering with shrinkage regression techniques", Computational Geosciences (online first). - - -Analysis module ---------------- -.. _analysis_module: - -The final EnKF linear algebra is performed in an analysis module. The keywords to load, select and modify the analysis modules are documented here. - -.. _analysis_load: -.. topic:: ANALYSIS_LOAD - - The ANALYSIS_LOAD key is the main key to load an analysis module: - - :: - - ANALYSIS_LOAD ANAME analysis.so - - The first argument ANAME is just an arbitrary unique name which you want to use to refer to the module later. The second argument is the name of the shared library file implementing the module, this can either be an absolute path as /path/to/my/module/ana.so or a relative file name as analysis.so. The module is loaded with dlopen() and the normal shared library search semantics applies. - - -.. _analysis_select: -.. topic:: ANALYSIS_SELECT - - This command is used to select which analysis module to actually use in the updates: - - :: - - ANALYSIS_SELECT ANAME - - Here ANAME is the name you have assigned to the module when loading it with ANALYSIS_LOAD. - - -.. _analysis_set_var: -.. topic:: ANALYSIS_SET_VAR - - The analysis modules can have internal state, like e.g. truncation cutoff values, these values can be manipulated from the config file using the ANALYSIS_SET_VAR keyword: - - :: - - ANALYSIS_SET_VAR ANAME ENKF_TRUNCATION 0.97 - - To use this you must know which variables the module supports setting this way. If you try to set an unknown variable you will get an error message on stderr. - - -.. _analysis_copy: -.. topic:: ANALYSIS_COPY - - With the ANALYSIS_COPY keyword you can create a new instance of a module. This can be convenient if you want to run the same algorithm with the different settings: - - :: - - ANALYSIS_LOAD A1 analysis.so - ANALYISIS_COPY A1 A2 - - We load a module analysis.so and assign the name A1; then we copy A1 -> A2. The module A1 and A2 are now 100% identical. We then set the truncation to two different values: - - :: - - ANALYSIS_SET_VAR A1 ENKF_TRUNCATION 0.95 - ANALYSIS_SET_VAR A2 ENKF_TRUNCATION 0.98 - -**Developing analysis modules** - -In the analysis module the update equations are formulated based on familiar matrix expressions, and no knowledge of the innards of the ERT program are required. Some more details of how modules work can be found here modules.txt. In principle a module is 'just' a shared library following some conventions, and if you are sufficiently savy with gcc you can build them manually, but along with the ert installation you should have utility script ert_module which can be used to build a module; just write ert_module without any arguments to get a brief usage description. - -Advanced optional keywords --------------------------- -.. _advanced_optional_keywords: - -The keywords in this section, controls advanced features of the enkf application. Insight in the internals of the enkf application and/or ECLIPSE may be required to fully understand their effect. Moreover, many of these keywords are defined in the site configuration, and thus optional to set for the user, but required when installing the enkf application at a new site. - - -.. _add_fixed_length_schedule_kw: -.. topic:: ADD_FIXED_LENGTH_SCHEDULE_KW - - Real low level fix for some SCHEDULE parsing problems. - - -.. _add_static_kw: -.. topic:: ADD_STATIC_KW - - The restart files from ECLIPSE are organized by keywords, which are of three different types: - - #. Keywords containing the dynamic solution, e.g. pressure and saturations. - #. Keywords containing various types of header information which is needed for a restart. - #. Keywords containing various types of diagnostic information which is not needed for a restart. - - Keywords in category 2 and 3 are referred to as static keywords. To be able to restart ECLIPSE, the enkf application has to store the keywords in category 2, whereas keywords in category 3 can safely be dropped. To determine whether a particular keyword is in category 2 or 3 the enkf considers an internal list of keywords. The current list contains the keywords: - - :: - - INTEHEAD LOGIHEAD DOUBHEAD IGRP SGRP XGRP ZGRP IWEL SWEL XWEL ZWEL - ICON SCON XCON HIDDEN STARTSOL PRESSURE SWAT SGAS RS RV ENDSOL ICAQNUM ICAQ IAAQ - SCAQNUM SCAQ SAAQ ACAQNUM ACAQ XAAQ - ISEG ILBS ILBR RSEG ISTHW ISTHG - - By using ADD_STATIC_KW you can dynamically add to this list. The magic string __ALL__ will add all static keywords. Use of the __ALL__ option is strongly discouraged, as it wastes a lot disk space. - - -.. _define: -.. topic:: DEFINE - - With the DEFINE keyword you can define key-value pairs which will be substituted in the rest of the configuration file. The DEFINE keyword expects two arguments: A key and a value to replace for that key. Later instances of the key enclosed in '<' and '>' will be substituted with the value. The value can consist of several strings, in that case they will be joined by one single space. - - *Example:* - - :: - - -- Define ECLIPSE_PATH and ECLIPSE_BASE - DEFINE ECLIPSE_PATH /path/to/eclipse/run - DEFINE ECLIPSE_BASE STATF02 - DEFINE KEY VALUE1 VALUE2 VALUE3 VALUE4 - - -- Set the GRID in terms of the ECLIPSE_PATH - -- and ECLIPSE_BASE keys. - GRID /.EGRID - - Observe that when you refer to the keys later in the config file they must be enclosed in '<' and '>'. Furthermore, a key-value pair must be defined in the config file before it can be used. The final key define above KEY, will be replaced with VALUE1 VALUE2 VALUE3 VALUE4 - i.e. the extra spaces will be discarded. - - -.. _time_map: -.. topic:: TIME_MAP - - Normally the mapping between report steps and true dates is - inferred by ERT indirectly by loading the ECLIPSE summary - files. In cases where you do not have any ECLIPSE summary - files you can use the TIME_MAP keyword to specify a file with - dates which are used to establish this mapping: - - *Example:* - - :: - - -- Load a list of dates from external file: "time_map.txt" - TIME_MAP time_map.txt - - The format of the TIME_MAP file should just be a list of dates - formatted as dd/mm/yyyy. The example file below has four dates: - - :: - - 01/01/2000 - 01/07/2000 - 01/01/2001 - 01/07/2001 - - - -.. _schedule_prediction_file: -.. topic:: SCHEDULE_PREDICTION_FILE - - This is the name of a schedule prediction file. It can contain %d to get different files for different members. Observe that the ECLIPSE datafile should include only one schedule file, even if you are doing predictions. - - -Keywords related to running the forward model ---------------------------------------------- -.. _keywords_related_to_running_the_forward_model: - - - -.. _forward_model: -.. topic:: FORWARD_MODEL - - The FORWARD_MODEL keyword is used to define how the simulations are executed. E.g., which version of ECLIPSE to use, which rel.perm script to run, which rock physics model to use etc. Jobs (i.e. programs and scripts) that are to be used in the FORWARD_MODEL keyword must be defined using the INSTALL_JOB keyword. A set of default jobs are available, and by default FORWARD_MODEL takes the value ECLIPSE100. - - The FORWARD_MODEL keyword expects a series of keywords, each defined with INSTALL_JOB. The enkf will execute the jobs in sequentially in the order they are entered. Note that the ENKF_SCHED_FILE keyword can be used to change the FORWARD_MODEL for sub-sequences of the run. - - *Example A:* - - :: - - -- Suppose that "MY_RELPERM_SCRIPT" has been defined with - -- the INSTALL_JOB keyword. This FORWARD_MODEL will execute - -- "MY_RELPERM_SCRIPT" before ECLIPSE100. - FORWARD_MODEL MY_RELPERM_SCRIPT ECLIPSE100 - - *Example B:* - - :: - - -- Suppose that "MY_RELPERM_SCRIPT" and "MY_ROCK_PHYSICS_MODEL" - -- has been defined with the INSTALL_JOB keyword. - -- This FORWARD_MODEL will execute "MY_RELPERM_SCRIPT", then - -- "ECLIPSE100" and in the end "MY_ROCK_PHYSICS_MODEL". - FORWARD_MODEL MY_RELPERM_SCRIPT ECLIPSE100 MY_ROCK_PHYSICS_MODEL - - For advanced jobs you can pass string arguments to the job using a KEY=VALUE based approach, this is further described in: passing arguments. In available jobs in enkf you can see a list of the jobs which are available. - - -.. _job_script: -.. topic:: JOB_SCRIPT - - Running the forward model from enkf is a multi-level process which can be summarized as follows: - - #. A Python module called jobs.py is written and stored in the directory where the forward simulation is run. The jobs.py module contains a list of job-elements, where each element is a Python representation of the code entered when installing the job. - #. The enkf application submits a Python script to the enkf queue system, this script then loads the jobs.py module to find out which programs to run, and how to run them. - #. The job_script starts and monitors the individual jobs in the jobs.py module. - - The JOB_SCRIPT variable should point at the Python script which is managing the forward model. This should normally be set in the site wide configuration file. - - -.. _queue_system: -.. topic:: QUEUE_SYSTEM - - The keyword QUEUE_SYSTEM can be used to control where the - simulation jobs are executed. It can take the values LSF, - TORQUE, RSH and LOCAL. - - The LSF option will submit jobs to the LSF cluster at your - location, and is recommended whenever LSF is available. - - The TORQUE option will submit jobs to the TORQUE a torque - based system, using the commands qsub, qstat etc., if - available. - - If you do not have access to LSF or TORQUE you can submit to - your local workstation using the LOCAL option and to homemade - cluster of workstations using the RSH option. All of the queue - systems can be further configured, see separate sections. - - *Example:* - - :: - - -- Tell ert to use the LSF cluster. - QUEUE_SYSTEM LSF - - The QUEUE_SYSTEM keyword is optional, and usually defaults to - LSF (this is site dependent). - -Configuring LSF access ----------------------- -.. _configuring_lsf_access: - -The LSF system is the most useful of the queue alternatives, and also -the alternative with most options. The most important options are -related to how ert should submit jobs to the LSF system. Essentially -there are two methods ert can use when submitting jobs to the LSF -system: - -#. For workstations which have direct access to LSF ert can submit - directly with no further configuration. This is preferred solution, - but unfortunately not very common. -#. Alternatively ert can issue shell commands to bsub/bjobs/bkill to - submit jobs. These shell commands can be issued on the current - workstation, or alternatively on a remote workstation using ssh. - -The main switch between alternatives 1 and 2 above is the LSF_SERVER -option. - -.. _lsf_server: -.. topic:: LSF_SERVER - - By using the LSF_SERVER option you essentially tell ert two - things about how jobs should be submitted to LSF: - - #. You tell ert that jobs should be submitted using shell - commands. - #. You tell ert which server should be used when submitting - - So when your configuration file has the setting: - - :: - - LSF_SERVER be-grid01 - - ert will use ssh to submit your jobs using shell commands on - the server be-grid01. For this to work you must have - passwordless ssh to the server be-grid01. If you give the - special server name LOCAL ert will submit using shell commands - on the current workstation. - - **bsub/bjobs/bkill options** - - By default ert will use the shell commands bsub,bjobs and - bkill to interact with the queue system, i.e. whatever - binaries are first in your PATH will be used. For fine grained - control of the shell based submission you can tell ert which - programs to use: - - :: - - QUEUE_OPTION LSF BJOBS_CMD /path/to/my/bjobs - QUEUE_OPTION LSF BSUB_CMD /path/to/my/bsub - - *Example 1* - - :: - - LSF_SERVER be-grid01 - QUEUE_OPTION LSF BJOBS_CMD /path/to/my/bjobs - QUEUE_OPTION LSF BSUB_CMD /path/to/my/bsub - - In this example we tell ert to submit jobs from the - workstation be-grid01 using custom binaries for bsub and - bjobs. - - *Example 2* - - :: - - LSF_SERVER LOCAL - - In this example we will submit on the current workstation, - without using ssh first, and we will use the default bsub and - bjobs executables. The remaining LSF options apply - irrespective of which method has been used to submit the jobs. - - -.. _lsf_queue: -.. topic:: LSF_QUEUE - - The name of the LSF queue you are running ECLIPSE simulations in. - - -.. _max_running_lsf: -.. topic:: MAX_RUNNING_LSF - - The keyword MAX_RUNNING_LSF controls the maximum number of - simultaneous jobs submitted to the LSF (Load Sharing Facility) - queue when using the LSF option in QUEUE_SYSTEM. - - *Example:* - - :: - - -- Submit no more than 30 simultaneous jobs - -- to the LSF cluster. - MAX_RUNNING_LSF 30 - - - - -Configuring TORQUE access -------------------------- -.. _configuring_torque_access: - -The TORQUE system is the only available system on some clusters. The -most important options are related to how ert should submit jobs to -the TORQUE system. - -* Currently, the TORQUE option only works when the machine you are - logged into have direct access to the queue system. ert then submit - directly with no further configuration. - -The most basic invocation is in other words: - -:: - - QUEUE_SYSTEM TORQUE - -**qsub/qstat/qdel options** - -By default ert will use the shell commands qsub,qstat and qdel to -interact with the queue system, i.e. whatever binaries are first in -your PATH will be used. For fine grained control of the shell based -submission you can tell ert which programs to use: - -:: - - QUEUE_SYSTEM TORQUE - QUEUE_OPTION TORQUE QSUB_CMD /path/to/my/qsub - QUEUE_OPTION TORQUE QSTAT_CMD /path/to/my/qstat - QUEUE_OPTION TORQUE QDEL_CMD /path/to/my/qdel - -In this example we tell ert to submit jobs using custom binaries for -bsub and bjobs. - -**Name of queue** - -The name of the TORQUE queue you are running ECLIPSE simulations in. - -:: - - QUEUE_OPTION TORQUE QUEUE name_of_queue - -**Name of cluster (label)** - -The name of the TORQUE cluster you are running ECLIPSE simulations -in. This might be a label (serveral clusters), or a single one, as in -this example baloo. - -:: - - QUEUE_OPTION TORQUE CLUSTER_LABEL baloo - -**Max running jobs** - -The queue option MAX_RUNNING controls the maximum number of -simultaneous jobs submitted to the queue when using (in this case) the -TORQUE option in QUEUE_SYSTEM. - -:: - - QUEUE_SYSTEM TORQUE - -- Submit no more than 30 simultaneous jobs - -- to the TORQUE cluster. - QUEUE_OPTION TORQUE MAX_RUNNING 30 - -**Queue options controlling number of nodes and CPUs** - -When using TORQUE, you must specify how many nodes a single job is -should to use, and how many CPUs per node. The default setup in ert -will use one node and one CPU. These options are called NUM_NODES and -NUM_CPUS_PER_NODE. - -If the numbers specified is higher than supported by the cluster -(i.e. use 32 CPUs, but no node has more than 16), the job will not -start. - -If you wish to increase these number, the program running (typically -ECLIPSE) will usually also have to be told to correspondingly use more -processing units (keyword PARALLEL) - -:: - - QUEUE_SYSTEM TORQUE - -- Use more nodes and CPUs - -- in the TORQUE cluster per job submitted - -- This should (in theory) allow for 24 processing - -- units to be used by eg. ECLIPSE - QUEUE_OPTION TORQUE NUM_NODES 3 - QUEUE_OPTION TORQUE NUM_CPUS_PER_NODE 8 - -**Keep output from qsub** - -Sometimes the error messages from qsub can be useful, if something is -seriously wrong with the environment or setup. To keep this output -(stored in your home folder), use this: - -:: - - QUEUE_OPTION TORQUE KEEP_QSUB_OUTPUT 1 - - -** Slow submit to torque ** - -To be more gentle with the torqueue system you can instruct the driver -to sleep for every submit request. The argument to the SUBMIT_SLEEP is -the number of seconds to sleep for every submit, can be a fraction -like 0.5. - -:: - - QUEUE_OPTION TORQUE SUBMIT_SLEEP 0.25 - - -** Torque debug log ** - -You can ask the torqueu driver to store a debug log of the jobs -submitted, and the resulting job id. This is done with the queue -option DEBUG_OUTPUT: - -:: - - QUEUE_OPTION TORQUE DEBUG_OUTPUT torque_log.txt - - - -Configuring the LOCAL queue ---------------------------- -.. _configuring_the_local_queue: - - -.. _max_running_local: -.. topic:: MAX_RUNNING_LOCAL - - The keyword MAX_RUNNING_LOCAL controls the maximum number of simultaneous jobs running when using the LOCAL option in QUEUE_SYSTEM. It is strongly recommended to not let MAX_RUNNING_LOCAL exceed the number of processors on the workstation used. - - *Example:* - - :: - - -- No more than 3 simultaneous jobs - MAX_RUNNING_LOCAL 3 - - -Configuring the RSH queue -------------------------- -.. _configuring_the_rsh_queue: - -.. _rsh_host: -.. topic:: RSH_HOST - - You can run the forward model in enkf on workstations using remote-shell commands. To use the RSH queue system you must first set a list of computers which enkf can use for running jobs: - - :: - - RSH_HOST computer1:2 computer2:2 large_computer:8 - - Here you tell enkf that you can run on three different computers: computer1, computer2 and large_computer. The two first computers can accept two jobs from enkf, and the last can take eight jobs. Observe the following when using RSH: - - You must have passwordless login to the computers listed in RSH_HOST otherwise it will fail hard. enkf will not consider total load on the various computers; if have said it can take two jobs, it will get two jobs, irrespective of the existing load. - -.. _rsh_command: -.. topic:: RSH_COMMAND - - This is the name of the executable used to invoke remote shell operations. Will typically be either rsh or ssh. The command given to RSH_COMMAND must either be in PATH or an absolute path. - - :: - - MAX_RUNNING_RSH - - The keyword MAX_RUNNING_RSH controls the maximum number of simultaneous jobs running when using the RSH option in QUEUE_SYSTEM. It MAX_RUNNING_RSH exceeds the total capacity defined in RSH_HOST, it will automatically be truncated to that capacity. - - *Example:* - - :: - - -- No more than 10 simultaneous jobs - -- running via RSH. - MAX_RUNNING_RSH 10 - - - -Keywords related to plotting ----------------------------- -.. _keywords_related_to_plotting: - - -.. _image_viewer: -.. topic:: IMAGE_VIEWER - - The enkf application has some limited plotting capabilities. The plotting is based on creating a graphics file (currently a png file) and then viewing that file with an external application. The current default image viewer is a program called /usr/bin/display, but you can set IMAGE_VIEWER to point to another binary if that is desired. In particular it can be interesting to set as - - :: - - IMAGE_VIEWER /d/proj/bg/enkf/bin/noplot.sh - - then the plot files will be created, but they will not be flashing in your face (which can be a bit annoying). - - -.. _image_type: -.. topic:: IMAGE_TYPE - - This switch control the type of the plot figures/images created by the PLPLOT plot driver. It is by default set to png which works fine, but you can probably(??) use other popular graphics formats like gif and jpg as well. - - -.. _plot_driver: -.. topic:: PLOT_DRIVER - - This is the name of the sub system used for creating plots. The default system is called 'PLPLOT' - all the other options regarding plotting are sub options which are only relevant when you are using PLPLOT. In addition to PLPLOT you can chose the value 'TEXT'; this will actually not produce any plots, just textfiles which can be used for plotting with your favorite plotting program. This is particularly relevant if you have some special requirements to the plots. - - -.. _plot_errorbar: -.. topic:: PLOT_ERRORBAR - - Should errorbars on the observations be plotted? - - -.. _plot_errorbar_max: -.. topic:: PLOT_ERRORBAR_MAX - - When plotting summary vectors for which observations have been 'installed' with the OBS_CONFIG keyword, ert will plot the observed values. If you have less than PLOT_ERRORBAR_MAX observations ert will use errorbars to show the observed values, otherwise it will use two dashed lines indicating +/- one standard deviation. This option is only meaningful when PLOT_PLOT_ERRORBAR is activated. - - To ensure that you always get errorbars you can set PLOT_ERRORBAR_MAX to a very large value, on the other hand setting PLOT_ERRORBAR_MAX to 0 will ensure that ert always plots observation uncertainty using dashed lines of +/- one standard deviation. - - The setting here will also affect the output when you are using the TEXT driver to plot. - - -.. _plot_height: -.. topic:: PLOT_HEIGHT - - When the PLPLOT driver creates a plot file, it will have the height (in pixels) given by the PLOT_HEIGHT keyword. The default value for PLOT_HEIGHT is 768 pixels. - - -.. _plot_refcase: -.. topic:: PLOT_REFCASE - - Boolean variable which is TRUE if you want to add the refcases to the plots. - - *Example:* - - :: - - PLOT_REFCASE TRUE - - - -.. refcase_list: -.. topic:: REFCASE_LIST - - Provide one or more Eclipse .DATA files for a refcase to be added in the plots. This refcase will be plotted in different colours. The summary files related to the refcase should be in the same folder as the refcase. - - *Example:* - - :: - - REFCASE_LIST /path/to/refcase1/file1.DATA /path/to/refcase2/file2.DATA - - - -.. _plot_path: -.. topic:: PLOT_PATH - - The plotting engine creates 'files' with plots, they are stored in a directory. You can tell what that directory should be. Observe that the current 'casename' will automatically be appended to the plot path. - - -.. plot_width: -.. topic:: PLOT_WIDTH - - When the PLPLOT driver creates a plot file, it will have the width (in pixels) given by the PLOT_WIDTH keyword. The default value for PLOT_WIDTH is 1024 pixels. To create plots of half the size you use: - - :: - - PLOT_HEIGHT 384 - PLOT_WIDTH 512 - - - -.. _rft_config: -.. topic:: RFT_CONFIG - - RFT_CONFIGS argument is a file with the name of the rfts followed by date (day month year) Ex. - - :: - - RFT_CONFIG ../models/wells/rft/WELLNAME_AND_RFT_TIME.txt - - Where the contents of the file is something like - - :: - - be-linapp16(inmyr) -/models/wells/rft 34> more WELLNAME_AND_RFT_TIME.txt - A-1HP 06 05 1993 - A-9HW 31 07 1993 - C-1HP 11 12 2007 - C-5HP 21 12 1999 - C-6HR 09 11 1999 - D-4HP 10 07 2003 - K-3HW 09 02 2003 - K-6HW 08 11 2002 - K-7HW 21 04 2005 - D-6HP 22 04 2006 - - - -.. _rftpath: -.. topic:: RFTPATH - - - RFTPATHs argument is the path to where the rft-files are located - - :: - - RFTPATH ../models/wells/rft/ - - - -Workflows ---------- -.. _workflows: - -The Forward Model in ERT runs in the context of a single realization, i.e. there is no communication between the different processes, and collective gather operations must be performed by the ERT core program after the forward model has completed. As an alternative to the forward model ERT has a system with workflows. Using workflows you can automate cumbersome normal ERT processes, and also invoke external programs. The workflows are run serially on the workstation actually running ERT, and should not be used for computationally heavy tasks. - -Configuring workflows in ERT consists of two steps: installing the jobs which should be available for ERT to use in workflows, and then subsequently assemble one or more jobs, with arguments, in a workflow. - - -**Workflow jobs** - -The workflow jobs are quite similar to the jobs in the forward model, in particular the jobs are described by a configuration file which resembles the one used by the forward model jobs. The workflow jobs can be of two fundamentally different types: - -**INTERNAL** - These jobs invoke a function in the address space of the ERT program itself. The functions are called with the main enkf_main instance as a self argument, and can in principle do anything that ERT can do itself. ERT functions which should be possible to invoke like this must be 'marked as exportable' in the ERT code, but that is a small job. The internal jobs have the following sections in their config file: - - :: - - INTERNAL TRUE -- The job will call an internal function of the current running ERT instance. - FUNCTION enkf_main_plot_all -- Name of the ERT function we are calling; must be marked exportable. - MODULE /name/of/shared/library -- Very optional - to load an extra shared library. - -**EXTERNAL** - These jobs invoke an external program/script to do the job, this is very similar to the jobs of the forward model. Context must be passed between the main ERT process and the script through the use of string substitution, in particular the 'magic' key has been introduced for this purpose. - - :: - - INTERNAL FALSE -- This is the default - not necessary to include. - EXECUTABLE /path/to/a/program -- Path to a program/script which will be invoked by the job. - -In addition to the INTERNAL, FUNCTION, MODULE and EXECUTABLE keys which are used to configure what the job should do there are some keys which can be used to configure the number of arguments and their type. These arguments apply to both internal and external jobs: - -:: - - MIN_ARG 2 -- The job should have at least 2 arguments. - MAX_ARG 3 -- The job should have maximum 3 arguments. - ARG_TYPE 0 INT -- The first argument should be an integer - ARG_TYPE 1 FLOAT -- The second argument should be a float value - ARG_TYPE 2 STRING -- The third argument should be a string - the default. - -The MIN_ARG,MAX_ARG and ARG_TYPE arguments are used to validate workflows. - - -**Example 1 : Plot variables** - -:: - - -- FILE: PLOT -- - INTERNAL TRUE - FUNCTION ert_tui_plot_JOB - MIN_ARG 1 - -This job will use the ERT internal function ert_tui_plot_JOB to plot an ensemble of an arbitrary ERT variable. The job needs at least one argument; there is no upper limit on the number of arguments. - - -**Example 2 : Run external script** - -:: - - -- FILE: ECL_HIST -- - EXECUTABLE Script/ecl_hist.py - MIN_ARG 3 - -This job will invoke the external script Script/ecl_host.py; the script should have at least three commandline arguments. The path to the script, Script/ecl_hist.py is interpreted relative to the location of the configuration file. - - -**Loading workflow jobs into ERT** - -Before the jobs can be used in workflows they must be 'loaded' into ERT. This is done with two different ERT keywords: - -:: - - LOAD_WORKFLOW_JOB jobConfigFile JobName - -The LOAD_WORKFLOW_JOB keyword will load one workflow. The name of the job is optional, if not provided the job will get name from the configuration file. Alternatively you can use the command WORKFLOW_JOB_DIRECTORY which will load all the jobs in a directory. The command: - -:: - - WORKFLOW_JOB_DIRECTORY /path/to/jobs - -will load all the workflow jobs in the /path/to/jobs directory. Observe that all the files in the /path/to/jobs directory should be job configuration files. The jobs loaded in this way will all get the name of the file as the name of the job. - - -**Complete Workflows** - -A workflow is a list of calls to jobs, with additional arguments. The job name should be the first element on each line. Based on the two jobs PLOT and ECL_HIST we can create a small workflow example: - -:: - - PLOT WWCT:OP_1 WWCT:OP_3 PRESSURE:10,10,10 - PLOT FGPT FOPT - ECL_HIST //wwct_hist WWCT:OP_1 WWCT:OP_2 - -In this workflow we create plots of the nodes WWCT:OP_1;WWCT:OP_3,PRESSURE:10,10,10,FGPT and FOPT. The plot job we have created in this example is completely general, if we limited ourselves to ECLIPSE summary variables we could get wildcard support. Then we invoke the ECL_HIST example job to create a histogram. See below for documentation of , and . - - -**Loading workflows** - -Workflows are loaded with the configuration option LOAD_WORKFLOW: - -:: - - LOAD_WORKFLOW /path/to/workflow/WFLOW1 - LOAD_WORKFLOW /path/to/workflow/workflow2 WFLOW2 - -The LOAD_WORKFLOW takes the path to a workflow file as the first argument. By default the workflow will be labeled with the filename internally in ERT, but optionally you can supply a second extra argument which will be used as name for the workflow. Alternatively you can load a workflow interactively. - -**Running workflows** - -Go to workflow menu and type run. - -**Locating the realisations: ** - -Many of the external workflow jobs involve looping over all the realisations in a construction like this: - -:: - - for each realisation: - // Do something for realisation - summarize() - -When running an external job in a workflow there is no direct transfer of information between the main ERT process and the external script. We therefor must have a convention for transfering the information of which realisations we have simulated on, and where they are located in the filesystem. This is done through a file which looks like this: - -:: - - 0 /path/to/real0 CASE_0000 - 1 /path/to/real1 CASE_0001 - ... - 9 /path/to/real9 CASE_0009 - -The name and location of this file is available as the magical string and that is typically used as the first argument to external workflow jobs which should iterate over all realisations. The realisations referred to in the are meant to be last simulations you have run; the file is updated every time you run simulations. This implies that it is (currently) not so convenient to alter which directories should be used when running a workflow. - - - -QC keywords ------------ -.. _qc_keywords: - -The QC system is mainly based on workflows. - -.. _qc_workflow: -.. topic:: QC_WORKFLOW - - Name of an existing workflow to do QC work. Will be invoked automatically when a ensemble simulation has been completed, can alternatively be invoked from the QC menu. - - -.. _qc_path: -.. topic:: QC_PATH - - No information on this keyword yet - - -Creating reports ----------------- -.. _creating_reports: - -ERT has a limited capability to create pdf reports based on a LaTeX template and the plots you have created. The process for creating reports works like this: - -#. You select a report template using the REPORT_LIST keyword. -#. ERT will insantiate a LaTeX report file by using your template, and performing some substitutions. The LaTeX report will be stored in a temporary directory /tmp/latex-XXXXXX. -#. pdflatex is used to compile the latex file into a pdf file - -**Format of the template file** - -The template file should mostly be ordinary LaTeX, but when instantiating ERT will search and replace some strings. The most important are: - -**$PLOT_CASE** - This will be replaced with the name of the current case, and that is used to locate the active figures. -**$WELL_LIST** - This will be expanded to a list of well names, REPORT_WELL_LIST below. -**$GROUP_LIST** - This will be expanded to a list of group names, REPORT_GROUP_LIST below. -**$CONFIG_FILE** - The full path of the config file currently in use. -**$USER** - The username of the current user. - -**Template loops** - -The template can have a very simple for loop construction. The syntax of the for loop is as follows: - -:: - - {% for x in [a,b,c,d] %} - %% Do something with x - {% endfor %} - -The whole concept is based on regular expressions and is quite picky on the format. Observe the following: - -#. CaSe MAttErs - i.e. {% For ... %} with a capital 'F' will not work. -#. The loop variable must start with $ or a letter, followed by an arbitrary number of letters and numbers. I.e. $well, x and ab21 are all valid variable names, whereas 5b, __internal and #var are examples of invalid variable names. -#. The behaviour of the matching in the body depends on whether the variable starts with '$' or not: - #. If the variable starts with '$' embedded substrings will be matched - i.e. WWCT$well will be expanded to e.g. WWCTOP-1. - #. If the variable starts with an alphabet character substrings will not be replaced - i.e. the well in wellname will not be touched. -#. All the spaces (underlined here) in {% for x in [a,b,c,d] %} and {% endfor %} must be present; you can have more spaces if you like. -#. A missing {% endfor %} will be detected with a warning; all other errors will go undected, producing something different from what you wanted, it will probably not even compile. - - -**Problems** - -When LaTeX compiling you will get a prompt like this on the screen: - -:: - - Creating report Reports// [Work-path:/tmp/latex-XXXXXX] ...... - -This means that ERT has created the directory /tmp/latex-XXXXXX and populated that with the file which is compiled. If there are LaTeX problems of some kind you must go to this directory to check out what is wrong, and then fix the source template. When the compilation is finished ERT will print: - -:: - - Creating report Reports// [Work-path:/tmp/latex-XXXXXX] ...... OK?? - -As indicated by the OK?? it is quite difficult for ERT to assert that the compilation has been successfull, so the pdf file must be opened with e.g. acroread to be certain. - - -.. _report_context: -.. topic:: REPORT_CONTEXT - - With the report context word you can define key,value pairs which will be used in a search-and-replace operation in the template. - - *Example:* - - :: - - REPORT_CONTEXT $FIELD Snorre - REPORT_CONTEXT $MODEL "DG-X sensitivity studies" - - Here every occurence of $FIELD will be replaced with 'Snorre' and every occurence of $MODEL will be replaced with 'DG-X sensitivity studies'. Observe that the config parser expects that the REPORT_CONTEXT keyword gets two space separated arguments, so quoting with "" is necessary when the value consists of several words. The use of a '$' prefix on the keys above is just a suggestion, and not a rule. - - -.. _report_list: -.. topic:: REPORT_LIST - - This should be a list of LaTeX templates which you want to use for creating reports. The arguments in this list should either be the path to an existing file, or alternatively the name of a file which can be found in REPORT_SEARCH_PATH. The search order will be to first look directly in the filesystem, and then subsequently go through the paths listed in REPORT_SEARCH_PATH - - The filename can optionally be followed by a :Name, in that case the created report will be renamed Name.pdf irrespective of the name of the template file. - - *Example:* - - :: - - REPORT_SEARCH_PATH /common/report/path - REPORT_LIST templates/report.tex /some/absolute/path/report.tex:Report2 well_report.tex:snorre_wells.tex - - In the example we specify templates for three different reports: - - #. In the relative path templates/report.tex - #. In the absolute path /some/absolute/path/report.tex - #. Assuming there is no file well_report.tex in your current directory ERT will look in the paths specified by REPORT_SEARCH_PATH. - - Observe the two latter reports will be renamed Report2.pdf and snorre_wells.pdf respectively. - - -.. _report_path: -.. topic:: REPORT_PATH - - The REPORT_PATH keyword is used to tell ERT where you want to store the finished pdf reports. A subdirectory with the current case name will be appended to this path: - - :: - - REPORT_LIST templates/well_report.tex templates/field_report.tex - REPORT_PATH Reports - - Assuming the selected case is called prior you will get the reports Reports/prior/well_report.pdf and Reports/prior/field_report.tex. - - -.. _report_search_path: -.. topic:: REPORT_SEARCH_PATH - - It is possible to install LaTeX templates for reports in a common location, the REPORT_LIST keyword will then search for the templates in these locations. You can use the REPORT_SEARCH_PATH keyword in your config file, but the most relevant use is in the global site configuration file. - - :: - - REPORT_SEARCH_PATH /common/path/well_reports /common/path/group_reports - REPORT_SEARCH_PATH /common/path/field_reports - - -.. _report_well_list: -.. topic:: REPORT_WELL_LIST - - By using the {% for x in [] %} construction in the templates it is possible to have report templates which loop over a list of wells. Unfortunately it is not very interesting to loop over all wells, because ECLIPSE has a limited amount of meta information about the wells, which means that injectors and producers will be treated equally. By using the REPORT_WELL_LIST keyword you can specify which wells you wish to include in the report, these well names will then be assembled into a list which will go into the $WELL_LIST keyword in the report template. - - :: - - REPORT_WELL_LIST C* E1-H -- Must have supplied a REFCASE for the '*' to work properly - REPORT_WELL_LIST OP* - - These well names are then assembled into a list and replace the symbol $WELL_LIST when creating the report. For this to work the report template should contain a section like: - - :: - - {% for $well in $WELL_LIST %} - % Do something with $well - {% endfor %} - - -.. _report_group_list: -.. topic:: REPORT_GROUP_LIST - - This is just like the REPORT_WELL_LIST keyword, but for groups. - - -Manipulating the Unix environment ---------------------------------- -.. _manipulating_the_unix_environment: - -The two keywords SETENV and UPDATE_PATH can be used to manipulate the Unix environment of the ERT process, tha manipulations only apply to the running ERT instance, and are not applied to the shell. - - -.. _setenv: -.. topic:: SETENV - - You can use the SETENV keyword to alter the unix environment enkf is running in. This is probably most relevant for setting up the environment for the external jobs invoked by enkf. - - *Example:* - - :: - - -- Setting up LSF - SETENV LSF_BINDIR /prog/LSF/7.0/linux2.6-glibc2.3-x86_64/bin - SETENV LSF_LIBDIR /prog/LSF/7.0/linux2.6-glibc2.3-x86_64/lib - SETENV LSF_UIDDIR /prog/LSF/7.0/linux2.6-glibc2.3-x86_64/lib/uid - SETENV LSF_SERVERDIR /prog/LSF/7.0/linux2.6-glibc2.3-x86_64/etc - SETENV LSF_ENVDIR /prog/LSF/conf - - Observe that the SETENV command is not as powerful as the corresponding shell utility. In particular you can not use $VAR to refer to the existing value of an environment variable. To add elements to the PATH variable it is easier to use the UPDATE_PATH keyword. - - -.. _update_path: -.. topic:: UPDATE_PATH - - The UPDATE_PATH keyword will prepend a new element to an existing PATH variable. I.e. the config - - :: - - UPDATE_PATH PATH /some/funky/path/bin - - will be equivalent to the shell command: - - :: - - setenv PATH /some/funky/path/bin:$PATH - - The whole thing is just a workaround because we can not use $PATH. diff --git a/ThirdParty/Ert/devel/docs/user/localization/index.rst b/ThirdParty/Ert/devel/docs/user/localization/index.rst deleted file mode 100644 index 2095e12856..0000000000 --- a/ThirdParty/Ert/devel/docs/user/localization/index.rst +++ /dev/null @@ -1,917 +0,0 @@ - -Keywords for the local configuration file -========================================= - - - -General overview ----------------- - -To create a configuration for localization you must "program" your own -configuration file, this file is then loaded from the ert/enkf proper -application. The 'commands' available in the local_config programming -language are listed below. - -An alterative way to 'program' the local config commands is by writing a Python script, and invoking it from a workflow. -Not all the commands available from the local config programming are supported for Python scripting. - - -**Local config ERT script example:** - -:: - - from ert.enkf import ErtScript - from ert.enkf import LocalConfig - - class LocalConfigJob(ErtScript): - - - def run(self): - - ert = self.ert() - local_config = ert.getLocalConfig() - - # Add your local config commands here - dataset_multflt = local_config.createDataset("DATASET_MULTFLT") - ... - - # Write to file for debugging - local_config.writeLocalConfigFile("tmp/debug_local_config.txt") - - - -List of keywords ----------------- -=========================================================================================== =========================================================== ============================================================================================================================================== -Keyword name ERT script function Purpose -=========================================================================================== =========================================================== ============================================================================================================================================== -:ref:`CREATE_MINISTEP ` createMinistep Creates ministep -:ref:`CREATE_UPDATESTEP ` createUpdatestep Creates updatestep -:ref:`CREATE_DATASET ` createDataset Creates dataset -:ref:`COPY_DATASET ` copyDataset Deep copy of dataset -:ref:`CREATE_OBSSET ` createObsdata Creates observation set -:ref:`COPY_OBSSET ` copyObsdata Deep copy of observation set -:ref:`ATTACH_MINISTEP ` attachMinistep Attaches ministep to update step -:ref:`ATTACH_DATASET ` attachDataset Attaches dataset to mini step -:ref:`ATTACH_OBSSET ` attachObsset Attaches observation set to mini step -:ref:`ADD_DATA ` addNode Adds data node to dataset -:ref:`DEL_DATA ` del Deletes observation node from dataset -:ref:`ADD_OBS ` addNodeAndRange Adds observation node to observation set -:ref:`DEL_OBS ` del Deletes observation node from observation set -:ref:`DATASET_DEL_ALL_DATA ` clear Delete all the data keys from a dataset -:ref:`ACTIVE_LIST_ADD_DATA_INDEX ` addActiveIndex Adds data index to the list of active indices -:ref:`ACTIVE_LIST_ADD_OBS_INDEX ` addActiveIndex Adds observation index to the list of active indices -:ref:`ACTIVE_LIST_ADD_MANY_DATA_INDEX ` addActiveIndex Adds several data indices to the list of active indices -:ref:`ACTIVE_LIST_ADD_MANY_OBS_INDEX ` addActiveIndex Adds several observation indinces to the list of active indices -:ref:`INSTALL_DEFAULT_UPDATESTEP ` Installs default update step -:ref:`ADD_FIELD ` addField Adds field node to dataset -:ref:`LOAD_FILE ` EclGrid, EclInitFile, Loads eclipse file in restart format -:ref:`CREATE_ECLREGION ` EclRegion Creates a new region for use when defining active regions for fields -:ref:`ECLREGION_SELECT_ALL ` select_active Selects or deselects cells in a region -:ref:`ECLREGION_SELECT_VALUE_EQUAL ` select_equal Selects or deselects cells in a region equal to given value -:ref:`ECLREGION_SELECT_VALUE_LESS ` select_less Selects or deselects cells in a region equal less than a given value -:ref:`ECLREGION_SELECT_VALUE_MORE ` select_more Selects or deselects cells in a region equal greater than a given value -:ref:`ECLREGION_SELECT_BOX ` select_box Selects or deselects cells in a box -:ref:`ECLREGION_SELECT_SLICE ` select_islice, select_jslice, select_kslice Selects or deselects cells in a slice -:ref:`ECLREGION_SELECT_PLANE ` select_below_plane Selects or deselects cells in a half space defined by a plane -:ref:`ECLREGION_SELECT_IN_POLYGON ` select_inside_polygon Selects or deselects cells in region inside polygon -:ref:`CREATE_POLYGON ` :ref:`Example ` Creates a geo-polygon based on coordinate list -:ref:`LOAD_POLYGON ` :ref:`Example ` Loads polygon in Irap RMS format from file -:ref:`LOAD_SURFACE ` Loads surface in Irap RMS format from file -:ref:`CREATE_SURFACE_REGION ` Creates region to select or deselect parts of a surface -:ref:`SURFACE_REGION_SELECT_IN_POLYGON ` Creates region to select or deselect parts of a surface -:ref:`SURFACE_REGION_SELECT_LINE ` Selects or deselects parts of a surface in half space define by a line -:ref:`ADD_DATA_SURFACE ` Adds surface node to dataset with elements in a surface region -=========================================================================================== =========================================================== ============================================================================================================================================== - -.. ########################################################################################################### - -.. _create_updatestep: -.. topic:: CREATE_UPDATESTEP - - | This function will create a new updatestep with the name 'NAME_OF_UPDATESTEP'. Observe that you must add (at least) one ministep to the updatestep, otherwise it will not be able to do anything. - - - *Example:* - - :: - - -- Update step in time interval 0->1 - CREATE_UPDATESTEP UPDATESTEP_0_1 - - - *Example:* - - :: - - update_step_0_1 = local_config.createUpdatestep("UPDATESTEP_0_1") - - -.. ########################################################################################################### - - -.. _create_ministep: -.. topic:: CREATE_MINISTEP - - | This function will create a new ministep with the name 'NAME_OF_MINISTEP'. A given OBSSET can be attached to a given ministep.The ministep is then ready for adding data. Before the ministep can be used you must attach it to an updatestep with the ATTACH_MINISTEP command - - *Example:* - - :: - - -- Mini step 0 in update step 0->1 - CREATE_MINISTEP MINISTEP_0_1_0 - - *Example:* - - :: - - ministep_0_1_0 = local_config.createMinistep("MINISTEP_0_1_0") - - - -.. ########################################################################################################### - -.. _create_dataset: -.. topic:: CREATE_DATASET - - | This function will create a new dataset, i.e. a collection of enkf_nodes which should be updated together. Before you can actually use a dataset you must attach it to a ministep with the ATTACH_DATASET command. - - *Example:* - - :: - - -- Create a DATASET_MULTFLT dataset - CREATE_DATASET DATASET_MULTFLT - - *Example:* - - :: - - dataset_multflt = local_config.createDataset("DATASET_MULTFLT") - -.. ########################################################################################################### - -.. _copy_dataset: -.. topic:: COPY_DATASET - - | Will create a new local_obsset instance which is a copy of the 'SRC_OBSSET'; this is a deep copy where also the lowest level active_list instances are copied, and can then subsequently be updated independently of each other. - - - *Example:* - - :: - - -- Deep copy DATASET_MULTFLT dataset - COPY_DATASET DATASET_MULTFLT COPY_DATASET_MULTFLT - -.. ########################################################################################################### - -.. _create_obsset: -.. topic:: CREATE_OBSSET - - | This function will create an observation set, i.e. a collection of observation keys which will be used as the observations in one ministep. Before the obsset can be used it must be attached to a ministep with the ATTACH_OBSSET command. - - - *Example:* - - :: - - -- Create a OBS_WELL obsset - CREATE_OBSSET OBS_WELL - - *Example:* - - :: - - obsset_obs_well = local_config.createObsdata("OBS_WELL") - - -.. ########################################################################################################### - -.. _copy_obsset: -.. topic:: COPY_OBSSET - - | Will create a new local_obsset instance which is a copy of the 'SRC_OBSSET'; this is a deep copy where also the lowest level active_list instances are copied, and can then subsequently be updated independently of each other. - - - *Example:* - - :: - - -- Deep copy OBS_WELL observation set - COPY_OBSSET OBS_WELL COPY_OBS_WELL - -.. ########################################################################################################### - -.. _attach_ministep: -.. topic:: ATTACH_MINISTEP - - | This function will attach the ministep 'NAME_OF_MINISTEP' to the updatestep 'NAME_OF_UPDATESTEP'; one ministep can be attached to many updatesteps. - - *Example:* - - :: - - -- Attach MINISTEP_0_1_0 to UPDATESTEP_0_1 - ATTACH_MINISTEP UPDATESTEP_0_1 MINISTEP_0_1_0 - - *Example:* - - :: - - update_step_0_1.attachMinistep(ministep_0_1_0) - - -.. ########################################################################################################### - -.. _attach_dataset: -.. topic:: ATTACH_DATASET - - | Will attach the dataset 'NAME_OF_DATASET' to the ministep given by 'NAME_OF_MINISTEP'. - - *Example:* - - :: - - -- Attach DATASET_MULTFLT to MINISTEP_0_1_0 - ATTACH_MINISTEP MINISTEP_0_1_0 DATASET_MULTFLT - - *Example:* - - :: - - ministep_0_1_0.attachDataset(dataset_multflt) - - -.. ########################################################################################################### - -.. _attach_obsset: -.. topic:: ATTACH_OBSSET - - | Will attach the obsset 'NAME_OF_OBSSET' to the ministep given by 'NAME_OF_MINISTEP'. - - *Example:* - - :: - - -- Attach OBS_WELL to MINISTEP_0_1_0 - ATTACH_MINISTEP MINISTEP_0_1_0 OBS_WELL - - *Example:* - - :: - - ministep_0_1_0.attachObsset(obsset_obs_well) - - -.. ########################################################################################################### - -.. _add_data: -.. topic:: ADD_DATA - - | This function will install 'KEY' as one enkf node which should be updated in this dataset. If you do not manipulate the KEY further with the ACTIVE_LIST_ADD_DATA_INDEX function the KEY will be added as 'ALL_ACTIVE', i.e. all elements will be updated. - - - *Example:* - - :: - - -- Add data node to data set - ADD_DATA DATASET_MULTFLT MULTFLT - - *Example:* - - :: - - dataset_multflt.addNode("MULTFLT") - -.. ########################################################################################################### - -.. _del_data: -.. topic:: DEL_DATA - - | This function will delete the data 'KEY' from the dataset 'NAME_OF_DATASET'. - - - *Example:* - - :: - - -- Delete data node from data set - DEL_DATA DATASET_MULTFLT MULTFLT - - *Example:* - - :: - - del dataset_multflt["MULTFLT"] - - -.. ########################################################################################################### - -.. _add_obs: -.. topic:: ADD_OBS - - | This function will install the observation 'OBS_KEY' as an observation for this obsset - similarly to the ADD_DATA function. - - - *Example:* - - :: - - -- Add data node to observation set - ADD_OBS OBS_WELL WOPR:OBS_WELL - - *Example:* - - :: - - -- The obsset has a time range - obsset_obs_well.addNodeAndRange("WOPR:OBS_WELL", 0, 1) - - -.. ########################################################################################################### - -.. _del_obs: -.. topic:: DEL_OBS - - | This function will delete the obs 'OBS_KEY' from the obsset 'NAME_OF_OBSSET'. - - - *Example:* - - :: - - -- Delete data node from observation set - DEL_OBS OBS_WELL WOPR:OBS_WELL - - *Example:* - - :: - - del obsset_obs_well["WOPR:OBS_WELL"] - - -.. ########################################################################################################### - -.. _dataset_del_all_data: -.. topic:: DATASET_DEL_ALL_DATA - - | This function will delete all the data keys from the dataset 'NAME_OF_DATASET'. - - - *Example:* - - :: - - -- Delete all data nodes from DATASET_MULTFLT - DATASET_DEL_ALL_DATA DATASET_MULTFLT - - *Example:* - - :: - - dataset_multflt.clear() - -.. ########################################################################################################### - -.. _active_list_add_data_index: -.. topic:: ACTIVE_LIST_ADD_DATA_INDEX - - | This function will say that the data with name 'DATA_KEY' in dataset with name 'DATASTEP_NAME' should have the index 'INDEX' active. - - - *Example:* - - :: - - -- Add index 0 from data MULTFLT to dataset DATASET_MULTFLT - ACTIVE_LIST_ADD_DATA_INDEX DATASET_MULTFLT MULTFLT 0 - - *Example:* - - :: - - active_list = dataset_multflt.getActiveList("MULTFLT") - active_list.addActiveIndex(0); - -.. ########################################################################################################### - -.. _active_list_add_obs_index: -.. topic:: ACTIVE_LIST_ADD_OBS_INDEX - - | This function will say that the observation with name 'OBS_KEY' in obsset with name 'OBSSET_NAME' should have the index 'INDEX' active. - - - *Example:* - - :: - - -- Add index 0 from data WOPR:OBS_WELL to obsset OBS_WELL - ACTIVE_LIST_ADD_OBS_INDEX OBS_WELL WOPR:OBS_WELL 0 - - *Example:* - - :: - - active_list = obsset_obs_well.getActiveList("WOPR:OBS_WELL") - active_list.addActiveIndex(0); - -.. ########################################################################################################### - -.. _active_list_add_many_data_index: -.. topic:: ACTIVE_LIST_ADD_MANY_DATA_INDEX - - | This function is similar to ACTIVE_LIST_ADD_DATA_INDEX, but it will add many indices. - - - *Example:* - - :: - - -- Add indices 0, 1 and 2 from data MULTFLT to dataset DATASET_MULTFLT - ACTIVE_LIST_ADD_MANY_DATA_INDEX DATASET_MULTFLT MULTFLT 0 1 2 - - -.. ########################################################################################################### - -.. _active_list_add_many_obs_index: -.. topic:: ACTIVE_LIST_ADD_MANY_OBS_INDEX - - | This function is similar to ACTIVE_LIST_ADD_OBS_INDEX, but it will add many indices. - - - *Example:* - - :: - - -- Add index 0, 1 and 2 from data WOPR:OBS_WELL to obsset OBS_WELL - ACTIVE_LIST_ADD_MANY_OBS_INDEX OBS_WELL WOPR:OBS_WELL 0 1 2 - -.. ########################################################################################################### - - -.. _install_default_updatestep: -.. topic:: INSTALL_DEFAULT_UPDATESTEP - - | This function will install 'NAME_OF_UPDATESTEP' as the default updatestep which applies to all report steps where you have not explicitly set another updatestep with the INSTALL_UPDATESTEP function. - - - - *Example:* - - :: - - -- Install default update step - INSTALL_DEFAULT_UPDATESTEP ALL_ACTIVE - - - -.. ########################################################################################################### - -.. _add_field: -.. topic:: ADD_FIELD - - | This function will install the node with name 'FIELD_NAME' in the dataset 'DATASET_NAME'. It will in addition select all the (currently) active cells in the region 'ECLREGION_NAME' as active for this field/ministep combination. The ADD_FIELD command is actually a shortcut of: ADD_DATA DATASET FIELD_NAME; followed by: ACTIVE_LIST_ADD_MANY_DATA_INDEX - - - - *Example:* - - :: - - -- Add data node PORO to data set DATA_PORO activating indices in ECLREG_PORO - ADD_FIELD DATA_PORO PORO ECLREG_PORO - - *Example:* - - :: - - # Load Eclipse grid - ecl_grid = EclGrid("path/to/LOCAL.GRDECL") - - with open("path/to/LOCAL.GRDECL","r") as fileH: - local_kw = Ecl3DKW.read_grdecl(ecl_grid, fileH, "LOCAL") - - # Define Eclipse region - eclreg_poro = EclRegion(ecl_grid, False) - eclreg_poro.select_more(local_kw, 1) - - # Create dataset and add field to dataset - data_poro = local_config.createDataset("DATA_PORO") - data_poro.addField("PORO", eclreg_poro) - - -.. ########################################################################################################### - -.. _load_file: -.. topic:: LOAD_FILE - - | This function will load an ECLIPSE file in restart format (i.e. restart file or INIT file), the keywords in this file can then subsequently be used in ECLREGION_SELECT_VALUE_XXX commands below. The 'KEY' argument is a string which will be used later when we refer to the content of this file - - - - - *Example:* - - :: - - -- Load Eclipse init file - LOAD_FILE REFINIT path/to/FULLMODEL.INIT - - *Example:* - - :: - - # Load Eclipse grid and init file - ecl_grid = EclGrid("path/to/FULLMODEL.GRDECL") - refinit_file = EclInitFile(grid , "path/to/somefile.init") - -.. ########################################################################################################### - -.. _create_eclregion: -.. topic:: CREATE_ECLREGION - - | This function will create a new region 'ECLREGION_NAME', which can subsequently be used when defining active regions for fields. The second argument, SELECT_ALL, is a boolean value. If this value is set to true the region will start with all cells selected, if set to false the region will start with no cells selected. - - - *Example:* - - :: - - -- New Eclipse region with all cells inactive - CREATE_ECLREGION ECL_REGION FALSE - - *Example:* - - :: - - # Define Eclipse region - eclreg_poro = EclRegion(ecl_grid, False) - -.. ########################################################################################################### - -.. _eclregion_select_all: -.. topic:: ECLREGION_SELECT_ALL - - | Will select all the cells in the region (or deselect if SELECT == FALSE). - - - - - - *Example:* - - :: - - -- Select cells in region - ECLREGION_SELECT_ALL ECL_REGION TRUE - - - *Example:* - - :: - - eclreg_poro.select_active() - - - - -.. ########################################################################################################### - -.. _eclregion_select_value_equal: -.. topic:: ECLREGION_SELECT_VALUE_EQUAL - - | This function will compare an ecl_kw instance loaded from file with a user supplied value, and select (or deselect) all cells which match this value. It is assumed that the ECLIPSE keyword is an INTEGER keyword, for float comparisons use the ECLREGION_SELECT_VALUE_LESS and ECLREGION_SELECT_VALUE_MORE functions. - - - - - - - *Example:* - - :: - - -- Select cells in region ECL_REGION equal to 0 - ECLREGION_SELECT_VALUE_EQUAL ECL_REGION ECL_REGION:LOCAL 0 TRUE - - - *Example:* - - :: - - # Load Eclipse grid - ecl_grid = EclGrid("path/to/LOCAL.GRDECL") - - with open("path/to/LOCAL.GRDECL","r") as fileH: - local_kw = Ecl3DKW.read_grdecl(ecl_grid, fileH, "LOCAL", ecl_type= EclTypeEnum.ECL_INT_TYPE) - - # Define Eclipse region - eclreg_poro = EclRegion(ecl_grid, False) - eclreg_poro.select_equal(local_kw, 1) - print 'GRID LOADED%s' % ecl_grid - print ecl_grid.getDims() - print local_kw.header - - - -.. ########################################################################################################### - -.. _eclregion_select_value_less: -.. topic:: ECLREGION_SELECT_VALUE_LESS - - | This function will compare an ecl_kw instance loaded from disc with a numerical value, and select all cells which have numerical below the limiting value. The ecl_kw value should be a floating point value like e.g. PRESSURE or PORO. The arguments are just as for ECLREGION_SELECT_VALUE_EQUAL. - - - - - - *Example:* - - :: - - -- Select cells in region ECL_REGION less than 1 - ECLREGION_SELECT_VALUE_LESS ECL_REGION ECL_REGION:LOCAL 1 TRUE - - *Example:* - - :: - - eclreg_poro.select_less(local_kw, 1) - - -.. ########################################################################################################### - -.. _eclregion_select_value_more: -.. topic:: ECLREGION_SELECT_VALUE_MORE - - | This function will compare an ecl_kw instance loaded from disc with a numerical value, and select all cells which have numerical above the limiting value. The ecl_kw value should be a floating point value like e.g. PRESSURE or PORO. The arguments are just as for ECLREGION_SELECT_VALUE_EQUAL. - - - - - - *Example:* - - :: - - -- Select cells in region ECL_REGION greater than 0 - ECLREGION_SELECT_VALUE_MORE ECL_REGION ECL_REGION:LOCAL 0 TRUE - - *Example:* - - :: - - eclreg_poro.select_more(local_kw, 1) - -.. ########################################################################################################### - -.. _eclregion_select_box: -.. topic:: ECLREGION_SELECT_BOX - - | This function will select (or deselect) all the cells in the box defined by the six coordinates i1 i2 j1 j2 k1 k2. The coordinates are inclusive, and the counting starts at 1. - - - - - *Example:* - - :: - - -- Select cells in box [0,1] x [2,3] x [4,5] - ECLREGION_SELECT_BOX ECL_REGION 0 1 2 3 4 5 TRUE - - *Example:* - - :: - - eclreg_poro.select_box((0,2,4),(1,3,5)) - - - -.. ########################################################################################################### - -.. _eclregion_select_slice: -.. topic:: ECLREGION_SELECT_SLICE - - | This function will select a slice in the direction given by 'dir', which can 'x', 'y' or 'z'. Depending on the value of 'dir' the numbers n1 and n2 are interpreted as (i1 i2), (j1 j2) or (k1 k2) respectively. The numbers n1 and n2 are inclusice and the counting starts at 1. It is OK to use very high/low values to imply "the rest of the cells" in one direction. - - - - *Example:* - - :: - - -- Select layer from z=2 to z=3 - ECLREGION_SELECT_SLICE ECL_REGION z 2 3 TRUE - - *Example:* - - :: - - eclreg_poro.select_kslice(2,3) - - -.. ########################################################################################################### - -.. _eclregion_select_plane: -.. topic:: ECLREGION_SELECT_PLANE - - | Will select all points which have positive (sign > 0) distance to the plane defined by normal vector n = (nx,ny,nz) and point p = (px,py,pz). If sign < 0 all cells with negative distance to plane will be selected. - - - *Example:* - - :: - - -- Select half space defined by plane perpendicular to vector [1 1 1] - ECLREGION_SELECT_PLANE ECL_REGION 1 1 1 0 0 0 -1 TRUE - - *Example:* - - :: - - eclreg_poro.select_below_plane((1,1,1),(0,0,0)) - - -.. ########################################################################################################### - -.. _eclregion_select_in_polygon: -.. topic:: ECLREGION_SELECT_IN_POLYGON - - | Well select all the points which are inside the polygon with name 'POLYGON_NAME'. The polygon should have been created with command CREATE_POLYGON or loaded with command 'LOAD_POLYGON' first. - - - - - *Example:* - - :: - - -- Select region inside polygon in xy plane - ECLREGION_SELECT_IN_POLYGON POLYGON TRUE - - *Example:* - - :: - - polygon = [(0,0) , (0,1) , (1,0)] - eclreg_poro.select_inside_polygon(polygon) - -.. ########################################################################################################### - -.. _create_polygon: -.. topic:: CREATE_POLYGON - - | Will create a geo_polygon instance based on the coordinate list: (x1,y1), (x2,y2), (x3,y3), ... The polygon should not be explicitly closed - i.e. you should in general have (x1,y1) != (xn,yn). The polygon will be stored under the name 'POLYGON_NAME' - which should later be used when referring to the polygon in region select operations. - - - - *Example:* - - :: - - -- Create polygon in xy plane - CREATE_POLYGON POLYGON 0 0 0 1 1 0 TRUE - - *Example:* - - :: - - polygon = [(0,0) , (0,1) , (1,0)] - -.. ########################################################################################################### - -.. _load_polygon: -.. topic:: LOAD_POLYGON - - | Will load a polygon instance from the file 'FILENAME' - the file should be in irap RMS format. The polygon will be stored under the name 'POLYGON_NAME' which can then later be used to refer to the polygon for e.g. select operations. - - - - - - *Example:* - - :: - - -- Load polygon from RMS file - LOAD_POLYGON path/to/polygon.irap - - *Example:* - - :: - - polygon = [] - with open("polygon.ply","r") as fileH: - for line in fileH.readlines(): - tmp = line.split() - polygon.append( (float(tmp[0]) , float(tmp[1]))) - -.. ########################################################################################################### - -.. _load_surface: -.. topic:: LOAD_SURFACE - - | Will load an irap surface from file 'SURFACE_FILE'. The surface will be stored internally as 'SURFACE_NAME' - this function is mainly needed to have a base surface available for the CREATE_SURFACE_REGION command. - - - - - - - *Example:* - - :: - - -- Load Irap RMS surface from file - LOAD_SURFACE path/to/surface.irap - -.. ########################################################################################################### - -.. _create_surface_region: -.. topic:: CREATE_SURFACE_REGION - - | Will create a new surface region object which can be used to select and deselect parts of a surface. The region will be called 'REGION_NAME' and it will be based on the surface given by 'BASE_SURFACE'. 'PRESELECT' is a boolean 'TRUE' or 'FALSE' which determines whether the region is created with all points selected, or no points selected. - - - - *Example:* - - :: - - -- Create surface region in xy plane - CREATE_SURFACE_REGION SURF_REGION BASE_SURFACE TRUE - -.. ########################################################################################################### - -.. _surface_region_select_in_polygon: -.. topic:: SURFACE_REGION_SELECT_IN_POLYGON - - | Well select all the points which are inside the polygon with name 'POLYGON_NAME'. The polygon should have been created with command CREATE_POLYGON or loaded with command 'LOAD_POLYGON' first. - - - - - - - - *Example:* - - :: - - -- Select surface region inside polygon - SURFACE_REGION_SELECT_IN_POLYGON SURF_REGION TRIANGLE TRUE - - -.. ########################################################################################################### - -.. _surface_region_select_line: -.. topic:: SURFACE_REGION_SELECT_LINE - - | Well select|deselect all the points which are above|below the line: (x1,y1) -> (x2,y2). If SIGN is positive the select will apply to all points with a positive (right hand system) distance to the line; if SIGN is negative the selector will apply to all points with a negative distance to the line. - - - - - - - - - *Example:* - - :: - - -- Select surface region inside a half space defined by a line from [0,0] to [1,1] - SURFACE_REGION_SELECT_LINE SURF_REGION 0 0 1 1 -1 TRUE - -.. ########################################################################################################### - -.. _add_data_surface: -.. topic:: ADD_DATA_SURFACE - - | Will add the node 'SURFACE_NAME' (not one of the loaded surfaces, but an enkf_node object) to the dataset 'DATASET_NAME'. Only the elements in the region 'REGION_NAME' will be added. Typically SURFACE_REGION_SELECT_xxxx has been used first to build a suitable region selection. - - - - - - - - - - *Example:* - - :: - - -- Add EnKF node object to dataset DATA_MULTFLT, with elements in SURF_REGION from BASE_SURFACE - ADD_DATA_SURFACE DATA_MULTFLT BASE_SURFACE SURF_REGION - - - -.. ########################################################################################################### - - - diff --git a/ThirdParty/Ert/devel/docs/user/tutorial/index.rst b/ThirdParty/Ert/devel/docs/user/tutorial/index.rst deleted file mode 100644 index c81644349d..0000000000 --- a/ThirdParty/Ert/devel/docs/user/tutorial/index.rst +++ /dev/null @@ -1,3 +0,0 @@ -ERT Tutorial -============ -Tutorial for ert. diff --git a/ThirdParty/Ert/devel/docs/user/workflows/index.rst b/ThirdParty/Ert/devel/docs/user/workflows/index.rst deleted file mode 100644 index c3368629b0..0000000000 --- a/ThirdParty/Ert/devel/docs/user/workflows/index.rst +++ /dev/null @@ -1,381 +0,0 @@ ----------------------- -Built in workflow jobs ----------------------- -.. _built_in_workflow_jobs: - -ERT comes with a list of default workflow jobs which invoke internal ERT functionality. The internal workflows include: - -Jobs related to case management -------------------------------- - -**SELECT_CASE** - -The job SELECT_CASE can be used to change the currently selected case. The SELECT_CASE job should be used as: - -:: - - SELECT_CASE newCase - -if the case newCase does not exist it will be created. - -**CREATE_CASE** - -The job CREATE_CASE can be used to create a new case without selecting it. The CREATE_CASE job should be used as: - -:: - - CREATE_CASE newCase - - -**INIT_CASE_FROM_EXISTING** - -The job INIT_CASE_FROM_EXISTING can be used to initialize a case from an existing case. The argument to the workflow should be the name of the workflow you are initializing from; so to initialize the current case from the existing case "oldCase": - -:: - - INIT_CASE_FROM_EXISTING oldCase - -By default the job will initialize the 'current case', but optionally you can give the name of a second case which should be initialized. In this example we will initialize "newCase" from "oldCase": - -:: - - INIT_CASE_FROM_EXISTING oldCase newCase - -When giving the name of a second case as target for the initialization job the 'current' case will not be affected. - - -Jobs related to export ----------------------- - -**EXPORT_FIELD** - -The EXPORT_FIELD workflow job exports field data to roff or grdecl format dependent on the extension of the export file argument.The job takes the following arguments: - -#. Field to be exported -#. Filename for export file, must contain %d -#. Report_step -#. State -#. Realization range - -The filename must contain a %d. This will be replaced with the realization number. - -The state parameter is either FORECAST or ANALYZED, BOTH is not supported. - -The realization range parameter is optional. Default is all realizations. - - -Example use of this job in a workflow: - -:: - - EXPORT_FIELD PERMZ path_to_export/filename%d.grdecl 0 FORECAST 0,2 - -**EXPORT_FIELD_RMS_ROFF** - -The EXPORT_FIELD_RMS_ROFF workflow job exports field data to roff format. The job takes the following arguments: - -#. Field to be exported -#. Filename for export file, must contain %d -#. Report_step -#. State -#. Realization range - -The filename must contain a %d. This will be replaced with the realization number. - -The state parameter is either FORECAST or ANALYZED, BOTH is not supported. - -The realization range parameter is optional. Default is all realizations. - - -Example uses of this job in a workflow: - -:: - - EXPORT_FIELD_RMS_ROFF PERMZ path_to_export/filename%d.roff 0 FORECAST - EXPORT_FIELD_RMS_ROFF PERMX path_to_export/filename%d 0 FORECAST 0-5 - - -**EXPORT_FIELD_ECL_GRDECL** - -The EXPORT_FIELD_ECL_GRDECL workflow job exports field data to grdecl format. The job takes the following arguments: - -#. Field to be exported -#. Filename for export file, must contain %d -#. Report_step -#. State -#. Realization range - -The filename must contain a %d. This will be replaced with the realization number. - -The state parameter is either FORECAST or ANALYZED, BOTH is not supported. - -The realization range parameter is optional. Default is all realizations. - - -Example uses of this job in a workflow: - -:: - - EXPORT_FIELD_ECL_GRDECL PERMZ path_to_export/filename%d.grdecl 0 ANALYZED - EXPORT_FIELD_ECL_GRDECL PERMX path_to_export/filename%d 0 ANALYZED 0-5 - - -**EXPORT_RUNPATH** - -The EXPORT_RUNPATH workflow job writes the runpath file RUNPATH_FILE for the selected case. - -The job can have no arguments, or one can set a range of realizations and a range of iterations as arguments. - -Example uses of this job in a workflow: - -:: - - EXPORT_RUNPATH - -With no arguments, entries for all realizations are written to the runpath file. If the runpath supports iterations, entries for all realizations in iter0 are written to the runpath file. - -:: - - EXPORT_RUNPATH 0-5 | * - -A range of realizations and a range of iterations can be given. "|" is used as a delimiter to separate realizations and iterations. "*" can be used to select all realizations or iterations. In the example above, entries for realizations 0-5 for all iterations are written to the runpath file. - - -Jobs related to analysis update -------------------------------- - -**ANALYSIS_UPDATE** - -This job will perform a update based on the current case, it is assumed that you have already completed the necessary simulations. By default the job will use all available data in the conditioning and store the updated parameters as the new initial parameters of the current case. However you can use optional argument to control which case the parameters go to, at which report step they are stored and also which report steps are considered when assembling the data. In the simplest form the ANALYSIS_UPDATE job looks like this: - -:: - - ANALYSIS_UPDATE - -In this case the initial parameters in the current case will be updated; using all available data in the conditioning process. In the example below we redirect the updated parameters to the new case NewCase: - -:: - - ANALYSIS_UPDATE NewCase - -Optionally we can decide to update the parameters at a later stage, i.e. for instance at report step 100: - -:: - - ANALYSIS_UPDATE * 100 - -The '*' above means that we should update parameters in the current case. Finally we can limit the report steps used for data: - -:: - - ANALYSIS_UPDATE NewCaseII 0 10,20,30,40,100,120-200 - -In the last example 10,20,30,40,100,120-200 mean the report steps we are considering when updating. Observe that when we use the first argument to specify a new case the will be created if it does not exist, but not selected. - - -**ANALYSIS_ENKF_UPDATE** - -The ANALYSIS_ENKF_UPDATE job will do an EnKF update at the current report step. The job requires the report step as the first argument: - -:: - - ANALYSIS_ENKF_UPDATE 10 - -by default the ENKF_UPDATE will use the observed data at the updatestep, but you can configure it use the report steps you like for data. In the example below the parameters at step 20 will be updated based on the observations at report step 0,5,10,15,16,17,18,19,20: - -:: - - ANALYSIS_ENKF_UPDATE 20 0,5,10,15-20 - -The ANALYSIS_ENKF_UPDATE job is a special case of the ANALYSIS_UPDATE job, in principle the same can be achieved with the ENKF_UPDATE job. - - -Jobs related to running simulations - including updates -------------------------------------------------------- - -**RUN_SMOOTHER** - -The RUN_SMOOTHER job will run a simulation and perform an update. The updated parameters are default stored as the new initial parameters of the current case. Optionally the job can take 1 or 2 parameters. The case to store the updated parameters in can be specified as the first argument. A second argument can be specified to run a simulation with the updated parameters. - - -Run a simulation and an update. The updated parameters are stored as the new initial parameters of the current case: - -:: - - RUN_SMOOTHER - - -Run a simulation and an update. Store the updated parameters in the specified case. This case is created if it does not exist: - -:: - - RUN_SMOOTHER new_case - - -Run a simulation and an update. Store the updated parameters in the specified case, then run a simulation on this case: - -:: - - RUN_SMOOTHER new_case true - - -Run a simulation and an update. Store the updated parameters in the current case, then run a simulation again. Specify "*" to use the current case: - -:: - - RUN_SMOOTHER * true - - -**RUN_SMOOTHER_WITH_ITER** - -This is exactly like the RUN_SMOOTHER job, but it has an additional first argumeent iter which can be used to control the iter number in the RUNPATH. When using the RUN_SMOOTHER job the iter number will be defaultetd to zero, and one in the optional rerun. - -**ENSEMBLE_RUN** - -The ENSEMBLE_RUN job will run a simulation, no update. The job take as optional arguments a range and/or list of which realizations to run. - -:: - - ENSEMBLE_RUN - -:: - - ENSEMBLE_RUN 1-5, 8 - - -**LOAD_RESULTS** - -The LOAD_RESULTS loads result from simulation(s). The job takes as optional arguments a range and/or list of which realizations to load results from. If no realizations are specified, results for all realizations are loaded. - -:: - - LOAD_RESULTS - -:: - - LOAD_RESULTS 1-5, 8 - -In the case of multi iteration jobs, like e.g. the integrated smoother update, the LOAD_RESULTS job will load the results from iter==0. To control which iteration is loaded from you can use the LOAD_RESULTS_ITER job. - - -**LOAD_RESULTS_ITER** - -The LOAD_RESULTS_ITER job is similar to the LOAD_RESULTS job, but it takes an additional first argument which is the iteration number to load from. This should be used when manually loading results from a multi iteration workflow: - -:: - - LOAD_RESULTS_ITER - -:: - - LOAD_RESULTS_ITER 3 1-3, 8-10 - -Will load the realisations 1,2,3 and 8,9,10 from the fourth iteration (counting starts at zero). - - -**MDA_ES** - -This workflow job (plugin) is used to run the *Multiple Data Assimilation Ensemble Smoother* :code:`MDA ES`. -Only two arguments are required to start the MDA ES process; target case format and iteration weights. -The weights implicitly indicate the number of iterations and the normalized global standard deviation scaling applied to the update step. - -:: - - MDA_ES target_case_%d observations/obs.txt - -This command will use the weights specified in the obs.txt file. This file should have a single floating point number per line. -Alternatively the weights can be given as arguments as shown here. - -:: - - MDA_ES target_case_%d 8,4,2,1 - -This command will use the normalized version of the weights 8,4,2,1 and run for four iterations. -The prior will be in *target_case_0* and the results from the last iteration will be in *target_case_4*. -**Note: the weights must be listed with no spaces and separated with commas.** - -If this is run as a plugin from Ertshell or the GUI a convenient user interface can be shown. - - -Jobs for ranking realizations ------------------------------ - -**OBSERVATION_RANKING** - -The OBSERVATION_RANKING job will rank realizations based on the delta between observed and simulated values for selected variables and time steps. The data for selected variables and time steps are summarized for both observed and simulated values, and then the simulated versus observed delta is used for ranking the realizations in increasing order. The job takes a name for the ranking as the first parameter, then the time steps, a "|" character and then variables to rank on. If no time steps and/or no variables are given, all time steps and variables are taken into account. - - -Rank the realizations on observation/simulation delta value for all WOPR data for time steps 0-20: - -:: - - OBSERVATION_RANKING Ranking1 0-20 | WOPR:* - - -Rank the simulations on observation/simulation delta value for all WOPR and WWCT data for time steps 1 and 10-50 - -:: - - OBSERVATION_RANKING Ranking2 1, 10-50 | WOPR:* WWCT:* - - -Rank the realizations on observation/simulation delta value for WOPR:OP-1 data for all time steps - -:: - - OBSERVATION_RANKING Ranking3 | WOPR:OP-1 - -**DATA_RANKING** - -The DATA_RANKING job will rank realizations in increasing or decreasing order on selected data value for a selected time step. The job takes as parameters the name of the ranking, the data key to rank on, increasing order and selected time steps. If no time step is given, the default is the last timestep. - -Rank the realizations on PORO:1,2,3 on time step 0 in decreasing order - -:: - - DATA_RANKING Dataranking1 PORO:1,2,3 false 0 - - -**EXPORT_RANKING** - -The EXPORT_RANKING job exports ranking results to file. The job takes two parameters; the name of the ranking to export and the file to export to. - -:: - - EXPORT_RANKING Dataranking1 /tmp/dataranking1.txt - - -**INIT_MISFIT_TABLE** - -Calculating the misfit for all observations and all timesteps can potentially be a bit timeconsuming, the results are therefor cached internally. If you need to force the recalculation of this cache you can use the INIT_MISFIT_TABLE job to initialize the misfit table that is used in observation ranking. - -:: - - INIT_MISFIT_TABLE - - -**STD_SCALE_CORRELATED_OBS** - -The workflow job :code:`STD_SCALE_CORRELATED_OBS` is used to scale the -observation standard deviation in an attempt to reduce the effect of -correlations in the observed data. The job expects the observation -keys you want to consider as arguments: - -:: - - STD_SCALE_CORRELATED_OBS WWCT:OP_1 WWCT:OP_2 - -In this example the observation uncertainty corresponding to -:code:`WWCT:OP_1` and :code:`WWCT:OP_2` will be scaled. Observe that -the :code:`STD_SCALE_CORRELATED_OBS` keyword will "flatten" in both -time and spatial direction. Wildcards are allow, i.e. - -:: - - STD_SCALE_CORRELATED_OBS W*:OP_1 - -Will scale based on all the observations of well 'OP_1'. For more -advanced selections of observations, where you only want to scale -based on parts of the observation - spatially or temporaly you must -write your own plugin. - diff --git a/ThirdParty/Ert/devel/install/install.py b/ThirdParty/Ert/devel/install/install.py deleted file mode 100644 index 66548f46f1..0000000000 --- a/ThirdParty/Ert/devel/install/install.py +++ /dev/null @@ -1,202 +0,0 @@ -# Copyright (C) 2011 Statoil ASA, Norway. -# -# The file 'ecl.py' is part of ERT - Ensemble based Reservoir Tool. -# -# ERT is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# ERT is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. -# -# See the GNU General Public License at -# for more details. - -import pwd -import grp -import os -import os.path -import shutil -import re -import stat -import py_compile - -DEFAULT_DIR_MODE = 0755 -DEFAULT_EXE_MODE = 0755 -DEFAULT_REG_MODE = 0644 - -os.umask( 0 ) - - -def msg( verbose , text , arg): - text_width = 20 - if verbose: - pad_text = text + (text_width - len( text)) * "." + ": " - print pad_text + arg - - -def update_mode( path , mode , user , group): - try: - os.chmod( path , mode ) - - if user: # Only applicable for root: - user_info = pwd.getpwnam( user ) - uid = user_info[ 2 ] - os.chown( path , uid , -1 ) - - if group: - group_info = grp.getgrnam( group ) - gid = group_info[ 2 ] - os.chown( path , -1 , gid ) - except: - pass # Probably some missing permissions - - -def include_by_ext( full_path , ext_list): - if not os.path.exists( full_path ): - return False - - mode = os.stat( full_path )[stat.ST_MODE] - (base , ext) = os.path.splitext( full_path ) - if stat.S_ISDIR( mode ): - if ext == ".svn": - return False - else: - return True - else: - if ext in ext_list: - return True - else: - return False - - - -def include_python( full_path ): - return include_by_ext( full_path , [".py"]) - - -def include_html( full_path ): - return include_by_ext( full_path , [".html"]) - -def include_image( full_path ): - return include_by_ext( full_path , [".png" , ".jpg"]) - - -class File: - - def __init__( self , src , create_path = None , target_name = None ): - self.src = src - self.create_path = create_path - self.name = os.path.basename( self.src ) - if target_name: - self.target_name = target_name - else: - self.target_name = self.name - - - # Modes should be a tuple of three elements: (DIR_MODE , REG_MODE , EXE_MODE); - # all modes assume umask( 0 )! - def install( self , src_root , target_root , modes , verbose , user , group): - if self.create_path: - target_path = target_root - for path in self.create_path.split("/"): - target_path += "/%s" % path - if not os.path.exists( target_path ): - os.makedirs( target_path , modes[0] ) - msg(verbose , "Creating directory" , target_path) - update_mode( target_path , modes[0] , user, group) - target_file = "%s/%s/%s" % (target_root , self.create_path , self.target_name) - else: - target_file = "%s/%s" % (target_root , self.target_name) - - if os.path.isabs(self.src): - src_file = self.src - else: - src_file = "%s/%s" % (src_root , self.src) - - msg( verbose , "Copying file" , "%s -> %s" % (src_file , target_file)) - shutil.copyfile( src_file , target_file ) - if os.access( src_file , os.X_OK): - update_mode( target_file , modes[2] , user , group) - else: - update_mode( target_file , modes[1] , user , group ) - (target_base , ext) = os.path.splitext( target_file ) - if ext == ".py": - msg( verbose , "Byte compiling" , target_file) - try: - py_compile.compile( target_file ) - pyc_file = target_base + ".pyc" - update_mode( pyc_file , modes[1] , user , group) - except: - pass # Some permissions missing ... - - - - -class Install: - def __init__( self , src_root , target_root): - self.src_root = src_root - self.target_root = target_root - self.file_list = [] - self.link_list = [] - - - def install(self, modes = (DEFAULT_DIR_MODE , DEFAULT_REG_MODE, DEFAULT_EXE_MODE) , user = None , group = None , verbose = False): - for file in self.file_list: - file.install( self.src_root , self.target_root , modes , verbose , user , group) - - for (src,link) in self.link_list: - full_link = "%s/%s" % ( self.target_root , link ) - if os.path.exists( full_link ): - os.remove( full_link ) - - msg( verbose , "Linking" , "%s/%s -> %s/%s" % (self.target_root , link , self.target_root , src)) - os.symlink( "%s/%s" % (self.target_root , src), "%s/%s" % (self.target_root , link )) - - - def add_link( self , src , link , verbose = False): - self.link_list.append( ( src , link )) - - - - - def add_path( self , path , include_callback = None , create_path = None , recursive = False): - path_list = [] - for entry in os.listdir( "%s/%s" % (self.src_root , path )): - if entry == ".svn": - continue - - full_path = "%s/%s/%s" % ( self.src_root , path , entry) - - include = True - if include_callback: - include = include_callback( full_path ) - - if not include: - continue - - mode = os.stat( full_path )[stat.ST_MODE] - if stat.S_ISREG( mode ): - file = File("%s/%s" % (path , entry), create_path = create_path) - self.add_file( file ) - elif stat.S_ISDIR( mode ): - if recursive: - path_list.append( entry ) - - for dir in path_list: - if create_path: - new_create_path = "%s/%s" % (create_path , dir) - else: - new_create_path = dir - self.add_path( "%s/%s" % (path , dir) , include_callback = include_callback , create_path = new_create_path , recursive = True ) - - - def add_file( self , file ): - self.file_list.append( file ) - - - - - diff --git a/ThirdParty/Ert/devel/libanalysis/include/ert/analysis/fwd_step_enkf.h b/ThirdParty/Ert/devel/libanalysis/include/ert/analysis/fwd_step_enkf.h deleted file mode 100644 index 0723c95521..0000000000 --- a/ThirdParty/Ert/devel/libanalysis/include/ert/analysis/fwd_step_enkf.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'fwd_step_enkf.h' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include - -typedef struct fwd_step_enkf_data_struct fwd_step_enkf_data_type; - -void * fwd_step_enkf_data_alloc( rng_type * rng ); -void fwd_step_enkf_data_free( void * arg ); - -void fwd_step_enkf_updateA(void * module_data , - matrix_type * A , - matrix_type * S , - matrix_type * R , - matrix_type * dObs , - matrix_type * E , - matrix_type * D ); - - -void fwd_step_enkf_set_truncation( fwd_step_enkf_data_type * data , double truncation ); -void fwd_step_enkf_set_subspace_dimension( fwd_step_enkf_data_type * data , int subspace_dimension); - diff --git a/ThirdParty/Ert/devel/libanalysis/include/ert/analysis/std_enkf.h b/ThirdParty/Ert/devel/libanalysis/include/ert/analysis/std_enkf.h deleted file mode 100644 index 4e65de3c3d..0000000000 --- a/ThirdParty/Ert/devel/libanalysis/include/ert/analysis/std_enkf.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef __STD_ENKF_H__ -#define __STD_ENKF_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#include -#include - -#define DEFAULT_ENKF_TRUNCATION_ 0.98 -#define ENKF_TRUNCATION_KEY_ "ENKF_TRUNCATION" -#define ENKF_NCOMP_KEY_ "ENKF_NCOMP" - - typedef struct std_enkf_data_struct std_enkf_data_type; - - - void std_enkf_initX(void * module_data , matrix_type * X , matrix_type * A , matrix_type * S , matrix_type * R , matrix_type * innov , matrix_type * E , matrix_type *D ); - bool std_enkf_set_double( void * arg , const char * var_name , double value); - - bool std_enkf_set_int( void * arg , const char * var_name , int value); - int std_enkf_get_subspace_dimension( std_enkf_data_type * data ); - void std_enkf_set_truncation( std_enkf_data_type * data , double truncation ); - void std_enkf_set_subspace_dimension( std_enkf_data_type * data , int subspace_dimension); - void std_enkf_set_lambda0( std_enkf_data_type * data , double lambda0 ); - bool std_enkf_has_var( const void * arg, const char * var_name); - int std_enkf_get_int( const void * arg, const char * var_name); - double std_enkf_get_double( const void * arg, const char * var_name); - - double std_enkf_get_truncation( std_enkf_data_type * data ); - void * std_enkf_data_alloc( rng_type * rng); - void std_enkf_data_free( void * module_data ); - - void std_enkf_initX__( matrix_type * X , - matrix_type * S , - matrix_type * R , - matrix_type * E , - matrix_type * D , - double truncation, - int ncomp, - bool bootstrap ); - - - -#ifdef __cplusplus -} -#endif - -#endif - - - - - diff --git a/ThirdParty/Ert/devel/libanalysis/modules/CMakeLists.txt b/ThirdParty/Ert/devel/libanalysis/modules/CMakeLists.txt deleted file mode 100644 index feff7b7236..0000000000 --- a/ThirdParty/Ert/devel/libanalysis/modules/CMakeLists.txt +++ /dev/null @@ -1,45 +0,0 @@ -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) - -set( RML_SOURCE_FILES - rml_enkf_config.c - rml_enkf_log.c - rml_enkf.c - rml_enkf_common.c ) - -set( header_files analysis_module.h enkf_linalg.h analysis_table.h std_enkf.h rml_enkf_common.h) -add_library( rml_enkf SHARED ${RML_SOURCE_FILES} ) - -set_target_properties( rml_enkf PROPERTIES VERSION 1.0 SOVERSION 1.0 PREFIX "") - -target_link_libraries( rml_enkf analysis ) -target_link_libraries( rml_enkf dl ) - -if (USE_RUNPATH) - add_runpath( rml_enkf ) -endif() - -if (BUILD_TESTS) - add_subdirectory( tests ) -endif() - -if (INSTALL_ERT) - install(TARGETS rml_enkf DESTINATION ${CMAKE_INSTALL_LIBDIR}) -endif() - - -#----------------------------------------------------------------- - -# Alternative script based build: -#if (BUILD_TESTS) -# if (BUILD_APPLICATIONS) -#set( args "--silent --exclude-ert -I${PROJECT_SOURCE_DIR}/libanalysis/include -I${PROJECT_SOURCE_DIR}/libert_util/include -I${CMAKE_CURRENT_SOURCE_DIR} -I${PROJECT_BINARY_DIR}/libert_util/include") - - -#set( RML_SOURCE_FILES -# rml_enkf.c -# rml_enkf_common.c ) - -#ert_module( ${LIBRARY_OUTPUT_PATH}/rml_enkf ${args} "${RML_SOURCE_FILES}") - - - diff --git a/ThirdParty/Ert/devel/libanalysis/src/CMakeLists.txt b/ThirdParty/Ert/devel/libanalysis/src/CMakeLists.txt deleted file mode 100644 index c4826a0a2b..0000000000 --- a/ThirdParty/Ert/devel/libanalysis/src/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -# Common libanalysis library -set( source_files analysis_module.c enkf_linalg.c std_enkf.c sqrt_enkf.c cv_enkf.c bootstrap_enkf.c null_enkf.c fwd_step_enkf.c ) -set( header_files analysis_module.h enkf_linalg.h analysis_table.h std_enkf.h fwd_step_enkf.h) -add_library( analysis SHARED ${source_files} ) -set_target_properties( analysis PROPERTIES COMPILE_DEFINITIONS INTERNAL_LINK) -set_target_properties( analysis PROPERTIES VERSION 1.0 SOVERSION 1.0 ) - -target_link_libraries( analysis ert_util ) -target_link_libraries( analysis dl ) - -if (USE_RUNPATH) - add_runpath( analysis ) -endif() - - -#----------------------------------------------------------------- - -if (INSTALL_ERT) - install(TARGETS analysis DESTINATION ${CMAKE_INSTALL_LIBDIR}) - #install(TARGETS rml_enkf DESTINATION ${CMAKE_INSTALL_LIBDIR}) - foreach(header ${header_files}) - install(FILES ../include/ert/analysis/${header} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/ert/analysis) - endforeach() -endif() - diff --git a/ThirdParty/Ert/devel/libanalysis/src/fwd_step_enkf.c b/ThirdParty/Ert/devel/libanalysis/src/fwd_step_enkf.c deleted file mode 100644 index ebd186a0d2..0000000000 --- a/ThirdParty/Ert/devel/libanalysis/src/fwd_step_enkf.c +++ /dev/null @@ -1,282 +0,0 @@ -/* - copyright (C) 2011 Statoil ASA, Norway. - - The file 'fwd_step_enkf.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - - -#define FWD_STEP_ENKF_TYPE_ID 765524 - -#define DEFAULT_NFOLDS 5 -#define DEFAULT_R2_LIMIT 0.99 -#define NFOLDS_KEY "CV_NFOLDS" -#define R2_LIMIT_KEY "FWD_STEP_R2_LIMIT" - - -struct fwd_step_enkf_data_struct { - UTIL_TYPE_ID_DECLARATION; - stepwise_type * stepwise_data; - rng_type * rng; - int nfolds; - long option_flags; - double r2_limit; -}; - - -static UTIL_SAFE_CAST_FUNCTION_CONST( fwd_step_enkf_data , FWD_STEP_ENKF_TYPE_ID ) -static UTIL_SAFE_CAST_FUNCTION( fwd_step_enkf_data , FWD_STEP_ENKF_TYPE_ID ) - - -void fwd_step_enkf_set_nfolds( fwd_step_enkf_data_type * data , int nfolds ) { - data->nfolds = nfolds; -} - -void fwd_step_enkf_set_r2_limit( fwd_step_enkf_data_type * data , double limit ) { - data->r2_limit = limit; -} - - -void * fwd_step_enkf_data_alloc( rng_type * rng ) { - fwd_step_enkf_data_type * data = util_malloc( sizeof * data ); - UTIL_TYPE_ID_INIT( data , FWD_STEP_ENKF_TYPE_ID ); - - data->stepwise_data = NULL; - data->rng = rng; - data->nfolds = DEFAULT_NFOLDS; - data->r2_limit = DEFAULT_R2_LIMIT; - data->option_flags = ANALYSIS_NEED_ED + ANALYSIS_UPDATE_A + ANALYSIS_SCALE_DATA; - - return data; -} - - - -/*Main function: */ -void fwd_step_enkf_updateA(void * module_data , - matrix_type * A , - matrix_type * S , - matrix_type * R , - matrix_type * dObs , - matrix_type * E , - matrix_type * D ) { - - - - fwd_step_enkf_data_type * fwd_step_data = fwd_step_enkf_data_safe_cast( module_data ); - printf("Running Forward Stepwise regression:\n"); - { - - int ens_size = matrix_get_columns( S ); - int nx = matrix_get_rows( A ); - int nd = matrix_get_rows( S ); - - { - - stepwise_type * stepwise_data = stepwise_alloc1(ens_size, nd , fwd_step_data->rng); - - matrix_type * workS = matrix_alloc( ens_size , nd ); - - - /*workS = S' */ - for (int i = 0; i < nd; i++) { - for (int j = 0; j < ens_size; j++) { - matrix_iset( workS , j , i , matrix_iget( S , i , j ) ); - } - } - - /*This might be illigal???? */ - stepwise_set_X0( stepwise_data , workS ); - double xHat; - - matrix_type * di = matrix_alloc( 1 , nd ); - - printf("nx = %d\n",nx); - for (int i = 0; i < nx; i++) { - /*Update values of y */ - /*Start of the actual update */ - matrix_type * y = matrix_alloc( ens_size , 1 ); - - for (int j = 0; j < ens_size; j++) { - matrix_iset(y , j , 0 , matrix_iget( A, i , j ) ); - } - - /*This might be illigal???? */ - stepwise_set_Y0( stepwise_data , y ); - - stepwise_estimate(stepwise_data , fwd_step_data->r2_limit , fwd_step_data->nfolds ); - - /*manipulate A directly*/ - for (int j = 0; j < ens_size; j++) { - for (int k = 0; k < nd; k++) { - matrix_iset(di , 0 , k , matrix_iget( D , k , j ) ); - } - - xHat = stepwise_eval(stepwise_data , di ); - matrix_iset(A , i , j , xHat); - } - - - - } - - printf("Done with stepwise regression enkf\n"); - stepwise_free( stepwise_data ); - matrix_free( di ); - - /*workS is freed in stepwise_free() */ - /*matrix_free( workS ); */ - /*matrix_free( y );*/ - - - } - - - - } - - -} - - - - -void fwd_step_enkf_data_free( void * arg ) { - fwd_step_enkf_data_type * fwd_step_data = fwd_step_enkf_data_safe_cast( arg ); - { - - if (fwd_step_data != NULL) { - if (fwd_step_data->stepwise_data != NULL) { - stepwise_free( fwd_step_data->stepwise_data ); - } - } - } - free( fwd_step_data ); -} - - -bool fwd_step_enkf_set_double( void * arg , const char * var_name , double value) { - fwd_step_enkf_data_type * module_data = fwd_step_enkf_data_safe_cast( arg ); - { - bool name_recognized = true; - - if (strcmp( var_name , R2_LIMIT_KEY ) == 0) - fwd_step_enkf_set_r2_limit( module_data , value ); - else - name_recognized = false; - - return name_recognized; - } -} - - -bool fwd_step_enkf_set_int( void * arg , const char * var_name , int value) { - fwd_step_enkf_data_type * module_data = fwd_step_enkf_data_safe_cast( arg ); - { - bool name_recognized = true; - - /*Set number of CV folds */ - if (strcmp( var_name , NFOLDS_KEY) == 0) - fwd_step_enkf_set_nfolds( module_data , value); - else - name_recognized = false; - - return name_recognized; - } -} - -long fwd_step_enkf_get_options( void * arg , long flag) { - fwd_step_enkf_data_type * fwd_step_data = fwd_step_enkf_data_safe_cast( arg ); - { - return fwd_step_data->option_flags; - } -} - -bool fwd_step_enkf_has_var( const void * arg, const char * var_name) { - { - if (strcmp(var_name , NFOLDS_KEY) == 0) - return true; - else if (strcmp(var_name , R2_LIMIT_KEY ) == 0) - return true; - else - return false; - } -} - -double fwd_step_enkf_get_double( const void * arg, const char * var_name) { - const fwd_step_enkf_data_type * module_data = fwd_step_enkf_data_safe_cast_const( arg ); - { - if (strcmp(var_name , R2_LIMIT_KEY ) == 0) - return module_data->r2_limit; - else - return -1; - } -} - -int fwd_step_enkf_get_int( const void * arg, const char * var_name) { - const fwd_step_enkf_data_type * module_data = fwd_step_enkf_data_safe_cast_const( arg ); - { - if (strcmp(var_name , NFOLDS_KEY) == 0) - return module_data->nfolds; - else - return -1; - } -} - - - - -#ifdef INTERNAL_LINK -#define SYMBOL_TABLE fwd_step_enkf_symbol_table -#else -#define SYMBOL_TABLE EXTERNAL_MODULE_SYMBOL -#endif - - -analysis_table_type SYMBOL_TABLE = { - .alloc = fwd_step_enkf_data_alloc, - .freef = fwd_step_enkf_data_free, - .set_int = fwd_step_enkf_set_int , - .set_double = fwd_step_enkf_set_double , - .set_bool = NULL , - .set_string = NULL , - .get_options = fwd_step_enkf_get_options , - .initX = NULL , - .updateA = fwd_step_enkf_updateA, - .init_update = NULL , - .complete_update = NULL , - .has_var = fwd_step_enkf_has_var, - .get_int = fwd_step_enkf_get_int , - .get_double = fwd_step_enkf_get_double , - .get_bool = NULL , - .get_ptr = NULL -}; - - diff --git a/ThirdParty/Ert/devel/libanalysis/src/std_enkf.c b/ThirdParty/Ert/devel/libanalysis/src/std_enkf.c deleted file mode 100644 index e057e83f34..0000000000 --- a/ThirdParty/Ert/devel/libanalysis/src/std_enkf.c +++ /dev/null @@ -1,298 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'std_enkf.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include - - -/* - A random 'magic' integer id which is used for run-time type checking - of the input data. -*/ -#define STD_ENKF_TYPE_ID 261123 - - - - -/* - Observe that only one of the settings subspace_dimension and - truncation can be valid at a time; otherwise the svd routine will - fail. This implies that the set_truncation() and - set_subspace_dimension() routines will set one variable, AND - INVALIDATE THE OTHER. For most situations this will be OK, but if - you have repeated calls to both of these functions the end result - might be a surprise. -*/ -#define INVALID_SUBSPACE_DIMENSION -1 -#define INVALID_TRUNCATION -1 -#define DEFAULT_SUBSPACE_DIMENSION INVALID_SUBSPACE_DIMENSION - - - - - -/* - The configuration data used by the std_enkf module is contained in a - std_enkf_data_struct instance. The data type used for the std_enkf - module is quite simple; with only a few scalar variables, but there - are essentially no limits to what you can pack into such a datatype. - - All the functions in the module have a void pointer as the first - argument, this will immediately be casted to a std_enkf_data_type - instance, to get some type safety the UTIL_TYPE_ID system should be - used (see documentation in util.h) - - The data structure holding the data for your analysis module should - be created and initialized by a constructor, which should be - registered with the '.alloc' element of the analysis table; in the - same manner the desctruction of this data should be handled by a - destructor or free() function registered with the .freef field of - the analysis table. -*/ - - - - -struct std_enkf_data_struct { - UTIL_TYPE_ID_DECLARATION; - double truncation; // Controlled by config key: ENKF_TRUNCATION_KEY - int subspace_dimension; // Controlled by config key: ENKF_NCOMP_KEY (-1: use Truncation instead) - long option_flags; -}; - -static UTIL_SAFE_CAST_FUNCTION_CONST( std_enkf_data , STD_ENKF_TYPE_ID ) - - -/* - This is a macro which will expand to generate a function: - - std_enkf_data_type * std_enkf_data_safe_cast( void * arg ) {} - - which is used for runtime type checking of all the functions which - accept a void pointer as first argument. -*/ -static UTIL_SAFE_CAST_FUNCTION( std_enkf_data , STD_ENKF_TYPE_ID ) - - -double std_enkf_get_truncation( std_enkf_data_type * data ) { - return data->truncation; -} - -int std_enkf_get_subspace_dimension( std_enkf_data_type * data ) { - return data->subspace_dimension; -} - -void std_enkf_set_truncation( std_enkf_data_type * data , double truncation ) { - data->truncation = truncation; - if (truncation > 0.0) - data->subspace_dimension = INVALID_SUBSPACE_DIMENSION; -} - -void std_enkf_set_subspace_dimension( std_enkf_data_type * data , int subspace_dimension) { - data->subspace_dimension = subspace_dimension; - if (subspace_dimension > 0) - data->truncation = INVALID_TRUNCATION; -} - - - -void * std_enkf_data_alloc( rng_type * rng) { - std_enkf_data_type * data = util_malloc( sizeof * data ); - UTIL_TYPE_ID_INIT( data , STD_ENKF_TYPE_ID ); - - std_enkf_set_truncation( data , DEFAULT_ENKF_TRUNCATION_ ); - std_enkf_set_subspace_dimension( data , DEFAULT_SUBSPACE_DIMENSION ); - data->option_flags = ANALYSIS_NEED_ED + ANALYSIS_SCALE_DATA; - return data; -} - - -void std_enkf_data_free( void * data ) { - free( data ); -} - - - - -void std_enkf_initX__( matrix_type * X , - matrix_type * S , - matrix_type * R , - matrix_type * E , - matrix_type * D , - double truncation, - int ncomp, - bool bootstrap ) { - - int nrobs = matrix_get_rows( S ); - int ens_size = matrix_get_columns( S ); - int nrmin = util_int_min( ens_size , nrobs); - - matrix_type * W = matrix_alloc(nrobs , nrmin); - double * eig = util_calloc( nrmin , sizeof * eig); - - matrix_subtract_row_mean( S ); /* Shift away the mean */ - enkf_linalg_lowrankCinv( S , R , W , eig , truncation , ncomp); - enkf_linalg_init_stdX( X , S , D , W , eig , bootstrap); - - matrix_free( W ); - free( eig ); - enkf_linalg_checkX( X , bootstrap ); -} - - - - - -void std_enkf_initX(void * module_data , - matrix_type * X , - matrix_type * A , - matrix_type * S , - matrix_type * R , - matrix_type * dObs , - matrix_type * E , - matrix_type * D) { - - - std_enkf_data_type * data = std_enkf_data_safe_cast( module_data ); - { - int ncomp = data->subspace_dimension; - double truncation = data->truncation; - - std_enkf_initX__(X,S,R,E,D,truncation,ncomp,false); - } -} - - - - - - - -bool std_enkf_set_double( void * arg , const char * var_name , double value) { - std_enkf_data_type * module_data = std_enkf_data_safe_cast( arg ); - { - bool name_recognized = true; - - if (strcmp( var_name , ENKF_TRUNCATION_KEY_) == 0) - std_enkf_set_truncation( module_data , value ); - else - name_recognized = false; - - return name_recognized; - } -} - - -bool std_enkf_set_int( void * arg , const char * var_name , int value) { - std_enkf_data_type * module_data = std_enkf_data_safe_cast( arg ); - { - bool name_recognized = true; - - if (strcmp( var_name , ENKF_NCOMP_KEY_) == 0) - std_enkf_set_subspace_dimension( module_data , value ); - else - name_recognized = false; - - return name_recognized; - } -} - - -long std_enkf_get_options( void * arg , long flag ) { - std_enkf_data_type * module_data = std_enkf_data_safe_cast( arg ); - { - return module_data->option_flags; - } -} - -bool std_enkf_has_var( const void * arg, const char * var_name) { - { - if (strcmp(var_name , ENKF_NCOMP_KEY_) == 0) - return true; - else if (strcmp(var_name , ENKF_TRUNCATION_KEY_) == 0) - return true; - else - return false; - } -} - -double std_enkf_get_double( const void * arg, const char * var_name) { - const std_enkf_data_type * module_data = std_enkf_data_safe_cast_const( arg ); - { - if (strcmp(var_name , ENKF_TRUNCATION_KEY_) == 0) - return module_data->truncation; - else - return -1; - } -} - -int std_enkf_get_int( const void * arg, const char * var_name) { - const std_enkf_data_type * module_data = std_enkf_data_safe_cast_const( arg ); - { - if (strcmp(var_name , ENKF_NCOMP_KEY_) == 0) - return module_data->subspace_dimension; - else - return -1; - } -} - - -/** - gcc -fpic -c -I?? - gcc -shared -o -*/ - - - -#ifdef INTERNAL_LINK -#define SYMBOL_TABLE std_enkf_symbol_table -#else -#define SYMBOL_TABLE EXTERNAL_MODULE_SYMBOL -#endif - - -analysis_table_type SYMBOL_TABLE = { - .alloc = std_enkf_data_alloc, - .freef = std_enkf_data_free, - .set_int = std_enkf_set_int , - .set_double = std_enkf_set_double , - .set_bool = NULL , - .set_string = NULL , - .get_options = std_enkf_get_options , - .initX = std_enkf_initX , - .updateA = NULL, - .init_update = NULL, - .complete_update = NULL, - .has_var = std_enkf_has_var, - .get_int = std_enkf_get_int, - .get_double = std_enkf_get_double, - .get_bool = NULL, - .get_ptr = NULL, -}; - diff --git a/ThirdParty/Ert/devel/libanalysis/tests/CMakeLists.txt b/ThirdParty/Ert/devel/libanalysis/tests/CMakeLists.txt deleted file mode 100644 index 0bc9f72f8d..0000000000 --- a/ThirdParty/Ert/devel/libanalysis/tests/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -ert_module_name( VAR_RML rml_enkf ${LIBRARY_OUTPUT_PATH} ) - -add_executable(analysis_test_external_module analysis_test_external_module.c ) -target_link_libraries( analysis_test_external_module analysis util test_util ) - -add_test( analysis_module_rml ${EXECUTABLE_OUTPUT_PATH}/analysis_test_external_module "RML_ENKF" ${VAR_RML} 41 - ITER:45 - USE_PRIOR:False - LAMBDA_REDUCE:0.10 - LAMBDA_INCREASE:2.5 - ENKF_TRUNCATION:0.77 - LAMBDA0:0.25 - LAMBDA_MIN:0.01 - LOG_FILE:LogFile.txt - CLEAR_LOG:True - LAMBDA_RECALCULATE:True ) - - - diff --git a/ThirdParty/Ert/devel/libconfig/include/ert/config/config_parser.h b/ThirdParty/Ert/devel/libconfig/include/ert/config/config_parser.h deleted file mode 100644 index b156f8012a..0000000000 --- a/ThirdParty/Ert/devel/libconfig/include/ert/config/config_parser.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'config.h' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#ifndef __CONFIG_H__ -#define __CONFIG_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - -#define ECL_COM_KW "--" -#define ENKF_COM_KW "--" - - - - - -typedef struct config_parser_struct config_parser_type; - - - void config_free(config_parser_type *); - config_parser_type * config_alloc( ); - char ** config_alloc_active_list(const config_parser_type * , int * ); - config_content_type * config_parse(config_parser_type * , const char * , const char * , const char * , const char * , config_schema_unrecognized_enum unrecognized_behaviour , bool ); - bool config_has_schema_item(const config_parser_type * config , const char * kw); - -/*****************************************************************/ - - config_schema_item_type * config_get_schema_item(const config_parser_type *, const char *); - bool config_item_set(const config_parser_type * , const char * ); - void config_add_alias(config_parser_type * , const char * , const char * ); - void config_install_message(config_parser_type * , const char * , const char * ); - const char * config_safe_get(const config_parser_type * , const char *); - char * config_alloc_joined_string(const config_parser_type * , const char * , const char * ); - - void config_add_define( config_parser_type * config , const char * key , const char * value ); - - /* - bool config_schema_item_is_set(const config_schema_item_type * ); - void config_schema_item_set_argc_minmax(config_schema_item_type * , int , int , int type_map_size , const config_item_types * ); - void config_schema_item_set_common_selection_set(config_schema_item_type * , int argc , const char ** argv); - void config_schema_item_set_indexed_selection_set(config_schema_item_type * item , int , int , const char ** ); - void config_schema_item_set_required_children(config_schema_item_type * , stringlist_type * ); - void config_schema_item_set_required_children_on_value(config_schema_item_type * , const char * , stringlist_type * ); - void config_schema_item_add_required_children(config_schema_item_type * item , const char * child_key); - */ - - config_schema_item_type * config_add_schema_item(config_parser_type * config, - const char * kw, - bool required); - - - stringlist_type * config_alloc_complete_stringlist(const config_parser_type * , const char * ); - stringlist_type * config_alloc_stringlist(const config_parser_type * config , const char * ); - hash_type * config_alloc_hash(const config_parser_type * , const char * ); - const stringlist_type * config_iget_stringlist_ref(const config_parser_type * , const char * , int ); - - int config_get_occurences(const config_parser_type * , const char * ); - int config_get_occurence_size( const config_parser_type * config , const char * kw , int occurence); - - bool config_has_content_item( const config_parser_type * config , const char * input_kw); - config_content_item_type * config_get_content_item( const config_parser_type * config , const char * input_kw); - config_schema_item_type * config_add_key_value( config_parser_type * config , const char * key , bool required , config_item_types item_type); -; - const char * config_get_value_as_relpath( const config_parser_type * config , const char * kw); - const char * config_get_value_as_path( const config_parser_type * config , const char * kw); - const char * config_get_value(const config_parser_type * config , const char * kw); - - const subst_list_type * config_get_define_list( const config_parser_type * config); - int config_get_schema_size( const config_parser_type * config ); - config_content_node_type * config_get_value_node( const config_parser_type * config , const char * kw); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ThirdParty/Ert/devel/libconfig/src/CMakeLists.txt b/ThirdParty/Ert/devel/libconfig/src/CMakeLists.txt deleted file mode 100644 index 3c0a76d4a3..0000000000 --- a/ThirdParty/Ert/devel/libconfig/src/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ -set( source_files config_parser.c config_content.c config_error.c config_schema_item.c config_content_item.c config_content_node.c config_root_path.c config_path_elm.c conf.c conf_util.c conf_data.c) -set( header_files config_parser.h config_content.h config_error.h config_schema_item.h config_content_item.h config_content_node.h config_root_path.h config_path_elm.h conf.h conf_data.h) - -add_library( config ${LIBRARY_TYPE} ${source_files} ) -set_target_properties( config PROPERTIES VERSION 1.0 SOVERSION 1.0 ) - -target_link_libraries( config ert_util ) -if (USE_RUNPATH) - add_runpath( config ) -endif() - -if (INSTALL_ERT) - install(TARGETS config DESTINATION ${CMAKE_INSTALL_LIBDIR}) - foreach(header ${header_files}) - install(FILES ../include/ert/config/${header} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/ert/config) - endforeach() -endif() diff --git a/ThirdParty/Ert/devel/libecl/applications/CMakeLists.txt b/ThirdParty/Ert/devel/libecl/applications/CMakeLists.txt deleted file mode 100644 index f69cef80dd..0000000000 --- a/ThirdParty/Ert/devel/libecl/applications/CMakeLists.txt +++ /dev/null @@ -1,97 +0,0 @@ -if (BUILD_APPLICATIONS) - add_executable( sum_write sum_write.c ) - add_executable( make_grid make_grid.c ) - add_executable( grdecl_grid grdecl_grid.c ) - add_executable( summary2csv summary2csv.c ) - add_executable( summary2csv2 summary2csv2.c ) - if (ERT_LINUX) - add_executable( esummary.x esummary.c ) - add_executable( convert.x convert.c ) - add_executable( grdecl_test.x grdecl_test.c ) - add_executable( kw_list.x kw_list.c ) - add_executable( kw_extract.x kw_extract.c ) - add_executable( grid_info.x grid_info.c ) - add_executable( grid_dump.x grid_dump.c ) - add_executable( grid_dump_ascii.x grid_dump_ascii.c ) - add_executable( summary.x view_summary.c ) - add_executable( select_test.x select_test.c ) - add_executable( load_test.x load_test.c ) - set(program_list summary2csv2 summary2csv esummary.x kw_extract.x grdecl_grid make_grid sum_write load_test.x grdecl_test.x grid_dump_ascii.x select_test.x grid_dump.x convert.x kw_list.x grid_info.x summary.x) - else() - # The stupid .x extension creates problems on windows - add_executable( convert convert.c ) - add_executable( grdecl_test grdecl_test.c ) - add_executable( kw_list kw_list.c ) - add_executable( kw_extract kw_extract.c ) - add_executable( grid_info grid_info.c ) - add_executable( grid_dump grid_dump.c ) - add_executable( grid_dump_ascii grid_dump_ascii.c ) - add_executable( summary view_summary.c ) - add_executable( select_test select_test.c ) - add_executable( load_test load_test.c ) - set(program_list summary2csv2 summary2csv kw_extract grdecl_grid make_grid sum_write load_test grdecl_test grid_dump_ascii select_test grid_dump convert kw_list grid_info summary) - endif() - - if (BUILD_ERT) - add_executable( ecl_quantile ecl_quantile.c ) - include_directories( ../../libconfig/include ) - target_link_libraries( ecl_quantile config ) - list( APPEND program_list ecl_quantile ) - endif() - - - foreach(prog ${program_list}) - target_link_libraries( ${prog} ecl ert_util ) - if (USE_RUNPATH) - add_runpath( ${prog} ) - endif() - - #----------------------------------------------------------------- - set (destination ${CMAKE_INSTALL_PREFIX}/bin) - if (INSTALL_ERT) - install(TARGETS ${prog} DESTINATION ${destination}) - if (INSTALL_GROUP) - install(CODE "EXECUTE_PROCESS(COMMAND chgrp ${INSTALL_GROUP} ${destination}/${prog})") - install(CODE "EXECUTE_PROCESS(COMMAND chmod g+w ${destination}/${prog})") - endif() - endif() - endforeach() -endif() - -if (BUILD_ENS_PLOT) - include_directories( ${PLPLOT_HEADER} ) - add_executable( ens_plot.x ens_plot.c ) - target_link_libraries( ens_plot.x plot ecl) - if (USE_RUNPATH) - add_runpath( ens_plot.x ) - endif() - - set (destination ${CMAKE_INSTALL_PREFIX}/bin) - if (INSTALL_ERT) - install(TARGETS ens_plot.x DESTINATION ${destination}) - if (INSTALL_GROUP) - install(CODE "EXECUTE_PROCESS(COMMAND chgrp ${INSTALL_GROUP} ${destination}/ens_plot.x)") - install(CODE "EXECUTE_PROCESS(COMMAND chmod g+w ${destination}/ens_plot.x)") - endif() - endif() -endif() - - - -if (BUILD_ECL_SUMMARY) - add_executable( ecl_summary view_summary.c ) - target_link_libraries( ecl_summary ecl) - if (USE_RUNPATH) - add_runpath( ecl_summary ) - endif() - - set (destination ${CMAKE_INSTALL_PREFIX}/bin) - if (INSTALL_ERT) - install(TARGETS ecl_summary DESTINATION ${destination}) - if (INSTALL_GROUP) - install(CODE "EXECUTE_PROCESS(COMMAND chgrp ${INSTALL_GROUP} ${destination}/ecl_summary)") - install(CODE "EXECUTE_PROCESS(COMMAND chmod g+w ${destination}/ecl_summary)") - endif() - endif() -endif() - diff --git a/ThirdParty/Ert/devel/libecl/applications/ecl_test.c b/ThirdParty/Ert/devel/libecl/applications/ecl_test.c deleted file mode 100644 index 0b9ec9aaea..0000000000 --- a/ThirdParty/Ert/devel/libecl/applications/ecl_test.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'test.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include -#include - -void install_SIGNALS(void) { - signal(SIGSEGV , util_abort_signal); /* Segmentation violation, i.e. overwriting memory ... */ - signal(SIGINT , util_abort_signal); /* Control C */ - signal(SIGTERM , util_abort_signal); /* If killing the program with SIGTERM (the default kill signal) you will get a backtrace. - Killing with SIGKILL (-9) will not give a backtrace.*/ -} - - -int test_ecl_file_save() { - -} - - -int test_grdecl_loader() { - FILE * stream = util_fopen("/private/joaho/ERT/NR/python/ctypes/test/data/eclipse/case/PERMX.grdecl" , "r"); - ecl_kw_type * kw = ecl_kw_fscanf_alloc_grdecl_dynamic( stream , "PERMX" , ECL_FLOAT_TYPE ); - ecl_kw_free( kw ); - fclose( stream ); - - return 1; -} - - -int main (int argc, char **argv) { - install_SIGNALS(); - { - test_grdecl_loader(); - test_ecl_file_save(); - } -} - - - - diff --git a/ThirdParty/Ert/devel/libecl/applications/ens_plot.c b/ThirdParty/Ert/devel/libecl/applications/ens_plot.c deleted file mode 100644 index 87be8abb1b..0000000000 --- a/ThirdParty/Ert/devel/libecl/applications/ens_plot.c +++ /dev/null @@ -1,1988 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'ens_plot.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -/* - The ens_plot program is a very simple program created to plot - ensembles of many related ECLIPSE simulations. The program is mainly - designed to be invoked from BASRA, and hence not optimized for - simple standalone use. However the communication with BASRA is based - on reading commands from stdin, and those commands could in - prinicple just as well come from a user generated file. The format - for the command files is documented here. - - The very first element in the file should be the path to where you - want the created files to go. After the path name on the first line - the main loop of the ens_plot.x program evolves around the five - 'commands': - - C : Create a new ensemble - P : Plot - A : Set attributes of an ensemble - QUANTILES : Plot an ensemble using quantiles instead of many lines - Q : Quit - - Each command should be entered on a separate line of the command - stream. The various main commands then take options and arguments on - the following lines of the command stream. - - - C : CREATE_ENS_CMD - ------------------ - The CREATE_ENS_CMD command will create a new ensemble. On the first - line after the 'C' command the program expects the name of the - ensemble, i.e. for instance 'Prior', and then the ECLIPSE datafiles - for each simulation case on seperate lines. The CREATE_ENS_CMD - command should be terminated with a '_stop_' line. For each case - the program will load the summary data of the case, and the .RFT - file - if present. In the example below we create an ensemble - called Prior consisting of three simulations: - -C -Prior -/path/to/sim1/ECLIPSE1.DATA -/path/to/sim2/ECLIPSE2.DATA -/path/to/sim3/ECLIPSE3.DATA -_stop_ - - P : PLOT_CMD - ------------ - The plot command will plot the selected variables and ensemble to a - png file. The 'P' command requires at the minimum the variable to - plot and ensembles to plot, but can in addition accept several extra - parameters. Assuming you have used the 'C' command to create two - ensembles 'Prior' and 'Posterior' you can plot the water cut in well - XYZ like this: - -P -WWCT:XYZ -Prior -Posterior -_stop_ - - The variable to plot, i.e. the WWCT:XYZ on the second line, follows - the format from the summary.x program, alternatively the ens_plot.x - program can be used to plot pressure-depth relationships from RFT - surveys. In that case the key should be given as: - - RFT:WELL:10/12/2008 - - i.e. the magic string 'RFT', followed by the well name and finally - the date of the survey, the items separated with ':'. - - The plot created will be a png file stored in the path given as - first element in the command file, and with the key as basename. - - The 'P' command is quite flexible, and the following is possible, in - addition to the minimum behaviour described above: - - - Additional keys: If you e.g. want to plot both the oil production - rate, and accumulated oil production you can do that with the - command _newplotvector_ followed by the new key: - - P - WOPR:XYZ - Prior - Posterior - _newplotvector_ - WOPT:XYZ - Prior - Posterior - _stop_ - - Observe that the ensemble names 'Prior' and 'Posterior' must be - repeated after the second key has been entered. The - _newplotvector_ can not be used to combine summary and RFT data in - the same plot. - - - Adding observations: In a history matching context it is typically - interesting to include observed data. This can be done with the - subcommand '_meas_points_'. The '_meas_points_' command expects - each datapoint to come on a separate line, the observed points can - come in different formats. In the case of summary plots the - alternatives are: - - xy date value - xyy date low_value high_value - xxy days1 days2 value - - The 'xy' format will plot a point, and the 'xyy' and 'xxy' - alternatives will plot a vertical and horizontal error bar - respectively. Observe that the '_meas_points_' command must be - terminated with it's own '_stop_' command; so to add two - observations of WWCT - with an accomanpying uncertainty - you - should plot like: - - P - WWCT:XYZ - Prior - Posterior - _meas_points_ - xyy 10/10/2009 0.45 0.55 - xyy 10/01/2010 0.70 0.80 - _stop_ - _stop_ - - For RFT plots the format for adding observed values is different, - there each line of observed data should consist of a pressure - measurement from a cell. So to add two pressure measurements when - plotting an rft: - - P - RFT:XYZ:10/10/2010 - Prior - Posterior - _meas_points_ - rft - rft - _stop_ - _stop_ - - Of course actual values should be used for the cell coordinates - (i,j,k) and the low and high pressures P_low and P_high. - - - Setting the range: By defualt the ens_plot program will adjust the - axis to include all the supplied data, but by using the - '_set_range_' command you can manually set the xmin,xmax,ymin and - ymax properties of the axes. The range should be set with one line - formatted like this: - - VAR value VAR value VAR value ... - - Where VAR is one of the identifieres 'XMIN', 'XMAX', 'YMIN' and - 'YMAX' and value is the value of the preceeding identifier. In the - case of summary plots the XMIN and XMAX properties should be - dates, whereas they are pressures in the case of RFT plots. So; to - only focus on the the year 2010 in a summary plot you could use - the following statement: - - _set_range_ - XMIN 01/01/2010 XMAX 31/12/2010 - - as part of your PLOT command. - - - A : ATTRIBUTES_CMD - ------------------ - The attributes command can be used to set the color of the plotted - lines on a per-ensemble basis. So to set 'Prior' ensemble to be - plotted with red lines and the 'Posterior' with blue lines you can - issue the following command sequence: - - A - Prior - 1 - A - Posterior - 9 - - The colors must be given with the numerical values, the codes are as - follows: - - WHITE = 0, - RED = 1, - YELLOW = 2, - GREEN = 3, - AQUAMARINE = 4, - PINK = 5, - WHEAT = 6, - GRAY = 7, - BROWN = 8, - BLUE = 9, - VIOLET = 10, - CYAN = 11, - TURQUOISE = 12, - MAGENTA = 13, - SALMON = 14, - BLACK = 15 - - No attributes beyond color ... - - - QUANTILES - --------- - - By default the ens_plot program will plot the ensemble by plotting - all the realisations, by using the 'QUANTILES' command you can - choose to plot quantiles like P10 and P90 instead of the individual - realisations. The QUANTILES command takes additional arguments on - seperate lines like this: - - Turn on quantile plotting: - - QUANTILES - Prior <- The name of the ensemble - 1 <- Use quantiles 1:True 0:False - 5 <- How many quantiles - 0.10 -----\ - 0.25 | - 0.50 + The quantiles we are interested in, i.e. - 0.75 | P10, P25, P50, P75 and P90 in this case. - 0.90 -----/ - - - Turn off quantile plotting: - - QUANTILES - Prior - 0 <-- Turn off quantile plotting - - Quantiles is only an option for plotting summary vectors, not RFTs. - - -Complete example file: -------------------------------------------------------------------------------------------------------------------- -/path/to/plots | All plots will be created here; the path will be created if it does not exist. -C | Create a new ensemble -Prior | Call the new ensemble 'Prior' -/path/to/sim1/CASE1.DATA | Case 1 in prior -/path/to/sim2/CASE2.DATA | Case 2 in prior -/path/to/sim3/CASE3.DATA | Case 3 in prior -_stop_ | All realizations added to 'Prior' -A |--\ -Prior | | Prior should be plotted in red -1 |--/ -C | Create a new ensemble -Posterior | Call the new ensemble 'Posterior' -/path/to/Post1/CASE1.DATA | Case 1 in Posterior -/path/to/Post2/CASE2.DATA | Case 2 in Posterior -/path/to/Post3/CASE3.DATA | Case 3 in Posterior -_stop_ | All realizations added to 'Prior' -A |--\ -Posterior | | Posterior should be plotted in blue -9 |--/ -P | Create a plot: /path/to/plots/WWCT:XYC.png -WWCT:XYC | Of the watercut in well XYZ -Posterior | Include the posterior ensemble -Prior | Include the posterior ensemble -_stop_ | All data added to the plot - go and make it. -P | Create a plot: /path/to/plots/WOPR:XYC.png -WOPR:XYC | Of the oil production rate in well XYC -Posterior | Include the posterior ensemble -Prior | Include the prior ensemble -_newplotvector_ | Include a new ... -WOPT:XYC | ... summary vector WOPT:XYZ -Posterior | Include the posterior ensemble -Prior | Include the prior ensemble -_set_range_ | Manually adjust the plotting range -XMIN 01/01/2009 XMAX 31/12/2009 | Include all of 2009 in the plot; yrange still auto. -_stop_ | All data added to the plot - go and make it. -Q | Quit -------------------------------------------------------------------------------------------------------------------- -*/ - - -#define VIEWER "/usr/bin/display" - -#define CREATE_ENS_CMD "C" -#define PLOT_CMD "P" -#define ATTRIBUTES_CMD "A" -#define QUANTILES_CMD "QUANTILES" -#define QUIT_CMD "Q" - -#define XMIN_CMD "XMIN" -#define XMAX_CMD "XMAX" -#define YMIN_CMD "YMIN" -#define YMAX_CMD "YMAX" - -#define STOP_CMD "_stop_" -#define XY_CMD "xy" -#define XYY_CMD "xyy" -#define XXY_CMD "xxy" - -#define RFT_CMD "rft" - -#define MEAS_POINTS_CMD "_meas_points_" -#define SET_RANGE_CMD "_set_range_" -#define NEW_VECTOR_CMD "_newplotvector_" - - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - - - - - -/*******************************************************************/ -/** - -About plotting quantiles: -------------------------- - -The default modus for ens_plot is to plot an ensemble as a collection -of curves, however it is also possible to plot an ensemble as a mean -curve and a collection of quantiles. The implementation works as -follows: - - 1. You use the function ens_use_quantile(ens , true) to tell that you - want to plot the ensemble using quantiles. The ens_alloc() - function contains the statement: - - ens_use_quantiles(ens , false); - - i.e. the default is to not use quantiles. Observe that the use of - quantiles versus a collection of lines is on per-ensemble basis. - - - 2. You use the function ens_add_quantile(ens , q) to add - quantiles. The quantile values should be q in the interval [0,1]. - - - 3. The function plot_ensemble() has separate code blocks for plotting - with quantiles and as a collection of lines. When plotting with - quantiles the algorithm is as follows: - - a) All summary data is resampled to a common time-axis. This time - axis contains @interp_size elements, this is currently set to - 50. The distribution of interpolation times is currently - uniform, but that can easily be generalized. - - The data is resampled using the low-level function - ecl_sum_data_get_from_sim_time() which tries to differentiates - between rate and non-rate data. - - - b) For each interpolation time step we use the functions - statistics_empirical_quantile() to calculate the quantile - values. This is briefly based on sorting the data, looking up - the appropriate index and simple linear interpolation. - - - c) The quantiles are plotted - along with the mean value. - - -*/ - - -/** - -Multithreaded loading ---------------------- -The loading of ensembles in function create_ensemble_batch() is done -multithreaded. This is implemented with the help of a thread_pool -"class" implemented in libutil/src/thread_pool.c. The maximum number -of concurrent threads is given by MAX_LOAD_THREADS, this is currently -set to 4. Since the loading is mainly I/O bound it might be beneficial -to set it even higher? -*/ - - -bool use_viewer = false ; // Global variable to enable backwords compatible behaviour of batch mode - // option -b sets use_viewer = true (will start external viewer to show plots) - // option -s sets use_viewer = false (slave mode, returns name of plot file on STDOUT) - - -#define KEY_JOIN_STRING ":" /* The string used when joining strings to form a gen_key lookup key - can be anything (even ""). */ -#define PLOT_WIDTH 640 -#define PLOT_HEIGHT 480 -#define PROMPT_LEN 60 -#define MAX_LOAD_THREADS 4 - - - - - - -/** - This is basic datatype to hold the information about one ensemble - of eclipse simulations. All the simulations in one ensemble should - share some characteristica, like all beeing from the prior - distribution. A plotting session can very well be completed with - only one ensemble. -*/ - -typedef struct { - vector_type * data; /* This is a vector ecl_sum instances - actually holding the data. */ - pthread_mutex_t data_mutex; /* mutex ensuring serial write access to the data vector. */ - - plot_style_type plot_style; /* LINE | POINTS | LINE_POINTS */ - plot_color_type plot_color; /* See available colors in libplot/include/plot_const.h */ - plot_line_style_type plot_line_style; /* Line style: solid_line | short_dash | long_dash */ - plot_symbol_type plot_symbol; /* Integer - 17 is filled circle ... */ - double plot_symbol_size; /* Scale factor for symbol size. */ - double plot_line_width; /* Scale factor for line width. */ - double sim_length; /* The length of the _longest_ simulation in the ensemble. */ - - /* Everything below line is related to plotting of quantiles. */ - /*-----------------------------------------------------------------*/ - bool use_quantiles; /* Should this ensemble be plotted as a mean and quantiles - instead of one line pr. member? */ - int interp_size; /* How many interpolation points to use when resampling the summary data.*/ - double_vector_type * interp_days; /* The times where we resample the summary data - given in days since simulation start.*/ - vector_type * interp_data; /* A vector of double_vector instances of the summary data - interpolated to interp_days. */ - double_vector_type * quantiles; /* The quantile values we want to plot, i.e [0.10, 0.32, 0.68, 0.90] */ - vector_type * quantile_data; /* The quantile data as double_vector instances. */ -} ens_type; - - - -/** - Struct holding basic information used when plotting. -*/ - -typedef struct plot_info_struct { - char * plot_path; /* All the plots will be saved as xxxx files in this directory. */ - char * plot_device; /* Type of plot file - currently only 'png' is tested. */ - char * viewer; /* The executable used when displaying the newly created image. */ -} plot_info_type; - -/* - * Dialog functions for batch processing (two way communication): - */ - -void error_reply(char* message) -{ - printf("ERROR: %s\n",message) ; - fflush(stdout) ; -} ; - - -void warning_reply(char* message) -{ - printf("WARNING: %s\n",message) ; - fflush(stdout) ; -}; - - -void info_reply(char* message) -{ - printf("INFO: %s\n",message) ; - fflush(stdout) ; -}; - -void install_SIGNALS(void) { - signal(SIGSEGV , util_abort_signal); /* Segmentation violation, i.e. overwriting memory ... */ - signal(SIGINT , util_abort_signal); /* Control C */ - signal(SIGTERM , util_abort_signal); /* If killing the program with SIGTERM (the default kill signal) you will get a backtrace. - Killing with SIGKILL (-9) will not give a backtrace.*/ -} - - - -/******************************************************************/ -/* Functions manipulating the ensemble type. */ - -void ens_set_style(ens_type * ens, plot_style_type style) { - ens->plot_style = style; -} - -void ens_set_color(ens_type * ens, plot_color_type color) { - ens->plot_color = color; -} - -void ens_set_line_style(ens_type * ens, plot_line_style_type line_style) { - ens->plot_line_style = line_style; -} - -void ens_set_symbol_type(ens_type * ens, plot_symbol_type symbol_type) { - ens->plot_symbol = symbol_type; -} - -void ens_set_symbol_size(ens_type * ens, double symbol_size) { - ens->plot_symbol_size = symbol_size; -} - -void ens_set_line_width(ens_type * ens, double line_width) { - ens->plot_line_width = line_width; -} - -void ens_set_interp_size( ens_type * ens, int interp_size) { - ens->interp_size = interp_size; -} - -void ens_use_quantiles( ens_type * ens, bool use_quantiles ) { - ens->use_quantiles = use_quantiles; -} - - -void ens_add_quantile( ens_type * ens , double quantile ) { - double_vector_append( ens->quantiles , quantile ); - vector_append_owned_ref( ens->quantile_data , double_vector_alloc(0,0) , double_vector_free__ ); -} - -void ens_clear_quantiles( ens_type * ens ) { - double_vector_reset( ens->quantiles ); - vector_clear( ens->quantile_data ); -} - -void ens_add_data__( ens_type * ens, void * data , free_ftype * destructor) { - pthread_mutex_lock( &ens->data_mutex ); - { - vector_append_owned_ref( ens->data , data , destructor ); - } - pthread_mutex_unlock( &ens->data_mutex ); -} - - -void ens_add_sum( ens_type * ens, ecl_sum_type * ecl_sum ) { - ens_add_data__( ens , ecl_sum , ecl_sum_free__); -} - - -void ens_add_rft( ens_type * ens, ecl_rft_file_type * rft ) { - ens_add_data__( ens , rft , ecl_rft_file_free__); -} - - -/** - Allocating an empty ens_type instance, with all plotting - attributes initialized to default values. -*/ - - - -ens_type * ens_alloc() { - ens_type * ens = util_malloc( sizeof * ens ); - ens->data = vector_alloc_new(); - pthread_mutex_init( &ens->data_mutex , NULL ); - /* Quantyile related stuff. */ - ens->quantiles = double_vector_alloc(0 , 0); - ens->interp_days = double_vector_alloc(0 , 0); - ens->interp_data = vector_alloc_new(); - ens->quantile_data = vector_alloc_new(); - ens->sim_length = 0; - - /* Setting defaults for the plot */ - ens_set_style( ens , LINE ); - ens_set_color( ens , BLUE ); - ens_set_line_style(ens , PLOT_LINESTYLE_SOLID_LINE); - ens_set_symbol_type(ens , PLOT_SYMBOL_FILLED_CIRCLE); - ens_set_symbol_size(ens , 1.0); - ens_set_line_width(ens , 1.0); - ens_use_quantiles( ens , false ); - ens_set_interp_size( ens , 50 ); - return ens; -} - - - -void ens_free( ens_type * ens) { - vector_free( ens->data ); - pthread_mutex_destroy( &ens->data_mutex ); - double_vector_free( ens->quantiles ); - double_vector_free( ens->interp_days ); - vector_free( ens->interp_data ); - vector_free( ens->quantile_data ); - free(ens); -} - - -void ens_free__(void * __ens) { - ens_type * ens = (ens_type *) __ens; - ens_free (ens ); -} - - -void ens_load_summary(ens_type * ens, const char * data_file) { - char * base , * path; - - if (util_file_exists(data_file)) { - util_alloc_file_components( data_file , &path , &base , NULL); - if (path != NULL) - printf("Loading case: %s/%s ... ",path , base); - else - printf("Loading case: %s .......",base); - fflush(stdout); - { - ecl_sum_type * ecl_sum = ecl_sum_fread_alloc_case( data_file , KEY_JOIN_STRING ); - ens_add_sum( ens , ecl_sum ); - ens->sim_length = util_double_max( ens->sim_length , ecl_sum_get_sim_length( ecl_sum )); - } - vector_append_owned_ref( ens->interp_data , double_vector_alloc(0,0) , double_vector_free__ ); - printf("\n"); - free( base ); - util_safe_free( path ); - } else - fprintf(stderr,"Sorry: could not locate case:%s \n",data_file); -} - - -void ens_load_rft(ens_type * ens, const char * data_file) { - char * base , * path; - - - if (util_file_exists(data_file)) { - util_alloc_file_components( data_file , &path , &base , NULL); - char * rft_file = ecl_util_alloc_exfilename( path, base, ECL_RFT_FILE, false, -1 ); - if(rft_file != NULL){ - printf("Loading case: %s/%s ... ",path , base); - fflush(stdout); - ens_add_rft( ens , ecl_rft_file_alloc( rft_file)); - printf("\n"); - free( base ); - util_safe_free( path ); - } else - fprintf(stderr,"Sorry: could not locate rft file:%s \n",rft_file); - } else - fprintf(stderr,"Sorry: could not locate case:%s \n",data_file); -} - - - -void ens_load_batch(ens_type* ens, ens_type* ens_rft, const char * data_file) { - char* base ; - char* path ; - char message[128] ; - - if (util_file_exists(data_file)) { - util_alloc_file_components( data_file , &path , &base , NULL); - { - ecl_sum_type * ecl_sum = ecl_sum_fread_alloc_case( data_file , KEY_JOIN_STRING ); - if (ecl_sum != NULL){ - ens_add_sum( ens , ecl_sum ); - ens->sim_length = util_double_max( ens->sim_length , ecl_sum_get_sim_length( ecl_sum )); - vector_append_owned_ref( ens->interp_data , double_vector_alloc(0,0) , double_vector_free__ ); - } - else{ - sprintf(message,"No summary file for case %s loaded",base) ; - warning_reply(message) ; - } - } - - - char * rft_file = ecl_util_alloc_exfilename( path, base, ECL_RFT_FILE, false, -1 ); - - if(rft_file != NULL){ - ens_add_rft( ens_rft , ecl_rft_file_alloc( rft_file)); - sprintf(message,"Case %s loaded",base) ; - info_reply(message) ; - } else { - sprintf(message,"No RFT for case %s loaded",base) ; - warning_reply(message) ; - } ; - - free( base ); - util_safe_free( path ); - } else { - sprintf(message,"Case %s not found",base) ; - error_reply(message) ; - } -} - - -void * ens_load_batch__(void * arg) { - arg_pack_type * arg_pack = arg_pack_safe_cast( arg ); - ens_type * ens = arg_pack_iget_ptr( arg_pack , 0 ); - ens_type * ens_rft = arg_pack_iget_ptr( arg_pack , 1 ); - const char * data_file = arg_pack_iget_ptr( arg_pack , 2 ); - - ens_load_batch( ens, ens_rft , data_file ); - return NULL; -} - - - -void ens_load_many(ens_type * ens, path_fmt_type * data_file_fmt , int iens1, int iens2) { - int iens; - for (iens = iens1; iens <= iens2; iens++) { - char * data_file = path_fmt_alloc_path( data_file_fmt , false , iens , iens , iens); /* Substituting up to three %d with the member number. */ - ens_load_summary(ens , data_file); - free( data_file ); - } -} - - -void ens_set_plot_attributes(ens_type * ens) { - int new_color; - do { - new_color = util_scanf_int("Color (integer : 0-15 )", PROMPT_LEN); - } while ((new_color < 0) || (new_color > 15)); - ens_set_color( ens , new_color); -} - - -void ens_set_plot_attributes_batch(hash_type * ens_table, hash_type * ens_rft_table) { - - char message[128]; - char ens_name[128]; - scanf("%s" , ens_name); - int new_color; - char tmp_col[32]; - scanf("%s" , tmp_col); - util_sscanf_int(tmp_col, &new_color); - - if (hash_has_key( ens_table , ens_name)){ - ens_type * set_ens = hash_get( ens_table , ens_name); - if((new_color > -1) && (new_color < 16)){ - ens_set_color( set_ens , new_color); - } - } else { - sprintf(message,"Unknown ensemble %s",ens_name) ; - error_reply(message) ; - return ; - } - - if (hash_has_key( ens_rft_table , ens_name)){ - ens_type * set_ens = hash_get( ens_rft_table , ens_name); - if((new_color > -1) && (new_color < 16)){ - ens_set_color( set_ens , new_color); - } - } else { - sprintf(message,"Unknown ensemble %s",ens_name) ; - error_reply(message) ; - return ; - } - - info_reply("New attributes set") ; -} - - -/** - This function will set the quantile properties of an ensemble. The - main command loop has read a 'Quantiles', and then subsequently gone up - here. The first argument following the 'Quantiles' should be the name of - the ensemble, a true or false value (i.e. 1 or 0) as to whether - quantiles should be used, and if quantiles should be used the - number of quantiles and their values. - - Example1 - -------- - Quantiles <- read in the main loop - Prior <- Name of ensemble this applies to - 1 <- This ensemble should be plotted with quantiles. - 4 <- We want four quantiles - 0.10 <- The four quantile values - 0.32 <- - 0.68 <- - 0.90 <- - - - - Example2 - -------- - Quantiles <- read in the main loop - Prior <- Name of ensemble this applies to - 0 <- This ensemble should not be plotted with quantiles. - -*/ - -void ens_set_plot_quantile_properties_batch( hash_type * ens_table ) { - char message[128]; - char ens_name[128]; - scanf("%s" , ens_name); /* Name of ensemble. */ - if (hash_has_key( ens_table , ens_name)){ - ens_type * ens = hash_get( ens_table , ens_name); - int use_quantiles; - fscanf(stdin , "%d" , &use_quantiles); /* Should quantiles be used? */ - if (use_quantiles == 1) { - int num_quantiles; - ens_use_quantiles( ens , true ); - fscanf(stdin , "%d" , &num_quantiles); - ens_clear_quantiles( ens ); - for (int i = 0; i < num_quantiles; i++) { - double q; - fscanf(stdin , "%lg" , &q); - ens_add_quantile( ens , q ); - } - } else - ens_use_quantiles( ens , false); - } else { - sprintf(message,"Unknown ensemble %s",ens_name) ; - error_reply(message) ; - return; - } - -} - - -/*****************************************************************/ -/** Functions for 'manipulating' the plot_info type. */ - -void plot_info_set_path(plot_info_type * plot_info , const char * plot_path) { - plot_info->plot_path = util_realloc_string_copy(plot_info->plot_path , plot_path); - util_make_path( plot_path ); -} - - -void plot_info_set_device(plot_info_type * plot_info , const char * plot_device) { - plot_info->plot_device = util_realloc_string_copy(plot_info->plot_device , plot_device); -} - -void plot_info_set_viewer(plot_info_type * plot_info , const char * plot_viewer) { - plot_info->viewer = util_realloc_string_copy(plot_info->viewer , plot_viewer); -} - - -void plot_info_free( plot_info_type * plot_info) { - util_safe_free(plot_info->plot_path); - util_safe_free(plot_info->viewer); - util_safe_free(plot_info->plot_device); - -} - - -plot_info_type * plot_info_alloc(const char * plot_path , const char * device , const char * viewer) { - plot_info_type * info = util_malloc( sizeof * info ); - info->plot_path = NULL; - info->plot_device = NULL; - info->viewer = NULL; - - plot_info_set_path(info , plot_path); - plot_info_set_device(info , device); - plot_info_set_viewer(info , viewer); - - return info; -} - - - -/*****************************************************************/ - - -void plot_ensemble(const ens_type * ens , plot_type * plot , const char * user_key) { - const char * label = NULL; - const int ens_size = vector_get_size( ens->data ); - int iens; - - - if (ens->use_quantiles) { - /* The ensemble is plotted as a mean, and quantiles. */ - - /* 1: Init simulations days to use for resampling of the summary data. */ - double_vector_reset( ens->interp_days ); - for (int i = 0; i < ens->interp_size; i++) { - double sim_days = i * ens->sim_length / (ens->interp_size - 1); - double_vector_iset( ens->interp_days , i , sim_days); - } - - /* 2: resample all the simulation results to the same times. */ - for (iens = 0; iens < ens_size; iens++) { - const ecl_sum_type * ecl_sum = vector_iget_const( ens->data , iens ); - ecl_sum_resample_from_sim_days( ecl_sum , ens->interp_days , vector_iget( ens->interp_data , iens ) , user_key ); - } - - /* 3: Setting up the plot data for the quantiles. */ - { - /* 3A: Create the plot_dataset instances and set the properties for the plots. */ - vector_type * quantiles = vector_alloc_new(); - plot_dataset_type * mean = plot_alloc_new_dataset( plot , label , PLOT_XY); - - for (int i=0; i < double_vector_size( ens->quantiles ); i++) { - plot_dataset_type * quantile_dataset = plot_alloc_new_dataset( plot , label , PLOT_XY); - vector_append_ref( quantiles , quantile_dataset); - - /* - The plotting style of the quantiles is (currently) quite - hardcoded: - - 1. The quantiles are plotted as lines, with linestyle LONG_DASH. - 2. The quantiles are plotted with the same color as the "mother curve" (i.e. the mean). - 3. The quantiles are plotted with a linwidth given by 0.75 times the linewidth of the mean. - */ - - plot_dataset_set_style ( quantile_dataset , LINE ); - plot_dataset_set_line_color ( quantile_dataset , ens->plot_color); - plot_dataset_set_line_style ( quantile_dataset , PLOT_LINESTYLE_LONG_DASH); - plot_dataset_set_line_width ( quantile_dataset , ens->plot_line_width * 0.75); - } - - /* Set the style of the mean. */ - plot_dataset_set_style ( mean , ens->plot_style); - plot_dataset_set_line_color ( mean , ens->plot_color); - plot_dataset_set_point_color( mean , ens->plot_color); - plot_dataset_set_line_style ( mean , ens->plot_line_style); - plot_dataset_set_symbol_type( mean , ens->plot_symbol); - plot_dataset_set_symbol_size( mean , ens->plot_symbol_size); - plot_dataset_set_line_width ( mean , ens->plot_line_width); - - /* 3B: Calculate and add the actual data to plot. */ - { - double_vector_type * tmp = double_vector_alloc( 0,0); - for (int i =0; i < double_vector_size( ens->interp_days ); i++) { /* looping over the time direction */ - double_vector_reset( tmp ); - for (iens=0; iens < ens_size; iens++) { /* Looping over all the realisations. */ - const double_vector_type * interp_data = vector_iget_const( ens->interp_data , iens ); - double_vector_iset( tmp , iens , double_vector_iget( interp_data , i )); - } - - /* - Now tmp is an ensemble of values resampled to the same - time; this can be used for quantiles. - */ - { - const ecl_sum_type * ecl_sum = vector_iget_const( ens->data , 0); - - /* Adding the mean value. */ - plot_dataset_append_point_xy( mean , - ecl_sum_time_from_days( ecl_sum , double_vector_iget( ens->interp_days , i )) , /* Time value */ - statistics_mean( tmp )); - - /* Adding the quantiles. */ - for (int iq =0; iq < double_vector_size( ens->quantiles ); iq++) { /* Looping over all the quantiles. */ - double qv; - plot_dataset_type * data_set = vector_iget( quantiles , iq ); - qv = statistics_empirical_quantile( tmp , double_vector_iget( ens->quantiles , iq )); - plot_dataset_append_point_xy( data_set , - ecl_sum_time_from_days( ecl_sum , double_vector_iget( ens->interp_days , i )) , /* Time value */ - qv ); /* y-value - the interpolated quantile. */ - } - } - } - double_vector_free( tmp ); - } - vector_free(quantiles); - } - } else { - /* The ensemble is plotted as a collection of curves. */ - - for (iens = 0; iens < ens_size; iens++) { - plot_dataset_type * plot_dataset = plot_alloc_new_dataset( plot , label , PLOT_XY ); - const ecl_sum_type * ecl_sum = vector_iget_const( ens->data , iens ); - int param_index = ecl_sum_get_general_var_params_index( ecl_sum , user_key ); - int time_index; - - for (time_index = 0; time_index < ecl_sum_get_data_length( ecl_sum ); time_index++) { - plot_dataset_append_point_xy( plot_dataset , - //ecl_sum_iget_sim_days( ecl_sum , time_index ), - ecl_sum_iget_sim_time( ecl_sum , time_index ), - ecl_sum_iget( ecl_sum , time_index , param_index )); - } - - plot_dataset_set_style ( plot_dataset , ens->plot_style); - plot_dataset_set_line_color ( plot_dataset , ens->plot_color); - plot_dataset_set_point_color( plot_dataset , ens->plot_color); - plot_dataset_set_line_style ( plot_dataset , ens->plot_line_style); - plot_dataset_set_symbol_type( plot_dataset , ens->plot_symbol); - plot_dataset_set_symbol_size( plot_dataset , ens->plot_symbol_size); - plot_dataset_set_line_width( plot_dataset , ens->plot_line_width); - } - } -} - - -void plot_rft_ensemble(const ens_type * ens , plot_type * plot , const char * well, time_t survey_time) { - const char * label = NULL; - const int ens_size = vector_get_size( ens->data ); - int iens, inode; - - const ecl_rft_file_type * ecl_rft = NULL; - for (iens = 0; iens < ens_size; iens++) { - - plot_dataset_type * plot_dataset = plot_alloc_new_dataset( plot , label , PLOT_XY ); - ecl_rft = vector_iget_const( ens->data , iens ); - const ecl_rft_node_type * ecl_rft_node = ecl_rft_file_get_well_time_rft(ecl_rft, well, survey_time); - - - const int node_size = ecl_rft_node_get_size(ecl_rft_node); - for (inode =0;inode < node_size;inode++){ - plot_dataset_append_point_xy( plot_dataset , - ecl_rft_node_iget_pressure(ecl_rft_node,inode) , - ecl_rft_node_iget_depth(ecl_rft_node,inode) ); - } - - plot_dataset_set_style ( plot_dataset , ens->plot_style); - plot_dataset_set_line_color ( plot_dataset , ens->plot_color); - plot_dataset_set_point_color( plot_dataset , ens->plot_color); - plot_dataset_set_line_style ( plot_dataset , ens->plot_line_style); - plot_dataset_set_symbol_type( plot_dataset , ens->plot_symbol); - plot_dataset_set_symbol_size( plot_dataset , ens->plot_symbol_size); - plot_dataset_set_line_width( plot_dataset , ens->plot_line_width); - } -} - - -void set_range(plot_type * plot, time_t start_time){ - int num_tokens; - char ** token_list; - char * line; - - line = util_blocking_alloc_stdin_line(100); - util_split_string(line , " " , &num_tokens , &token_list); - - int i; - for (i=0;idata && vector_get_size(ens->data) > 0){ - hash_iter_free( ens_iter ); - break; - } - } - } - - const ecl_rft_file_type * ecl_rft = vector_iget_const( ens->data , 0 ); - if (ecl_rft_file_has_well( ecl_rft , well )) { - const ecl_rft_node_type * ecl_rft_node = ecl_rft_file_iget_well_rft(ecl_rft, well, 0); - const int node_size = ecl_rft_node_get_size(ecl_rft_node); - int inode; - int ni,nj,nk; - for (inode =0;inode < node_size;inode++){ - /* - The ecl_rft structure has zero offset values for the - coordinates, whereas the (i,j,k) input to this function is - assumed offset 1. - */ - ecl_rft_node_iget_ijk( ecl_rft_node , inode , &ni , &nj , &nk); - - if( ( i == (ni + 1)) && - ( j == (nj + 1)) && - ( k == (nk + 1))) { - //double depth = ecl_rft_node_iget_depth(ecl_rft_node,inode); - return ecl_rft_node_iget_depth(ecl_rft_node,inode); - } - } - } - - return 0; -} - - -void plot_meas_file(plot_type * plot, time_t start_time){ - bool done = 0; - double x,x1,x2,y,y1,y2; - char * error_ptr; - plot_dataset_type * plot_dataset; - time_t time; - int days; - while (!done) { - int num_tokens; - char ** token_list; - char * line; - - line = util_blocking_alloc_stdin_line(10); - util_split_string(line , " " , &num_tokens , &token_list); - - /* - Tips: - - - 1. Free token_list: util_free_stringlist( token_list , num_tokens); - 2. Parse int/double/... - - if (util_sscanf_double(token_list[??] , &double_value)) - prinftf("Parsed %s -> %g \n",token_list[?+] , double_value); - else - printf("Could not interpret %s as double \n",token_list[??]); - - */ - - if (token_list[0] != NULL) { - if(strcmp(token_list[0], STOP_CMD) == 0){ - done = 1; - } - - if(strcmp(token_list[0], XY_CMD) == 0){ - util_sscanf_date(token_list[1] , &time); - util_difftime(start_time, time, &days, NULL, NULL, NULL); - x = time; - //x = days; - - y = strtod(token_list[2], &error_ptr); - plot_dataset = plot_alloc_new_dataset( plot , NULL , PLOT_XY ); - plot_dataset_set_style (plot_dataset , POINTS); - plot_dataset_append_point_xy(plot_dataset , x , y); - plot_dataset_set_line_width( plot_dataset , 1.5); - plot_dataset_set_line_color( plot_dataset , 15); - } - - if(strcmp(token_list[0], XYY_CMD) == 0){ - util_sscanf_date(token_list[1] , &time); - util_difftime(start_time, time, &days, NULL, NULL, NULL); - //x = days; - x = time; - y1 = strtod(token_list[2], &error_ptr); - y2 = strtod(token_list[3], &error_ptr); - - plot_dataset = plot_alloc_new_dataset( plot , NULL , PLOT_XY1Y2 ); - plot_dataset_append_point_xy1y2(plot_dataset , x , y1, y2); - plot_dataset_set_line_width( plot_dataset , 1.5); - plot_dataset_set_line_color( plot_dataset , 15); - } - - if(strcmp(token_list[0], XXY_CMD) == 0){ - x1 = strtod(token_list[1], &error_ptr); - x2 = strtod(token_list[2], &error_ptr); - time_t time1 = start_time; - time_t time2 = start_time; - util_inplace_forward_days(&time1 , x1); - util_inplace_forward_days(&time2 , x2); - - y = strtod(token_list[3], &error_ptr); - plot_dataset = plot_alloc_new_dataset( plot , NULL , PLOT_X1X2Y ); - plot_dataset_append_point_x1x2y(plot_dataset , time1 , time2, y); - plot_dataset_set_line_width( plot_dataset , 1.5); - plot_dataset_set_line_color( plot_dataset , 15); - } - - } else { - util_forward_line(stdin , &done); - } - util_free_stringlist( token_list , num_tokens); - } -} - -void plot_meas_rft_file(plot_type * plot, char * well, hash_type * ens_table){ - bool done = 0; - int i, j, k; - double x1, x2; - plot_dataset_type * plot_dataset; - //time_t time; - //int days; - while (!done) { - int num_tokens; - char ** token_list; - char * line; - - line = util_blocking_alloc_stdin_line(10); - util_split_string(line , " " , &num_tokens , &token_list); - - /* - Tips: - - - 1. Free token_list: util_free_stringlist( token_list , num_tokens); - 2. Parse int/double/... - - if (util_sscanf_double(token_list[??] , &double_value)) - prinftf("Parsed %s -> %g \n",token_list[?+] , double_value); - else - printf("Could not interpret %s as double \n",token_list[??]); - - */ - - if (token_list[0] != NULL) { - if(strcmp(token_list[0], STOP_CMD ) == 0){ - done = 1; - } - - if(strcmp(token_list[0], RFT_CMD) == 0){ - util_sscanf_int(token_list[1] , &i); - util_sscanf_int(token_list[2] , &j); - util_sscanf_int(token_list[3] , &k); - util_sscanf_double(token_list[4] , &x1); - util_sscanf_double(token_list[5] , &x2); - - double depth = get_rft_depth(ens_table, well, i, j, k); - - if(depth != 0){ - plot_dataset = plot_alloc_new_dataset( plot , NULL , PLOT_X1X2Y ); - plot_dataset_append_point_x1x2y(plot_dataset , x1 , x2, depth); - plot_dataset_set_line_width( plot_dataset , 1.5); - plot_dataset_set_line_color( plot_dataset , 15); - } - else{ - printf ("The block %i %i %i does not exist in well %s\n", i, j, k, well); - } - } - - } else { - util_forward_line(stdin , &done); - } - util_free_stringlist( token_list , num_tokens); - } -} - - - - - -void plot_finalize(plot_type * plot , plot_info_type * info , const char * plot_file) { - plot_data(plot); - plot_free(plot); - util_fork_exec(info->viewer , 1 , (const char *[1]) { plot_file } , false , NULL , NULL , NULL , NULL , NULL); -} - - -void plot_all(void * arg) { - arg_pack_type * arg_pack = arg_pack_safe_cast( arg ); - hash_type * ens_table = arg_pack_iget_ptr( arg_pack , 0); - plot_info_type * plot_info = arg_pack_iget_ptr( arg_pack , 1); - { - plot_type * plot; - char key[32]; - char * plot_file; - - util_printf_prompt("Give key to plot" , PROMPT_LEN , '=' , "=> "); - scanf("%s" , key); - - plot_file = util_alloc_sprintf("%s/%s.%s" , plot_info->plot_path , key , plot_info->plot_device); - { - arg_pack_type * arg_pack = arg_pack_alloc(); - arg_pack_append_ptr( arg_pack , plot_file ); - arg_pack_append_ptr( arg_pack , plot_info->plot_device); - - plot = plot_alloc("PLPLOT" , arg_pack , false , false); /* The two last arguments are for log - works by taking log on the __the_data__. */ - - arg_pack_free( arg_pack ); - } - plot_set_window_size(plot , PLOT_WIDTH , PLOT_HEIGHT); - plot_set_labels(plot , "Time (days)" , key , key); - - { - bool complete; - hash_iter_type * ens_iter = hash_iter_alloc( ens_table ); - do { - complete = hash_iter_is_complete( ens_iter ); - if (!complete) { - const ens_type * ens = hash_iter_get_next_value( ens_iter ); - plot_ensemble( ens , plot , key); - } - } while (!complete); - hash_iter_free( ens_iter ); - plot_finalize(plot , plot_info , plot_file); - } - printf("Plot saved in: %s \n",plot_file); - free( plot_file ); - } -} - - -void _plot_batch_rft(arg_pack_type* arg_pack, char* inkey){ - - // subroutine used in batch mode to plot an rft vector for a list of ensembles given at stdin - - char message[128] ; - - hash_type* ens_rft_table = arg_pack_iget_ptr( arg_pack , 1); - plot_info_type* plot_info = arg_pack_iget_ptr( arg_pack , 2); - - plot_type* plot = NULL ; - - char * key = inkey; - - // split the key in to head, well, date - int num_tokens; - char ** token_list; - util_split_string(key , ":" , &num_tokens , &token_list); - - if(num_tokens != 3){ - sprintf(message,"The key %s does not exist", key); - error_reply(message) ; - return; - } - - char * well = token_list[1]; - char * date = token_list[2]; - time_t survey_time ; - util_sscanf_date(date , &survey_time) ; - - char * plot_file; - { - char * plot_name = util_alloc_sprintf("%s:%s" , token_list[0] , token_list[1]); - plot_file = util_alloc_filename(plot_info->plot_path , plot_name , plot_info->plot_device); - free( plot_name ); - } - - { - arg_pack_type * arg_pack = arg_pack_alloc(); - arg_pack_append_ptr( arg_pack , plot_file ); - arg_pack_append_ptr( arg_pack , plot_info->plot_device); - plot = plot_alloc("PLPLOT" , arg_pack , false , false ); - arg_pack_free( arg_pack ); - } - plot_set_window_size(plot , PLOT_WIDTH , PLOT_HEIGHT); - plot_set_labels(plot , "Pressure" , "Depth" , key); - - - char ens_name[32]; - int iens; - int ens_size; - bool ens_ok = false; - - // Check if there is anything to plot - ens_type * ens = NULL; - { - hash_iter_type * ens_iter = hash_iter_alloc( ens_rft_table ); - while (!hash_iter_is_complete( ens_iter )) { - ens = hash_iter_get_next_value( ens_iter ); - if (ens != NULL && ens->data && vector_get_size(ens->data) > 0){ - hash_iter_free( ens_iter ); - ens_ok = true; - break; - } - } - } - - if (!ens_ok) { - error_reply("No ensembles or RFT files to plot\n"); - return; - } - - - const ecl_rft_file_type * ecl_rft = vector_iget_const( ens->data , 0 ); - - sprintf(message,"Will plot %s",key) ; - info_reply(message) ; - - bool plotempty = true ; - bool complete = false; - bool failed = false ; - - while (!complete) { - scanf("%s" , ens_name); - - if(strcmp(ens_name, MEAS_POINTS_CMD ) == 0){ - plot_meas_rft_file(plot, well, ens_rft_table); - plotempty = false ; - info_reply("Measured values plotted") ; - } else if(strcmp(ens_name, SET_RANGE_CMD) == 0){ - set_range_rft(plot); - info_reply("Range set") ; - } else if(strcmp(ens_name, NEW_VECTOR_CMD ) == 0){ - scanf("%s" , key); - util_split_string(key , ":" , &num_tokens , &token_list); - - if(num_tokens != 3){ - sprintf(message,"The key %s does not exist", key); - error_reply(message) ; - return; - } - - if(strcmp(token_list[0],"RFT") != 0){ - sprintf(message,"The key %s does not exist", key); - error_reply(message) ; - failed = true ; - char tmp[32]; - scanf("%s" , tmp); - } - else{ - well = token_list[1]; - date = token_list[2]; - util_sscanf_date(date , &survey_time) ; - sprintf(message,"Will plot %s",key) ; - info_reply(message) ; - } - } else if (strcmp(ens_name, STOP_CMD) == 0) { - complete = true ; - } else if (hash_has_key(ens_rft_table , ens_name)){ - ens = hash_get(ens_rft_table , ens_name); - - // Check if there is anything to plot - if (ens == NULL || !(ens->data) || vector_get_size(ens->data) <= 0) { // Denne satt langt inne !!!! - sprintf(message,"No RFT files to plot in ensemble %s\n", ens_name); - error_reply(message); - return; - } - - ens_size = vector_get_size( ens->data ); - - - // Check if the rft file has the requested well and date - for (iens = 0; iens < ens_size && !failed; iens++) { - ecl_rft = vector_iget_const( ens->data , iens ); - if(!ecl_rft_file_has_well(ecl_rft , well)){ - sprintf(message,"The well %s does not exist\n", well); - error_reply(message) ; - failed = true ; - } else { - // Check if the rft file has the requested survey time - const ecl_rft_node_type * ecl_rft_node = ecl_rft_file_get_well_time_rft(ecl_rft, well, survey_time); - if(ecl_rft_node == NULL){ - sprintf(message,"The survey %s in %s does not exist", well, date); - error_reply(message) ; - failed = true ; - } - } - } - - if (!failed) { - plot_rft_ensemble( ens , plot , well, survey_time); - plotempty = false ; - sprintf(message,"%s plotted",ens_name) ; - info_reply(message) ; - } ; - - } else { - sprintf(message,"unknown ensemble %s",ens_name) ; - error_reply(message) ; - return ; - } - - } // End while - - if (plot && !plotempty) { - plot_data(plot); - plot_free(plot); - if (use_viewer) { - util_fork_exec(plot_info->viewer , 1 , (const char *[1]) { plot_file } , false , NULL , NULL , NULL , NULL , NULL); - } ; - sprintf(message,"Plot file %s",plot_file) ; - info_reply(message) ; - } else { - error_reply("No data plotted") ; - } ; - - free( plot_file ); -} - - - -void _plot_batch_summary(arg_pack_type* arg_pack, char * inkey){ - - // subroutine used in batch mode to plot a summary vector for a list of ensembles given at stdin - - char message[128] ; - - hash_type* ens_table = arg_pack_iget_ptr( arg_pack , 0); - plot_info_type* plot_info = arg_pack_iget_ptr( arg_pack , 2); - - plot_type* plot = NULL ; - - char* key = inkey; - char* plot_file ; - - plot_file = util_alloc_sprintf("%s/%s.%s" , plot_info->plot_path , key , plot_info->plot_device); - - { - arg_pack_type * arg_pack = arg_pack_alloc(); - arg_pack_append_ptr( arg_pack , plot_file ); - arg_pack_append_ptr( arg_pack , plot_info->plot_device); - plot = plot_alloc("PLPLOT" , arg_pack , false , false ); - arg_pack_free( arg_pack ); - } - plot_set_window_size(plot , PLOT_WIDTH , PLOT_HEIGHT); - plot_set_labels(plot , "Date" , key , key); - - // get the simulation start time, to be used in plot_meas_file - ens_type * ens = NULL; - bool ens_ok = false; - { - hash_iter_type * ens_iter = hash_iter_alloc( ens_table ); - while (!hash_iter_is_complete( ens_iter )) { - ens = hash_iter_get_next_value( ens_iter ); - if (ens != NULL && ens->data && vector_get_size(ens->data) > 0){ - hash_iter_free( ens_iter ); - ens_ok = true; - break; - } - } - } - - if ( !ens_ok ) { - error_reply("No ensembles or summary files to plot\n"); - return ; - } ; - - const ecl_sum_type * ecl_sum = vector_iget_const( ens->data , 0 ); - - time_t start_time = ecl_sum_get_start_time( ecl_sum ); - time_t end_time = ecl_sum_get_end_time( ecl_sum ); - - sprintf(message,"Will plot %s",key) ; - info_reply(message) ; - - char ens_name[32]; - bool complete = false; - bool plotempty = true ; - bool failed = false ; - - int iens; - int ens_size; - - while (!complete) { - scanf("%s" , ens_name); - - if(strcmp(ens_name, MEAS_POINTS_CMD) == 0){ - plot_meas_file(plot, start_time); - plotempty = false ; - info_reply("Measured values plotted") ; - } else if(strcmp(ens_name, SET_RANGE_CMD) == 0){ - set_range(plot, start_time); - info_reply("Range set") ; - } else if(strcmp(ens_name, NEW_VECTOR_CMD) == 0){// ?????????? - scanf("%s" , key); - } else if (strcmp(ens_name, STOP_CMD) == 0) { - complete = true ; - } else if (hash_has_key( ens_table , ens_name)){ - ens = hash_get(ens_table , ens_name); - - // Check if there is anything to plot - if (ens == NULL || !(ens->data) || vector_get_size(ens->data) <= 0) { // Denne satt langt inne !!!! - sprintf(message,"No files to plot in ensemble %s\n", ens_name); - error_reply(message); - return; - } - - ens_size = vector_get_size( ens->data ); - // Check if the summary file has the requested key - for (iens = 0; iens < ens_size && !failed; iens++) { - ecl_sum = vector_iget_const( ens->data , iens ); - if(!ecl_sum_has_general_var(ecl_sum , key)){ - sprintf(message,"The key %s does not exist in case %i", key,iens); // How to get name - error_reply(message) ; - failed = true ; - } - } ; - - if (!failed) { - plotempty = false ; - plot_ensemble( ens , plot , key); - sprintf(message,"%s plotted",ens_name) ; - info_reply(message) ; - } ; - - } else { - sprintf(message,"unknown ensemble %s",ens_name) ; - error_reply(message) ; - return ; - } - - } // End while - - if (plot && !plotempty) { - plot_set_default_timefmt(plot , start_time , end_time); - plot_data(plot); - plot_free(plot); - if (use_viewer) { - util_fork_exec(plot_info->viewer , 1 , (const char *[1]) { plot_file } , false , NULL , NULL , NULL , NULL , NULL); - } ; - sprintf(message,"Plot file %s",plot_file) ; - info_reply(message) ; - } else { - error_reply("No data plotted") ; - } ; - - free( plot_file ); -} - - -/******************************************************************/ - -ens_type * select_ensemble(hash_type * ens_table, const char * prompt) { - char ens_name[32]; - - util_printf_prompt(prompt, PROMPT_LEN , '=' , "=> "); - scanf("%s" , ens_name); - if (hash_has_key( ens_table , ens_name)) - return hash_get( ens_table , ens_name); - else { - fprintf(stderr,"Do not have ensemble: \'%s\' \n", ens_name); - return NULL; - } -} - -void plot_batch(arg_pack_type* arg) { - char * key = util_blocking_alloc_stdin_line(10); - int num_tokens; - char ** token_list; - - // scan stdin for vector - util_split_string(key , ":" , &num_tokens , &token_list); - if(strcmp(token_list[0],"RFT") == 0){ - _plot_batch_rft(arg, key); - } else{ - _plot_batch_summary(arg, key); - } -} - - -void add_simulation(void * arg) { - hash_type * ens_table = (hash_type *) arg; - ens_type * ens = select_ensemble( ens_table , "Which ensemble"); - if (ens != NULL) { - char data_file[512]; - util_printf_prompt("Give datafile", PROMPT_LEN , '=' , "=> "); - scanf("%s" , data_file); - ens_load_summary( ens , data_file ); - } -} - - -void scanf_ensemble_numbers(int * iens1 , int * iens2) { - bool OK = false; - - util_printf_prompt("Ensemble members (xx yy)" , PROMPT_LEN , '=' , "=> "); - - while (!OK) { - char * input = util_alloc_stdin_line(); - const char * current_ptr = input; - OK = true; - - current_ptr = util_parse_int(current_ptr , iens1 , &OK); - current_ptr = util_skip_sep(current_ptr , " ,-:" , &OK); - current_ptr = util_parse_int(current_ptr , iens2 , &OK); - - if (!OK) - printf("Failed to parse two integers from: \"%s\". Example: \"0 - 19\" to get the 20 first members.\n",input); - free(input); - } -} - - - -void add_many_simulations(void * arg) { - hash_type * ens_table = (hash_type *) arg; - ens_type * ens = select_ensemble( ens_table , "Which ensemble"); - if (ens != NULL) { - path_fmt_type * data_file_fmt; - int iens1 , iens2; - char data_file[512]; - util_printf_prompt("Give datafile format (with up to three %d) ", PROMPT_LEN , '=' , "=> "); - scanf("%s" , data_file); - data_file_fmt = path_fmt_alloc_path_fmt( data_file ); - - scanf_ensemble_numbers(&iens1 , &iens2); /* iens1 and iens2 are inclusive */ - - ens_load_many( ens , data_file_fmt , iens1 , iens2 ); - path_fmt_free( data_file_fmt ); - } -} - - - - -void create_ensemble(void * arg) { - hash_type * ens_table = (hash_type *) arg; - char ens_name[32]; - - util_printf_prompt("Name of new ensemble", PROMPT_LEN , '=' , "=> "); - scanf("%s" , ens_name); - if (!hash_has_key( ens_table , ens_name)) { - ens_type * ens = ens_alloc(); - hash_insert_hash_owned_ref( ens_table , ens_name , ens , ens_free__); - } -} - - -void create_named_ensembles(ens_type** ens, ens_type** ens_rft, hash_type* ens_table, hash_type* ens_rft_table, char* ens_name) { - char message[128] ; - if (!hash_has_key( ens_table , ens_name) && !hash_has_key( ens_rft_table , ens_name)) { - *ens = ens_alloc(); - ens_set_line_width(*ens, 1.5); - hash_insert_hash_owned_ref( ens_table , ens_name , *ens , ens_free__); - - *ens_rft = ens_alloc(); - ens_set_line_width(*ens_rft, 1.5); - ens_set_style(*ens_rft, POINTS); - ens_set_symbol_type(*ens_rft , PLOT_SYMBOL_FILLED_CIRCLE); - hash_insert_hash_owned_ref( ens_rft_table , ens_name , *ens_rft , ens_free__); - - sprintf(message,"Ensemble %s created", ens_name); - info_reply(message) ; - } else { - sprintf(message,"Ensemble %s already exist",ens_name) ; - error_reply(message) ; - } ; - return ; -} ; - - -/** - This function has been slightly rewritten to support multithreaded - loading of realizations. The most important changes is that the - error and complete conditions are handled with a break statement, - and not an immediate return. This is essential to ensure that - thread_pool_join() call at the end of the function is issued. -*/ - -void create_ensemble_batch(hash_type* ens_table, hash_type* ens_rft_table) { - thread_pool_type * tp = thread_pool_alloc( MAX_LOAD_THREADS , true ); - vector_type * arglist = vector_alloc_new(); /* Container to discard the arg_pack instances used for the threaded loading. */ - char message[128] ; - char * line; - // scan stdin for ensemble name - char * ens_name = util_alloc_stdin_line(); - - ens_type* ens = NULL ; - ens_type* ens_rft = NULL ; - create_named_ensembles(&ens, &ens_rft, ens_table, ens_rft_table, ens_name); - - // scan stdin for valid simulation directory, or a valid eclipse data filename - - char * base; - - while (1) { - char * data_file = NULL; - - line = util_alloc_stdin_line(); - - if(strcmp(line, "_stop_") == 0){ - sprintf(message,"Ensemble %s created",ens_name) ; - info_reply(message) ; - break; - } - - // Check if this is a directory or a file - if(util_is_directory(line)) { - base = ecl_util_alloc_base_guess(line); - data_file = ecl_util_alloc_filename(line, base, ECL_DATA_FILE , true , 0); - } else if (util_is_file(line)) - data_file = util_alloc_string_copy( line ); - - if (data_file != NULL) { - arg_pack_type * arg_pack = arg_pack_alloc(); - vector_append_owned_ref( arglist , arg_pack , arg_pack_free__); - arg_pack_append_ptr( arg_pack , ens ); - arg_pack_append_ptr( arg_pack , ens_rft ); - arg_pack_append_owned_ptr( arg_pack , data_file , free); /* The arg pack takes ownership of the data_file pointer. */ - - thread_pool_add_job(tp , ens_load_batch__ , arg_pack ); - //ens_load_batch(ens , ens_rft , data_file) ; - } else { - sprintf(message,"%s is not a valid eclipse summary file or directory", line); - error_reply(message) ; - free(line) ; - break; - }; - free(line); - }; - - thread_pool_join( tp ); - thread_pool_free( tp ); - vector_free( arglist ); - sprintf(message,"Ensemble %s created",ens_name) ; - info_reply(message) ; -} - - -void set_plot_attributes(void * arg) { - hash_type * ens_table = (hash_type *) arg; - ens_type * ens = select_ensemble( ens_table , "Which ensemble"); - if (ens != NULL) - ens_set_plot_attributes( ens ); - -} - - - - - -/*****************************************************************/ - -void print_usage() { - printf("***************************************************************************\n"); - printf(" This program is used to plot the summary results from many ECLIPSE\n"); - printf(" simulations in one plot.\n"); - printf("\n"); - printf(" 1. When starting the program you can give the path to ECLIPSE data\n"); - printf(" files on the command line - the corresponding summary results will\n"); - printf(" be loaded.\n"); - printf("\n"); - printf(" 2. In the menu:\n"); - printf("\n"); - printf(" p: Plot summary ensemble(s): This will ask you for a key to plot,\n"); - printf(" i.e. RPR:2 for a region, WWCT:OP_3 for the watercut in well OP_3\n"); - printf(" and FOPR for the field oil production rate - and so on. It will\n"); - printf(" plot all the ensembles you have loaded.\n"); - printf("\n"); - printf(" c: Create a new ensemble: The simulation results are grouped\n"); - printf(" together in ensembles. With this command you can make a new\n"); - printf(" (empty) ensemble.\n"); - printf("\n"); - printf(" n: New simulation case: You can load a new simulation; first you\n"); - printf(" are prompted for the name of an ensemble, and then afterwards\n"); - printf(" an ECLIPSE data file which is then loaded.\n"); - printf("\n"); - printf(" m: Add many simulations: This is similar to 'n' - but instead of\n"); - printf(" giving a data-file you give a (C-based) format string containing\n"); - printf(" up to three %%d format specifiers - these are replaced with\n"); - printf(" simulation number, and the corresponding cases are loaded.\n"); - printf("\n"); - printf(" a: Set plot attributes: This gives you the possibility to set plot\n"); - printf(" attributes for an ensemble. Observe that all the members in the\n"); - printf(" ensemble are plotted with the same attributes. (Currently only\n"); - printf(" attribute is color).\n"); - printf("\n"); - printf("***************************************************************************\n"); -} - - -/*****************************************************************/ - -int main(int argc , char ** argv) { - install_SIGNALS(); - - //setvbuf(stdout, NULL, _IOFBF, 0); - setenv( "PLPLOT_LIB" , "/project/res/x86_64_RH_5/plplot/plplot-5.10.0/share/plplot5.10.0" , 1); - - if(argc > 1){ - if(strcmp(argv[1], "-b") == 0 || strcmp(argv[1], "-s") == 0) { - if (strcmp(argv[1], "-b") == 0) { - use_viewer = true ; - } ; - char * path = util_blocking_alloc_stdin_line(10); - - hash_type * ens_table = hash_alloc(); - hash_type * ens_rft_table = hash_alloc(); - plot_info_type * info = plot_info_alloc( path , "png" , VIEWER); - arg_pack_type * arg_pack = arg_pack_alloc(); - arg_pack_append_ptr( arg_pack , ens_table ); - arg_pack_append_ptr( arg_pack , ens_rft_table ); - arg_pack_append_ptr( arg_pack , info ); - char * line; - free(path); - - while (1){ - line = util_blocking_alloc_stdin_line(10); - util_strupr(line); - - //if(strcmp(line, "Q") == 0 || strcmp(line, "STOP") == 0 ){ - if(strcmp(line, QUIT_CMD) == 0){ - - plot_info_free( info ); - hash_free( ens_table ); - hash_free( ens_rft_table ); - return 0 ; - - } else if(strcmp(line, CREATE_ENS_CMD) == 0){ - - create_ensemble_batch(ens_table, ens_rft_table); - - } else if (strcmp(line, PLOT_CMD) == 0){ - - plot_batch(arg_pack); - - } else if (strcmp(line, ATTRIBUTES_CMD) == 0){ - ens_set_plot_attributes_batch(ens_table, ens_rft_table); - } else if (strcmp(line, QUANTILES_CMD) == 0){ - ens_set_plot_quantile_properties_batch( ens_table ); - } else { - - char message[128] ; - sprintf(message,"Unknown command %s",line) ; - error_reply(message) ; - - } ; - - free(line); - } - plot_info_free( info ); - hash_free( ens_table ); - hash_free( ens_rft_table ); - return 1 ; - - } - } - - hash_type * ens_table = hash_alloc(); - plot_info_type * info = plot_info_alloc( "Plot" , "png" , VIEWER); - - print_usage(); - - - { - int iarg; - if (argc > 1) { - printf("Loading realizations in ensemble: \"Ensemble1\"\n"); - ens_type * ens = ens_alloc(); - for (iarg = 1; iarg < argc; iarg++) - ens_load_summary(ens , argv[iarg]); - hash_insert_hash_owned_ref( ens_table , "Ensemble1" , ens , ens_free__); - } - } - - { - menu_type * menu = menu_alloc("E C L I P S E Ensemble plot" , "Quit" , "q"); - arg_pack_type * arg_pack = arg_pack_alloc(); - - arg_pack_append_ptr( arg_pack , ens_table ); - arg_pack_append_ptr( arg_pack , info ); - menu_add_item(menu , "Plot summary ensemble(s)" , "p" , plot_all , arg_pack , NULL); - menu_add_separator( menu ); - menu_add_item(menu , "Create new ensemble" , "cC" , create_ensemble , ens_table , NULL); - menu_add_item(menu , "New simulation case" , "nN" , add_simulation , ens_table , NULL); - menu_add_item(menu , "Add many simulations" , "mM" , add_many_simulations , ens_table , NULL); - menu_add_separator( menu ); - menu_add_item(menu , "Set plot attributes (color)" , "aA" , set_plot_attributes , ens_table , NULL); - menu_run(menu); - menu_free( menu ); - arg_pack_free( arg_pack ); - } - - plot_info_free( info ); - hash_free( ens_table ); - exit(1); -} diff --git a/ThirdParty/Ert/devel/libecl/applications/summary2csv.c b/ThirdParty/Ert/devel/libecl/applications/summary2csv.c deleted file mode 100644 index 2b9fb94eb9..0000000000 --- a/ThirdParty/Ert/devel/libecl/applications/summary2csv.c +++ /dev/null @@ -1,112 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - The file 'summary2csv.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include -#include - -#include -#include - -#include - - - -static bool extend_key_list( const ecl_sum_type * ecl_sum , const stringlist_type * var_list , const char * well , stringlist_type * key_list ) { - bool oil_producer = false; - int last_step = ecl_sum_get_data_length( ecl_sum ) - 1; - char * wopt_key = ecl_sum_alloc_well_key( ecl_sum , "WOPT", well); - if (ecl_sum_has_key( ecl_sum , wopt_key) && (ecl_sum_get_well_var( ecl_sum , last_step , well , "WOPT") > 0 )) { - /* - We add all the keys unconditionally here; and then let the - ecl_sum_fprintf() function print a message on stderr if it is - missing. - */ - int ivar; - for (ivar = 0; ivar < stringlist_get_size( var_list ); ivar++) { - const char * var = stringlist_iget( var_list , ivar ); - stringlist_append_owned_ref( key_list , ecl_sum_alloc_well_key( ecl_sum , var, well) ); - } - oil_producer = true; - } - free( wopt_key ); - return oil_producer; -} - - -int main(int argc , char ** argv) { - { - ecl_sum_fmt_type fmt; - bool well_rows = false; - bool include_restart = true; - int arg_offset = 1; - - if (argc != 2) { - printf("You must supply the name of a case as:\n\n summary2csv.exe ECLIPSE_CASE\n\nThe case can optionally contain a leading path component.\n"); - exit(1); - } - - { - char * data_file = argv[arg_offset]; - ecl_sum_type * ecl_sum; - stringlist_type * var_list = stringlist_alloc_new(); - - stringlist_append_ref( var_list , "WOPR" ); - stringlist_append_ref( var_list , "WOPT" ); - stringlist_append_ref( var_list , "WGPR" ); - stringlist_append_ref( var_list , "WGPT" ); - stringlist_append_ref( var_list , "WWPR" ); - stringlist_append_ref( var_list , "WWPT" ); - - ecl_sum_fmt_init_csv( &fmt ); - ecl_sum = ecl_sum_fread_alloc_case__( data_file , ":" , include_restart); - if (ecl_sum != NULL) { - char * csv_file = util_alloc_filename( NULL , ecl_sum_get_base(ecl_sum) , "txt"); // Will save to current path; can use ecl_sum_get_path() to save to target path instead. - FILE * stream = util_fopen( csv_file , "w"); - - stringlist_type * well_list = ecl_sum_alloc_well_list( ecl_sum , NULL ); - stringlist_type * key_list = stringlist_alloc_new( ); - int iw; - - for (iw = 0; iw < stringlist_get_size( well_list ); iw++) { - const char * well = stringlist_iget( well_list , iw ); - if (!extend_key_list( ecl_sum , var_list , well , key_list)) - fprintf(stderr , "Ignoring well: %s \n",well); - - if (well_rows) { - if (stringlist_get_size(key_list)) { - ecl_sum_fprintf(ecl_sum , stream , key_list , false , &fmt); - stringlist_clear( key_list ); - } - } - } - if (!well_rows) - ecl_sum_fprintf(ecl_sum , stream , key_list , false , &fmt); - - stringlist_free( well_list ); - stringlist_free( key_list ); - ecl_sum_free(ecl_sum); - fclose( stream ); - free( csv_file ); - } else - fprintf(stderr,"summary2csv: No summary data found for case:%s\n", data_file ); - - stringlist_free( var_list ); - } - } -} diff --git a/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_file.h b/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_file.h deleted file mode 100644 index a2d1b28340..0000000000 --- a/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_file.h +++ /dev/null @@ -1,142 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'ecl_file.h' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#ifndef __ECL_FILE_H__ -#define __ECL_FILE_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - - -#include -#include -#include -#include - - typedef enum { - ECL_FILE_CLOSE_STREAM = 1 , /* - This flag will close the underlying FILE object between each access; this is - mainly to save filedescriptors in cases where many ecl_file instances are open at - the same time. */ - // - ECL_FILE_WRITABLE = 2 /* - This flag opens the file in a mode where it can be updated and modified, but it - must still exist and be readable. I.e. this should not compared with the normal: - fopen(filename , "w") where an existing file is truncated to zero upon successfull - open. - */ - } ecl_file_flag_type; - - -#define ECL_FILE_FLAGS_ENUM_DEFS \ - {.value = 1 , .name="ECL_FILE_CLOSE_STREAM"}, \ - {.value = 2 , .name="ECL_FILE_WRITABLE"} -#define ECL_FILE_FLAGS_ENUM_SIZE 2 - - - - - typedef struct ecl_file_struct ecl_file_type; - bool ecl_file_load_all( ecl_file_type * ecl_file ); - void ecl_file_push_block( ecl_file_type * ecl_file ); - void ecl_file_pop_block( ecl_file_type * ecl_file ); - ecl_file_type * ecl_file_open( const char * filename , int flags); - void ecl_file_close( ecl_file_type * ecl_file ); - void ecl_file_fortio_detach( ecl_file_type * ecl_file ); - void ecl_file_free__(void * arg); - ecl_kw_type * ecl_file_icopy_named_kw( const ecl_file_type * ecl_file , const char * kw, int ith); - ecl_kw_type * ecl_file_icopy_kw( const ecl_file_type * ecl_file , int index); - bool ecl_file_has_kw( const ecl_file_type * ecl_file , const char * kw); - int ecl_file_get_num_named_kw(const ecl_file_type * ecl_file , const char * kw); - int ecl_file_get_size( const ecl_file_type * ecl_file ); - int ecl_file_get_num_distinct_kw(const ecl_file_type * ecl_file); - const char * ecl_file_iget_distinct_kw(const ecl_file_type * ecl_file , int index); - const char * ecl_file_get_src_file( const ecl_file_type * ecl_file ); - int ecl_file_iget_occurence( const ecl_file_type * ecl_file , int index); - ecl_version_enum ecl_file_get_ecl_version( const ecl_file_type * file ); - void ecl_file_fwrite_fortio(const ecl_file_type * ec_file , fortio_type * fortio , int offset); - void ecl_file_fwrite(const ecl_file_type * ecl_file , const char * , bool fmt_file ); - - void ecl_file_replace_kw( ecl_file_type * ecl_file , ecl_kw_type * old_kw , ecl_kw_type * new_kw , bool insert_copy); - int ecl_file_get_phases( const ecl_file_type * init_file ); - void ecl_file_fprintf_kw_list( const ecl_file_type * ecl_file , FILE * stream ); - - bool ecl_file_writable( const ecl_file_type * ecl_file ); - int ecl_file_get_flags( const ecl_file_type * ecl_file ); - void ecl_file_set_flags( ecl_file_type * ecl_file, int new_flags ); - bool ecl_file_flags_set( const ecl_file_type * ecl_file , int flags); - - - - ecl_file_kw_type * ecl_file_iget_file_kw( const ecl_file_type * file , int global_index); - ecl_file_kw_type * ecl_file_iget_named_file_kw( const ecl_file_type * file , const char * kw, int ith); - ecl_kw_type * ecl_file_iget_kw( const ecl_file_type * file , int global_index); - ecl_type_enum ecl_file_iget_type( const ecl_file_type * file , int global_index); - int ecl_file_iget_size( const ecl_file_type * file , int global_index); - const char * ecl_file_iget_header( const ecl_file_type * file , int global_index); - ecl_kw_type * ecl_file_iget_named_kw( const ecl_file_type * file , const char * kw, int ith); - ecl_type_enum ecl_file_iget_named_type( const ecl_file_type * file , const char * kw , int ith); - int ecl_file_iget_named_size( const ecl_file_type * file , const char * kw , int ith); - void ecl_file_indexed_read(const ecl_file_type * file , const char * kw, int index, const int_vector_type * index_map, char* buffer); - - - bool ecl_file_subselect_block( ecl_file_type * ecl_file , const char * kw , int occurence); - bool ecl_file_select_block( ecl_file_type * ecl_file , const char * kw , int occurence); - void ecl_file_select_global( ecl_file_type * ecl_file ); - //bool ecl_file_writable( const ecl_file_type * ecl_file ); - bool ecl_file_save_kw( const ecl_file_type * ecl_file , const ecl_kw_type * ecl_kw); - bool ecl_file_has_kw_ptr( const ecl_file_type * ecl_file , const ecl_kw_type * ecl_kw); - -/*****************************************************************/ -/* R E S T A R T F I L E S */ - - double ecl_file_iget_restart_sim_days( const ecl_file_type * restart_file , int index ); - time_t ecl_file_iget_restart_sim_date( const ecl_file_type * restart_file , int occurence ); - int ecl_file_get_restart_index( const ecl_file_type * restart_file , time_t sim_time); - bool ecl_file_has_report_step( const ecl_file_type * ecl_file , int report_step); - bool ecl_file_has_sim_time( const ecl_file_type * ecl_file , time_t sim_time); - - - bool ecl_file_select_rstblock_sim_time( ecl_file_type * ecl_file , time_t sim_time); - bool ecl_file_select_rstblock_report_step( ecl_file_type * ecl_file , int report_step); - bool ecl_file_iselect_rstblock( ecl_file_type * ecl_file , int seqnum_index ); - - void ecl_file_close_fortio_stream(ecl_file_type * ecl_file); - - ecl_file_type * ecl_file_open_rstblock_report_step( const char * filename , int report_step , int flags); - ecl_file_type * ecl_file_open_rstblock_sim_time( const char * filename , time_t sim_time , int flags); - ecl_file_type * ecl_file_iopen_rstblock( const char * filename , int seqnum_index , int flags); - - -/*****************************************************************/ -/* SUMMARY FILES */ - - bool ecl_file_select_smryblock( ecl_file_type * ecl_file , int ministep_nr ); - ecl_file_type * ecl_file_open_smryblock( const char * filename , int ministep_nr , int flags); - - - UTIL_IS_INSTANCE_HEADER( ecl_file ); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_grav.h b/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_grav.h deleted file mode 100644 index 905a15141e..0000000000 --- a/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_grav.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'ecl_grav.h' is part of ERT - Ensemble based - Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#ifndef __ECL_GRAV_H__ -#define __ECL_GRAV_H__ -#ifdef __plusplus -extern "C" { -#endif - -#include -#include -#include - -typedef struct ecl_grav_struct ecl_grav_type; -typedef struct ecl_grav_survey_struct ecl_grav_survey_type; - - -void ecl_grav_free( ecl_grav_type * ecl_grav_config ); -ecl_grav_type * ecl_grav_alloc( const ecl_grid_type * ecl_grid, const ecl_file_type * init_file ); -ecl_grav_survey_type * ecl_grav_add_survey_FIP( ecl_grav_type * grav , const char * name , const ecl_file_type * restart_file ); -ecl_grav_survey_type * ecl_grav_add_survey_PORMOD( ecl_grav_type * grav , const char * name , const ecl_file_type * restart_file ); -ecl_grav_survey_type * ecl_grav_add_survey_RPORV( ecl_grav_type * grav , const char * name , const ecl_file_type * restart_file ); -double ecl_grav_eval( const ecl_grav_type * grav , const char * base, const char * monitor , ecl_region_type * region , double utm_x, double utm_y , double depth, int phase_mask); -void ecl_grav_new_std_density( ecl_grav_type * grav , ecl_phase_enum phase , double default_density); -void ecl_grav_add_std_density( ecl_grav_type * grav , ecl_phase_enum phase , int pvtnum , double density); - -#ifdef __plusplus -} -#endif -#endif diff --git a/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_grav_calc.h b/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_grav_calc.h deleted file mode 100644 index 45f3153ef1..0000000000 --- a/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_grav_calc.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'ecl_grav.h' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#ifndef __ECL_GRAV_CALC_H__ -#define __ECL_GRAV_CALC_H__ -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include - -double ecl_grav_phase_deltag( double utm_x , - double utm_y , - double tvd, - const ecl_grid_type * grid, - const ecl_file_type * init_file , - const ecl_kw_type * sat_kw1, - const ecl_kw_type * rho_kw1, - const ecl_kw_type * porv_kw1, - const ecl_kw_type * sat_kw2, - const ecl_kw_type * rho_kw2, - const ecl_kw_type * porv_kw2); - - - -#ifdef __cplusplus -} -#endif -#endif - diff --git a/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_grav_common.h b/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_grav_common.h deleted file mode 100644 index 53e7f4f388..0000000000 --- a/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_grav_common.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'ecl_grav_common.h' is part of ERT - Ensemble based - Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#ifndef __ECL_GRAV_COMMON_H__ -#define __ECL_GRAV_COMMON_H__ - -#ifdef __cplusplus -extern "C" { -#endif -#include - -#include -#include - - bool * ecl_grav_common_alloc_aquifer_cell( const ecl_grid_cache_type * grid_cache , const ecl_file_type * init_file); - double ecl_grav_common_eval_biot_savart( const ecl_grid_cache_type * grid_cache , ecl_region_type * region , const bool * aquifer , const double * weight , double utm_x , double utm_y , double depth); - -#ifdef __cplusplus -} - -#endif -#endif diff --git a/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_init_file.h b/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_init_file.h deleted file mode 100644 index 1051f0f4d0..0000000000 --- a/ThirdParty/Ert/devel/libecl/include/ert/ecl/ecl_init_file.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (C) 2012 Statoil ASA, Norway. - - The file 'ecl_init_file.h' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#ifndef __ECL_INIT_FILE_H__ -#define __ECL_INIT_FILE_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#include -#include -#include - - - void ecl_init_file_fwrite_header( fortio_type * fortio , const ecl_grid_type * grid , const ecl_kw_type * poro , int phases , time_t start_date); - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ThirdParty/Ert/devel/libecl/include/ert/ecl/nnc_vector.h b/ThirdParty/Ert/devel/libecl/include/ert/ecl/nnc_vector.h deleted file mode 100644 index c97a3166b2..0000000000 --- a/ThirdParty/Ert/devel/libecl/include/ert/ecl/nnc_vector.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - Copyright (C) 2013 Statoil ASA, Norway. - - The file 'nnc_vector.h' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - - -#ifndef __NNC_VECTOR_H__ -#define __NNC_VECTOR_H__ -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - - typedef struct nnc_vector_struct nnc_vector_type; - - UTIL_IS_INSTANCE_HEADER(nnc_vector); - - nnc_vector_type * nnc_vector_alloc(int lgr_nr); - nnc_vector_type * nnc_vector_alloc_copy(const nnc_vector_type * src_vector); - void nnc_vector_free( nnc_vector_type * nnc_vector ); - void nnc_vector_add_nnc(nnc_vector_type * nnc_vector, int global_cell_number, int nnc_index); - const int_vector_type * nnc_vector_get_grid_index_list(const nnc_vector_type * nnc_vector); - const int_vector_type * nnc_vector_get_nnc_index_list(const nnc_vector_type * nnc_vector); - int nnc_vector_get_lgr_nr(const nnc_vector_type * nnc_vector ); - void nnc_vector_free__(void * arg); - int nnc_vector_get_size( const nnc_vector_type * nnc_vector ); - bool nnc_vector_equal( const nnc_vector_type * nnc_vector1 , const nnc_vector_type * nnc_vector2); - -#ifdef __cplusplus -} -#endif -#endif - diff --git a/ThirdParty/Ert/devel/libecl/include/ert/ecl/point.h b/ThirdParty/Ert/devel/libecl/include/ert/ecl/point.h deleted file mode 100644 index 0b88d3d54a..0000000000 --- a/ThirdParty/Ert/devel/libecl/include/ert/ecl/point.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'point.h' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#ifndef __POINT_H__ -#define __POINT_H__ -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - - typedef struct point_struct point_type; - - struct point_struct { - double x; - double y; - double z; - }; - - void point_mapaxes_invtransform( point_type * p , const double origo[2], const double unit_x[2] , const double unit_y[2]); - void point_mapaxes_transform( point_type * p , const double origo[2] , const double unit_x[2] , const double unit_y[2]); - point_type * point_alloc_empty( ); - void point_inplace_sub(point_type * point , const point_type * sub); - void point_inplace_add(point_type * point , const point_type * add); - void point_inplace_scale(point_type * point , double scale_factor); - bool point_equal( const point_type *p1 , const point_type * p2); - void point_compare( const point_type *p1 , const point_type * p2, bool * equal); - void point_dump( const point_type * p , FILE * stream); - void point_dump_ascii( const point_type * p , FILE * stream , const double * offset); - void point_fprintf( const point_type * p , FILE * stream ); - void point_free( point_type * p); - void point_set( point_type *p , double x , double y , double z); - void point_shift(point_type * p , double dx , double dy , double dz); - point_type * point_alloc( double x , double y , double z); - point_type * point_copyc( const point_type * p); - void point_copy_values(point_type * p , const point_type * src); - void point_vector_cross(point_type * A , const point_type * B , const point_type * C); - double point_dot_product( const point_type * v1 , const point_type * v2); - void point_normal_vector(point_type * n, const point_type * p0, const point_type * p1 , const point_type * p2); - double point_plane_distance(const point_type * p , const point_type * n , const point_type * plane_point); - double point3_plane_distance(const point_type * p0 , const point_type * p1 , const point_type * p2 , const point_type * x); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ThirdParty/Ert/devel/libecl/include/ert/ecl/tetrahedron.h b/ThirdParty/Ert/devel/libecl/include/ert/ecl/tetrahedron.h deleted file mode 100644 index 21f9602048..0000000000 --- a/ThirdParty/Ert/devel/libecl/include/ert/ecl/tetrahedron.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'tetrahedron.h' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#ifndef __TETRAHEDRON_H__ -#define __TETRAHEDRON_H__ - - -typedef struct tetrahedron_struct tetrahedron_type; - -struct tetrahedron_struct { - const point_type * p0; - const point_type * p1; - const point_type * p2; - const point_type * p3; -}; - - - -void tetrahedron_init( tetrahedron_type * tet , const point_type * p0 , const point_type * p1 , const point_type * p2 , const point_type * p3); -double tetrahedron_volume( const tetrahedron_type * tet ); -bool tetrahedron_contains( const tetrahedron_type * tet , const point_type * p); -void tetrahedron_fprintf( const tetrahedron_type * tet , FILE * stream , const double * offset); -#endif - - diff --git a/ThirdParty/Ert/devel/libecl/src/CMakeLists.txt b/ThirdParty/Ert/devel/libecl/src/CMakeLists.txt deleted file mode 100644 index 0258867d02..0000000000 --- a/ThirdParty/Ert/devel/libecl/src/CMakeLists.txt +++ /dev/null @@ -1,110 +0,0 @@ -include_directories( ext ) -file(GLOB ext_source "ext/*.c" ) -file(GLOB ext_header "ext/*.h" ) - -set( source_files - ecl_rsthead.c - ecl_sum_tstep.c - ecl_rst_file.c - ecl_init_file.c - ecl_grid_cache.c - smspec_node.c - ecl_kw_grdecl.c - ecl_file_kw.c - ecl_grav.c - ecl_grav_calc.c - ecl_smspec.c - ecl_sum_data.c - ecl_util.c - ecl_kw.c - ecl_sum.c - ecl_sum_vector.c - fortio.c - ecl_rft_file.c - ecl_rft_node.c - ecl_rft_cell.c - ecl_grid.c - ecl_coarse_cell.c - ecl_box.c - ecl_io_config.c - ecl_file.c - ecl_region.c - point.c - tetrahedron.c - ecl_subsidence.c - ecl_grid_dims.c - grid_dims.c - nnc_info.c - ecl_grav_common.c - nnc_vector.c - ecl_nnc_export.c - layer.c - fault_block_layer.c - ${ext_source}) - -set( header_files - ecl_rsthead.h - ecl_sum_tstep.h - ecl_rst_file.h - ecl_init_file.h - smspec_node.h - ecl_grid_cache.h - ecl_kw_grdecl.h - ecl_file_kw.h - ecl_grav.h - ecl_grav_calc.h - ecl_endian_flip.h - ecl_smspec.h - ecl_sum_data.h - ecl_util.h - ecl_kw.h - ecl_sum.h - ecl_sum_vector.h - fortio.h - ecl_rft_file.h - ecl_rft_node.h - ecl_rft_cell.h - ecl_box.h - ecl_coarse_cell.h - ecl_grid.h - ecl_io_config.h - ecl_file.h - ecl_region.h - ecl_kw_magic.h - ecl_subsidence.h - ecl_grid_dims.h - grid_dims.h - nnc_info.h - nnc_vector.h - ecl_grav_common.h - ecl_nnc_export.h - layer.h - fault_block.h - fault_block_layer.h - ${ext_header}) - -if (ERT_USE_OPENMP) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OpenMP_SHARED_LINKER_FLAGS}") -endif() - -add_library( ecl ${LIBRARY_TYPE} ${source_files} ) -set_target_properties( ecl PROPERTIES VERSION 1.0 SOVERSION 1.0 ) -if (USE_RUNPATH) - add_runpath( ecl ) -endif() -target_link_libraries( ecl ert_geometry ert_util ) - -#----------------------------------------------------------------- -if (INSTALL_ERT) - install(TARGETS ecl DESTINATION ${CMAKE_INSTALL_LIBDIR}) - foreach(header ${header_files}) - install(FILES ../include/ert/ecl/${header} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/ert/ecl) - endforeach() -endif() - - - - diff --git a/ThirdParty/Ert/devel/libecl/src/ecl_file.c b/ThirdParty/Ert/devel/libecl/src/ecl_file.c deleted file mode 100644 index 8e91a857f4..0000000000 --- a/ThirdParty/Ert/devel/libecl/src/ecl_file.c +++ /dev/null @@ -1,1142 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'ecl_file.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - - -/** - This file implements functionality to load an ECLIPSE file in - ecl_kw format. The implementation works by first searching through - the complete file to create an index over all the keywords present - in the file. The actual keyword data is not loaded before they are - explicitly requested. - - The ecl_file_type is the middle layer of abstraction in the libecl - hierarchy (see the file overview.txt in this directory); it works - with a collection of ecl_kw instances and has various query - functions, however it does not utilize knowledge of the - structure/content of the files in the way e.g. ecl_grid.c does[1]. - - The main datatype here is the ecl_file type, but in addition each - ecl_kw instance is wrapped in an ecl_file_kw (implemented in - ecl_file_kw.c) structure and all the indexing is implemented with - the file_map type. The file_map type is not used outside this file. - - When the file is opened an index of all the keywords is created and - stored in the field global_map, and the field active_map is set to - point to global_map, i.e. all query/get operations on the ecl_file - will be based on the complete index: - - In many cases (in particular for unified restart files) it is quite - painful to work with this large and unvieldy index, and it is - convenient to create a sub index based on a subset of the - keywords. The creation of these sub indices is based on identifying - a keyword from name and occurence number, and then including all - keywords up to the next occurence of the same keyword: - - SEQHDR ---\ - MINISTEP 0 | - PARAMS ..... | - MINISTEP 1 | Block 0 - PARAMS ..... | - MINISTEP 2 | - PARAMS ..... | - SEQHDR ---+ - MINISTEP 3 | - PARAMS ..... | - MINISTEP 4 | Block 1 - PARAMS ..... | - MINISTEP 5 | - SEQHDR ---+ - MINISTEP 6 | Block 2 - PARAMS .... | - SEQHDR ---+ - MINISTEP 7 | - PARAMS .... | Block 3 - MINISTEP 8 | - PARAMS .... | - - For the unified summary file depicted here e.g. the call - - ecl_file_get_blockmap( ecl_file , "SEQHDR" , 2 ) - - Will create a sub-index consisting of the (three) keywords in what - is called 'Block 2' in the figure above. In particular for restart - files this abstraction is very convenient, because an extra layer - of functionality is required to get from natural time coordinates - (i.e. simulation time or report step) to the occurence number (see - ecl_rstfile for more details). - - To select a subindex as the active index you use the - ecl_file_select_block() function, or alternatively you can use - ecl_file_open_block() to directly select the relevant block - immediately after the open() statement. Observe that when using a - sub index thorugh ecl_file_select_block() function the global_map - will still be present in the ecl_file instance, and subsequent - calls to create a new sub index will also use the global_map index - - i.e. the indexing is not recursive, a sub index is always created - based on the global_map, and not on the currently active map. - - - [1]: This is not entirely true - in the file ecl_rstfile.c; which - is included from this file are several specialized function - for working with restart files. However the restart files are - still treated as collections of ecl_kw instances, and not - internalized as in e.g. ecl_sum. -*/ - - - -#define ECL_FILE_ID 776107 - - - -typedef struct file_map_struct file_map_type; -struct file_map_struct { - vector_type * kw_list; /* This is a vector of ecl_file_kw instances corresponding to the content of the file. */ - hash_type * kw_index; /* A hash table with integer vectors of indices - see comment below. */ - stringlist_type * distinct_kw; /* A stringlist of the keywords occuring in the file - each string occurs ONLY ONCE. */ - fortio_type * fortio; /* The same fortio instance pointer as in the ecl_file styructure. */ - bool owner; /* Is this map the owner of the ecl_file_kw instances; only true for the global_map. */ - inv_map_type * inv_map; /* Shared reference owned by the ecl_file structure. */ - int * flags; -}; - - -struct ecl_file_struct { - UTIL_TYPE_ID_DECLARATION; - fortio_type * fortio; /* The source of all the keywords - must be retained - open for reading for the entire lifetime of the - ecl_file object. */ - file_map_type * global_map; /* The index of all the ecl_kw instances in the file. */ - file_map_type * active_map; /* The currently active index. */ - vector_type * map_list; /* Storage container for the map instances. */ - bool read_only; - int flags; - vector_type * map_stack; - inv_map_type * inv_map; -}; - - -/* - This illustrates the indexing. The ecl_file instance contains in - total 7 ecl_kw instances, the global index [0...6] is the internal - way to access the various keywords. The kw_index is a hash table - with entries 'SEQHDR', 'MINISTEP' and 'PARAMS'. Each entry in the - hash table is an integer vector which again contains the internal - index of the various occurences: - - ------------------ - SEQHDR \ - MINISTEP 0 | - PARAMS ..... | - MINISTEP 1 | - PARAMS ..... | - MINISTEP 2 | - PARAMS ..... / - ------------------ - - kw_index = {"SEQHDR": [0], "MINISTEP": [1,3,5], "PARAMS": [2,4,6]} <== This is hash table. - kw_list = [SEQHDR , MINISTEP , PARAMS , MINISTEP , PARAMS , MINISTEP , PARAMS] - distinct_kw = [SEQHDR , MINISTEP , PARAMS] - -*/ - - -/*****************************************************************/ -/* Here comes the functions related to the index file_map. These - functions are all of them static. -*/ - - -static bool FILE_FLAGS_SET( int state_flags , int query_flags) { - if ((state_flags & query_flags) == query_flags) - return true; - else - return false; -} - - - -static file_map_type * file_map_alloc( fortio_type * fortio , int * flags , inv_map_type * inv_map , bool owner ) { - file_map_type * file_map = util_malloc( sizeof * file_map ); - file_map->kw_list = vector_alloc_new(); - file_map->kw_index = hash_alloc(); - file_map->distinct_kw = stringlist_alloc_new(); - file_map->owner = owner; - file_map->fortio = fortio; - file_map->inv_map = inv_map; - file_map->flags = flags; - return file_map; -} - -static int file_map_get_global_index( const file_map_type * file_map , const char * kw , int ith) { - const int_vector_type * index_vector = hash_get(file_map->kw_index , kw); - int global_index = int_vector_iget( index_vector , ith); - return global_index; -} - - - -/** - This function iterates over the kw_list vector and builds the - internal index fields 'kw_index' and 'distinct_kw'. This function - must be called every time the content of the kw_list vector is - modified (otherwise the ecl_file instance will be in an - inconsistent state). -*/ - - -static void file_map_make_index( file_map_type * file_map ) { - stringlist_clear( file_map->distinct_kw ); - hash_clear( file_map->kw_index ); - { - int i; - for (i=0; i < vector_get_size( file_map->kw_list ); i++) { - const ecl_file_kw_type * file_kw = vector_iget_const( file_map->kw_list , i); - const char * header = ecl_file_kw_get_header( file_kw ); - if ( !hash_has_key( file_map->kw_index , header )) { - int_vector_type * index_vector = int_vector_alloc( 0 , -1 ); - hash_insert_hash_owned_ref( file_map->kw_index , header , index_vector , int_vector_free__); - stringlist_append_copy( file_map->distinct_kw , header); - } - - { - int_vector_type * index_vector = hash_get( file_map->kw_index , header); - int_vector_append( index_vector , i); - } - } - } -} - -static bool file_map_has_kw( const file_map_type * file_map, const char * kw) { - return hash_has_key( file_map->kw_index , kw ); -} - - -static ecl_file_kw_type * file_map_iget_file_kw( const file_map_type * file_map , int global_index) { - ecl_file_kw_type * file_kw = vector_iget( file_map->kw_list , global_index); - return file_kw; -} - -static ecl_file_kw_type * file_map_iget_named_file_kw( const file_map_type * file_map , const char * kw, int ith) { - int global_index = file_map_get_global_index( file_map , kw , ith); - ecl_file_kw_type * file_kw = file_map_iget_file_kw( file_map , global_index ); - return file_kw; -} - - - -static ecl_kw_type * file_map_iget_kw( const file_map_type * file_map , int index) { - ecl_file_kw_type * file_kw = file_map_iget_file_kw( file_map , index ); - ecl_kw_type * ecl_kw = ecl_file_kw_get_kw_ptr( file_kw , file_map->fortio , file_map->inv_map); - if (!ecl_kw) { - if (fortio_assert_stream_open( file_map->fortio )) { - - ecl_kw = ecl_file_kw_get_kw( file_kw , file_map->fortio , file_map->inv_map); - - if (FILE_FLAGS_SET( file_map->flags[0] , ECL_FILE_CLOSE_STREAM)) - fortio_fclose_stream( file_map->fortio ); - } - } - return ecl_kw; -} - -static void file_map_index_fload_kw(const file_map_type * file_map, const char* kw, int index, const int_vector_type * index_map, char* buffer) { - ecl_file_kw_type * file_kw = file_map_iget_named_file_kw( file_map , kw , index); - - if (fortio_assert_stream_open( file_map->fortio )) { - offset_type offset = ecl_file_kw_get_offset(file_kw); - ecl_type_enum ecl_type = ecl_file_kw_get_type(file_kw); - int element_count = ecl_file_kw_get_size(file_kw); - - ecl_kw_fread_indexed_data(file_map->fortio, offset + ECL_KW_HEADER_FORTIO_SIZE, ecl_type, element_count, index_map, buffer); - } -} - - -static int file_map_find_kw_value( const file_map_type * file_map , const char * kw , const void * value) { - int global_index = -1; - if ( file_map_has_kw( file_map , kw)) { - const int_vector_type * index_list = hash_get( file_map->kw_index , kw ); - int index = 0; - while (index < int_vector_size( index_list )) { - const ecl_kw_type * ecl_kw = file_map_iget_kw( file_map , int_vector_iget( index_list , index )); - if (ecl_kw_data_equal( ecl_kw , value )) { - global_index = int_vector_iget( index_list , index ); - break; - } - index++; - } - } - return global_index; -} - -static const char * file_map_iget_distinct_kw( const file_map_type * file_map , int index) { - return stringlist_iget( file_map->distinct_kw , index); -} - -static int file_map_get_num_distinct_kw( const file_map_type * file_map ) { - return stringlist_get_size( file_map->distinct_kw ); -} - -static int file_map_get_size( const file_map_type * file_map ) { - return vector_get_size( file_map->kw_list ); -} - - -static ecl_type_enum file_map_iget_type( const file_map_type * file_map , int index) { - ecl_file_kw_type * file_kw = file_map_iget_file_kw( file_map , index ); - return ecl_file_kw_get_type( file_kw ); -} - -static int file_map_iget_size( const file_map_type * file_map , int index) { - ecl_file_kw_type * file_kw = file_map_iget_file_kw( file_map , index ); - return ecl_file_kw_get_size( file_kw ); -} - -static const char * file_map_iget_header( const file_map_type * file_map , int index) { - ecl_file_kw_type * file_kw = file_map_iget_file_kw( file_map , index ); - return ecl_file_kw_get_header( file_kw ); -} - - -static ecl_kw_type * file_map_iget_named_kw( const file_map_type * file_map , const char * kw, int ith) { - ecl_file_kw_type * file_kw = file_map_iget_named_file_kw( file_map , kw , ith); - ecl_kw_type * ecl_kw = ecl_file_kw_get_kw_ptr( file_kw , file_map->fortio , file_map->inv_map ); - if (!ecl_kw) { - if (fortio_assert_stream_open( file_map->fortio )) { - - ecl_kw = ecl_file_kw_get_kw( file_kw , file_map->fortio , file_map->inv_map); - - if (FILE_FLAGS_SET( file_map->flags[0] , ECL_FILE_CLOSE_STREAM)) - fortio_fclose_stream( file_map->fortio ); - } - } - return ecl_kw; -} - -static ecl_type_enum file_map_iget_named_type( const file_map_type * file_map , const char * kw , int ith) { - ecl_file_kw_type * file_kw = file_map_iget_named_file_kw( file_map , kw, ith); - return ecl_file_kw_get_type( file_kw ); -} - -static int file_map_iget_named_size( const file_map_type * file_map , const char * kw , int ith) { - ecl_file_kw_type * file_kw = file_map_iget_named_file_kw( file_map , kw , ith ); - return ecl_file_kw_get_size( file_kw ); -} - - -static void file_map_replace_kw( file_map_type * file_map , ecl_kw_type * old_kw , ecl_kw_type * new_kw , bool insert_copy) { - int index = 0; - while (index < vector_get_size( file_map->kw_list )) { - ecl_file_kw_type * ikw = vector_iget( file_map->kw_list , index ); - if (ecl_file_kw_ptr_eq( ikw , old_kw)) { - /* - Found it; observe that the vector_iset() function will - automatically invoke the destructor on the old_kw. - */ - ecl_kw_type * insert_kw = new_kw; - - if (insert_copy) - insert_kw = ecl_kw_alloc_copy( new_kw ); - ecl_file_kw_replace_kw( ikw , file_map->fortio , insert_kw ); - - file_map_make_index( file_map ); - return; - } - index++; - } - util_abort("%s: could not find ecl_kw ptr: %p \n",__func__ , old_kw); -} - - -static bool file_map_load_all( file_map_type * file_map ) { - bool loadOK = false; - - if (fortio_assert_stream_open( file_map->fortio )) { - int index; - for (index = 0; index < vector_get_size( file_map->kw_list); index++) { - ecl_file_kw_type * ikw = vector_iget( file_map->kw_list , index ); - ecl_file_kw_get_kw( ikw , file_map->fortio , file_map->inv_map); - } - loadOK = true; - } - - if (FILE_FLAGS_SET( file_map->flags[0] , ECL_FILE_CLOSE_STREAM)) - fortio_fclose_stream( file_map->fortio ); - - return loadOK; -} - - -/*****************************************************************/ - - - -static void file_map_add_kw( file_map_type * file_map , ecl_file_kw_type * file_kw) { - if (file_map->owner) - vector_append_owned_ref( file_map->kw_list , file_kw , ecl_file_kw_free__ ); - else - vector_append_ref( file_map->kw_list , file_kw); -} - -static void file_map_free( file_map_type * file_map ) { - hash_free( file_map->kw_index ); - stringlist_free( file_map->distinct_kw ); - vector_free( file_map->kw_list ); - free( file_map ); -} - -static void file_map_free__( void * arg ) { - file_map_type * file_map = ( file_map_type * ) arg; - file_map_free( file_map ); -} - - -static int file_map_get_num_named_kw(const file_map_type * file_map , const char * kw) { - if (hash_has_key(file_map->kw_index , kw)) { - const int_vector_type * index_vector = hash_get(file_map->kw_index , kw); - return int_vector_size( index_vector ); - } else - return 0; -} - -static void file_map_fwrite( const file_map_type * file_map , fortio_type * target , int offset) { - int index; - for (index = offset; index < vector_get_size( file_map->kw_list ); index++) { - ecl_kw_type * ecl_kw = file_map_iget_kw( file_map , index ); - ecl_kw_fwrite( ecl_kw , target ); - } -} - - - - -static int file_map_iget_occurence( const file_map_type * file_map , int global_index) { - const ecl_file_kw_type * file_kw = vector_iget_const( file_map->kw_list , global_index); - const char * header = ecl_file_kw_get_header( file_kw ); - const int_vector_type * index_vector = hash_get( file_map->kw_index , header ); - const int * index_data = int_vector_get_const_ptr( index_vector ); - - int occurence = -1; - { - /* Manual reverse lookup. */ - int i; - for (i=0; i < int_vector_size( index_vector ); i++) - if (index_data[i] == global_index) - occurence = i; - } - if (occurence < 0) - util_abort("%s: internal error ... \n" , __func__); - - return occurence; -} - -static void file_map_fprintf_kw_list(const file_map_type * file_map , FILE * stream) { - int i; - for (i=0; i < vector_get_size( file_map->kw_list ); i++) { - const ecl_file_kw_type * file_kw = vector_iget_const( file_map->kw_list , i ); - fprintf(stream , "%-8s %7d:%s\n", - ecl_file_kw_get_header( file_kw ) , - ecl_file_kw_get_size( file_kw ) , - ecl_util_get_type_name( ecl_file_kw_get_type( file_kw ))); - } -} - -/** - Will return NULL if the block which is asked for is not present. -*/ -static file_map_type * file_map_alloc_blockmap(const file_map_type * file_map , const char * header, int occurence) { - if (file_map_get_num_named_kw( file_map , header ) > occurence) { - file_map_type * block_map = file_map_alloc( file_map->fortio , file_map->flags , file_map->inv_map , false); - if (file_map_has_kw( file_map , header )) { - int kw_index = file_map_get_global_index( file_map , header , occurence ); - ecl_file_kw_type * file_kw = vector_iget( file_map->kw_list , kw_index ); - - while (true) { - file_map_add_kw( block_map , file_kw ); - - kw_index++; - if (kw_index == vector_get_size( file_map->kw_list )) - break; - else { - file_kw = vector_iget(file_map->kw_list , kw_index); - if (strcmp( header , ecl_file_kw_get_header( file_kw )) == 0) - break; - } - } - } - file_map_make_index( block_map ); - return block_map; - } else - return NULL; -} - - -/*****************************************************************/ -/* Here comes the implementation of the ecl_file proper 'class'. */ - - -UTIL_SAFE_CAST_FUNCTION( ecl_file , ECL_FILE_ID) -UTIL_IS_INSTANCE_FUNCTION( ecl_file , ECL_FILE_ID) - - - -ecl_file_type * ecl_file_alloc_empty( int flags ) { - ecl_file_type * ecl_file = util_malloc( sizeof * ecl_file ); - UTIL_TYPE_ID_INIT(ecl_file , ECL_FILE_ID); - ecl_file->map_list = vector_alloc_new(); - ecl_file->map_stack = vector_alloc_new(); - ecl_file->inv_map = inv_map_alloc( ); - ecl_file->flags = flags; - return ecl_file; -} - - -/*****************************************************************/ -/* fwrite functions */ - -void ecl_file_fwrite_fortio(const ecl_file_type * ecl_file , fortio_type * target, int offset) { - file_map_fwrite( ecl_file->active_map , target , offset ); -} - - - -/* - Observe : if the filename is a standard filename which can be used - to infer formatted/unformatted automagically the fmt_file variable - is NOT consulted. -*/ - -void ecl_file_fwrite(const ecl_file_type * ecl_file , const char * filename, bool fmt_file) { - bool __fmt_file; - ecl_file_enum file_type; - - file_type = ecl_util_get_file_type( filename , &__fmt_file , NULL); - if (file_type == ECL_OTHER_FILE) - __fmt_file = fmt_file; - - { - fortio_type * target = fortio_open_writer( filename , __fmt_file , ECL_ENDIAN_FLIP); - ecl_file_fwrite_fortio( ecl_file , target , 0); - fortio_fclose( target ); - } -} - - - - - - - - - -/*****************************************************************/ -/** - Here comes several functions for querying the ecl_file instance, and - getting pointers to the ecl_kw content of the ecl_file. For getting - ecl_kw instances there are two principally different access methods: - - * ecl_file_iget_named_kw(): This function will take a keyword - (char *) and an integer as input. The integer corresponds to the - ith occurence of the keyword in the file. - - * ecl_file_iget_kw(): This function just takes an integer index as - input, and returns the corresponding ecl_kw instance - without - considering which keyword it is. - - ------- - - In addition the functions ecl_file_get_num_distinct_kw() and - ecl_file_iget_distinct_kw() will return the number of distinct - keywords, and distinct keyword keyword nr i (as a const char *). - - - Possible usage pattern: - - .... - for (ikw = 0; ikw < ecl_file_get_num_distinct_kw(ecl_file); ikw++) { - const char * kw = ecl_file_iget_distinct_kw(ecl_file , ikw); - - printf("The file contains: %d occurences of \'%s\' \n",ecl_file_get_num_named_kw( ecl_file , kw) , kw); - } - .... - - For the summary file showed in the top this code will produce: - - The file contains 1 occurences of 'SEQHDR' - The file contains 3 occurences of 'MINISTEP' - The file contains 3 occurences of 'PARAMS' - -*/ - - - - - - - - - -/** - This function will iterate through the ecl_file instance and search - for the ecl_kw instance @old_kw - the search is based on pointer - equality, i.e. the actual ecl_kw instance, and not on content - equality. - - When @old_kw is found that keyword instance will be discarded with - ecl_kw_free() and the new keyword @new_kw will be inserted. If - @old_kw can not be found the function will fail hard - to verify - that @new_kw is indeed in the ecl_file instance you should use - ecl_file_has_kw_ptr() first. - - The ecl_file function typically gives out references to the - internal ecl_kw instances via the ecl_file_iget_kw() function. Use - of ecl_file_replace_kw() might lead to invalidating ecl_kw - instances held by the calling scope: - - - .... - ecl_file_type * restart_file = ecl_file_fread_alloc( "ECLIPSE.UNRST" ); - ecl_kw_type * initial_pressure = ecl_file_iget_named_kw( ecl_file , "PRESSURE" , 0); - ecl_kw_type * faked_pressure = ecl_kw_alloc_copy( initial_pressure ); - - ecl_kw_scale( faked_pressure , 1.25 ); - ecl_file_replace_kw( restart_file , initial_pressure , faked_pressure , false ); <--- This call will invalidate the inital_pressure reference - .... - .... - // This will fail horribly: - printf("The initial pressure in cell(0) was:%g \n",ecl_kw_iget_double( initial_pressure , 0 )); - /|\ - | - +---------> Using initial_pressure => Crash and burn! - - The ecl_file structure takes ownership of all the keywords, and - will also take ownership of the newly instered @new_kw instance; if - the boolean @insert_copy is set to true the function will insert a - copy of @new_kw, leaving the original reference untouched. -*/ - - - -void ecl_file_replace_kw( ecl_file_type * ecl_file , ecl_kw_type * old_kw , ecl_kw_type * new_kw , bool insert_copy) { - file_map_replace_kw( ecl_file->active_map , old_kw , new_kw , insert_copy ); -} - - - - - -ecl_kw_type * ecl_file_icopy_named_kw( const ecl_file_type * ecl_file , const char * kw, int ith) { - return ecl_kw_alloc_copy( ecl_file_iget_named_kw( ecl_file , kw , ith )); -} - - -/* - Will return the number of times a particular keyword occurs in a - ecl_file instance. Will return 0 if the keyword can not be found. -*/ - -int ecl_file_get_num_named_kw(const ecl_file_type * ecl_file , const char * kw) { - return file_map_get_num_named_kw( ecl_file->active_map , kw); -} - - - - - - -/** - This function does the following: - - 1. Takes an input index which goes in to the global kw_list vector. - 2. Looks up the corresponding keyword. - 3. Return the number of this particular keyword instance, among - the other instance with the same header. - - With the example above we get: - - ecl_file_iget_occurence(ecl_file , 2) -> 0; Global index 2 will - look up the first occurence of PARAMS. - - ecl_file_iget_occurence(ecl_file , 5) -> 2; Global index 5 will - look up th third occurence of MINISTEP. - - The enkf layer uses this funny functionality. -*/ - - -int ecl_file_iget_occurence( const ecl_file_type * ecl_file , int index) { - return file_map_iget_occurence( ecl_file->active_map , index ); -} - - -/** - Returns the total number of ecl_kw instances in the ecl_file - instance. -*/ -int ecl_file_get_size( const ecl_file_type * ecl_file ){ - return file_map_get_size( ecl_file->active_map ); -} - - -/** - Returns true if the ecl_file instance has at-least one occurence of - ecl_kw 'kw'. -*/ -bool ecl_file_has_kw( const ecl_file_type * ecl_file , const char * kw) { - return file_map_has_kw( ecl_file->active_map , kw ); -} - - -int ecl_file_get_num_distinct_kw(const ecl_file_type * ecl_file) { - return file_map_get_num_distinct_kw( ecl_file->active_map ); -} - - -const char * ecl_file_iget_distinct_kw(const ecl_file_type * ecl_file, int index) { - return file_map_iget_distinct_kw( ecl_file->active_map , index ); -} - - -const char * ecl_file_get_src_file( const ecl_file_type * ecl_file ) { - return fortio_filename_ref( ecl_file->fortio ); -} - - -void ecl_file_fprintf_kw_list( const ecl_file_type * ecl_file , FILE * stream ) { - file_map_fprintf_kw_list( ecl_file->active_map , stream ); -} - - -/*****************************************************************/ - -ecl_file_kw_type * ecl_file_iget_file_kw( const ecl_file_type * file , int global_index) { - return file_map_iget_file_kw( file->active_map , global_index); -} - -ecl_file_kw_type * ecl_file_iget_named_file_kw( const ecl_file_type * file , const char * kw, int ith) { - return file_map_iget_named_file_kw( file->active_map , kw, ith); -} - -/* ---- */ - -ecl_kw_type * ecl_file_iget_kw( const ecl_file_type * file , int global_index) { - return file_map_iget_kw( file->active_map , global_index); -} - -ecl_type_enum ecl_file_iget_type( const ecl_file_type * file , int global_index) { - return file_map_iget_type( file->active_map , global_index); -} - -int ecl_file_iget_size( const ecl_file_type * file , int global_index) { - return file_map_iget_size( file->active_map , global_index); -} - -const char * ecl_file_iget_header( const ecl_file_type * file , int global_index) { - return file_map_iget_header( file->active_map , global_index); -} - -/* ---------- */ - -/* - This function will return the ith occurence of 'kw' in - ecl_file. Will abort hard if the request can not be satisifed - use - query functions if you can not take that. -*/ - -ecl_kw_type * ecl_file_iget_named_kw( const ecl_file_type * file , const char * kw, int ith) { - return file_map_iget_named_kw( file->active_map , kw , ith); -} - -void ecl_file_indexed_read(const ecl_file_type * file , const char * kw, int index, const int_vector_type * index_map, char* buffer) { - file_map_index_fload_kw(file->active_map, kw, index, index_map, buffer); -} - -ecl_type_enum ecl_file_iget_named_type( const ecl_file_type * file , const char * kw , int ith) { - return file_map_iget_named_type( file->active_map , kw , ith ); -} - -int ecl_file_iget_named_size( const ecl_file_type * file , const char * kw , int ith) { - return file_map_iget_named_size( file->active_map , kw , ith ); -} - - - -/*****************************************************************/ - -static void ecl_file_add_map( ecl_file_type * ecl_file , file_map_type * file_map) { - vector_append_owned_ref(ecl_file->map_list , file_map , file_map_free__ ); -} - - -static file_map_type * ecl_file_get_blockmap( ecl_file_type * ecl_file , const char * kw , int occurence , bool use_global) { - file_map_type * blockmap; - if (use_global) - blockmap = file_map_alloc_blockmap( ecl_file->global_map , kw , occurence ); - else - blockmap = file_map_alloc_blockmap( ecl_file->active_map , kw , occurence ); - - if (blockmap != NULL) - ecl_file_add_map( ecl_file , blockmap ); - return blockmap; -} - - -/*****************************************************************/ -/* - Different functions to open and close a file. -*/ - -/** - The ecl_file_scan() function will scan through the whole file and - build up an index of all the kewyords. The map created from this - scan will be stored under the 'global_map' field; and all - subsequent lookup operations will ultimately be based on the global - map. -*/ - -static bool ecl_file_scan( ecl_file_type * ecl_file ) { - bool scan_ok = false; - fortio_fseek( ecl_file->fortio , 0 , SEEK_SET ); - { - ecl_kw_type * work_kw = ecl_kw_alloc_new("WORK-KW" , 0 , ECL_INT_TYPE , NULL); - - while (true) { - if (fortio_read_at_eof(ecl_file->fortio)) { - scan_ok = true; - break; - } - - { - offset_type current_offset = fortio_ftell( ecl_file->fortio ); - if (ecl_kw_fread_header( work_kw , ecl_file->fortio)) { - ecl_file_kw_type * file_kw = ecl_file_kw_alloc( work_kw , current_offset); - if (ecl_file_kw_fskip_data( file_kw , ecl_file->fortio )) - file_map_add_kw( ecl_file->global_map , file_kw ); - else - break; - } else - break; - } - } - - ecl_kw_free( work_kw ); - } - if (scan_ok) - file_map_make_index( ecl_file->global_map ); - - return scan_ok; -} - - -void ecl_file_select_global( ecl_file_type * ecl_file ) { - ecl_file->active_map = ecl_file->global_map; -} - - -/** - The fundamental open file function; all alternative open() - functions start by calling this one. This function will read - through the complete file, extract all the keyword headers and - create the map/index stored in the global_map field of the ecl_file - structure. No keyword data will be loaded from the file. - - The ecl_file instance will retain an open fortio reference to the - file until ecl_file_close() is called. -*/ - - -ecl_file_type * ecl_file_open( const char * filename , int flags) { - fortio_type * fortio; - bool fmt_file; - - ecl_util_fmt_file( filename , &fmt_file); - //flags |= ECL_FILE_CLOSE_STREAM; // DEBUG DEBUG DEBUG - - if (FILE_FLAGS_SET(flags , ECL_FILE_WRITABLE)) - fortio = fortio_open_readwrite( filename , fmt_file , ECL_ENDIAN_FLIP); - else - fortio = fortio_open_reader( filename , fmt_file , ECL_ENDIAN_FLIP); - - if (fortio) { - ecl_file_type * ecl_file = ecl_file_alloc_empty( flags ); - ecl_file->fortio = fortio; - ecl_file->global_map = file_map_alloc( ecl_file->fortio , &ecl_file->flags , ecl_file->inv_map , true ); - - ecl_file_add_map( ecl_file , ecl_file->global_map ); - if (ecl_file_scan( ecl_file )) { - ecl_file_select_global( ecl_file ); - - if (FILE_FLAGS_SET( ecl_file->flags , ECL_FILE_CLOSE_STREAM)) - fortio_fclose_stream( ecl_file->fortio ); - - return ecl_file; - } else { - ecl_file_close( ecl_file ); - return NULL; - } - } else - return NULL; -} - - - - - -int ecl_file_get_flags( const ecl_file_type * ecl_file ) { - return ecl_file->flags; -} - -void ecl_file_set_flags( ecl_file_type * ecl_file, int flags ) { - ecl_file->flags = flags; -} - -bool ecl_file_flags_set( const ecl_file_type * ecl_file , int flags) { - return FILE_FLAGS_SET( ecl_file->flags , flags ); -} - -bool ecl_file_writable( const ecl_file_type * ecl_file ) { - return FILE_FLAGS_SET( ecl_file->flags , ECL_FILE_WRITABLE ); -} - - -void ecl_file_push_block( ecl_file_type * ecl_file ) { - vector_append_ref( ecl_file->map_stack , ecl_file->active_map ); -} - -void ecl_file_pop_block( ecl_file_type * ecl_file ) { - ecl_file->active_map = vector_pop_back( ecl_file->map_stack ); -} - - -bool ecl_file_subselect_block( ecl_file_type * ecl_file , const char * kw , int occurence) { - file_map_type * blockmap = ecl_file_get_blockmap( ecl_file , kw , occurence , false); - if (blockmap != NULL) { - ecl_file->active_map = blockmap; - return true; - } else - return false; -} - - -bool ecl_file_select_block( ecl_file_type * ecl_file , const char * kw , int occurence ) { - file_map_type * blockmap = ecl_file_get_blockmap( ecl_file , kw , occurence , true); - if (blockmap != NULL) { - ecl_file->active_map = blockmap; - return true; - } else - return false; -} - - -/** - The ecl_file_close() function will close the fortio instance and - free all the data created by the ecl_file instance; this includes - the ecl_kw instances which have been loaded on demand. -*/ - -void ecl_file_close(ecl_file_type * ecl_file) { - if (ecl_file->fortio != NULL) - fortio_fclose( ecl_file->fortio ); - - inv_map_free( ecl_file->inv_map ); - vector_free( ecl_file->map_list ); - vector_free( ecl_file->map_stack ); - free( ecl_file ); -} - - -void ecl_file_close_fortio_stream(ecl_file_type * ecl_file) { - if (ecl_file->fortio != NULL) { - fortio_fclose_stream(ecl_file->fortio); - } -} - - -/** - This function will detach the current ecl_file instance from the - underlying fortio instance. The ecl_file instance can be used - further to access the ecl_kw instances which have been loaded - already, but if you try on-demand loading of a keyword you will get - crash-and-burn. To ensure that all keywords are in memory you can - call ecl_file_load_all() prior to the detach call. -*/ - - -void ecl_file_fortio_detach( ecl_file_type * ecl_file ) { - fortio_fclose( ecl_file->fortio ); - ecl_file->fortio = NULL; -} - - -bool ecl_file_load_all( ecl_file_type * ecl_file ) { - return file_map_load_all( ecl_file->active_map ); -} - - -void ecl_file_free__(void * arg) { - ecl_file_close( ecl_file_safe_cast( arg ) ); -} - - -/****************************************************************************/ -/* Here we include two files with functions specialized to work with - restart and summary files. Observe that the files ecl_rstfile.c and - ecl_smryfile are compiled as part of the same compilation unit as - ecl_file.c -*/ - -#include "ecl_rstfile.c" -#include "ecl_smryfile.c" - -/*****************************************************************/ -/* Two small lookup functions which consider the INTEHEAD keyword, - work equally well for both restart and INIT files. */ - -/* - The input @file must be either an INIT file or a restart file. Will - fail hard if an INTEHEAD kw can not be found - or if the INTEHEAD - keyword is not sufficiently large. - - The eclipse files can distinguish between ECLIPSE300 ( value == 300) - and ECLIPSE300-Thermal option (value == 500). This function will - return ECLIPSE300 in both those cases. -*/ - -ecl_version_enum ecl_file_get_ecl_version( const ecl_file_type * file ) { - ecl_kw_type * intehead_kw = ecl_file_iget_named_kw( file , INTEHEAD_KW , 0 ); - int int_value = ecl_kw_iget_int( intehead_kw , INTEHEAD_IPROG_INDEX ); - - if (int_value == INTEHEAD_ECLIPSE100_VALUE) - return ECLIPSE100; - else if ((int_value == INTEHEAD_ECLIPSE300_VALUE) || (int_value == INTEHEAD_ECLIPSE300THERMAL_VALUE)) - return ECLIPSE300; - else { - util_abort("%s: ECLIPSE version value:%d not recognized \n",__func__ , int_value ); - return -1; - } -} - -/* - 1: Oil - 2: Water - 3: Oil + water - 4: Gas - 5: Gas + Oil - 6: Gas + water - 7: Gas + Water + Oil -*/ - -int ecl_file_get_phases( const ecl_file_type * init_file ) { - ecl_kw_type * intehead_kw = ecl_file_iget_named_kw( init_file , INTEHEAD_KW , 0 ); - int phases = ecl_kw_iget_int( intehead_kw , INTEHEAD_PHASE_INDEX ); - return phases; -} - - -/* -bool ecl_file_writable( const ecl_file_type * ecl_file ) { - return fortio_writable( ecl_file->fortio ); -} -*/ - -/** - Checks if the ecl_file contains ecl_kw; this check is based on - pointer equality - i.e. we check if the ecl_file contains exactly - this keyword - not an arbitrary equivalent keyword. - - This function can be called as a safeguard before calling - ecl_file_save_kw(). -*/ - -bool ecl_file_has_kw_ptr( const ecl_file_type * ecl_file , const ecl_kw_type * ecl_kw) { - ecl_file_kw_type * file_kw = inv_map_get_file_kw( ecl_file->inv_map , ecl_kw ); - if (file_kw == NULL) - return false; - else - return true; -} - - -/* - Will save the content of @ecl_kw to the on-disk file wrapped by the - ecl_file instance. This function is quite strict: - - 1. The actual keyword which should be updated is identified using - pointer comparison; i.e. the ecl_kw argument must be the actual - return value from an earlier ecl_file_get_kw() operation. To - check this you can call ecl_file_has_kw_ptr(). - - 2. The header data of the ecl_kw must be unmodified; this is checked - by the ecl_file_kw_inplace_fwrite() function and crash-and-burn - will ensue if this is not satisfied. - - 3. The ecl_file must have been opened with one of the _writable() - open functions. -*/ - -bool ecl_file_save_kw( const ecl_file_type * ecl_file , const ecl_kw_type * ecl_kw) { - ecl_file_kw_type * file_kw = inv_map_get_file_kw( ecl_file->inv_map , ecl_kw ); // We just verify that the input ecl_kw points to an ecl_kw - if (file_kw != NULL) { // we manage; from then on we use the reference contained in - if (fortio_assert_stream_open( ecl_file->fortio )) { // the corresponding ecl_file_kw instance. - - ecl_file_kw_inplace_fwrite( file_kw , ecl_file->fortio ); - - if (FILE_FLAGS_SET( ecl_file->flags , ECL_FILE_CLOSE_STREAM)) - fortio_fclose_stream( ecl_file->fortio ); - - return true; - } else - return false; - } else { - util_abort("%s: keyword pointer:%p not found in ecl_file instance. \n",__func__ , ecl_kw); - return false; - } -} - -/* Small function to support Python based enum introspection. */ - -#ifdef HAVE_FORK - -const char * ecl_util_file_flags_enum_iget( int index , int * value) { - return util_enum_iget( index , ECL_FILE_FLAGS_ENUM_SIZE , (const util_enum_element_type []) { ECL_FILE_FLAGS_ENUM_DEFS }, value); -} - -#endif - - diff --git a/ThirdParty/Ert/devel/libecl/src/ecl_init_file.c b/ThirdParty/Ert/devel/libecl/src/ecl_init_file.c deleted file mode 100644 index b576b763ed..0000000000 --- a/ThirdParty/Ert/devel/libecl/src/ecl_init_file.c +++ /dev/null @@ -1,186 +0,0 @@ -/* - Copyright (C) 2012 Statoil ASA, Norway. - - The file 'ecl_init_file.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -/* - This file contains functionality to write an ECLIPSE INIT file. The - file does (currently) not contain any datastructures, only - functions. Essentially this file is only a codifying of the ECLIPSE - documentation of INIT files. - - The functionality is mainly targeted at saving grid properties like - PORO, PERMX and FIPNUM. The thermodynamic/relperm properties are - mainly hardcoded to FALSE (in particular in the - ecl_init_file_alloc_LOGIHEAD() function); this implies that the INIT - files produced in this way are probably not 100% valid, and can - certainly not be used to query for e.g. relperm properties. -*/ - - -#include - -#include -#include -#include -#include - -static ecl_kw_type * ecl_init_file_alloc_INTEHEAD( const ecl_grid_type * ecl_grid , int phases, time_t start_date , int simulator) { - ecl_kw_type * intehead_kw = ecl_kw_alloc( INTEHEAD_KW , INTEHEAD_INIT_SIZE , ECL_INT_TYPE ); - ecl_kw_scalar_set_int( intehead_kw , 0 ); - - ecl_kw_iset_int( intehead_kw , INTEHEAD_UNIT_INDEX , INTEHEAD_METRIC_VALUE ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NX_INDEX , ecl_grid_get_nx( ecl_grid )); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NY_INDEX , ecl_grid_get_ny( ecl_grid )); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NZ_INDEX , ecl_grid_get_nz( ecl_grid )); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NACTIVE_INDEX , ecl_grid_get_active_size( ecl_grid )); - ecl_kw_iset_int( intehead_kw , INTEHEAD_PHASE_INDEX , phases ); - { - int mday,month,year; - util_set_date_values( start_date , &mday , &month , &year ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_DAY_INDEX , mday ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_MONTH_INDEX , month ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_YEAR_INDEX , year ); - } - ecl_kw_iset_int( intehead_kw , INTEHEAD_IPROG_INDEX , simulator); - - return intehead_kw; -} - - -static ecl_kw_type * ecl_init_file_alloc_LOGIHEAD( int simulator ) { - /* - This function includes lots of hardcoded options; the main - intention of writing the INIT file is to store the grid properties - like e.g. PORO and SATNUM. The relperm/thermodynamics properties - are just all defaulted to False. - - The documentation - */ - bool with_RS = false; - bool with_RV = false; - bool with_directional_relperm = false; - bool with_reversible_relperm_ECLIPSE100 = false; - bool radial_grid_ECLIPSE100 = false; - bool radial_grid_ECLIPSE300 = false; - bool with_reversible_relperm_ECLIPSE300 = false; - bool with_hysterisis = false; - bool dual_porosity = false; - bool endpoint_scaling = false; - bool directional_endpoint_scaling = false; - bool reversible_endpoint_scaling = false; - bool alternative_endpoint_scaling = false; - bool miscible_displacement = false; - bool scale_water_PC_at_max_sat = false; - bool scale_gas_PC_at_max_sat = false; - - - ecl_kw_type * logihead_kw = ecl_kw_alloc( LOGIHEAD_KW , LOGIHEAD_INIT_SIZE , ECL_BOOL_TYPE ); - - ecl_kw_scalar_set_bool( logihead_kw , false ); - - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_RS_INDEX , with_RS); - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_RV_INDEX , with_RV); - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_DIR_RELPERM_INDEX , with_directional_relperm); - - if (simulator == INTEHEAD_ECLIPSE100_VALUE) { - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_REV_RELPERM100_INDEX , with_reversible_relperm_ECLIPSE100); - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_RADIAL100_INDEX , radial_grid_ECLIPSE100); - } else { - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_REV_RELPERM300_INDEX , with_reversible_relperm_ECLIPSE300 ); - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_RADIAL300_INDEX , radial_grid_ECLIPSE300); - } - - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_HYSTERISIS_INDEX , with_hysterisis); - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_DUALP_INDEX , dual_porosity); - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_ENDPOINT_SCALING_INDEX , endpoint_scaling); - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_DIR_ENDPOINT_SCALING_INDEX , directional_endpoint_scaling); - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_REV_ENDPOINT_SCALING_INDEX , reversible_endpoint_scaling); - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_ALT_ENDPOINT_SCALING_INDEX , alternative_endpoint_scaling); - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_MISC_DISPLACEMENT_INDEX , miscible_displacement); - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_SCALE_WATER_PC_AT_MAX_SAT_INDEX , scale_water_PC_at_max_sat); - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_SCALE_GAS_PC_AT_MAX_SAT_INDEX , scale_gas_PC_at_max_sat); - - return logihead_kw; -} - - -static ecl_kw_type * ecl_init_file_alloc_DOUBHEAD( ) { - ecl_kw_type * doubhead_kw = ecl_kw_alloc( DOUBHEAD_KW , DOUBHEAD_INIT_SIZE , ECL_DOUBLE_TYPE ); - - ecl_kw_scalar_set_double( doubhead_kw , 0); - - return doubhead_kw; -} - - -/** - The writing of the PORO field is somewhat special cased; the INIT - file should contain the PORV keyword with nx*ny*nz elements. The - cells which are inactive have the PORV volume explicitly set to - zero; this way the active/inactive status can be inferred from PORV - field in the INIT file. - - In this code the PORO field is considered to be the fundamental - quantity, and the PORV field is calculated from PORO and the volume - of the grid cells. Apart from PORV all the remaining fields in the - INIT file should have nactive elements. - */ - -static void ecl_init_file_fwrite_poro( fortio_type * fortio , const ecl_grid_type * ecl_grid , const ecl_kw_type * poro ) { - { - ecl_kw_type * porv = ecl_kw_alloc( PORV_KW , ecl_grid_get_global_size( ecl_grid ) , ECL_FLOAT_TYPE); - int global_index; - for ( global_index = 0; global_index < ecl_grid_get_global_size( ecl_grid ); global_index++) { - int active_index = ecl_grid_get_active_index1( ecl_grid , global_index ); - if (active_index >= 0) - ecl_kw_iset_float( porv , global_index , ecl_kw_iget_float( poro , active_index ) * ecl_grid_get_cell_volume1( ecl_grid , global_index )); - else - ecl_kw_iset_float( porv , global_index , 0 ); - } - ecl_kw_fwrite( porv , fortio ); - ecl_kw_free( porv ); - } - - ecl_kw_fwrite( poro , fortio ); -} - - -void ecl_init_file_fwrite_header( fortio_type * fortio , const ecl_grid_type * ecl_grid , const ecl_kw_type * poro , int phases , time_t start_date) { - int simulator = INTEHEAD_ECLIPSE100_VALUE; - { - ecl_kw_type * intehead_kw = ecl_init_file_alloc_INTEHEAD( ecl_grid , phases , start_date , simulator ); - ecl_kw_fwrite( intehead_kw , fortio ); - ecl_kw_free( intehead_kw ); - } - - { - ecl_kw_type * logihead_kw = ecl_init_file_alloc_LOGIHEAD( simulator ); - ecl_kw_fwrite( logihead_kw , fortio ); - ecl_kw_free( logihead_kw ); - } - - { - ecl_kw_type * doubhead_kw = ecl_init_file_alloc_DOUBHEAD( ); - ecl_kw_fwrite( doubhead_kw , fortio ); - ecl_kw_free( doubhead_kw ); - } - - if (ecl_kw_get_size( poro ) == ecl_grid_get_nactive( ecl_grid )) { - ecl_init_file_fwrite_poro( fortio , ecl_grid , poro ); - } else - util_abort("%s: keyword:%s (PORO ?) has wrong size:%d active cells in grid:%d \n",__func__ , ecl_kw_get_header( poro ) , ecl_kw_get_size( poro ) , ecl_grid_get_nactive( ecl_grid )); -} diff --git a/ThirdParty/Ert/devel/libecl/src/ecl_nnc_export.c b/ThirdParty/Ert/devel/libecl/src/ecl_nnc_export.c deleted file mode 100644 index 3fbae6a40a..0000000000 --- a/ThirdParty/Ert/devel/libecl/src/ecl_nnc_export.c +++ /dev/null @@ -1,235 +0,0 @@ -/* - Copyright (C) 2013 Statoil ASA, Norway. - - The file 'ecl_nnc_export.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more detals. -*/ -#include - -#include - -#include -#include -#include -#include -#include - - -int ecl_nnc_export_get_size( const ecl_grid_type * grid ) { - return ecl_grid_get_num_nnc( grid ); -} - - - - -static int ecl_nnc_export__( const ecl_grid_type * grid , int lgr_index1 , const ecl_file_type * init_file , ecl_nnc_type * nnc_data, int * nnc_offset) { - int nnc_index = *nnc_offset; - int lgr_nr1 = ecl_grid_get_lgr_nr( grid ); - int global_index1; - int valid_trans = 0 ; - const ecl_grid_type * global_grid = ecl_grid_get_global_grid( grid ); - - if (!global_grid) - global_grid = grid; - - - for (global_index1 = 0; global_index1 < ecl_grid_get_global_size( grid ); global_index1++) { - const nnc_info_type * nnc_info = ecl_grid_get_cell_nnc_info1( grid , global_index1 ); - if (nnc_info) { - int lgr_index2; - for (lgr_index2=0; lgr_index2 < nnc_info_get_size( nnc_info ); lgr_index2++) { - const nnc_vector_type * nnc_vector = nnc_info_iget_vector( nnc_info , lgr_index2 ); - const int_vector_type * grid2_index_list = nnc_vector_get_grid_index_list( nnc_vector ); - const int_vector_type * nnc_index_list = nnc_vector_get_nnc_index_list( nnc_vector ); - int lgr_nr2 = nnc_vector_get_lgr_nr( nnc_vector ); - const ecl_kw_type * tran_kw = ecl_nnc_export_get_tranx_kw(global_grid , init_file , lgr_nr1 , lgr_nr2 ); - - int index2; - ecl_nnc_type nnc; - - nnc.grid_nr1 = lgr_nr1; - nnc.grid_nr2 = lgr_nr2; - nnc.global_index1 = global_index1; - - for (index2 = 0; index2 < nnc_vector_get_size( nnc_vector ); index2++) { - nnc.global_index2 = int_vector_iget( grid2_index_list , index2 ); - if(tran_kw) { - nnc.trans = ecl_kw_iget_as_double(tran_kw, int_vector_iget(nnc_index_list, index2)); - valid_trans++; - }else{ - nnc.trans = ERT_ECL_DEFAULT_NNC_TRANS; - } - - nnc_data[nnc_index] = nnc; - nnc_index++; - } - } - } - } - *nnc_offset = nnc_index; - return valid_trans; -} - - -int ecl_nnc_export( const ecl_grid_type * grid , const ecl_file_type * init_file , ecl_nnc_type * nnc_data) { - int nnc_index = 0; - int total_valid_trans = 0; - total_valid_trans = ecl_nnc_export__( grid , 0 , init_file , nnc_data , &nnc_index ); - { - int lgr_index; - for (lgr_index = 0; lgr_index < ecl_grid_get_num_lgr(grid); lgr_index++) { - ecl_grid_type * igrid = ecl_grid_iget_lgr( grid , lgr_index ); - total_valid_trans += ecl_nnc_export__( igrid , lgr_index , init_file , nnc_data , &nnc_index ); - } - } - nnc_index = ecl_nnc_export_get_size( grid ); - ecl_nnc_sort( nnc_data , nnc_index ); - return total_valid_trans; -} - - - -int ecl_nnc_cmp( const ecl_nnc_type * nnc1 , const ecl_nnc_type * nnc2) { - - if (nnc1->grid_nr1 != nnc2->grid_nr1) { - if (nnc1->grid_nr1 < nnc2->grid_nr1) - return -1; - else - return 1; - } - - if (nnc1->grid_nr2 != nnc2->grid_nr2) { - if (nnc1->grid_nr2 < nnc2->grid_nr2) - return -1; - else - return 1; - } - - if (nnc1->global_index1 != nnc2->global_index1) { - if (nnc1->global_index1 < nnc2->global_index1) - return -1; - else - return 1; - } - - - if (nnc1->global_index2 != nnc2->global_index2) { - if (nnc1->global_index2 < nnc2->global_index2) - return -1; - else - return 1; - } - - return 0; -} - -static int ecl_nnc_cmp__( const void * nnc1 , const void * nnc2) { - return ecl_nnc_cmp( nnc1 , nnc2 ); -} - - -void ecl_nnc_sort( ecl_nnc_type * nnc_list , int size) { - qsort( nnc_list , size , sizeof * nnc_list , ecl_nnc_cmp__ ); -} - - - -ecl_kw_type * ecl_nnc_export_get_tranll_kw( const ecl_grid_type * grid , const ecl_file_type * init_file , int lgr_nr1, int lgr_nr2 ) { - const char * lgr_name1 = ecl_grid_get_lgr_name( grid , lgr_nr1 ); - const char * lgr_name2 = ecl_grid_get_lgr_name( grid , lgr_nr2 ); - - ecl_kw_type * tran_kw = NULL; - const int file_num_kw = ecl_file_get_size( init_file ); - int global_kw_index = 0; - - while (true) { - if (global_kw_index >= file_num_kw) - break; - { - ecl_kw_type * ecl_kw = ecl_file_iget_kw( init_file , global_kw_index ); - if (strcmp( LGRJOIN_KW , ecl_kw_get_header( ecl_kw)) == 0) { - - if (ecl_kw_icmp_string( ecl_kw , 0 , lgr_name1) && ecl_kw_icmp_string( ecl_kw , 1 , lgr_name2)) { - tran_kw = ecl_file_iget_kw( init_file , global_kw_index + 1); - break; - } - } - global_kw_index++; - } - } - - return tran_kw; -} - - - -ecl_kw_type * ecl_nnc_export_get_tran_kw( const ecl_file_type * init_file , const char * kw , int lgr_nr ) { - ecl_kw_type * tran_kw = NULL; - if (lgr_nr == 0) { - if (strcmp(kw , TRANNNC_KW) == 0) - if(ecl_file_has_kw(init_file, kw)) { - tran_kw = ecl_file_iget_named_kw(init_file, TRANNNC_KW, 0); - } - } else { - if ((strcmp(kw , TRANNNC_KW) == 0) || - (strcmp(kw , TRANGL_KW) == 0)) { - const int file_num_kw = ecl_file_get_size( init_file ); - int global_kw_index = 0; - bool finished = false; - bool correct_lgrheadi = false; - int head_index = 0; - int steps = 0; - - - while(!finished){ - ecl_kw_type * ecl_kw = ecl_file_iget_kw( init_file , global_kw_index ); - const char *current_kw = ecl_kw_get_header(ecl_kw); - if (strcmp( LGRHEADI_KW , current_kw) == 0) { - if (ecl_kw_iget_int( ecl_kw , LGRHEADI_LGR_NR_INDEX) == lgr_nr) { - correct_lgrheadi = true; - head_index = global_kw_index; - }else{ - correct_lgrheadi = false; - } - } - if(correct_lgrheadi) { - if (strcmp(kw, current_kw) == 0) { - steps = global_kw_index - head_index; /* This is to calculate who fare from lgrheadi we found the TRANGL/TRANNNC key word */ - if(steps == 3 || steps == 4 || steps == 6) { /* We only support a file format where TRANNNC is 3 steps and TRANGL is 4 or 6 steps from LGRHEADI */ - tran_kw = ecl_kw; - finished = true; - break; - } - } - } - global_kw_index++; - if (global_kw_index == file_num_kw) - finished = true; - } - } - } - return tran_kw; -} - - -ecl_kw_type * ecl_nnc_export_get_tranx_kw( const ecl_grid_type * grid , const ecl_file_type * init_file , int lgr_nr1, int lgr_nr2 ) { - if (lgr_nr1 == lgr_nr2) - return ecl_nnc_export_get_tran_kw( init_file , TRANNNC_KW , lgr_nr2 ); - else { - if (lgr_nr1 == 0) - return ecl_nnc_export_get_tran_kw( init_file , TRANGL_KW , lgr_nr2 ); - else - return ecl_nnc_export_get_tranll_kw( grid , init_file , lgr_nr1 , lgr_nr2 ); - } -} diff --git a/ThirdParty/Ert/devel/libecl/src/ecl_rst_file.c b/ThirdParty/Ert/devel/libecl/src/ecl_rst_file.c deleted file mode 100644 index 2abeac7af1..0000000000 --- a/ThirdParty/Ert/devel/libecl/src/ecl_rst_file.c +++ /dev/null @@ -1,227 +0,0 @@ -/* - Copyright (C) 2012 Statoil ASA, Norway. - - The file 'ecl_rst_file.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -struct ecl_rst_file_struct { - fortio_type * fortio; - bool unified; - bool fmt_file; -}; - - - -static ecl_rst_file_type * ecl_rst_file_alloc( const char * filename ) { - bool unified = ecl_util_unified_file( filename ); - bool fmt_file; - ecl_rst_file_type * rst_file = util_malloc( sizeof * rst_file ); - - if (ecl_util_fmt_file( filename , &fmt_file)) { - rst_file->unified = unified; - rst_file->fmt_file = fmt_file; - return rst_file; - } else { - util_abort("%s: invalid restart filename:%s - could not determine formatted/unformatted status\n",__func__ , filename); - return NULL; - } -} - -/** - Observe that all the open() functions expect that filename conforms - to the standard ECLIPSE conventions, i.e. with extension .FUNRST / - .UNRST / .Xnnnn / .Fnnnn. -*/ - -ecl_rst_file_type * ecl_rst_file_open_read( const char * filename ) { - ecl_rst_file_type * rst_file = ecl_rst_file_alloc( filename ); - rst_file->fortio = fortio_open_reader( filename , rst_file->fmt_file , ECL_ENDIAN_FLIP ); - return rst_file; -} - - -ecl_rst_file_type * ecl_rst_file_open_write( const char * filename ) { - ecl_rst_file_type * rst_file = ecl_rst_file_alloc( filename ); - rst_file->fortio = fortio_open_writer( filename , rst_file->fmt_file , ECL_ENDIAN_FLIP ); - return rst_file; -} - -ecl_rst_file_type * ecl_rst_file_open_append( const char * filename ) { - ecl_rst_file_type * rst_file = ecl_rst_file_alloc( filename ); - rst_file->fortio = fortio_open_append( filename , rst_file->fmt_file , ECL_ENDIAN_FLIP ); - return rst_file; -} - -void ecl_rst_file_close( ecl_rst_file_type * rst_file ) { - fortio_fclose( rst_file->fortio ); - free( rst_file ); -} - - -/*****************************************************************/ - -static void ecl_rst_file_fwrite_SEQNUM( ecl_rst_file_type * rst_file , int seqnum ) { - ecl_kw_type * seqnum_kw = ecl_kw_alloc( SEQNUM_KW , 1 , ECL_INT_TYPE ); - ecl_kw_iset_int( seqnum_kw , 0 , seqnum ); - ecl_kw_fwrite( seqnum_kw , rst_file->fortio ); - ecl_kw_free( seqnum_kw ); -} - -void ecl_rst_file_start_solution( ecl_rst_file_type * rst_file ) { - ecl_kw_type * startsol_kw = ecl_kw_alloc( STARTSOL_KW , 0 , ECL_MESS_TYPE ); - ecl_kw_fwrite( startsol_kw , rst_file->fortio ); - ecl_kw_free( startsol_kw ); -} - -void ecl_rst_file_end_solution( ecl_rst_file_type * rst_file ) { - ecl_kw_type * endsol_kw = ecl_kw_alloc( ENDSOL_KW , 0 , ECL_MESS_TYPE ); - ecl_kw_fwrite( endsol_kw , rst_file->fortio ); - ecl_kw_free( endsol_kw ); -} - - - -static ecl_kw_type * ecl_rst_file_alloc_INTEHEAD( ecl_rst_file_type * rst_file, - ecl_rsthead_type * rsthead, - int simulator ) { - ecl_kw_type * intehead_kw = ecl_kw_alloc( INTEHEAD_KW , INTEHEAD_RESTART_SIZE , ECL_INT_TYPE ); - ecl_kw_scalar_set_int( intehead_kw , 0 ); - - ecl_kw_iset_int( intehead_kw , INTEHEAD_UNIT_INDEX , INTEHEAD_METRIC_VALUE ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NX_INDEX , rsthead->nx); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NY_INDEX , rsthead->ny); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NZ_INDEX , rsthead->nz); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NACTIVE_INDEX , rsthead->nactive); - ecl_kw_iset_int( intehead_kw , INTEHEAD_PHASE_INDEX , rsthead->phase_sum ); - - /* All well properties are hardcoded to zero. */ - { - int NGMAXZ = 0; - int NWGMAX = 0; - int NIGRPZ = 0; - int NSWLMX = 0; - int NSEGMX = 0; - int NISEGZ = 0; - - ecl_kw_iset_int( intehead_kw , INTEHEAD_NWELLS_INDEX , rsthead->nwells ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NCWMAX_INDEX , rsthead->ncwmax ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NWGMAX_INDEX , NWGMAX ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NGMAXZ_INDEX , NGMAXZ ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NIWELZ_INDEX , rsthead->niwelz ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NZWELZ_INDEX , rsthead->nzwelz ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NICONZ_INDEX , rsthead->niconz ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NIGRPZ_INDEX , NIGRPZ ); - - { - util_set_date_values( rsthead->sim_time , &rsthead->day , &rsthead->month , &rsthead->year ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_DAY_INDEX , rsthead->day ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_MONTH_INDEX , rsthead->month ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_YEAR_INDEX , rsthead->year ); - } - - ecl_kw_iset_int( intehead_kw , INTEHEAD_IPROG_INDEX , simulator); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NSWLMX_INDEX , NSWLMX ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NSEGMX_INDEX , NSEGMX ); - ecl_kw_iset_int( intehead_kw , INTEHEAD_NISEGZ_INDEX , NISEGZ ); - } - return intehead_kw; -} - - - -static ecl_kw_type * ecl_rst_file_alloc_LOGIHEAD( int simulator ) { - bool dual_porosity = false; - bool radial_grid_ECLIPSE100 = false; - bool radial_grid_ECLIPSE300 = false; - - ecl_kw_type * logihead_kw = ecl_kw_alloc( LOGIHEAD_KW , LOGIHEAD_RESTART_SIZE , ECL_BOOL_TYPE ); - - ecl_kw_scalar_set_bool( logihead_kw , false ); - - if (simulator == INTEHEAD_ECLIPSE100_VALUE) - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_RADIAL100_INDEX , radial_grid_ECLIPSE100); - else - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_RADIAL300_INDEX , radial_grid_ECLIPSE300); - - ecl_kw_iset_bool( logihead_kw , LOGIHEAD_DUALP_INDEX , dual_porosity); - return logihead_kw; -} - - -static ecl_kw_type * ecl_rst_file_alloc_DOUBHEAD( ecl_rst_file_type * rst_file , double days) { - ecl_kw_type * doubhead_kw = ecl_kw_alloc( DOUBHEAD_KW , DOUBHEAD_RESTART_SIZE , ECL_DOUBLE_TYPE ); - - ecl_kw_scalar_set_double( doubhead_kw , 0); - ecl_kw_iset_double( doubhead_kw , DOUBHEAD_DAYS_INDEX , days ); - - - return doubhead_kw; -} - - - -void ecl_rst_file_fwrite_header( ecl_rst_file_type * rst_file , - int seqnum , - ecl_rsthead_type * rsthead_data ) { - - if (rst_file->unified) - ecl_rst_file_fwrite_SEQNUM( rst_file , seqnum ); - - { - ecl_kw_type * intehead_kw = ecl_rst_file_alloc_INTEHEAD( rst_file , rsthead_data , INTEHEAD_ECLIPSE100_VALUE); - ecl_kw_fwrite( intehead_kw , rst_file->fortio ); - ecl_kw_free( intehead_kw ); - } - - { - ecl_kw_type * logihead_kw = ecl_rst_file_alloc_LOGIHEAD( INTEHEAD_ECLIPSE100_VALUE); - ecl_kw_fwrite( logihead_kw , rst_file->fortio ); - ecl_kw_free( logihead_kw ); - } - - - { - ecl_kw_type * doubhead_kw = ecl_rst_file_alloc_DOUBHEAD( rst_file , rsthead_data->sim_days ); - ecl_kw_fwrite( doubhead_kw , rst_file->fortio ); - ecl_kw_free( doubhead_kw ); - } -} - -void ecl_rst_file_add_kw(ecl_rst_file_type * rst_file , const ecl_kw_type * ecl_kw ) { - ecl_kw_fwrite( ecl_kw , rst_file->fortio ); -} - - diff --git a/ThirdParty/Ert/devel/libecl/src/ecl_rstfile.c b/ThirdParty/Ert/devel/libecl/src/ecl_rstfile.c deleted file mode 100644 index c2500fc25e..0000000000 --- a/ThirdParty/Ert/devel/libecl/src/ecl_rstfile.c +++ /dev/null @@ -1,471 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'ecl_rstfile.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -/*****************************************************************/ -/* R E S T A R T F I L E S */ -/*****************************************************************/ - - -/* - This file is included from the ecl_file.c file with a #include - statement, i.e. it is the same compilation unit as ecl_file. The - separation is only to increase readability. -*/ - -/* - There is no special datastructure for working with restart files, - they are 100% stock ecl_file instances with the following limited - structure: - - * They are organized in blocks; where each block starts with a - SEQNUM keyword, which contains the report step. - - * Each block contains an INTEHEAD keyword, immediately after the - SEQNUM keyword, which contains the true simulation date of of the - block, and also some other data. Observe that also INIT files and - GRID files contain an INTEHEAD keyword; and that for files with - LGRs there is one INTEHEAD keyword for each LGR. This creates an - extra level of mess. - - The natural time ordering when working with the file data is just - the running index in the file; however from a user perspective the - natural way to indicate time coordinate is through the report step - or the true simulation time (i.e. 22.th of October 2009). This file - is all about converting the natural input unit time and report_step - to the internal indexing. This is achieved by consulting the value - of the INTEHEAD and SEQNUM keywords respectively. -*/ - -/* -About the time-direction -======================== - -For the following discussion we will focus on the following simplified -unified restart file. The leading number is the global index of the -keyword, the value in [] corresponds to the relevant part of the -content of the keyword on the line, the labels A,B,C,D,E are used for -references in the text below. - - 0 | SEQNUM [0] \ A - 1 | INTEHEAD [01.01.2005] | - 2 | PRESSURE [... ] | - 3 | SWAT [...] | - | -----------------------+ - 4 | SEQNUM [5] | B - 5 | INTEHEAD [01.06.2005] | - 6 | PRESSURE [... ] | - 7 | SWAT [...] | - |------------------------+ - 8 | SEQNUM [10] | C - 9 | INTEHEAD [01.12.2006] | -10 | PRESSURE [...] | -11 | SWAT [...] | - |------------------------+ -12 | SEQNUM [20] | D -13 | INTEHEAD [01.12.2007] | -14 | PRESSURE [...] | -15 | SWAT [...] | -16 | OIL_DEN [...] | - |------------------------+ -12 | SEQNUM [40] | E -13 | INTEHEAD [01.12.2009] | -14 | PRESSURE [...] | -15 | SWAT [...] / - - -This restart file has the following features: - - o It contains in total 16 keywords. - - o It contains 5 blocks of collected keywords corresponding to one - time instant, each of these blocks is called a report_step, - typcially coming from one DATES keyword in the ECLIPSE - datafile. Observe that the file does not have the block structure - visualized on this figure, the only thing separating the blocks in - the file is the occurence of a SEQNUM keyword. - - o Only a few of the report steps are present, namely 0, 5, 10, 20 and - 40. - - o The different blocks are not equally long, the fourth block has an - extra keyword OIL_DEN. - -To adress these keywords and blocks using different time coordinates -we have introduced the following concepts: - - report_step: This corresponds to the value of the SEQNUM keword, - i.e. to do queries based on the report_step we must load the - seqnum kewyord and read the value. - - ecl_file_get_unrstmap_report_step( ecl_file , 0 ) => A - ecl_file_get_unrstmap_report_step( ecl_file , 1 ) => NULL - - ecl_file_has_report_step( ecl_file , 5 ) => True - ecl_file_has_report_step( ecl_file , 2 ) => False - - sim_time: This correpsonds to the true simulation time of the report - step, the simulation time is stored as integers DAY, MONTH, YEAR - in the INTEHEAD keyword; the function INTEHEAD_date() will extract - the DAY, MONTH and YEAR values from an INTEHEAD keyword instance - and convert to a time_t instance. The functions: - - ecl_file_get_unrstmap_sim_time() and ecl_file_has_has_sim_time() - - can be used to query for simulation times and get the - corresponding block maps. - - index/global_index : This is typically the global running index of - the keyword in the file; this is the unique address of the keyword - which is used for the final lookup. - - occurence: The nth' time a particular keyword has occured in the - file, i.e. the SEQNUM keyword in block C is the third occurence of - SEQNUM. Instead of occurence xxxx_index is also used to indicate - the occurence of keyword xxxx. The occurence number is the integer - argument to the xxx_iget_named_kw() function, and also the final - call to create blockmaps. - -*/ - - -static bool file_map_has_report_step( const file_map_type * file_map , int report_step) { - int global_index = file_map_find_kw_value( file_map , SEQNUM_KW , &report_step ); - if (global_index >= 0) - return true; - else - return false; -} - - -static time_t file_map_iget_restart_sim_date(const file_map_type * file_map , int seqnum_index) { - time_t sim_time = -1; - file_map_type * seqnum_map = seqnum_map = file_map_alloc_blockmap( file_map , SEQNUM_KW , seqnum_index); - - if (seqnum_map != NULL) { - ecl_kw_type * intehead_kw = file_map_iget_named_kw( seqnum_map , INTEHEAD_KW , 0); - sim_time = ecl_rsthead_date( intehead_kw ); - file_map_free( seqnum_map ); - } - - return sim_time; -} - - -static double file_map_iget_restart_sim_days(const file_map_type * file_map , int seqnum_index) { - double sim_days = 0; - file_map_type * seqnum_map = seqnum_map = file_map_alloc_blockmap( file_map , SEQNUM_KW , seqnum_index); - - if (seqnum_map != NULL) { - ecl_kw_type * doubhead_kw = file_map_iget_named_kw( seqnum_map , DOUBHEAD_KW , 0); - sim_days = ecl_kw_iget_double( doubhead_kw , DOUBHEAD_DAYS_INDEX); - file_map_free( seqnum_map ); - } - - return sim_days; -} - - - - -static int file_map_find_sim_time(const file_map_type * file_map , time_t sim_time) { - int seqnum_index = -1; - if ( file_map_has_kw( file_map , INTEHEAD_KW)) { - const int_vector_type * intehead_index_list = hash_get( file_map->kw_index , INTEHEAD_KW ); - int index = 0; - while (index < int_vector_size( intehead_index_list )) { - const ecl_kw_type * intehead_kw = file_map_iget_kw( file_map , int_vector_iget( intehead_index_list , index )); - if (ecl_rsthead_date( intehead_kw ) == sim_time) { - seqnum_index = index; - break; - } - index++; - } - } - return seqnum_index; -} - - -/** - This function will scan through the ecl_file looking for INTEHEAD - headers corresponding to sim_time. If sim_time is found the - function will return the INTEHEAD occurence number, i.e. for a - unified restart file like: - - INTEHEAD / 01.01.2000 - ... - PRESSURE - SWAT - ... - INTEHEAD / 01.03.2000 - ... - PRESSURE - SWAT - ... - INTEHEAD / 01.05.2000 - ... - PRESSURE - SWAT - .... - - The function call: - - ecl_file_get_restart_index( restart_file , (time_t) "01.03.2000") - - will return 1. Observe that this will in general NOT agree with the - DATES step number. - - If the sim_time can not be found the function will return -1, that - includes the case when the file in question is not a restart file - at all, and no INTEHEAD headers can be found. - - Observe that the function requires on-the-second-equality; which is - of course quite strict. - - Each report step only has one occurence of SEQNUM, but one INTEHEAD - for each LGR; i.e. one should call iselect_rstblock() prior to - calling this function. -*/ - - -static bool file_map_has_sim_time( const file_map_type * file_map , time_t sim_time) { - int num_INTEHEAD = file_map_get_num_named_kw( file_map , INTEHEAD_KW ); - if (num_INTEHEAD == 0) - return false; /* We have no INTEHEAD headers - probably not a restart file at all. */ - else { - /* - Should probably do something smarter than a linear search; but I dare not - take the chance that all INTEHEAD headers are properly set. This is from - Schlumberger after all. - */ - int intehead_index = 0; - while (true) { - time_t itime = file_map_iget_restart_sim_date( file_map , intehead_index ); - - if (itime == sim_time) /* Perfect hit. */ - return true; - - if (itime > sim_time) /* We have gone past the target_time - i.e. we do not have it. */ - return false; - - intehead_index++; - if (intehead_index == num_INTEHEAD) /* We have iterated through the whole thing without finding sim_time. */ - return false; - } - } -} - - -static int file_map_seqnum_index_from_sim_time( file_map_type * parent_map , time_t sim_time) { - int num_seqnum = file_map_get_num_named_kw( parent_map , SEQNUM_KW ); - int seqnum_index = 0; - file_map_type * seqnum_map; - - while (true) { - seqnum_map = file_map_alloc_blockmap( parent_map , SEQNUM_KW , seqnum_index); - - if (seqnum_map != NULL) { - if (file_map_has_sim_time( seqnum_map , sim_time)) { - file_map_free( seqnum_map ); - return seqnum_index; - } else { - file_map_free( seqnum_map ); - seqnum_index++; - } - } - - if (num_seqnum == seqnum_index) - return -1; - } -} - - -/******************************************************************/ -/* Query functions. */ - - -/** - Will look through all the INTEHEAD kw instances of the current - ecl_file and look for @sim_time. If the value is found true is - returned, otherwise false. -*/ - - - -bool ecl_file_has_sim_time( const ecl_file_type * ecl_file , time_t sim_time) { - return file_map_has_sim_time( ecl_file->active_map , sim_time ); -} - - -/* - This function will determine the restart block corresponding to the - world time @sim_time; if @sim_time can not be found the function - will return 0. - - The returned index is the 'occurence number' in the restart file, - i.e. in the (quite typical case) that not all report steps are - present the return value will not agree with report step. - - The return value from this function can then be used to get a - corresponding solution field directly, or the file map can - restricted to this block. - - Direct access: - - int index = ecl_file_get_restart_index( ecl_file , sim_time ); - if (index >= 0) { - ecl_kw_type * pressure_kw = ecl_file_iget_named_kw( ecl_file , "PRESSURE" , index ); - .... - } - - - Using block restriction: - - int index = ecl_file_get_restart_index( ecl_file , sim_time ); - if (index >= 0) { - ecl_file_iselect_rstblock( ecl_file , index ); - { - ecl_kw_type * pressure_kw = ecl_file_iget_named_kw( ecl_file , "PRESSURE" , 0 ); - .... - } - } - - Specially in the case of LGRs the block restriction should be used. - */ - -int ecl_file_get_restart_index( const ecl_file_type * ecl_file , time_t sim_time) { - int active_index = file_map_find_sim_time( ecl_file->active_map , sim_time ); - return active_index; -} - - -/** - Will look through all the SEQNUM kw instances of the current - ecl_file and look for @report_step. If the value is found true is - returned, otherwise false. -*/ - -bool ecl_file_has_report_step( const ecl_file_type * ecl_file , int report_step) { - return file_map_has_report_step( ecl_file->active_map , report_step ); -} - - -/** - This function will look up the INTEHEAD keyword in a ecl_file_type - instance, and calculate simulation date from this instance. - - Will return -1 if the requested INTEHEAD keyword can not be found. -*/ - -time_t ecl_file_iget_restart_sim_date( const ecl_file_type * restart_file , int index ) { - return file_map_iget_restart_sim_date( restart_file->active_map , index ); -} - -double ecl_file_iget_restart_sim_days( const ecl_file_type * restart_file , int index ) { - return file_map_iget_restart_sim_days( restart_file->active_map , index ); -} - - -/*****************************************************************/ -/* Select and open functions, observe that these functions should - only consider the global map. -*/ - - -/* - Will select restart block nr @seqnum_index - without considering - report_steps or simulation time. -*/ -bool ecl_file_iselect_rstblock( ecl_file_type * ecl_file , int seqnum_index ) { - return ecl_file_select_block( ecl_file , SEQNUM_KW , seqnum_index ); -} - - -bool ecl_file_select_rstblock_sim_time( ecl_file_type * ecl_file , time_t sim_time) { - int seqnum_index = file_map_seqnum_index_from_sim_time( ecl_file->global_map , sim_time ); - - if (seqnum_index >= 0) - return ecl_file_iselect_rstblock( ecl_file , seqnum_index); - else - return false; -} - - -bool ecl_file_select_rstblock_report_step( ecl_file_type * ecl_file , int report_step) { - int global_index = file_map_find_kw_value( ecl_file->global_map , SEQNUM_KW , &report_step); - if ( global_index >= 0) { - int seqnum_index = file_map_iget_occurence( ecl_file->global_map , global_index ); - return ecl_file_iselect_rstblock( ecl_file , seqnum_index); - } else - return false; -} - -/******************************************************************/ - -static ecl_file_type * ecl_file_open_rstblock_report_step__( const char * filename , int report_step , int flags) { - ecl_file_type * ecl_file = ecl_file_open( filename , flags ); - if (ecl_file) { - if (!ecl_file_select_rstblock_report_step( ecl_file , report_step )) { - ecl_file_close( ecl_file ); - ecl_file = NULL; - } - } - return ecl_file; -} - -ecl_file_type * ecl_file_open_rstblock_report_step( const char * filename , int report_step , int flags) { - return ecl_file_open_rstblock_report_step__(filename , report_step , flags ); -} - - -/******************************************************************/ - -static ecl_file_type * ecl_file_open_rstblock_sim_time__( const char * filename , time_t sim_time, int flags ) { - ecl_file_type * ecl_file = ecl_file_open( filename , flags ); - if (ecl_file) { - if (!ecl_file_select_rstblock_sim_time( ecl_file , sim_time)) { - ecl_file_close( ecl_file ); - ecl_file = NULL; - } - } - return ecl_file; -} - -ecl_file_type * ecl_file_open_rstblock_sim_time( const char * filename , time_t sim_time, int flags) { - return ecl_file_open_rstblock_sim_time__( filename , sim_time , flags ); -} - -/******************************************************************/ - -static ecl_file_type * ecl_file_iopen_rstblock__( const char * filename , int seqnum_index, int flags ) { - ecl_file_type * ecl_file = ecl_file_open( filename , flags ); - if (ecl_file) { - if (!ecl_file_iselect_rstblock( ecl_file , seqnum_index )) { - ecl_file_close( ecl_file ); - ecl_file = NULL; - } - } - return ecl_file; -} - - -ecl_file_type * ecl_file_iopen_rstblock( const char * filename , int seqnum_index , int flags) { - return ecl_file_iopen_rstblock__(filename , seqnum_index , flags ); -} - - - diff --git a/ThirdParty/Ert/devel/libecl/src/ecl_rsthead.c b/ThirdParty/Ert/devel/libecl/src/ecl_rsthead.c deleted file mode 100644 index bb3505afdb..0000000000 --- a/ThirdParty/Ert/devel/libecl/src/ecl_rsthead.c +++ /dev/null @@ -1,205 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'ecl_rsthead.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ -#include - -#include - -#include -#include -#include -#include - - -static time_t rsthead_date( int day , int month , int year) { - return ecl_util_make_date( day , month, year ); -} - - -time_t ecl_rsthead_date( const ecl_kw_type * intehead_kw ) { - return rsthead_date( ecl_kw_iget_int( intehead_kw , INTEHEAD_DAY_INDEX) , - ecl_kw_iget_int( intehead_kw , INTEHEAD_MONTH_INDEX) , - ecl_kw_iget_int( intehead_kw , INTEHEAD_YEAR_INDEX) ); -} - - -double ecl_rsthead_get_sim_days( const ecl_rsthead_type * header ) { - return header->sim_days; -} - - - -ecl_rsthead_type * ecl_rsthead_ialloc( const ecl_file_type * rst_file , int occurence) { - if (ecl_file_get_num_named_kw( rst_file , INTEHEAD_KW) > occurence) { - const ecl_kw_type * intehead_kw = ecl_file_iget_named_kw( rst_file , INTEHEAD_KW , occurence); - - ecl_rsthead_type * rsthead = util_malloc( sizeof * rsthead ); - - { - const int * data = (const int *) ecl_kw_get_void_ptr( intehead_kw ); - - rsthead->day = data[INTEHEAD_DAY_INDEX]; - rsthead->month = data[INTEHEAD_MONTH_INDEX]; - rsthead->year = data[INTEHEAD_YEAR_INDEX]; - rsthead->version = data[INTEHEAD_IPROG_INDEX]; - rsthead->phase_sum = data[INTEHEAD_PHASE_INDEX]; - - rsthead->nx = data[INTEHEAD_NX_INDEX]; - rsthead->ny = data[INTEHEAD_NY_INDEX]; - rsthead->nz = data[INTEHEAD_NZ_INDEX]; - rsthead->nactive = data[INTEHEAD_NACTIVE_INDEX]; - - rsthead->nwells = data[INTEHEAD_NWELLS_INDEX]; - rsthead->niwelz = data[INTEHEAD_NIWELZ_INDEX]; - rsthead->nzwelz = data[INTEHEAD_NZWELZ_INDEX]; - - rsthead->nsconz = data[INTEHEAD_NSCONZ_INDEX]; - rsthead->niconz = data[INTEHEAD_NICONZ_INDEX]; - rsthead->ncwmax = data[INTEHEAD_NCWMAX_INDEX]; - - rsthead->nisegz = data[INTEHEAD_NISEGZ_INDEX]; - rsthead->nsegmx = data[INTEHEAD_NSEGMX_INDEX]; - rsthead->nswlmx = data[INTEHEAD_NSWLMX_INDEX]; - rsthead->nrsegz = data[INTEHEAD_NRSEGZ_INDEX]; - - // The only derived quantity - rsthead->sim_time = rsthead_date( rsthead->day , rsthead->month , rsthead->year ); - } - - if (ecl_file_get_num_named_kw(rst_file, DOUBHEAD_KW) > occurence) { - const ecl_kw_type * doubhead_kw = ecl_file_iget_named_kw( rst_file , DOUBHEAD_KW , occurence); - rsthead->sim_days = ecl_kw_iget_double( doubhead_kw , DOUBHEAD_DAYS_INDEX ); - } - - if (ecl_file_get_num_named_kw(rst_file, LOGIHEAD_KW) > occurence) { - const ecl_kw_type * logihead_kw = ecl_file_iget_named_kw( rst_file , LOGIHEAD_KW , occurence); - rsthead->dualp = ecl_kw_iget_bool( logihead_kw , LOGIHEAD_DUALP_INDEX); - } else - rsthead->dualp = false; - - - return rsthead; - } else - return NULL; -} - - -ecl_rsthead_type * ecl_rsthead_alloc( const ecl_file_type * rst_file) { - return ecl_rsthead_ialloc( rst_file , 0 ); -} - - -ecl_rsthead_type * ecl_rsthead_alloc_empty() { - ecl_rsthead_type * rsthead = util_malloc( sizeof * rsthead ); - - rsthead->day = 0; - rsthead->month = 0; - rsthead->year = 0; - rsthead->version = 0; - rsthead->phase_sum = 0; - - rsthead->nx = 0; - rsthead->ny = 0; - rsthead->nz = 0; - rsthead->nactive = 0; - - rsthead->nwells = 0; - rsthead->niwelz = 0; - rsthead->nzwelz = 0; - - rsthead->nsconz = 0; - rsthead->niconz = 0; - rsthead->ncwmax = 0; - - rsthead->nisegz = 0; - rsthead->nsegmx = 0; - rsthead->nswlmx = 0; - rsthead->nrsegz = 0; - - rsthead->sim_time = 0; - - rsthead->dualp = false; - rsthead->sim_days = 0.0; - - return rsthead; -} - - -void ecl_rsthead_fprintf( const ecl_rsthead_type * header , FILE * stream) { - fprintf(stream , "nx %d \n",header->nx); - fprintf(stream , "nwells %d \n",header->nwells); - fprintf(stream , "niwelz %d \n\n",header->niwelz); -} - - -bool ecl_rsthead_equal( const ecl_rsthead_type * header1 , const ecl_rsthead_type * header2) { - bool equal = true; - equal = equal && (header1->day == header2->day); - equal = equal && (header1->year == header2->year); - equal = equal && (header1->month == header2->month); - equal = equal && (header1->sim_time == header2->sim_time); - equal = equal && (header1->version == header2->version); - equal = equal && (header1->phase_sum == header2->phase_sum); - equal = equal && (header1->nx == header2->nx); - equal = equal && (header1->ny == header2->ny); - equal = equal && (header1->nz == header2->nz); - equal = equal && (header1->nactive == header2->nactive); - equal = equal && (header1->nwells == header2->nwells); - equal = equal && (header1->niwelz == header2->niwelz); - equal = equal && (header1->nzwelz == header2->nzwelz); - equal = equal && (header1->niconz == header2->niconz); - equal = equal && (header1->ncwmax == header2->ncwmax); - equal = equal && (header1->nisegz == header2->nisegz); - equal = equal && (header1->nsegmx == header2->nsegmx); - equal = equal && (header1->nswlmx == header2->nswlmx); - equal = equal && (header1->nlbrmx == header2->nlbrmx); - equal = equal && (header1->nilbrz == header2->nilbrz); - equal = equal && (header1->dualp == header2->dualp); - equal = equal && util_double_approx_equal(header1->sim_days , header2->sim_days ); - - return equal; -} - -void ecl_rsthead_fprintf_struct( const ecl_rsthead_type * header , FILE * stream) { - fprintf(stream , "{.day = %d,\n",header->day); - fprintf(stream , ".year = %d,\n",header->year); - fprintf(stream , ".month = %d,\n",header->month); - fprintf(stream , ".sim_time = %ld,\n",header->sim_time); - fprintf(stream , ".version = %d,\n",header->version); - fprintf(stream , ".phase_sum = %d,\n",header->phase_sum); - fprintf(stream , ".nx = %d,\n",header->nx); - fprintf(stream , ".ny = %d,\n",header->ny); - fprintf(stream , ".nz = %d,\n",header->nz); - fprintf(stream , ".nactive = %d,\n",header->nactive); - fprintf(stream , ".nwells = %d,\n",header->nwells); - fprintf(stream , ".niwelz = %d,\n",header->niwelz); - fprintf(stream , ".nzwelz = %d,\n",header->nzwelz); - fprintf(stream , ".niconz = %d,\n",header->niconz); - fprintf(stream , ".ncwmax = %d,\n",header->ncwmax); - fprintf(stream , ".nisegz = %d,\n",header->nisegz); - fprintf(stream , ".nsegmx = %d,\n",header->nsegmx); - fprintf(stream , ".nswlmx = %d,\n",header->nswlmx); - fprintf(stream , ".nlbrmx = %d,\n",header->nlbrmx); - fprintf(stream , ".nilbrz = %d,\n",header->nilbrz); - fprintf(stream , ".dualp = %d,\n",header->dualp); - fprintf(stream , ".sim_days = %g};\n",header->sim_days); -} - - -void ecl_rsthead_free( ecl_rsthead_type * rsthead ) { - free( rsthead ); -} diff --git a/ThirdParty/Ert/devel/libecl/src/ecl_smryfile.c b/ThirdParty/Ert/devel/libecl/src/ecl_smryfile.c deleted file mode 100644 index 473dc339de..0000000000 --- a/ThirdParty/Ert/devel/libecl/src/ecl_smryfile.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'ecl_rstfile.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -/*****************************************************************/ -/* S U M M A R Y F I L E S */ -/*****************************************************************/ - - -bool ecl_file_select_smryblock( ecl_file_type * ecl_file , int report_step ) { - return ecl_file_select_block( ecl_file , SEQHDR_KW , report_step ); -} - - -ecl_file_type * ecl_file_open_smryblock( const char * filename , int report_step , int flags) { - ecl_file_type * ecl_file = ecl_file_open( filename , flags ); - if (ecl_file) { - if (!ecl_file_select_smryblock( ecl_file , report_step )) { - ecl_file_close( ecl_file ); - ecl_file = NULL; - } - } - return ecl_file; -} - - - diff --git a/ThirdParty/Ert/devel/libecl/src/point.c b/ThirdParty/Ert/devel/libecl/src/point.c deleted file mode 100644 index ebeabeee14..0000000000 --- a/ThirdParty/Ert/devel/libecl/src/point.c +++ /dev/null @@ -1,217 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'point.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include -#include - -#include - -#include - - -void point_mapaxes_transform( point_type * p , const double origo[2], const double unit_x[2] , const double unit_y[2]) { - double new_x = origo[0] + p->x*unit_x[0] + p->y*unit_y[0]; - double new_y = origo[1] + p->x*unit_x[1] + p->y*unit_y[1]; - - p->x = new_x; - p->y = new_y; -} - - -void point_mapaxes_invtransform( point_type * p , const double origo[2], const double unit_x[2] , const double unit_y[2]) { - double norm = 1.0 / (unit_x[0]*unit_y[1] - unit_x[1] * unit_y[0]); - double dx = p->x - origo[0]; - double dy = p->y - origo[1]; - - - double org_x = ( dx*unit_y[1] - dy*unit_y[0]) * norm; - double org_y = (-dx*unit_x[1] + dy*unit_x[0]) * norm; - - p->x = org_x; - p->y = org_y; -} - - - -void point_compare( const point_type *p1 , const point_type * p2, bool * equal) { - const double tolerance = 0.001; - - double diff_x = (fabs(p1->x - p2->x) / fabs(p1->x + p2->x + 1)); - double diff_y = (fabs(p1->y - p2->y) / fabs(p1->y + p2->y + 1)); - double diff_z = (fabs(p1->z - p2->z) / fabs(p1->z + p2->z + 1)); - - if (diff_x + diff_y + diff_z > tolerance) - *equal = false; -} - -bool point_equal( const point_type *p1 , const point_type * p2) { - return (memcmp( p1 , p2 , sizeof * p1 ) == 0); -} - - -void point_dump( const point_type * p , FILE * stream) { - util_fwrite_double( p->x , stream ); - util_fwrite_double( p->y , stream ); - util_fwrite_double( p->z , stream ); -} - - -void point_dump_ascii( const point_type * p , FILE * stream , const double * offset) { - if (offset) - fprintf(stream , "(%7.2f, %7.2f, %7.2f) " , p->x - offset[0], p->y - offset[1] , p->z - offset[2]); - else - fprintf(stream , "(%7.2f, %7.2f, %7.2f) " , p->x , p->y , p->z); - -} - - - -void point_set(point_type * p , double x , double y , double z) { - p->x = x; - p->y = y; - p->z = z; -} - - -void point_shift(point_type * p , double dx , double dy , double dz) { - p->x += dx; - p->y += dy; - p->z += dz; -} - - -void point_copy_values(point_type * p , const point_type * src) { - point_set(p , src->x , src->y , src->z); -} - - -point_type * point_alloc_empty( ) { - point_type * p = util_malloc( sizeof * p ); - return p; -} - -point_type * point_alloc( double x , double y , double z) { - point_type * p = point_alloc_empty( ); - point_set( p , x , y , z ); - return p; -} - - - -point_type * point_copyc( const point_type * p) { - point_type * copy = util_alloc_copy( p , sizeof * p ); - return copy; -} - - -point_type * point_alloc_diff( const point_type * p1 , const point_type * p0) { - point_type * diff = point_copyc( p1 ); - point_inplace_sub( diff , p0 ); - return diff; -} - - - -void point_free( point_type * p) { - free( p ); -} - - -void point_fprintf( const point_type * p , FILE * stream ) { - fprintf(stream , "%g %g %g ",p->x , p->y , p->z); -} - -/*****************************************************************/ -/* Math operations */ - -void point_inplace_add(point_type * point , const point_type * add) { - point->x += add->x; - point->y += add->y; - point->z += add->z; -} - - -void point_inplace_sub(point_type * point , const point_type * sub) { - point->x -= sub->x; - point->y -= sub->y; - point->z -= sub->z; -} - - -void point_inplace_scale(point_type * point , double scale_factor) { - point->x *= scale_factor; - point->y *= scale_factor; - point->z *= scale_factor; -} - - -/** - Will compute the vector cross product B x C and store the result in A. -*/ - -void point_vector_cross(point_type * A , const point_type * B , const point_type * C) { - A->x = B->y*C->z - B->z*C->y; - A->y = -(B->x*C->z - B->z*C->x); - A->z = B->x*C->y - B->y*C->x; -} - -double point_dot_product( const point_type * v1 , const point_type * v2) { - return v1->x*v2->x + v1->y*v2->y + v1->z*v2->z; -} - - - -/** - Computes the normal vector spanned by the two vectors: v1 = (p1 - p0) and v2 = (p2 - p0). The - result is stored in n. -*/ - -void point_normal_vector(point_type * n, const point_type * p0, const point_type * p1 , const point_type * p2) { - point_type * v1 = point_alloc_diff( p1 , p0 ); - point_type * v2 = point_alloc_diff( p2 , p0 ); - - point_vector_cross( n , v1 , v2 ); - - free( v1 ); - free( v2 ); -} - - - -/** - This function calculates the (signed) distance from point 'p' to - the plane specifed by the plane vector 'n' and the point - 'plane_point' which is part of the plane. -*/ - -double point_plane_distance(const point_type * p , const point_type * n , const point_type * plane_point) { - point_type * diff = point_alloc_diff( p , plane_point ); - double d = point_dot_product( n , diff ); - - free( diff ); - return d; -} - - -double point3_plane_distance(const point_type * p0 , const point_type * p1 , const point_type * p2 , const point_type * x) { - point_type n; - point_normal_vector( &n , p0 , p1 , p2 ); - return point_plane_distance( x , &n , p0 ) / sqrt( n.x*n.x + n.y*n.y + n.z*n.z); -} diff --git a/ThirdParty/Ert/devel/libecl/src/readme.overview b/ThirdParty/Ert/devel/libecl/src/readme.overview deleted file mode 100644 index 724d2e89fa..0000000000 --- a/ThirdParty/Ert/devel/libecl/src/readme.overview +++ /dev/null @@ -1,55 +0,0 @@ -The EnKF functionality is organized in xxx libraries with different -functionalities. The different libraries depend on eachother, and the -libraries must be built in correct order. The dependencies is as -follows: - -libhash : -libutil : libhash -libecl : libhash libutil -librms : libecl libutil libhash -libsched : libecl linutil libhash -libenkf : libecl libsched librm linutil libhash - - -libhash: This library implements the classes hash_type, set_type and - list_type. - -libutil: This library is a collection utility routines. Observe that - this library only implements routines, and not statefull - objects. - -libecl: This library implements functions for reading/writing ECLIPSE - restart/summary/init/grid files. - -libsched: This library implements a basic SCHEDULE file parser. - -librms: This library implements (basic) reader and writer for binary - RMS ROFF files. - -libenkf: This library implements various high level objects for EnKF - functionality. - ------------------------------------------------------------------ - -All the makefiles start with the statement: - -include "path_config" - -The file path_config is *not* under version control, this is on -purpose because every user can/should have a private confiiguration of -paths. The file path_config should define make-variables for the -location of all the libraries, this is an example of a valid -path-config file: - - LIBHASH_HOME = /h/a152128/EnKF/devel/EnKF/libhash - LIBUTIL_HOME = /h/a152128/EnKF/devel/EnKF/libutil - LIBSCHED_HOME = /h/a152128/EnKF/devel/EnKF/libsched - LIBRMS_HOME = /h/a152128/EnKF/devel/EnKF/librms - LIBECL_HOME = /h/a152128/EnKF/devel/EnKF/libecl - LIBENKF_HOME = /h/a152128/EnKF/devel/EnKF/libenkf - -In this example all libraries have a common path prefix, that is not -a requirement. - - - diff --git a/ThirdParty/Ert/devel/libecl/src/tetrahedron.c b/ThirdParty/Ert/devel/libecl/src/tetrahedron.c deleted file mode 100644 index fb45b22c22..0000000000 --- a/ThirdParty/Ert/devel/libecl/src/tetrahedron.c +++ /dev/null @@ -1,338 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'tetrahedron.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include - -#include -#include - -#include -#include - - - -void tetrahedron_init( tetrahedron_type * tet , const point_type * p0 , const point_type * p1 , const point_type * p2 , const point_type * p3) { - tet->p0 = p0; - tet->p1 = p1; - tet->p2 = p2; - tet->p3 = p3; -} - - - - - -/** - |a·(b x c)| - V = ----------- - 6 - - - Wherea a,b and c are assumed to have origo as reference. -*/ - - -double tetrahedron_volume( const tetrahedron_type * tet ) { - point_type a; - point_type b; - point_type c; - point_type b_x_c; - - point_copy_values(&a , tet->p0); - point_copy_values(&b , tet->p1); - point_copy_values(&c , tet->p2); - - point_inplace_sub(&a , tet->p3); - point_inplace_sub(&b , tet->p3); - point_inplace_sub(&c , tet->p3); - - point_vector_cross( &b_x_c , &b , &c); - - return point_dot_product( &a , &b_x_c) / 6.0; -} - - - - -/** - The __sign() function will return 0 for x ==== 0 - it is not - exactly zero measure.... -*/ - -static int __sign( double x) { - const double zero_tol = 1e-8; - if (fabs(x) < zero_tol) - return 0; - else if (x > 0) - return 1; - else - return -1; - -} - - - - - - -/** - When it comes to points which are exactly on one (or more ...) of - the surfaces it is a mess. The function will return true if exact - equality is found, unfortunately this implies that the function - finding the correct cell for a xyz location is not 100% stable: - - When it comes to a point on the surface between two cells the first - cell which queries about the point will be assigned this point. -*/ - -/** -Point in Tetrahedron TestNewsgroups: comp.graphics,comp.graphics.algorithms -From: herron@cs.washington.edu (Gary Herron) -Subject: Re: point within a tetrahedron -Date: Wed, 23 Feb 94 21:52:45 GMT - - -Let the tetrahedron have vertices - V1 = (x1, y1, z1) - V2 = (x2, y2, z2) - V3 = (x3, y3, z3) - V4 = (x4, y4, z4) -and your test point be - P = (x, y, z). - -Then the point P is in the tetrahedron if following five determinants all have -the same sign. - - |x1 y1 z1 1| - D0 = |x2 y2 z2 1| - |x3 y3 z3 1| - |x4 y4 z4 1| - - |x y z 1| - D1 = |x2 y2 z2 1| - |x3 y3 z3 1| - |x4 y4 z4 1| - - |x1 y1 z1 1| - D2 = |x y z 1| - |x3 y3 z3 1| - |x4 y4 z4 1| - - |x1 y1 z1 1| - D3 = |x2 y2 z2 1| - |x y z 1| - |x4 y4 z4 1| - - |x1 y1 z1 1| - D4 = |x2 y2 z2 1| - |x3 y3 z3 1| - |x y z 1| - - - Some additional notes: - If by chance the D0=0, then your tetrahedron is degenerate (the points are - coplanar). - If any other Di=0, then P lies on boundary i (boundary i being that boundary - formed by the three points other than Vi). - If the sign of any Di differs from that of D0 then P is outside boundary i. - If the sign of any Di equals that of D0 then P is inside boundary i. - If P is inside all 4 boundaries, then it is inside the tetrahedron. - As a check, it must be that D0 = D1+D2+D3+D4. - The pattern here should be clear; the computations can be extended to - simplicies of any dimension. (The 2D and 3D case are the triangle and the - tetrahedron). - If it is meaningful to you, the quantities bi = Di/D0 are the usual - barycentric coordinates. - Comparing signs of Di and D0 is only a check that P and Vi are on the same - side of boundary i. - -*/ - - - -bool tetrahedron_contains__( const tetrahedron_type * tet , const point_type * p, matrix_type * D) { - const point_type * p1 = tet->p0; - const point_type * p2 = tet->p1; - const point_type * p3 = tet->p2; - const point_type * p4 = tet->p3; - - - int current_sign , sign; - /* - Special casing around the vertex points should be handled prior to - calling this function. - */ - - /*****************************************************************/ - matrix_iset( D , 0 , 0 , p1->x); - matrix_iset( D , 0 , 1 , p1->y); - matrix_iset( D , 0 , 2 , p1->z); - matrix_iset( D , 0 , 3 , 1); - - matrix_iset( D , 1 , 0 , p2->x); - matrix_iset( D , 1 , 1 , p2->y); - matrix_iset( D , 1 , 2 , p2->z); - matrix_iset( D , 1 , 3 , 1); - - matrix_iset( D , 2 , 0 , p3->x); - matrix_iset( D , 2 , 1 , p3->y); - matrix_iset( D , 2 , 2 , p3->z); - matrix_iset( D , 2 , 3 , 1); - - matrix_iset( D , 3 , 0 , p4->x); - matrix_iset( D , 3 , 1 , p4->y); - matrix_iset( D , 3 , 2 , p4->z); - matrix_iset( D , 3 , 3 , 1); - - { - double D0 = matrix_det4( D ); - current_sign = __sign( D0 ); - if (current_sign == 0) - return false; /* A zero volume cell. */ - } - - /*****************************************************************/ - matrix_iset( D , 0 , 0 , p->x); - matrix_iset( D , 0 , 1 , p->y); - matrix_iset( D , 0 , 2 , p->z); - matrix_iset( D , 0 , 3 , 1); - - matrix_iset( D , 1 , 0 , p2->x); - matrix_iset( D , 1 , 1 , p2->y); - matrix_iset( D , 1 , 2 , p2->z); - matrix_iset( D , 1 , 3 , 1); - - matrix_iset( D , 2 , 0 , p3->x); - matrix_iset( D , 2 , 1 , p3->y); - matrix_iset( D , 2 , 2 , p3->z); - matrix_iset( D , 2 , 3 , 1); - - matrix_iset( D , 3 , 0 , p4->x); - matrix_iset( D , 3 , 1 , p4->y); - matrix_iset( D , 3 , 2 , p4->z); - matrix_iset( D , 3 , 3 , 1); - - { - double D1 = matrix_det4( D ); - sign = __sign( D1 ); - if ((sign != 0) && (sign != current_sign)) - return false; - } - - /*****************************************************************/ - matrix_iset( D , 0 , 0 , p1->x); - matrix_iset( D , 0 , 1 , p1->y); - matrix_iset( D , 0 , 2 , p1->z); - matrix_iset( D , 0 , 3 , 1); - - matrix_iset( D , 1 , 0 , p->x); - matrix_iset( D , 1 , 1 , p->y); - matrix_iset( D , 1 , 2 , p->z); - matrix_iset( D , 1 , 3 , 1); - - matrix_iset( D , 2 , 0 , p3->x); - matrix_iset( D , 2 , 1 , p3->y); - matrix_iset( D , 2 , 2 , p3->z); - matrix_iset( D , 2 , 3 , 1); - - matrix_iset( D , 3 , 0 , p4->x); - matrix_iset( D , 3 , 1 , p4->y); - matrix_iset( D , 3 , 2 , p4->z); - matrix_iset( D , 3 , 3 , 1); - - { - double D2 = matrix_det4( D ); - sign = __sign( D2 ); - if ((sign != 0) && (sign != current_sign)) - return false; - } - /*****************************************************************/ - - matrix_iset( D , 0 , 0 , p1->x); - matrix_iset( D , 0 , 1 , p1->y); - matrix_iset( D , 0 , 2 , p1->z); - matrix_iset( D , 0 , 3 , 1); - - matrix_iset( D , 1 , 0 , p2->x); - matrix_iset( D , 1 , 1 , p2->y); - matrix_iset( D , 1 , 2 , p2->z); - matrix_iset( D , 1 , 3 , 1); - - matrix_iset( D , 2 , 0 , p->x); - matrix_iset( D , 2 , 1 , p->y); - matrix_iset( D , 2 , 2 , p->z); - matrix_iset( D , 2 , 3 , 1); - - matrix_iset( D , 3 , 0 , p4->x); - matrix_iset( D , 3 , 1 , p4->y); - matrix_iset( D , 3 , 2 , p4->z); - matrix_iset( D , 3 , 3 , 1); - - { - double D3 = matrix_det4( D ); - sign = __sign( D3 ); - if ((sign != 0) && (sign != current_sign)) - return false; - } - /*****************************************************************/ - - matrix_iset( D , 0 , 0 , p1->x); - matrix_iset( D , 0 , 1 , p1->y); - matrix_iset( D , 0 , 2 , p1->z); - matrix_iset( D , 0 , 3 , 1); - - matrix_iset( D , 1 , 0 , p2->x); - matrix_iset( D , 1 , 1 , p2->y); - matrix_iset( D , 1 , 2 , p2->z); - matrix_iset( D , 1 , 3 , 1); - - matrix_iset( D , 2 , 0 , p3->x); - matrix_iset( D , 2 , 1 , p3->y); - matrix_iset( D , 2 , 2 , p3->z); - matrix_iset( D , 2 , 3 , 1); - - matrix_iset( D , 3 , 0 , p->x); - matrix_iset( D , 3 , 1 , p->y); - matrix_iset( D , 3 , 2 , p->z); - matrix_iset( D , 3 , 3 , 1); - - { - double D4 = matrix_det4( D ); - sign = __sign( D4 ); - if ((sign != 0) && (sign != current_sign)) - return false; - } - return true; -} - - -bool tetrahedron_contains( const tetrahedron_type * tet , const point_type * p) { - matrix_type * D = matrix_alloc(4 , 4); - bool contains = tetrahedron_contains__( tet , p , D ); - matrix_free( D ); - return contains; -} - - -void tetrahedron_fprintf( const tetrahedron_type * tet , FILE * stream , const double* offset) { - fprintf(stream , "P0: "); point_dump_ascii( tet->p0 , stream , offset); fprintf(stream , "\n"); - fprintf(stream , "P1: "); point_dump_ascii( tet->p1 , stream , offset); fprintf(stream , "\n"); - fprintf(stream , "P2: "); point_dump_ascii( tet->p2 , stream , offset); fprintf(stream , "\n"); - fprintf(stream , "P3: "); point_dump_ascii( tet->p3 , stream , offset); fprintf(stream , "\n"); -} diff --git a/ThirdParty/Ert/devel/libecl/tests/CMakeLists.txt b/ThirdParty/Ert/devel/libecl/tests/CMakeLists.txt deleted file mode 100644 index 402ccc319a..0000000000 --- a/ThirdParty/Ert/devel/libecl/tests/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -if (BUILD_TESTS) - include( tests.cmake ) -endif() - -# The ecl_win64 application is not built as a proper test integrated -# into the CTEST system. Should be invoked manually on Windows. -if (ERT_WINDOWS) - add_executable( ecl_lfs ecl_lfs.c ) - target_link_libraries( ecl_lfs ecl ert_util ) -endif() - diff --git a/ThirdParty/Ert/devel/libecl/tests/ecl_file.c b/ThirdParty/Ert/devel/libecl/tests/ecl_file.c deleted file mode 100644 index 37c5802436..0000000000 --- a/ThirdParty/Ert/devel/libecl/tests/ecl_file.c +++ /dev/null @@ -1,178 +0,0 @@ - -/* - Copyright (C) 2013 Statoil ASA, Norway. - - The file 'ecl_file.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ -#include -#include -#include - -#include -#include -#include - -#include -#include -#include - - -void test_flags( const char * filename) { - int FLAG1 = 1; - int FLAG2 = 2; - int FLAG3 = 4; - int FLAG4 = 8; - - int FLAGS = FLAG1 + FLAG2 + FLAG3; - - - ecl_file_type * ecl_file = ecl_file_open( filename , FLAGS ); - - test_assert_int_equal( ecl_file_get_flags( ecl_file ) , FLAGS ); - test_assert_true( ecl_file_flags_set( ecl_file , FLAG1 )); - test_assert_true( ecl_file_flags_set( ecl_file , FLAG1 | FLAG2)); - test_assert_true( ecl_file_flags_set( ecl_file , FLAG1 | FLAG3 )); - test_assert_true( ecl_file_flags_set( ecl_file , FLAG1 | FLAG3 | FLAG2 )); - test_assert_false( ecl_file_flags_set( ecl_file , FLAG1 | FLAG3 | FLAG4 )); - ecl_file_close( ecl_file ); -} - - -void test_close_stream2(const char * src_file , const char * target_file ) { - util_copy_file( src_file , target_file ); - ecl_file_type * ecl_file = ecl_file_open( target_file , ECL_FILE_CLOSE_STREAM ); - - ecl_file_load_all( ecl_file ); - unlink( target_file ); - ecl_kw_type * kw2 = ecl_file_iget_kw( ecl_file , 2 ); - test_assert_not_NULL( kw2 ); - ecl_file_close( ecl_file ); -} - - -void test_loadall(const char * src_file , const char * target_file ) { - util_copy_file( src_file , target_file ); - { - ecl_file_type * ecl_file = ecl_file_open( target_file , ECL_FILE_CLOSE_STREAM ); - - test_assert_true( ecl_file_load_all( ecl_file ) ); - ecl_file_close( ecl_file ); - } - - { - ecl_file_type * ecl_file = ecl_file_open( target_file , ECL_FILE_CLOSE_STREAM ); - unlink( target_file ); - - test_assert_false( ecl_file_load_all( ecl_file ) ); - ecl_file_close( ecl_file ); - } -} - - - -void test_close_stream1(const char * src_file , const char * target_file ) { - util_copy_file( src_file , target_file ); - - ecl_file_type * ecl_file = ecl_file_open( target_file , ECL_FILE_CLOSE_STREAM ); - ecl_kw_type * kw0 = ecl_file_iget_kw( ecl_file , 0 ); - ecl_kw_type * kw1 = ecl_file_iget_kw( ecl_file , 1 ); - unlink( target_file ); - ecl_kw_type * kw1b = ecl_file_iget_kw( ecl_file , 1 ); - - test_assert_not_NULL( kw0 ); - test_assert_not_NULL( kw1 ); - test_assert_ptr_equal( kw1 , kw1b ); - - ecl_kw_type * kw2 = ecl_file_iget_kw( ecl_file , 2 ); - test_assert_NULL( kw2 ); - - test_assert_false( ecl_file_writable( ecl_file )); - - ecl_file_close( ecl_file ); - -} - - -void test_writable(const char * src_file ) { - test_work_area_type * work_area = test_work_area_alloc("ecl_file_writable" ); - char * fname = util_split_alloc_filename( src_file ); - - test_work_area_copy_file( work_area , src_file ); - { - ecl_file_type * ecl_file = ecl_file_open( fname , ECL_FILE_WRITABLE); - ecl_kw_type * swat = ecl_file_iget_named_kw( ecl_file , "SWAT" , 0 ); - ecl_kw_type * swat0 = ecl_kw_alloc_copy( swat ); - test_assert_true( ecl_kw_equal( swat , swat0 )); - ecl_kw_iset_float( swat , 0 , 1000.0 ); - ecl_file_save_kw( ecl_file , swat ); - test_assert_true( ecl_file_writable( ecl_file )); - ecl_file_close( ecl_file ); - - ecl_file = ecl_file_open( fname , 0); - swat = ecl_file_iget_named_kw( ecl_file , "SWAT" , 0 ); - test_assert_true( util_double_approx_equal( ecl_kw_iget_float( swat , 0 ) , 1000 )); - } - test_work_area_free( work_area ); -} - - - -void test_truncated() { - test_work_area_type * work_area = test_work_area_alloc("ecl_file_truncated" ); - { - ecl_grid_type * grid = ecl_grid_alloc_rectangular(20,20,20,1,1,1,NULL); - ecl_grid_fwrite_EGRID( grid , "TEST.EGRID", true); - ecl_grid_free( grid ); - } - { - ecl_file_type * ecl_file = ecl_file_open("TEST.EGRID" , 0 ); - test_assert_true( ecl_file_is_instance( ecl_file ) ); - ecl_file_close( ecl_file ); - } - - { - offset_type file_size = util_file_size( "TEST.EGRID"); - FILE * stream = util_fopen("TEST.EGRID" , "r+"); - util_ftruncate( stream , file_size / 2 ); - fclose( stream ); - } - { - ecl_file_type * ecl_file = ecl_file_open("TEST.EGRID" , 0 ); - test_assert_NULL( ecl_file ); - } - test_work_area_free( work_area ); -} - - -int main( int argc , char ** argv) { - const char * src_file = argv[1]; - const char * target_file = argv[2]; - - { - test_work_area_type * work_area = test_work_area_alloc("ecl_file"); - - test_work_area_install_file( work_area , src_file ); - test_flags( src_file ); - test_loadall(src_file , target_file ); - - test_close_stream1( src_file , target_file); - test_close_stream2( src_file , target_file); - test_writable( src_file ); - - test_work_area_free( work_area ); - } - test_truncated(); - exit(0); -} diff --git a/ThirdParty/Ert/devel/libecl/tests/ecl_grid_export.c b/ThirdParty/Ert/devel/libecl/tests/ecl_grid_export.c deleted file mode 100644 index cd4fc48880..0000000000 --- a/ThirdParty/Ert/devel/libecl/tests/ecl_grid_export.c +++ /dev/null @@ -1,107 +0,0 @@ -/* - Copyright (C) 2014 Statoil ASA, Norway. - - The file 'ecl_grid_export.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ -#include -#include - -#include - -#include -#include -#include - - -void export_actnum( const ecl_grid_type * ecl_grid , ecl_file_type * ecl_file ) { - ecl_kw_type * actnum_kw = ecl_file_iget_named_kw( ecl_file , "ACTNUM" , 0 ); - int * actnum = util_malloc( ecl_kw_get_size( actnum_kw ) * sizeof * actnum ); - - ecl_grid_init_actnum_data( ecl_grid , actnum ); - for (int i=0; i < ecl_kw_get_size( actnum_kw); i++) - test_assert_int_equal( actnum[i] , ecl_kw_iget_int( actnum_kw , i )); - - free( actnum ); -} - - -void export_coord( const ecl_grid_type * grid , ecl_file_type * ecl_file ) { - ecl_kw_type * coord_kw = ecl_file_iget_named_kw( ecl_file , "COORD" , 0); - test_assert_int_equal( ecl_kw_get_size( coord_kw ) , ecl_grid_get_coord_size( grid )); - { - float * coord_float = util_malloc( ecl_grid_get_coord_size( grid ) * sizeof * coord_float ); - double * coord_double = util_malloc( ecl_grid_get_coord_size( grid ) * sizeof * coord_double ); - - ecl_grid_init_coord_data( grid , coord_float ); - ecl_grid_init_coord_data_double( grid , coord_double ); - - for (int i=0; i < ecl_grid_get_coord_size( grid ); i++) - test_assert_double_equal( coord_double[i] , coord_float[i]); - - free( coord_float ); - free( coord_double ); - } -} - - -void export_zcorn( const ecl_grid_type * grid , ecl_file_type * ecl_file ) { - ecl_kw_type * zcorn_kw = ecl_file_iget_named_kw( ecl_file , "ZCORN" , 0); - test_assert_int_equal( ecl_kw_get_size( zcorn_kw ) , ecl_grid_get_zcorn_size( grid )); - { - float * zcorn_float = util_malloc( ecl_grid_get_zcorn_size( grid ) * sizeof * zcorn_float ); - double * zcorn_double = util_malloc( ecl_grid_get_zcorn_size( grid ) * sizeof * zcorn_double ); - - ecl_grid_init_zcorn_data( grid , zcorn_float ); - ecl_grid_init_zcorn_data_double( grid , zcorn_double ); - - for (int i=0; i < ecl_grid_get_zcorn_size( grid ); i++) { - test_assert_double_equal( zcorn_double[i] , zcorn_float[i]); - test_assert_float_equal( zcorn_float[i] , ecl_kw_iget_float( zcorn_kw , i )); - } - - - free( zcorn_float ); - free( zcorn_double ); - } -} - - -void export_mapaxes( const ecl_grid_type * grid , ecl_file_type * ecl_file ) { - ecl_kw_type * mapaxes_kw = ecl_file_iget_named_kw( ecl_file , "MAPAXES" , 0); - double mapaxes[6]; - int i; - - test_assert_true( ecl_grid_use_mapaxes( grid )); - ecl_grid_init_mapaxes_data_double( grid , mapaxes ); - for (i= 0; i < 6; i++) - test_assert_double_equal( ecl_kw_iget_float( mapaxes_kw , i) , mapaxes[i]); -} - - - -int main(int argc , char ** argv) { - const char * grid_file = argv[1]; - ecl_grid_type * ecl_grid = ecl_grid_alloc( grid_file ); - ecl_file_type * ecl_file = ecl_file_open( grid_file , 0) ; - - - export_actnum( ecl_grid , ecl_file ); - export_coord( ecl_grid , ecl_file ); - export_zcorn( ecl_grid , ecl_file ); - export_mapaxes( ecl_grid , ecl_file ); - - ecl_file_close( ecl_file ); - ecl_grid_free( ecl_grid ); -} diff --git a/ThirdParty/Ert/devel/libecl/tests/ecl_grid_volume.c b/ThirdParty/Ert/devel/libecl/tests/ecl_grid_volume.c deleted file mode 100644 index 19c85e636e..0000000000 --- a/ThirdParty/Ert/devel/libecl/tests/ecl_grid_volume.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - Copyright (C) 2013 Statoil ASA, Norway. - - The file 'ecl_grid_volume.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ -#include -#include -#include - -#include -#include - -#include -#include -#include - - - - - -int main(int argc , char ** argv) { - const char * path_case = argv[1]; - char * grid_file = ecl_util_alloc_filename( NULL , path_case , ECL_EGRID_FILE , false , 0 ); - char * init_file = ecl_util_alloc_filename( NULL , path_case , ECL_INIT_FILE , false , 0 ); - - ecl_file_type * init = ecl_file_open( init_file , 0 ); - ecl_grid_type * grid = ecl_grid_alloc( grid_file ); - const ecl_kw_type * poro_kw = ecl_file_iget_named_kw( init , "PORO" , 0 ); - const ecl_kw_type * porv_kw = ecl_file_iget_named_kw( init , "PORV" , 0 ); - ecl_kw_type * multpv = NULL; - ecl_kw_type * NTG = NULL; - bool error_found = false; - - int error_count = 0; - int iactive; - - if (ecl_file_has_kw( init , "NTG")) - NTG = ecl_file_iget_named_kw( init , "NTG" , 0); - - if (ecl_file_has_kw( init , "MULTPV")) - multpv = ecl_file_iget_named_kw( init , "MULTPV" , 0); - - for (iactive = 0; iactive < ecl_grid_get_nactive( grid ); ++iactive) { - int iglobal = ecl_grid_get_global_index1A( grid , iactive ); - - double grid_volume = ecl_grid_get_cell_volume1( grid , iglobal ); - double eclipse_volume = ecl_kw_iget_float( porv_kw , iglobal ) / ecl_kw_iget_float( poro_kw , iactive ); - - if (NTG) - eclipse_volume *= ecl_kw_iget_float( NTG , iactive ); - - if (multpv) - eclipse_volume *= ecl_kw_iget_float( multpv , iactive); - - if (!util_double_approx_equal__( grid_volume , eclipse_volume , 1e-3)) { - printf("Error in cell: %d V: %g V2: %g \n", iglobal , grid_volume , eclipse_volume); - error_count++; - error_found = true; - } - } - - - - - ecl_grid_free( grid ); - ecl_file_close( init ); - free( grid_file ); - free( init_file ); - if (error_found) { - printf("Error_count: %d \n",error_count); - exit(1); - } else - exit(0); -} diff --git a/ThirdParty/Ert/devel/libecl/tests/ecl_nnc_export.c b/ThirdParty/Ert/devel/libecl/tests/ecl_nnc_export.c deleted file mode 100644 index 27fd3eda9b..0000000000 --- a/ThirdParty/Ert/devel/libecl/tests/ecl_nnc_export.c +++ /dev/null @@ -1,329 +0,0 @@ -/* - Copyright (C) 2013 Statoil ASA, Norway. - - The file 'ecl_nnc_export.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more detals. -*/ -#include -#include -#include - -#include -#include -#include - -#include -#include -#include - - -int count_kw_data( const ecl_file_type * file , ecl_grid_type * grid , const char * kw1 , const char * kw2) { - int i,j; - int count = 0; - - for (i=0; i < ecl_file_get_num_named_kw( file , kw1 ); i++) { - ecl_kw_type * ecl_kw1 = ecl_file_iget_named_kw( file , kw1 , i ); - ecl_kw_type * ecl_kw2 = NULL; - - if (kw2) - ecl_kw2 = ecl_file_iget_named_kw(file , kw2 , i); - - { - if (ecl_kw2) { - int global_size; - ecl_grid_type * igrid; - if (i == 0) - igrid = grid; - else - igrid = ecl_grid_iget_lgr( grid , i - 1); - - global_size = ecl_grid_get_global_size( igrid ); - - for (j=0; j < ecl_kw_get_size( ecl_kw1 ); j++) { - int g1 = ecl_kw_iget_int( ecl_kw1 , j ); - int g2 = ecl_kw_iget_int( ecl_kw2 , j ); - - if (g1 <= global_size && g2 <= global_size) - count +=1; - } - } else - count += ecl_kw_get_size( ecl_kw1 ); - - } - } - return count; -} - - - -void test_count(const char * name) { - char * grid_file_name = ecl_util_alloc_filename(NULL , name , ECL_EGRID_FILE , false , -1); - ecl_grid_type * grid = ecl_grid_alloc( grid_file_name ); - ecl_file_type * grid_file = ecl_file_open( grid_file_name , 0 ); - - int num_nnc = 0; - - num_nnc = count_kw_data( grid_file , grid , "NNC1" , "NNC2"); - num_nnc += count_kw_data( grid_file , grid , "NNCG" , NULL); - num_nnc += count_kw_data( grid_file , grid , "NNA1" , NULL); - - test_assert_int_equal( num_nnc , ecl_nnc_export_get_size( grid )); - - free(grid_file_name); - ecl_grid_free( grid ); - ecl_file_close( grid_file ); -} - - -void test_nnc_export_missing_TRANX(const char * name ) { - char * grid_file_name = ecl_util_alloc_filename(NULL , name , ECL_EGRID_FILE , false , -1); - char * init_file_name = ecl_util_alloc_filename(NULL , name , ECL_INIT_FILE , false , -1); - if (util_entry_exists(init_file_name)) { - ecl_grid_type * grid = ecl_grid_alloc( grid_file_name ); - ecl_file_type * init_file = ecl_file_open( init_file_name , 0); - ecl_nnc_type * nnc_data1 = util_calloc( ecl_nnc_export_get_size( grid ) , sizeof * nnc_data1 ); - int count = ecl_nnc_export(grid, init_file, nnc_data1); - int i; - test_assert_int_equal( count , 0 ); - for (i=0; i < count; i++) - test_assert_double_equal( nnc_data1[i].trans , ERT_ECL_DEFAULT_NNC_TRANS ); - } -} - -void test_export(const char * name, bool have_tran_data) { - char * grid_file_name = ecl_util_alloc_filename(NULL , name , ECL_EGRID_FILE , false , -1); - char * init_file_name = ecl_util_alloc_filename(NULL , name , ECL_INIT_FILE , false , -1); - if (util_entry_exists(init_file_name)) { - ecl_grid_type * grid = ecl_grid_alloc( grid_file_name ); - ecl_file_type * grid_file = ecl_file_open( grid_file_name , 0 ); - ecl_file_type * init_file = ecl_file_open( init_file_name , 0); - ecl_nnc_type * nnc_data1 = util_calloc( ecl_nnc_export_get_size( grid ) , sizeof * nnc_data1 ); - ecl_nnc_type * nnc_data2 = util_calloc( ecl_nnc_export_get_size( grid ) , sizeof * nnc_data2 ); - - - { - int nnc_offset = 0; - int block_nr = 0; - for (block_nr = 0; block_nr < ecl_file_get_num_named_kw( grid_file , NNCHEAD_KW); block_nr++) { - ecl_file_push_block( grid_file ); - ecl_file_select_block( grid_file , NNCHEAD_KW , block_nr ); - - if (ecl_file_has_kw( grid_file , NNC1_KW )) { - ecl_kw_type * nnc1_kw = ecl_file_iget_named_kw( grid_file , NNC1_KW , 0 ); - ecl_kw_type * nnc2_kw = ecl_file_iget_named_kw( grid_file , NNC2_KW , 0 ); - ecl_kw_type * nnchead = ecl_file_iget_named_kw( grid_file , NNCHEAD_KW , 0); - int lgr_nr1 = ecl_kw_iget_int( nnchead , NNCHEAD_LGR_INDEX); - int lgr_nr2 = ecl_kw_iget_int( nnchead , NNCHEAD_LGR_INDEX); - ecl_kw_type * nnc_tran = ecl_nnc_export_get_tranx_kw( grid , init_file , lgr_nr1 , lgr_nr2); - if (!have_tran_data) { - test_assert_NULL(nnc_tran); - return; - } - - test_assert_not_NULL( nnc_tran ); - test_assert_int_equal( ecl_kw_get_size( nnc1_kw ) , ecl_kw_get_size( nnc_tran )); - { - ecl_grid_type * lgr = grid; - int num_nnc = 0; - int i = 0; - if (lgr_nr1 > 0) - lgr = ecl_grid_get_lgr_from_lgr_nr( grid , lgr_nr1 ); - - while (i < ecl_kw_get_size( nnc1_kw) ) { - int g1 = ecl_kw_iget_int( nnc1_kw , i) - 1; - int g2 = ecl_kw_iget_int( nnc2_kw , i) - 1; - - if (g1 < ecl_grid_get_global_size( lgr ) && - g2 < ecl_grid_get_global_size( lgr )) { - nnc_data1[ i + nnc_offset ].grid_nr1 = lgr_nr1; - nnc_data1[ i + nnc_offset ].grid_nr2 = lgr_nr2; - nnc_data1[ i + nnc_offset ].global_index1 = g1; - nnc_data1[ i + nnc_offset ].global_index2 = g2; - nnc_data1[ i + nnc_offset ].trans = ecl_kw_iget_as_double( nnc_tran , i ); - num_nnc++; - } - i++; - } - nnc_offset += num_nnc; - } - } - - - if (ecl_file_has_kw( grid_file, NNCL_KW)) { - ecl_kw_type * nncl_kw = ecl_file_iget_named_kw( grid_file , NNCL_KW , 0 ); - ecl_kw_type * nncg_kw = ecl_file_iget_named_kw( grid_file , NNCG_KW , 0 ); - ecl_kw_type * nnchead = ecl_file_iget_named_kw( grid_file , NNCHEAD_KW , 0); - int lgr_nr1 = 0; - int lgr_nr2 = ecl_kw_iget_int( nnchead , NNCHEAD_LGR_INDEX); - ecl_kw_type * nnc_tran = ecl_nnc_export_get_tranx_kw( grid , init_file , 0 , lgr_nr2); - int i; - - test_assert_int_equal( ecl_kw_get_size( nncl_kw ) , ecl_kw_get_size( nnc_tran )); - for (i=0; i < ecl_kw_get_size( nncl_kw); i++) { - nnc_data1[ i + nnc_offset ].grid_nr1 = lgr_nr1; - nnc_data1[ i + nnc_offset ].grid_nr2 = lgr_nr2; - nnc_data1[ i + nnc_offset ].global_index1 = ecl_kw_iget_int( nncg_kw , i) - 1; - nnc_data1[ i + nnc_offset ].global_index2 = ecl_kw_iget_int( nncl_kw , i) - 1; - nnc_data1[ i + nnc_offset ].trans = ecl_kw_iget_as_double( nnc_tran , i ); - } - nnc_offset += ecl_kw_get_size( nncl_kw ); - } - ecl_file_pop_block( grid_file ); - } - - { - for (block_nr = 0; block_nr < ecl_file_get_num_named_kw( grid_file , NNCHEADA_KW); block_nr++) { - ecl_kw_type * nnc1_kw = ecl_file_iget_named_kw( grid_file , NNA1_KW , block_nr); - ecl_kw_type * nnc2_kw = ecl_file_iget_named_kw( grid_file , NNA2_KW , block_nr); - ecl_kw_type * nnchead = ecl_file_iget_named_kw( grid_file , NNCHEADA_KW , block_nr); - int lgr_nr1 = ecl_kw_iget_int( nnchead , NNCHEADA_ILOC1_INDEX ); - int lgr_nr2 = ecl_kw_iget_int( nnchead , NNCHEADA_ILOC2_INDEX ); - ecl_kw_type * nnc_tran; - int i; - - nnc_tran = ecl_nnc_export_get_tranx_kw( grid , init_file , lgr_nr1 , lgr_nr2); - test_assert_not_NULL(nnc_tran); - test_assert_int_equal( ecl_kw_get_size( nnc1_kw ) , ecl_kw_get_size( nnc_tran ) ); - for (i=0; i < ecl_kw_get_size( nnc1_kw); i++) { - nnc_data1[ i + nnc_offset ].grid_nr1 = lgr_nr1; - nnc_data1[ i + nnc_offset ].grid_nr2 = lgr_nr2; - nnc_data1[ i + nnc_offset ].global_index1 = ecl_kw_iget_int( nnc1_kw , i) - 1; - nnc_data1[ i + nnc_offset ].global_index2 = ecl_kw_iget_int( nnc2_kw , i) - 1; - nnc_data1[ i + nnc_offset ].trans = ecl_kw_iget_as_double( nnc_tran , i ); - } - nnc_offset += ecl_kw_get_size( nnc1_kw ); - } - } - - test_assert_int_equal( nnc_offset , ecl_nnc_export_get_size( grid )); - ecl_nnc_sort( nnc_data1 , nnc_offset ); - } - - { - int export_size = ecl_nnc_export( grid , init_file , nnc_data2 ); - test_assert_int_equal( export_size , ecl_nnc_export_get_size( grid )); - } - - { - int i; - int size = ecl_nnc_export_get_size( grid ); - for (i=0; i < size; i++) - test_assert_int_equal( 0 , ecl_nnc_cmp( &nnc_data1[i] , &nnc_data2[i])); - } - test_assert_int_equal( 0 , memcmp( nnc_data1 , nnc_data2 , ecl_nnc_export_get_size( grid ) * sizeof * nnc_data2 )); - - free( nnc_data2 ); - free( nnc_data1 ); - ecl_grid_free( grid ); - ecl_file_close( grid_file ); - ecl_file_close( init_file ); - } else - fprintf(stderr," Could not find init file:%s - export test skipped \n",init_file_name); - - free(grid_file_name); - free(init_file_name); -} - - -void test_cmp() { - - ecl_nnc_type nnc1 = {.grid_nr1 = 1, - .grid_nr2 = 1, - .global_index1 = 1, - .global_index2 = 1 }; - - ecl_nnc_type nnc2 = {.grid_nr1 = 1, // nnc1 == nnc2 - .grid_nr2 = 1, - .global_index1 = 1, - .global_index2 = 1 }; - - ecl_nnc_type nnc3 = {.grid_nr1 = 4, // nnc3 > nnc1 - .grid_nr2 = 1, - .global_index1 = 1, - .global_index2 = 1 }; - - - ecl_nnc_type nnc4 = {.grid_nr1 = 4, // nnc4 > nnc1 - .grid_nr2 = 2, // nnc4 > nnc2 - .global_index1 = 1, - .global_index2 = 1 }; - - ecl_nnc_type nnc5 = {.grid_nr1 = 4, // nnc5 > nnc4 - .grid_nr2 = 2, - .global_index1 = 3, - .global_index2 = 1 }; - - - ecl_nnc_type nnc6 = {.grid_nr1 = 4, // nnc6 > nnc5 - .grid_nr2 = 2, - .global_index1 = 3, - .global_index2 = 5 }; - - - test_assert_int_equal( 0 , ecl_nnc_cmp( &nnc1 , &nnc2 )); - test_assert_int_equal( 1 , ecl_nnc_cmp( &nnc3 , &nnc1 )); - test_assert_int_equal( 1 , ecl_nnc_cmp( &nnc4 , &nnc1 )); - test_assert_int_equal( 1 , ecl_nnc_cmp( &nnc5 , &nnc4 )); - test_assert_int_equal(-1 , ecl_nnc_cmp( &nnc4 , &nnc5 )); - test_assert_int_equal(-1 , ecl_nnc_cmp( &nnc5 , &nnc6 )); -} - - -void test_sort() { - const int N = 1000; - ecl_nnc_type * nnc_list = util_calloc(N , sizeof * nnc_list ); - int i; - for (i=0; i < N; i++) { - ecl_nnc_type nnc = {.grid_nr1 = (i % 19), - .grid_nr2 = (i % 3), - .global_index1 = (i % 7), - .global_index2 = (i % 13)}; - nnc_list[i] = nnc; - } - ecl_nnc_sort( nnc_list , N ); - for (i=0; i < (N - 1); i++) - test_assert_int_equal( -1 , ecl_nnc_cmp(&nnc_list[i] , &nnc_list[i+1])); - - free( nnc_list ); - -} - - - -void install_SIGNALS(void) { - signal(SIGSEGV , util_abort_signal); /* Segmentation violation, i.e. overwriting memory ... */ - signal(SIGINT , util_abort_signal); /* Control C */ - signal(SIGTERM , util_abort_signal); /* If killing the program with SIGTERM (the default kill signal) you will get a backtrace. - Killing with SIGKILL (-9) will not give a backtrace.*/ -} - - -int main(int argc, char ** argv) { - - const char * base = argv[1]; - bool have_tran_data; - install_SIGNALS(); - - if (util_sscanf_bool( argv[2] , &have_tran_data)) { - test_cmp( ); - test_sort(); - test_count( base ); - test_export( base, have_tran_data ); - if (!have_tran_data) - test_nnc_export_missing_TRANX(base); - - exit(0); - } else - test_error_exit("Failed to parse input:%s as bool" , argv[2]); -} diff --git a/ThirdParty/Ert/devel/libecl/tests/ecl_point.c b/ThirdParty/Ert/devel/libecl/tests/ecl_point.c deleted file mode 100644 index cb921b9bb1..0000000000 --- a/ThirdParty/Ert/devel/libecl/tests/ecl_point.c +++ /dev/null @@ -1,117 +0,0 @@ -/* - Copyright (C) 2014 Statoil ASA, Norway. - - The file 'ecl_sum_test.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ -#include -#include - -#include -#include - -#include - - -void test_equal() { - point_type * p1 = point_alloc(1,1,1); - point_type * p2 = point_alloc(1,1,1); - point_type * p3 = point_alloc(1,1,1); - - - test_assert_true( point_equal( p1 , p2 )); - test_assert_true( point_equal( p1 , p3 )); - - point_shift(p2 , 1e-12 , 0,0); - test_assert_false( point_equal( p1 , p2 )); - point_copy_values(p2 , p3); - test_assert_true( point_equal( p1 , p2 )); - - point_shift(p2 , 0, 1e-12 ,0); - test_assert_false( point_equal( p1 , p2 )); - point_copy_values(p2 , p3); - test_assert_true( point_equal( p1 , p2 )); - - point_shift(p2 , 0, 0,-1e-12 ); - test_assert_false( point_equal( p1 , p2 )); - point_copy_values(p2 , p3); - test_assert_true( point_equal( p1 , p2 )); - - point_free( p1 ); - point_free( p2 ); - point_free( p3 ); -} - - - -void test_distancez() { - point_type * p0 = point_alloc(0,0,0); - point_type * p1 = point_alloc(1,0,0); - point_type * p2 = point_alloc(0,1,0); - - point_type * px = point_alloc(1,1,10); - - test_assert_double_equal( 10 , point3_plane_distance( p0, p1 , p2 , px )); - px->z = -1; - test_assert_double_equal( -1 , point3_plane_distance( p0, p1 , p2 , px )); - - point_free( p1 ); - point_free( p2 ); - point_free( p0 ); - point_free( px ); -} - - -void test_distancex() { - point_type * p0 = point_alloc(0,0,0); - point_type * p1 = point_alloc(0,1,0); - point_type * p2 = point_alloc(0,0,1); - - point_type * px = point_alloc(1,1,10); - - test_assert_double_equal( 1 , point3_plane_distance( p0, p1 , p2 , px )); - px->x = -7; - test_assert_double_equal( -7 , point3_plane_distance( p0, p1 , p2 , px )); - - point_free( p1 ); - point_free( p2 ); - point_free( p0 ); - point_free( px ); -} - - -void test_distancey() { - point_type * p0 = point_alloc(0,0,0); - point_type * p1 = point_alloc(0,0,2); - point_type * p2 = point_alloc(2,0,0); - - point_type * px = point_alloc(1,1,10); - - test_assert_double_equal( 1 , point3_plane_distance( p0, p1 , p2 , px )); - px->y = -7; - test_assert_double_equal( -7 , point3_plane_distance( p0, p1 , p2 , px )); - - point_free( p1 ); - point_free( p2 ); - point_free( p0 ); - point_free( px ); -} - - -int main(int argc , char ** argv) { - test_equal(); - test_distancex(); - test_distancey(); - test_distancez(); -} diff --git a/ThirdParty/Ert/devel/libecl/tests/ecl_rsthead.c b/ThirdParty/Ert/devel/libecl/tests/ecl_rsthead.c deleted file mode 100644 index ab7daca54e..0000000000 --- a/ThirdParty/Ert/devel/libecl/tests/ecl_rsthead.c +++ /dev/null @@ -1,108 +0,0 @@ -/* - Copyright (C) 2013 Statoil ASA, Norway. - - The file 'ecl_rst_header.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ -#include -#include - -#include - -#include -#include -#include -#include -#include - - -void test_file( const char * filename , int occurence , bool exists , const ecl_rsthead_type * true_header) { - ecl_file_type * rst_file = ecl_file_open( filename , 0); - ecl_rsthead_type * rst_head = ecl_rsthead_ialloc( rst_file , occurence); - - if (exists) { - test_assert_not_NULL( rst_head ); - - if (occurence == 0) { - ecl_rsthead_type * rst_head0 = ecl_rsthead_alloc( rst_file ); - - test_assert_true( ecl_rsthead_equal( rst_head , rst_head0 )); - ecl_rsthead_free( rst_head0 ); - } - test_assert_true( ecl_rsthead_equal( rst_head , true_header )); - - ecl_rsthead_free( rst_head ); - } else - test_assert_NULL( rst_head ); - -} - - -int main(int argc , char ** argv) { - ecl_rsthead_type true1 = {.day = 1, - .year = 2000, - .month = 1, - .sim_time = (time_t) 946681200, - .version = 100, - .phase_sum = 7, - .nx = 40, - .ny = 64, - .nz = 14, - .nactive = 34770, - .nwells = 3, - .niwelz = 145, - .nzwelz = 3, - .niconz = 20, - .ncwmax = 120, - .nisegz = 18, - .nsegmx = 1, - .nswlmx = 1, - .nlbrmx = -1, - .nilbrz = -1, - .dualp = 0, - .sim_days = 0}; - - ecl_rsthead_type true2 = {.day = 22, - .year = 1990, - .month = 1, - .sim_time = (time_t) 632962800, - .version = 100, - .phase_sum = 7, - .nx = 4, - .ny = 4, - .nz = 4, - .nactive = 64, - .nwells = 3, - .niwelz = 147, - .nzwelz = 3, - .niconz = 20, - .ncwmax = 13, - .nisegz = 18, - .nsegmx = 1, - .nswlmx = 1, - .nlbrmx = -1, - .nilbrz = -1, - .dualp = 1, - .sim_days = 21}; - - const char * unified_file = argv[1]; - const char * Xfile = argv[2]; - - - test_file( unified_file , 0 , true , &true1 ); - test_file( unified_file , 100 , false , NULL ); - test_file( Xfile , 0 , true , &true2 ); - - exit(0); -} diff --git a/ThirdParty/Ert/devel/libecl/tests/ecl_tetrahedron_contains.c b/ThirdParty/Ert/devel/libecl/tests/ecl_tetrahedron_contains.c deleted file mode 100644 index 58d6e0d0ef..0000000000 --- a/ThirdParty/Ert/devel/libecl/tests/ecl_tetrahedron_contains.c +++ /dev/null @@ -1,91 +0,0 @@ -/* - Copyright (C) 2014 Statoil ASA, Norway. - - The file 'ecl_tetrahedron_contains.c' is part of ERT - Ensemble based - Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include - -#include - -#include -#include - - -void init_tet(tetrahedron_type * tet , point_type * point_list) { - point_set(&point_list[0] , 0 , 0 , 0); - point_set(&point_list[1] , 1 , 0 , 0); - point_set(&point_list[2] , 0 , 1 , 0); - point_set(&point_list[3] , 0 , 0 , 1); - - tetrahedron_init(tet , &point_list[0] , &point_list[1] , &point_list[2] , &point_list[3]); -} - - - - - -void test_inside(const tetrahedron_type * tet ) { - point_type p; - point_set(&p , 0.10 , 0.10 , 0.10); - test_assert_true( tetrahedron_contains( tet , &p )); -} - - -void test_i(const tetrahedron_type * tet ) { - point_type p; - point_set(&p , -10 , 0.10 , 0.10); - test_assert_false( tetrahedron_contains( tet , &p )); - - point_set(&p , 10 , 0.10 , 0.10); - test_assert_false( tetrahedron_contains( tet , &p )); -} - - -void test_j(const tetrahedron_type * tet ) { - point_type p; - point_set(&p , 0.10 , -10 , 0.10); - test_assert_false( tetrahedron_contains( tet , &p )); - - point_set(&p , 0.10 , 10 , 0.10); - test_assert_false( tetrahedron_contains( tet , &p )); -} - - -void test_k(const tetrahedron_type * tet ) { - point_type p; - point_set(&p , 0.25 , 0.15 , -10); - test_assert_false( tetrahedron_contains( tet , &p )); - - point_set(&p , 0.25 , 0.15 , 10); - test_assert_false( tetrahedron_contains( tet , &p )); -} - - - -int main(int argc , char ** argv) { - tetrahedron_type tet; - point_type point_list[4]; - - init_tet( &tet , point_list ); - - test_inside(&tet); - test_j(&tet); - test_i(&tet); - test_k(&tet); - -} diff --git a/ThirdParty/Ert/devel/libecl/tests/tests.cmake b/ThirdParty/Ert/devel/libecl/tests/tests.cmake deleted file mode 100644 index a819f6fd12..0000000000 --- a/ThirdParty/Ert/devel/libecl/tests/tests.cmake +++ /dev/null @@ -1,378 +0,0 @@ -add_executable( ecl_alloc_grid_dxv_dyv_dzv ecl_alloc_grid_dxv_dyv_dzv.c ) -target_link_libraries( ecl_alloc_grid_dxv_dyv_dzv ecl test_util ) -add_test( ecl_alloc_grid_dxv_dyv_dzv ${EXECUTABLE_OUTPUT_PATH}/ecl_alloc_grid_dxv_dyv_dzv ) - -add_executable( ecl_coarse_test ecl_coarse_test.c ) -target_link_libraries( ecl_coarse_test ecl test_util ) -add_test( ecl_coarse_test ${EXECUTABLE_OUTPUT_PATH}/ecl_coarse_test ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/LGCcase/LGC_TESTCASE2 ) - - -add_executable( ecl_grid_layer_contains ecl_grid_layer_contains.c ) -target_link_libraries( ecl_grid_layer_contains ecl test_util ) -add_test( ecl_grid_layer_contains1 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_layer_contains ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID ) -add_test( ecl_grid_layer_contains2 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_layer_contains ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Mariner/MARINER.EGRID ) - - -add_executable( ecl_restart_test ecl_restart_test.c ) -target_link_libraries( ecl_restart_test ecl test_util ) -add_test( ecl_restart_test ${EXECUTABLE_OUTPUT_PATH}/ecl_restart_test ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.UNRST ) - -add_executable( ecl_kw_init ecl_kw_init.c ) -target_link_libraries( ecl_kw_init ecl test_util ) -add_test( ecl_kw_init ${EXECUTABLE_OUTPUT_PATH}/ecl_kw_init ) - -add_executable( ecl_kw_fread ecl_kw_fread.c ) -target_link_libraries( ecl_kw_fread ecl test_util ) -add_test( ecl_kw_fread ${EXECUTABLE_OUTPUT_PATH}/ecl_kw_fread ) - -add_executable( ecl_nnc_export ecl_nnc_export.c ) -target_link_libraries( ecl_nnc_export ecl test_util ) -add_test (ecl_nnc_export1 ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_export ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE TRUE) -add_test (ecl_nnc_export2 ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_export ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/10kcase/TEST10K_FLT_LGR_NNC TRUE) -add_test (ecl_nnc_export3 ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_export ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Troll/MSW_LGR/2BRANCHES-CCEWELLPATH-NEW-SCH-TUNED-AR3 TRUE) -add_test (ecl_nnc_export4 ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_export ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/DualPoro/DUAL_DIFF TRUE) -add_test (ecl_nnc_export5 ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_export ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/DualPoro/DUALPORO TRUE) -add_test (ecl_nnc_export6 ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_export ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/nestedLGRcase/TESTCASE_NESTEDLGR TRUE) -add_test (ecl_nnc_export7 ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_export ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/TYRIHANS/BASE20150218_MULTFLT FALSE) - -add_executable( ecl_nnc_export_get_tran ecl_nnc_export_get_tran.c ) -target_link_libraries( ecl_nnc_export_get_tran ecl test_util ) -add_test (ecl_nnc_export_get_tran ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_export_get_tran ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Troll/MSW_LGR/2BRANCHES-CCEWELLPATH-NEW-SCH-TUNED-AR3) - -add_executable( ecl_valid_basename ecl_valid_basename.c ) -target_link_libraries( ecl_valid_basename ecl test_util ) -add_test( ecl_valid_basename ${EXECUTABLE_OUTPUT_PATH}/ecl_valid_basename) - -add_executable( ecl_util_make_date_no_shift ecl_util_make_date_no_shift.c ) -target_link_libraries( ecl_util_make_date_no_shift ecl test_util ) -add_test( ecl_util_make_date_no_shift ${EXECUTABLE_OUTPUT_PATH}/ecl_util_make_date_no_shift ) - -add_executable( ecl_util_make_date_shift ecl_util_make_date_shift.c ) -target_link_libraries( ecl_util_make_date_shift ecl test_util ) -add_test( ecl_util_make_date_shift ${EXECUTABLE_OUTPUT_PATH}/ecl_util_make_date_shift ) - -add_executable( ecl_sum_case_exists ecl_sum_case_exists.c ) -target_link_libraries( ecl_sum_case_exists ecl test_util ) -add_test( ecl_sum_case_exists ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_case_exists - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/GurbatSummary/missingHe ader/ECLIPSE - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/GurbatSummary/missingData/ECLIPSE ) - - -add_executable( ecl_grid_lgr_name ecl_grid_lgr_name.c ) -target_link_libraries( ecl_grid_lgr_name ecl test_util ) -set_target_properties( ecl_grid_lgr_name PROPERTIES COMPILE_FLAGS "-Werror") -add_test( ecl_grid_lgr_name ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_lgr_name ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Troll/MSW_LGR/2BRANCHES-CCEWELLPATH-NEW-SCH-TUNED-AR3.EGRID) - -add_executable( ecl_grid_create ecl_grid_create.c ) -target_link_libraries( ecl_grid_create ecl test_util ) -add_test( ecl_grid_create ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_create ) - -add_executable( ecl_region ecl_region.c ) -target_link_libraries( ecl_region ecl test_util ) -add_test( ecl_region ${EXECUTABLE_OUTPUT_PATH}/ecl_region ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID ) - -add_executable( ecl_grid_fwrite ecl_grid_fwrite.c ) -target_link_libraries( ecl_grid_fwrite ecl test_util ) -add_test( ecl_grid_fwrite ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_fwrite ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID ) - -add_executable( ecl_grid_cell_contains ecl_grid_cell_contains.c ) -target_link_libraries( ecl_grid_cell_contains ecl test_util ) -add_test( ecl_grid_cell_contains1 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_cell_contains 1 ) -add_test( ecl_grid_cell_contains2 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_cell_contains 2 ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID ) -add_test( ecl_grid_cell_contains3 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_cell_contains 3 ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/FF12/FF12_2013B2.EGRID ) - -add_test( ecl_grid_cell_contains4 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_cell_contains 4 ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Brazil/R3_ICD.EGRID ) - -add_executable( ecl_tetrahedron_contains ecl_tetrahedron_contains.c ) -target_link_libraries( ecl_tetrahedron_contains ecl test_util ) -add_test( ecl_tetrahedron_contains1 ${EXECUTABLE_OUTPUT_PATH}/ecl_tetrahedron_contains) - -add_executable( ecl_grid_cell_volume ecl_grid_cell_volume.c ) -target_link_libraries( ecl_grid_cell_volume ecl test_util ) -add_test( ecl_grid_cell_volume1 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_cell_volume) -add_test( ecl_grid_cell_volume2 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_cell_volume ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID ) -add_test( ecl_grid_cell_volume3 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_cell_volume ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Heidrun/Summary/FF12_2013B3_CLEAN_RS.EGRID ) - -add_executable( ecl_region2region ecl_region2region_test.c ) -target_link_libraries( ecl_region2region ecl test_util ) -add_test( ecl_region2region ${EXECUTABLE_OUTPUT_PATH}/ecl_region2region ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/R2R/R2R.SMSPEC ) - -add_executable( ecl_grid_case ecl_grid_case.c ) -target_link_libraries( ecl_grid_case ecl test_util ) -add_test( ecl_grid_case ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_case ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE ) - - -add_executable( ecl_lgr_test ecl_lgr_test.c ) -target_link_libraries( ecl_lgr_test ecl test_util ) -add_test( ecl_lgr_test1 ${EXECUTABLE_OUTPUT_PATH}/ecl_lgr_test ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/10kcase/TEST10K_FLT_LGR_NNC.EGRID) -add_test( ecl_lgr_test2 ${EXECUTABLE_OUTPUT_PATH}/ecl_lgr_test ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/10kcase/TEST10K_FLT_LGR_NNC.GRID) -add_test( ecl_lgr_test3 ${EXECUTABLE_OUTPUT_PATH}/ecl_lgr_test ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Troll/MSW_LGR/2BRANCHES-CCEWELLPATH-NEW-SCH-TUNED-AR3.EGRID ) - - -add_executable( ecl_grid_simple ecl_grid_simple.c ) -target_link_libraries( ecl_grid_simple ecl test_util ) -add_test( ecl_grid_simple ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_simple ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID ) - -add_test( ecl_grid_ecl2015_1 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_simple ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Eclipse2015_NNC_BUG/FF15_2015B2_LGRM_RDI15_HIST_RDIREAL1_NOSIM_GRID.EGRID ) -add_test( ecl_grid_ecl2015_2 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_simple ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Eclipse2015_NNC_BUG/FF15_2015B2_LGRM_RDI15_HIST_RDIREAL1_20142.EGRID ) - - -add_executable( ecl_grid_DEPTHZ ecl_grid_DEPTHZ.c ) -target_link_libraries( ecl_grid_DEPTHZ ecl test_util ) -add_test( ecl_grid_DEPTHZ ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_DEPTHZ ) - -add_executable( ecl_grid_reset_actnum ecl_grid_reset_actnum.c ) -target_link_libraries( ecl_grid_reset_actnum ecl test_util ) -add_test( ecl_grid_reset_actnum ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_reset_actnum ) - -add_executable( ecl_grid_export ecl_grid_export.c ) -add_executable( ecl_grid_corner ecl_grid_corner.c ) -target_link_libraries( ecl_grid_corner ecl test_util ) -add_test( ecl_grid_corner ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_corner ) - - -target_link_libraries( ecl_grid_export ecl test_util ) -add_test( ecl_grid_export ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_export ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID ) - -add_executable( ecl_grid_volume ecl_grid_volume.c ) -target_link_libraries( ecl_grid_volume ecl test_util ) -add_test( ecl_grid_volume1 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_volume ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE ) -add_test( ecl_grid_volume2 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_volume ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/VolumeTest/TEST1 ) - -# The grid volume test fails miserably on the test case given as example three; looking at -# the failures one could actually suspect that the ECLIPSE algorithm for PORV calculations -# has been different in this file - i.e. that the absolute value of the individual -# tetrahedron parts have been taken during the sum, and not at the end. At least the ert -# algorithm gets volumes ~ 0 whereas ECLIPSE reports ~10^9 for the same cell. -# add_test( ecl_grid_volume3 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_volume ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Heidrun/Summary/FF12_2013B3_CLEAN_RS) - -add_executable( ecl_grid_dims ecl_grid_dims.c ) -target_link_libraries( ecl_grid_dims ecl test_util ) - -add_test( ecl_grid_dims0 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_dims ) -add_test( ecl_grid_dims1 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_dims ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.INIT ) -add_test( ecl_grid_dims2 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_dims ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.GRID ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.INIT) -add_test( ecl_grid_dims3 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_dims ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID ) -add_test( ecl_grid_dims4 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_dims ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.GRID ) -add_test( ecl_grid_dims5 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_dims ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/AmalgLGRcase/TESTCASE_AMALG_LGR.EGRID ) - - - -add_executable( ecl_nnc_test ecl_nnc_test.c ) -target_link_libraries( ecl_nnc_test ecl test_util ) -add_test (ecl_nnc_test1 ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_test ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID ) -add_test (ecl_nnc_test2 ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_test ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/10kcase/TEST10K_FLT_LGR_NNC.EGRID ) -add_test (ecl_nnc_test3 ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_test ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Troll/MSW_LGR/2BRANCHES-CCEWELLPATH-NEW-SCH-TUNED-AR3.EGRID) -add_test (ecl_nnc_test4 ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_test ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/DualPoro/DUAL_DIFF.EGRID ) -add_test (ecl_nnc_test5 ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_test ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/nestedLGRcase/TESTCASE_NESTEDLGR.EGRID) - -add_executable( ecl_nnc_info_test ecl_nnc_info_test.c ) -target_link_libraries( ecl_nnc_info_test ecl test_util ) -add_test (ecl_nnc_info_test ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_info_test ) - - -add_executable( ecl_nnc_vector ecl_nnc_vector.c ) -target_link_libraries( ecl_nnc_vector ecl test_util ) -add_test(ecl_nnc_vector ${EXECUTABLE_OUTPUT_PATH}/ecl_nnc_vector ) - -add_executable( ecl_point ecl_point.c ) -target_link_libraries( ecl_point ecl test_util ) -add_test(ecl_point ${EXECUTABLE_OUTPUT_PATH}/ecl_point ) - -add_executable( ecl_layer ecl_layer.c ) -target_link_libraries( ecl_layer ecl test_util ) -add_test(ecl_layer ${EXECUTABLE_OUTPUT_PATH}/ecl_layer ) - - -add_executable( ecl_layer_statoil ecl_layer_statoil.c ) -target_link_libraries( ecl_layer_statoil ecl test_util ) -add_test(ecl_layer_statoil ${EXECUTABLE_OUTPUT_PATH}/ecl_layer_statoil ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Mariner/MARINER.EGRID ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Mariner/faultblock.grdecl) - - -add_executable( ecl_kw_grdecl ecl_kw_grdecl.c ) -target_link_libraries( ecl_kw_grdecl ecl test_util ) -add_test( ecl_kw_grdecl ${EXECUTABLE_OUTPUT_PATH}/ecl_kw_grdecl ) - -add_executable( ecl_kw_equal ecl_kw_equal.c ) -target_link_libraries( ecl_kw_equal ecl test_util ) -add_test( ecl_kw_equal ${EXECUTABLE_OUTPUT_PATH}/ecl_kw_equal ) - -add_executable( ecl_kw_cmp_string ecl_kw_cmp_string.c ) -target_link_libraries( ecl_kw_cmp_string ecl test_util ) -add_test( ecl_kw_cmp_string ${EXECUTABLE_OUTPUT_PATH}/ecl_kw_cmp_string ) - - -add_executable( ecl_dualp ecl_dualp.c ) -target_link_libraries( ecl_dualp ecl test_util ) -add_test( ecl_dualp ${EXECUTABLE_OUTPUT_PATH}/ecl_dualp ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/LGCcase/LGC_TESTCASE2 ) - -add_executable( ecl_util_month_range ecl_util_month_range.c ) -target_link_libraries( ecl_util_month_range ecl test_util ) -add_test( ecl_util_month_range ${EXECUTABLE_OUTPUT_PATH}/ecl_util_month_range ) - -add_executable( ecl_sum_test ecl_sum_test.c ) -target_link_libraries( ecl_sum_test ecl test_util ) -add_test( ecl_sum_test ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_test ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE ) - -add_executable( ecl_sum_report_step_equal ecl_sum_report_step_equal.c ) -target_link_libraries( ecl_sum_report_step_equal ecl test_util ) -add_test( ecl_sum_report_step_equal1 ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_report_step_equal ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Snorre/SNORRE FALSE) -add_test( ecl_sum_report_step_equal2 ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_report_step_equal ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE TRUE) -add_test( ecl_sum_report_step_equal3 ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_report_step_equal ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/modGurbat/extraMinistep/ECLIPSE TRUE) -add_test( ecl_sum_report_step_equal4 ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_report_step_equal ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/modGurbat/short/ECLIPSE FALSE) -add_test( ecl_sum_report_step_equal5 ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_report_step_equal ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/modGurbat/enkf/ECLIPSE FALSE) -add_test( ecl_sum_report_step_equal6 ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_report_step_equal ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Snorre/SNORRE ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Snorre2/SNORRE2 FALSE) - -add_executable( ecl_sum_report_step_compatible ecl_sum_report_step_compatible.c ) -target_link_libraries( ecl_sum_report_step_compatible ecl test_util ) -add_test( ecl_sum_report_step_compatible1 ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_report_step_compatible ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Snorre/SNORRE FALSE) -add_test( ecl_sum_report_step_compatible2 ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_report_step_compatible ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE TRUE) -add_test( ecl_sum_report_step_compatible3 ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_report_step_compatible ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/modGurbat/extraMinistep/ECLIPSE TRUE) -add_test( ecl_sum_report_step_compatible4 ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_report_step_compatible ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/modGurbat/short/ECLIPSE TRUE) -add_test( ecl_sum_report_step_compatible5 ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_report_step_compatible ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/modGurbat/enkf/ECLIPSE TRUE) -add_test( ecl_sum_report_step_compatible6 ${EXECUTABLE_OUTPUT_PATH}/ecl_sum_report_step_equal ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Snorre/SNORRE ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Snorre2/SNORRE2 FALSE) - -add_executable( ecl_fortio ecl_fortio.c ) -target_link_libraries( ecl_fortio ecl test_util ) -add_test( ecl_fortio ${EXECUTABLE_OUTPUT_PATH}/ecl_fortio ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.UNRST ) - -add_executable( ecl_file ecl_file.c ) -target_link_libraries( ecl_file ecl test_util ) -add_test( ecl_file ${EXECUTABLE_OUTPUT_PATH}/ecl_file ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.UNRST ECLIPSE.UNRST) - -add_executable( ecl_fmt ecl_fmt.c ) -target_link_libraries( ecl_fmt ecl test_util ) -add_test( ecl_fmt ${EXECUTABLE_OUTPUT_PATH}/ecl_fmt ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.UNRST ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.DATA) - - -add_executable( ecl_rsthead ecl_rsthead.c ) -target_link_libraries( ecl_rsthead ecl test_util ) -add_test( ecl_rsthead ${EXECUTABLE_OUTPUT_PATH}/ecl_rsthead ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.UNRST - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/DualPoro/DUALPORO.X0005 ) - -add_executable( ecl_rft ecl_rft.c ) -target_link_libraries( ecl_rft ecl test_util ) -add_test( ecl_rft_rft ${EXECUTABLE_OUTPUT_PATH}/ecl_rft ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.RFT RFT) -add_test( ecl_rft_rft_rw ${EXECUTABLE_OUTPUT_PATH}/ecl_rft ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.RFT RFT_RW) -add_test( ecl_rft_plt ${EXECUTABLE_OUTPUT_PATH}/ecl_rft ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/RFT/TEST1_1A.RFT PLT) -add_test( ecl_rft_plt ${EXECUTABLE_OUTPUT_PATH}/ecl_rft ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/RFT/RFT2.RFT MSW-PLT) - -add_executable( ecl_rft_cell ecl_rft_cell.c ) -target_link_libraries( ecl_rft_cell ecl test_util ) -add_test( ecl_rft_cell ${EXECUTABLE_OUTPUT_PATH}/ecl_rft_cell ) - -add_executable( ecl_grid_copy ecl_grid_copy.c ) -target_link_libraries( ecl_grid_copy ecl test_util ) -add_test( ecl_grid_copy ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_copy ) - -add_executable( ecl_grid_copy_statoil ecl_grid_copy_statoil.c ) -target_link_libraries( ecl_grid_copy_statoil ecl test_util ) - -add_test( ecl_grid_copy_statoil1 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_copy_statoil ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID ) - -add_test( ecl_grid_copy_statoil2 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_copy_statoil ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Mariner/MARINER.EGRID ) - -add_test( ecl_grid_copy_statoil3 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_copy_statoil ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/LGCcase/LGC_TESTCASE2.EGRID ) - -add_test( ecl_grid_copy_statoil4 ${EXECUTABLE_OUTPUT_PATH}/ecl_grid_copy_statoil ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/10kcase/TEST10K_FLT_LGR_NNC.EGRID ) - - - -add_executable( ecl_get_num_cpu ecl_get_num_cpu_test.c ) -target_link_libraries( ecl_get_num_cpu ecl test_util ) -add_test( ecl_get_num_cpu ${EXECUTABLE_OUTPUT_PATH}/ecl_get_num_cpu - ${PROJECT_SOURCE_DIR}/libecl/tests/data/num_cpu1 - ${PROJECT_SOURCE_DIR}/libecl/tests/data/num_cpu2 - ${PROJECT_SOURCE_DIR}/libecl/tests/data/num_cpu3 - ${PROJECT_SOURCE_DIR}/libecl/tests/data/num_cpu4 ) - - -add_executable( ecl_fault_block_layer_statoil ecl_fault_block_layer_statoil.c ) -target_link_libraries( ecl_fault_block_layer_statoil ecl test_util ) -add_test( ecl_fault_block_layer_statoil ${EXECUTABLE_OUTPUT_PATH}/ecl_fault_block_layer_statoil - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Mariner/MARINER.EGRID - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Mariner/faultblock.grdecl) - - -add_executable( ecl_fault_block_layer ecl_fault_block_layer.c ) -target_link_libraries( ecl_fault_block_layer ecl test_util ) -add_test( ecl_fault_block_layer ${EXECUTABLE_OUTPUT_PATH}/ecl_fault_block_layer ) - -set_property( TEST ecl_fault_block_layer_statoil PROPERTY LABELS StatoilData ) -set_property( TEST ecl_fmt PROPERTY LABELS StatoilData ) -set_property( TEST ecl_coarse_test PROPERTY LABELS StatoilData ) -set_property( TEST ecl_restart_test PROPERTY LABELS StatoilData ) -set_property( TEST ecl_lgr_test1 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_lgr_test2 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_lgr_test3 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_lgr_name PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_simple PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_export PROPERTY LABELS StatoilData ) -set_property( TEST ecl_dualp PROPERTY LABELS StatoilData ) -set_property( TEST ecl_sum_test PROPERTY LABELS StatoilData ) - -set_property( TEST ecl_sum_report_step_equal1 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_sum_report_step_equal2 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_sum_report_step_equal3 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_sum_report_step_equal4 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_sum_report_step_equal5 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_sum_report_step_equal6 PROPERTY LABELS StatoilData ) - -set_property( TEST ecl_sum_report_step_compatible1 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_sum_report_step_compatible2 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_sum_report_step_compatible3 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_sum_report_step_compatible4 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_sum_report_step_compatible5 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_sum_report_step_compatible6 PROPERTY LABELS StatoilData ) - - - -set_property( TEST ecl_fortio PROPERTY LABELS StatoilData) -set_property( TEST ecl_grid_dims1 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_dims2 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_dims3 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_dims4 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_dims5 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_nnc_test1 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_nnc_test2 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_nnc_test3 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_nnc_test4 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_nnc_test5 PROPERTY LABELS StatoilData ) - -set_property( TEST ecl_grid_fwrite PROPERTY LABELS StatoilData) -set_property( TEST ecl_file PROPERTY LABELS StatoilData) -set_property( TEST ecl_rsthead PROPERTY LABELS StatoilData) -set_property( TEST ecl_region PROPERTY LABELS StatoilData) -set_property( TEST ecl_region2region PROPERTY LABELS StatoilData) -set_property( TEST ecl_grid_case PROPERTY LABELS StatoilData) -set_property( TEST ecl_rft_rft PROPERTY LABELS StatoilData) -set_property( TEST ecl_rft_plt PROPERTY LABELS StatoilData) -set_property( TEST ecl_rft_rft_rw PROPERTY LABELS StatoilData) -set_property( TEST ecl_sum_case_exists PROPERTY LABELS StatoilData) -set_property( TEST ecl_grid_volume1 PROPERTY LABELS StatoilData) -set_property( TEST ecl_grid_volume2 PROPERTY LABELS StatoilData) -#set_property( TEST ecl_grid_volume3 PROPERTY LABELS StatoilData) -set_property( TEST ecl_grid_cell_contains2 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_cell_contains3 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_cell_contains4 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_cell_volume2 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_cell_volume3 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_nnc_export1 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_nnc_export2 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_nnc_export3 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_nnc_export4 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_nnc_export5 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_nnc_export6 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_nnc_export7 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_nnc_export_get_tran PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_cell_contains2 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_copy_statoil1 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_copy_statoil2 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_copy_statoil3 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_copy_statoil4 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_layer_statoil PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_layer_contains1 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_layer_contains2 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_ecl2015_1 PROPERTY LABELS StatoilData ) -set_property( TEST ecl_grid_ecl2015_2 PROPERTY LABELS StatoilData ) diff --git a/ThirdParty/Ert/devel/libecl_well/src/CMakeLists.txt b/ThirdParty/Ert/devel/libecl_well/src/CMakeLists.txt deleted file mode 100644 index 3c1edaa604..0000000000 --- a/ThirdParty/Ert/devel/libecl_well/src/CMakeLists.txt +++ /dev/null @@ -1,51 +0,0 @@ -set( source_files - well_state.c - well_conn.c - well_info.c - well_ts.c - well_conn_collection.c - well_segment.c - well_segment_collection.c - well_branch_collection.c - well_rseg_loader.c -) - -set( header_files - well_state.h - well_const.h - well_conn.h - well_info.h - well_ts.h - well_conn_collection.h - well_segment.h - well_segment_collection.h - well_branch_collection.h - well_rseg_loader.h -) - -if (NOT ERT_WINDOWS) - set_property( SOURCE well_branch_collection.c well_segment.c well_segment_collection.c well_conn_collection.c well_conn.c PROPERTY COMPILE_FLAGS "-Werror") -endif() - - -include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ) -include_directories( ${libgeometry_src_path} ) - - -add_library( ecl_well ${LIBRARY_TYPE} ${source_files} ) -set_target_properties( ecl_well PROPERTIES VERSION 1.0 SOVERSION 1.0 ) -target_link_libraries( ecl_well ecl ) -if (USE_RUNPATH) - add_runpath( ecl_well ) -endif() - - -#----------------------------------------------------------------- -if (INSTALL_ERT) - install(TARGETS ecl_well DESTINATION ${CMAKE_INSTALL_LIBDIR}) - foreach(header ${header_files}) - install(FILES ../include/ert/ecl_well/${header} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/ert/ecl_well) - endforeach() -endif() - - diff --git a/ThirdParty/Ert/devel/libecl_well/tests/CMakeLists.txt b/ThirdParty/Ert/devel/libecl_well/tests/CMakeLists.txt deleted file mode 100644 index 80b8cdefa3..0000000000 --- a/ThirdParty/Ert/devel/libecl_well/tests/CMakeLists.txt +++ /dev/null @@ -1,136 +0,0 @@ -add_executable( well_conn_collection well_conn_collection.c ) -target_link_libraries( well_conn_collection ecl_well test_util ) -set_target_properties( well_conn_collection PROPERTIES COMPILE_FLAGS "-Werror") -add_test( well_conn_collection ${EXECUTABLE_OUTPUT_PATH}/well_conn_collection ) - -add_executable( well_branch_collection well_branch_collection.c ) -target_link_libraries( well_branch_collection ecl_well test_util ) -set_target_properties( well_branch_collection PROPERTIES COMPILE_FLAGS "-Werror") -add_test( well_branch_collection ${EXECUTABLE_OUTPUT_PATH}/well_branch_collection ) - -add_executable( well_conn well_conn.c ) -target_link_libraries( well_conn ecl_well test_util ) -set_target_properties( well_conn PROPERTIES COMPILE_FLAGS "-Werror") -add_test( well_conn ${EXECUTABLE_OUTPUT_PATH}/well_conn ) - -add_executable( well_state well_state.c ) -target_link_libraries( well_state ecl_well test_util ) -set_target_properties( well_state PROPERTIES COMPILE_FLAGS "-Werror") -add_test( well_state ${EXECUTABLE_OUTPUT_PATH}/well_state ) - -add_executable( well_state_load well_state_load.c ) -target_link_libraries( well_state_load ecl_well test_util ) -set_target_properties( well_state_load PROPERTIES COMPILE_FLAGS "-Werror") - -add_executable( well_state_load_missing_RSEG well_state_load_missing_RSEG.c ) -target_link_libraries( well_state_load_missing_RSEG ecl_well test_util ) -set_target_properties( well_state_load_missing_RSEG PROPERTIES COMPILE_FLAGS "-Werror") - - -add_test( well_state_load1 ${EXECUTABLE_OUTPUT_PATH}/well_state_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.X0030) - -add_test( well_state_load2 ${EXECUTABLE_OUTPUT_PATH}/well_state_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/MSWcase/MSW_CASE.EGRID - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/MSWcase/MSW_CASE.X0021) - -add_test( well_state_load3 ${EXECUTABLE_OUTPUT_PATH}/well_state_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Troll/MSW/MSW.EGRID - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Troll/MSW/MSW.X0123) - -add_test( well_state_load4 ${EXECUTABLE_OUTPUT_PATH}/well_state_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Troll/MSW_LGR/LGR.EGRID - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Troll/MSW_LGR/LGR.X0095) - -add_test( well_state_load5 ${EXECUTABLE_OUTPUT_PATH}/well_state_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/10kcase/TEST10K_FLT_LGR_NNC.EGRID - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/10kcase/TEST10K_FLT_LGR_NNC.X0061) - -add_test( well_state_load_missing_RSEG1 ${EXECUTABLE_OUTPUT_PATH}/well_state_load_missing_RSEG ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/10kcase/TEST10K_FLT_LGR_NNC.EGRID - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/10kcase/TEST10K_FLT_LGR_NNC.X0061) - -add_test( well_state_load_missing_RSEG2 ${EXECUTABLE_OUTPUT_PATH}/well_state_load_missing_RSEG ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Troll/MSW/MSW.EGRID - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Troll/MSW/MSW.X0123) - - -add_executable( well_segment well_segment.c ) -target_link_libraries( well_segment ecl_well test_util ) -set_target_properties( well_segment PROPERTIES COMPILE_FLAGS "-Werror") -add_test( well_segment ${EXECUTABLE_OUTPUT_PATH}/well_segment ) - -add_executable( well_segment_conn well_segment_conn.c ) -target_link_libraries( well_segment_conn ecl_well test_util ) -set_target_properties( well_segment_conn PROPERTIES COMPILE_FLAGS "-Werror") -add_test( well_segment_conn ${EXECUTABLE_OUTPUT_PATH}/well_segment_conn ) - -add_executable( well_segment_load well_segment_load.c ) -target_link_libraries( well_segment_load ecl_well test_util ) -set_target_properties( well_segment_load PROPERTIES COMPILE_FLAGS "-Werror") -add_test( well_segment_load ${EXECUTABLE_OUTPUT_PATH}/well_segment_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/MSWcase/MSW_CASE.X0021) - - -add_executable( well_segment_branch_conn_load well_segment_branch_conn_load.c ) -target_link_libraries( well_segment_branch_conn_load ecl_well test_util ) -set_target_properties( well_segment_branch_conn_load PROPERTIES COMPILE_FLAGS "-Werror") -add_test( well_segment_branch_conn_load ${EXECUTABLE_OUTPUT_PATH}/well_segment_branch_conn_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/MSWcase/MSW_CASE.X0021) - -add_executable( well_info well_info.c ) -target_link_libraries( well_info ecl_well test_util ) -set_target_properties( well_info PROPERTIES COMPILE_FLAGS "-Werror") -add_test( well_info ${EXECUTABLE_OUTPUT_PATH}/well_info ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.EGRID ) - - -add_executable( well_segment_collection well_segment_collection.c ) -target_link_libraries( well_segment_collection ecl_well test_util ) -set_target_properties( well_segment_collection PROPERTIES COMPILE_FLAGS "-Werror") -add_test( well_segment_collection ${EXECUTABLE_OUTPUT_PATH}/well_segment_collection ) - -add_executable( well_conn_CF well_conn_CF.c ) -target_link_libraries( well_conn_CF ecl_well test_util ) -add_test( well_conn_CF ${EXECUTABLE_OUTPUT_PATH}/well_conn_CF ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.X0060) - -add_executable( well_conn_load well_conn_load.c ) -target_link_libraries( well_conn_load ecl_well test_util ) -set_target_properties( well_conn_load PROPERTIES COMPILE_FLAGS "-Werror") -add_test( well_conn_load1 ${EXECUTABLE_OUTPUT_PATH}/well_conn_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.X0030 F) -add_test( well_conn_load2 ${EXECUTABLE_OUTPUT_PATH}/well_conn_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/10kcase/TEST10K_FLT_LGR_NNC.X0021 F) -add_test( well_conn_load3 ${EXECUTABLE_OUTPUT_PATH}/well_conn_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/MSWcase/MSW_CASE.X0021 T) -add_test( well_conn_load4 ${EXECUTABLE_OUTPUT_PATH}/well_conn_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/AmalgLGRcase/TESTCASE_AMALG_LGR.X0021 F) -add_test( well_conn_load5 ${EXECUTABLE_OUTPUT_PATH}/well_conn_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/DualPoro/DUALPORO.X0009 F) -add_test( well_conn_load6 ${EXECUTABLE_OUTPUT_PATH}/well_conn_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/0.9.2_LGR/BASE_REF_XY3Z1_T30_WI.X0003 F) - -add_executable( well_ts well_ts.c ) -target_link_libraries( well_ts ecl_well test_util ) -add_test( well_ts ${EXECUTABLE_OUTPUT_PATH}/well_ts ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/CO2case/BASE_CASE ) - - -add_executable( well_dualp well_dualp.c ) -target_link_libraries( well_dualp ecl_well test_util ) -add_test( well_dualp ${EXECUTABLE_OUTPUT_PATH}/well_dualp ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/Gurbat/ECLIPSE.UNRST - ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/DualPoro/DUALPORO.X0005 ) - - -add_executable( well_lgr_load well_lgr_load.c ) -target_link_libraries( well_lgr_load ecl_well test_util ) - -add_test( well_lgr_load1 ${EXECUTABLE_OUTPUT_PATH}/well_lgr_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/0.9.2_LGR/BASE_REF_XY3Z1_T30_WI.EGRID ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/0.9.2_LGR/BASE_REF_XY3Z1_T30_WI.X0003) -add_test( well_lgr_load2 ${EXECUTABLE_OUTPUT_PATH}/well_lgr_load ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/AmalgLGRcase/TESTCASE_AMALG_LGR.EGRID ${PROJECT_SOURCE_DIR}/test-data/Statoil/ECLIPSE/AmalgLGRcase/TESTCASE_AMALG_LGR.X0016) - -set_property( TEST well_lgr_load1 PROPERTY LABELS StatoilData ) -set_property( TEST well_lgr_load2 PROPERTY LABELS StatoilData ) -set_property( TEST well_dualp PROPERTY LABELS StatoilData ) -set_property( TEST well_state_load1 PROPERTY LABELS StatoilData ) -set_property( TEST well_state_load2 PROPERTY LABELS StatoilData ) -set_property( TEST well_state_load3 PROPERTY LABELS StatoilData ) -set_property( TEST well_state_load4 PROPERTY LABELS StatoilData ) -set_property( TEST well_state_load5 PROPERTY LABELS StatoilData ) -set_property( TEST well_state_load_missing_RSEG1 PROPERTY LABELS StatoilData ) -set_property( TEST well_state_load_missing_RSEG2 PROPERTY LABELS StatoilData ) -set_property( TEST well_dualp PROPERTY LABELS StatoilData ) -set_property( TEST well_conn_load1 PROPERTY LABELS StatoilData ) -set_property( TEST well_conn_load2 PROPERTY LABELS StatoilData ) -set_property( TEST well_conn_load3 PROPERTY LABELS StatoilData ) -set_property( TEST well_conn_load4 PROPERTY LABELS StatoilData ) -set_property( TEST well_conn_load5 PROPERTY LABELS StatoilData ) -set_property( TEST well_conn_load6 PROPERTY LABELS StatoilData ) -set_property( TEST well_conn_CF PROPERTY LABELS StatoilData ) -set_property( TEST well_info PROPERTY LABELS StatoilData ) -set_property( TEST well_segment_load PROPERTY LABELS StatoilData ) -set_property( TEST well_segment_branch_conn_load PROPERTY LABELS StatoilData ) -set_property( TEST well_ts PROPERTY LABELS StatoilData ) diff --git a/ThirdParty/Ert/devel/libeclxx/include/ert/ecl/EclKW.hpp b/ThirdParty/Ert/devel/libeclxx/include/ert/ecl/EclKW.hpp deleted file mode 100644 index 471e49a7fe..0000000000 --- a/ThirdParty/Ert/devel/libeclxx/include/ert/ecl/EclKW.hpp +++ /dev/null @@ -1,97 +0,0 @@ -/* - Copyright 2015 Statoil ASA. - - This file is part of the Open Porous Media project (OPM). - - OPM is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OPM is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with OPM. If not, see . -*/ - -#ifndef OPM_ERT_ECL_KW -#define OPM_ERT_ECL_KW - -#include -#include -#include -#include -#include - - -#include -#include -#include - - - -namespace ERT { - template - class EclKW - { - public: - EclKW(const std::string& kw, int size_); - EclKW() { ; } - - static EclKW load(FortIO& fortio); - - size_t size() const { - return static_cast( ecl_kw_get_size( m_kw.get() )); - } - - T& operator[](size_t index) { - return *( static_cast( ecl_kw_iget_ptr( m_kw.get() , index) )); - } - - - void fwrite(FortIO& fortio) const { - ecl_kw_fwrite( m_kw.get() , fortio.getPointer() ); - } - - - void assignVector(const std::vector& data) { - if (data.size() == size()) - ecl_kw_set_memcpy_data( m_kw.get() , data.data() ); - else - throw std::invalid_argument("Size error"); - } - - ecl_kw_type * getPointer() const { - return m_kw.get(); - } - - private: - EclKW(ecl_kw_type * c_ptr) { - reset(c_ptr); - } - - void reset(ecl_kw_type * c_ptr) { - m_kw.reset( c_ptr , ecl_kw_free); - } - - - static EclKW checkedLoad(FortIO& fortio, ecl_type_enum expectedType) { - ecl_kw_type * c_ptr = ecl_kw_fread_alloc( fortio.getPointer() ); - if (c_ptr) { - if (ecl_kw_get_type( c_ptr ) == expectedType) - return EclKW( c_ptr ); - else - throw std::invalid_argument("Type error"); - } else - throw std::invalid_argument("fread kw failed - EOF?"); - } - - - std::shared_ptr m_kw; - }; -} - -#endif diff --git a/ThirdParty/Ert/devel/libeclxx/include/ert/ecl/FortIO.hpp b/ThirdParty/Ert/devel/libeclxx/include/ert/ecl/FortIO.hpp deleted file mode 100644 index 35329f7f64..0000000000 --- a/ThirdParty/Ert/devel/libeclxx/include/ert/ecl/FortIO.hpp +++ /dev/null @@ -1,48 +0,0 @@ -/* - Copyright 2015 Statoil ASA. - - This file is part of the Open Porous Media project (OPM). - - OPM is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OPM is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with OPM. If not, see . -*/ - -#ifndef OPM_ERT_FORTIO_KW -#define OPM_ERT_FORTIO_KW - -#include -#include -#include - -#include -#include - - - - -namespace ERT { - class FortIO - { - public: - FortIO(const std::string& filename , std::ios_base::openmode mode , bool fmt_file = false , bool endian_flip_header = ECL_ENDIAN_FLIP); - fortio_type * getPointer() const; - void close(); - void reset() const; - - private: - std::shared_ptr m_fortio; - }; -} - - -#endif diff --git a/ThirdParty/Ert/devel/libeclxx/src/CMakeLists.txt b/ThirdParty/Ert/devel/libeclxx/src/CMakeLists.txt deleted file mode 100644 index 1c3549a3b5..0000000000 --- a/ThirdParty/Ert/devel/libeclxx/src/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -set( source_files - EclKW.cpp - FortIO.cpp ) - -set( header_files - EclKW.hpp - FortIO.hpp ) - - -add_library( eclxx ${LIBRARY_TYPE} ${source_files} ) -set_target_properties( eclxx PROPERTIES VERSION 1.0 SOVERSION 1.0 ) -if (USE_RUNPATH) - add_runpath( eclxx ) -endif() -target_link_libraries( eclxx ecl ) - - -if (INSTALL_ERT) - install(TARGETS eclxx DESTINATION ${CMAKE_INSTALL_LIBDIR}) - foreach(header ${header_files}) - install(FILES ../include/ert/ecl/${header} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/ert/ecl) - endforeach() -endif() diff --git a/ThirdParty/Ert/devel/libeclxx/src/EclKW.cpp b/ThirdParty/Ert/devel/libeclxx/src/EclKW.cpp deleted file mode 100644 index acb8ebb532..0000000000 --- a/ThirdParty/Ert/devel/libeclxx/src/EclKW.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include - - -namespace ERT { - template <> - EclKW::EclKW(const std::string& kw, int size_) { - ecl_kw_type * c_ptr = ecl_kw_alloc( kw.c_str() , size_ , ECL_INT_TYPE ); - reset( c_ptr ); - } - - template <> - EclKW::EclKW(const std::string& kw, int size_) { - ecl_kw_type * c_ptr = ecl_kw_alloc( kw.c_str() , size_ , ECL_FLOAT_TYPE ); - reset( c_ptr ); - } - - template <> - EclKW::EclKW(const std::string& kw, int size_) { - ecl_kw_type * c_ptr = ecl_kw_alloc( kw.c_str() , size_ , ECL_DOUBLE_TYPE ); - reset( c_ptr ); - } - - - - template <> - EclKW EclKW::load(FortIO& fortio) { - return checkedLoad(fortio , ECL_DOUBLE_TYPE); - } - - template <> - EclKW EclKW::load(FortIO& fortio) { - return checkedLoad(fortio , ECL_INT_TYPE); - } - - template <> - EclKW EclKW::load(FortIO& fortio) { - return checkedLoad(fortio , ECL_FLOAT_TYPE); - } -} diff --git a/ThirdParty/Ert/devel/libeclxx/src/FortIO.cpp b/ThirdParty/Ert/devel/libeclxx/src/FortIO.cpp deleted file mode 100644 index 2af298854b..0000000000 --- a/ThirdParty/Ert/devel/libeclxx/src/FortIO.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* - Copyright 2015 Statoil ASA. - - This file is part of the Open Porous Media project (OPM). - - OPM is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OPM is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with OPM. If not, see . -*/ - -#include - -#include -#include - -#include - -namespace ERT { - - FortIO::FortIO(const std::string& filename , std::ios_base::openmode mode , bool fmt_file , bool endian_flip_header) { - if (mode == std::ios_base::in) { - if (util_file_exists( filename.c_str() )) { - fortio_type * c_ptr = fortio_open_reader( filename.c_str() , fmt_file , endian_flip_header); - m_fortio.reset( c_ptr , fortio_fclose ); - } else - throw std::invalid_argument("File " + filename + " does not exist"); - } else { - fortio_type * c_ptr = fortio_open_writer( filename.c_str() , fmt_file , endian_flip_header); - m_fortio.reset( c_ptr , fortio_fclose ); - } - } - - - void FortIO::close() { - if (m_fortio) - m_fortio.reset( ); - } - - - - - fortio_type * FortIO::getPointer() const { - return m_fortio.get(); - } - -} - - diff --git a/ThirdParty/Ert/devel/libeclxx/tests/CMakeLists.txt b/ThirdParty/Ert/devel/libeclxx/tests/CMakeLists.txt deleted file mode 100644 index a5b6e85030..0000000000 --- a/ThirdParty/Ert/devel/libeclxx/tests/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -add_executable(eclxx_kw eclxx_kw.cpp) -target_link_libraries(eclxx_kw eclxx test_util util) -add_test(eclxx_kw ${EXECUTABLE_OUTPUT_PATH}/eclxx_kw) - -add_executable(eclxx_fortio eclxx_fortio.cpp) -target_link_libraries(eclxx_fortio eclxx test_util util) -add_test(eclxx_fortio ${EXECUTABLE_OUTPUT_PATH}/eclxx_fortio) diff --git a/ThirdParty/Ert/devel/libeclxx/tests/eclxx_fortio.cpp b/ThirdParty/Ert/devel/libeclxx/tests/eclxx_fortio.cpp deleted file mode 100644 index de803316f0..0000000000 --- a/ThirdParty/Ert/devel/libeclxx/tests/eclxx_fortio.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/* - Copyright 2015 Statoil ASA. - - This file is part of the Open Porous Media project (OPM). - - OPM is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OPM is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with OPM. If not, see . -*/ - -#include -#include - - -#include - -#include -#include -#include - - - -void test_fortio() { - test_work_area_type * work_area = test_work_area_alloc("fortio"); - - ERT::FortIO fortio("new_file" , std::fstream::out ); - { - std::vector data; - for (size_t i=0; i < 1000; i++) - data.push_back(i); - - fortio_fwrite_record( fortio.getPointer() , reinterpret_cast(data.data()) , 1000 * 4 ); - } - fortio.close(); - - fortio = ERT::FortIO("new_file" , std::fstream::in ); - { - std::vector data; - for (size_t i=0; i < 1000; i++) - data.push_back(99); - - test_assert_true( fortio_fread_buffer( fortio.getPointer() , reinterpret_cast(data.data()) , 1000 * 4 ) ); - for (size_t i =0; i < 1000; i++) - test_assert_size_t_equal(data[i], i); - - } - fortio.close(); - test_work_area_free( work_area ); - - test_assert_throw( ERT::FortIO fortio("file/does/not/exists" , std::fstream::in) , std::invalid_argument ); -} - - -void test_fortio_kw() { - test_work_area_type * work_area = test_work_area_alloc("fortio_kw"); - ERT::EclKW kw("XYZ" , 1000); - for (size_t i =0 ; i < kw.size(); i++) - kw[i] = i; - - { - ERT::FortIO fortio("new_file" , std::fstream::out ); - kw.fwrite( fortio ); - fortio.close(); - } - - { - ERT::FortIO fortio("new_file" , std::fstream::in ); - ERT::EclKW kw2 = ERT::EclKW::load( fortio ); - fortio.close( ); - for (size_t i =0 ; i < kw.size(); i++) - test_assert_int_equal( kw[i] , kw2[i]); - - - fortio = ERT::FortIO("new_file" , std::fstream::in ); - test_assert_throw( ERT::EclKW::load(fortio) , std::invalid_argument ); - fortio.close(); - } - - test_work_area_free( work_area ); -} - - - -int main(int argc , char ** argv) { - test_fortio(); - test_fortio_kw(); -} diff --git a/ThirdParty/Ert/devel/libeclxx/tests/eclxx_kw.cpp b/ThirdParty/Ert/devel/libeclxx/tests/eclxx_kw.cpp deleted file mode 100644 index 7741170c07..0000000000 --- a/ThirdParty/Ert/devel/libeclxx/tests/eclxx_kw.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright 2015 Statoil ASA. - - This file is part of the Open Porous Media project (OPM). - - OPM is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OPM is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with OPM. If not, see . -*/ - -#include -#include - -#include -#include -#include -#include - - -void test_kw() { - ERT::EclKW kw("XYZ" , 1000); - test_assert_size_t_equal( kw.size() , 1000 ); - - kw[0] = 1; - kw[10] = 77; - - test_assert_int_equal( kw[0] , 1 ); - test_assert_int_equal( kw[10] , 77 ); -} - - - - - - -int main (int argc, char **argv) { - test_kw(); -} diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/CMakeLists.txt b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/CMakeLists.txt deleted file mode 100644 index fa883a25be..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/CMakeLists.txt +++ /dev/null @@ -1,41 +0,0 @@ -include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ) -include_directories( ${PLPLOT_HEADER} ) - -set( src_list main.c enkf_tui_main.c enkf_tui_fs.c enkf_tui_ranking.c enkf_tui_misc.c enkf_tui_table.c enkf_tui_plot.c enkf_tui_plot_rft.c enkf_tui_plot_util.c - enkf_tui_run.c enkf_tui_util.c enkf_tui_init.c enkf_tui_export.c enkf_tui_analysis.c enkf_tui_QC.c enkf_tui_help.c enkf_tui_simple.c ert_tui_jobs.c enkf_tui_workflow.c) - -execute_process(COMMAND date "+%Y-%m-%d %H:%M:%S" OUTPUT_VARIABLE BUILD_TIME ) -string(STRIP ${BUILD_TIME} BUILD_TIME) - -find_package(Git) -if(GIT_EXECUTABLE) - execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse HEAD - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - OUTPUT_VARIABLE GIT_COMMIT) - string(STRIP "${GIT_COMMIT}" GIT_COMMIT) -else() - set(GIT_COMMIT) -endif() - -set_source_files_properties( main.c PROPERTIES COMPILE_DEFINITIONS "COMPILE_TIME_STAMP=\"${BUILD_TIME}\";GIT_COMMIT=\"${GIT_COMMIT}\"") - -add_executable( ert ${src_list} ) -target_link_libraries( ert enkf sched rms ecl config plot job_queue analysis ert_util ) -if (USE_RUNPATH) - add_runpath( ert ) -endif() - -if (ERT_INSTALL_PREFIX) - set (destination ${CMAKE_INSTALL_PREFIX}/${ERT_INSTALL_PREFIX}/bin) -else() - set (destination ${CMAKE_INSTALL_PREFIX}/bin) -endif() - - -if (INSTALL_ERT) - install(TARGETS ert DESTINATION ${destination}) - if (INSTALL_GROUP) - install(CODE "EXECUTE_PROCESS(COMMAND chgrp ${INSTALL_GROUP} ${destination}/ert)") - install(CODE "EXECUTE_PROCESS(COMMAND chmod g+w ${destination}/ert)") - endif() -endif() diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/SConstruct b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/SConstruct deleted file mode 100644 index dd21fc1948..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/SConstruct +++ /dev/null @@ -1,65 +0,0 @@ -import os -import os.path -import sys -sys.path += ["../../../scons-config"] -import global_config -from global_config import LIBUTIL -from global_config import LIBECL -from global_config import LIBPLOT -from global_config import LIBCONFIG -from global_config import LIBJOB_QUEUE -from global_config import LIBENKF -from global_config import LIBRMS -from global_config import LIBSCHED -from global_config import LIBANALYSIS -from global_config import LIBGEOMETRY - -from global_config import add_program - -lib_path = "../lib" -include_path = "../include" -bin_path = "../bin" - -conf = global_config.get_conf(os.getcwd() , 3) -env = Environment() - -lib_list = ["lapack" , "blas" , "plplotd" , "m" , "z" , "pthread" , "dl"] - -if conf.INCLUDE_LSF: - lib_list.append( ["bat" , "lsf" , "nsl"] ) - -if conf.g2c: - lib_list.append( "g2c" ) - -fileH = open("site_config_file.h" , "w") -fileH.write( "#define SITE_CONFIG_FILE \"%s\"\n" % conf.SITE_CONFIG_FILE) -fileH.close() - -conf.update_env( env , [ LIBENKF , LIBRMS , LIBANALYSIS , LIBJOB_QUEUE , LIBSCHED , LIBECL , LIBGEOMETRY , LIBPLOT , LIBCONFIG , LIBUTIL ] , lib_list , link = True) -env.Append( CPPPATH = conf.PLPLOT_INCLUDE_PATH ) -env.Append( LIBPATH = conf.PLPLOT_LIB_PATH ) -if conf.INCLUDE_LSF: - env.Append( LIBPATH = conf.LSF_LIB_PATH ) - - -tui_objects = env.Object( ["enkf_tui_main.c" , "enkf_tui_fs.c" , - "enkf_tui_ranking.c" , "enkf_tui_misc.c" , - "enkf_tui_table.c" , "enkf_tui_plot.c" , - "enkf_tui_plot_rft.c", - "enkf_tui_plot_util.c" , "enkf_tui_run.c", - "enkf_tui_util.c" , "enkf_tui_init.c" , - "enkf_tui_export.c" , "enkf_tui_analysis.c" , - "enkf_tui_QC.c" , "enkf_tui_help.c"]) - -define_fmt = "\'%s=\"%s\"\'" -main_object = env.Object("main.c" , CPPDEFINES = "DEVEL_VERSION") - - -local_config = env.Program( "local_config" , ["local_config.c"]) -upgrade_fs104 = env.Program( "upgrade_fs104" , ["upgrade_fs104.c"]) -ert = env.Program( "ert" , [main_object, tui_objects]) -ert_svn = env.Program( "ert_%s" % conf.SVN_VERSION , [main_object, tui_objects]) - -env.Install( bin_path , [ert , local_config , upgrade_fs104]) - -Default( bin_path ) diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_QC.c b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_QC.c deleted file mode 100644 index 0455e5cb4b..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_QC.c +++ /dev/null @@ -1,240 +0,0 @@ -/* - Copyright (C) 2012 Statoil ASA, Norway. - - The file 'enkf_tui_QC.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - - - -void enkf_tui_QC_plot_PC_list( void * arg ) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - stringlist_type * all_obs_keys = enkf_obs_alloc_keylist( enkf_main_get_obs( enkf_main )); - stringlist_type * obs_keys = stringlist_alloc_new(); - - { - char * keys_input; - util_printf_prompt("Observation keys (wildcards allowed) - [default: all]", PROMPT_LEN, '=', "=> "); - keys_input = util_alloc_stdin_line(); - if (keys_input) - { - stringlist_type * pattern_list = stringlist_alloc_from_split(keys_input, " ,"); - for (int i = 0; i < stringlist_get_size(pattern_list); i++) - { - const char * pattern = stringlist_iget(pattern_list, i); - stringlist_append_matching_elements(obs_keys, all_obs_keys, pattern); - } - free(keys_input); - } - } - - if (stringlist_get_size(obs_keys) > 0) - { - const int last_report = enkf_main_get_history_length(enkf_main); - vector_type * PC_list = vector_alloc_new(); - const int ncomp = 1; - - for (int iobs = 0; iobs < stringlist_get_size(obs_keys); iobs++) - { - local_obsdata_node_type * obsnode = local_obsdata_node_alloc(stringlist_iget(obs_keys, iobs)); - local_obsdata_type * obsdata = local_obsdata_alloc_wrapper(obsnode); - local_obsdata_node_add_range(obsnode, 0, last_report); - { - pca_plot_data_type * plot_data = enkf_main_alloc_pca_plot_data(enkf_main, obsdata, ncomp); - vector_append_owned_ref(PC_list, plot_data, pca_plot_data_free__); - } - local_obsdata_free(obsdata); - } - enkf_tui_plot_PC_list(enkf_main , PC_list); - vector_free(PC_list); - } else - printf("Sorry: no observation keys mathced the pattern(s).\n"); - - stringlist_free( obs_keys ); - stringlist_free( all_obs_keys ); -} - - - -void enkf_tui_QC_plot_PC( void * arg ) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const int last_report = enkf_main_get_history_length( enkf_main ); - int step1,step2; - double truncation_or_ncomp; - local_obsdata_type * obsdata = local_obsdata_alloc("PCA Observations"); - char * keys_input; - - - enkf_tui_util_scanf_report_steps(last_report , PROMPT_LEN , &step1 , &step2); - util_printf_prompt("Observation keys (wildcards allowed) - [default: all]" , PROMPT_LEN , '=' , "=> "); - keys_input = util_alloc_stdin_line(); - - util_printf_prompt("Truncation: [0,1): Explained variance [1,ens_size): fixed" , PROMPT_LEN , '=' , "=> "); - - { - char * input = util_alloc_stdin_line(); - - if (input == NULL) - return; - else { - if (!util_sscanf_double( input , &truncation_or_ncomp)) { - fprintf(stderr , "Failed to parse:%s as number \n",input); - free( input ); - return; - } - } - - free( input ); - } - - { - stringlist_type * all_keys = enkf_obs_alloc_keylist( enkf_main_get_obs( enkf_main )); - stringlist_type * obs_keys = stringlist_alloc_new(); - - if (keys_input) { - stringlist_type * input_keys = stringlist_alloc_from_split( keys_input , " "); - int i; - for (i=0; i < stringlist_get_size( input_keys ); i++) - stringlist_append_matching_elements( obs_keys , all_keys , stringlist_iget( input_keys , i )); - stringlist_free( input_keys ); - } else - stringlist_deep_copy( obs_keys , all_keys ); - - - - - { - int iobs; - - for (iobs = 0; iobs < stringlist_get_size( obs_keys); iobs++) { - const char * obs_key = stringlist_iget( obs_keys , iobs ); - if (!local_obsdata_has_node( obsdata , obs_key )) { - local_obsdata_node_type * obs_node = local_obsdata_node_alloc( obs_key ); - - local_obsdata_node_add_range( obs_node , step1 , step2 ); - local_obsdata_add_node( obsdata , obs_node ); - } - } - - stringlist_free( all_keys ); - stringlist_free( obs_keys ); - } - } - - if (local_obsdata_get_size( obsdata )) { - matrix_type * PC = matrix_alloc(1,1); - matrix_type * PC_obs = matrix_alloc(1,1); - analysis_config_type * analysis_config = enkf_main_get_analysis_config( enkf_main ); - char * plot_name = util_alloc_sprintf(analysis_config_get_PC_filename( analysis_config ) , - step1 , step2 , "obs"); - - pca_plot_data_type * plot_data = enkf_main_alloc_pca_plot_data( enkf_main , obsdata , truncation_or_ncomp); - - enkf_tui_plot_PC( enkf_main , plot_name , plot_data ); - - free( plot_name ); - matrix_free( PC ); - matrix_free( PC_obs ); - pca_plot_data_free( plot_data ); - } - local_obsdata_free( obsdata ); -} - - -void enkf_tui_QC_run_workflow( void * arg ) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const qc_module_type * qc_module = enkf_main_get_qc_module( enkf_main ); - - qc_module_run_workflow( qc_module , enkf_main ); -} - - - -void enkf_tui_QC_menu(void * arg) { - - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - { - const char * plot_path = plot_config_get_path( plot_config ); - util_make_path( plot_path ); - } - - { - menu_type * menu = menu_alloc("Quality check of prior" , "Back" , "bB"); - menu_item_type * plot_PC_item = menu_add_item( menu , "Plot of prior principal components" , "pP" , - enkf_tui_QC_plot_PC , enkf_main , NULL); - - menu_item_type * plot_PC_list_item = menu_add_item( menu , "Plot first principal component for all observations" , "aA" , - enkf_tui_QC_plot_PC_list, enkf_main , NULL); - - menu_item_type * run_QC_workflow_item = menu_add_item( menu , "Run QC workflow" , "rR" , enkf_tui_QC_run_workflow , enkf_main , NULL); - - if (!enkf_main_have_obs( enkf_main )) { - menu_item_disable( plot_PC_item ); - menu_item_disable( plot_PC_list_item ); - } - - if (!enkf_main_has_QC_workflow( enkf_main )) - menu_item_disable( run_QC_workflow_item ); - - menu_run(menu); - menu_free(menu); - } -} - diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_analysis.c b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_analysis.c deleted file mode 100644 index 6a75b3c5dc..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_analysis.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'enkf_tui_analysis.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include -#include -#include - - -void enkf_tui_analysis_analyze_selected__(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - { - int_vector_type * step_list = int_vector_alloc(0,0); - { - char * filename = util_fscanf_alloc_filename("File with selected report steps" , PROMPT_LEN , 1); - FILE * stream = util_fopen( filename , "r"); - - while (true) { - int step; - if (fscanf(stream , "%d" , &step) == 1) - int_vector_append( step_list , step ); - else - break; - } - - fclose( stream ); - free( filename ); - - } - enkf_main_assimilation_update(enkf_main , step_list); - int_vector_free( step_list ); - } -} - -void enkf_tui_analysis_scale_observation_std__(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast(arg); - - double scale_factor = enkf_tui_util_scanf_double_with_lower_limit("Global scaling factor", PROMPT_LEN, 0); - - if (enkf_main_have_obs(enkf_main)) { - enkf_obs_type * observations = enkf_main_get_obs(enkf_main); - enkf_obs_scale_std(observations, scale_factor); - } -} - - - -/** - Observe that this function will update manually at the report step - given by the user. The function will ignore - ENKF_SCHED_FILE setting and also the - ENKF_MERGE_OBSERVATIONS -*/ - -void enkf_tui_analysis_analyze__(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - int report_step; - bool valid = false; - { - char * report_step_as_char = enkf_tui_util_scanf_report_step_as_char(enkf_main_get_history_length(enkf_main) , "Which report step to analyze" , PROMPT_LEN); - if(strlen(report_step_as_char) !=0){ - valid = util_sscanf_int(report_step_as_char , &report_step); - } - if(valid){ - int_vector_type * step_list = int_vector_alloc(0,0); - int_vector_append( step_list , report_step ); - enkf_main_assimilation_update(enkf_main , step_list ); - int_vector_free( step_list ); - } - free(report_step_as_char); - } -} - - -void enkf_tui_analysis_smooth__(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - { - bool default_used; - bool valid = false; - int last_report = enkf_main_get_history_length( enkf_main ); - int step1,step2; - char * step1_as_char = enkf_tui_util_scanf_report_step_as_char(last_report , "First report step" , PROMPT_LEN); - if(strlen(step1_as_char) !=0){ - valid = util_sscanf_int(step1_as_char , &step1); - } - if(valid){ - valid = false; - char * step2_as_char = enkf_tui_util_scanf_report_step_as_char(last_report , "Last report step" , PROMPT_LEN); - if(strlen(step2_as_char) !=0){ - valid = util_sscanf_int(step2_as_char , &step2); - if(step2 step2) - break; - } - if (int_vector_get_last( step_list ) != step2) - int_vector_append( step_list , step2 ); - } - enkf_main_assimilation_update(enkf_main , step_list); - - int_vector_free( step_list ); - } - free(step2_as_char); - } - free(step1_as_char); - } -} - - -static void enkf_tui_analysis_update_title( enkf_main_type * enkf_main , menu_type * menu ) { - analysis_config_type * analysis_config = enkf_main_get_analysis_config( enkf_main ); - analysis_module_type * analysis_module = analysis_config_get_active_module( analysis_config ); - char * title = util_alloc_sprintf("Analysis menu [Current module:%s]" , analysis_module_get_name( analysis_module )); - menu_set_title( menu , title ); - free( title ); -} - - -void enkf_tui_analysis_select_module__(void * arg) { - int prompt_len = 50; - arg_pack_type * arg_pack = arg_pack_safe_cast( arg ); - enkf_main_type * enkf_main = arg_pack_iget_ptr( arg_pack , 0 ); - menu_type * menu = arg_pack_iget_ptr( arg_pack , 1 ); - - { - analysis_config_type * analysis_config = enkf_main_get_analysis_config( enkf_main ); - char module_name[256]; - util_printf_prompt("Name module to select" , prompt_len , '=' , "=> "); - scanf("%s", module_name); - if (analysis_config_select_module( analysis_config , module_name )) - enkf_tui_analysis_update_title( enkf_main , menu ); - } -} - - -void enkf_tui_analysis_list_modules__(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - analysis_config_type * analysis_config = enkf_main_get_analysis_config( enkf_main ); - - printf("Available modules: "); - { - stringlist_type * modules = analysis_config_alloc_module_names( analysis_config ); - stringlist_fprintf( modules , " " , stdout ); - printf("\n"); - stringlist_free( modules ); - } -} - - -void enkf_tui_analysis_reload_module__(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - analysis_config_type * analysis_config = enkf_main_get_analysis_config( enkf_main ); - analysis_config_reload_module( analysis_config , NULL ); -} - - -void enkf_tui_analysis_update_module__(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - int prompt_len = 50; - { - analysis_config_type * analysis_config = enkf_main_get_analysis_config( enkf_main ); - analysis_module_type * analysis_module = analysis_config_get_active_module( analysis_config ); - char var_name[256]; - char value[256]; - - util_printf_prompt("Variable to modify" , prompt_len , '=' , "=> "); - scanf("%s", var_name); - { - char * value_prompt = util_alloc_sprintf("New value for %s" , var_name); - util_printf_prompt(value_prompt , prompt_len , '=' , "=> "); - free( value_prompt ); - } - scanf("%s", value); - - if (analysis_module_set_var( analysis_module , var_name , value)) - printf("\'%s\' successfully set to \'%s\' \n",var_name , value); - else - printf("** Variable/type combination: %s/%s not recognized \n", var_name , value); - - } -} - - - - -void enkf_tui_analysis_menu(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - menu_type * menu = menu_alloc( "Analysis menu" , "Back" , "bB"); - - arg_pack_type * arg_pack = arg_pack_alloc(); - arg_pack_append_ptr( arg_pack , enkf_main ); - arg_pack_append_ptr( arg_pack , menu ); - - { - enkf_tui_analysis_update_title(enkf_main, menu); - menu_add_item(menu, "Analyze one step manually", "aA", enkf_tui_analysis_analyze__, enkf_main, NULL); - menu_add_item(menu, "Analyze interval manually", "iI", enkf_tui_analysis_smooth__, enkf_main, NULL); - menu_add_item(menu, "Analyze selected steps manually", "nN", enkf_tui_analysis_analyze_selected__, enkf_main, NULL); - menu_add_separator(menu); - { - menu_item_type * item = menu_add_item(menu, "Global scaling of uncertainty", "gG", enkf_tui_analysis_scale_observation_std__, enkf_main, NULL); - if (!enkf_main_have_obs(enkf_main)) { - menu_item_disable(item); - } - } - menu_add_separator(menu); - menu_add_item(menu, "Select analysis module", "sS", enkf_tui_analysis_select_module__, arg_pack, NULL); - menu_add_item(menu, "List available modules", "lL", enkf_tui_analysis_list_modules__, enkf_main, NULL); - menu_add_item(menu, "Modify analysis module parameters", "mM", enkf_tui_analysis_update_module__, enkf_main, NULL); - menu_add_item(menu, "Reload current module (external only)", "rR", enkf_tui_analysis_reload_module__, enkf_main, NULL); - } - menu_run(menu); - menu_free(menu); - arg_pack_free(arg_pack); -} diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_help.c b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_help.c deleted file mode 100644 index 57280d4d58..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_help.c +++ /dev/null @@ -1,330 +0,0 @@ -/* - Copyright (C) 2012 Statoil ASA, Norway. - - The file 'enkf_tui_QC.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -void enkf_tui_help_manual_main( void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const site_config_type * site_config = enkf_main_get_site_config ( enkf_main ); - const char * manual_url = site_config_get_manual_url( site_config ); - const char * browser = getenv("BROWSER"); - - if (browser == NULL) - browser = site_config_get_default_browser( site_config ); - - { - char * cmd = util_alloc_sprintf("%s %s &" , browser , manual_url); - system(cmd); - free( cmd ); - } -} - -void enkf_tui_help_menu_main(void * arg) { - - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - { - const char * plot_path = plot_config_get_path( plot_config ); - util_make_path( plot_path ); - } - - { - menu_type * menu = menu_alloc("Help: Main menu" , "Back" , "bB"); - menu_add_helptext(menu , "Choose the different options from the main menu to read more about the different options."); - menu_add_item(menu , "Open manual (firefox)" , "mM" , enkf_tui_help_manual_main , enkf_main , NULL); - menu_run(menu); - menu_free(menu); - } -} - -void enkf_tui_help_manual_cases( void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const site_config_type * site_config = enkf_main_get_site_config ( enkf_main ); - const char * manual_url = site_config_get_manual_url( site_config ); - const char * browser = getenv("BROWSER"); - - if (browser == NULL) - browser = site_config_get_default_browser( site_config ); - - { - char * cmd = util_alloc_sprintf("%s %s%s &" , browser , manual_url , "#Manage_cases"); - system(cmd); - free( cmd ); - } -} - -void enkf_tui_help_menu_cases(void * arg) { - - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - { - const char * plot_path = plot_config_get_path( plot_config ); - util_make_path( plot_path ); - } - - { - menu_type * menu = menu_alloc("Help: Manage cases" , "Back" , "bB"); - menu_add_helptext(menu , "Use this menu to navgate between cases and to initialize cases. A case has to be initialized before it can be used."); - menu_add_item(menu , "Open manual (firefox)" , "mM" , enkf_tui_help_manual_cases , enkf_main , NULL); - menu_run(menu); - menu_free(menu); - } -} - -void enkf_tui_help_manual_run( void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const site_config_type * site_config = enkf_main_get_site_config ( enkf_main ); - const char * manual_url = site_config_get_manual_url( site_config ); - const char * browser = getenv("BROWSER"); - - if (browser == NULL) - browser = site_config_get_default_browser( site_config ); - - { - char * cmd = util_alloc_sprintf("%s %s%s &" , browser , manual_url , "#Run_or_restart_experiment"); - system(cmd); - free( cmd ); - } -} - -void enkf_tui_help_menu_run(void * arg) { - - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - { - const char * plot_path = plot_config_get_path( plot_config ); - util_make_path( plot_path ); - } - - { - menu_type * menu = menu_alloc("Help: Run menu" , "Back" , "bB"); - menu_add_helptext(menu , "This menu is used to do the main work in ERT. The first option, x: Ensemble run: history, will just run the case without any data conditioning. Options r and s will initiate classical enkf runs. The two options i and t invokes the ensemble kalman smoother."); - menu_add_item(menu , "Open manual (firefox)" , "mM" , enkf_tui_help_manual_run , enkf_main , NULL); - menu_run(menu); - menu_free(menu); - } -} - -void enkf_tui_help_manual_plot( void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const site_config_type * site_config = enkf_main_get_site_config ( enkf_main ); - const char * manual_url = site_config_get_manual_url( site_config ); - const char * browser = getenv("BROWSER"); - - if (browser == NULL) - browser = site_config_get_default_browser( site_config ); - - { - char * cmd = util_alloc_sprintf("%s %s%s &" , browser , manual_url , "#Plot_Results"); - system(cmd); - free( cmd ); - } -} - -void enkf_tui_help_menu_plot(void * arg) { - - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - { - const char * plot_path = plot_config_get_path( plot_config ); - util_make_path( plot_path ); - } - - { - menu_type * menu = menu_alloc("Help: Plot results" , "Back" , "bB"); - menu_add_helptext(menu , "Use this option to plot results after the case has been run."); - menu_add_item(menu , "Open manual (firefox)" , "mM" , enkf_tui_help_manual_plot , enkf_main , NULL); - menu_run(menu); - menu_free(menu); - } -} - -void enkf_tui_help_manual_rank( void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const site_config_type * site_config = enkf_main_get_site_config ( enkf_main ); - const char * manual_url = site_config_get_manual_url( site_config ); - const char * browser = getenv("BROWSER"); - - if (browser == NULL) - browser = site_config_get_default_browser( site_config ); - - { - char * cmd = util_alloc_sprintf("%s %s%s &" , browser , manual_url , "#Rank_Results"); - system(cmd); - free( cmd ); - } -} - -void enkf_tui_help_menu_rank(void * arg) { - - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - { - const char * plot_path = plot_config_get_path( plot_config ); - util_make_path( plot_path ); - } - - { - menu_type * menu = menu_alloc("Help: Rank results" , "Back" , "bB"); - menu_add_helptext(menu , "Use this option to rank results after the case has been run."); - menu_add_item(menu , "Open manual (firefox)" , "mM" , enkf_tui_help_manual_rank , enkf_main , NULL); - menu_run(menu); - menu_free(menu); - } -} - -void enkf_tui_help_manual_export( void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const site_config_type * site_config = enkf_main_get_site_config ( enkf_main ); - const char * manual_url = site_config_get_manual_url( site_config ); - const char * browser = getenv("BROWSER"); - - if (browser == NULL) - browser = site_config_get_default_browser( site_config ); - - { - char * cmd = util_alloc_sprintf("%s %s%s &" , browser , manual_url , "#Export_data_to_other_formats"); - system(cmd); - free( cmd ); - } -} - -void enkf_tui_help_menu_export(void * arg) { - - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - { - const char * plot_path = plot_config_get_path( plot_config ); - util_make_path( plot_path ); - } - - { - menu_type * menu = menu_alloc("Help: Export results" , "Back" , "bB"); - menu_add_helptext(menu , "Use this option to export results after the case has been run."); - menu_add_item(menu , "Open manual (firefox)" , "mM" , enkf_tui_help_manual_export , enkf_main , NULL); - menu_run(menu); - menu_free(menu); - } -} - -void enkf_tui_help_manual_table( void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const site_config_type * site_config = enkf_main_get_site_config ( enkf_main ); - const char * manual_url = site_config_get_manual_url( site_config ); - const char * browser = getenv("BROWSER"); - - if (browser == NULL) - browser = site_config_get_default_browser( site_config ); - - { - char * cmd = util_alloc_sprintf("%s %s%s &" , browser , manual_url , "#Table_of_results"); - system(cmd); - free( cmd ); - } -} - -void enkf_tui_help_menu_table(void * arg) { - - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - { - const char * plot_path = plot_config_get_path( plot_config ); - util_make_path( plot_path ); - } - - { - menu_type * menu = menu_alloc("Help: Table of results" , "Back" , "bB"); - menu_add_helptext(menu , "This option can generate a table of results after the case has been run."); - menu_add_item(menu , "Open manual (firefox)" , "mM" , enkf_tui_help_manual_table , enkf_main , NULL); - menu_run(menu); - menu_free(menu); - } -} - -void enkf_tui_help_manual_misc( void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const site_config_type * site_config = enkf_main_get_site_config ( enkf_main ); - const char * manual_url = site_config_get_manual_url( site_config ); - const char * browser = getenv("BROWSER"); - - if (browser == NULL) - browser = site_config_get_default_browser( site_config ); - - { - char * cmd = util_alloc_sprintf("%s %s%s &" , browser , manual_url , "#Miscellaneous"); - system(cmd); - free( cmd ); - } -} - -void enkf_tui_help_menu_misc(void * arg) { - - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - { - const char * plot_path = plot_config_get_path( plot_config ); - util_make_path( plot_path ); - } - - { - menu_type * menu = menu_alloc("Help: Miscellanous" , "Back" , "bB"); - menu_add_helptext(menu , "This option contains miscellaneous options."); - menu_add_item(menu , "Open manual (firefox)" , "mM" , enkf_tui_help_manual_misc , enkf_main , NULL); - menu_run(menu); - menu_free(menu); - } -} - -void enkf_tui_help_menu_simple(void * arg) { - - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - { - const char * plot_path = plot_config_get_path( plot_config ); - util_make_path( plot_path ); - } - - { - menu_type * menu = menu_alloc("Help: Simple menu" , "Back" , "bB"); - menu_add_helptext(menu , "The top four options in the simple menu will run eclipse simulations. Option s: Sensitivity run: No data conditioning, will initialize all parameters and run one eclipse simulation for each set of different parameters. e: Assimilation run: EnKF updates, will initialize all parameters and run one eclipse simulation for each set of different parameters. The eclipse simulations will run until the first data time step is encountered and condition on data before continuing. a: Assimilation run: Smoother update, will do one pass of the sensitivity run, then condition the parameters to all the data and rerun all experiments. i: Assimilation run: Iterated smoother [RML-EnKF] will iterate the smoother run several times."); - menu_add_item(menu , "Open manual (firefox)" , "mM" , enkf_tui_help_manual_main , enkf_main , NULL); - menu_run(menu); - menu_free(menu); - } -} - diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot.c b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot.c deleted file mode 100644 index 78610ba3c7..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot.c +++ /dev/null @@ -1,1340 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'enkf_tui_plot.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -/** - The final plot path consists of three parts: - - plot_path: This is the PLOT_PATH option given in main configuration file. - - case_name: This the name of the currently active case. - - base_name: The filename of the current plot. -*/ - -#define NUM_REFCASE_POINTS 75 - - -static void __plot_add_data(plot_type * plot , const char * label , int N , const double * x , const double *y) { - plot_dataset_type *d = plot_alloc_new_dataset( plot , label , PLOT_XY ); - plot_dataset_set_line_color(d , BLUE); - plot_dataset_append_vector_xy(d, N , x, y); -} - - - - - - - -void enkf_tui_plot_PC_list( enkf_main_type * enkf_main , const vector_type * PC_list ) { - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - char * plot_file = enkf_tui_plot_alloc_plot_file( plot_config , enkf_main_get_current_fs( enkf_main ), "PC_list" ); - plot_type * plot = enkf_tui_plot_alloc(plot_config , - "Standardized PC value " , - "Observation #", - "Principle components" , - plot_file); - - int num_obs = vector_get_size( PC_list ); - int iobs; - for (iobs = 0; iobs < num_obs; iobs++) { - const pca_plot_data_type * pca_data = vector_iget_const( PC_list , iobs ); - const pca_plot_vector_type * pca_vector = pca_plot_data_iget_vector( pca_data , 0 ); - int ens_size = pca_plot_vector_get_size( pca_vector ); - { - char * data_label = util_alloc_sprintf("%s - simulated" , pca_plot_data_get_name( pca_data )); - plot_dataset_type * sim_data = plot_alloc_new_dataset( plot , data_label , PLOT_XY ); - plot_dataset_set_style( sim_data , POINTS ); - plot_dataset_set_point_color( sim_data , BLUE); - for (int iens = 0; iens < ens_size; iens++) - plot_dataset_append_point_xy( sim_data , - pca_plot_vector_iget_sim_value( pca_vector , iens ), - iobs ); - free( data_label ); - } - { - char * obs_label = util_alloc_sprintf("%s - obs" , pca_plot_data_get_name( pca_data )); - plot_dataset_type * obs_data = plot_alloc_new_dataset( plot , obs_label , PLOT_XY ); - plot_dataset_set_style( obs_data , POINTS ); - plot_dataset_set_point_color( obs_data , RED); - plot_dataset_append_point_xy( obs_data , pca_plot_vector_get_obs_value( pca_vector ) , iobs ); - free( obs_label ); - } - // POsition of text is not considered when the autorange is applied; i.e. with - // fixed coordinates it might fall outside the clipping region ... - plot_add_text( plot , -0.75 , iobs , 0.35 , pca_plot_data_get_name( pca_data )); - } - enkf_tui_show_plot( plot , plot_config , plot_file ); /* Frees the plot - logical ehhh. */ - free( plot_file ); -} - - - -void enkf_tui_plot_PC( enkf_main_type * enkf_main , const char * plot_name , const pca_plot_data_type * plot_data) { - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - char * plot_file = enkf_tui_plot_alloc_plot_file( plot_config , enkf_main_get_current_fs( enkf_main ), plot_name ); - plot_type * plot = enkf_tui_plot_alloc(plot_config , "PC number", /* y akse */ "Standardized PC value " , "Principle components" , plot_file); - - - { - const int num_PC = pca_plot_data_get_size( plot_data ); - const int ens_size = pca_plot_data_get_ens_size( plot_data ); - int ipc, iens; - - { - plot_dataset_type * sim_data = plot_alloc_new_dataset( plot , "simulated" , PLOT_XY ); - plot_dataset_set_style( sim_data , POINTS ); - plot_dataset_set_point_color( sim_data , BLUE); - for (ipc = 0; ipc < num_PC; ipc++) { - const pca_plot_vector_type * pca_vector = pca_plot_data_iget_vector( plot_data , ipc ); - for (iens =0; iens < ens_size; iens++) - plot_dataset_append_point_xy( sim_data , - (ipc + 1) , - pca_plot_vector_iget_sim_value( pca_vector , iens )); - } - } - - { - plot_dataset_type * obs_data = plot_alloc_new_dataset( plot , "observation" , PLOT_XY ); - plot_dataset_set_style( obs_data , POINTS ); - plot_dataset_set_point_color( obs_data , RED); - for (ipc = 0; ipc < num_PC; ipc++) { - const pca_plot_vector_type * pca_vector = pca_plot_data_iget_vector( plot_data , ipc ); - plot_dataset_append_point_xy( obs_data , (ipc + 1) , pca_plot_vector_get_obs_value( pca_vector )); - } - } - } - enkf_tui_show_plot( plot , plot_config , plot_file ); /* Frees the plot - logical ehhh. */ - free( plot_file ); -} - - - - - -void enkf_tui_plot_ensemble__(enkf_main_type * enkf_main , - const enkf_config_node_type * config_node , - const char * user_key , - const char * key_index , - int step1 , int step2 , - bool prediction_mode , - int iens1 , int iens2 , - state_enum plot_state) { - - enkf_fs_type * fs = enkf_main_get_fs(enkf_main); - enkf_obs_type * enkf_obs = enkf_main_get_obs( enkf_main ); - const plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - - bool plot_dates = true; - const int errorbar_max_obsnr = plot_config_get_errorbar_max( plot_config ); - const bool plot_errorbars = plot_config_get_plot_errorbar( plot_config ); - const bool add_observations = true; - const bool logy = plot_config_get_logy( plot_config ); - const bool plot_refcase = plot_config_get_plot_refcase( plot_config ); - bool show_plot = false; - char * plot_file = enkf_tui_plot_alloc_plot_file( plot_config , enkf_main_get_current_fs( enkf_main ), user_key ); - time_map_type * time_map = enkf_fs_get_time_map( fs ); - plot_type * plot ; - enkf_node_type * node; - msg_type * msg; - bool_vector_type * has_data = bool_vector_alloc( 0 , false ); - int iens , step; - - /* - { - enkf_plot_data_type * plot_data = enkf_main_alloc_plot_data( enkf_main ); - bool_vector_type * active = bool_vector_alloc( 0 , false ); - - for (iens = iens1; iens <= iens2; iens++) - bool_vector_iset( active , iens , true ); - - enkf_plot_data_load( plot_data , config_node , fs , user_key , FORECAST , active , false , step1 , step2 ); - bool_vector_free( active ); - enkf_plot_data_free( plot_data ); - } - */ - - - if (plot_dates) - plot = enkf_tui_plot_alloc(plot_config , "" , /* y akse */ "" ,user_key,plot_file); - else - plot = enkf_tui_plot_alloc(plot_config , "Simulation time (days) ", /* y akse */ "" ,user_key , plot_file); - - /* Initial data on summary plots is just bogus. - */ - if ((enkf_config_node_get_impl_type( config_node ) == SUMMARY) && (step1 == 0)) - step1 = 1; - - node = enkf_node_alloc( config_node ); - { - char * prompt = util_alloc_sprintf("Loading %s member: " , enkf_config_node_get_key(config_node)); - msg = msg_alloc(prompt, false); - free(prompt); - } - msg_show(msg); - - double_vector_type * x = double_vector_alloc(0,0); - { - - double_vector_type * y = double_vector_alloc(0,0); - for (iens = iens1; iens <= iens2; iens++) { - char msg_label[32]; - char plot_label[32]; - double_vector_reset( x ); - double_vector_reset( y ); - sprintf(msg_label , "%03d" , iens ); - msg_update( msg , msg_label); - - if (prediction_mode) - step2 = time_map_get_last_step( time_map ); - - for (step = step1; step <= step2; step++) { - - double sim_days = time_map_iget_sim_days( time_map , step ); - time_t sim_time = time_map_iget( time_map , step ); - - /* Forecast block */ - if (plot_state & FORECAST) { - double value; - node_id_type node_id = {.report_step = step , - .iens = iens , - .state = FORECAST }; - - if (enkf_node_user_get( node , fs , key_index , node_id , &value)) { - if (!(logy && (value <= 0))) { - double_vector_append(y , value); - bool_vector_iset(has_data , step , true); - if (plot_dates) - double_vector_append(x , sim_time ); - else - double_vector_append(x , sim_days ); - } - } - } - - - /* Analyzed block */ - if (plot_state & ANALYZED) { - double value; - - node_id_type node_id = {.report_step = step , - .iens = iens , - .state = ANALYZED }; - - if (enkf_node_user_get( node , fs , key_index , node_id , &value)) { - if (!(logy && (value <= 0))) { - double_vector_append(y , value); - bool_vector_iset(has_data , step , true); - if (plot_dates) - double_vector_append(x , sim_time ); - else - double_vector_append(x , sim_days ); - } - } - } - } - - if (double_vector_size( x ) > 0) { - show_plot = true; - - /* This is called once for every realization - that is kind of wasted. */ - if (plot_dates) { - time_t min_time = ( time_t ) double_vector_get_min( x ); - time_t max_time = ( time_t ) double_vector_get_max( x ); - - plot_set_default_timefmt( plot , min_time , max_time ); - } - - sprintf(plot_label , "mem_%03d" , iens); - __plot_add_data(plot , plot_label , double_vector_size( x ) , double_vector_get_ptr( x ) , double_vector_get_ptr( y )); - } - } - double_vector_free( y ); - } - - - /* - Observe that all the observations are 'flattened'. - */ - if (add_observations) { - ert_impl_type impl_type = enkf_config_node_get_impl_type(config_node); - if ((impl_type == SUMMARY) || (impl_type == FIELD) || (impl_type == GEN_DATA)) { - /* - These three double vectors are used to assemble - all observations. - */ - double_vector_type * sim_time = double_vector_alloc( 0 , 0 ); - double_vector_type * obs_value = double_vector_alloc( 0 , 0 ); - double_vector_type * obs_std = double_vector_alloc( 0 , 0 ); - - const stringlist_type * obs_keys = enkf_config_node_get_obs_keys(config_node); - int obs_size = 0; - int i; - for (i=0; i < stringlist_get_size( obs_keys ); i++) { - const char * obs_key = stringlist_iget(obs_keys , i); - const obs_vector_type * obs_vector = enkf_obs_get_vector( enkf_obs , obs_key); - double value , std; - int report_step = -1; - do { - report_step = obs_vector_get_next_active_step( obs_vector , report_step); - if (report_step != -1) { - if (bool_vector_safe_iget( has_data , report_step)) { /* Not plotting an observation if we do not have any simulations at the same time. */ - bool valid; - - /** - The user index used when calling the user_get function on the - gen_obs data type is different depending on whether is called with a - data context user_key (as here) or with a observation context - user_key (as when plotting an observation plot). See more - documentation of the function gen_obs_user_get_data_index(). - */ - - if (impl_type == GEN_DATA) - gen_obs_user_get_with_data_index( obs_vector_iget_node( obs_vector , report_step ) , key_index , &value , &std , &valid); - else - obs_vector_user_get( obs_vector , key_index , report_step , &value , &std , &valid); - - if (valid) { - if (logy && ((value - std) <= 0.0)) - valid = false; - } - - - if (valid) { - /** - Should get sim_time directly from the observation - and not inderctly thrugh the member_config object. - */ - if (plot_dates) - double_vector_append( sim_time , time_map_iget( time_map , report_step )); - else - double_vector_append( sim_time , time_map_iget_sim_days( time_map , report_step )); - - double_vector_append( obs_value , value ); - double_vector_append( obs_std , std ); - - obs_size += 1; - } - } - } - } while (report_step != -1); - } - - if (double_vector_size( sim_time ) > 0) { - if (obs_size > errorbar_max_obsnr && plot_errorbars) { - /* - There are very many observations - to increase - readability of the plots we plot an upper and lower limit - as dashed lines, instead of plotting each individual - error bar. - */ - - plot_dataset_type * data_value = plot_alloc_new_dataset( plot , "observation" , PLOT_XY ); - plot_dataset_type * data_lower = plot_alloc_new_dataset( plot , "observation_lower" , PLOT_XY ); - plot_dataset_type * data_upper = plot_alloc_new_dataset( plot , "observation_upper" , PLOT_XY ); - - plot_dataset_set_style( data_value , POINTS ); - plot_dataset_set_style( data_upper , LINE ); - plot_dataset_set_style( data_lower , LINE ); - - plot_dataset_set_line_style( data_upper , PLOT_LINESTYLE_LONG_DASH ); - plot_dataset_set_line_style( data_lower , PLOT_LINESTYLE_LONG_DASH ); - plot_dataset_set_line_color( data_upper , RED); - plot_dataset_set_line_color( data_lower , RED); - plot_dataset_set_line_width( data_upper , 1.50 ); - plot_dataset_set_line_width( data_lower , 1.50 ); - - plot_dataset_set_point_color( data_value , BLACK); - plot_dataset_set_symbol_type( data_value , PLOT_SYMBOL_FILLED_CIRCLE); - - { - int * perm = double_vector_alloc_sort_perm( sim_time ); - double_vector_permute( sim_time , perm ); - double_vector_permute( obs_value , perm ); - double_vector_permute( obs_std , perm ); - free( perm ); - } - - for (i = 0; i < double_vector_size( sim_time ); i++) { - double days = double_vector_iget( sim_time , i); - double value = double_vector_iget( obs_value , i); - double std = double_vector_iget( obs_std , i); - - plot_dataset_append_point_xy( data_value , days , value); - plot_dataset_append_point_xy( data_lower , days , value - std); - plot_dataset_append_point_xy( data_upper , days , value + std); - } - } else if (plot_errorbars){ - /* - Normal plot with errorbars. Observe that the coordinates - are (x,y1,y2) and NOT (x,y,std_y). - */ - - plot_dataset_type * obs_errorbar = plot_alloc_new_dataset( plot , "observations" , PLOT_XY1Y2 ); - plot_dataset_set_line_color( obs_errorbar , RED); - plot_dataset_set_line_width( obs_errorbar , 1.5); - for (i = 0; i < double_vector_size( sim_time ); i++) { - double days = double_vector_iget( sim_time , i); - double value = double_vector_iget( obs_value , i); - double std = double_vector_iget( obs_std , i); - plot_dataset_append_point_xy1y2( obs_errorbar , days , value - std , value + std); - } - } - else { - /* - Normal plot without errorbars. Observe that the coordinates - are (x,y1,y2) and NOT (x,y,std_y). - */ - plot_dataset_type * data_value = plot_alloc_new_dataset( plot , "observation" , PLOT_XY ); - plot_dataset_set_style( data_value , POINTS ); - plot_dataset_set_point_color( data_value , BLACK); - plot_dataset_set_symbol_type( data_value , PLOT_SYMBOL_FILLED_CIRCLE); - - { - int * perm = double_vector_alloc_sort_perm( sim_time ); - double_vector_permute( sim_time , perm ); - double_vector_permute( obs_value , perm ); - double_vector_permute( obs_std , perm ); - free( perm ); - } - - for (i = 0; i < double_vector_size( sim_time ); i++) { - double days = double_vector_iget( sim_time , i); - double value = double_vector_iget( obs_value , i); - plot_dataset_append_point_xy( data_value , days , value); - } - - } - } - double_vector_free( sim_time ); - double_vector_free( obs_std ); - double_vector_free( obs_value ); - } - } - - /*REFCASE PLOTTING*/ - - if (plot_refcase && time_map_get_size( time_map) ) { - ecl_config_type * ecl_config = enkf_main_get_ecl_config( enkf_main ); - ecl_refcase_list_type * refcase_list = ecl_config_get_refcase_list( ecl_config ); - int num_refcase = ecl_refcase_list_get_size( refcase_list ); - - for( int iref=0; iref < num_refcase; iref++) { - const ecl_sum_type * refcase = ecl_refcase_list_iget_case( refcase_list , iref ); - if ( ecl_sum_has_general_var( refcase , user_key)) { - char * refcase_label = util_alloc_sprintf("Refcase%d" , iref); - plot_dataset_type * d = plot_alloc_new_dataset( plot , refcase_label , PLOT_XY ); - int color_nr = iref % (PLOT_NUM_COLORS - 1) + 1; // Color_nr == 0 is white; we skip that. - - plot_dataset_set_style( d , LINE ); - plot_dataset_set_line_color( d , color_nr ); - plot_dataset_set_line_width(d , 2.0 ); - - for ( int i = 0; i < time_map_get_size( time_map ); i++ ){ - time_t sim_time = ( time_t ) time_map_iget( time_map , i ); - if (ecl_sum_check_sim_time( refcase , sim_time)) { - double days = ecl_sum_time2days( refcase , sim_time ); - double value = ecl_sum_get_general_var_from_sim_time( refcase , sim_time , user_key); - - if (plot_dates) - plot_dataset_append_point_xy( d , sim_time , value); - else - plot_dataset_append_point_xy( d , days , value); - } - } - - free( refcase_label ); - } - } - } - double_vector_free( x ); - - plot_set_bottom_padding( plot , 0.05); - plot_set_top_padding( plot , 0.05); - plot_set_left_padding( plot , 0.05); - plot_set_right_padding( plot , 0.05); - - enkf_node_free( node ); - msg_free( msg , true ); - if ( show_plot ) { - enkf_tui_show_plot( plot , plot_config , plot_file ); /* Frees the plot - logical ehhh. */ - } else { - printf( "No data to plot for:%s \n" , user_key); - plot_free( plot ); - } - free( plot_file ); - bool_vector_free( has_data ); -} - - - - -void enkf_tui_plot_GEN_KW__(enkf_main_type * enkf_main , const enkf_config_node_type * config_node , int step1 , int step2 , int iens1 , int iens2) { - gen_kw_config_type * gen_kw_config = enkf_config_node_get_ref( config_node ); - stringlist_type * key_list = gen_kw_config_alloc_name_list( gen_kw_config ); - - int ikw; - for (ikw = 0; ikw < stringlist_get_size( key_list ); ikw++) { - char * user_key = gen_kw_config_alloc_user_key( gen_kw_config , ikw ); - enkf_tui_plot_ensemble__( enkf_main , config_node , user_key , stringlist_iget( key_list , ikw) , step1 , step2 , false , iens1 , iens2 , ANALYZED ); - free( user_key ); - } - - stringlist_free( key_list ); -} - - - -void enkf_tui_plot_GEN_KW(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const ensemble_config_type * ensemble_config = enkf_main_get_ensemble_config(enkf_main); - const enkf_fs_type * fs = enkf_main_get_fs( enkf_main ); - time_map_type * time_map = enkf_fs_get_time_map( fs ); - { - const char * prompt = "Which GEN_KW parameter do you want to plot"; - const enkf_config_node_type * config_node = NULL; - bool exit_loop = false; - - do { - char *node_key; - util_printf_prompt(prompt , PROMPT_LEN , '=' , "=> "); - node_key = util_alloc_stdin_line(); - - if (node_key != NULL) { - if (!ensemble_config_has_key( ensemble_config , node_key )) - printf("Could not find node:%s \n",node_key); - else { - config_node = ensemble_config_get_node( ensemble_config , node_key ); - if (enkf_config_node_get_impl_type( config_node ) == GEN_KW) - exit_loop = true; - else { - printf("%s is not a GEN_KW parameter \n",node_key); - config_node = NULL; - } - } - } else - exit_loop = true; - util_safe_free( node_key ); - } while (!exit_loop); - - if (config_node != NULL) { - int iens1 , iens2 , step1 , step2; - const int last_report = time_map_get_last_step( time_map ); - - enkf_tui_util_scanf_report_steps(last_report , PROMPT_LEN , &step1 , &step2); - enkf_tui_util_scanf_iens_range("Realizations members to plot(0 - %d)" , enkf_main_get_ensemble_size( enkf_main ) , PROMPT_LEN , &iens1 , &iens2); - - enkf_tui_plot_GEN_KW__(enkf_main , config_node , step1 , step2 , iens1 , iens2); - } - } -} - - - - - - - -void enkf_tui_plot_all_GEN_KW(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const ensemble_config_type * ensemble_config = enkf_main_get_ensemble_config(enkf_main); - const enkf_fs_type * fs = enkf_main_get_fs( enkf_main ); - time_map_type * time_map = enkf_fs_get_time_map( fs ); - { - int iens1 , iens2 , step1 , step2 , ikey; - stringlist_type * gen_kw_keys = ensemble_config_alloc_keylist_from_impl_type(ensemble_config , GEN_KW); - int last_report = time_map_get_last_step( time_map ); - - enkf_tui_util_scanf_report_steps(last_report , PROMPT_LEN , &step1 , &step2); - enkf_tui_util_scanf_iens_range("Realizations members to plot(0 - %d)" , enkf_main_get_ensemble_size( enkf_main ) , PROMPT_LEN , &iens1 , &iens2); - - for (ikey = 0; ikey < stringlist_get_size( gen_kw_keys ); ikey++) { - const char * key = stringlist_iget( gen_kw_keys , ikey); - enkf_config_node_type * config_node = ensemble_config_get_node( ensemble_config , key ); - enkf_tui_plot_GEN_KW__(enkf_main , config_node , step1 , step2 , iens1 , iens2); - } - stringlist_free( gen_kw_keys ); - } -} - - - - -void enkf_tui_plot_histogram__(enkf_main_type * enkf_main , enkf_fs_type * fs , char * user_key , state_enum plot_state , int report_step){ - const ensemble_config_type * ensemble_config = enkf_main_get_ensemble_config(enkf_main); - const plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - const char * case_name = enkf_main_get_current_fs( enkf_main ); - { - const enkf_config_node_type * config_node; - const int ens_size = enkf_main_get_ensemble_size( enkf_main ); - char * key_index; - double * count = util_calloc(ens_size , sizeof * count ); - int iens; - char * plot_file = enkf_tui_plot_alloc_plot_file( plot_config , case_name , user_key ); - plot_type * plot = enkf_tui_plot_alloc(plot_config , user_key , "#" ,user_key , plot_file); - - config_node = ensemble_config_user_get_node( ensemble_config , user_key , &key_index); - if (config_node == NULL) { - fprintf(stderr,"** Sorry - could not find any nodes with the key:%s \n",user_key); - util_safe_free(key_index); - return; - } - { - int active_size = 0; - enkf_node_type * node = enkf_node_alloc( config_node ); - node_id_type node_id = {.report_step = report_step , - .iens = 0 , - .state = plot_state }; - for (iens = 0; iens < ens_size; iens++) { - node_id.iens = iens; - if (enkf_node_user_get( node , fs , key_index , node_id , &count[active_size])) - active_size++; - } - enkf_node_free( node ); - - { - plot_dataset_type * d = plot_alloc_new_dataset( plot , NULL , PLOT_HIST); - plot_dataset_append_vector_hist(d , active_size , count); - if(plot_dataset_get_size(d) > 0){ - enkf_tui_show_plot(plot , plot_config , plot_file);} - else{ - fprintf(stderr,"** There is no data to plot. Are you trying to plot analyzed data after a forward run with option x? \n");} - } - } - free(count); - util_safe_free(key_index); - } -} - - - -void enkf_tui_plot_histogram(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const ensemble_config_type * ensemble_config = enkf_main_get_ensemble_config(enkf_main); - enkf_fs_type * fs = enkf_main_get_fs( enkf_main ); - time_map_type * time_map = enkf_fs_get_time_map( fs ); - { - const char * prompt = "What do you want to plot (KEY:INDEX)"; - const enkf_config_node_type * config_node; - char * user_key; - util_printf_prompt(prompt , PROMPT_LEN , '=' , "=> "); - user_key = util_alloc_stdin_line(); - if (user_key != NULL) { - state_enum plot_state = ANALYZED; /* Compiler shut up */ - char * key_index; - const int last_report = time_map_get_last_step( time_map ); - int report_step; - config_node = ensemble_config_user_get_node( ensemble_config , user_key , &key_index); - if (config_node == NULL) { - fprintf(stderr,"** Sorry - could not find any nodes with the key:%s \n",user_key); - util_safe_free(key_index); - return; - } - report_step = util_scanf_int_with_limits("Report step: ", PROMPT_LEN , 0 , last_report); - { - enkf_var_type var_type = enkf_config_node_get_var_type(config_node); - if ((var_type == DYNAMIC_STATE) || (var_type == DYNAMIC_RESULT)) { - plot_state = enkf_tui_util_scanf_state("Plot Forecast/Analyzed: [F|A]" , PROMPT_LEN , false); - enkf_tui_plot_histogram__(enkf_main , fs , user_key , plot_state, report_step); - } - else if (var_type == PARAMETER){ - plot_state = ANALYZED; - gen_kw_config_type * gen_kw_config = enkf_config_node_get_ref( config_node ); - stringlist_type * key_list = gen_kw_config_alloc_name_list( gen_kw_config ); - int ikw; - for (ikw = 0; ikw < stringlist_get_size( key_list ); ikw++) { - char * user_key = gen_kw_config_alloc_user_key( gen_kw_config , ikw ); - enkf_tui_plot_histogram__(enkf_main , fs , user_key , plot_state, report_step); - free( user_key ); - } - stringlist_free( key_list ); - } - else - util_abort("%s: can not plot this type \n",__func__); - } - - util_safe_free(key_index); - } - util_safe_free( user_key ); - } -} - - - - - -void enkf_tui_plot_ensemble(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const ensemble_config_type * ensemble_config = enkf_main_get_ensemble_config(enkf_main); - const enkf_fs_type * fs = enkf_main_get_fs( enkf_main ); - time_map_type * time_map = enkf_fs_get_time_map( fs ); - { - const bool prediction_mode = false; - const char * prompt = "What do you want to plot (KEY:INDEX)"; - const enkf_config_node_type * config_node; - char * user_key; - - util_printf_prompt(prompt , PROMPT_LEN , '=' , "=> "); - user_key = util_alloc_stdin_line(); - if (user_key != NULL) { - state_enum plot_state = ANALYZED; /* Compiler shut up */ - char * key_index; - const int last_report = time_map_get_last_step( time_map ); - int iens1 , iens2 , step1 , step2; - - config_node = ensemble_config_user_get_node( ensemble_config , user_key , &key_index); - if (config_node == NULL) { - fprintf(stderr,"** Sorry - could not find any nodes with the key:%s \n",user_key); - util_safe_free(key_index); - return; - } - - enkf_tui_util_scanf_report_steps(last_report , PROMPT_LEN , &step1 , &step2); - enkf_tui_util_scanf_iens_range("Realizations members to plot(0 - %d)" , enkf_main_get_ensemble_size( enkf_main ) , PROMPT_LEN , &iens1 , &iens2); - - { - enkf_var_type var_type = enkf_config_node_get_var_type(config_node); - if ((var_type == DYNAMIC_STATE) || (var_type == DYNAMIC_RESULT)) - plot_state = enkf_tui_util_scanf_state("Plot Forecast/Analyzed/Both: [F|A|B]" , PROMPT_LEN , true); - else if (var_type == PARAMETER) - plot_state = ANALYZED; - else - util_abort("%s: can not plot this type \n",__func__); - } - enkf_tui_plot_ensemble__(enkf_main , - config_node , - user_key , - key_index , - step1 , - step2 , - prediction_mode , - iens1 , - iens2 , - plot_state); - util_safe_free(key_index); - } - util_safe_free( user_key ); - } -} - - - -static void * enkf_tui_plot_ensemble_mt( void * void_arg ) { - arg_pack_type * arg = arg_pack_safe_cast( void_arg ); - enkf_tui_plot_ensemble__(arg_pack_iget_ptr( arg , 0 ), - arg_pack_iget_ptr( arg , 1 ), - arg_pack_iget_const_ptr( arg , 2 ), - arg_pack_iget_ptr( arg , 3 ), - arg_pack_iget_int( arg , 4 ), - arg_pack_iget_int( arg , 5 ), - arg_pack_iget_bool( arg , 6 ), - arg_pack_iget_int( arg , 7 ), - arg_pack_iget_int( arg , 8 ), - arg_pack_iget_int( arg , 9 )); - return NULL; -} - - - -void enkf_tui_plot_all_summary__( enkf_main_type * enkf_main , int iens1 , int iens2 , int step1 , int step2 , bool prediction_mode) { - /* - This code is prepared for multithreaded creation of plots; - however the low level PLPlot library is not thread safe, we - therefor must limit the the number of threads in the thread pool - to 0 - i.e. serial excution. - */ - //thread_pool_type * tp = thread_pool_alloc( 0 , true ); - - const ensemble_config_type * ensemble_config = enkf_main_get_ensemble_config(enkf_main); - const plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - stringlist_type * summary_keys = ensemble_config_alloc_keylist_from_impl_type(ensemble_config , SUMMARY); - arg_pack_type ** arg_list = util_calloc( stringlist_get_size( summary_keys ) , sizeof * arg_list ); - { - char * plot_path = util_alloc_filename( plot_config_get_path( plot_config ) , enkf_main_get_current_fs( enkf_main ) , NULL ); - util_make_path( plot_path ); - free( plot_path ); - } - - for (int ikey = 0; ikey < stringlist_get_size( summary_keys ); ikey++) { - const char * key = stringlist_iget( summary_keys , ikey); - - arg_list[ikey] = arg_pack_alloc( ); - { - arg_pack_type * arg = arg_list[ikey]; - - arg_pack_append_ptr( arg , enkf_main ); - arg_pack_append_ptr( arg , ensemble_config_get_node( ensemble_config , key )); - arg_pack_append_const_ptr( arg , key ); - arg_pack_append_ptr( arg , NULL ); - arg_pack_append_int( arg , step1 ); - arg_pack_append_int( arg , step2 ); - arg_pack_append_bool( arg , prediction_mode ); - arg_pack_append_int( arg , iens1 ); - arg_pack_append_int( arg , iens2 ); - arg_pack_append_int( arg , BOTH ); - - enkf_tui_plot_ensemble_mt( arg ); - //thread_pool_add_job( tp , enkf_tui_plot_ensemble_mt , arg ); - } - } - //thread_pool_join( tp ); - for (int ikey = 0; ikey < stringlist_get_size( summary_keys ); ikey++) - arg_pack_free( arg_list[ikey] ); - free( arg_list ); - stringlist_free( summary_keys ); - - //thread_pool_free( tp ); -} - - - - -void enkf_tui_plot_all_summary(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - int iens1 , iens2 , step1 , step2; - bool prediction_mode; - - { - bool default_used; - step1 = enkf_tui_util_scanf_int_with_default_return_to_menu( "Starting plotting at report step [Enter: default: 0] (M: return to menu)" , PROMPT_LEN , &default_used); - - if (default_used) - step1 = 0; - - if(step1 != -2) - step2 = enkf_tui_util_scanf_int_with_default_return_to_menu( "Stop plotting at report step [Enter: default: everything] (M: return to menu)" , PROMPT_LEN , &prediction_mode); - } - - if (step1 != -2 && step2 != -2){ - enkf_tui_util_scanf_iens_range("Realizations members to plot(0 - %d) [default: all]" , enkf_main_get_ensemble_size( enkf_main ) , PROMPT_LEN , &iens1 , &iens2); - enkf_tui_plot_all_summary__( enkf_main , iens1 , iens2 , step1 , step2 , prediction_mode ); - } -} - - - - - -void enkf_tui_plot_observation(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - enkf_obs_type * enkf_obs = enkf_main_get_obs( enkf_main ); - const ensemble_config_type * ensemble_config = enkf_main_get_ensemble_config(enkf_main); - const plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - - { - const int ens_size = enkf_main_get_ensemble_size( enkf_main ); - const char * prompt = "What do you want to plot (KEY:INDEX)"; - enkf_fs_type * fs = enkf_main_get_fs(enkf_main); - time_map_type * time_map = enkf_fs_get_time_map( fs ); - const obs_vector_type * obs_vector; - char * user_key; - char * index_key; - - util_printf_prompt(prompt , PROMPT_LEN , '=' , "=> "); - user_key = util_alloc_stdin_line(); - if (user_key != NULL) { - obs_vector = enkf_obs_user_get_vector(enkf_obs , user_key , &index_key); - if (obs_vector != NULL) { - char * plot_file = enkf_tui_plot_alloc_plot_file(plot_config , enkf_main_get_current_fs( enkf_main ), user_key); - plot_type * plot = enkf_tui_plot_alloc(plot_config , "Member nr" , "Value" , user_key , plot_file); - const char * state_kw = obs_vector_get_state_kw( obs_vector ); - enkf_config_node_type * config_node = ensemble_config_get_node( ensemble_config , state_kw ); - int num_active = obs_vector_get_num_active( obs_vector ); - plot_dataset_type * obs_value = plot_alloc_new_dataset(plot , "observation" , PLOT_YLINE ); - plot_dataset_type * obs_quant_lower = plot_alloc_new_dataset(plot , "obs_minus_std" , PLOT_YLINE ); - plot_dataset_type * obs_quant_upper = plot_alloc_new_dataset(plot , "obs_plus_std" , PLOT_YLINE ); - plot_dataset_type * forecast_data = plot_alloc_new_dataset(plot , "forecast" , PLOT_XY ); - plot_dataset_type * analyzed_data = plot_alloc_new_dataset(plot , "analyzed" , PLOT_XY ); - int report_step; - - do { - if (num_active == 1) - report_step = obs_vector_get_active_report_step( obs_vector ); - else - report_step = enkf_tui_util_scanf_report_step( time_map_get_last_step( time_map ) , prompt , PROMPT_LEN); - } while (!obs_vector_iget_active(obs_vector , report_step)); - - { - enkf_node_type * enkf_node = enkf_node_alloc( config_node ); - msg_type * msg = msg_alloc("Loading realization: ",false); - double y , value , std ; - bool valid; - const int iens1 = 0; - const int iens2 = ens_size - 1; - int iens; - char cens[5]; - - obs_vector_user_get( obs_vector , index_key , report_step , &value , &std , &valid); - plot_set_bottom_padding( plot , 0.10); - plot_set_top_padding( plot , 0.10); - plot_set_left_padding( plot , 0.05); - plot_set_right_padding( plot , 0.05); - - plot_dataset_set_yline(obs_value , value); - plot_dataset_set_yline(obs_quant_lower , value - std); - plot_dataset_set_yline(obs_quant_upper , value + std); - - plot_dataset_set_line_color(obs_value , BLACK); - plot_dataset_set_line_color(obs_quant_lower , BLACK); - plot_dataset_set_line_color(obs_quant_upper , BLACK); - plot_dataset_set_line_width(obs_value , 2.0); - plot_dataset_set_line_style(obs_quant_lower , PLOT_LINESTYLE_LONG_DASH); - plot_dataset_set_line_style(obs_quant_upper , PLOT_LINESTYLE_LONG_DASH); - - - - plot_dataset_set_style( forecast_data , POINTS); - plot_dataset_set_style( analyzed_data , POINTS); - plot_dataset_set_point_color( forecast_data , BLUE ); - plot_dataset_set_point_color( analyzed_data , RED ); - - msg_show(msg); - { - double sum1 = 0; - double sum2 = 0; - int num = 0; - - for (iens = iens1; iens <= iens2; iens++) { - node_id_type node_id = {.report_step = report_step , - .iens = iens , - .state = ANALYZED }; - - sprintf(cens , "%03d" , iens); - msg_update(msg , cens); - - if (enkf_node_user_get( enkf_node , fs , index_key , node_id , &y)) - plot_dataset_append_point_xy( analyzed_data , iens , y); - - node_id.state = FORECAST; - if (enkf_node_user_get( enkf_node , fs , index_key , node_id , &y)) { - plot_dataset_append_point_xy( forecast_data , iens , y); - sum1 += y; - sum2 += y*y; - num += 1; - } - - } - } - msg_free(msg , true); - printf("\n"); - enkf_node_free(enkf_node); - } - enkf_tui_show_plot(plot , plot_config , plot_file); - free(plot_file); - } - util_safe_free( index_key ); - } - util_safe_free( user_key ); - } -} - - - - - - - - - - -void enkf_tui_plot_sensitivity(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const ensemble_config_type * ensemble_config = enkf_main_get_ensemble_config(enkf_main); - const plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - - - enkf_fs_type * fs = enkf_main_get_fs(enkf_main); - time_map_type * time_map = enkf_fs_get_time_map( fs ); - const int last_report = time_map_get_last_step( time_map ); - const int ens_size = enkf_main_get_ensemble_size( enkf_main ); - const enkf_config_node_type * config_node_x; - const enkf_config_node_type * config_node_y; - double * x = util_calloc( ens_size , sizeof * x ); - double * y = util_calloc( ens_size , sizeof * y ); - bool * valid = util_calloc( ens_size , sizeof * valid); - state_enum state_x = BOTH; - state_enum state_y = BOTH; - int report_step_x = 0; - int report_step_y; - int iens; - char * user_key_y; - char * user_key_x = NULL; - - - - /* Loading the parameter on the x-axis */ - { - char * key_index_x = NULL; - util_printf_prompt("Parameter on the x-axis (blank for iens): " , PROMPT_LEN , '=' , "=> "); - user_key_x = util_alloc_stdin_line(); - if (user_key_x == NULL) { - user_key_x = util_realloc_string_copy(user_key_x , "Ensemble member"); - config_node_x = NULL; - } else { - config_node_x = ensemble_config_user_get_node( ensemble_config , user_key_x , &key_index_x); - if (config_node_x == NULL) { - fprintf(stderr,"** Sorry - could not find any nodes with the key:%s \n",user_key_x); - util_safe_free(key_index_x); - free(x); - free(y); - free(valid); - free(user_key_x); - return; - } - } - - if (config_node_x == NULL) { - /* x-axis just contains iens. */ - for (iens = 0; iens < ens_size; iens++) { - x[iens] = iens; - valid[iens] = true; - } - } else { - enkf_node_type * node = enkf_node_alloc( config_node_x ); - for (iens = 0; iens < ens_size; iens++) { - node_id_type node_id = {.report_step = report_step_x , - .iens = iens , - .state = state_x }; - if (enkf_node_user_get( node , fs , key_index_x , node_id , &x[iens])) - valid[iens] = true; - else - valid[iens] = false; - } - enkf_node_free( node ); - } - util_safe_free(key_index_x); - } - - /* OK - all the x-data has been loaded. */ - - { - char * key_index_y; - util_printf_prompt("Result on the y-axis: " , PROMPT_LEN , '=' , "=> "); - user_key_y = util_alloc_stdin_line(); - report_step_y = util_scanf_int_with_limits("Report step: ", PROMPT_LEN , 0 , last_report); - - { - config_node_y = ensemble_config_user_get_node( ensemble_config , user_key_y , &key_index_y); - if (config_node_y == NULL) { - fprintf(stderr,"** Sorry - could not find any nodes with the key:%s \n",user_key_y); - util_safe_free(key_index_y); - free(x); - free(y); - free(valid); - free(user_key_y); - return; - } - } - { - enkf_node_type * node = enkf_node_alloc( config_node_y ); - - for (iens = 0; iens < ens_size; iens++) { - if (valid[iens]) { - node_id_type node_id = {.report_step = report_step_y , - .iens = iens , - .state = state_y }; - - if (enkf_node_user_get(node , fs , key_index_y , node_id , &y[iens])) - valid[iens] = true; - else - valid[iens] = false; - } - } - - enkf_node_free( node ); - } - util_safe_free(key_index_y); - } - /*****************************************************************/ - /* OK - now we have x[], y[] and valid[] - ready for plotting. */ - - { - int valid_count = 0; - char * basename = util_alloc_sprintf("%s-%s" , user_key_x , user_key_y); - char * plot_file = enkf_tui_plot_alloc_plot_file( plot_config , enkf_main_get_current_fs( enkf_main ), basename ); - plot_type * plot = enkf_tui_plot_alloc( plot_config , user_key_x , user_key_y , "Sensitivity plot" , plot_file); - plot_dataset_type * data = plot_alloc_new_dataset( plot , NULL , PLOT_XY ); - - for (iens = 0; iens < ens_size; iens++) { - if (valid[iens]) { - plot_dataset_append_point_xy( data , x[iens] , y[iens]); - valid_count++; - } - } - - plot_dataset_set_style( data , POINTS); - plot_set_bottom_padding( plot , 0.05); - plot_set_top_padding( plot , 0.05); - plot_set_left_padding( plot , 0.05); - plot_set_right_padding( plot , 0.05); - - if (valid_count > 0) { - printf("Plot saved in: %s \n",plot_file); - enkf_tui_show_plot(plot , plot_config , plot_file); /* Frees the plot - logical ehhh. */ - } else { - printf("Ehh - no data to plot \n"); - plot_free( plot ); - } - free(basename); - free(plot_file); - } - - - util_safe_free(user_key_y); - util_safe_free(user_key_x); - free(x); - free(y); - free(valid); -} - - - -static void enkf_tui_toggle_logy(void * arg) { - arg_pack_type * arg_pack = arg_pack_safe_cast( arg ); - plot_config_type * plot_config = arg_pack_iget_ptr( arg_pack , 0 ); - menu_item_type * menu_item = arg_pack_iget_ptr( arg_pack , 1 ); - - plot_config_toggle_logy( plot_config ); - if (plot_config_get_logy( plot_config )) - menu_item_set_label(menu_item , "Use normal Y-axis"); - else - menu_item_set_label(menu_item , "Use logarithmic Y-axis"); -} - - - -void enkf_tui_plot_RFT_time(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - enkf_obs_type * enkf_obs = enkf_main_get_obs( enkf_main ); - const enkf_fs_type * fs = enkf_main_get_fs( enkf_main ); - time_map_type * time_map = enkf_fs_get_time_map( fs ); - { - const char * state_kw; - char * index_key = NULL; - char * user_key = NULL; - char * obs_key; - int report_step; - obs_vector_type * obs_vector; - const enkf_config_node_type * config_node; - int step1 , step2; - int iens1 , iens2; - state_enum plot_state; - - enkf_tui_plot_select_RFT(enkf_main , &obs_key , &report_step); - obs_vector = enkf_obs_get_vector( enkf_obs , obs_key ); - config_node = obs_vector_get_config_node( obs_vector ); - - /* Could be user input ... */ - step1 = 0; - step2 = time_map_get_last_step( time_map ); - iens1 = 0; - iens2 = enkf_main_get_ensemble_size( enkf_main ) - 1; - plot_state = BOTH; - state_kw = enkf_config_node_get_key( config_node ); - { - int block_nr,i,j,k; - const block_obs_type * block_obs = obs_vector_iget_node( obs_vector , report_step ); - for (block_nr = 0; block_nr < block_obs_get_size( block_obs ); block_nr++) { - block_obs_iget_ijk( block_obs , block_nr , &i , &j , &k); - index_key = util_realloc_sprintf( index_key , "%d,%d,%d" , i+1,j+1,k+1); - user_key = util_realloc_sprintf( user_key , "%s:%d,%d,%d" , state_kw , i+1,j+1,k+1); - enkf_tui_plot_ensemble__(enkf_main , config_node , user_key , index_key , step1 , step2 , false , iens1 , iens2 , plot_state); - } - } - free( obs_key ); - free( index_key ); - free( user_key ); - } -} - -/*****************************************************************/ -void enkf_tui_plot_reports( void * arg ) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - ert_report_list_type * report_list = enkf_main_get_report_list( enkf_main ); - - ert_report_list_create( report_list , enkf_main_get_current_fs( enkf_main ) , true ); -} - - -/*****************************************************************/ - -void enkf_tui_plot_simple_menu(void * arg) { - - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - { - const char * plot_path = plot_config_get_path( plot_config ); - util_make_path( plot_path ); - } - - { - menu_type * menu; - { - char * title = util_alloc_sprintf("Plot results [case:%s]" , enkf_main_get_current_fs( enkf_main )); - menu = menu_alloc(title , "Back" , "bB"); - free(title); - } - menu_add_item(menu , "Ensemble plot" , "eE" , enkf_tui_plot_ensemble , enkf_main , NULL); - menu_add_item(menu , "Ensemble plot of ALL summary variables" , "aA" , enkf_tui_plot_all_summary , enkf_main , NULL); - menu_add_item(menu , "Ensemble plot of GEN_KW parameter" , "g" , enkf_tui_plot_GEN_KW , enkf_main , NULL); - menu_add_item(menu , "Ensemble plot of ALL GEN_KW parameters" , "G" , enkf_tui_plot_all_GEN_KW , enkf_main , NULL); - menu_add_item(menu , "Observation plot" , "oO" , enkf_tui_plot_observation , enkf_main , NULL); - /* menu_add_separator( menu ); - menu_add_item(menu , "Plot RFT and simulated pressure vs. TVD" , "tT" , enkf_tui_plot_RFT_sim_all_TVD , enkf_main , NULL); - menu_add_item(menu , "Plot RFT and simulated pressure vs. MD" , "mM" , enkf_tui_plot_RFT_sim_all_MD , enkf_main , NULL); - menu_add_separator( menu ); - menu_add_item(menu , "Plot block observation (~RFT) versus depth" , "dD" , enkf_tui_plot_RFT_depth , enkf_main , NULL); - menu_add_item(menu , "Plot block observation (~RFT) versus time" , "iI" , enkf_tui_plot_RFT_time , enkf_main , NULL); - menu_add_item(menu , "Plot all block observations (~RFT) versus depth" , "rR" , enkf_tui_plot_all_RFT , enkf_main , NULL); - menu_add_separator( menu );*/ - menu_add_item(menu , "Sensitivity plot" , "sS" , enkf_tui_plot_sensitivity , enkf_main , NULL); - menu_add_item(menu , "Histogram" , "H" , enkf_tui_plot_histogram , enkf_main , NULL); - menu_add_separator(menu); - { - menu_item_type * menu_item; - arg_pack_type * arg_pack = arg_pack_alloc(); - menu_item = menu_add_item(menu , "" , "lL" , enkf_tui_toggle_logy , arg_pack , arg_pack_free__); - arg_pack_append_ptr( arg_pack , plot_config ); - arg_pack_append_ptr( arg_pack , menu_item ); - plot_config_toggle_logy( plot_config ); - enkf_tui_toggle_logy( arg_pack ); /* This sets the label */ - } - - /* menu_add_separator(menu); - { - menu_item_type * menu_item = menu_add_item( menu , "Create pdf reports" , "pP" , enkf_tui_plot_reports , enkf_main , NULL ); - ert_report_list_type * report_list = enkf_main_get_report_list( enkf_main ); - - if (ert_report_list_get_num( report_list ) == 0) - menu_item_disable( menu_item ); - - }*/ - menu_add_item(menu , "Help" , "h" , enkf_tui_help_menu_plot , enkf_main , NULL); - menu_run(menu); - menu_free(menu); - } -} - - -/*****************************************************************/ - -void enkf_tui_plot_menu(void * arg) { - - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - { - const char * plot_path = plot_config_get_path( plot_config ); - util_make_path( plot_path ); - } - - { - menu_type * menu; - { - char * title = util_alloc_sprintf("Plot results [case:%s]" , enkf_main_get_current_fs( enkf_main )); - menu = menu_alloc(title , "Back" , "bB"); - free(title); - } - menu_add_item(menu , "Ensemble plot" , "eE" , enkf_tui_plot_ensemble , enkf_main , NULL); - menu_add_item(menu , "Ensemble plot of ALL summary variables" , "aA" , enkf_tui_plot_all_summary , enkf_main , NULL); - menu_add_item(menu , "Ensemble plot of GEN_KW parameter" , "g" , enkf_tui_plot_GEN_KW , enkf_main , NULL); - menu_add_item(menu , "Ensemble plot of ALL GEN_KW parameters" , "G" , enkf_tui_plot_all_GEN_KW , enkf_main , NULL); - menu_add_item(menu , "Observation plot" , "oO" , enkf_tui_plot_observation , enkf_main , NULL); - menu_add_separator( menu ); - menu_add_item(menu , "Plot RFT and simulated pressure vs. TVD" , "tT" , enkf_tui_plot_RFT_sim_all_TVD , enkf_main , NULL); - menu_add_item(menu , "Plot RFT and simulated pressure vs. MD" , "mM" , enkf_tui_plot_RFT_sim_all_MD , enkf_main , NULL); - menu_add_separator( menu ); - menu_add_item(menu , "Plot block observation (~RFT) versus depth" , "dD" , enkf_tui_plot_RFT_depth , enkf_main , NULL); - menu_add_item(menu , "Plot block observation (~RFT) versus time" , "iI" , enkf_tui_plot_RFT_time , enkf_main , NULL); - menu_add_item(menu , "Plot all block observations (~RFT) versus depth" , "rR" , enkf_tui_plot_all_RFT , enkf_main , NULL); - menu_add_separator( menu ); - menu_add_item(menu , "Sensitivity plot" , "sS" , enkf_tui_plot_sensitivity , enkf_main , NULL); - menu_add_item(menu , "Histogram" , "H" , enkf_tui_plot_histogram , enkf_main , NULL); - menu_add_separator(menu); - { - menu_item_type * menu_item; - arg_pack_type * arg_pack = arg_pack_alloc(); - menu_item = menu_add_item(menu , "" , "lL" , enkf_tui_toggle_logy , arg_pack , arg_pack_free__); - arg_pack_append_ptr( arg_pack , plot_config ); - arg_pack_append_ptr( arg_pack , menu_item ); - plot_config_toggle_logy( plot_config ); - enkf_tui_toggle_logy( arg_pack ); /* This sets the label */ - } - - menu_add_separator(menu); - { - menu_item_type * menu_item = menu_add_item( menu , "Create pdf reports" , "pP" , enkf_tui_plot_reports , enkf_main , NULL ); - ert_report_list_type * report_list = enkf_main_get_report_list( enkf_main ); - - if (ert_report_list_get_num( report_list ) == 0) - menu_item_disable( menu_item ); - - } - menu_add_item(menu , "Help" , "h" , enkf_tui_help_menu_plot , enkf_main , NULL); - menu_run(menu); - menu_free(menu); - } -} diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot.h b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot.h deleted file mode 100644 index eafdb69555..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'enkf_tui_plot.h' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#ifndef __ENKF_TUI_PLOT_H__ -#define __ENKF_TUI_PLOT_H__ - - -#include -#include - -#include -#include - -void enkf_tui_plot_simple_menu(void * ); -void enkf_tui_plot_menu(void * ); -void enkf_tui_plot_PC( enkf_main_type * enkf_main , const char * plot_name , const pca_plot_data_type * plot_data); -void enkf_tui_plot_PC_list( enkf_main_type * enkf_main , const vector_type * PC_list ); -void enkf_tui_plot_reports(void *); -void enkf_tui_plot_all_summary__( enkf_main_type * enkf_main , int iens1 , int iens2 , int step1 , int step2 , bool prediction_mode); - -void enkf_tui_plot_ensemble__(enkf_main_type * enkf_main , - const enkf_config_node_type * config_node , - const char * user_key , - const char * key_index , - int step1 , int step2 , - bool prediction_mode , - int iens1 , int iens2 , - state_enum plot_state); -#endif diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot_rft.c b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot_rft.c deleted file mode 100644 index 87eada994b..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot_rft.c +++ /dev/null @@ -1,667 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'enkf_tui_plot_rft.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - - -/* - This file contains functions to plot RFT. These are both grid - independant methods which load a true well trajectory from file, and - and then lookup pressure nodes afterwards, and also a simpler - implementation which will plot a enkf block_obs (i.e. in 99% of - cases and RFT) for a fixed grid. - - The grid independent functions are at the top of the file. -*/ - - -int enkf_tui_plot_read_rft_obs(enkf_main_type * enkf_main, - char * wellname, - double_vector_type * UTM_x, - double_vector_type * UTM_y, - double_vector_type * MD, - double_vector_type * TVD_z, - double_vector_type * RFT_obs){ - const model_config_type * model_config = enkf_main_get_model_config( enkf_main ); - const char * pathname = model_config_get_rftpath( model_config ); - path_fmt_type * pathname_fmt = path_fmt_alloc_directory_fmt(pathname); - strcat(wellname, ".txt"); /* This will append .txt to the wellname*/ - char * pathandfilename = path_fmt_alloc_file(pathname_fmt, false, wellname); - FILE * stream = util_fopen( pathandfilename , "r" ); - int lines = util_count_content_file_lines( stream ); - rewind(stream); - bool at_eof; - int tokens; - - for ( int i = 0; i < lines; i++ ) { - char ** token_list; - char * line = util_fscanf_alloc_line( stream , &at_eof ); - util_split_string(line , " \t" , &tokens , &token_list); - if( tokens == 5 ){ - double utm_x, utm_y, md, tvd_z, rft_obs; - if ( util_sscanf_double( token_list[0] , &utm_x ) && - util_sscanf_double( token_list[1] , &utm_y ) && - util_sscanf_double( token_list[2] , &md ) && - util_sscanf_double( token_list[3] , &tvd_z ) && - util_sscanf_double( token_list[4] , &rft_obs )){ - - double_vector_iset( UTM_x , i, utm_x ); - double_vector_iset( UTM_y , i, utm_y ); - double_vector_iset( MD , i, md ); - double_vector_iset( TVD_z , i, tvd_z); - double_vector_iset( RFT_obs, i, rft_obs); - } - else{ - util_abort("%s: RFT file has to be on the format UTM_X; UTM_Y; MD; TVD_Z; RFT \n",__func__ , pathandfilename); - } - } - else - util_abort("%s: RFT file has to be on the format UTM_X; UTM_Y; MD; TVD_Z; RFT \n",__func__ , pathandfilename); - - free( line ); - util_free_stringlist(token_list, tokens); - } - - free( pathandfilename ); - path_fmt_free( pathname_fmt ); - - wellname=strtok(wellname,".");/* This will remove the appended .txt from the wellname*/ - fclose(stream); - return lines; -} - - - -void enkf_tui_plot_RFTS__(enkf_main_type * enkf_main , - const char * wellname , - double_vector_type * MD, - double_vector_type * RFT_obs, - double_vector_type * RFT_refcase, - bool_vector_type * refcase_has_data, - vector_type * pressure_container, - int_vector_type * active, - bool rft_file_exists, - vector_type * has_data_container, - bool isMD) { - - const int ens_size = enkf_main_get_ensemble_size( enkf_main ); - const plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - bool show_plot = false; - char * plot_file = enkf_tui_plot_alloc_plot_file( plot_config , enkf_main_get_current_fs(enkf_main), wellname ); - plot_type * plot ; - if(isMD) - plot = enkf_tui_plot_alloc(plot_config , "RFT pressure", "MD" , wellname, plot_file); - else - plot = enkf_tui_plot_alloc(plot_config , "RFT pressure", "TVD" , wellname, plot_file); - - { - show_plot = true; - } - /* - Start with plotting the simulated rfts - */ - if(rft_file_exists){ - for (int iens=0; iens < ens_size; iens++){ - const double_vector_type * simulated_pressure = vector_iget_const(pressure_container, iens); - const bool_vector_type * has_data = vector_iget_const(has_data_container, iens); - for (int nobs = 0; nobs < double_vector_size(RFT_obs); nobs++){ - if (bool_vector_iget(has_data, nobs)){ - plot_dataset_type * iplot = plot_alloc_new_dataset( plot , NULL , PLOT_XY ); - double rft_sim_numeric = double_vector_iget(simulated_pressure , nobs); - double md_numeric = double_vector_iget(MD , nobs); - plot_dataset_append_point_xy( iplot, rft_sim_numeric , md_numeric); - plot_dataset_set_style( iplot , POINTS ); - plot_dataset_set_point_color( iplot , (iens % 13)+1); /*Can choose between 16 colors, but we dont want 0 which is white or reserved 14 and 15*/ - } - } - } - } - /* - Now continue with refcase and observations. - */ - plot_dataset_type * rft_obs_value = plot_alloc_new_dataset( plot , "observation" , PLOT_XY ); - plot_dataset_type * rft_refcase_value = plot_alloc_new_dataset( plot , "refcase" , PLOT_XY ); - - plot_dataset_set_style( rft_obs_value , POINTS ); - plot_dataset_set_style( rft_refcase_value , POINTS ); - - plot_dataset_set_point_color( rft_obs_value , 15); - plot_dataset_set_point_color( rft_refcase_value , 14); - - plot_dataset_set_symbol_type( rft_obs_value , 5); - plot_dataset_set_symbol_type( rft_refcase_value , 5); - - - for (int nobs = 0; nobs < double_vector_size(RFT_obs); nobs++){ - double rft_obs_numeric = double_vector_iget(RFT_obs , nobs); - double md_numeric = double_vector_iget(MD , nobs); - plot_dataset_append_point_xy( rft_obs_value, rft_obs_numeric , md_numeric); - if( bool_vector_iget(refcase_has_data, nobs)){ - double rft_refcase_numeric = double_vector_iget(RFT_refcase , nobs); - plot_dataset_append_point_xy( rft_refcase_value, rft_refcase_numeric , md_numeric); - } - } - - plot_invert_y_axis(plot); - plot_set_bottom_padding( plot , 0.05); - plot_set_top_padding( plot , 0.05); - plot_set_left_padding( plot , 0.05); - plot_set_right_padding( plot , 0.05); - - if (show_plot) { - enkf_tui_show_plot(plot , plot_config , plot_file); /* Frees the plot - logical ehhh. */ - } else { - printf("No data to plot \n"); - plot_free(plot); - } - - free(plot_file); -} - - - -void enkf_tui_plot_RFT_simIn(enkf_main_type * enkf_main, path_fmt_type * runpathformat, const path_fmt_type * caseformat, char * wellname , time_t recording_time, bool isMD){ - const int ens_size = enkf_main_get_ensemble_size( enkf_main ); - const plot_config_type * plot_config = enkf_main_get_plot_config( enkf_main ); - bool plot_refcase = plot_config_get_plot_refcase( plot_config ); - ecl_config_type * ecl_config = enkf_main_get_ecl_config(enkf_main); - ecl_refcase_list_type * refcase_list = ecl_config_get_refcase_list( ecl_config ); - const ecl_sum_type * refcase = ecl_refcase_list_get_default( refcase_list ); - if (refcase) { - - /* - Start by reading RFT measurment - */ - double_vector_type * UTM_x = double_vector_alloc( 0 , 0); - double_vector_type * UTM_y = double_vector_alloc( 0 , 0); - double_vector_type * MD = double_vector_alloc( 0 , 0); - double_vector_type * TVD_z = double_vector_alloc( 0 , 0); - double_vector_type * RFT_obs = double_vector_alloc( 0 , 0); - int lines = enkf_tui_plot_read_rft_obs(enkf_main, wellname, UTM_x, UTM_y, MD, TVD_z, RFT_obs); - /* - Find ijk-list - */ - char * caseending = path_fmt_alloc_path(caseformat, false, 0); //Use the grid in ensmember 0 - char * casename = path_fmt_alloc_file(runpathformat , false, 0, caseending); - ecl_grid_type * grid = ecl_grid_load_case( casename ); - int_vector_type * i_values = int_vector_alloc( lines , 0 ); - int_vector_type * j_values = int_vector_alloc( lines , 0 ); - int_vector_type * k_values = int_vector_alloc( lines , 0 ); - int_vector_type * active = int_vector_alloc( lines , 0 ); - for (int nobs =0; nobs -1){ - const ecl_rft_cell_type * cell = ecl_rft_node_lookup_ijk( rft_refcase_node , - int_vector_iget(i_values,nobs) , - int_vector_iget(j_values,nobs) , - int_vector_iget(k_values,nobs) ); - - if (cell) { - double pressure_value = ecl_rft_cell_get_pressure( cell ); - double_vector_append(RFT_refcase, pressure_value); - bool_vector_append(refcase_has_data, true); - } else { - double_vector_append(RFT_refcase, 0.0); - bool_vector_append(refcase_has_data, false); - } - } - else { - double_vector_append(RFT_refcase, 0.0); - bool_vector_append(refcase_has_data, false); - } - } - } - ecl_rft_file_free(rft_refcase_file); - /* - Get the simulated RFTs - */ - vector_type * pressure_container = vector_alloc_new(); - vector_type * has_data_container = vector_alloc_new(); - char * caseending1 = path_fmt_alloc_path(caseformat, false, 0); - char * casename1 = path_fmt_alloc_file(runpathformat , false, 0, caseending1); - const char * case_file_name1 = ecl_rft_file_alloc_case_filename(casename1 ); - bool eclipse_rft_exists = false; - if (case_file_name1 == NULL){ - util_abort("%s: Cannot find eclipse RFT file",__func__ , case_file_name1); - } - else{ - eclipse_rft_exists = true; - for (int iens = 0; iens -1){ - const ecl_rft_cell_type * cell = ecl_rft_node_lookup_ijk( rftnode , - int_vector_iget(i_values,nobs), - int_vector_iget(j_values,nobs), - int_vector_iget(k_values,nobs) ); //lookup cell - if (cell) { - double pressure_value = ecl_rft_cell_get_pressure( cell ); - double_vector_iset(simulated_pressures, nobs , pressure_value); - bool_vector_iset(has_data, nobs, true); - } else { - double_vector_iset(simulated_pressures,nobs ,0.0); - bool_vector_iset(has_data, nobs, false); - } - - } - } - } - ecl_rft_file_free(rftfile); - vector_append_owned_ref( pressure_container , simulated_pressures , double_vector_free__ ); - vector_append_owned_ref( has_data_container , has_data , bool_vector_free__ ); - } - } - /* - Do the actual plotting - */ - if(isMD) - enkf_tui_plot_RFTS__( enkf_main , wellname , MD, RFT_obs, RFT_refcase, refcase_has_data, pressure_container, active, eclipse_rft_exists, has_data_container, isMD); - else - enkf_tui_plot_RFTS__( enkf_main , wellname , TVD_z, RFT_obs, RFT_refcase, refcase_has_data, pressure_container, active, eclipse_rft_exists, has_data_container, isMD); - double_vector_free( UTM_x ); - double_vector_free( UTM_y ); - double_vector_free( MD ); - double_vector_free( TVD_z ); - double_vector_free( RFT_obs ); - double_vector_free( RFT_refcase ); - bool_vector_free( refcase_has_data ); - vector_free( pressure_container ); - vector_free( has_data_container ); - free( caseending ); - free( caseending1 ); - free( casename ); - free( casename1 ); - int_vector_free( i_values ); - int_vector_free( j_values ); - int_vector_free( k_values ); - int_vector_free( active ); - } -} - - -int enkf_tui_plot_read_rft_config(const char * rft_config_file, stringlist_type * wellnames, time_t_vector_type * dates){ - int lines = 0; - int day, month, year; - if ( rft_config_file != NULL ){ - printf( "Reading RFT wellnames and dates \n" ); - FILE * stream = util_fopen( rft_config_file , "r" ); - if(stream == NULL) - util_abort("%s: RFT config file is NULL \n",__func__ , rft_config_file); - - lines = util_count_content_file_lines( stream ); - rewind(stream); - bool at_eof; - char ** token_list; - int tokens; - for ( int i = 0; i < lines; i++ ) { - char * line = util_fscanf_alloc_line( stream , &at_eof ); - util_split_string(line , " \t" , &tokens , &token_list); - char * name = token_list[0]; - char * ownname = util_alloc_string_copy(name); - if( tokens == 4 ){ - stringlist_append_owned_ref( wellnames , ownname ); - if ( util_sscanf_int( token_list[1] , &day ) && util_sscanf_int( token_list[2] , &month ) && util_sscanf_int( token_list[3] , &year ) ){ - time_t recording_time = util_make_date(day , month , year); - time_t_vector_append(dates, recording_time); - } - else{ - util_abort("%s: RFT config file has to be on the format NAME DAY MONTH YEAR \n",__func__ , rft_config_file); - } - } - else{ - util_abort("%s: RFT config file has to be on the format NAME DAY MONTH YEAR \n",__func__ , rft_config_file); - } - free( line ); - free( name ); - } - fclose(stream); - } - else{ - printf("RFT config file is not specified."); - } - return lines; -} - -void enkf_tui_plot_RFT_sim_all_MD( void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const model_config_type * model_config = enkf_main_get_model_config( enkf_main ); - const char * rft_config_file = enkf_main_get_rft_config_file( enkf_main ); - stringlist_type * wellnames = stringlist_alloc_new(); - time_t_vector_type * dates = time_t_vector_alloc(0,0); - int lines = enkf_tui_plot_read_rft_config(rft_config_file, wellnames, dates); - path_fmt_type * runpathformat = model_config_get_runpath_fmt( model_config ); - const path_fmt_type * caseformat = ecl_config_get_eclbase_fmt(enkf_main_get_ecl_config(enkf_main)); - for (int i = 0; i - for more details. -*/ - -#ifndef __ENKF_TUI_PLOT_RFT_H__ -#define __ENKF_TUI_PLOT_RFT_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include - - void enkf_tui_plot_RFT_sim_all_MD( void * arg); - void enkf_tui_plot_RFT_sim_all_TVD( void * arg); - void enkf_tui_plot_select_RFT(const enkf_main_type * enkf_main , char ** _obs_key , int * _report_step); - void enkf_tui_plot_RFT_depth(void * arg); - void enkf_tui_plot_all_RFT( void * arg); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot_util.c b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot_util.c deleted file mode 100644 index ffd738621c..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot_util.c +++ /dev/null @@ -1,120 +0,0 @@ -/* - Copyright (C) 2012 Statoil ASA, Norway. - - The file 'enkf_tui_plot_util.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - - - -char * enkf_tui_plot_alloc_plot_file(const plot_config_type * plot_config , const char * case_name , const char * base_name) { - char * base = util_alloc_string_copy( base_name ); - char * path = util_alloc_filename(plot_config_get_path( plot_config ) , case_name , NULL); /* It is really a path - but what the fuck. */ - char * plot_file; - - util_string_tr( base , '/' , '-'); /* Replace '/' -> '-' in the key name. */ - plot_file = util_alloc_filename(path , base , plot_config_get_image_type( plot_config )); - util_make_path( path ); /* Ensure that the path where the plots are stored exists. */ - - free(path); - free(base); - return plot_file; -} - - -void enkf_tui_show_plot(plot_type * plot , const plot_config_type * plot_config , const char * file) { - plot_data(plot); - plot_free(plot); - if (util_file_exists( file )) { - const char * viewer = plot_config_get_viewer( plot_config ); - printf("Plot saved in: %s \n",file); - if (viewer != NULL) - util_fork_exec(viewer , 1 , (const char *[1]) { file } , false , NULL , NULL , NULL , NULL , NULL); - } - /* - else: the file does not exist - that might be OK? - */ -} - - -plot_type * enkf_tui_plot_alloc(const plot_config_type * plot_config , const char * x_label , const char * y_label , const char * title , const char * file) { - - arg_pack_type * arg_pack = arg_pack_alloc(); - plot_type * plot; - - if (util_string_equal( plot_config_get_driver( plot_config ) , "PLPLOT")) { - arg_pack_append_const_ptr( arg_pack , file ); - arg_pack_append_const_ptr( arg_pack , plot_config_get_image_type( plot_config )); - } else if (util_string_equal( plot_config_get_driver( plot_config ) , "TEXT")) { - - char * plot_path, *basename; - char * path; - util_alloc_file_components( file , &plot_path , &basename , NULL); - - path = util_alloc_filename( plot_path , basename , NULL); - arg_pack_append_owned_ptr( arg_pack , path , free); - - free( plot_path ); - free( basename ); - } else - util_abort("%s: unrecognized driver type: %s \n",__func__ , plot_config_get_driver( plot_config )); - - plot = plot_alloc(plot_config_get_driver( plot_config ) , arg_pack , false , plot_config_get_logy( plot_config )); - - plot_set_window_size(plot , plot_config_get_width( plot_config ) , plot_config_get_height( plot_config )); - plot_set_labels(plot, x_label , y_label , title); - arg_pack_free( arg_pack ); - - return plot; -} diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot_util.h b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot_util.h deleted file mode 100644 index 9c8b397d24..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_plot_util.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (C) 2012 Statoil ASA, Norway. - - The file 'enkf_tui_plot_util.h' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - - -#ifndef __ENKF_TUI_PLOT_UTIL_H__ -#define __ENKF_TUI_PLOT_UTIL_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#include - - char * enkf_tui_plot_alloc_plot_file(const plot_config_type * plot_config , const char * case_name , const char * base_name); - void enkf_tui_show_plot(plot_type * plot , const plot_config_type * plot_config , const char * file); - plot_type * enkf_tui_plot_alloc(const plot_config_type * plot_config , const char * x_label , const char * y_label , const char * title , const char * file); - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_run.c b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_run.c deleted file mode 100644 index 7c38b055fe..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_run.c +++ /dev/null @@ -1,334 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'enkf_tui_run.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -/* - Set runpath runtime - disabled. - -static void enkf_tui_run_set_runpath(void * arg) { - arg_pack_type * arg_pack = arg_pack_safe_cast( arg ); - model_config_type * model_config = arg_pack_iget_ptr(arg_pack , 0); - menu_item_type * item = arg_pack_iget_ptr(arg_pack , 1); - char runpath_fmt[256]; - printf("Give runpath format ==> "); - scanf("%s" , runpath_fmt); - model_config_set_runpath_fmt(model_config , runpath_fmt); - { - char * menu_label = util_alloc_sprintf("Set new value for RUNPATH:%s" , runpath_fmt); - menu_item_set_label( item , menu_label ); - free(menu_label); - } -} -*/ - - - -void enkf_tui_run_start(void * enkf_main) { - const int ens_size = enkf_main_get_ensemble_size( enkf_main ); - bool_vector_type * iactive = bool_vector_alloc(ens_size , true); - - enkf_main_run_assimilation(enkf_main , iactive , 0 , 0 , ANALYZED); - - bool_vector_free(iactive); -} - - - -void enkf_tui_run_restart__(void * enkf_main) { - const int ens_size = enkf_main_get_ensemble_size( enkf_main ); - const int last_report = enkf_main_get_history_length( enkf_main ); - int start_report; - char * start_report_as_char; - bool wronginput = false; - state_enum state; - bool_vector_type * iactive = bool_vector_alloc(0,true); - bool_vector_iset( iactive , ens_size - 1 , true ); - - start_report_as_char = util_scanf_int_with_limits_return_char("Report step",PROMPT_LEN , 0 , last_report); - if(strlen(start_report_as_char) != 0){ - util_sscanf_int(start_report_as_char , &start_report); - } - else - wronginput = true; - - if(!wronginput){ - state = enkf_tui_util_scanf_state("Analyzed/forecast" , PROMPT_LEN , false); - if(state == UNDEFINED) - wronginput = true; - } - - if(!wronginput) - enkf_main_run_assimilation(enkf_main , iactive , start_report , start_report , state); - - bool_vector_free(iactive); - free(start_report_as_char); -} - - - -void enkf_tui_run_smoother(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - int ens_size = enkf_main_get_ensemble_size( enkf_main ); - bool_vector_type * iactive = bool_vector_alloc( ens_size , true ); - enkf_main_run_smoother(enkf_main , "AUTO-SMOOTHER" , iactive , 0 , true ); - bool_vector_free( iactive ); -} - - - -void enkf_tui_run_iterated_ES(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const analysis_config_type * analysis_config = enkf_main_get_analysis_config(enkf_main); - analysis_iter_config_type * iter_config = analysis_config_get_iter_config(analysis_config); - int num_iter = analysis_iter_config_get_num_iterations(iter_config); - enkf_main_run_iterated_ES(enkf_main , num_iter ); -} - - -/** - Experiments will always start with the parameters at time == 0; if - you want to simulate with updated (posterior) parameters, you - ensure that by initializing from a report_step > 0 from an - existing case. - - Prediction part is included if it exists. -*/ - -void enkf_tui_run_exp(void * enkf_main) { - const int ens_size = enkf_main_get_ensemble_size( enkf_main ); - bool_vector_type * iactive = bool_vector_alloc(0,false); - - { - - char * prompt = util_alloc_sprintf("Which realizations to simulate (Ex: 1,3-5) [M to return to menu] : " , ens_size); - char * select_string; - - util_printf_prompt(prompt , PROMPT_LEN , '=' , "=> "); - select_string = util_alloc_stdin_line(); - enkf_tui_util_sscanf_active_list( iactive , select_string , ens_size); - - util_safe_free( select_string ); - free( prompt ); - } - if (bool_vector_count_equal(iactive , true)) - enkf_main_run_exp(enkf_main , iactive , true ); - - bool_vector_free(iactive); -} - - - -void enkf_tui_run_create_runpath__(void * __enkf_main) { - enkf_main_type * enkf_main = enkf_main_safe_cast(__enkf_main); - const int ens_size = enkf_main_get_ensemble_size( enkf_main ); - bool_vector_type * iactive = bool_vector_alloc(0,false); - - { - char * prompt = util_alloc_sprintf("Which realizations to create[ensemble size:%d] : " , ens_size); - char * select_string; - - util_printf_prompt(prompt , PROMPT_LEN , '=' , "=> "); - select_string = util_alloc_stdin_line(); - enkf_tui_util_sscanf_active_list( iactive , select_string , ens_size ); - - util_safe_free( select_string ); - free( prompt ); - } - enkf_main_run_exp(enkf_main , iactive , false ); - bool_vector_free(iactive); -} - - - -static void enkf_tui_display_load_msg( int iens , const stringlist_type * msg_list ) { - for (int i=0; i < stringlist_get_size( msg_list ); i++) - printf("[%03d] : %s \n", iens , stringlist_iget( msg_list , i )); -} - - -void enkf_tui_run_manual_load__( void * arg ) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - const int ens_size = enkf_main_get_ensemble_size( enkf_main ); - bool_vector_type * iactive = bool_vector_alloc( 0 , false ); - int iter = 0; - - { - char * prompt = util_alloc_sprintf("Which realizations to load (Ex: 1,3-5) [M to return to menu] : [ensemble size:%d] : " , ens_size); - char * select_string; - util_printf_prompt(prompt , PROMPT_LEN , '=' , "=> "); - select_string = util_alloc_stdin_line(); - - enkf_tui_util_sscanf_active_list( iactive , select_string , ens_size ); - util_safe_free( select_string ); - - free( prompt ); - } - - { - const model_config_type * model_config = enkf_main_get_model_config( enkf_main ); - if (model_config_runpath_requires_iter( model_config )) { - const char * prompt = "Which iteration to load from [0...?) : "; - char * input; - bool OK; - util_printf_prompt(prompt , PROMPT_LEN , '=' , "=> "); - - input = util_alloc_stdin_line(); - if (input == NULL) - return; - - OK = util_sscanf_int( input , &iter ); - - free( input ); - if (!OK) - return; - } - } - - - if (bool_vector_count_equal( iactive , true )) { - stringlist_type ** realizations_msg_list = util_calloc( ens_size , sizeof * realizations_msg_list ); - int iens = 0; - for (; iens < ens_size; ++iens) { - realizations_msg_list[iens] = stringlist_alloc_new(); - } - - enkf_main_load_from_forward_model(enkf_main, iter , iactive, realizations_msg_list); - - for (iens = 0; iens < ens_size; ++iens) { - stringlist_type * msg_list = realizations_msg_list[iens]; - if (bool_vector_iget(iactive, iens)) { - if (stringlist_get_size( msg_list )) { - enkf_tui_display_load_msg( iens , msg_list ); - } - } - stringlist_free(msg_list); - } - free(realizations_msg_list); - } - - bool_vector_free( iactive ); -} - - - - - - -/*****************************************************************/ - -void enkf_tui_run_menu(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast( arg ); - model_config_type * model_config = enkf_main_get_model_config( enkf_main ); - path_fmt_type * runpath_fmt = model_config_get_runpath_fmt( model_config ); - menu_type * menu; - - { - char * title = util_alloc_sprintf("Run menu [case:%s Runpath:%s]" , enkf_main_get_current_fs( enkf_main ) , path_fmt_get_fmt ( runpath_fmt )); - menu = menu_alloc(title , "Back" , "bB"); - free(title); - } - menu_add_item(menu , "Ensemble run: history" , "xX" , enkf_tui_run_exp , enkf_main , NULL); - menu_add_separator( menu ); - { - const ecl_config_type * ecl_config = enkf_main_get_ecl_config( enkf_main ); - const analysis_config_type * analysis_config = enkf_main_get_analysis_config(enkf_main); - const enkf_obs_type * enkf_obs = enkf_main_get_obs( enkf_main ); - - - menu_item_type * enkf_item = menu_add_item(menu , "Start EnKF run from beginning" , "sS" , enkf_tui_run_start , enkf_main , NULL); - menu_item_type * restart_enkf_item = menu_add_item(menu , "Restart EnKF run from arbitrary state" , "rR" , enkf_tui_run_restart__ , enkf_main , NULL); - menu_item_type * ES_item = menu_add_item(menu , "Integrated smoother update" , "iI" , enkf_tui_run_smoother , enkf_main , NULL); - menu_item_type * it_ES_item = menu_add_item(menu , "Iterated smoother [RML-EnKF]" , "tT" , enkf_tui_run_iterated_ES , enkf_main , NULL); - - if (!ecl_config_has_schedule( ecl_config )) { - menu_item_disable( enkf_item ); - menu_item_disable( restart_enkf_item ); - } - - if (!ecl_config_has_init_section( ecl_config )) - menu_item_disable( enkf_item ); - - if (!analysis_config_get_module_option(analysis_config , ANALYSIS_ITERABLE)) { - menu_item_disable( it_ES_item ); - } else { - menu_item_disable( enkf_item ); - menu_item_disable( restart_enkf_item ); - menu_item_disable( ES_item ); - } - - if (!enkf_obs_have_obs( enkf_obs )) { - menu_item_disable( it_ES_item ); - menu_item_disable( ES_item ); - } - } - menu_add_separator(menu); - menu_add_item(menu , "Create runpath directories - NO simulation" , "cC" , enkf_tui_run_create_runpath__ , enkf_main , NULL ); - menu_add_item(menu , "Load results manually" , "lL" , enkf_tui_run_manual_load__ , enkf_main , NULL); - menu_add_separator(menu); - { - menu_item_type * analysis_item = menu_add_item(menu , "Analysis menu" , "aA" , enkf_tui_analysis_menu , enkf_main , NULL); - - if (!enkf_main_have_obs( enkf_main )) - menu_item_disable( analysis_item ); - } - /* - Option to set runpath runtime - currently dismantled. - - menu_add_separator(menu); - { - model_config_type * model_config = enkf_main_get_model_config( enkf_main ); - path_fmt_type * runpath_fmt = model_config_get_runpath_fmt( model_config ); - arg_pack_type * arg_pack = arg_pack_alloc(); - char * runpath_label = util_alloc_sprintf("Set new value for RUNPATH:%s" , path_fmt_get_fmt ( runpath_fmt )); - - arg_pack_append_ptr(arg_pack , model_config); - arg_pack_append_ptr(arg_pack , menu_add_item(menu , runpath_label , "dD" , enkf_tui_run_set_runpath , arg_pack , arg_pack_free__)); - - free(runpath_label); - } - */ - menu_add_item(menu , "Help" , "hH" , enkf_tui_help_menu_run , enkf_main , NULL); - menu_run(menu); - menu_free(menu); -} diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_simple.c b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_simple.c deleted file mode 100644 index 1f5b3cc333..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/enkf_tui_simple.c +++ /dev/null @@ -1,78 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'enkf_tui_init.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - - -void enkf_tui_simple_menu(void * arg) { - enkf_main_type * enkf_main = enkf_main_safe_cast(arg); - menu_type * menu = menu_alloc("Simple menu" , "Quit" , "qQ"); - menu_add_item(menu , "Sensitivity run: No data conditioning" , "sS" , enkf_tui_run_exp , enkf_main , NULL); - const ecl_config_type * ecl_config = enkf_main_get_ecl_config( enkf_main ); - const model_config_type * model_config = enkf_main_get_model_config( enkf_main ); - menu_item_type * enkf_item = menu_add_item(menu , "Assimilation run: EnKF updates" , "eE" , enkf_tui_run_start , enkf_main , NULL); - menu_item_type * ES_item = menu_add_item(menu , "Assimilation run: Smoother update" , "aA" , enkf_tui_run_smoother , enkf_main , NULL); - menu_item_type * it_ES_item = menu_add_item(menu , "Assimilation run: Iterated smoother [RML-EnKF]" , "iI" , enkf_tui_run_iterated_ES , enkf_main , NULL); - if (!ecl_config_has_schedule( ecl_config )) { - menu_item_disable( enkf_item ); - } - if (!model_config_has_history( model_config )) { - menu_item_disable( it_ES_item ); - menu_item_disable( ES_item ); - } - menu_add_separator( menu ); - menu_add_item(menu , "Plot results" , "pP" , enkf_tui_plot_simple_menu , enkf_main , NULL); - { - menu_item_type * menu_item = menu_add_item( menu , "Create pdf reports" , "rR" , enkf_tui_plot_reports , enkf_main , NULL ); - ert_report_list_type * report_list = enkf_main_get_report_list( enkf_main ); - - if (ert_report_list_get_num( report_list ) == 0) - menu_item_disable( menu_item ); - - } - menu_add_separator(menu); - menu_add_item(menu , "Help" , "hH" , enkf_tui_help_menu_simple , enkf_main , NULL); - menu_add_item(menu , "Advanced menu" , "dD" , enkf_tui_main_menu , enkf_main , NULL); - menu_run(menu); - menu_free(menu); - -} diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/ert_tui_jobs.c b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/ert_tui_jobs.c deleted file mode 100644 index e9251d81af..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/ert_tui_jobs.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'ert_tui_jobs.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include - -#include -#include -#include -#include - -#include - -void enkf_tui_plot_all_summary_JOB(void * self , const stringlist_type * args ) { - enkf_main_type * enkf_main = enkf_main_safe_cast( self ); - int iens1 , iens2 , step1 , step2; - bool prediction_mode; - iens1 = 0; - iens2 = enkf_main_get_ensemble_size( enkf_main ); - step1 = 0; - step2 = 0; - prediction_mode = true; - enkf_tui_plot_all_summary__( enkf_main , iens1 , iens2 , step1 , step2 , prediction_mode ); -} - - - -void enkf_tui_plot_JOB(void * self , const stringlist_type * args ) { - enkf_main_type * enkf_main = enkf_main_safe_cast( self ); - enkf_fs_type * enkf_fs = enkf_main_get_fs( enkf_main ); - time_map_type * time_map = enkf_fs_get_time_map( enkf_fs ); - ensemble_config_type * ensemble_config = enkf_main_get_ensemble_config( enkf_main ); - const int step2 = time_map_get_last_step( time_map ); - const int step1 = 0; - int i; - - for (i=0; i < stringlist_get_size( args ); i++) { - const char * user_key = stringlist_iget( args , i ); - char * key_index; - const enkf_config_node_type * config_node = ensemble_config_user_get_node( ensemble_config , user_key , &key_index); - if (config_node != NULL) - enkf_tui_plot_ensemble__(enkf_main , config_node , user_key , key_index , step1 , step2 , false , 0 , enkf_main_get_ensemble_size( enkf_main ) , BOTH ); - - util_safe_free( key_index ); - } -} - - diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/install.py b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/install.py deleted file mode 100644 index 41ae564ab3..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/install.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/python -# Copyright (C) 2011 Statoil ASA, Norway. -# -# The file 'install.py' is part of ERT - Ensemble based Reservoir Tool. -# -# ERT is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# ERT is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. -# -# See the GNU General Public License at -# for more details. - - -import sys -import commands -import os -sys.path += ["../../../../ERT-Statoil/OldStuff/python/ctypes/SDP"] -import SDP - -local_ert = "ert" -svn_version = commands.getoutput( "svnversion" ) - -try: - numeric = int( svn_version ) -except: - sys.exit("Will not install svn version:%s - must have a pure checkout") - -svn_ert = "%s_%s" % (local_ert , svn_version) -(SDP_ROOT , RH_version) = SDP.get_SDP_ROOT() -target_file = "%s/bin/ert_release/%s" % (SDP_ROOT, svn_ert) -ert_link = "%s/bin/ert_latest_and_greatest" % SDP_ROOT - -SDP.install_file( local_ert , target_file ) -SDP.install_link( target_file , ert_link ) - - - diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/local_config.c b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/local_config.c deleted file mode 100644 index 774dd8212c..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/local_config.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'local_config.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include - - - - -int main( int argc , char ** argv) { - if (argc != 4) { - fprintf(stderr,"Usage:\n\nbash%% local_config GRID_FILE NEW_CONFIG_FILE OLD_CONFIG_FILE"); - exit(1); - } else { - ecl_grid_type * ecl_grid = ecl_grid_alloc( argv[1] ); - const char * src_file = argv[2]; - const char * target_file = argv[3]; - - local_config_type * local_config = local_config_alloc( 100 ); - local_config_add_config_file( local_config , src_file ); - local_config_reload( local_config , ecl_grid , NULL , NULL , NULL ); - - local_config_fprintf( local_config , target_file ); - local_config_free( local_config ); - } -} diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/main.c b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/main.c deleted file mode 100644 index 072d36b8de..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/main.c +++ /dev/null @@ -1,171 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'main.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#define WORKFLOW_OPTION "-wf" - -void text_splash() { - const int usleep_time = 1000; - int i; - { -#include "ERT.h" - printf("\n\n"); - for (i = 0; i < SPLASH_LENGTH; i++) { - printf("%s\n" , splash_text[i]); - util_usleep(usleep_time); - } - printf("\n\n"); - - sleep(1); -#undef SPLASH_LENGTH - } -} - - -/* - GIT_COMMIT and COMPILE_TIME_STAMP are env variables set by the - makefile. Will exit if the config file does not exist. -*/ -void enkf_welcome(const char * config_file) { - if (util_file_exists( config_file )) { - char * abs_path = util_alloc_realpath( config_file ); - char * config_file_msg = util_alloc_sprintf("Configuration file...: %s \n",abs_path); - - /* This will be printed if/when util_abort() is called on a later stage. */ - /* The svn_version and compile_time are added with the functione enkf_main_init_debug(). */ - util_abort_append_version_info(config_file_msg); - - free(config_file_msg); - free(abs_path); - } else util_exit(" ** Sorry: can not locate configuration file: %s \n\n" , config_file); -} - - -void enkf_usage() { - printf("\n"); - printf(" *********************************************************************\n"); - printf(" ** **\n"); - printf(" ** E R T **\n"); - printf(" ** **\n"); - printf(" **-----------------------------------------------------------------**\n"); - printf(" ** You have sucessfully started the ert program developed at **\n"); - printf(" ** Statoil. Before you can actually start using the program, you **\n"); - printf(" ** must create a configuration file. When the configuration file **\n"); - printf(" ** has been created, you can start the ert application with: **\n"); - printf(" ** **\n"); - printf(" ** bash> ert config_file **\n"); - printf(" ** **\n"); - printf(" ** Instructions on how to create the configuration file can be **\n"); - printf(" ** found at: http://ert.nr.no **\n"); - printf(" *********************************************************************\n"); -} - - - - -static void init_debug( const char * argv0) { - char * git_commit = util_alloc_sprintf("git commit...........: %s \n",GIT_COMMIT); - char * compile_time = util_alloc_sprintf("Compile time.........: %s \n",COMPILE_TIME_STAMP); - - /* This will be printed if/when util_abort() is called on a later stage. */ - util_abort_append_version_info( git_commit ); - util_abort_append_version_info( compile_time ); - - free(git_commit); - free(compile_time); - - util_abort_set_executable( argv0 ); -} - - - -void parse_workflows(int argc , char ** argv , stringlist_type * workflows) { - /* bool workflow_on = false; */ - for (int iarg = 2; iarg < argc; iarg++) { - stringlist_append_copy( workflows , argv[iarg]); - - /*if (strcmp( argv[iarg] , WORKFLOW_OPTION) == 0) - workflow_on = true; - else { - if (workflow_on) - stringlist_append_copy( workflows , argv[iarg]); - else - fprintf(stderr,"**Warning - option:\'%s\' ignored\n",argv[iarg]); - } - */ - } -} - - - - -int main (int argc , char ** argv) { - text_splash(); - init_debug( argv[0] ); - printf("\n"); - printf("Documentation : %s \n","http://ert.nr.no"); - printf("git commit : %s \n",GIT_COMMIT); - printf("compile time : %s \n",COMPILE_TIME_STAMP); - printf("site config : %s \n", site_config_get_location()); - - enkf_main_install_SIGNALS(); /* Signals common to both tui and gui. */ - signal(SIGINT , util_abort_signal); /* Control C - tui only. */ - if (argc < 2) { - enkf_usage(); - exit(1); - } else { - const char * model_config_file = argv[1]; - stringlist_type * workflow_list = stringlist_alloc_new(); - - parse_workflows( argc , argv , workflow_list ); - if ( !(util_entry_readable(model_config_file) && util_is_file(model_config_file)) ) - util_exit("Can not read file %s - exiting \n", model_config_file); - - { - char * abs_config = util_alloc_realpath( model_config_file ); - printf("model config : %s \n\n", abs_config); - } - enkf_welcome( model_config_file ); - { - enkf_main_type * enkf_main = enkf_main_bootstrap(model_config_file , true , true); - enkf_main_run_workflows( enkf_main , workflow_list ); - enkf_tui_main_menu(enkf_main); - enkf_main_free(enkf_main); - } - - stringlist_free( workflow_list ); - util_abort_free_version_info(); /* No fucking leaks ... */ - } - exit(0); -} diff --git a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/timestamp.cmake b/ThirdParty/Ert/devel/libenkf/applications/ert_tui/timestamp.cmake deleted file mode 100644 index 683193bb06..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/ert_tui/timestamp.cmake +++ /dev/null @@ -1,4 +0,0 @@ -exec_program( svnversion ${PROJECT_SOURCE_DIR} OUTPUT_VARIABLE SVN_VERSION) -exec_program( date OUTPUT_VARIABLE COMPILE_TIME_STAMP) -file( WRITE ${CMAKE_CURRENT_BINARY_DIR}/build_timestamp.h "#define SVN_VERSION \"${SVN_VERSION}\"\n#define COMPILE_TIME_STAMP \"${COMPILE_TIME_STAMP}\"\n" ) - diff --git a/ThirdParty/Ert/devel/libenkf/applications/xml/doc/ERT.txt b/ThirdParty/Ert/devel/libenkf/applications/xml/doc/ERT.txt deleted file mode 100644 index 0ddc342313..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/xml/doc/ERT.txt +++ /dev/null @@ -1,108 +0,0 @@ - -Eclipse -ADD_FIXED_LENGTH_SCHEDULE_KW No Supporting unknown SCHEDULE keywords. -ADD_STATIC_KW No ... -DATA_FILE Yes Provide an ECLIPSE data file for the problem. -DATA_KW No ... -ECLBASE Yes Define a name for the ECLIPSE simulations. - -EQUIL_INIT_FILE No Use INIT_SECTION instead -GRID Yes Provide an ECLIPSE grid for the reservoir model. -INIT_SECTION Yes Initialization code for the reservoir model. -REFCASE No (but see HISTORY_SOURCE and SUMMARY) ... -SCHEDULE_FILE Yes Provide an ECLIPSE schedule file for the problem. -SCHEDULE_PREDICTION_FILE No A SCHEDULE file for predictions - not prased by ert. - - -Update -ENKF_RERUN No FALSE Should the simulations be restarted from time zero after each update. -RERUN_START No 0 ... -ENKF_SCHED_FILE No ... -LOCAL_CONFIG No A file with configuration information for local analysis. - - Enkf - ENKF_ALPHA No 1.50 Parameter controlling outlier behaviour in EnKF algorithm. - ENKF_MERGE_OBSERVATIONS No FALSE Should observations from many times be merged together. - ENKF_MODE No STANDARD Which EnKF algorithm should be used. - ENKF_TRUNCATION No 0.99 Cutoff used on singular value spectrum. - - -Queue_system -LSF_QUEUE No normal ... -LSF_RESOURCES No ... -MAX_RUNNING_LOCAL No The maximum number of running jobs when running locally. -MAX_RUNNING_LSF No ... -MAX_RUNNING_RSH No ... -QUEUE_SYSTEM No -RSH_COMMAND No ... -RSH_HOST_LIST No ... - - -System -SETENV No You can modify the UNIX environment with SETENV calls. -UPDATE_PATH No update_log Modify a UNIX path variable like LD_LIBRARY_PATH. -INSTALL_JOB No ... -JOB_SCRIPT No ... - - -Plot -PLOT_DRIVER No PLPLOT Which plotting system should be used. -PLOT_ERRORBAR_MAX No 25 Show error bars if less than this number of observations. -PLOT_HEIGHT No 768 Pixel height of the plots. -PLOT_PATH No plots Path to where the plots are stored. -PLOT_WIDTH No 1024 Pixel width of the plots. -IMAGE_TYPE No png The type of the images created when plotting. -IMAGE_VIEWER No /usr/bin/display External program spawned to view images. - - - -Ensemble -NUM_REALIZATIONS Yes Set the number of reservoir realizations to use. - Parameters - FIELD No ... - GEN_DATA No ... - GEN_KW No ... - GEN_PARAM No ... - SUMMARY No Add summary variables for internalization. - - - -Observations -HISTORY_SOURCE No ... -OBS_CONFIG No ... - - -Simulations -DELETE_RUNPATH No Explictly tell ert to delete the runpath when a job is complete. -FORWARD_MODEL No ... -KEEP_RUNPATH No ... -LICENSE_PATH No A path where ert-licenses to e.g. RMS are stored. -PRE_CLEAR_RUNPATH No FALSE Should the runpath be cleared before initializing? -RUNPATH No simulations/realization%d Directory to run simulations -RUN_TEMPLATE No Install arbitrary files in the runpath directory. -MAX_SUBMIT No 2 How many times should the queue system retry a simulation. -MAX_RESAMPLE No 1 How many times should ert resample & retry a simulation. -CASE_TABLE No For running sensitivies you can give the cases descriptive names. - - -DBASE -DBASE_TYPE No PLAIN Which 'database' system should be used for storage. -ENSPATH No storage ... - - -ACTION -SELECT_CASE No The current case / default You can tell ert to select a particular case on bootup. - - -LOG -LOG_FILE No log Name of log file -LOG_LEVEL No 1 How much logging? -UPDATE_LOG_PATH No Summary of the EnKF update steps are stored in this directory. - - - - - - - - diff --git a/ThirdParty/Ert/devel/libenkf/applications/xml/src/tree1.c b/ThirdParty/Ert/devel/libenkf/applications/xml/src/tree1.c deleted file mode 100644 index e768a8424c..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/xml/src/tree1.c +++ /dev/null @@ -1,112 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'tree1.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -/** - * section: Tree - * synopsis: Navigates a tree to print element names - * purpose: Parse a file to a tree, use xmlDocGetRootElement() to - * get the root element, then walk the document and print - * all the element name in document order. - * usage: tree1 filename_or_URL - * test: tree1 test2.xml > tree1.tmp ; diff tree1.tmp tree1.res ; rm tree1.tmp - * author: Dodji Seketeli - * copy: see Copyright for the status of this software. - */ -#include -#include -#include -#include - -#ifdef LIBXML_TREE_ENABLED - -/* - *To compile this file using gcc you can type - *gcc `xml2-config --cflags --libs` -o xmlexample libxml2-example.c - */ - -/** - * print_element_names: - * @a_node: the initial xml node to consider. - * - * Prints the names of the all the xml elements - * that are siblings or children of a given xml node. - */ -static void print_element_names(xmlNode * a_node, char *str) { - xmlNode *cur_node = NULL; - char level[100]; - sprintf(level, "%s-", str); - //strcat(level, str); - - for (cur_node = a_node; cur_node; cur_node = cur_node->next) { - if (cur_node->type == XML_ELEMENT_NODE) { - printf("%s node type: Element, name: %s\n", level, cur_node->name); - } - - print_element_names(cur_node->children, level); - } -} - - -/** - * Simple example to parse a fi le called "file.xml", - * walk down the DOM, and print the name of the - * xml elements nodes. - */ -int main(int argc, char **argv) { - xmlDoc *doc = NULL; - xmlNode *root_element = NULL; - - if (argc != 2) - return(1); - - /* - * this initialize the library and check potential ABI mismatches - * between the version it was compiled for and the actual shared - * library used. - */ - LIBXML_TEST_VERSION - - /*parse the file and get the DOM */ - doc = xmlReadFile(argv[1], NULL, 0); - - if (doc == NULL) { - printf("error: could not parse file %s\n", argv[1]); - } - - /*Get the root element node */ - root_element = xmlDocGetRootElement(doc); - - print_element_names(root_element, ""); - - /*free the document */ - xmlFreeDoc(doc); - - /* - *Free the global variables that may - *have been allocated by the parser. - */ - xmlCleanupParser(); - - return 0; -} -#else -int main(void) { - fprintf(stderr, "Tree support not compiled in\n"); - exit(1); -} -#endif diff --git a/ThirdParty/Ert/devel/libenkf/applications/xml/src/xpath1.c b/ThirdParty/Ert/devel/libenkf/applications/xml/src/xpath1.c deleted file mode 100644 index eee4bd391e..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/xml/src/xpath1.c +++ /dev/null @@ -1,211 +0,0 @@ -/* - Copyright (C) 2011 Statoil ASA, Norway. - - The file 'xpath1.c' is part of ERT - Ensemble based Reservoir Tool. - - ERT is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ERT is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License at - for more details. -*/ - -#include -#include -#include -#include - -#include -#include -#include -#include - -#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_SAX1_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) - - -static void usage(const char *name); -static int example(const char *filename); -static int setNodeValue(const xmlXPathContextPtr xc, const xmlChar * xpath, const xmlChar * value); -static void update_xpath_nodes(xmlNodeSetPtr nodes, const xmlChar * value); - - -int main(int argc, char **argv) { - /* Parse command line and process file */ - if (argc != 2) { - fprintf(stderr, "Error: wrong number of arguments.\n"); - usage(argv[0]); - return(-1); - } - - /* Init libxml */ - xmlInitParser(); - LIBXML_TEST_VERSION - - /* Do the main job */ - if (example(argv[1])) { - usage(argv[0]); - return(-1); - } - - /* Shutdown libxml */ - xmlCleanupParser(); - - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return 0; -} - -/** - * usage: - * @name: the program name. - * - * Prints usage information. - */ -static void usage(const char *name) { - assert(name); - - fprintf(stderr, "Usage: %s \n", name); -} - -/** - * example: - * @filename: the input XML filename. - * - * Parses input XML file, evaluates XPath expression and update the nodes - * then print the result. - * - * Returns 0 on success and a negative value otherwise. - */ -static int example(const char* filename) { - xmlDocPtr doc; - xmlXPathContextPtr xpathCtx; - - assert(filename); - - /* Load XML document */ - doc = xmlParseFile(filename); - if (doc == NULL) { - fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename); - return(-1); - } - - /* Create xpath evaluation context */ - xpathCtx = xmlXPathNewContext(doc); - if(xpathCtx == NULL) { - fprintf(stderr,"Error: unable to create new XPath context\n"); - xmlFreeDoc(doc); - return(-1); - } - - - //change the PATH attribute of GRID - if(setNodeValue(xpathCtx, "//ert/eclipse/grid/@path", "sillypath")) { - xmlFreeDoc(doc); - return -1; - } - - //node TEST does not exist but will not create an error. Prints "no nodes!" - if(setNodeValue(xpathCtx, "//ert/eclipse/test", "sillypath")) { - xmlFreeDoc(doc); - return -1; - } - - - - - - /* Cleanup of XPath data */ - xmlXPathFreeContext(xpathCtx); - - /* dump the resulting document */ - xmlDocDump(stdout, doc); - - - /* free the document */ - xmlFreeDoc(doc); - - return(0); -} - -static int setNodeValue(const xmlXPathContextPtr xc, const xmlChar* xpath, const xmlChar* value) { - xmlXPathObjectPtr xpathObj; - - /* Evaluate xpath expression */ - xpathObj = xmlXPathEvalExpression(xpath, xc); - if(xpathObj == NULL) { - fprintf(stderr,"Error: unable to evaluate xpath expression \"%s\"\n", xpath); - xmlXPathFreeContext(xc); - return(-1); - } - - if(xpathObj->nodesetval->nodeNr == 0) { - printf("No nodes!\n"); - } - /* update selected nodes */ - update_xpath_nodes(xpathObj->nodesetval, value); - xmlXPathFreeObject(xpathObj); - return 0; -} - -/** - * update_xpath_nodes: - * @nodes: the nodes set. - * @value: the new value for the node(s) - * - * Prints the @nodes content to @output. - */ -static void update_xpath_nodes(xmlNodeSetPtr nodes, const xmlChar* value) { - int size; - int i; - - assert(value); - size = (nodes) ? nodes->nodeNr : 0; - - /* - * NOTE: the nodes are processed in reverse order, i.e. reverse document - * order because xmlNodeSetContent can actually free up descendant - * of the node and such nodes may have been selected too ! Handling - * in reverse order ensure that descendant are accessed first, before - * they get removed. Mixing XPath and modifications on a tree must be - * done carefully ! - */ - for(i = size - 1; i >= 0; i--) { - assert(nodes->nodeTab[i]); - - xmlNodeSetContent(nodes->nodeTab[i], value); - /* - * All the elements returned by an XPath query are pointers to - * elements from the tree *except* namespace nodes where the XPath - * semantic is different from the implementation in libxml2 tree. - * As a result when a returned node set is freed when - * xmlXPathFreeObject() is called, that routine must check the - * element type. But node from the returned set may have been removed - * by xmlNodeSetContent() resulting in access to freed data. - * This can be exercised by running - * valgrind xpath2 test3.xml '//discarded' discarded - * There is 2 ways around it: - * - make a copy of the pointers to the nodes from the result set - * then call xmlXPathFreeObject() and then modify the nodes - * or - * - remove the reference to the modified nodes from the node set - * as they are processed, if they are not namespace nodes. - */ - if (nodes->nodeTab[i]->type != XML_NAMESPACE_DECL) - nodes->nodeTab[i] = NULL; - } -} - -#else -int main(void) { - fprintf(stderr, "XPath support not compiled in\n"); - exit(1); -} -#endif \ No newline at end of file diff --git a/ThirdParty/Ert/devel/libenkf/applications/xml/tests/enkf_config.xml b/ThirdParty/Ert/devel/libenkf/applications/xml/tests/enkf_config.xml deleted file mode 100644 index 94686b1de4..0000000000 --- a/ThirdParty/Ert/devel/libenkf/applications/xml/tests/enkf_config.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - EXAMPLE_01_BASE_%04d - - - - - - - - - - 0,3,10-20 - - - - - - - - BLOCK_FS - - - - - - 10 - - - - - REFCASE_SIMULATED - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 366 - 547 - 762 - 912 - 1096 - 1277 - 1461 - 1643 - - 2001-01-01 - 2001-07-01 - 2002-02-01 - 2002-07-01 - 2003-01-01 - 2003-07-01 - 2004-01-01 - 2004-07-01 - - - - - 2003-01-01 - - - - - - - - - - 10 - - - -