From 7507ca6d8f160b1d3a635c6cb9195a48df65fcb2 Mon Sep 17 00:00:00 2001 From: TheDuccinator <66538032+TheDuccinator@users.noreply.github.com> Date: Fri, 13 Jan 2023 18:26:19 -0800 Subject: [PATCH 001/121] Adding YET another demo song -Add OPNA song "Blue Nebula" -wert8ywf87ey8wyer8y7thwr87tgh90werkg --- demos/pc98/Blue_Nebula.fur | Bin 0 -> 3950 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 demos/pc98/Blue_Nebula.fur diff --git a/demos/pc98/Blue_Nebula.fur b/demos/pc98/Blue_Nebula.fur new file mode 100644 index 0000000000000000000000000000000000000000..5463316916538ffa45e8f58906fc40182734c566 GIT binary patch literal 3950 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 Date: Sat, 14 Jan 2023 01:12:16 -0500 Subject: [PATCH 002/121] freaking GCC and your artificial errors --- src/engine/platform/qsound.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engine/platform/qsound.cpp b/src/engine/platform/qsound.cpp index 57ab138c6..0bf6bf2a7 100644 --- a/src/engine/platform/qsound.cpp +++ b/src/engine/platform/qsound.cpp @@ -707,11 +707,11 @@ const void* DivPlatformQSound::getSampleMem(int index) { } size_t DivPlatformQSound::getSampleMemCapacity(int index) { - return index == 0 ? 16777216 : index == 1 ? MAX(0,16777216 - sampleMemUsage) : 0; + return index == 0 ? 16777216 : index == 1 ? (sampleMemUsage>=16777216?1:(16777216 - sampleMemUsage)) : 0; } size_t DivPlatformQSound::getSampleMemUsage(int index) { - return index == 0 ? sampleMemLen : index == 1 ? MAX(0,sampleMemLenBS - sampleMemUsage) : 0; + return index == 0 ? sampleMemLen : index == 1 ? ((sampleMemUsage>=sampleMemLenBS)?0:(sampleMemLenBS - sampleMemUsage)) : 0; } bool DivPlatformQSound::isSampleLoaded(int index, int sample) { From 380f761ee5ff2f432367e7c78b08a32930ad0b47 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 14 Jan 2023 03:57:57 -0500 Subject: [PATCH 003/121] add two demo songs by tildearrow --- demos/nes/the_best-1990.fur | Bin 0 -> 10600 bytes demos/nes/turtle_byte.fur | Bin 0 -> 35420 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 demos/nes/the_best-1990.fur create mode 100644 demos/nes/turtle_byte.fur diff --git a/demos/nes/the_best-1990.fur b/demos/nes/the_best-1990.fur new file mode 100644 index 0000000000000000000000000000000000000000..c5b62f15f39de90d3e421a3dd053e8966b04db45 GIT binary patch literal 10600 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 C4XN+| literal 0 HcmV?d00001 diff --git a/demos/nes/turtle_byte.fur b/demos/nes/turtle_byte.fur new file mode 100644 index 0000000000000000000000000000000000000000..b097ebc9090d92dc53c16d1ea4c826f8b4aefdbc GIT binary patch literal 35420 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 literal 0 HcmV?d00001 From 844db05f102441c83b46dcb1dd325b7edfe95419 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 14 Jan 2023 13:21:45 -0500 Subject: [PATCH 004/121] GUI: fix macro tooltip visual glitch --- src/gui/plot_nolerp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/plot_nolerp.cpp b/src/gui/plot_nolerp.cpp index f1120ed4a..12bfb9fca 100644 --- a/src/gui/plot_nolerp.cpp +++ b/src/gui/plot_nolerp.cpp @@ -367,7 +367,7 @@ int PlotCustomEx(ImGuiPlotType plot_type, const char* label, float (*values_gett if (plot_type == ImGuiPlotType_Lines) ImGui::SetTooltip("%d: %8.4g\n%d: %8.4g", v_idx, v0, v_idx + 1, v1); else if (plot_type == ImGuiPlotType_Histogram) - ImGui::SetTooltip("%d: %8.4g", v_idx+values_display_offset, v0); + ImGui::SetTooltip("%d: %d", v_idx+values_display_offset, (int)v0); } idx_hovered = v_idx; } From ed11b6cf78c779b4be67a6ef12f0b71a513c7a90 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 14 Jan 2023 13:34:08 -0500 Subject: [PATCH 005/121] Namco WSG: fix frequency overflow --- src/engine/platform/namcowsg.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/engine/platform/namcowsg.cpp b/src/engine/platform/namcowsg.cpp index cb4540f5c..4d49d2787 100644 --- a/src/engine/platform/namcowsg.cpp +++ b/src/engine/platform/namcowsg.cpp @@ -230,7 +230,7 @@ void DivPlatformNamcoWSG::tick(bool sysTick) { if (chan[i].std.pitch.had) { if (chan[i].std.pitch.mode) { chan[i].pitch2+=chan[i].std.pitch.val; - CLAMP_VAR(chan[i].pitch2,-32768,32767); + CLAMP_VAR(chan[i].pitch2,-1048575,1048575); } else { chan[i].pitch2=chan[i].std.pitch.val; } @@ -244,6 +244,7 @@ void DivPlatformNamcoWSG::tick(bool sysTick) { if (chan[i].freqChanged || chan[i].keyOn || chan[i].keyOff) { //DivInstrument* ins=parent->getIns(chan[i].ins,DIV_INS_PCE); chan[i].freq=parent->calcFreq(chan[i].baseFreq,chan[i].pitch,chan[i].fixedArp?chan[i].baseNoteOverride:chan[i].arpOff,chan[i].fixedArp,false,2,chan[i].pitch2,chipClock,CHIP_FREQBASE); + if (chan[i].freq<0) chan[i].freq=0; if (chan[i].freq>1048575) chan[i].freq=1048575; if (chan[i].keyOn) { } From 26e424fe9ff434ff429ffc442260cdf8bb9e6471 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 14 Jan 2023 13:51:02 -0500 Subject: [PATCH 006/121] GUI: use DeltaTime for soloTimeout issue #846 --- src/gui/gui.cpp | 9 +++++++-- src/gui/gui.h | 3 ++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 1ec735f1d..e8fb31286 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -5148,7 +5148,12 @@ bool FurnaceGUI::loop() { renderTimeDelta=renderTimeEnd-renderTimeBegin; eventTimeDelta=eventTimeEnd-eventTimeBegin; - if (--soloTimeout<0) soloTimeout=0; + soloTimeout-=ImGui::GetIO().DeltaTime*60.0f; + if (soloTimeout<0) { + soloTimeout=0; + } else { + WAKE_UP; + } wheelX=0; wheelY=0; @@ -5784,7 +5789,6 @@ FurnaceGUI::FurnaceGUI(): editStep(1), exportLoops(0), soloChan(-1), - soloTimeout(0), orderEditMode(0), orderCursor(-1), loopOrder(-1), @@ -5803,6 +5807,7 @@ FurnaceGUI::FurnaceGUI(): dragDestinationY(0), oldBeat(-1), oldBar(-1), + soloTimeout(0.0f), exportFadeOut(5.0), editControlsOpen(true), ordersOpen(true), diff --git a/src/gui/gui.h b/src/gui/gui.h index 15319f747..750d46f59 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -1447,9 +1447,10 @@ class FurnaceGUI { DivInstrument* prevInsData; - int curIns, curWave, curSample, curOctave, curOrder, prevIns, oldRow, oldOrder, oldOrder1, editStep, exportLoops, soloChan, soloTimeout, orderEditMode, orderCursor; + int curIns, curWave, curSample, curOctave, curOrder, prevIns, oldRow, oldOrder, oldOrder1, editStep, exportLoops, soloChan,orderEditMode, orderCursor; int loopOrder, loopRow, loopEnd, isClipping, extraChannelButtons, patNameTarget, newSongCategory, latchTarget; int wheelX, wheelY, dragSourceX, dragSourceY, dragDestinationX, dragDestinationY, oldBeat, oldBar; + float soloTimeout; double exportFadeOut; From b644de1c1f2f2cc426c859c16155cb9062f72e9d Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 14 Jan 2023 14:07:50 -0500 Subject: [PATCH 007/121] GUI: add setting for double click time --- src/gui/gui.cpp | 2 +- src/gui/gui.h | 2 ++ src/gui/pattern.cpp | 2 +- src/gui/settings.cpp | 11 +++++++++++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index e8fb31286..c22a1c2b6 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -5148,7 +5148,7 @@ bool FurnaceGUI::loop() { renderTimeDelta=renderTimeEnd-renderTimeBegin; eventTimeDelta=eventTimeEnd-eventTimeBegin; - soloTimeout-=ImGui::GetIO().DeltaTime*60.0f; + soloTimeout-=ImGui::GetIO().DeltaTime; if (soloTimeout<0) { soloTimeout=0; } else { diff --git a/src/gui/gui.h b/src/gui/gui.h index 750d46f59..48488eac4 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -1294,6 +1294,7 @@ class FurnaceGUI { int exportLoops; double exportFadeOut; int macroLayout; + float doubleClickTime; unsigned int maxUndoSteps; String mainFontPath; String patFontPath; @@ -1428,6 +1429,7 @@ class FurnaceGUI { exportLoops(0), exportFadeOut(0.0), macroLayout(0), + doubleClickTime(0.3f), maxUndoSteps(100), mainFontPath(""), patFontPath(""), diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index 3502b8a52..fbaf4e655 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -755,7 +755,7 @@ void FurnaceGUI::drawPattern() { soloTimeout=0; } else { e->toggleMute(i); - soloTimeout=20; + soloTimeout=settings.doubleClickTime; soloChan=i; } } diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index b998d3215..bcb90d35f 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -492,6 +492,13 @@ void FurnaceGUI::drawSettings() { ImGui::Separator(); + if (CWSliderFloat("Double-click time (seconds)",&settings.doubleClickTime,0.02,1.0,"%.2f")) { + if (settings.doubleClickTime<0.02) settings.doubleClickTime=0.02; + if (settings.doubleClickTime>1.0) settings.doubleClickTime=1.0; + + applyUISettings(false); + } + ImGui::Text("Toggle channel solo on:"); if (ImGui::RadioButton("Right-click or double-click##soloA",settings.soloAction==0)) { settings.soloAction=0; @@ -2557,6 +2564,7 @@ void FurnaceGUI::syncSettings() { settings.exportLoops=e->getConfInt("exportLoops",0); settings.exportFadeOut=e->getConfDouble("exportFadeOut",0.0); settings.macroLayout=e->getConfInt("macroLayout",0); + settings.doubleClickTime=e->getConfFloat("doubleClickTime",0.3f); clampSetting(settings.mainFontSize,2,96); clampSetting(settings.patFontSize,2,96); @@ -2667,6 +2675,7 @@ void FurnaceGUI::syncSettings() { clampSetting(settings.ordersCursor,0,1); clampSetting(settings.persistFadeOut,0,1); clampSetting(settings.macroLayout,0,4); + clampSetting(settings.doubleClickTime,0.02,1.0); if (settings.exportLoops<0.0) settings.exportLoops=0.0; if (settings.exportFadeOut<0.0) settings.exportFadeOut=0.0; @@ -2870,6 +2879,7 @@ void FurnaceGUI::commitSettings() { e->setConf("exportLoops",settings.exportLoops); e->setConf("exportFadeOut",settings.exportFadeOut); e->setConf("macroLayout",settings.macroLayout); + e->setConf("doubleClickTime",settings.doubleClickTime); // colors for (int i=0; i Date: Sat, 14 Jan 2023 14:57:03 -0500 Subject: [PATCH 008/121] use SDL2main --- CMakeLists.txt | 3 +++ src/main.cpp | 4 ---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9af0ba741..80e2c2fde 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -265,6 +265,9 @@ if (USE_SDL2) if (MSVC) list(APPEND DEPENDENCIES_COMPILE_OPTIONS "/DHAVE_LIBC") endif() + if (WIN32) + list(APPEND DEPENDENCIES_LIBRARIES SDL2main) + endif() message(STATUS "Using vendored SDL2") endif() else() diff --git a/src/main.cpp b/src/main.cpp index a16bce1cf..7d797fcfb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -613,7 +613,3 @@ int main(int argc, char** argv) { #endif return 0; } - -#ifdef _WIN32 -#include "winMain.cpp" -#endif From 8746d36eace79d754833e036e6b6fd6865419a2b Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 14 Jan 2023 23:16:29 -0500 Subject: [PATCH 009/121] finally fix that Windows 32-bit crash --- src/gui/scaling.cpp | 9 +++++---- src/gui/shellScalingStub.h | 36 ++++++++++++++++++++++++++++++++++++ src/main.cpp | 20 ++++++++++++++++++++ 3 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 src/gui/shellScalingStub.h diff --git a/src/gui/scaling.cpp b/src/gui/scaling.cpp index 7c42a1e33..1b8cfae35 100644 --- a/src/gui/scaling.cpp +++ b/src/gui/scaling.cpp @@ -24,7 +24,8 @@ #ifdef _WIN32 #include -typedef HRESULT (*GDFM)(HMONITOR,int,UINT*,UINT*); +#include "shellScalingStub.h" +typedef HRESULT (WINAPI *GDFM)(HMONITOR,MONITOR_DPI_TYPE,UINT*,UINT*); #endif #ifdef __APPLE__ @@ -71,9 +72,9 @@ double getScaleFactor(const char* driverHint) { return 1.0; } - unsigned int dpiX=96; - unsigned int dpiY=96; - HRESULT result=ta_GetDpiForMonitor(disp,0,&dpiX,&dpiY); + UINT dpiX=96; + UINT dpiY=96; + HRESULT result=ta_GetDpiForMonitor(disp,MDT_EFFECTIVE_DPI,&dpiX,&dpiY); if (result!=S_OK) { logW("GetDpiForMonitor failure (%.8x) - no scaling detection available!",result); diff --git a/src/gui/shellScalingStub.h b/src/gui/shellScalingStub.h new file mode 100644 index 000000000..88ddf2f7e --- /dev/null +++ b/src/gui/shellScalingStub.h @@ -0,0 +1,36 @@ +/* + * Copyright 2016 Sebastian Lackner + * + * 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef __WINE_SHELLSCALINGAPI_H + +typedef enum MONITOR_DPI_TYPE +{ + MDT_EFFECTIVE_DPI = 0, + MDT_ANGULAR_DPI = 1, + MDT_RAW_DPI = 2, + MDT_DEFAULT = MDT_EFFECTIVE_DPI, +} MONITOR_DPI_TYPE; + +typedef enum PROCESS_DPI_AWARENESS +{ + PROCESS_DPI_UNAWARE, + PROCESS_SYSTEM_DPI_AWARE, + PROCESS_PER_MONITOR_DPI_AWARE +} PROCESS_DPI_AWARENESS; + +#endif /* __WINE_SHELLSCALINGAPI_H */ diff --git a/src/main.cpp b/src/main.cpp index 7d797fcfb..ef335a223 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -32,6 +32,10 @@ #include #include #include + +#include "gui/shellScalingStub.h" + +typedef HRESULT (WINAPI *SPDA)(PROCESS_DPI_AWARENESS); #else #include #endif @@ -339,6 +343,22 @@ void reportError(String what) { int main(int argc, char** argv) { initLog(); #ifdef _WIN32 + // set DPI awareness + HMODULE shcore=LoadLibraryW(L"shcore.dll"); + if (shcore!=NULL) { + SPDA ta_SetProcessDpiAwareness=(SPDA)GetProcAddress(shcore,"SetProcessDpiAwareness"); + if (ta_SetProcessDpiAwareness!=NULL) { + HRESULT result=ta_SetProcessDpiAwareness(PROCESS_PER_MONITOR_DPI_AWARE); + if (result!=S_OK) { + // ??? + } + } + if (!FreeLibrary(shcore)) { + // ??? + } + } + + // co initialize ex HRESULT coResult=CoInitializeEx(NULL,COINIT_MULTITHREADED); if (coResult!=S_OK) { logE("CoInitializeEx failed!"); From a3be1c9af63a743e9b9de68eb58291b5f87599c2 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 14 Jan 2023 23:17:09 -0500 Subject: [PATCH 010/121] CI: re-enable MinGW/Linux builds --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 980062769..11940edad 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,11 +20,11 @@ jobs: config: - { name: 'Windows MSVC x86', os: windows-latest, compiler: msvc, arch: x86 } - { name: 'Windows MSVC x86_64', os: windows-latest, compiler: msvc, arch: x86_64 } - ##- { name: 'Windows MinGW x86', os: ubuntu-20.04, compiler: mingw, arch: x86 } - ##- { name: 'Windows MinGW x86_64', os: ubuntu-20.04, compiler: mingw, arch: x86_64 } + - { name: 'Windows MinGW x86', os: ubuntu-20.04, compiler: mingw, arch: x86 } + - { name: 'Windows MinGW x86_64', os: ubuntu-20.04, compiler: mingw, arch: x86_64 } - { name: 'macOS x86_64', os: macos-latest, arch: x86_64 } - { name: 'macOS ARM', os: macos-latest, arch: arm64 } - ##- { name: 'Linux x86_64', os: ubuntu-18.04, arch: x86_64 } + - { name: 'Linux x86_64', os: ubuntu-18.04, arch: x86_64 } #- { name: 'Linux ARM', os: ubuntu-18.04, arch: armhf } fail-fast: false From cf3e907501baf6c10e3f82fe04420cdef31c9dd2 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 14 Jan 2023 23:33:19 -0500 Subject: [PATCH 011/121] CI: go back to release mode --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 11940edad..9c4b11c46 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,7 +11,7 @@ defaults: shell: bash env: - BUILD_TYPE: Debug + BUILD_TYPE: Release jobs: build: From f4d922822a79dd4891614d1adc35e07d2116a913 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 15 Jan 2023 00:01:54 -0500 Subject: [PATCH 012/121] add PCE demo by Fragmare --- demos/pce/Bad_Dudes_Greased_Lightning.fur | Bin 0 -> 4532 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 demos/pce/Bad_Dudes_Greased_Lightning.fur diff --git a/demos/pce/Bad_Dudes_Greased_Lightning.fur b/demos/pce/Bad_Dudes_Greased_Lightning.fur new file mode 100644 index 0000000000000000000000000000000000000000..98209900ed451f5a77c6229a8c1e4de07057e1f0 GIT binary patch literal 4532 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%0DxO}CAT|TPB1Yz5! zsal8CvnfyjN&URG`|rJiE2BHxf-_&riS;1jqoaa7T5$x*O9jx|9ir7VW!EP3Zi2)EYo!#!> zR+4(lTJlye&?kOs+65N5 z>zKcoSog%_%awh(p0hbcwa~%X?WUP z!~stc#!Jok9oK|RkL_kZ$+Gie?C|t&;yg(DgYk9VcdSDg_+mE<$PjajGXXI Date: Sun, 15 Jan 2023 00:40:57 -0500 Subject: [PATCH 013/121] SoundUnit: separate flag register issue #649 --- src/engine/platform/sound/su.cpp | 38 +++++++++++++++----------------- src/engine/platform/sound/su.h | 10 ++++++--- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/src/engine/platform/sound/su.cpp b/src/engine/platform/sound/su.cpp index 4d98892cc..f7bb24b31 100644 --- a/src/engine/platform/sound/su.cpp +++ b/src/engine/platform/sound/su.cpp @@ -17,13 +17,13 @@ void SoundUnit::NextSample(short* l, short* r) { // run channels for (int i=0; i<8; i++) { - if (chan[i].vol==0 && !chan[i].flags.swvol) { + if (chan[i].vol==0 && !chan[i].flags1.swvol) { fns[i]=0; continue; } - if (chan[i].flags.pcm) { + if (chan[i].flags0.pcm) { ns[i]=pcm[chan[i].pcmpos]; - } else switch (chan[i].flags.shape) { + } else switch (chan[i].flags0.shape) { case 0: ns[i]=(((cycle[i]>>15)&127)>chan[i].duty)*127; break; @@ -47,11 +47,11 @@ void SoundUnit::NextSample(short* l, short* r) { break; } - if (chan[i].flags.ring) { + if (chan[i].flags0.ring) { ns[i]=(ns[i]*ns[(i+1)&7])>>7; } - if (chan[i].flags.pcm) { + if (chan[i].flags0.pcm) { if (chan[i].freq>0x8000) { pcmdec[i]+=0x8000; } else { @@ -62,18 +62,18 @@ void SoundUnit::NextSample(short* l, short* r) { if (chan[i].pcmpos>4)&3) { case 0: cycle[i]+=chan[i].freq*1-(chan[i].freq>>3); @@ -92,7 +92,7 @@ void SoundUnit::NextSample(short* l, short* r) { cycle[i]+=chan[i].freq; } if ((cycle[i]&0xf80000)!=(ocycle[i]&0xf80000)) { - if (chan[i].flags.shape==4) { + if (chan[i].flags0.shape==4) { lfsr[i]=(lfsr[i]>>1|(((lfsr[i]) ^ (lfsr[i] >> 2) ^ (lfsr[i] >> 3) ^ (lfsr[i] >> 5) ) & 1)<<31); } else { switch ((chan[i].duty>>4)&3) { @@ -114,7 +114,7 @@ void SoundUnit::NextSample(short* l, short* r) { } } } - if (chan[i].flags.restim) { + if (chan[i].flags1.restim) { if (--rcycle[i]<=0) { cycle[i]=0; rcycle[i]=chan[i].restimer; @@ -122,19 +122,18 @@ void SoundUnit::NextSample(short* l, short* r) { } } } - fns[i]=ns[i]*chan[i].vol*(chan[i].flags.pcm?4:2); - if (chan[i].flags.fmode!=0) { + fns[i]=ns[i]*chan[i].vol*(chan[i].flags0.pcm?4:2); + if (chan[i].flags0.fmode!=0) { int ff=chan[i].cutoff; nslow[i]=nslow[i]+(((ff)*nsband[i])>>16); nshigh[i]=fns[i]-nslow[i]-(((256-chan[i].reson)*nsband[i])>>8); nsband[i]=(((ff)*nshigh[i])>>16)+nsband[i]; - fns[i]=(((chan[i].flags.fmode&1)?(nslow[i]):(0))+((chan[i].flags.fmode&2)?(nshigh[i]):(0))+((chan[i].flags.fmode&4)?(nsband[i]):(0))); + fns[i]=(((chan[i].flags0.fmode&1)?(nslow[i]):(0))+((chan[i].flags0.fmode&2)?(nshigh[i]):(0))+((chan[i].flags0.fmode&4)?(nsband[i]):(0))); } nsL[i]=(fns[i]*SCpantabL[(unsigned char)chan[i].pan])>>8; nsR[i]=(fns[i]*SCpantabR[(unsigned char)chan[i].pan])>>8; oldfreq[i]=chan[i].freq; - oldflags[i]=chan[i].flags.flags; - if (chan[i].flags.swvol) { + if (chan[i].flags1.swvol) { if (--swvolt[i]<=0) { swvolt[i]=chan[i].swvol.speed; if (chan[i].swvol.dir) { @@ -174,7 +173,7 @@ void SoundUnit::NextSample(short* l, short* r) { } } } - if (chan[i].flags.swfreq) { + if (chan[i].flags1.swfreq) { if (--swfreqt[i]<=0) { swfreqt[i]=chan[i].swfreq.speed; if (chan[i].swfreq.dir) { @@ -198,7 +197,7 @@ void SoundUnit::NextSample(short* l, short* r) { } } } - if (chan[i].flags.swcut) { + if (chan[i].flags1.swcut) { if (--swcutt[i]<=0) { swcutt[i]=chan[i].swcut.speed; if (chan[i].swcut.dir) { @@ -222,11 +221,11 @@ void SoundUnit::NextSample(short* l, short* r) { } } } - if (chan[i].flags.resosc) { + if (chan[i].flags1.resosc) { cycle[i]=0; rcycle[i]=chan[i].restimer; ocycle[i]=0; - chan[i].flags.resosc=0; + chan[i].flags1.resosc=0; } if (muted[i]) { nsL[i]=0; @@ -377,7 +376,6 @@ void SoundUnit::Reset() { swcutt[i]=1; lfsr[i]=0xaaaa; oldfreq[i]=0; - oldflags[i]=0; pcmdec[i]=0; } dsCounterL=0; diff --git a/src/engine/platform/sound/su.h b/src/engine/platform/sound/su.h index 546acfc9c..528d545b5 100644 --- a/src/engine/platform/sound/su.h +++ b/src/engine/platform/sound/su.h @@ -25,7 +25,6 @@ class SoundUnit { signed char ilFeedback0; signed char ilFeedback1; unsigned short oldfreq[8]; - unsigned short oldflags[8]; unsigned int pcmSize; bool dsOut; short dsCounterL, dsCounterR; @@ -44,12 +43,17 @@ class SoundUnit { signed char vol; signed char pan; union { - unsigned short flags; + unsigned char val; struct { unsigned char shape: 3; unsigned char pcm: 1; unsigned char ring: 1; unsigned char fmode: 3; + }; + } flags0; + union { + unsigned char val; + struct { unsigned char resosc: 1; unsigned char resfilt: 1; unsigned char pcmloop: 1; @@ -59,7 +63,7 @@ class SoundUnit { unsigned char swcut: 1; unsigned char padding: 1; }; - } flags; + } flags1; unsigned short cutoff; unsigned char duty; unsigned char reson; From cb11d3f268003e1143788cfb827204d90c6572b1 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 15 Jan 2023 00:45:31 -0500 Subject: [PATCH 014/121] strict-aliasing........ --- src/engine/safeReader.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/engine/safeReader.cpp b/src/engine/safeReader.cpp index 76e337a3d..428c91502 100644 --- a/src/engine/safeReader.cpp +++ b/src/engine/safeReader.cpp @@ -136,7 +136,9 @@ float SafeReader::readF() { memcpy(&ret,&buf[curSeek],4); curSeek+=4; ret=((ret>>24)|((ret&0xff0000)>>8)|((ret&0xff00)<<8)|((ret&0xff)<<24)); - return *((float*)(&ret)); + float realRet; + memcpy(&realRet,&ret,4); + return realRet; } double SafeReader::readD() { @@ -153,7 +155,9 @@ double SafeReader::readD() { retB[5]=ret[2]; retB[6]=ret[1]; retB[7]=ret[0]; - return *((double*)retB); + double realRet; + memcpy(&realRet,retB,8); + return realRet; } #else short SafeReader::readS() { From 9ada18a57a8d3ec76ea11eabfbc547ba340f0059 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 15 Jan 2023 01:20:31 -0500 Subject: [PATCH 015/121] VGM export: always write stream freq first --- src/engine/engine.h | 2 +- src/engine/vgmOps.cpp | 48 ++++++++++++++++++++++++++++++++----------- 2 files changed, 37 insertions(+), 13 deletions(-) diff --git a/src/engine/engine.h b/src/engine/engine.h index 31edc8c85..ffa97d755 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -442,7 +442,7 @@ class DivEngine { void processRow(int i, bool afterDelay); void nextOrder(); void nextRow(); - void performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write, int streamOff, double* loopTimer, double* loopFreq, int* loopSample, bool* sampleDir, bool isSecond, bool directStream); + void performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write, int streamOff, double* loopTimer, double* loopFreq, int* loopSample, bool* sampleDir, bool isSecond, int* pendingFreq, int* playingSample, bool directStream); // returns true if end of song. bool nextTick(bool noAccum=false, bool inhibitLowLat=false); bool perSystemEffect(int ch, unsigned char effect, unsigned char effectVal); diff --git a/src/engine/vgmOps.cpp b/src/engine/vgmOps.cpp index 9e4557de3..51d477554 100644 --- a/src/engine/vgmOps.cpp +++ b/src/engine/vgmOps.cpp @@ -24,7 +24,7 @@ constexpr int MASTER_CLOCK_PREC=(sizeof(void*)==8)?8:0; -void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write, int streamOff, double* loopTimer, double* loopFreq, int* loopSample, bool* sampleDir, bool isSecond, bool directStream) { +void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write, int streamOff, double* loopTimer, double* loopFreq, int* loopSample, bool* sampleDir, bool isSecond, int* pendingFreq, int* playingSample, bool directStream) { unsigned char baseAddr1=isSecond?0xa0:0x50; unsigned char baseAddr2=isSecond?0x80:0; unsigned short baseAddr2S=isSecond?0x8000:0; @@ -541,14 +541,19 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write switch (write.addr&0xff) { case 0: // play sample if (write.valwriteC(0x95); - w->writeC(streamID); - w->writeS(write.val); // sample number - w->writeC((sample->getLoopStartPosition(DIV_SAMPLE_DEPTH_8BIT)==0)|(sampleDir[streamID]?0x10:0)); // flags - if (sample->isLoopable() && !sampleDir[streamID]) { - loopTimer[streamID]=sample->length8; - loopSample[streamID]=write.val; + if (playingSample[streamID]!=write.val) { + pendingFreq[streamID]=write.val; + } else { + DivSample* sample=song.sample[write.val]; + w->writeC(0x95); + w->writeC(streamID); + w->writeS(write.val); // sample number + w->writeC((sample->getLoopStartPosition(DIV_SAMPLE_DEPTH_8BIT)==0)|(sampleDir[streamID]?0x10:0)); // flags + if (sample->isLoopable() && !sampleDir[streamID]) { + loopTimer[streamID]=sample->length8; + loopSample[streamID]=write.val; + } + playingSample[streamID]=write.val; } } break; @@ -557,11 +562,26 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write w->writeC(streamID); w->writeI(write.val); loopFreq[streamID]=write.val; + if (pendingFreq[streamID]!=-1) { + DivSample* sample=song.sample[pendingFreq[streamID]]; + w->writeC(0x95); + w->writeC(streamID); + w->writeS(pendingFreq[streamID]); // sample number + w->writeC((sample->getLoopStartPosition(DIV_SAMPLE_DEPTH_8BIT)==0)|(sampleDir[streamID]?0x10:0)); // flags + if (sample->isLoopable() && !sampleDir[streamID]) { + loopTimer[streamID]=sample->length8; + loopSample[streamID]=write.val; + } + playingSample[streamID]=pendingFreq[streamID]; + pendingFreq[streamID]=-1; + } break; case 2: // stop sample w->writeC(0x94); w->writeC(streamID); loopSample[streamID]=-1; + playingSample[streamID]=-1; + pendingFreq[streamID]=-1; break; case 3: // set sample direction sampleDir[streamID]=write.val; @@ -979,7 +999,9 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p double loopFreq[DIV_MAX_CHANS]; int loopSample[DIV_MAX_CHANS]; bool sampleDir[DIV_MAX_CHANS]; - std::vector chipVol; + int pendingFreq[DIV_MAX_CHANS]; + int playingSample[DIV_MAX_CHANS]; + std::vector chipVol; std::vector delayedWrites[DIV_MAX_CHIPS]; std::vector> sortedWrites; @@ -987,6 +1009,8 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p loopTimer[i]=0; loopFreq[i]=0; loopSample[i]=-1; + pendingFreq[i]=-1; + playingSample[i]=-1; sampleDir[i]=false; } @@ -1991,7 +2015,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p for (int i=0; i& writes=disCont[i].dispatch->getRegisterWrites(); for (DivRegWrite& j: writes) { - performVGMWrite(w,song.system[i],j,streamIDs[i],loopTimer,loopFreq,loopSample,sampleDir,isSecond[i],directStream); + performVGMWrite(w,song.system[i],j,streamIDs[i],loopTimer,loopFreq,loopSample,sampleDir,isSecond[i],pendingFreq,playingSample,directStream); writeCount++; } writes.clear(); @@ -2031,7 +2055,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p lastOne=i.second.time; } // write write - performVGMWrite(w,song.system[i.first],i.second.write,streamIDs[i.first],loopTimer,loopFreq,loopSample,sampleDir,isSecond[i.first],directStream); + performVGMWrite(w,song.system[i.first],i.second.write,streamIDs[i.first],loopTimer,loopFreq,loopSample,sampleDir,isSecond[i.first],pendingFreq,playingSample,directStream); writeCount++; } sortedWrites.clear(); From a3d20ac3fd3e866d7251d9209f11659c5f44d3c7 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 15 Jan 2023 01:46:34 -0500 Subject: [PATCH 016/121] WonderSwan: why does this not work --- src/engine/platform/swan.cpp | 22 +++++++++++++++------- src/engine/platform/swan.h | 1 + src/engine/vgmOps.cpp | 2 +- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/engine/platform/swan.cpp b/src/engine/platform/swan.cpp index f5a2dfb9a..001d2957a 100644 --- a/src/engine/platform/swan.cpp +++ b/src/engine/platform/swan.cpp @@ -22,6 +22,7 @@ #include #define rWrite(a,v) if (!skipRegisterWrites) {writes.emplace(a,v); if (dumpWrites) {addWrite(a,v);}} +#define postWrite(a,v) postDACWrites.emplace(a,v); #define CHIP_DIVIDER 32 @@ -186,7 +187,7 @@ void DivPlatformSwan::tick(bool sysTick) { } } dacRate=((double)chipClock/2)/MAX(1,off*chan[i].freq); - if (dumpWrites) addWrite(0xffff0001,dacRate); + if (dumpWrites) postWrite(0xffff0001,dacRate); } if (chan[i].freq>2048) chan[i].freq=2048; if (chan[i].freq<1) chan[i].freq=1; @@ -217,6 +218,12 @@ void DivPlatformSwan::tick(bool sysTick) { } } rWrite(0x10,sndCtrl); + + while (!postDACWrites.empty()) { + const DivRegWrite& w=postDACWrites.back(); + if (dumpWrites) addWrite(w.addr,w.val); + postDACWrites.pop(); + } } int DivPlatformSwan::dispatch(DivCommand c) { @@ -237,11 +244,11 @@ int DivPlatformSwan::dispatch(DivCommand c) { if (c.value!=DIV_NOTE_NULL) dacSample=ins->amiga.getSample(c.value); if (dacSample<0 || dacSample>=parent->song.sampleLen) { dacSample=-1; - if (dumpWrites) addWrite(0xffff0002,0); + if (dumpWrites) postWrite(0xffff0002,0); break; } else { if (dumpWrites) { - addWrite(0xffff0000,dacSample); + postWrite(0xffff0000,dacSample); } } if (c.value!=DIV_NOTE_NULL) { @@ -260,14 +267,14 @@ int DivPlatformSwan::dispatch(DivCommand c) { dacSample=12*sampleBank+chan[1].note%12; if (dacSample>=parent->song.sampleLen) { dacSample=-1; - if (dumpWrites) addWrite(0xffff0002,0); + if (dumpWrites) postWrite(0xffff0002,0); break; } else { - if (dumpWrites) addWrite(0xffff0000,dacSample); + if (dumpWrites) postWrite(0xffff0000,dacSample); } dacRate=parent->getSample(dacSample)->rate; if (dumpWrites) { - addWrite(0xffff0001,dacRate); + postWrite(0xffff0001,dacRate); } chan[1].active=true; chan[1].keyOn=true; @@ -298,7 +305,7 @@ int DivPlatformSwan::dispatch(DivCommand c) { case DIV_CMD_NOTE_OFF: if (c.chan==1&&pcm) { dacSample=-1; - if (dumpWrites) addWrite(0xffff0002,0); + if (dumpWrites) postWrite(0xffff0002,0); pcm=false; } chan[c.chan].active=false; @@ -463,6 +470,7 @@ int DivPlatformSwan::getRegisterPoolSize() { void DivPlatformSwan::reset() { while (!writes.empty()) writes.pop(); + while (!postDACWrites.empty()) postDACWrites.pop(); memset(regPool,0,128); for (int i=0; i<4; i++) { chan[i]=Channel(); diff --git a/src/engine/platform/swan.h b/src/engine/platform/swan.h index 6f129e6dd..10e769fc4 100644 --- a/src/engine/platform/swan.h +++ b/src/engine/platform/swan.h @@ -51,6 +51,7 @@ class DivPlatformSwan: public DivDispatch { QueuedWrite(unsigned char a, unsigned char v): addr(a), val(v) {} }; std::queue writes; + std::queue postDACWrites; WSwan* ws; void updateWave(int ch); friend void putDispatchChip(void*,int); diff --git a/src/engine/vgmOps.cpp b/src/engine/vgmOps.cpp index 51d477554..4c82b729a 100644 --- a/src/engine/vgmOps.cpp +++ b/src/engine/vgmOps.cpp @@ -570,7 +570,7 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write w->writeC((sample->getLoopStartPosition(DIV_SAMPLE_DEPTH_8BIT)==0)|(sampleDir[streamID]?0x10:0)); // flags if (sample->isLoopable() && !sampleDir[streamID]) { loopTimer[streamID]=sample->length8; - loopSample[streamID]=write.val; + loopSample[streamID]=pendingFreq[streamID]; } playingSample[streamID]=pendingFreq[streamID]; pendingFreq[streamID]=-1; From 6c5f9886fb25190b96d411658cf61108c69a01c5 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 15 Jan 2023 02:10:24 -0500 Subject: [PATCH 017/121] OPL: fix t/hh per-chan osc not being visib in OPL3 --- src/engine/platform/opl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index 4e798c6e5..2c6c15903 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -1509,7 +1509,7 @@ DivMacroInt* DivPlatformOPL::getChanMacroInt(int ch) { } DivDispatchOscBuffer* DivPlatformOPL::getOscBuffer(int ch) { - if (ch>=18) return NULL; + if (ch>=totalChans) return NULL; if (oplType==3 && ch<12) { if (chan[ch&(~1)].fourOp) { if (ch&1) { From 17cb32fe9eca5683887dc6e1ca8f8ebb5c432086 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 15 Jan 2023 03:54:11 -0500 Subject: [PATCH 018/121] VGM export: improve volumes --- src/engine/vgmOps.cpp | 79 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 72 insertions(+), 7 deletions(-) diff --git a/src/engine/vgmOps.cpp b/src/engine/vgmOps.cpp index 4c82b729a..bb8a31cd0 100644 --- a/src/engine/vgmOps.cpp +++ b/src/engine/vgmOps.cpp @@ -883,16 +883,20 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write } #define CHIP_VOL(_id,_mult) { \ - double _vol=fabs((float)song.systemVol[i])*4.0*_mult; \ + double _vol=fabs((float)song.systemVol[i])*256.0*_mult; \ if (_vol<0.0) _vol=0.0; \ if (_vol>32767.0) _vol=32767.0; \ + chipVolSum+=(unsigned int)(_vol/_mult); \ + chipAccounting++; \ chipVol.push_back((_id)|(0x80000000)|(((unsigned int)_vol)<<16)); \ } #define CHIP_VOL_SECOND(_id,_mult) { \ - double _vol=fabs((float)song.systemVol[i])*4.0*_mult; \ + double _vol=fabs((float)song.systemVol[i])*256.0*_mult; \ if (_vol<0.0) _vol=0.0; \ if (_vol>32767.0) _vol=32767.0; \ + chipVolSum+=(unsigned int)(_vol/_mult); \ + chipAccounting++; \ chipVol.push_back((_id)|(0x80000100)|(((unsigned int)_vol)<<16)); \ } @@ -977,6 +981,8 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p int hasLynx=0; int howManyChips=0; + int chipVolSum=0; + int chipAccounting=0; int loopPos=-1; int loopTick=-1; @@ -1040,7 +1046,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_SMS: if (!hasSN) { hasSN=disCont[i].dispatch->chipClock; - CHIP_VOL(0,1.0); + CHIP_VOL(0,2.0); willExport[i]=true; switch (song.systemFlags[i].getInt("chipType",0)) { case 1: // real SN @@ -1059,7 +1065,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p } else if (!(hasSN&0x40000000)) { isSecond[i]=true; willExport[i]=true; - CHIP_VOL_SECOND(0,1.0); + CHIP_VOL_SECOND(0,2.0); hasSN|=0x40000000; howManyChips++; } @@ -1067,9 +1073,11 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_GB: if (!hasGB) { hasGB=disCont[i].dispatch->chipClock; + CHIP_VOL(19,0.75); willExport[i]=true; } else if (!(hasGB&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(19,0.75); willExport[i]=true; hasGB|=0x40000000; howManyChips++; @@ -1078,10 +1086,12 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_PCE: if (!hasPCE) { hasPCE=disCont[i].dispatch->chipClock; + CHIP_VOL(27,0.98); willExport[i]=true; writePCESamples=true; } else if (!(hasPCE&0x40000000)) { isSecond[i]=true; + CHIP_VOL(27,0.98); willExport[i]=true; hasPCE|=0x40000000; howManyChips++; @@ -1090,10 +1100,12 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_NES: if (!hasNES) { hasNES=disCont[i].dispatch->chipClock; + CHIP_VOL(20,1.7); willExport[i]=true; writeNESSamples=true; } else if (!(hasNES&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(20,1.7); willExport[i]=true; hasNES|=0x40000000; howManyChips++; @@ -1103,10 +1115,12 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_SEGAPCM_COMPAT: if (!hasSegaPCM) { hasSegaPCM=4000000; + CHIP_VOL(4,0.67); willExport[i]=true; writeSegaPCM=1; } else if (!(hasSegaPCM&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(4,0.67); willExport[i]=true; writeSegaPCM=2; hasSegaPCM|=0x40000000; @@ -1116,10 +1130,12 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_X1_010: if (!hasX1) { hasX1=disCont[i].dispatch->chipClock; + CHIP_VOL(38,0.5); willExport[i]=true; writeX1010[0]=disCont[i].dispatch; } else if (!(hasX1&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(38,0.5); willExport[i]=true; writeX1010[1]=disCont[i].dispatch; hasX1|=0x40000000; @@ -1134,10 +1150,14 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_YM2610B_EXT: if (!hasOPNB) { hasOPNB=disCont[i].dispatch->chipClock; + CHIP_VOL(8,1.0); + CHIP_VOL(0x88,1.25); willExport[i]=true; writeADPCM_OPNB[0]=disCont[i].dispatch; } else if (!(hasOPNB&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(8,1.0); + CHIP_VOL_SECOND(0x88,1.25); willExport[i]=true; writeADPCM_OPNB[1]=disCont[i].dispatch; hasOPNB|=0x40000000; @@ -1182,9 +1202,11 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p if (hasStereo && song.systemFlags[i].getBool("stereo",false)) { ayFlags|=0x80; } + CHIP_VOL(18,1.0); willExport[i]=true; } else if (!(hasAY&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(18,1.0); willExport[i]=true; hasAY|=0x40000000; howManyChips++; @@ -1194,9 +1216,11 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_SAA1099: if (!hasSAA) { hasSAA=disCont[i].dispatch->chipClock; + CHIP_VOL(35,1.0); willExport[i]=true; } else if (!(hasSAA&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(35,1.0); willExport[i]=true; hasSAA|=0x40000000; howManyChips++; @@ -1208,10 +1232,12 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_YM2612_DUALPCM_EXT: if (!hasOPN2) { hasOPN2=disCont[i].dispatch->chipClock; + CHIP_VOL(2,0.8); willExport[i]=true; writeDACSamples=true; } else if (!(hasOPN2&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(2,0.8); willExport[i]=true; hasOPN2|=0x40000000; howManyChips++; @@ -1220,9 +1246,11 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_YM2151: if (!hasOPM) { hasOPM=disCont[i].dispatch->chipClock; + CHIP_VOL(3,1.0); willExport[i]=true; } else if (!(hasOPM&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(3,1.0); willExport[i]=true; hasOPM|=0x40000000; howManyChips++; @@ -1233,10 +1261,14 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p if (!hasOPN) { hasOPN=disCont[i].dispatch->chipClock; willExport[i]=true; + CHIP_VOL(6,1.0); + CHIP_VOL(0x86,1.7); writeDACSamples=true; } else if (!(hasOPN&0x40000000)) { isSecond[i]=true; willExport[i]=true; + CHIP_VOL_SECOND(6,1.0); + CHIP_VOL_SECOND(0x86,1.7); hasOPN|=0x40000000; howManyChips++; } @@ -1245,10 +1277,14 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_YM2608_EXT: if (!hasOPNA) { hasOPNA=disCont[i].dispatch->chipClock; + CHIP_VOL(7,1.0); + CHIP_VOL(0x87,1.3); willExport[i]=true; writeADPCM_OPNA[0]=disCont[i].dispatch; } else if (!(hasOPNA&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(7,1.0); + CHIP_VOL_SECOND(0x87,1.3); willExport[i]=true; writeADPCM_OPNA[1]=disCont[i].dispatch; hasOPNA|=0x40000000; @@ -1260,9 +1296,11 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_VRC7: if (!hasOPLL) { hasOPLL=disCont[i].dispatch->chipClock; + CHIP_VOL(1,1.6); willExport[i]=true; } else if (!(hasOPLL&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(1,1.6); willExport[i]=true; hasOPLL|=0x40000000; howManyChips++; @@ -1285,9 +1323,11 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_POKEY: if (!hasPOKEY) { hasPOKEY=disCont[i].dispatch->chipClock; + CHIP_VOL(30,0.8); willExport[i]=true; } else if (!(hasPOKEY&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(30,0.8); willExport[i]=true; hasPOKEY|=0x40000000; howManyChips++; @@ -1310,10 +1350,12 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p // However I think it it not necessary because old VGM players will still // not be able to handle the 64kb sample bank trick hasQSound=disCont[i].dispatch->chipClock; + CHIP_VOL(31,1.0); willExport[i]=true; writeQSound[0]=disCont[i].dispatch; } else if (!(hasQSound&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(31,1.0); willExport[i]=false; writeQSound[1]=disCont[i].dispatch; addWarning("dual QSound is not supported by the VGM format"); @@ -1322,6 +1364,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_SWAN: if (!hasSwan) { hasSwan=disCont[i].dispatch->chipClock; + CHIP_VOL(33,1.0); willExport[i]=true; // funny enough, VGM doesn't have support for WSC's sound DMA by design // so DAC stream it goes @@ -1329,6 +1372,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p writeDACSamples=true; } else if (!(hasSwan&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(33,1.0); willExport[i]=true; hasSwan|=0x40000000; howManyChips++; @@ -1337,9 +1381,11 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_VBOY: if (!hasVSU) { hasVSU=disCont[i].dispatch->chipClock; + CHIP_VOL(34,0.72); willExport[i]=true; } else if (!(hasVSU&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(34,0.72); willExport[i]=true; hasVSU|=0x40000000; howManyChips++; @@ -1349,9 +1395,11 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_OPL_DRUMS: if (!hasOPL) { hasOPL=disCont[i].dispatch->chipClock; + CHIP_VOL(9,1.0); willExport[i]=true; } else if (!(hasOPL&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(9,1.0); willExport[i]=true; hasOPL|=0x40000000; howManyChips++; @@ -1361,10 +1409,12 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_Y8950_DRUMS: if (!hasY8950) { hasY8950=disCont[i].dispatch->chipClock; + CHIP_VOL(11,1.0); willExport[i]=true; writeADPCM_Y8950[0]=disCont[i].dispatch; } else if (!(hasY8950&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(11,1.0); willExport[i]=true; writeADPCM_Y8950[1]=disCont[i].dispatch; hasY8950|=0x40000000; @@ -1375,9 +1425,11 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_OPL2_DRUMS: if (!hasOPL2) { hasOPL2=disCont[i].dispatch->chipClock; + CHIP_VOL(10,1.0); willExport[i]=true; } else if (!(hasOPL2&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(10,1.0); willExport[i]=true; hasOPL2|=0x40000000; howManyChips++; @@ -1387,9 +1439,11 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_OPL3_DRUMS: if (!hasOPL3) { hasOPL3=disCont[i].dispatch->chipClock; + CHIP_VOL(12,1.0); willExport[i]=true; } else if (!(hasOPL3&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(12,1.0); willExport[i]=true; hasOPL3|=0x40000000; howManyChips++; @@ -1402,9 +1456,11 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p if (song.system[i]==DIV_SYSTEM_SCC_PLUS) { hasK051649|=0x80000000; } + CHIP_VOL(25,1.0); willExport[i]=true; } else if (!(hasK051649&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(25,1.0); willExport[i]=true; hasK051649|=0x40000000; if (song.system[i]==DIV_SYSTEM_SCC_PLUS) { @@ -1416,10 +1472,12 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_YMZ280B: if (!hasZ280) { hasZ280=disCont[i].dispatch->chipClock; + CHIP_VOL(15,0.72); willExport[i]=true; writeZ280[0]=disCont[i].dispatch; } else if (!(hasZ280&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(15,0.72); willExport[i]=true; writeZ280[1]=disCont[i].dispatch; hasZ280|=0x40000000; @@ -1435,11 +1493,13 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p if (!hasRFC1) { hasRFC1=disCont[i].dispatch->chipClock; isSecond[i]=true; + CHIP_VOL(16,1.6); willExport[i]=true; writeRF5C68[1]=disCont[i].dispatch; } } else if (!hasRFC) { hasRFC=disCont[i].dispatch->chipClock; + CHIP_VOL(5,1.6); willExport[i]=true; writeRF5C68[0]=disCont[i].dispatch; } @@ -1447,10 +1507,12 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_MSM6295: if (!hasOKIM6295) { hasOKIM6295=disCont[i].dispatch->chipClock; + CHIP_VOL(24,1.0); willExport[i]=true; writeMSM6295[0]=disCont[i].dispatch; } else if (!(hasOKIM6295&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(24,1.0); willExport[i]=true; writeMSM6295[1]=disCont[i].dispatch; hasOKIM6295|=0x40000000; @@ -1460,10 +1522,12 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_GA20: if (!hasGA20) { hasGA20=disCont[i].dispatch->chipClock; + CHIP_VOL(40,0.4); willExport[i]=true; writeGA20[0]=disCont[i].dispatch; } else if (!(hasGA20&0x40000000)) { isSecond[i]=true; + CHIP_VOL_SECOND(40,0.4); willExport[i]=true; writeGA20[1]=disCont[i].dispatch; hasGA20|=0x40000000; @@ -1473,7 +1537,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_T6W28: if (!hasSN) { hasSN=0xc0000000|disCont[i].dispatch->chipClock; - CHIP_VOL(0,1.0); + CHIP_VOL(0,2.0); snNoiseConfig=3; snNoiseSize=15; willExport[i]=true; @@ -1548,8 +1612,9 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p w->writeC(0); // OPN w->writeC(0); // OPNA } - if (version>=0x160) { - int calcVolume=32.0*(log(song.masterVol)/log(2.0)); + if (version>=0x160) { // global volume + double abnormalVol=song.masterVol*(double)chipVolSum/(256.0*MAX(1,chipAccounting)); + int calcVolume=32.0*(log(abnormalVol)/log(2.0)); if (calcVolume<-63) calcVolume=-63; if (calcVolume>192) calcVolume=192; w->writeC(calcVolume&0xff); // volume From 1ab80379e125c574d40f26e2830d317377cb583f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 15 Jan 2023 04:32:47 -0500 Subject: [PATCH 019/121] VGM export: fix wrong loop size --- src/engine/vgmOps.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/vgmOps.cpp b/src/engine/vgmOps.cpp index bb8a31cd0..6ac4c2c10 100644 --- a/src/engine/vgmOps.cpp +++ b/src/engine/vgmOps.cpp @@ -2253,7 +2253,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p w->writeI(0); } else { w->writeI(loopPos-0x1c); - w->writeI(tickCount-loopTick-1); + w->writeI(tickCount-loopTick); } } else { w->writeI(0); From e42ab1b84759e651e302714b652d95c5e2c0c750 Mon Sep 17 00:00:00 2001 From: Waldemar Pawlaszek Date: Sun, 15 Jan 2023 16:27:20 +0100 Subject: [PATCH 020/121] Experimental Mikey VGM 1.72 export. --- src/engine/sysDef.cpp | 2 +- src/engine/vgmOps.cpp | 8 ++++---- src/gui/gui.cpp | 2 +- src/gui/guiConst.cpp | 5 +++-- src/gui/guiConst.h | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/engine/sysDef.cpp b/src/engine/sysDef.cpp index da899ae87..5c55ab270 100644 --- a/src/engine/sysDef.cpp +++ b/src/engine/sysDef.cpp @@ -1400,7 +1400,7 @@ void DivEngine::registerSystems() { } sysDefs[DIV_SYSTEM_LYNX]=new DivSysDef( - "Atari Lynx", NULL, 0xa8, 0, 4, false, true, 0, false, 1U<writeC(0x4e); + w->writeC(0x40); w->writeC(0x44); w->writeC(0xff); //stereo attenuation select - w->writeC(0x4e); + w->writeC(0x40); w->writeC(0x50); w->writeC(0x00); //stereo channel disable for (int i=0; i<4; i++) { //stereo attenuation value - w->writeC(0x4e); + w->writeC(0x40); w->writeC(0x40+i); w->writeC(0xff); } @@ -731,7 +731,7 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write w->writeC(write.val&0xff); break; case DIV_SYSTEM_LYNX: - w->writeC(0x4e); + w->writeC(0x40); w->writeC(write.addr&0xff); w->writeC(write.val&0xff); break; diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index c22a1c2b6..c0e8cd537 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3493,7 +3493,7 @@ bool FurnaceGUI::loop() { if (ImGui::BeginMenu("export VGM...")) { ImGui::Text("settings:"); if (ImGui::BeginCombo("format version",fmt::sprintf("%d.%.2x",vgmExportVersion>>8,vgmExportVersion&0xff).c_str())) { - for (int i=0; i<6; i++) { + for (int i=0; i<7; i++) { if (ImGui::Selectable(fmt::sprintf("%d.%.2x",vgmVersions[i]>>8,vgmVersions[i]&0xff).c_str(),vgmExportVersion==vgmVersions[i])) { vgmExportVersion=vgmVersions[i]; } diff --git a/src/gui/guiConst.cpp b/src/gui/guiConst.cpp index d19070fdd..51ac52411 100644 --- a/src/gui/guiConst.cpp +++ b/src/gui/guiConst.cpp @@ -70,13 +70,14 @@ const int altValues[24]={ 0, 10, 1, 11, 2, 3, 12, 4, 13, 5, 14, 6, 7, 15, 8, -1, 9, -1, -1, -1, -1, -1, -1, -1 }; -const int vgmVersions[6]={ +const int vgmVersions[7]={ 0x150, 0x151, 0x160, 0x161, 0x170, - 0x171 + 0x171, + 0x172 }; const char* insTypes[DIV_INS_MAX+1]={ diff --git a/src/gui/guiConst.h b/src/gui/guiConst.h index cb5eb5408..3eca6e15e 100644 --- a/src/gui/guiConst.h +++ b/src/gui/guiConst.h @@ -54,5 +54,5 @@ extern const int* chipCategories[]; extern const FurnaceGUIActionDef guiActions[]; extern const FurnaceGUIColorDef guiColors[]; extern const int altValues[24]; -extern const int vgmVersions[6]; +extern const int vgmVersions[7]; extern const FurnaceGUIColors fxColors[256]; \ No newline at end of file From 1a27bf3373eee870aa9f0b70fac3081c707da206 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 15 Jan 2023 14:12:23 -0500 Subject: [PATCH 021/121] GUI: fix KSL values 1/2 being swapped in OPL --- src/gui/insEdit.cpp | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index c72958ed9..7ac353455 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -352,6 +352,10 @@ const int detuneUnmap[2][11]={ {0, 0, 0, 3, 4, 5, 6, 7, 2, 1, 0} }; +const int kslMap[4]={ + 0, 2, 1, 3 +}; + // do not change these! // anything other than a checkbox will look ugly! // @@ -2778,7 +2782,11 @@ void FurnaceGUI::drawInsEdit() { if (ins->type==DIV_INS_FM || ins->type==DIV_INS_OPZ || ins->type==DIV_INS_OPM) { P(CWVSliderScalar("##RS",ImVec2(20.0f*dpiScale,sliderHeight),ImGuiDataType_U8,&op.rs,&_ZERO,&_THREE)); } else { - P(CWVSliderScalar("##KSL",ImVec2(20.0f*dpiScale,sliderHeight),ImGuiDataType_U8,&op.ksl,&_ZERO,&_THREE)); + int ksl=ins->type==DIV_INS_OPLL?op.ksl:kslMap[op.ksl&3]; + if (CWVSliderInt("##KSL",ImVec2(20.0f*dpiScale,sliderHeight),&ksl,0,3)) { + op.ksl=(ins->type==DIV_INS_OPLL?ksl:kslMap[ksl&3]); + PARAMETER; + } } if (ins->type==DIV_INS_OPZ) { @@ -3226,7 +3234,7 @@ void FurnaceGUI::drawInsEdit() { break; case DIV_INS_OPL: - case DIV_INS_OPL_DRUMS: + case DIV_INS_OPL_DRUMS: { // waveform drawWaveform(op.ws&7,ins->type==DIV_INS_OPZ,ImVec2(waveWidth,waveHeight)); ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); @@ -3268,9 +3276,14 @@ void FurnaceGUI::drawInsEdit() { ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); snprintf(tempID,1024,"%s: %%d",FM_NAME(FM_KSL)); - P(CWSliderScalar("##KSL",ImGuiDataType_U8,&op.ksl,&_ZERO,&_THREE,tempID)); rightClickable + int ksl=kslMap[op.ksl&3]; + if (CWSliderInt("##KSL",&ksl,0,3,tempID)) { + op.ksl=kslMap[ksl&3]; + PARAMETER; + } rightClickable break; + } case DIV_INS_OPZ: { // waveform drawWaveform(op.ws&7,ins->type==DIV_INS_OPZ,ImVec2(waveWidth,waveHeight)); @@ -3613,7 +3626,11 @@ void FurnaceGUI::drawInsEdit() { ImGui::TableNextColumn(); ImGui::Text("%s",FM_NAME(FM_RS)); } else { - P(CWSliderScalar("##KSL",ImGuiDataType_U8,&op.ksl,&_ZERO,&_THREE)); rightClickable + int ksl=ins->type==DIV_INS_OPLL?op.ksl:kslMap[op.ksl&3]; + if (CWSliderInt("##KSL",&ksl,0,3)) { + op.ksl=(ins->type==DIV_INS_OPLL?ksl:kslMap[ksl&3]); + PARAMETER; + } rightClickable ImGui::TableNextColumn(); ImGui::Text("%s",FM_NAME(FM_KSL)); } From 3174638120ffe738d25b66347866a4934f9dff06 Mon Sep 17 00:00:00 2001 From: brickblock369 <59150779+brickblock369@users.noreply.github.com> Date: Sun, 15 Jan 2023 12:44:34 -0800 Subject: [PATCH 022/121] Request to add another OPL3 instrument to the repo (#928) * Adding another OPL instrument * Adding another OPL instrument Updated the SL from 6 to 5. --- instruments/OPL/2-OP OPL3 Slap Bass.fui | Bin 0 -> 101 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 instruments/OPL/2-OP OPL3 Slap Bass.fui diff --git a/instruments/OPL/2-OP OPL3 Slap Bass.fui b/instruments/OPL/2-OP OPL3 Slap Bass.fui new file mode 100644 index 0000000000000000000000000000000000000000..fb8f1c1439f61f6e8eb153f9cc640886b50bcda1 GIT binary patch literal 101 zcmZ?s^b2lf;A8M}RAVsG^$$?+5AZQo2+m0?P;g2tE>_U+O-wGzFIGs+OH9g1O;OZj zaPt*m_{7S<5XH;y=@7!e5XivK=HmKQMg~SsejzA}h4DWC5q20> literal 0 HcmV?d00001 From 6834b3b7dbff20488a6b46918b62d1c91ed3b82b Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 15 Jan 2023 17:27:16 -0500 Subject: [PATCH 023/121] maybe fix sample corruption when resampling 8-bit --- src/engine/sample.cpp | 46 +++++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/src/engine/sample.cpp b/src/engine/sample.cpp index 08dee993d..c9a313461 100644 --- a/src/engine/sample.cpp +++ b/src/engine/sample.cpp @@ -827,18 +827,15 @@ bool DivSample::resampleBlep(double r) { unsigned int posInt=0; double factor=r/(double)rate; float* sincITable=DivFilterTables::getSincIntegralTable(); - float s[16]; - memset(s,0,16*sizeof(float)); + float* floatData=new float[finalCount]; + memset(floatData,0,finalCount*sizeof(float)); if (depth==DIV_SAMPLE_DEPTH_16BIT) { memset(data16,0,finalCount*sizeof(short)); for (int i=0; i32767) result=32767; - data16[i]=result; + data16[i]=oldData16[posInt]; } posFrac+=1.0; @@ -853,28 +850,25 @@ bool DivSample::resampleBlep(double r) { for (int j=0; j<8; j++) { if (i-j>0) { - float result=data16[i-j]+t1[j]*-delta; - if (result<-32768) result=-32768; - if (result>32767) result=32767; - data16[i-j]=result; + floatData[i-j]+=t1[j]*-delta; } if (i+j+132767) result=32767; - data16[i+j+1]=result; + floatData[i+j+1]+=t2[j]*delta; } } } } + for (int i=0; i32767) result=32767; + data16[i]=round(result); + } } else if (depth==DIV_SAMPLE_DEPTH_8BIT) { memset(data8,0,finalCount); for (int i=0; i127) result=127; - data8[i]=result; + data8[i]=oldData8[posInt]; } posFrac+=1.0; @@ -889,20 +883,20 @@ bool DivSample::resampleBlep(double r) { for (int j=0; j<8; j++) { if (i-j>0) { - float result=data8[i-j]+t1[j]*-delta; - if (result<-128) result=-128; - if (result>127) result=127; - data8[i-j]=result; + floatData[i-j]+=t1[j]*-delta; } if (i+j+1127) result=127; - data8[i+j+1]=result; + floatData[i+j+1]+=t2[j]*delta; } } } } + for (int i=0; i127) result=127; + data16[i]=round(result); + } } RESAMPLE_END; From 3370e91aad95170d7d54f9cfd719420d196ba158 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 15 Jan 2023 17:28:47 -0500 Subject: [PATCH 024/121] MEMORY LEAK --- src/engine/sample.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/engine/sample.cpp b/src/engine/sample.cpp index c9a313461..5df46fab1 100644 --- a/src/engine/sample.cpp +++ b/src/engine/sample.cpp @@ -898,6 +898,7 @@ bool DivSample::resampleBlep(double r) { data16[i]=round(result); } } + delete[] floatData; RESAMPLE_END; return true; From bf2ef2742a160ffc38c1e5f1eca1ba738ca7eb0e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 15 Jan 2023 18:05:48 -0500 Subject: [PATCH 025/121] YM2612: fix forceIns after sample --- src/engine/platform/genesis.cpp | 4 +++- src/engine/platform/genesisext.cpp | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index b547181da..5131afd96 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -586,7 +586,7 @@ int DivPlatformGenesis::dispatch(DivCommand c) { } } if (c.chan>=5 && chan[c.chan].dacMode) { - if (skipRegisterWrites) break; + //if (skipRegisterWrites) break; if (ins->type==DIV_INS_AMIGA) { // Furnace mode if (c.value!=DIV_NOTE_NULL) chan[c.chan].dacSample=ins->amiga.getSample(c.value); if (chan[c.chan].dacSample<0 || chan[c.chan].dacSample>=parent->song.sampleLen) { @@ -1122,6 +1122,8 @@ void DivPlatformGenesis::forceIns() { } } if (chan[5].dacMode) { + chan[5].dacSample=-1; + chan[6].dacSample=-1; rWrite(0x2b,0x80); } immWrite(0x22,lfoValue); diff --git a/src/engine/platform/genesisext.cpp b/src/engine/platform/genesisext.cpp index 4eb34bc23..8e1e7d127 100644 --- a/src/engine/platform/genesisext.cpp +++ b/src/engine/platform/genesisext.cpp @@ -677,6 +677,8 @@ void DivPlatformGenesisExt::forceIns() { } } if (chan[5].dacMode) { + chan[5].dacSample=-1; + chan[6].dacSample=-1; rWrite(0x2b,0x80); } immWrite(0x22,lfoValue); From 58f789b9eb4a1c191db77001d1abbeb4bffd2e84 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 15 Jan 2023 23:34:01 -0500 Subject: [PATCH 026/121] YM2612: fix forceIns DAC clicking --- src/engine/platform/fmsharedbase.h | 11 +++++---- src/engine/platform/genesis.cpp | 38 ++++++++++++++++++------------ 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/src/engine/platform/fmsharedbase.h b/src/engine/platform/fmsharedbase.h index 0c09b64a0..9da1c69f0 100644 --- a/src/engine/platform/fmsharedbase.h +++ b/src/engine/platform/fmsharedbase.h @@ -83,6 +83,7 @@ class DivPlatformFMBase: public DivDispatch { unsigned char lastBusy; int delay; + bool flushFirst; unsigned char regPool[512]; short oldWrites[512]; @@ -103,7 +104,7 @@ class DivPlatformFMBase: public DivDispatch { } inline void urgentWrite(unsigned short a, unsigned char v) { if (!skipRegisterWrites) { - if (writes.empty()) { + if (writes.empty() || flushFirst) { writes.push_back(QueuedWrite(a,v)); } else if (writes.size()>16 || writes.front().addrOrVal) { writes.push_back(QueuedWrite(a,v)); @@ -118,9 +119,11 @@ class DivPlatformFMBase: public DivDispatch { friend void putDispatchChan(void*,int,int); - DivPlatformFMBase():DivDispatch(), - lastBusy(0), - delay(0) {} + DivPlatformFMBase(): + DivDispatch(), + lastBusy(0), + delay(0), + flushFirst(false) {} }; #endif diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 5131afd96..8621a1231 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -141,23 +141,26 @@ void DivPlatformGenesis::acquire_nuked(short** buf, size_t len) { os[0]=0; os[1]=0; for (int i=0; i<6; i++) { - if (!writes.empty() && --delay<0) { - delay=0; - QueuedWrite& w=writes.front(); - if (w.addrOrVal) { - OPN2_Write(&fm,0x1+((w.addr>>8)<<1),w.val); - //printf("write: %x = %.2x\n",w.addr,w.val); - lastBusy=0; - regPool[w.addr&0x1ff]=w.val; - writes.pop_front(); - } else { - lastBusy++; - if (fm.write_busy==0) { - //printf("busycounter: %d\n",lastBusy); - OPN2_Write(&fm,0x0+((w.addr>>8)<<1),w.addr); - w.addrOrVal=true; + if (!writes.empty()) { + if (--delay<0) { + delay=0; + QueuedWrite& w=writes.front(); + if (w.addrOrVal) { + //logV("%.3x = %.2x",w.addr,w.val); + OPN2_Write(&fm,0x1+((w.addr>>8)<<1),w.val); + lastBusy=0; + regPool[w.addr&0x1ff]=w.val; + writes.pop_front(); + } else { + lastBusy++; + if (fm.write_busy==0) { + OPN2_Write(&fm,0x0+((w.addr>>8)<<1),w.addr); + w.addrOrVal=true; + } } } + } else { + flushFirst=false; } OPN2_Clock(&fm,o); os[0]+=o[0]; os[1]+=o[1]; @@ -207,6 +210,8 @@ void DivPlatformGenesis::acquire_ymfm(short** buf, size_t len) { regPool[w.addr&0x1ff]=w.val; writes.pop_front(); lastBusy=1; + } else { + flushFirst=false; } if (ladder) { @@ -1127,6 +1132,7 @@ void DivPlatformGenesis::forceIns() { rWrite(0x2b,0x80); } immWrite(0x22,lfoValue); + flushFirst=true; } void DivPlatformGenesis::toggleRegisterDump(bool enable) { @@ -1180,6 +1186,7 @@ void DivPlatformGenesis::reset() { lfoValue=8; softPCMTimer=0; extMode=false; + flushFirst=false; if (softPCM) { chan[5].dacMode=true; @@ -1282,6 +1289,7 @@ int DivPlatformGenesis::init(DivEngine* p, int channels, int sugRate, const DivC dumpWrites=false; ladder=false; skipRegisterWrites=false; + flushFirst=false; for (int i=0; i<10; i++) { isMuted[i]=false; oscBuf[i]=new DivDispatchOscBuffer; From 2c528c9ca834ab2b0d7cd143acadb266a93a08db Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 16 Jan 2023 16:10:34 -0500 Subject: [PATCH 027/121] OPN: add LFO speed macro issue #927 --- papers/doc/3-pattern/effects.md | 4 ++-- src/engine/platform/genesis.cpp | 4 ++++ src/engine/platform/ym2608.cpp | 4 ++++ src/engine/platform/ym2610.cpp | 4 ++++ src/engine/platform/ym2610b.cpp | 4 ++++ src/gui/insEdit.cpp | 3 +++ 6 files changed, 21 insertions(+), 2 deletions(-) diff --git a/papers/doc/3-pattern/effects.md b/papers/doc/3-pattern/effects.md index 9965d22c4..0aa1fc03b 100644 --- a/papers/doc/3-pattern/effects.md +++ b/papers/doc/3-pattern/effects.md @@ -135,7 +135,7 @@ ex | FM | OPM | OPZ | OPLL | AY-3-8910 | AY8930 | Lynx W | | LFO Shape | LFO Shape | Patch | Waveform | Waveform | | Waveform | Waveform | Waveform | Waveform | Waveform | Waveform | | | | Waveform | | 1 | | AMD | AMD | | | Duty | | FilterMode | Envelope | EnvMode | WaveLen | Mod Depth | Cutoff | Filter K1 | ClockDiv | EchoFeedback | Special | GroupAtk | 2 | | PMD | PMD | | Envelope | Envelope | | Resonance | | Envelope | WaveUpdate | Mod Speed | Resonance | Filter K2 | | Echo Length | Gain | GroupDec | - 3 | | LFO Speed | LFO Speed | | AutoEnvNum | AutoEnvNum | | Special | | AutoEnvNum | WaveLoad W | | Control | Env Count | | | | Noise | + 3 | LFOSpd | LFO Speed | LFO Speed | | AutoEnvNum | AutoEnvNum | | Special | | AutoEnvNum | WaveLoad W | | Control | Env Count | | | | Noise | A | ALG | ALG | ALG | | AutoEnvDen | AutoEnvDen | | | | AutoEnvDen | WaveLoad P | | | Control | | | | | B | FB | FB | FB | | | Noise AND | | | | | WaveLoad L | | | | | | | | C | FMS | FMS | FMS | | | Noise OR | | | | | WaveLoad T | | | | | | | | @@ -144,4 +144,4 @@ ex | FM | OPM | OPZ | OPLL | AY-3-8910 | AY8930 | Lynx 5 | | | AMD2 | | | | | | | | | | | EnvRampR | | | | | 6 | | | PMD2 | | | | | | | | | | | EnvRampK1 | | | | | 7 | | | LFO2Speed | | | | | | | | | | | EnvRampK2 | | | | | - 8 | | | LFO2Shape | | | | | | | | | | | Env Mode | | | | | \ No newline at end of file + 8 | | | LFO2Shape | | | | | | | | | | | Env Mode | | | | | diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 8621a1231..a04a6f00c 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -394,6 +394,10 @@ void DivPlatformGenesis::tick(bool sysTick) { chan[i].state.ams=chan[i].std.ams.val; rWrite(chanOffs[i]+ADDR_LRAF,(IS_REALLY_MUTED(i)?0:(chan[i].pan<<6))|(chan[i].state.fms&7)|((chan[i].state.ams&3)<<4)); } + if (chan[i].std.ex3.had) { + lfoValue=(chan[i].std.ex3.val>7)?0:(8|(chan[i].std.ex3.val&7)); + rWrite(0x22,lfoValue); + } if (chan[i].std.ex4.had && chan[i].active) { chan[i].opMask=chan[i].std.ex4.val&15; chan[i].opMaskChanged=true; diff --git a/src/engine/platform/ym2608.cpp b/src/engine/platform/ym2608.cpp index 169537463..152002321 100644 --- a/src/engine/platform/ym2608.cpp +++ b/src/engine/platform/ym2608.cpp @@ -545,6 +545,10 @@ void DivPlatformYM2608::tick(bool sysTick) { chan[i].state.ams=chan[i].std.ams.val; rWrite(chanOffs[i]+ADDR_LRAF,(isMuted[i]?0:(chan[i].pan<<6))|(chan[i].state.fms&7)|((chan[i].state.ams&3)<<4)); } + if (chan[i].std.ex3.had) { + lfoValue=(chan[i].std.ex3.val>7)?0:(8|(chan[i].std.ex3.val&7)); + rWrite(0x22,lfoValue); + } if (chan[i].std.ex4.had && chan[i].active) { chan[i].opMask=chan[i].std.ex4.val&15; chan[i].opMaskChanged=true; diff --git a/src/engine/platform/ym2610.cpp b/src/engine/platform/ym2610.cpp index bec65c785..48fa4ca08 100644 --- a/src/engine/platform/ym2610.cpp +++ b/src/engine/platform/ym2610.cpp @@ -478,6 +478,10 @@ void DivPlatformYM2610::tick(bool sysTick) { chan[i].state.ams=chan[i].std.ams.val; rWrite(chanOffs[i]+ADDR_LRAF,(isMuted[i]?0:(chan[i].pan<<6))|(chan[i].state.fms&7)|((chan[i].state.ams&3)<<4)); } + if (chan[i].std.ex3.had) { + lfoValue=(chan[i].std.ex3.val>7)?0:(8|(chan[i].std.ex3.val&7)); + rWrite(0x22,lfoValue); + } if (chan[i].std.ex4.had && chan[i].active) { chan[i].opMask=chan[i].std.ex4.val&15; chan[i].opMaskChanged=true; diff --git a/src/engine/platform/ym2610b.cpp b/src/engine/platform/ym2610b.cpp index 4a58878ee..875383e7d 100644 --- a/src/engine/platform/ym2610b.cpp +++ b/src/engine/platform/ym2610b.cpp @@ -545,6 +545,10 @@ void DivPlatformYM2610B::tick(bool sysTick) { chan[i].state.ams=chan[i].std.ams.val; rWrite(chanOffs[i]+ADDR_LRAF,(isMuted[i]?0:(chan[i].pan<<6))|(chan[i].state.fms&7)|((chan[i].state.ams&3)<<4)); } + if (chan[i].std.ex3.had) { + lfoValue=(chan[i].std.ex3.val>7)?0:(8|(chan[i].std.ex3.val&7)); + rWrite(0x22,lfoValue); + } if (chan[i].std.ex4.had && chan[i].active) { chan[i].opMask=chan[i].std.ex4.val&15; chan[i].opMaskChanged=true; diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 7ac353455..76424e845 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -3796,6 +3796,9 @@ void FurnaceGUI::drawInsEdit() { } } + if (ins->type==DIV_INS_FM) { + macroList.push_back(FurnaceGUIMacroDesc("LFO Speed",&ins->std.ex3Macro,0,8,96,uiColors[GUI_COLOR_MACRO_OTHER])); + } if (ins->type==DIV_INS_OPZ || ins->type==DIV_INS_OPM) { macroList.push_back(FurnaceGUIMacroDesc("AM Depth",&ins->std.ex1Macro,0,127,128,uiColors[GUI_COLOR_MACRO_OTHER])); macroList.push_back(FurnaceGUIMacroDesc("PM Depth",&ins->std.ex2Macro,0,127,128,uiColors[GUI_COLOR_MACRO_OTHER])); From bf49b43e7b3965f2bccb96e013c3538feada957e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 16 Jan 2023 16:20:10 -0500 Subject: [PATCH 028/121] YM2612: fix another pop --- src/engine/platform/genesis.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index a04a6f00c..25986df59 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -1126,14 +1126,17 @@ void DivPlatformGenesis::forceIns() { rWrite(chanOffs[i]+ADDR_FB_ALG,(chan[i].state.alg&7)|(chan[i].state.fb<<3)); rWrite(chanOffs[i]+ADDR_LRAF,(IS_REALLY_MUTED(i)?0:(chan[i].pan<<6))|(chan[i].state.fms&7)|((chan[i].state.ams&3)<<4)); if (chan[i].active) { - chan[i].keyOn=true; - chan[i].freqChanged=true; + if (i<5 || !chan[i].dacMode) { + chan[i].keyOn=true; + chan[i].freqChanged=true; + } } } + rWrite(0x2b,0x00); + rWrite(0x2a,0x00); if (chan[5].dacMode) { chan[5].dacSample=-1; chan[6].dacSample=-1; - rWrite(0x2b,0x80); } immWrite(0x22,lfoValue); flushFirst=true; From 13b782c7b18276e5d06beab3deffbed99bc480db Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 16 Jan 2023 18:41:56 -0500 Subject: [PATCH 029/121] YM2612: yet another fix --- src/engine/platform/fmsharedbase.h | 4 ++-- src/engine/platform/genesis.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/engine/platform/fmsharedbase.h b/src/engine/platform/fmsharedbase.h index 9da1c69f0..f64c723ac 100644 --- a/src/engine/platform/fmsharedbase.h +++ b/src/engine/platform/fmsharedbase.h @@ -103,8 +103,8 @@ class DivPlatformFMBase: public DivDispatch { } } inline void urgentWrite(unsigned short a, unsigned char v) { - if (!skipRegisterWrites) { - if (writes.empty() || flushFirst) { + if (!skipRegisterWrites && !flushFirst) { + if (writes.empty()) { writes.push_back(QueuedWrite(a,v)); } else if (writes.size()>16 || writes.front().addrOrVal) { writes.push_back(QueuedWrite(a,v)); diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 25986df59..3d46c0e96 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -34,7 +34,7 @@ void DivYM2612Interface::ymfm_set_timer(uint32_t tnum, int32_t duration_in_clock } else if (tnum==0) { countA=duration_in_clocks; } - logV("ymfm_set_timer(%d,%d)",tnum,duration_in_clocks); + //logV("ymfm_set_timer(%d,%d)",tnum,duration_in_clocks); } void DivYM2612Interface::clock() { @@ -1132,8 +1132,8 @@ void DivPlatformGenesis::forceIns() { } } } - rWrite(0x2b,0x00); - rWrite(0x2a,0x00); + immWrite(0x2b,0x00); + //rWrite(0x2a,0x00); if (chan[5].dacMode) { chan[5].dacSample=-1; chan[6].dacSample=-1; From 39349d2fdee3c3babe4a3c936b957a35e3f4c704 Mon Sep 17 00:00:00 2001 From: brickblock369 <59150779+brickblock369@users.noreply.github.com> Date: Mon, 16 Jan 2023 18:51:35 -0800 Subject: [PATCH 030/121] Another update to my OPL3 slap bass (#933) * Adding another OPL instrument * Adding another OPL instrument Updated the SL from 6 to 5. * Updated the OP1's ML macro to improve the slap --- instruments/OPL/2-OP OPL3 Slap Bass.fui | Bin 101 -> 101 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/instruments/OPL/2-OP OPL3 Slap Bass.fui b/instruments/OPL/2-OP OPL3 Slap Bass.fui index fb8f1c1439f61f6e8eb153f9cc640886b50bcda1..04e8aadfdcb64628f5199cf26d99785253301ee3 100644 GIT binary patch delta 18 ZcmYdIoe;sx$}hz9|33pG10xILe*iF)1nd9+ delta 18 ZcmYdIoe;sx$uGq8|33pG10xILe*iGZ1n>X= From 0d5c7da774ce5a9c6c2c62125a952e3da7e677b0 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 16 Jan 2023 22:38:46 -0500 Subject: [PATCH 031/121] MSVC DEBUG! MSVC DEBUG! MSVC DEBUG! DO NOT USE! I AM DEBUGGING A CRASH! ONLY FOR TESTER --- .github/workflows/build.yml | 14 +++++++------- extern/nfd-modified/src/nfd_win.cpp | 29 +++++++++++++++++++++-------- src/audio/rtmidi.cpp | 2 +- src/gui/doAction.cpp | 2 +- 4 files changed, 30 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9c4b11c46..b27ee2d8f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,20 +11,20 @@ defaults: shell: bash env: - BUILD_TYPE: Release + BUILD_TYPE: Debug jobs: build: strategy: matrix: config: - - { name: 'Windows MSVC x86', os: windows-latest, compiler: msvc, arch: x86 } + #- { name: 'Windows MSVC x86', os: windows-latest, compiler: msvc, arch: x86 } - { name: 'Windows MSVC x86_64', os: windows-latest, compiler: msvc, arch: x86_64 } - - { name: 'Windows MinGW x86', os: ubuntu-20.04, compiler: mingw, arch: x86 } - - { name: 'Windows MinGW x86_64', os: ubuntu-20.04, compiler: mingw, arch: x86_64 } - - { name: 'macOS x86_64', os: macos-latest, arch: x86_64 } - - { name: 'macOS ARM', os: macos-latest, arch: arm64 } - - { name: 'Linux x86_64', os: ubuntu-18.04, arch: x86_64 } + #- { name: 'Windows MinGW x86', os: ubuntu-20.04, compiler: mingw, arch: x86 } + #- { name: 'Windows MinGW x86_64', os: ubuntu-20.04, compiler: mingw, arch: x86_64 } + #- { name: 'macOS x86_64', os: macos-latest, arch: x86_64 } + #- { name: 'macOS ARM', os: macos-latest, arch: arm64 } + #- { name: 'Linux x86_64', os: ubuntu-18.04, arch: x86_64 } #- { name: 'Linux ARM', os: ubuntu-18.04, arch: armhf } fail-fast: false diff --git a/extern/nfd-modified/src/nfd_win.cpp b/extern/nfd-modified/src/nfd_win.cpp index b4fa5a5fa..e4342243c 100644 --- a/extern/nfd-modified/src/nfd_win.cpp +++ b/extern/nfd-modified/src/nfd_win.cpp @@ -30,6 +30,9 @@ // hack I know #include "../../../src/utfutils.h" +// hack 2... +#include "../../../src/ta-log.h" + class NFDWinEvents: public IFileDialogEvents { nfdselcallback_t selCallback; size_t refCount; @@ -38,21 +41,21 @@ class NFDWinEvents: public IFileDialogEvents { } public: IFACEMETHODIMP QueryInterface(REFIID riid, void** ppv) { - printf("QueryInterface called DAMN IT\n"); + logV("%p: QueryInterface called DAMN IT",(const void*)this); *ppv=NULL; return E_NOTIMPL; } IFACEMETHODIMP_(ULONG) AddRef() { - printf("AddRef() called\n"); + logV("%p: AddRef() called",(const void*)this); return InterlockedIncrement(&refCount); } IFACEMETHODIMP_(ULONG) Release() { - printf("Release() called\n"); + logV("%p: Release() called",(const void*)this); LONG ret=InterlockedDecrement(&refCount); if (ret==0) { - printf("Destroying the final object.\n"); + logV("%p: Destroying the final object.",(const void*)this); delete this; } return ret; @@ -67,30 +70,40 @@ class NFDWinEvents: public IFileDialogEvents { IFACEMETHODIMP OnSelectionChange(IFileDialog* dialog) { // Get the file name + logV("%p: OnSelectionChange() called",(const void*)this); ::IShellItem *shellItem(NULL); + logV("%p: GetCurrentSelection",(const void*)this); HRESULT result = dialog->GetCurrentSelection(&shellItem); if ( !SUCCEEDED(result) ) { - printf("failure!\n"); + logV("%p: failure!",(const void*)this); return S_OK; } wchar_t *filePath(NULL); result = shellItem->GetDisplayName(::SIGDN_FILESYSPATH, &filePath); if ( !SUCCEEDED(result) ) { - printf("GDN failure!\n"); + logV("%p: GDN failure!",(const void*)this); shellItem->Release(); return S_OK; } std::string utf8FilePath=utf16To8(filePath); - if (selCallback!=NULL) selCallback(utf8FilePath.c_str()); - printf("I got you for a value of %s\n",utf8FilePath.c_str()); + if (selCallback!=NULL) { + logV("%p: calling back.",(const void*)this); + selCallback(utf8FilePath.c_str()); + logV("%p: end of callback",(const void*)this); + } else { + logV("%p: no callback.",(const void*)this); + } + logV("%p: I got you for a value of %s",(const void*)this,utf8FilePath.c_str()); shellItem->Release(); + logV("%p: shellItem->Release()",(const void*)this); return S_OK; } NFDWinEvents(nfdselcallback_t callback): selCallback(callback), refCount(1) { + logV("%p: CONSTRUCT!",(const void*)this); } }; diff --git a/src/audio/rtmidi.cpp b/src/audio/rtmidi.cpp index 258f69292..568ea0614 100644 --- a/src/audio/rtmidi.cpp +++ b/src/audio/rtmidi.cpp @@ -58,7 +58,7 @@ bool TAMidiInRtMidi::gather() { if (m.type!=TA_MIDI_SYSEX && msg.size()>1) { memcpy(m.data,msg.data()+1,MIN(msg.size()-1,7)); } else if (m.type==TA_MIDI_SYSEX) { - m.sysExData.reset(new unsigned char[msg.size()]); + m.sysExData=std::shared_ptr(new unsigned char[msg.size()],std::default_delete()); m.sysExLen=msg.size(); logD("got a SysEx of length %ld!",msg.size()); memcpy(m.sysExData.get(),msg.data(),msg.size()); diff --git a/src/gui/doAction.cpp b/src/gui/doAction.cpp index 288a5504d..2b3a27497 100644 --- a/src/gui/doAction.cpp +++ b/src/gui/doAction.cpp @@ -163,7 +163,7 @@ void FurnaceGUI::doAction(int what) { case GUI_ACTION_TX81Z_REQUEST: { TAMidiMessage msg; msg.type=TA_MIDI_SYSEX; - msg.sysExData.reset(new unsigned char[15]); + msg.sysExData.reset(new unsigned char[15],std::default_delete()); msg.sysExLen=15; memcpy(msg.sysExData.get(),avRequest,15); if (!e->sendMidiMessage(msg)) { From 0383b0c50fc85a0b2a852f65faa50e49ddb7c304 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 16 Jan 2023 23:59:34 -0500 Subject: [PATCH 032/121] YM2612: fix one more click... --- src/engine/platform/genesis.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 3d46c0e96..c6e6a4dea 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -463,6 +463,10 @@ void DivPlatformGenesis::tick(bool sysTick) { for (int i=0; i<512; i++) { if (pendingWrites[i]!=oldWrites[i]) { + if (i==0x2b && pendingWrites[i]!=0 && !parent->song.brokenDACMode) { + if (chan[5].keyOn) chan[5].keyOn=false; + chan[5].keyOff=true; + } immWrite(i,pendingWrites[i]&0xff); oldWrites[i]=pendingWrites[i]; } From 1d446bd56b4e2bd77202e564bdac5fafd0364fd8 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 17 Jan 2023 01:11:08 -0500 Subject: [PATCH 033/121] dev137 - new mixing volumes YM2612 is now twice as loud SN76489 and OPLL are 1.5x loud X1-010 is four times louder --- papers/format.md | 1 + src/engine/engine.h | 4 ++-- src/engine/fileOps.cpp | 26 ++++++++++++++++++++++++++ src/engine/platform/genesis.cpp | 4 ++++ src/engine/platform/genesis.h | 1 + src/engine/platform/opll.cpp | 4 ++++ src/engine/platform/opll.h | 1 + src/engine/platform/sms.cpp | 4 ++++ src/engine/platform/sms.h | 1 + src/engine/platform/x1_010.cpp | 4 ++++ src/engine/platform/x1_010.h | 1 + src/engine/vgmOps.cpp | 16 ++++++++-------- 12 files changed, 57 insertions(+), 10 deletions(-) diff --git a/papers/format.md b/papers/format.md index 6522760e8..5aef984ee 100644 --- a/papers/format.md +++ b/papers/format.md @@ -32,6 +32,7 @@ these fields are 0 in format versions prior to 100 (0.6pre1). the format versions are: +- 137: Furnace dev137 - 136: Furnace dev136 - 135: Furnace dev135 - 134: Furnace dev134 diff --git a/src/engine/engine.h b/src/engine/engine.h index ffa97d755..88e6e6764 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -47,8 +47,8 @@ #define BUSY_BEGIN_SOFT softLocked=true; isBusy.lock(); #define BUSY_END isBusy.unlock(); softLocked=false; -#define DIV_VERSION "dev136" -#define DIV_ENGINE_VERSION 136 +#define DIV_VERSION "dev137" +#define DIV_ENGINE_VERSION 137 // for imports #define DIV_VERSION_MOD 0xff01 #define DIV_VERSION_FC 0xff02 diff --git a/src/engine/fileOps.cpp b/src/engine/fileOps.cpp index ffe04cfdb..2365da594 100644 --- a/src/engine/fileOps.cpp +++ b/src/engine/fileOps.cpp @@ -2574,6 +2574,32 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { } } + // new YM2612/SN/X1-010 volumes + if (ds.version<137) { + for (int i=0; ichipClock; - CHIP_VOL(0,2.0); + CHIP_VOL(0,4.0); willExport[i]=true; switch (song.systemFlags[i].getInt("chipType",0)) { case 1: // real SN @@ -1065,7 +1065,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p } else if (!(hasSN&0x40000000)) { isSecond[i]=true; willExport[i]=true; - CHIP_VOL_SECOND(0,2.0); + CHIP_VOL_SECOND(0,4.0); hasSN|=0x40000000; howManyChips++; } @@ -1130,12 +1130,12 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_X1_010: if (!hasX1) { hasX1=disCont[i].dispatch->chipClock; - CHIP_VOL(38,0.5); + CHIP_VOL(38,2.0); willExport[i]=true; writeX1010[0]=disCont[i].dispatch; } else if (!(hasX1&0x40000000)) { isSecond[i]=true; - CHIP_VOL_SECOND(38,0.5); + CHIP_VOL_SECOND(38,2.0); willExport[i]=true; writeX1010[1]=disCont[i].dispatch; hasX1|=0x40000000; @@ -1232,12 +1232,12 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_YM2612_DUALPCM_EXT: if (!hasOPN2) { hasOPN2=disCont[i].dispatch->chipClock; - CHIP_VOL(2,0.8); + CHIP_VOL(2,1.6); willExport[i]=true; writeDACSamples=true; } else if (!(hasOPN2&0x40000000)) { isSecond[i]=true; - CHIP_VOL_SECOND(2,0.8); + CHIP_VOL_SECOND(2,1.6); willExport[i]=true; hasOPN2|=0x40000000; howManyChips++; @@ -1296,11 +1296,11 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_VRC7: if (!hasOPLL) { hasOPLL=disCont[i].dispatch->chipClock; - CHIP_VOL(1,1.6); + CHIP_VOL(1,3.2); willExport[i]=true; } else if (!(hasOPLL&0x40000000)) { isSecond[i]=true; - CHIP_VOL_SECOND(1,1.6); + CHIP_VOL_SECOND(1,3.2); willExport[i]=true; hasOPLL|=0x40000000; howManyChips++; From f7b30771d89778b58c5ff7d678efb1c810b5091d Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 17 Jan 2023 01:11:44 -0500 Subject: [PATCH 034/121] CI: re-enable the rest of platforms --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b27ee2d8f..11940edad 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,13 +18,13 @@ jobs: strategy: matrix: config: - #- { name: 'Windows MSVC x86', os: windows-latest, compiler: msvc, arch: x86 } + - { name: 'Windows MSVC x86', os: windows-latest, compiler: msvc, arch: x86 } - { name: 'Windows MSVC x86_64', os: windows-latest, compiler: msvc, arch: x86_64 } - #- { name: 'Windows MinGW x86', os: ubuntu-20.04, compiler: mingw, arch: x86 } - #- { name: 'Windows MinGW x86_64', os: ubuntu-20.04, compiler: mingw, arch: x86_64 } - #- { name: 'macOS x86_64', os: macos-latest, arch: x86_64 } - #- { name: 'macOS ARM', os: macos-latest, arch: arm64 } - #- { name: 'Linux x86_64', os: ubuntu-18.04, arch: x86_64 } + - { name: 'Windows MinGW x86', os: ubuntu-20.04, compiler: mingw, arch: x86 } + - { name: 'Windows MinGW x86_64', os: ubuntu-20.04, compiler: mingw, arch: x86_64 } + - { name: 'macOS x86_64', os: macos-latest, arch: x86_64 } + - { name: 'macOS ARM', os: macos-latest, arch: arm64 } + - { name: 'Linux x86_64', os: ubuntu-18.04, arch: x86_64 } #- { name: 'Linux ARM', os: ubuntu-18.04, arch: armhf } fail-fast: false From 539b2ec2db3d5dee5cf77fcaad5f6e81362ca185 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 17 Jan 2023 01:58:59 -0500 Subject: [PATCH 035/121] dev138 - fix broken porta after legato --- papers/format.md | 4 ++++ src/engine/engine.h | 4 ++-- src/engine/fileOps.cpp | 16 ++++++++++++++++ src/engine/playback.cpp | 2 +- src/engine/song.h | 4 +++- src/gui/compatFlags.cpp | 4 ++++ 6 files changed, 30 insertions(+), 4 deletions(-) diff --git a/papers/format.md b/papers/format.md index 5aef984ee..389b6e61e 100644 --- a/papers/format.md +++ b/papers/format.md @@ -32,6 +32,7 @@ these fields are 0 in format versions prior to 100 (0.6pre1). the format versions are: +- 138: Furnace dev138 - 137: Furnace dev137 - 136: Furnace dev136 - 135: Furnace dev135 @@ -399,6 +400,9 @@ size | description 4?? | patchbay | - see next section for more details. 1 | automatic patchbay (>=136) + --- | **a couple more compat flags** (>=138) + 1 | broken portamento during legato + 7 | reserved ``` # patchbay diff --git a/src/engine/engine.h b/src/engine/engine.h index 88e6e6764..75b0ad94c 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -47,8 +47,8 @@ #define BUSY_BEGIN_SOFT softLocked=true; isBusy.lock(); #define BUSY_END isBusy.unlock(); softLocked=false; -#define DIV_VERSION "dev137" -#define DIV_ENGINE_VERSION 137 +#define DIV_VERSION "dev138" +#define DIV_ENGINE_VERSION 138 // for imports #define DIV_VERSION_MOD 0xff01 #define DIV_VERSION_FC 0xff02 diff --git a/src/engine/fileOps.cpp b/src/engine/fileOps.cpp index 2365da594..c049545aa 100644 --- a/src/engine/fileOps.cpp +++ b/src/engine/fileOps.cpp @@ -1716,6 +1716,9 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { if (ds.version<130) { ds.oldArpStrategy=true; } + if (ds.version<138) { + ds.brokenPortaLegato=true; + } ds.isDMF=false; reader.readS(); // reserved @@ -2221,6 +2224,13 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { if (ds.version>=136) song.patchbayAuto=reader.readC(); + if (ds.version>=138) { + ds.brokenPortaArp=reader.readC(); + for (int i=0; i<7; i++) { + reader.readC(); + } + } + // read system flags if (ds.version>=119) { logD("reading chip flags..."); @@ -4515,6 +4525,12 @@ SafeWriter* DivEngine::saveFur(bool notPrimary) { } w->writeC(song.patchbayAuto); + // even more compat flags + w->writeC(song.brokenPortaLegato); + for (int i=0; i<7; i++) { + w->writeC(0); + } + blockEndSeek=w->tell(); w->seek(blockStartSeek,SEEK_SET); w->writeI(blockEndSeek-blockStartSeek-4); diff --git a/src/engine/playback.cpp b/src/engine/playback.cpp index 33f2d66c7..88a115a33 100644 --- a/src/engine/playback.cpp +++ b/src/engine/playback.cpp @@ -896,7 +896,7 @@ void DivEngine::processRow(int i, bool afterDelay) { chan[i].vibratoPos=0; } dispatchCmd(DivCommand(DIV_CMD_PITCH,i,chan[i].pitch+(((chan[i].vibratoDepth*vibTable[chan[i].vibratoPos]*chan[i].vibratoFine)>>4)/15))); - if (chan[i].legato) { + if (chan[i].legato && (!chan[i].inPorta || song.brokenPortaLegato)) { dispatchCmd(DivCommand(DIV_CMD_LEGATO,i,chan[i].note)); dispatchCmd(DivCommand(DIV_CMD_HINT_LEGATO,i,chan[i].note)); } else { diff --git a/src/engine/song.h b/src/engine/song.h index dfe579bbb..61083c185 100644 --- a/src/engine/song.h +++ b/src/engine/song.h @@ -330,6 +330,7 @@ struct DivSong { bool autoSystem; bool oldArpStrategy; bool patchbayAuto; + bool brokenPortaLegato; std::vector ins; std::vector wave; @@ -439,7 +440,8 @@ struct DivSong { disableSampleMacro(false), autoSystem(true), oldArpStrategy(false), - patchbayAuto(true) { + patchbayAuto(true), + brokenPortaLegato(false) { for (int i=0; isong.brokenPortaLegato); + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("behavior changed in 0.6pre4"); + } } if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_COMPAT_FLAGS; ImGui::End(); From 2cfed1336a4b221c6a953d2a2bcb00bc4772cc8f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 17 Jan 2023 02:00:04 -0500 Subject: [PATCH 036/121] whoops!!!!!!!! --- src/engine/fileOps.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/fileOps.cpp b/src/engine/fileOps.cpp index c049545aa..9ba9dd9be 100644 --- a/src/engine/fileOps.cpp +++ b/src/engine/fileOps.cpp @@ -2225,7 +2225,7 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { if (ds.version>=136) song.patchbayAuto=reader.readC(); if (ds.version>=138) { - ds.brokenPortaArp=reader.readC(); + ds.brokenPortaLegato=reader.readC(); for (int i=0; i<7; i++) { reader.readC(); } From c60aceec8b47d7f0b88f9b9e601846487524247f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 17 Jan 2023 02:07:29 -0500 Subject: [PATCH 037/121] GUI: add single-digit effects for 00-0F setting --- src/gui/gui.h | 2 ++ src/gui/pattern.cpp | 6 +++++- src/gui/settings.cpp | 8 ++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/gui/gui.h b/src/gui/gui.h index 48488eac4..57f4b303f 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -1295,6 +1295,7 @@ class FurnaceGUI { double exportFadeOut; int macroLayout; float doubleClickTime; + int oneDigitEffects; unsigned int maxUndoSteps; String mainFontPath; String patFontPath; @@ -1430,6 +1431,7 @@ class FurnaceGUI { exportFadeOut(0.0), macroLayout(0), doubleClickTime(0.3f), + oneDigitEffects(0), maxUndoSteps(100), mainFontPath(""), patFontPath(""), diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index fbaf4e655..8ce95852b 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -287,10 +287,14 @@ inline void FurnaceGUI::patternRow(int i, bool isPlaying, float lineHeight, int if (pat->data[i][index]>0xff) { snprintf(id,63,"??##PE%d_%d_%d",k,i,j); ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_PATTERN_EFFECT_INVALID]); - } else { + } else if (pat->data[i][index]>0x10 || settings.oneDigitEffects==0) { const unsigned char data=pat->data[i][index]; snprintf(id,63,"%.2X##PE%d_%d_%d",data,k,i,j); ImGui::PushStyleColor(ImGuiCol_Text,uiColors[fxColors[data]]); + } else { + const unsigned char data=pat->data[i][index]; + snprintf(id,63," %.1X##PE%d_%d_%d",data,k,i,j); + ImGui::PushStyleColor(ImGuiCol_Text,uiColors[fxColors[data]]); } } ImGui::SameLine(0.0f,0.0f); diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index bcb90d35f..7e4d809b3 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -1602,6 +1602,11 @@ void FurnaceGUI::drawSettings() { settings.germanNotation=germanNotationB; } + bool oneDigitEffectsB=settings.oneDigitEffects; + if (ImGui::Checkbox("Single-digit effects for 00-0F",&oneDigitEffectsB)) { + settings.oneDigitEffects=oneDigitEffectsB; + } + bool centerPatternB=settings.centerPattern; if (ImGui::Checkbox("Center pattern view",¢erPatternB)) { settings.centerPattern=centerPatternB; @@ -2565,6 +2570,7 @@ void FurnaceGUI::syncSettings() { settings.exportFadeOut=e->getConfDouble("exportFadeOut",0.0); settings.macroLayout=e->getConfInt("macroLayout",0); settings.doubleClickTime=e->getConfFloat("doubleClickTime",0.3f); + settings.oneDigitEffects=e->getConfInt("oneDigitEffects",0); clampSetting(settings.mainFontSize,2,96); clampSetting(settings.patFontSize,2,96); @@ -2676,6 +2682,7 @@ void FurnaceGUI::syncSettings() { clampSetting(settings.persistFadeOut,0,1); clampSetting(settings.macroLayout,0,4); clampSetting(settings.doubleClickTime,0.02,1.0); + clampSetting(settings.oneDigitEffects,0,1); if (settings.exportLoops<0.0) settings.exportLoops=0.0; if (settings.exportFadeOut<0.0) settings.exportFadeOut=0.0; @@ -2880,6 +2887,7 @@ void FurnaceGUI::commitSettings() { e->setConf("exportFadeOut",settings.exportFadeOut); e->setConf("macroLayout",settings.macroLayout); e->setConf("doubleClickTime",settings.doubleClickTime); + e->setConf("oneDigitEffects",settings.oneDigitEffects); // colors for (int i=0; i Date: Tue, 17 Jan 2023 13:37:51 -0500 Subject: [PATCH 038/121] GUI: it's not like FamiTracker --- src/gui/compatFlags.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/compatFlags.cpp b/src/gui/compatFlags.cpp index 97913cf31..7a9fd962a 100644 --- a/src/gui/compatFlags.cpp +++ b/src/gui/compatFlags.cpp @@ -214,7 +214,7 @@ void FurnaceGUI::drawCompatFlags() { e->song.delayBehavior=2; } if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("no checks (like FamiTracker)"); + ImGui::SetTooltip("no checks"); } ImGui::Text("Simultaneous jump (0B+0D) treatment:"); From 5cdd04eca854a6dffa57a38f350acde2f981c6d7 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 17 Jan 2023 17:57:42 -0500 Subject: [PATCH 039/121] GUI: catch display connect/dis events --- src/gui/gui.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index c22a1c2b6..8d57083d7 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3132,6 +3132,14 @@ bool FurnaceGUI::loop() { break; case SDL_DISPLAYEVENT: { switch (ev.display.event) { + case SDL_DISPLAYEVENT_CONNECTED: + logD("display %d connected!",ev.display.display); + updateWindow=true; + break; + case SDL_DISPLAYEVENT_DISCONNECTED: + logD("display %d disconnected!",ev.display.display); + updateWindow=true; + break; case SDL_DISPLAYEVENT_ORIENTATION: logD("display oriented to %d",ev.display.data1); updateWindow=true; From e24963c5ea841f6663079e5743ee3b14ad5806c3 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 17 Jan 2023 18:12:58 -0500 Subject: [PATCH 040/121] new demo song by Clingojam --- demos/snes/amalgam.fur | Bin 0 -> 71333 bytes src/gui/about.cpp | 1 + src/gui/editControls.cpp | 4 +++- 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 demos/snes/amalgam.fur diff --git a/demos/snes/amalgam.fur b/demos/snes/amalgam.fur new file mode 100644 index 0000000000000000000000000000000000000000..c1287c1721cca1e9275170d8b99a2f6b0edf5687 GIT binary patch literal 71333 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

Z5wUABBmAn+zAXlKd95KqC;}AUiJ{ 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 Date: Tue, 17 Jan 2023 18:20:18 -0500 Subject: [PATCH 041/121] update --- demos/snes/amalgam.fur | Bin 71333 -> 71335 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/demos/snes/amalgam.fur b/demos/snes/amalgam.fur index c1287c1721cca1e9275170d8b99a2f6b0edf5687..6359b14556fc86963b18efc4db69aa9e2aa6c4a2 100644 GIT binary patch delta 5977 zcmV-f7pCZ?tpum71h6Roe*&@I=)L#-{rSEpJxRy5`nf~(+x!nXa_uKab4tp6Oea6| z7S!?t@*i*6#7E0CohWNrc!$>;w|!vKAS`YJ(Ppl?M%Z*+aN`f@?5u^-9sNY#ZX9?+ zAHL0TA7%Gn2FTkk$Hli>wCI^@qF2NrB)!Xlye}gpCHc{<^jVJoP z#6~(BL2;*+Ls|A*^g@?KDN0d_Qk0@}6}t8Rw!zrXe(~zR{Npcv_Rp`r@dkU{NIzBb z+v_{u{8y5T7*Q04bfHv9E~!gN-?XMBZs2>KA9k+i2~{@@L)Yl~W!6g(LWx7)^Qj-b zXD*^|V$)kC=?%iMf1(#d!3knIjQ2H_!hM`8TW!Y}P zjY_Rntx``F4W(;49=fR--FFG4=Yuy13NiqV(o~82R=wVIL&d00&&*8K%3xFp-Daa< zc>xo;VVY^(a)?z)Z;sQ-(`Du~mg<%xW4(6i%ItKlQZm%of2%Jn)|+0)v{JcR)dFj2 zsp%56Afor*8r3NyavJreh8>9V)XePkRIOUpmB3j-KidZrreSI^N#c2~ zX1Z!ZnW1kJe-D-$3BxQ`KyUGjuNvT!>$-?zZq8Jg*K9PQO$O=a=4Pq}y>&A7Ay31B zzV%Y2YQ*5W>3TuTlPm2^tG@~6x)>wBr&*j>Ps|sOmF0b zUP?0+9=ML<`T;kmXJ@J=BrcVV$gVFf)tk1|t5Y-6f10=S#htnr(~Gh=U0^dW&FC>k zwxA_*8oeN}M$Qu0i(lLYXECT%RWgYU6OfmPIE=KpIX!Zkwhx~$%OzdYj1r{LLu+wy zVPVk?Ma9$&9(Y#Mg}r@0QdHW=aN`Q}L>i%P<;0tXY8oQ2>x&C8Xaw>wiEmjRIg8|) z%7W0me=(~Bt|y@*4Xy-AWz#G{b+*%7sylwD=^W})ndi`!6~_sLj)5-SEJqm04dL!) zwF+O>1Xm5{4wh@$w#Nk1O@)U}gADF?4CDB+Hg87KBNwHR1EFfAWSWZSNVi#U`hKh` zA^6gS*YJV>eYsBKUb{m2hqMeFmP>{XU&4TbeR4NEo5jZlin;<4R421uRR2(&)M?#711gyrIGrLo!~;p7nCw8{GgAS8Jq!_CQqlBSM&gz z*D5}s$D=fb&PWcPU!Je&aMA$Le-T5?)v|_EVS*TR=Jqo=Mijbnv`yY#shj+ zGg(QgnFuQuLk^@3#zRF7WNE%iH)`V`fRF1$s8oWp2N>3FELx7^>v|J;e;|%xq4@S9 zLI-AJSO2~SU=G}-Clq9aQWYr0+5{3fT2|mD3$+ml8B# zXT3U562uh*rQfh&-8eRHf6gI&z_UC>=P}nS$ZUWFNeJ0kvc0GhEG$W_VnX=HZG7>W zjYO)M)6dQVG@EdAK@klO4fu#@AXQUX%hI&J3s8KY(Tlk?WE+)X?0}NHtCy|Cy2E&K-&Ga%A~Ha%sv)19 zGh=uu06OWWo4P6hKMF&B_H5limQnyMz*;zw1#pekiplhAe^+%d7Y1Iakc%T~fLQR{ z5NIe}!~g8=qExv8dAZISO@wWv#lC)J&OnGFi6eAEOm>j66`DViRwSQ}7Ay~QR|Ie< z%owv4;5O#J)wwA(LKC0%_JRu+)HTXD&XNn(g^i_T!?O(`L= z0)RSw7pgW_QzV9PJ({$uI_Xube=`Uo7`q-Sh{)I%({oi$6L8xn z60jFRAiW(sA_&z5QZ4|V>P!dbAvG$PYU$InNNiy!9op9eVrn9XL?9t&gr(RCLbOYK z2vcBao0C$?bC(RH9n6|&3kKI|9?xRJF&NTeI=r778tB7+kx4PNLe$B)G*i=P>EXDv zaUg!~OM zWi7OUYASuS4S4KI$jXJpvd2&N3MoQbKy5ORz{DPj9+L&3LjWCFrkGVk<}=L0YL18vyzT!BUDazycI>l6buU;OvkW7i(m+Z2>1#GrXm{rl+vyT zU8)hL{G3K)9ErTq2!U$`8A(SBLy&K+KD1u>tawFp!`Sk#@rh$#rz7J+c-ph>2s&qK$M146S;hVnKLCuXN_n zr^`78ixZ3%rWOJrF@XhaU@=+4{Lim1!Q&mN(l%x=O)GM&zN|39L_SO=rC5)J%_T{D zet#p%e^4j<2_cWbAcZ9xbO6l^893r_>KI&Miipu&AUc+oT(3^oko&x5-N%wM5Tu`w zA_g|Y+R|nUY>Bl*GP6Ctg zUkjtl6o02CPbj?jljmQ#@_j~oSn276-+%niE}l?`+uLMX`_EbzKhjFv-gywW{%v(K z*#(z13FXSe<;N@c?|$~lCm(-?(|>`rP@6k@eLFciw;d-~Y8${_U+ld~o}L^4hQ7`1P;f_@`H2m_I+p)>iJ_{_x%Zy7l{8@4Wlod++_}-9Ntj-bc5;zW;D} zMaJ5hi#K0<<@Gmy^X8ks{q^gw{^a>R8{YT;Gnc2(NuFv1Nar5Sl`G2by&!0m%f8pZX<+%%!6Czyx`jhwG`TbjO-FoLw zfBx{(FTZ*4XqAl3M@ED;ac*w@xgY-c1#tM&mtOec{M_UilgszMzVkWAeEiAhcfPz! zP z^qI4hljkNU&z?PdW?~GyC4bC4euOsnzxn#h+f?q5Ko6E5gV^|)Nm3WupE+}SVtisE z>3{ajIFVXgU0Htk00pBzUR{-PZ9R_H*Vhvdg7(JHdh*-_lyj%CXjpyp@WH)rzJaE| z%wv?5N7Vg3GzYt`19ZkupPht27tWuXBnp^|BxNlr5-Nl^4-!!%U4QBs)yBrgv`!ft zADno36mHkS`(*FpPooMkcGm8z$&o?QRwdq6;u$i z>ntHQo;0Sx*Vi#rvZIRpg!afn@Ni91KcW=#k%T#7hFBYI718F56nCE_Ct23k+KjCy zECP#0#3&5_YM8XGC4V}g6Rkjv*ITm0iK-J~kO$Hv6h-15v|S}(io{xZL}leMc%xCs zxzm#HvzBU^WP<%j4wR&6A|Y>W@*-IiN)tp0LM6RZu3LqU6N>bmsrAGO##?IR3EQct z_?w!vZQbM`Bt?&q=%guPZX_kz;xyHAOU!;AoHYTG#n*hPvB# zpXWWsS9+Z9=D%P13VQb=U-x<5)xTf*YLD?x^rYX*KF0>?-!FfI+P{DM_2(b`%HPZX zyY^SQK5L(X~B@F+FwPy(ZD(t%kgns)E3JBc_@72CvgZAp* z)^9s(H}ls%zj21gnF5Cx>FE${K-g}E*sp%~J0SKtp@>5c2q#+dAEO8Fa_2YOdzS#P zJs=$K0K!ND2+wTk5WNIQ`=<;Q{fquZ|D)Bv1Ahp|I!gvZhb!zPy^*K$xbzMK^jR0l z_0(jr>d5QvrS6_Wk7_4yz5IA8QXto_x*{^>2N z>@HJx`)AnB;}z%k;{5kI@z=}VdsuG+0wv#c+wm_OZabc2FDHM0-l_kE4xe);$f8?KKDDE;8^`bsx^$ZZQeF(?civWZFW?OaG%^K_&``ZLe zwmL5c9AESpzgK@k=t1bG{hypZA5eZip!~h+VnF?f9{N!S9A6z!|Gny?1M)Z8gTI6J zzdiur_)q|XIv{;@K>DW!qXpR_;iLCE^EuJha5Z{T_Y2*=xRL&$DBb~i4Li{qg<&H^I$J>-LCsyHr=59+u* zWlXOzXBpyqt-txkMZKsO^{2d^0YaJ~H7uS-Srzq{He6IVe>4mq^7?_l;9$VINbH{; z=P#-p7XA)<{ixeN2M9a|2h{k8!tnwS_Mm>$9ijk)qiuiM zV0H>oOb@2fJ`y#l=g*(mP^bIe`Faiz+E)<{mx7CWQ7`J>VZD8oJ>92P+;%FChx|AT zi1eaby7jG!m(&vhDgi~8{}TZje>my^0fyKkN8YP(1_+4bML-k*u?PI`jU(^XI0FR4 z=8Fo&adA9!$5}w6%W8VS_arkm-IUKCr)@SL9|nPT!%x9~!T-(yp|IA&Pi#XFbT=;Q zMZKs$<@F2@+FRG?B@i!fi5^cwJ(ch1j$i2KaMM2w@||owyP4IsuDa1xf6pGs&jCVv z>skf~*?VDk&k$XF>8g7xEu%`E!8K-nur}4B@aVWZ3B!0Wn~cl zje=6b=N-SqW?&27?60_kxncU;XKU&tNbe_(^~(_j0+^|0T^ zhmFs@;%9Hi>BFzGfJir{v>j&@M{TA?JHONM{`{U_JM2c#e)j+$RQtm=&R)^Y?||C8 zH@mtCcn$;qyE)DUM7A+wcLQvvjGYy8*c`S9h$o|a6a!*6!&-3(9!e?$=whd&^W<9D@nnLa&Ee?NsKLUx?}o(qWd#`H*QfbO~cXlnp^ zPIRO-0JRy(50-1sJ8iz*FiyVj*6shgZTmc}-LyZ7{43jxujcsAw^6p?|JXMCZ#Vw2 zUGS5qwVU=wk^fvkh+IG%U57gA{EKbI*K+*l+lX!WSGM7Q6F1{;*FH~cH|>ui|Lp$( Hk*tzwApM%g delta 5975 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 Date: Wed, 18 Jan 2023 01:17:50 -0500 Subject: [PATCH 042/121] TIA: whaaaaaaaaaaaaaaaaaaaaaaaaaaat? --- src/engine/platform/tia.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/platform/tia.cpp b/src/engine/platform/tia.cpp index 02f422011..04a1432ab 100644 --- a/src/engine/platform/tia.cpp +++ b/src/engine/platform/tia.cpp @@ -135,7 +135,7 @@ void DivPlatformTIA::tick(bool sysTick) { int bf=chan[i].baseFreq; if (!parent->song.oldArpStrategy) { if (!chan[i].fixedArp) { - bf+=chan[i].baseFreq+chan[i].arpOff; + bf+=chan[i].arpOff; } } chan[i].freq=dealWithFreq(chan[i].shape,bf,chan[i].pitch)+chan[i].pitch2; From 75bc994ff6128269461987376b6a213c5141c260 Mon Sep 17 00:00:00 2001 From: Waldemar Pawlaszek Date: Wed, 18 Jan 2023 10:32:03 +0100 Subject: [PATCH 043/121] One more thing: declaring Lynx only for VGM 1.72 or higher (not sure if the way is elegant enough) --- src/engine/vgmOps.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/vgmOps.cpp b/src/engine/vgmOps.cpp index fc231ab64..6c0e7c208 100644 --- a/src/engine/vgmOps.cpp +++ b/src/engine/vgmOps.cpp @@ -1685,7 +1685,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p w->writeI(hasX1); w->writeI(hasC352); w->writeI(hasGA20); - w->writeI(hasLynx); + w->writeI(version>=0x172?hasLynx:0); //Mikey introduced in 1.72 } else { w->writeI(0); w->writeI(0); From 3555ac3907c5ee2683174dd249ee9385392b7928 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 18 Jan 2023 13:15:00 -0500 Subject: [PATCH 044/121] crash test --- extern/nfd-modified/src/nfd_win.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/extern/nfd-modified/src/nfd_win.cpp b/extern/nfd-modified/src/nfd_win.cpp index e4342243c..4f19827a1 100644 --- a/extern/nfd-modified/src/nfd_win.cpp +++ b/extern/nfd-modified/src/nfd_win.cpp @@ -422,7 +422,7 @@ nfdresult_t NFD_OpenDialog( const std::vector& filterList, nfdselcallback_t selCallback ) { nfdresult_t nfdResult = NFD_ERROR; - NFDWinEvents* winEvents; + //NFDWinEvents* winEvents; bool hasEvents=true; DWORD eventID=0; @@ -458,14 +458,14 @@ nfdresult_t NFD_OpenDialog( const std::vector& filterList, } // Pass the callback - winEvents=new NFDWinEvents(selCallback); + /*winEvents=new NFDWinEvents(selCallback); if ( !SUCCEEDED(fileOpenDialog->Advise(winEvents,&eventID)) ) { // error... ignore hasEvents=false; winEvents->Release(); } else { winEvents->Release(); - } + }*/ // Show the dialog. // TODO: pass the Furnace window here From eb1531ac1cc5edc21591bfa21a9a5bec22f40157 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 18 Jan 2023 14:22:36 -0500 Subject: [PATCH 045/121] Revert "crash test" This reverts commit 3555ac3907c5ee2683174dd249ee9385392b7928. --- extern/nfd-modified/src/nfd_win.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/extern/nfd-modified/src/nfd_win.cpp b/extern/nfd-modified/src/nfd_win.cpp index 4f19827a1..e4342243c 100644 --- a/extern/nfd-modified/src/nfd_win.cpp +++ b/extern/nfd-modified/src/nfd_win.cpp @@ -422,7 +422,7 @@ nfdresult_t NFD_OpenDialog( const std::vector& filterList, nfdselcallback_t selCallback ) { nfdresult_t nfdResult = NFD_ERROR; - //NFDWinEvents* winEvents; + NFDWinEvents* winEvents; bool hasEvents=true; DWORD eventID=0; @@ -458,14 +458,14 @@ nfdresult_t NFD_OpenDialog( const std::vector& filterList, } // Pass the callback - /*winEvents=new NFDWinEvents(selCallback); + winEvents=new NFDWinEvents(selCallback); if ( !SUCCEEDED(fileOpenDialog->Advise(winEvents,&eventID)) ) { // error... ignore hasEvents=false; winEvents->Release(); } else { winEvents->Release(); - }*/ + } // Show the dialog. // TODO: pass the Furnace window here From 3032ad515ce053aca53481399e56078c752a10ec Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 18 Jan 2023 14:26:48 -0500 Subject: [PATCH 046/121] is it threading? --- src/gui/fileDialog.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/gui/fileDialog.h b/src/gui/fileDialog.h index b4a6d46e6..208e5d4d8 100644 --- a/src/gui/fileDialog.h +++ b/src/gui/fileDialog.h @@ -11,9 +11,7 @@ #include #include -#ifdef __APPLE__ #define NFD_NON_THREADED -#endif #elif defined(ANDROID) #include From fd8b7030aec9a43c66553cabb47bd2f40f5608eb Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 18 Jan 2023 14:57:01 -0500 Subject: [PATCH 047/121] it may be --- src/gui/fileDialog.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/fileDialog.h b/src/gui/fileDialog.h index 208e5d4d8..b4a6d46e6 100644 --- a/src/gui/fileDialog.h +++ b/src/gui/fileDialog.h @@ -11,7 +11,9 @@ #include #include +#ifdef __APPLE__ #define NFD_NON_THREADED +#endif #elif defined(ANDROID) #include From ed2bc592dc498f646af5a6b9520864c0556d40a6 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 18 Jan 2023 16:29:16 -0500 Subject: [PATCH 048/121] do we have a .pdb --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 11940edad..f50a7ca20 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -278,6 +278,9 @@ jobs: cp -v ../LICENSE LICENSE.txt cp -v ../README.md README.txt cp -vr ../{papers,demos,instruments} ../${binPath}/furnace.exe ./ + if [ '${{ matrix.config.compiler }}' == 'msvc' ]; then + cp -v ../${binPath}/furnace.pdb ./ + fi sha256sum ../${binPath}/furnace.exe > checksum.txt popd From fa6badc8656fbf9ff95c4473b290fed519d70fa0 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 18 Jan 2023 17:17:27 -0500 Subject: [PATCH 049/121] YM2612: notifyInsDeletion --- src/engine/platform/genesis.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 686df2ed2..c344e8ae1 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -1238,6 +1238,9 @@ void DivPlatformGenesis::notifyInsChange(int ins) { } void DivPlatformGenesis::notifyInsDeletion(void* ins) { + for (int i=0; i<10; i++) { + chan[i].std.notifyInsDeletion((DivInstrument*)ins); + } } void DivPlatformGenesis::poke(unsigned int addr, unsigned short val) { From 5125e3ebb4031d8919d29ec7df700d2258248bef Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 18 Jan 2023 19:20:07 -0500 Subject: [PATCH 050/121] GUI: reset chanOscVol on stop --- src/gui/gui.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 8d57083d7..c7e847ab3 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -1026,6 +1026,9 @@ void FurnaceGUI::stop() { curNibble=false; orderNibble=false; activeNotes.clear(); + memset(chanOscVol,0,DIV_MAX_CHANS*sizeof(float)); + memset(chanOscPitch,0,DIV_MAX_CHANS*sizeof(float)); + memset(chanOscBright,0,DIV_MAX_CHANS*sizeof(float)); } void FurnaceGUI::previewNote(int refChan, int note, bool autoNote) { From bb4dc216038d6efefcb2d45278b78ce51a7fd43b Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 18 Jan 2023 19:22:43 -0500 Subject: [PATCH 051/121] GUI: one more --- src/gui/gui.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index c7e847ab3..e07167320 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -1000,6 +1000,9 @@ float FurnaceGUI::calcBPM(int s1, int s2, float hz, int vN, int vD) { } void FurnaceGUI::play(int row) { + memset(chanOscVol,0,DIV_MAX_CHANS*sizeof(float)); + memset(chanOscPitch,0,DIV_MAX_CHANS*sizeof(float)); + memset(chanOscBright,0,DIV_MAX_CHANS*sizeof(float)); e->walkSong(loopOrder,loopRow,loopEnd); memset(lastIns,-1,sizeof(int)*DIV_MAX_CHANS); if (!followPattern) e->setOrder(curOrder); From f05ba977b73fb73766e7ef2fb97cc8ffce7ca404 Mon Sep 17 00:00:00 2001 From: Clingojam <122941951+Clingojam@users.noreply.github.com> Date: Wed, 18 Jan 2023 22:28:08 -0500 Subject: [PATCH 052/121] updated amalgam.fur (#937) --- demos/snes/amalgam.fur | Bin 71335 -> 71334 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/demos/snes/amalgam.fur b/demos/snes/amalgam.fur index 6359b14556fc86963b18efc4db69aa9e2aa6c4a2..44e15b2574c533c5402a63dc53df593a39a0cb9c 100644 GIT binary patch delta 69613 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

s3V8Z>=5X-@YAbY2J88);3vg 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än7(ak;%vh)Q=w}MXC?okMS@onbvd@>N1%|-J)vH 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 PwVUxrk$?98{2`KT^Ehrh delta 69601 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 DRM<@{ From c1e26ee749a2b618cf0845225a4d408599f700b3 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 19 Jan 2023 00:37:37 -0500 Subject: [PATCH 053/121] fix more possible crashes when deleting ins and added a fatal error if implementation is missing --- src/engine/platform/abstract.cpp | 4 +++- src/engine/platform/arcade.cpp | 6 ++++++ src/engine/platform/arcade.h | 1 + src/engine/platform/dummy.cpp | 4 ++++ src/engine/platform/dummy.h | 1 + src/engine/platform/genesis.h | 2 +- src/engine/platform/genesisext.cpp | 7 +++++++ src/engine/platform/genesisext.h | 1 + src/engine/platform/msm6258.cpp | 3 +++ src/engine/platform/msm6295.cpp | 3 +++ src/engine/platform/opl.cpp | 3 +++ src/engine/platform/opll.cpp | 3 +++ src/engine/platform/qsound.cpp | 6 +++--- src/engine/platform/segapcm.cpp | 6 ++++++ src/engine/platform/segapcm.h | 1 + src/engine/platform/tx81z.cpp | 6 ++++++ src/engine/platform/tx81z.h | 1 + src/engine/platform/vera.cpp | 2 +- src/engine/platform/ym2203.cpp | 3 +++ src/engine/platform/ym2203.h | 2 +- src/engine/platform/ym2203ext.cpp | 7 +++++++ src/engine/platform/ym2203ext.h | 1 + src/engine/platform/ym2608.cpp | 6 ++++++ src/engine/platform/ym2608.h | 2 +- src/engine/platform/ym2608ext.cpp | 7 +++++++ src/engine/platform/ym2608ext.h | 1 + src/engine/platform/ym2610.cpp | 6 ++++++ src/engine/platform/ym2610.h | 2 +- src/engine/platform/ym2610b.cpp | 6 ++++++ src/engine/platform/ym2610b.h | 2 +- src/engine/platform/ym2610bext.cpp | 7 +++++++ src/engine/platform/ym2610bext.h | 1 + src/engine/platform/ym2610ext.cpp | 7 +++++++ src/engine/platform/ym2610ext.h | 1 + 34 files changed, 111 insertions(+), 10 deletions(-) diff --git a/src/engine/platform/abstract.cpp b/src/engine/platform/abstract.cpp index 214157258..bd3efa72a 100644 --- a/src/engine/platform/abstract.cpp +++ b/src/engine/platform/abstract.cpp @@ -18,6 +18,7 @@ */ #include "../dispatch.h" +#include "../../ta-log.h" void DivDispatch::acquire(short** buf, size_t len) { } @@ -121,7 +122,8 @@ void DivDispatch::notifyWaveChange(int ins) { } void DivDispatch::notifyInsDeletion(void* ins) { - + logE("notifyInsDeletion NOT implemented!"); + abort(); } void DivDispatch::notifyPlaybackStop() { diff --git a/src/engine/platform/arcade.cpp b/src/engine/platform/arcade.cpp index 1984e5a18..7251ef90e 100644 --- a/src/engine/platform/arcade.cpp +++ b/src/engine/platform/arcade.cpp @@ -800,6 +800,12 @@ void DivPlatformArcade::notifyInsChange(int ins) { } } +void DivPlatformArcade::notifyInsDeletion(void* ins) { + for (int i=0; i<8; i++) { + chan[i].std.notifyInsDeletion((DivInstrument*)ins); + } +} + void* DivPlatformArcade::getChanState(int ch) { return &chan[ch]; } diff --git a/src/engine/platform/arcade.h b/src/engine/platform/arcade.h index 0bbd9b2cb..45c2e6b54 100644 --- a/src/engine/platform/arcade.h +++ b/src/engine/platform/arcade.h @@ -76,6 +76,7 @@ class DivPlatformArcade: public DivPlatformOPM { void muteChannel(int ch, bool mute); DivMacroInt* getChanMacroInt(int ch); void notifyInsChange(int ins); + void notifyInsDeletion(void* ins); void setFlags(const DivConfig& flags); int getOutputCount(); void setYMFM(bool use); diff --git a/src/engine/platform/dummy.cpp b/src/engine/platform/dummy.cpp index 28cb5d40e..42ce1ad5e 100644 --- a/src/engine/platform/dummy.cpp +++ b/src/engine/platform/dummy.cpp @@ -131,6 +131,10 @@ int DivPlatformDummy::dispatch(DivCommand c) { return 1; } +void DivPlatformDummy::notifyInsDeletion(void* ins) { + // nothing +} + void DivPlatformDummy::reset() { for (int i=0; i8)?12:0; } diff --git a/src/engine/platform/genesisext.h b/src/engine/platform/genesisext.h index 304f609fe..67955adcf 100644 --- a/src/engine/platform/genesisext.h +++ b/src/engine/platform/genesisext.h @@ -41,6 +41,7 @@ class DivPlatformGenesisExt: public DivPlatformGenesis { bool keyOffAffectsArp(int ch); bool keyOffAffectsPorta(int ch); void notifyInsChange(int ins); + void notifyInsDeletion(void* ins); int getPortaFloor(int ch); void setCSMChannel(unsigned char ch); int init(DivEngine* parent, int channels, int sugRate, const DivConfig& flags); diff --git a/src/engine/platform/msm6258.cpp b/src/engine/platform/msm6258.cpp index af1472af2..7814d23e8 100644 --- a/src/engine/platform/msm6258.cpp +++ b/src/engine/platform/msm6258.cpp @@ -353,6 +353,9 @@ void DivPlatformMSM6258::notifyInsChange(int ins) { } void DivPlatformMSM6258::notifyInsDeletion(void* ins) { + for (int i=0; i<1; i++) { + chan[i].std.notifyInsDeletion((DivInstrument*)ins); + } } void DivPlatformMSM6258::setFlags(const DivConfig& flags) { diff --git a/src/engine/platform/msm6295.cpp b/src/engine/platform/msm6295.cpp index bc41091c0..608429002 100644 --- a/src/engine/platform/msm6295.cpp +++ b/src/engine/platform/msm6295.cpp @@ -326,6 +326,9 @@ void DivPlatformMSM6295::notifyInsChange(int ins) { } void DivPlatformMSM6295::notifyInsDeletion(void* ins) { + for (int i=0; i<4; i++) { + chan[i].std.notifyInsDeletion((DivInstrument*)ins); + } } const void* DivPlatformMSM6295::getSampleMem(int index) { diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index 2c6c15903..855c56e16 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -1640,6 +1640,9 @@ void DivPlatformOPL::notifyInsChange(int ins) { } void DivPlatformOPL::notifyInsDeletion(void* ins) { + for (int i=0; inotifyInsDeletion(ins); + for (int i=0; i<3; i++) { + chan[i].std.notifyInsDeletion((DivInstrument*)ins); + } } void DivPlatformYM2203::setSkipRegisterWrites(bool value) { diff --git a/src/engine/platform/ym2203.h b/src/engine/platform/ym2203.h index 2f4da5b49..8b8c0d6be 100644 --- a/src/engine/platform/ym2203.h +++ b/src/engine/platform/ym2203.h @@ -73,7 +73,7 @@ class DivPlatformYM2203: public DivPlatformOPN { int getOutputCount(); bool keyOffAffectsArp(int ch); void notifyInsChange(int ins); - void notifyInsDeletion(void* ins); + virtual void notifyInsDeletion(void* ins); void setSkipRegisterWrites(bool val); void poke(unsigned int addr, unsigned short val); void poke(std::vector& wlist); diff --git a/src/engine/platform/ym2203ext.cpp b/src/engine/platform/ym2203ext.cpp index 701ae9e5e..99d533575 100644 --- a/src/engine/platform/ym2203ext.cpp +++ b/src/engine/platform/ym2203ext.cpp @@ -641,6 +641,13 @@ void DivPlatformYM2203Ext::notifyInsChange(int ins) { } } +void DivPlatformYM2203Ext::notifyInsDeletion(void* ins) { + DivPlatformYM2203::notifyInsDeletion(ins); + for (int i=0; i<4; i++) { + opChan[i].std.notifyInsDeletion((DivInstrument*)ins); + } +} + int DivPlatformYM2203Ext::init(DivEngine* parent, int channels, int sugRate, const DivConfig& flags) { DivPlatformYM2203::init(parent,channels,sugRate,flags); for (int i=0; i<4; i++) { diff --git a/src/engine/platform/ym2203ext.h b/src/engine/platform/ym2203ext.h index 14535e2d1..6d8bb0baa 100644 --- a/src/engine/platform/ym2203ext.h +++ b/src/engine/platform/ym2203ext.h @@ -39,6 +39,7 @@ class DivPlatformYM2203Ext: public DivPlatformYM2203 { void muteChannel(int ch, bool mute); bool keyOffAffectsArp(int ch); void notifyInsChange(int ins); + void notifyInsDeletion(void* ins); int init(DivEngine* parent, int channels, int sugRate, const DivConfig& flags); void quit(); ~DivPlatformYM2203Ext(); diff --git a/src/engine/platform/ym2608.cpp b/src/engine/platform/ym2608.cpp index 152002321..08969eea6 100644 --- a/src/engine/platform/ym2608.cpp +++ b/src/engine/platform/ym2608.cpp @@ -1458,6 +1458,12 @@ void DivPlatformYM2608::notifyInsChange(int ins) { void DivPlatformYM2608::notifyInsDeletion(void* ins) { ay->notifyInsDeletion(ins); + for (int i=0; i& wlist); diff --git a/src/engine/platform/ym2608ext.cpp b/src/engine/platform/ym2608ext.cpp index 0a6abe7a5..e8e35cdcc 100644 --- a/src/engine/platform/ym2608ext.cpp +++ b/src/engine/platform/ym2608ext.cpp @@ -679,6 +679,13 @@ void DivPlatformYM2608Ext::notifyInsChange(int ins) { } } +void DivPlatformYM2608Ext::notifyInsDeletion(void* ins) { + DivPlatformYM2608::notifyInsDeletion(ins); + for (int i=0; i<4; i++) { + opChan[i].std.notifyInsDeletion((DivInstrument*)ins); + } +} + int DivPlatformYM2608Ext::init(DivEngine* parent, int channels, int sugRate, const DivConfig& flags) { DivPlatformYM2608::init(parent,channels,sugRate,flags); for (int i=0; i<4; i++) { diff --git a/src/engine/platform/ym2608ext.h b/src/engine/platform/ym2608ext.h index 01afb3617..e99518fbe 100644 --- a/src/engine/platform/ym2608ext.h +++ b/src/engine/platform/ym2608ext.h @@ -39,6 +39,7 @@ class DivPlatformYM2608Ext: public DivPlatformYM2608 { void muteChannel(int ch, bool mute); bool keyOffAffectsArp(int ch); void notifyInsChange(int ins); + void notifyInsDeletion(void* ins); int init(DivEngine* parent, int channels, int sugRate, const DivConfig& flags); void quit(); ~DivPlatformYM2608Ext(); diff --git a/src/engine/platform/ym2610.cpp b/src/engine/platform/ym2610.cpp index 48fa4ca08..5c62a491c 100644 --- a/src/engine/platform/ym2610.cpp +++ b/src/engine/platform/ym2610.cpp @@ -1406,6 +1406,12 @@ void DivPlatformYM2610::notifyInsChange(int ins) { void DivPlatformYM2610::notifyInsDeletion(void* ins) { ay->notifyInsDeletion(ins); + for (int i=0; i& wlist); diff --git a/src/engine/platform/ym2610b.cpp b/src/engine/platform/ym2610b.cpp index 875383e7d..a8f2329e4 100644 --- a/src/engine/platform/ym2610b.cpp +++ b/src/engine/platform/ym2610b.cpp @@ -1477,6 +1477,12 @@ void DivPlatformYM2610B::notifyInsChange(int ins) { void DivPlatformYM2610B::notifyInsDeletion(void* ins) { ay->notifyInsDeletion(ins); + for (int i=0; i& wlist); diff --git a/src/engine/platform/ym2610bext.cpp b/src/engine/platform/ym2610bext.cpp index c8d0b6454..28563b20e 100644 --- a/src/engine/platform/ym2610bext.cpp +++ b/src/engine/platform/ym2610bext.cpp @@ -670,6 +670,13 @@ void DivPlatformYM2610BExt::notifyInsChange(int ins) { } } +void DivPlatformYM2610BExt::notifyInsDeletion(void* ins) { + DivPlatformYM2610B::notifyInsDeletion(ins); + for (int i=0; i<4; i++) { + opChan[i].std.notifyInsDeletion((DivInstrument*)ins); + } +} + int DivPlatformYM2610BExt::init(DivEngine* parent, int channels, int sugRate, const DivConfig& flags) { DivPlatformYM2610B::init(parent,channels,sugRate,flags); for (int i=0; i<4; i++) { diff --git a/src/engine/platform/ym2610bext.h b/src/engine/platform/ym2610bext.h index c77649597..50bd5badf 100644 --- a/src/engine/platform/ym2610bext.h +++ b/src/engine/platform/ym2610bext.h @@ -39,6 +39,7 @@ class DivPlatformYM2610BExt: public DivPlatformYM2610B { void muteChannel(int ch, bool mute); bool keyOffAffectsArp(int ch); void notifyInsChange(int ins); + void notifyInsDeletion(void* ins); int init(DivEngine* parent, int channels, int sugRate, const DivConfig& flags); void quit(); ~DivPlatformYM2610BExt(); diff --git a/src/engine/platform/ym2610ext.cpp b/src/engine/platform/ym2610ext.cpp index 54bbd2b7e..03442dc5b 100644 --- a/src/engine/platform/ym2610ext.cpp +++ b/src/engine/platform/ym2610ext.cpp @@ -670,6 +670,13 @@ void DivPlatformYM2610Ext::notifyInsChange(int ins) { } } +void DivPlatformYM2610Ext::notifyInsDeletion(void* ins) { + DivPlatformYM2610::notifyInsDeletion(ins); + for (int i=0; i<4; i++) { + opChan[i].std.notifyInsDeletion((DivInstrument*)ins); + } +} + int DivPlatformYM2610Ext::init(DivEngine* parent, int channels, int sugRate, const DivConfig& flags) { DivPlatformYM2610::init(parent,channels,sugRate,flags); for (int i=0; i<4; i++) { diff --git a/src/engine/platform/ym2610ext.h b/src/engine/platform/ym2610ext.h index 5e78c53f4..e41033384 100644 --- a/src/engine/platform/ym2610ext.h +++ b/src/engine/platform/ym2610ext.h @@ -39,6 +39,7 @@ class DivPlatformYM2610Ext: public DivPlatformYM2610 { void muteChannel(int ch, bool mute); bool keyOffAffectsArp(int ch); void notifyInsChange(int ins); + void notifyInsDeletion(void* ins); int init(DivEngine* parent, int channels, int sugRate, const DivConfig& flags); void quit(); ~DivPlatformYM2610Ext(); From 1b05fe577ddfef89c0676b549246df2a18a7b6b7 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 19 Jan 2023 02:23:05 -0500 Subject: [PATCH 054/121] OPN/2/A/B: Seamless Legato Ins Change --- src/engine/platform/genesis.cpp | 87 ++++++++++++++++++--------------- src/engine/platform/genesis.h | 1 + src/engine/platform/ym2203.cpp | 83 +++++++++++++++++-------------- src/engine/platform/ym2203.h | 2 + src/engine/platform/ym2608.cpp | 79 +++++++++++++++++------------- src/engine/platform/ym2608.h | 2 + src/engine/platform/ym2610.cpp | 79 +++++++++++++++++------------- src/engine/platform/ym2610.h | 2 + src/engine/platform/ym2610b.cpp | 79 +++++++++++++++++------------- src/engine/platform/ym2610b.h | 2 + 10 files changed, 238 insertions(+), 178 deletions(-) diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index c344e8ae1..5cbed89ed 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -569,6 +569,47 @@ void DivPlatformGenesis::muteChannel(int ch, bool mute) { rWrite(chanOffs[ch]+ADDR_LRAF,(IS_REALLY_MUTED(ch)?0:(chan[ch].pan<<6))|(chan[ch].state.fms&7)|((chan[ch].state.ams&3)<<4)); } +void DivPlatformGenesis::commitState(int ch, DivInstrument* ins) { + if (chan[ch].insChanged) { + chan[ch].state=ins->fm; + chan[ch].opMask= + (chan[ch].state.op[0].enable?1:0)| + (chan[ch].state.op[2].enable?2:0)| + (chan[ch].state.op[1].enable?4:0)| + (chan[ch].state.op[3].enable?8:0); + } + + for (int i=0; i<4; i++) { + unsigned short baseAddr=chanOffs[ch]|opOffs[i]; + DivInstrumentFM::Operator& op=chan[ch].state.op[i]; + if (isMuted[ch]) { + rWrite(baseAddr+ADDR_TL,127); + } else { + if (KVS(ch,i)) { + if (!chan[ch].active || chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[ch].outVol&0x7f,127)); + } + } else { + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,op.tl); + } + } + } + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|(dtTable[op.dt&7]<<4)); + rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.rs<<6)); + rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); + rWrite(baseAddr+ADDR_DT2_D2R,op.d2r&31); + rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); + rWrite(baseAddr+ADDR_SSG,op.ssgEnv&15); + } + } + if (chan[ch].insChanged) { + rWrite(chanOffs[ch]+ADDR_FB_ALG,(chan[ch].state.alg&7)|(chan[ch].state.fb<<3)); + rWrite(chanOffs[ch]+ADDR_LRAF,(IS_REALLY_MUTED(ch)?0:(chan[ch].pan<<6))|(chan[ch].state.fms&7)|((chan[ch].state.ams&3)<<4)); + } +} + int DivPlatformGenesis::dispatch(DivCommand c) { switch (c.cmd) { case DIV_CMD_NOTE_ON: { @@ -651,49 +692,12 @@ int DivPlatformGenesis::dispatch(DivCommand c) { } if (c.chan>=6) break; - if (chan[c.chan].insChanged) { - chan[c.chan].state=ins->fm; - chan[c.chan].opMask= - (chan[c.chan].state.op[0].enable?1:0)| - (chan[c.chan].state.op[2].enable?2:0)| - (chan[c.chan].state.op[1].enable?4:0)| - (chan[c.chan].state.op[3].enable?8:0); - } - chan[c.chan].macroInit(ins); if (!chan[c.chan].std.vol.will) { chan[c.chan].outVol=chan[c.chan].vol; } - - for (int i=0; i<4; i++) { - unsigned short baseAddr=chanOffs[c.chan]|opOffs[i]; - DivInstrumentFM::Operator& op=chan[c.chan].state.op[i]; - if (isMuted[c.chan]) { - rWrite(baseAddr+ADDR_TL,127); - } else { - if (KVS(c.chan,i)) { - if (!chan[c.chan].active || chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[c.chan].outVol&0x7f,127)); - } - } else { - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,op.tl); - } - } - } - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|(dtTable[op.dt&7]<<4)); - rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.rs<<6)); - rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); - rWrite(baseAddr+ADDR_DT2_D2R,op.d2r&31); - rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); - rWrite(baseAddr+ADDR_SSG,op.ssgEnv&15); - } - } - if (chan[c.chan].insChanged) { - rWrite(chanOffs[c.chan]+ADDR_FB_ALG,(chan[c.chan].state.alg&7)|(chan[c.chan].state.fb<<3)); - rWrite(chanOffs[c.chan]+ADDR_LRAF,(IS_REALLY_MUTED(c.chan)?0:(chan[c.chan].pan<<6))|(chan[c.chan].state.fms&7)|((chan[c.chan].state.ams&3)<<4)); - } + + commitState(c.chan,ins); chan[c.chan].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -876,6 +880,11 @@ int DivPlatformGenesis::dispatch(DivCommand c) { } else if (c.chan>=5 && chan[c.chan].furnaceDac && chan[c.chan].dacMode) { chan[c.chan].baseFreq=parent->calcBaseFreq(1,1,c.value,false); } else { + if (chan[c.chan].insChanged) { + DivInstrument* ins=parent->getIns(chan[c.chan].ins,DIV_INS_FM); + commitState(c.chan,ins); + chan[c.chan].insChanged=false; + } chan[c.chan].baseFreq=NOTE_FNUM_BLOCK(c.value,11); } chan[c.chan].note=c.value; diff --git a/src/engine/platform/genesis.h b/src/engine/platform/genesis.h index f3032cf9e..c420ac5d7 100644 --- a/src/engine/platform/genesis.h +++ b/src/engine/platform/genesis.h @@ -92,6 +92,7 @@ class DivPlatformGenesis: public DivPlatformOPN { friend void putDispatchChan(void*,int,int); inline void processDAC(int iRate); + inline void commitState(int ch, DivInstrument* ins); void acquire_nuked(short** buf, size_t len); void acquire_ymfm(short** buf, size_t len); diff --git a/src/engine/platform/ym2203.cpp b/src/engine/platform/ym2203.cpp index b76a5adbd..c2a547d8c 100644 --- a/src/engine/platform/ym2203.cpp +++ b/src/engine/platform/ym2203.cpp @@ -474,6 +474,46 @@ void DivPlatformYM2203::tick(bool sysTick) { } } +void DivPlatformYM2203::commitState(int ch, DivInstrument* ins) { + if (chan[ch].insChanged) { + chan[ch].state=ins->fm; + chan[ch].opMask= + (chan[ch].state.op[0].enable?1:0)| + (chan[ch].state.op[2].enable?2:0)| + (chan[ch].state.op[1].enable?4:0)| + (chan[ch].state.op[3].enable?8:0); + } + + for (int i=0; i<4; i++) { + unsigned short baseAddr=chanOffs[ch]|opOffs[i]; + DivInstrumentFM::Operator& op=chan[ch].state.op[i]; + if (isMuted[ch]) { + rWrite(baseAddr+ADDR_TL,127); + } else { + if (KVS(ch,i)) { + if (!chan[ch].active || chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[ch].outVol&0x7f,127)); + } + } else { + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,op.tl); + } + } + } + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|(dtTable[op.dt&7]<<4)); + rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.rs<<6)); + rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); + rWrite(baseAddr+ADDR_DT2_D2R,op.d2r&31); + rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); + rWrite(baseAddr+ADDR_SSG,op.ssgEnv&15); + } + } + if (chan[ch].insChanged) { + rWrite(chanOffs[ch]+ADDR_FB_ALG,(chan[ch].state.alg&7)|(chan[ch].state.fb<<3)); + } +} + int DivPlatformYM2203::dispatch(DivCommand c) { if (c.chan>2) { c.chan-=3; @@ -489,43 +529,7 @@ int DivPlatformYM2203::dispatch(DivCommand c) { } } - if (chan[c.chan].insChanged) { - chan[c.chan].state=ins->fm; - chan[c.chan].opMask= - (chan[c.chan].state.op[0].enable?1:0)| - (chan[c.chan].state.op[2].enable?2:0)| - (chan[c.chan].state.op[1].enable?4:0)| - (chan[c.chan].state.op[3].enable?8:0); - } - - for (int i=0; i<4; i++) { - unsigned short baseAddr=chanOffs[c.chan]|opOffs[i]; - DivInstrumentFM::Operator& op=chan[c.chan].state.op[i]; - if (isMuted[c.chan]) { - rWrite(baseAddr+ADDR_TL,127); - } else { - if (KVS(c.chan,i)) { - if (!chan[c.chan].active || chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[c.chan].outVol&0x7f,127)); - } - } else { - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,op.tl); - } - } - } - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|(dtTable[op.dt&7]<<4)); - rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.rs<<6)); - rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); - rWrite(baseAddr+ADDR_DT2_D2R,op.d2r&31); - rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); - rWrite(baseAddr+ADDR_SSG,op.ssgEnv&15); - } - } - if (chan[c.chan].insChanged) { - rWrite(chanOffs[c.chan]+ADDR_FB_ALG,(chan[c.chan].state.alg&7)|(chan[c.chan].state.fb<<3)); - } + commitState(c.chan,ins); chan[c.chan].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -616,6 +620,11 @@ int DivPlatformYM2203::dispatch(DivCommand c) { break; } case DIV_CMD_LEGATO: { + if (chan[c.chan].insChanged) { + DivInstrument* ins=parent->getIns(chan[c.chan].ins,DIV_INS_FM); + commitState(c.chan,ins); + chan[c.chan].insChanged=false; + } chan[c.chan].baseFreq=NOTE_FNUM_BLOCK(c.value,11); chan[c.chan].freqChanged=true; break; diff --git a/src/engine/platform/ym2203.h b/src/engine/platform/ym2203.h index 8b8c0d6be..503f470b9 100644 --- a/src/engine/platform/ym2203.h +++ b/src/engine/platform/ym2203.h @@ -55,6 +55,8 @@ class DivPlatformYM2203: public DivPlatformOPN { friend void putDispatchChip(void*,int); + inline void commitState(int ch, DivInstrument* ins); + void acquire_combo(short** buf, size_t len); void acquire_ymfm(short** buf, size_t len); diff --git a/src/engine/platform/ym2608.cpp b/src/engine/platform/ym2608.cpp index 08969eea6..063b3870b 100644 --- a/src/engine/platform/ym2608.cpp +++ b/src/engine/platform/ym2608.cpp @@ -789,6 +789,43 @@ void DivPlatformYM2608::tick(bool sysTick) { ay->getRegisterWrites().clear(); } +void DivPlatformYM2608::commitState(int ch, DivInstrument* ins) { + if (chan[ch].insChanged) { + chan[ch].state=ins->fm; + chan[ch].opMask= + (chan[ch].state.op[0].enable?1:0)| + (chan[ch].state.op[2].enable?2:0)| + (chan[ch].state.op[1].enable?4:0)| + (chan[ch].state.op[3].enable?8:0); + } + + for (int i=0; i<4; i++) { + unsigned short baseAddr=chanOffs[ch]|opOffs[i]; + DivInstrumentFM::Operator& op=chan[ch].state.op[i]; + if (KVS(ch,i)) { + if (!chan[ch].active || chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[ch].outVol&0x7f,127)); + } + } else { + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,op.tl); + } + } + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|(dtTable[op.dt&7]<<4)); + rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.rs<<6)); + rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); + rWrite(baseAddr+ADDR_DT2_D2R,op.d2r&31); + rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); + rWrite(baseAddr+ADDR_SSG,op.ssgEnv&15); + } + } + if (chan[ch].insChanged) { + rWrite(chanOffs[ch]+ADDR_FB_ALG,(chan[ch].state.alg&7)|(chan[ch].state.fb<<3)); + rWrite(chanOffs[ch]+ADDR_LRAF,(isMuted[ch]?0:(chan[ch].pan<<6))|(chan[ch].state.fms&7)|((chan[ch].state.ams&3)<<4)); + } +} + int DivPlatformYM2608::dispatch(DivCommand c) { if (c.chan>5 && c.chan<9) { c.chan-=6; @@ -902,40 +939,7 @@ int DivPlatformYM2608::dispatch(DivCommand c) { } } - if (chan[c.chan].insChanged) { - chan[c.chan].state=ins->fm; - chan[c.chan].opMask= - (chan[c.chan].state.op[0].enable?1:0)| - (chan[c.chan].state.op[2].enable?2:0)| - (chan[c.chan].state.op[1].enable?4:0)| - (chan[c.chan].state.op[3].enable?8:0); - } - - for (int i=0; i<4; i++) { - unsigned short baseAddr=chanOffs[c.chan]|opOffs[i]; - DivInstrumentFM::Operator& op=chan[c.chan].state.op[i]; - if (KVS(c.chan,i)) { - if (!chan[c.chan].active || chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[c.chan].outVol&0x7f,127)); - } - } else { - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,op.tl); - } - } - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|(dtTable[op.dt&7]<<4)); - rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.rs<<6)); - rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); - rWrite(baseAddr+ADDR_DT2_D2R,op.d2r&31); - rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); - rWrite(baseAddr+ADDR_SSG,op.ssgEnv&15); - } - } - if (chan[c.chan].insChanged) { - rWrite(chanOffs[c.chan]+ADDR_FB_ALG,(chan[c.chan].state.alg&7)|(chan[c.chan].state.fb<<3)); - rWrite(chanOffs[c.chan]+ADDR_LRAF,(isMuted[c.chan]?0:(chan[c.chan].pan<<6))|(chan[c.chan].state.fms&7)|((chan[c.chan].state.ams&3)<<4)); - } + commitState(c.chan,ins); chan[c.chan].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -1063,6 +1067,13 @@ int DivPlatformYM2608::dispatch(DivCommand c) { break; case DIV_CMD_LEGATO: { if (c.chan==15 && !chan[c.chan].furnacePCM) break; + if (c.chan<=psgChanOffs) { + if (chan[c.chan].insChanged) { + DivInstrument* ins=parent->getIns(chan[c.chan].ins,DIV_INS_FM); + commitState(c.chan,ins); + chan[c.chan].insChanged=false; + } + } chan[c.chan].baseFreq=NOTE_OPNB(c.chan,c.value); chan[c.chan].freqChanged=true; break; diff --git a/src/engine/platform/ym2608.h b/src/engine/platform/ym2608.h index 8d41997fc..f533497f9 100644 --- a/src/engine/platform/ym2608.h +++ b/src/engine/platform/ym2608.h @@ -70,6 +70,8 @@ class DivPlatformYM2608: public DivPlatformOPN { friend void putDispatchChip(void*,int); + inline void commitState(int ch, DivInstrument* ins); + void acquire_combo(short** buf, size_t len); void acquire_ymfm(short** buf, size_t len); diff --git a/src/engine/platform/ym2610.cpp b/src/engine/platform/ym2610.cpp index 5c62a491c..ba1c9440c 100644 --- a/src/engine/platform/ym2610.cpp +++ b/src/engine/platform/ym2610.cpp @@ -724,6 +724,43 @@ void DivPlatformYM2610::tick(bool sysTick) { ay->getRegisterWrites().clear(); } +void DivPlatformYM2610::commitState(int ch, DivInstrument* ins) { + if (chan[ch].insChanged) { + chan[ch].state=ins->fm; + chan[ch].opMask= + (chan[ch].state.op[0].enable?1:0)| + (chan[ch].state.op[2].enable?2:0)| + (chan[ch].state.op[1].enable?4:0)| + (chan[ch].state.op[3].enable?8:0); + } + + for (int i=0; i<4; i++) { + unsigned short baseAddr=chanOffs[ch]|opOffs[i]; + DivInstrumentFM::Operator& op=chan[ch].state.op[i]; + if (KVS(ch,i)) { + if (!chan[ch].active || chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[ch].outVol&0x7f,127)); + } + } else { + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,op.tl); + } + } + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|(dtTable[op.dt&7]<<4)); + rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.rs<<6)); + rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); + rWrite(baseAddr+ADDR_DT2_D2R,op.d2r&31); + rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); + rWrite(baseAddr+ADDR_SSG,op.ssgEnv&15); + } + } + if (chan[ch].insChanged) { + rWrite(chanOffs[ch]+ADDR_FB_ALG,(chan[ch].state.alg&7)|(chan[ch].state.fb<<3)); + rWrite(chanOffs[ch]+ADDR_LRAF,(isMuted[ch]?0:(chan[ch].pan<<6))|(chan[ch].state.fms&7)|((chan[ch].state.ams&3)<<4)); + } +} + int DivPlatformYM2610::dispatch(DivCommand c) { if (c.chan>=psgChanOffs && c.chanfm; - chan[c.chan].opMask= - (chan[c.chan].state.op[0].enable?1:0)| - (chan[c.chan].state.op[2].enable?2:0)| - (chan[c.chan].state.op[1].enable?4:0)| - (chan[c.chan].state.op[3].enable?8:0); - } - - for (int i=0; i<4; i++) { - unsigned short baseAddr=chanOffs[c.chan]|opOffs[i]; - DivInstrumentFM::Operator& op=chan[c.chan].state.op[i]; - if (KVS(c.chan,i)) { - if (!chan[c.chan].active || chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[c.chan].outVol&0x7f,127)); - } - } else { - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,op.tl); - } - } - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|(dtTable[op.dt&7]<<4)); - rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.rs<<6)); - rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); - rWrite(baseAddr+ADDR_DT2_D2R,op.d2r&31); - rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); - rWrite(baseAddr+ADDR_SSG,op.ssgEnv&15); - } - } - if (chan[c.chan].insChanged) { - rWrite(chanOffs[c.chan]+ADDR_FB_ALG,(chan[c.chan].state.alg&7)|(chan[c.chan].state.fb<<3)); - rWrite(chanOffs[c.chan]+ADDR_LRAF,(isMuted[c.chan]?0:(chan[c.chan].pan<<6))|(chan[c.chan].state.fms&7)|((chan[c.chan].state.ams&3)<<4)); - } + commitState(c.chan,ins); chan[c.chan].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -1039,6 +1043,13 @@ int DivPlatformYM2610::dispatch(DivCommand c) { break; case DIV_CMD_LEGATO: { if (c.chan==adpcmBChanOffs && !chan[c.chan].furnacePCM) break; + if (c.chan<=psgChanOffs) { + if (chan[c.chan].insChanged) { + DivInstrument* ins=parent->getIns(chan[c.chan].ins,DIV_INS_FM); + commitState(c.chan,ins); + chan[c.chan].insChanged=false; + } + } chan[c.chan].baseFreq=NOTE_OPNB(c.chan,c.value); chan[c.chan].freqChanged=true; break; diff --git a/src/engine/platform/ym2610.h b/src/engine/platform/ym2610.h index bdf92dd52..3c95e2fb2 100644 --- a/src/engine/platform/ym2610.h +++ b/src/engine/platform/ym2610.h @@ -38,6 +38,8 @@ class DivPlatformYM2610: public DivPlatformYM2610Base { friend void putDispatchChip(void*,int); + void commitState(int ch, DivInstrument* ins); + void acquire_combo(short** buf, size_t len); void acquire_ymfm(short** buf, size_t len); diff --git a/src/engine/platform/ym2610b.cpp b/src/engine/platform/ym2610b.cpp index a8f2329e4..39285d651 100644 --- a/src/engine/platform/ym2610b.cpp +++ b/src/engine/platform/ym2610b.cpp @@ -791,6 +791,43 @@ void DivPlatformYM2610B::tick(bool sysTick) { ay->getRegisterWrites().clear(); } +void DivPlatformYM2610B::commitState(int ch, DivInstrument* ins) { + if (chan[ch].insChanged) { + chan[ch].state=ins->fm; + chan[ch].opMask= + (chan[ch].state.op[0].enable?1:0)| + (chan[ch].state.op[2].enable?2:0)| + (chan[ch].state.op[1].enable?4:0)| + (chan[ch].state.op[3].enable?8:0); + } + + for (int i=0; i<4; i++) { + unsigned short baseAddr=chanOffs[ch]|opOffs[i]; + DivInstrumentFM::Operator& op=chan[ch].state.op[i]; + if (KVS(ch,i)) { + if (!chan[ch].active || chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[ch].outVol&0x7f,127)); + } + } else { + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,op.tl); + } + } + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|(dtTable[op.dt&7]<<4)); + rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.rs<<6)); + rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); + rWrite(baseAddr+ADDR_DT2_D2R,op.d2r&31); + rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); + rWrite(baseAddr+ADDR_SSG,op.ssgEnv&15); + } + } + if (chan[ch].insChanged) { + rWrite(chanOffs[ch]+ADDR_FB_ALG,(chan[ch].state.alg&7)|(chan[ch].state.fb<<3)); + rWrite(chanOffs[ch]+ADDR_LRAF,(isMuted[ch]?0:(chan[ch].pan<<6))|(chan[ch].state.fms&7)|((chan[ch].state.ams&3)<<4)); + } +} + int DivPlatformYM2610B::dispatch(DivCommand c) { if (c.chan>=psgChanOffs && c.chanfm; - chan[c.chan].opMask= - (chan[c.chan].state.op[0].enable?1:0)| - (chan[c.chan].state.op[2].enable?2:0)| - (chan[c.chan].state.op[1].enable?4:0)| - (chan[c.chan].state.op[3].enable?8:0); - } - - for (int i=0; i<4; i++) { - unsigned short baseAddr=chanOffs[c.chan]|opOffs[i]; - DivInstrumentFM::Operator& op=chan[c.chan].state.op[i]; - if (KVS(c.chan,i)) { - if (!chan[c.chan].active || chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[c.chan].outVol&0x7f,127)); - } - } else { - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,op.tl); - } - } - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|(dtTable[op.dt&7]<<4)); - rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.rs<<6)); - rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); - rWrite(baseAddr+ADDR_DT2_D2R,op.d2r&31); - rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); - rWrite(baseAddr+ADDR_SSG,op.ssgEnv&15); - } - } - if (chan[c.chan].insChanged) { - rWrite(chanOffs[c.chan]+ADDR_FB_ALG,(chan[c.chan].state.alg&7)|(chan[c.chan].state.fb<<3)); - rWrite(chanOffs[c.chan]+ADDR_LRAF,(isMuted[c.chan]?0:(chan[c.chan].pan<<6))|(chan[c.chan].state.fms&7)|((chan[c.chan].state.ams&3)<<4)); - } + commitState(c.chan,ins); chan[c.chan].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -1106,6 +1110,13 @@ int DivPlatformYM2610B::dispatch(DivCommand c) { break; case DIV_CMD_LEGATO: { if (c.chan==adpcmBChanOffs && !chan[c.chan].furnacePCM) break; + if (c.chan<=psgChanOffs) { + if (chan[c.chan].insChanged) { + DivInstrument* ins=parent->getIns(chan[c.chan].ins,DIV_INS_FM); + commitState(c.chan,ins); + chan[c.chan].insChanged=false; + } + } chan[c.chan].baseFreq=NOTE_OPNB(c.chan,c.value); chan[c.chan].freqChanged=true; break; diff --git a/src/engine/platform/ym2610b.h b/src/engine/platform/ym2610b.h index 7f0bad81c..1e66b03f1 100644 --- a/src/engine/platform/ym2610b.h +++ b/src/engine/platform/ym2610b.h @@ -34,6 +34,8 @@ class DivPlatformYM2610B: public DivPlatformYM2610Base { friend void putDispatchChip(void*,int); + void commitState(int ch, DivInstrument* ins); + void acquire_combo(short** buf, size_t len); void acquire_ymfm(short** buf, size_t len); From 6832f92b994515d7fefe7a69e42118336da44fdb Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 19 Jan 2023 02:28:12 -0500 Subject: [PATCH 055/121] OPM/OPZ: Seamless Legato Ins Change --- src/engine/platform/arcade.cpp | 83 +++++++++++++++++-------------- src/engine/platform/arcade.h | 1 + src/engine/platform/tx81z.cpp | 89 +++++++++++++++++++--------------- src/engine/platform/tx81z.h | 1 + 4 files changed, 97 insertions(+), 77 deletions(-) diff --git a/src/engine/platform/arcade.cpp b/src/engine/platform/arcade.cpp index 7251ef90e..dece6b67c 100644 --- a/src/engine/platform/arcade.cpp +++ b/src/engine/platform/arcade.cpp @@ -382,53 +382,57 @@ void DivPlatformArcade::muteChannel(int ch, bool mute) { } } +void DivPlatformArcade::commitState(int ch, DivInstrument* ins) { + if (chan[ch].insChanged) { + chan[ch].state=ins->fm; + chan[ch].opMask= + (chan[ch].state.op[0].enable?1:0)| + (chan[ch].state.op[2].enable?2:0)| + (chan[ch].state.op[1].enable?4:0)| + (chan[ch].state.op[3].enable?8:0); + } + + for (int i=0; i<4; i++) { + unsigned short baseAddr=chanOffs[ch]|opOffs[i]; + DivInstrumentFM::Operator op=chan[ch].state.op[i]; + if (KVS(ch,i)) { + if (!chan[ch].active || chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[ch].outVol&0x7f,127)); + } + } else { + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,op.tl); + } + } + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|(dtTable[op.dt&7]<<4)); + rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.rs<<6)); + rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); + rWrite(baseAddr+ADDR_DT2_D2R,(op.d2r&31)|(op.dt2<<6)); + rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); + } + } + if (chan[ch].insChanged) { + if (isMuted[ch]) { + rWrite(chanOffs[ch]+ADDR_LR_FB_ALG,(chan[ch].state.alg&7)|(chan[ch].state.fb<<3)); + } else { + rWrite(chanOffs[ch]+ADDR_LR_FB_ALG,(chan[ch].state.alg&7)|(chan[ch].state.fb<<3)|((chan[ch].chVolL&1)<<6)|((chan[ch].chVolR&1)<<7)); + } + rWrite(chanOffs[ch]+ADDR_FMS_AMS,((chan[ch].state.fms&7)<<4)|(chan[ch].state.ams&3)); + } +} + int DivPlatformArcade::dispatch(DivCommand c) { switch (c.cmd) { case DIV_CMD_NOTE_ON: { DivInstrument* ins=parent->getIns(chan[c.chan].ins,DIV_INS_FM); - if (chan[c.chan].insChanged) { - chan[c.chan].state=ins->fm; - chan[c.chan].opMask= - (chan[c.chan].state.op[0].enable?1:0)| - (chan[c.chan].state.op[2].enable?2:0)| - (chan[c.chan].state.op[1].enable?4:0)| - (chan[c.chan].state.op[3].enable?8:0); - } - chan[c.chan].macroInit(ins); if (!chan[c.chan].std.vol.will) { chan[c.chan].outVol=chan[c.chan].vol; } - for (int i=0; i<4; i++) { - unsigned short baseAddr=chanOffs[c.chan]|opOffs[i]; - DivInstrumentFM::Operator op=chan[c.chan].state.op[i]; - if (KVS(c.chan,i)) { - if (!chan[c.chan].active || chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[c.chan].outVol&0x7f,127)); - } - } else { - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,op.tl); - } - } - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|(dtTable[op.dt&7]<<4)); - rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.rs<<6)); - rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); - rWrite(baseAddr+ADDR_DT2_D2R,(op.d2r&31)|(op.dt2<<6)); - rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); - } - } - if (chan[c.chan].insChanged) { - if (isMuted[c.chan]) { - rWrite(chanOffs[c.chan]+ADDR_LR_FB_ALG,(chan[c.chan].state.alg&7)|(chan[c.chan].state.fb<<3)); - } else { - rWrite(chanOffs[c.chan]+ADDR_LR_FB_ALG,(chan[c.chan].state.alg&7)|(chan[c.chan].state.fb<<3)|((chan[c.chan].chVolL&1)<<6)|((chan[c.chan].chVolR&1)<<7)); - } - rWrite(chanOffs[c.chan]+ADDR_FMS_AMS,((chan[c.chan].state.fms&7)<<4)|(chan[c.chan].state.ams&3)); - } + commitState(c.chan,ins); chan[c.chan].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -521,6 +525,11 @@ int DivPlatformArcade::dispatch(DivCommand c) { break; } case DIV_CMD_LEGATO: { + if (chan[c.chan].insChanged) { + DivInstrument* ins=parent->getIns(chan[c.chan].ins,DIV_INS_OPM); + commitState(c.chan,ins); + chan[c.chan].insChanged=false; + } chan[c.chan].baseFreq=NOTE_LINEAR(c.value); chan[c.chan].freqChanged=true; break; diff --git a/src/engine/platform/arcade.h b/src/engine/platform/arcade.h index 45c2e6b54..f571ff346 100644 --- a/src/engine/platform/arcade.h +++ b/src/engine/platform/arcade.h @@ -57,6 +57,7 @@ class DivPlatformArcade: public DivPlatformOPM { int octave(int freq); int toFreq(int freq); + void commitState(int ch, DivInstrument* ins); void acquire_nuked(short** buf, size_t len); void acquire_ymfm(short** buf, size_t len); diff --git a/src/engine/platform/tx81z.cpp b/src/engine/platform/tx81z.cpp index 12e724c62..09a75cac3 100644 --- a/src/engine/platform/tx81z.cpp +++ b/src/engine/platform/tx81z.cpp @@ -350,56 +350,60 @@ void DivPlatformTX81Z::muteChannel(int ch, bool mute) { } } +void DivPlatformTX81Z::commitState(int ch, DivInstrument* ins) { + if (chan[ch].insChanged) { + chan[ch].state=ins->fm; + } + + for (int i=0; i<4; i++) { + unsigned short baseAddr=chanOffs[ch]|opOffs[i]; + DivInstrumentFM::Operator op=chan[ch].state.op[i]; + if (isMuted[ch]) { + rWrite(baseAddr+ADDR_TL,127); + } else { + if (KVS(ch,i)) { + if (!chan[ch].active || chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[ch].outVol&0x7f,127)); + } + } else { + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_TL,op.tl); + } + } + } + if (chan[ch].insChanged) { + rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|((op.egt?(op.dt&7):dtTable[op.dt&7])<<4)); + rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.egt<<5)|(op.rs<<6)); + rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); + rWrite(baseAddr+ADDR_DT2_D2R,(op.d2r&31)|(op.dt2<<6)); + rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); + rWrite(baseAddr+ADDR_WS_FINE,(op.dvb&15)|(op.ws<<4)); + rWrite(baseAddr+ADDR_EGS_REV,(op.dam&7)|(op.ksl<<6)); + } + } + if (chan[ch].insChanged) { + /* + if (isMuted[ch]) { + rWrite(chanOffs[ch]+ADDR_LR_FB_ALG,(chan[ch].state.alg&7)|(chan[ch].state.fb<<3)); + } else { + rWrite(chanOffs[ch]+ADDR_LR_FB_ALG,(chan[ch].state.alg&7)|(chan[ch].state.fb<<3)|((chan[ch].chVolL&1)<<6)|((chan[ch].chVolR&1)<<7)); + }*/ + rWrite(chanOffs[ch]+ADDR_FMS_AMS,((chan[ch].state.fms&7)<<4)|(chan[ch].state.ams&3)); + //rWrite(chanOffs[ch]+ADDR_FMS_AMS,0x84|((chan[ch].state.fms2&7)<<4)|(chan[ch].state.ams2&3)); + } +} + int DivPlatformTX81Z::dispatch(DivCommand c) { switch (c.cmd) { case DIV_CMD_NOTE_ON: { DivInstrument* ins=parent->getIns(chan[c.chan].ins,DIV_INS_OPZ); - if (chan[c.chan].insChanged) { - chan[c.chan].state=ins->fm; - } - chan[c.chan].macroInit(ins); if (!chan[c.chan].std.vol.will) { chan[c.chan].outVol=chan[c.chan].vol; } - for (int i=0; i<4; i++) { - unsigned short baseAddr=chanOffs[c.chan]|opOffs[i]; - DivInstrumentFM::Operator op=chan[c.chan].state.op[i]; - if (isMuted[c.chan]) { - rWrite(baseAddr+ADDR_TL,127); - } else { - if (KVS(c.chan,i)) { - if (!chan[c.chan].active || chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,127-VOL_SCALE_LOG_BROKEN(127-op.tl,chan[c.chan].outVol&0x7f,127)); - } - } else { - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_TL,op.tl); - } - } - } - if (chan[c.chan].insChanged) { - rWrite(baseAddr+ADDR_MULT_DT,(op.mult&15)|((op.egt?(op.dt&7):dtTable[op.dt&7])<<4)); - rWrite(baseAddr+ADDR_RS_AR,(op.ar&31)|(op.egt<<5)|(op.rs<<6)); - rWrite(baseAddr+ADDR_AM_DR,(op.dr&31)|(op.am<<7)); - rWrite(baseAddr+ADDR_DT2_D2R,(op.d2r&31)|(op.dt2<<6)); - rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); - rWrite(baseAddr+ADDR_WS_FINE,(op.dvb&15)|(op.ws<<4)); - rWrite(baseAddr+ADDR_EGS_REV,(op.dam&7)|(op.ksl<<6)); - } - } - if (chan[c.chan].insChanged) { - /* - if (isMuted[c.chan]) { - rWrite(chanOffs[c.chan]+ADDR_LR_FB_ALG,(chan[c.chan].state.alg&7)|(chan[c.chan].state.fb<<3)); - } else { - rWrite(chanOffs[c.chan]+ADDR_LR_FB_ALG,(chan[c.chan].state.alg&7)|(chan[c.chan].state.fb<<3)|((chan[c.chan].chVolL&1)<<6)|((chan[c.chan].chVolR&1)<<7)); - }*/ - rWrite(chanOffs[c.chan]+ADDR_FMS_AMS,((chan[c.chan].state.fms&7)<<4)|(chan[c.chan].state.ams&3)); - //rWrite(chanOffs[c.chan]+ADDR_FMS_AMS,0x84|((chan[c.chan].state.fms2&7)<<4)|(chan[c.chan].state.ams2&3)); - } + commitState(c.chan,ins); chan[c.chan].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -498,6 +502,11 @@ int DivPlatformTX81Z::dispatch(DivCommand c) { break; } case DIV_CMD_LEGATO: { + if (chan[c.chan].insChanged) { + DivInstrument* ins=parent->getIns(chan[c.chan].ins,DIV_INS_OPZ); + commitState(c.chan,ins); + chan[c.chan].insChanged=false; + } chan[c.chan].baseFreq=NOTE_LINEAR(c.value); chan[c.chan].freqChanged=true; break; diff --git a/src/engine/platform/tx81z.h b/src/engine/platform/tx81z.h index 68c9922bd..928fa5464 100644 --- a/src/engine/platform/tx81z.h +++ b/src/engine/platform/tx81z.h @@ -57,6 +57,7 @@ class DivPlatformTX81Z: public DivPlatformOPM { int octave(int freq); int toFreq(int freq); + void commitState(int ch, DivInstrument* ins); friend void putDispatchChip(void*,int); public: From 9bbc1e2c82a1af07695e4d47726200e61806458a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 19 Jan 2023 02:45:02 -0500 Subject: [PATCH 056/121] OPLL/OPL: Seamless Legato Ins Change --- src/engine/platform/opl.cpp | 215 ++++++++++++++++++----------------- src/engine/platform/opl.h | 1 + src/engine/platform/opll.cpp | 101 +++++++++------- src/engine/platform/opll.h | 1 + 4 files changed, 172 insertions(+), 146 deletions(-) diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index 855c56e16..014f2a402 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -689,6 +689,112 @@ void DivPlatformOPL::muteChannel(int ch, bool mute) { } } +void DivPlatformOPL::commitState(int ch, DivInstrument* ins) { + if (chan[ch].insChanged) { + if (ch>melodicChans && ins->type==DIV_INS_OPL_DRUMS) { + for (int i=0; i<4; i++) { + chan[melodicChans+i+1].state.alg=ins->fm.alg; + chan[melodicChans+i+1].state.fb=ins->fm.fb; + chan[melodicChans+i+1].state.opllPreset=ins->fm.opllPreset; + chan[melodicChans+i+1].state.fixedDrums=ins->fm.fixedDrums; + chan[melodicChans+i+1].state.kickFreq=ins->fm.kickFreq; + chan[melodicChans+i+1].state.snareHatFreq=ins->fm.snareHatFreq; + chan[melodicChans+i+1].state.tomTopFreq=ins->fm.tomTopFreq; + chan[melodicChans+i+1].state.op[0]=ins->fm.op[i]; + } + } else { + chan[ch].state=ins->fm; + } + } + + if (chan[ch].insChanged) { + if (ch>melodicChans && ins->type==DIV_INS_OPL_DRUMS) { + for (int i=0; i<4; i++) { + int ch=melodicChans+1+i; + unsigned char slot=slots[0][ch]; + if (slot==255) continue; + unsigned short baseAddr=slotMap[slot]; + DivInstrumentFM::Operator& op=chan[ch].state.op[0]; + chan[ch].fourOp=false; + + if (isMuted[ch]) { + rWrite(baseAddr+ADDR_KSL_TL,63|(op.ksl<<6)); + } else { + rWrite(baseAddr+ADDR_KSL_TL,(63-VOL_SCALE_LOG_BROKEN(63-op.tl,chan[ch].outVol&0x3f,63))|(op.ksl<<6)); + } + + rWrite(baseAddr+ADDR_AM_VIB_SUS_KSR_MULT,(op.am<<7)|(op.vib<<6)|(op.sus<<5)|(op.ksr<<4)|op.mult); + rWrite(baseAddr+ADDR_AR_DR,(op.ar<<4)|op.dr); + rWrite(baseAddr+ADDR_SL_RR,(op.sl<<4)|op.rr); + if (oplType>1) { + rWrite(baseAddr+ADDR_WS,op.ws&((oplType==3)?7:3)); + } + + if (isMuted[ch]) { + oldWrites[chanMap[ch]+ADDR_LR_FB_ALG]=-1; + rWrite(chanMap[ch]+ADDR_LR_FB_ALG,(chan[ch].state.alg&1)|(chan[ch].state.fb<<1)); + } else { + oldWrites[chanMap[ch]+ADDR_LR_FB_ALG]=-1; + rWrite(chanMap[ch]+ADDR_LR_FB_ALG,(chan[ch].state.alg&1)|(chan[ch].state.fb<<1)|((chan[ch].pan&15)<<4)); + } + } + } else { + int ops=(slots[3][ch]!=255 && chan[ch].state.ops==4 && oplType==3)?4:2; + chan[ch].fourOp=(ops==4); + if (chan[ch].fourOp) { + /* + if (chan[ch+1].active) { + chan[ch+1].keyOff=true; + chan[ch+1].keyOn=false; + chan[ch+1].active=false; + }*/ + chan[ch+1].insChanged=true; + chan[ch+1].macroInit(NULL); + } + update4OpMask=true; + for (int i=0; imelodicChans) { + rWrite(baseAddr+ADDR_KSL_TL,(63-VOL_SCALE_LOG_BROKEN(63-op.tl,chan[ch].outVol&0x3f,63))|(op.ksl<<6)); + } else { + rWrite(baseAddr+ADDR_KSL_TL,op.tl|(op.ksl<<6)); + } + } + + rWrite(baseAddr+ADDR_AM_VIB_SUS_KSR_MULT,(op.am<<7)|(op.vib<<6)|(op.sus<<5)|(op.ksr<<4)|op.mult); + rWrite(baseAddr+ADDR_AR_DR,(op.ar<<4)|op.dr); + rWrite(baseAddr+ADDR_SL_RR,(op.sl<<4)|op.rr); + if (oplType>1) { + rWrite(baseAddr+ADDR_WS,op.ws&((oplType==3)?7:3)); + } + } + + if (isMuted[ch]) { + oldWrites[chanMap[ch]+ADDR_LR_FB_ALG]=-1; + rWrite(chanMap[ch]+ADDR_LR_FB_ALG,(chan[ch].state.alg&1)|(chan[ch].state.fb<<1)); + if (ops==4) { + oldWrites[chanMap[ch+1]+ADDR_LR_FB_ALG]=-1; + rWrite(chanMap[ch+1]+ADDR_LR_FB_ALG,((chan[ch].state.alg>>1)&1)|(chan[ch].state.fb<<1)); + } + } else { + oldWrites[chanMap[ch]+ADDR_LR_FB_ALG]=-1; + rWrite(chanMap[ch]+ADDR_LR_FB_ALG,(chan[ch].state.alg&1)|(chan[ch].state.fb<<1)|((chan[ch].pan&15)<<4)); + if (ops==4) { + oldWrites[chanMap[ch+1]+ADDR_LR_FB_ALG]=-1; + rWrite(chanMap[ch+1]+ADDR_LR_FB_ALG,((chan[ch].state.alg>>1)&1)|(chan[ch].state.fb<<1)|((chan[ch].pan&15)<<4)); + } + } + } + } +} + int DivPlatformOPL::dispatch(DivCommand c) { if (c.chan>=totalChans && c.chan!=adpcmChan) return 0; // ineffective in 4-op mode @@ -771,114 +877,12 @@ int DivPlatformOPL::dispatch(DivCommand c) { } DivInstrument* ins=parent->getIns(chan[c.chan].ins,c.chan>melodicChans?DIV_INS_OPL_DRUMS:DIV_INS_OPL); - if (chan[c.chan].insChanged) { - if (c.chan>melodicChans && ins->type==DIV_INS_OPL_DRUMS) { - for (int i=0; i<4; i++) { - chan[melodicChans+i+1].state.alg=ins->fm.alg; - chan[melodicChans+i+1].state.fb=ins->fm.fb; - chan[melodicChans+i+1].state.opllPreset=ins->fm.opllPreset; - chan[melodicChans+i+1].state.fixedDrums=ins->fm.fixedDrums; - chan[melodicChans+i+1].state.kickFreq=ins->fm.kickFreq; - chan[melodicChans+i+1].state.snareHatFreq=ins->fm.snareHatFreq; - chan[melodicChans+i+1].state.tomTopFreq=ins->fm.tomTopFreq; - chan[melodicChans+i+1].state.op[0]=ins->fm.op[i]; - } - } else { - chan[c.chan].state=ins->fm; - } - } - chan[c.chan].macroInit(ins); if (!chan[c.chan].std.vol.will) { chan[c.chan].outVol=chan[c.chan].vol; } - if (chan[c.chan].insChanged) { - if (c.chan>melodicChans && ins->type==DIV_INS_OPL_DRUMS) { - for (int i=0; i<4; i++) { - int ch=melodicChans+1+i; - unsigned char slot=slots[0][ch]; - if (slot==255) continue; - unsigned short baseAddr=slotMap[slot]; - DivInstrumentFM::Operator& op=chan[ch].state.op[0]; - chan[ch].fourOp=false; - if (isMuted[ch]) { - rWrite(baseAddr+ADDR_KSL_TL,63|(op.ksl<<6)); - } else { - rWrite(baseAddr+ADDR_KSL_TL,(63-VOL_SCALE_LOG_BROKEN(63-op.tl,chan[ch].outVol&0x3f,63))|(op.ksl<<6)); - } - - rWrite(baseAddr+ADDR_AM_VIB_SUS_KSR_MULT,(op.am<<7)|(op.vib<<6)|(op.sus<<5)|(op.ksr<<4)|op.mult); - rWrite(baseAddr+ADDR_AR_DR,(op.ar<<4)|op.dr); - rWrite(baseAddr+ADDR_SL_RR,(op.sl<<4)|op.rr); - if (oplType>1) { - rWrite(baseAddr+ADDR_WS,op.ws&((oplType==3)?7:3)); - } - - if (isMuted[ch]) { - oldWrites[chanMap[ch]+ADDR_LR_FB_ALG]=-1; - rWrite(chanMap[ch]+ADDR_LR_FB_ALG,(chan[ch].state.alg&1)|(chan[ch].state.fb<<1)); - } else { - oldWrites[chanMap[ch]+ADDR_LR_FB_ALG]=-1; - rWrite(chanMap[ch]+ADDR_LR_FB_ALG,(chan[ch].state.alg&1)|(chan[ch].state.fb<<1)|((chan[ch].pan&15)<<4)); - } - } - } else { - int ops=(slots[3][c.chan]!=255 && chan[c.chan].state.ops==4 && oplType==3)?4:2; - chan[c.chan].fourOp=(ops==4); - if (chan[c.chan].fourOp) { - /* - if (chan[c.chan+1].active) { - chan[c.chan+1].keyOff=true; - chan[c.chan+1].keyOn=false; - chan[c.chan+1].active=false; - }*/ - chan[c.chan+1].insChanged=true; - chan[c.chan+1].macroInit(NULL); - } - update4OpMask=true; - for (int i=0; imelodicChans) { - rWrite(baseAddr+ADDR_KSL_TL,(63-VOL_SCALE_LOG_BROKEN(63-op.tl,chan[c.chan].outVol&0x3f,63))|(op.ksl<<6)); - } else { - rWrite(baseAddr+ADDR_KSL_TL,op.tl|(op.ksl<<6)); - } - } - - rWrite(baseAddr+ADDR_AM_VIB_SUS_KSR_MULT,(op.am<<7)|(op.vib<<6)|(op.sus<<5)|(op.ksr<<4)|op.mult); - rWrite(baseAddr+ADDR_AR_DR,(op.ar<<4)|op.dr); - rWrite(baseAddr+ADDR_SL_RR,(op.sl<<4)|op.rr); - if (oplType>1) { - rWrite(baseAddr+ADDR_WS,op.ws&((oplType==3)?7:3)); - } - } - - if (isMuted[c.chan]) { - oldWrites[chanMap[c.chan]+ADDR_LR_FB_ALG]=-1; - rWrite(chanMap[c.chan]+ADDR_LR_FB_ALG,(chan[c.chan].state.alg&1)|(chan[c.chan].state.fb<<1)); - if (ops==4) { - oldWrites[chanMap[c.chan+1]+ADDR_LR_FB_ALG]=-1; - rWrite(chanMap[c.chan+1]+ADDR_LR_FB_ALG,((chan[c.chan].state.alg>>1)&1)|(chan[c.chan].state.fb<<1)); - } - } else { - oldWrites[chanMap[c.chan]+ADDR_LR_FB_ALG]=-1; - rWrite(chanMap[c.chan]+ADDR_LR_FB_ALG,(chan[c.chan].state.alg&1)|(chan[c.chan].state.fb<<1)|((chan[c.chan].pan&15)<<4)); - if (ops==4) { - oldWrites[chanMap[c.chan+1]+ADDR_LR_FB_ALG]=-1; - rWrite(chanMap[c.chan+1]+ADDR_LR_FB_ALG,((chan[c.chan].state.alg>>1)&1)|(chan[c.chan].state.fb<<1)|((chan[c.chan].pan&15)<<4)); - } - } - } - } - + commitState(c.chan,ins); chan[c.chan].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -1075,6 +1079,11 @@ int DivPlatformOPL::dispatch(DivCommand c) { iface.sampleBank=sampleBank; break; case DIV_CMD_LEGATO: { + if (chan[c.chan].insChanged) { + DivInstrument* ins=parent->getIns(chan[c.chan].ins,DIV_INS_FM); + commitState(c.chan,ins); + chan[c.chan].insChanged=false; + } chan[c.chan].baseFreq=(c.chan==adpcmChan)?(NOTE_ADPCMB(c.value)):(NOTE_FREQUENCY(c.value)); chan[c.chan].note=c.value; chan[c.chan].freqChanged=true; diff --git a/src/engine/platform/opl.h b/src/engine/platform/opl.h index 5e6b53162..b52857014 100644 --- a/src/engine/platform/opl.h +++ b/src/engine/platform/opl.h @@ -100,6 +100,7 @@ class DivPlatformOPL: public DivDispatch { int octave(int freq); int toFreq(int freq); double NOTE_ADPCMB(int note); + void commitState(int ch, DivInstrument* ins); friend void putDispatchChip(void*,int); friend void putDispatchChan(void*,int,int); diff --git a/src/engine/platform/opll.cpp b/src/engine/platform/opll.cpp index 68cb58b06..a1011f606 100644 --- a/src/engine/platform/opll.cpp +++ b/src/engine/platform/opll.cpp @@ -19,6 +19,7 @@ #include "opll.h" #include "../engine.h" +#include "../../ta-log.h" #include #include @@ -331,6 +332,55 @@ void DivPlatformOPLL::muteChannel(int ch, bool mute) { isMuted[ch]=mute; } +void DivPlatformOPLL::commitState(int ch, DivInstrument* ins) { + if (chan[ch].insChanged) { + chan[ch].state=ins->fm; + } + + if (chan[ch].insChanged) { + // update custom preset + if (chan[ch].state.opllPreset==0) { + DivInstrumentFM::Operator& mod=chan[ch].state.op[0]; + DivInstrumentFM::Operator& car=chan[ch].state.op[1]; + rWrite(0x00,(mod.am<<7)|(mod.vib<<6)|((mod.ssgEnv&8)<<2)|(mod.ksr<<4)|(mod.mult)); + rWrite(0x01,(car.am<<7)|(car.vib<<6)|((car.ssgEnv&8)<<2)|(car.ksr<<4)|(car.mult)); + rWrite(0x02,(mod.ksl<<6)|(mod.tl&63)); + rWrite(0x03,(car.ksl<<6)|((chan[ch].state.fms&1)<<4)|((chan[ch].state.ams&1)<<3)|chan[ch].state.fb); + rWrite(0x04,(mod.ar<<4)|(mod.dr)); + rWrite(0x05,(car.ar<<4)|(car.dr)); + rWrite(0x06,(mod.sl<<4)|(mod.rr)); + rWrite(0x07,(car.sl<<4)|(car.rr)); + lastCustomMemory=ch; + } + if (chan[ch].state.opllPreset==16) { // compatible drums mode + if (ch>=6) { + drums=true; + immWrite(0x16,0x20); + immWrite(0x26,0x05); + immWrite(0x16,0x20); + immWrite(0x26,0x05); + immWrite(0x17,0x50); + immWrite(0x27,0x05); + immWrite(0x17,0x50); + immWrite(0x27,0x05); + immWrite(0x18,0xC0); + immWrite(0x28,0x01); + } + } else { + if (ch>=6) { + if (drums) { + drums=false; + immWrite(0x0e,0); + drumState=0; + } + } + if (ch<9) { + rWrite(0x30+ch,((15-VOL_SCALE_LOG_BROKEN(chan[ch].outVol,15-chan[ch].state.op[1].tl,15))&15)|(chan[ch].state.opllPreset<<4)); + } + } + } +} + int DivPlatformOPLL::dispatch(DivCommand c) { switch (c.cmd) { case DIV_CMD_NOTE_ON: { @@ -375,49 +425,7 @@ int DivPlatformOPLL::dispatch(DivCommand c) { break; } - if (chan[c.chan].insChanged) { - // update custom preset - if (chan[c.chan].state.opllPreset==0) { - DivInstrumentFM::Operator& mod=chan[c.chan].state.op[0]; - DivInstrumentFM::Operator& car=chan[c.chan].state.op[1]; - rWrite(0x00,(mod.am<<7)|(mod.vib<<6)|((mod.ssgEnv&8)<<2)|(mod.ksr<<4)|(mod.mult)); - rWrite(0x01,(car.am<<7)|(car.vib<<6)|((car.ssgEnv&8)<<2)|(car.ksr<<4)|(car.mult)); - rWrite(0x02,(mod.ksl<<6)|(mod.tl&63)); - rWrite(0x03,(car.ksl<<6)|((chan[c.chan].state.fms&1)<<4)|((chan[c.chan].state.ams&1)<<3)|chan[c.chan].state.fb); - rWrite(0x04,(mod.ar<<4)|(mod.dr)); - rWrite(0x05,(car.ar<<4)|(car.dr)); - rWrite(0x06,(mod.sl<<4)|(mod.rr)); - rWrite(0x07,(car.sl<<4)|(car.rr)); - lastCustomMemory=c.chan; - } - if (chan[c.chan].state.opllPreset==16) { // compatible drums mode - if (c.chan>=6) { - drums=true; - immWrite(0x16,0x20); - immWrite(0x26,0x05); - immWrite(0x16,0x20); - immWrite(0x26,0x05); - immWrite(0x17,0x50); - immWrite(0x27,0x05); - immWrite(0x17,0x50); - immWrite(0x27,0x05); - immWrite(0x18,0xC0); - immWrite(0x28,0x01); - } - } else { - if (c.chan>=6) { - if (drums) { - drums=false; - immWrite(0x0e,0); - drumState=0; - } - } - if (c.chan<9) { - rWrite(0x30+c.chan,((15-VOL_SCALE_LOG_BROKEN(chan[c.chan].outVol,15-chan[c.chan].state.op[1].tl,15))&15)|(chan[c.chan].state.opllPreset<<4)); - } - } - } - + commitState(c.chan,ins); chan[c.chan].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -541,6 +549,13 @@ int DivPlatformOPLL::dispatch(DivCommand c) { } case DIV_CMD_LEGATO: { if (c.chan>=9 && !properDrums) return 0; + if (c.chan<6 || (!drums && !properDrums)) { + if (chan[c.chan].insChanged) { + DivInstrument* ins=parent->getIns(chan[c.chan].ins,DIV_INS_OPLL); + commitState(c.chan,ins); + chan[c.chan].insChanged=false; + } + } chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value); chan[c.chan].note=c.value; chan[c.chan].freqChanged=true; diff --git a/src/engine/platform/opll.h b/src/engine/platform/opll.h index d36c119e6..258113c4b 100644 --- a/src/engine/platform/opll.h +++ b/src/engine/platform/opll.h @@ -73,6 +73,7 @@ class DivPlatformOPLL: public DivDispatch { int octave(int freq); int toFreq(int freq); + void commitState(int ch, DivInstrument* ins); friend void putDispatchChip(void*,int); friend void putDispatchChan(void*,int,int); From 3e43cdacd227511f66429669b65c007b8c4400e9 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 19 Jan 2023 02:49:55 -0500 Subject: [PATCH 057/121] update Nuked-OPLL to latest version --- extern/Nuked-OPLL/opll.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/extern/Nuked-OPLL/opll.c b/extern/Nuked-OPLL/opll.c index bd59709ab..e160ce05e 100644 --- a/extern/Nuked-OPLL/opll.c +++ b/extern/Nuked-OPLL/opll.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Nuke.YKT + * Copyright (C) 2019-2023 Nuke.YKT * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -17,7 +17,7 @@ * siliconpr0n.org(digshadow, John McMaster): * VRC VII decap and die shot. * - * version: 1.0.1 + * version: 1.0.2 */ #include @@ -132,7 +132,7 @@ static const opll_patch_t patch_ds1001[opll_patch_max] = { { 0x00, 0x00, 0x00, 0x00,{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x01, 0x00 },{ 0x00, 0x00 },{ 0x0c, 0x00 },{ 0x08, 0x00 },{ 0x0a, 0x00 },{ 0x07, 0x00 } }, { 0x00, 0x00, 0x00, 0x00,{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x05, 0x00 },{ 0x00, 0x00 },{ 0x0f, 0x00 },{ 0x08, 0x00 },{ 0x05, 0x00 },{ 0x09, 0x00 } }, { 0x00, 0x00, 0x00, 0x00,{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x01 },{ 0x00, 0x00 },{ 0x00, 0x0f },{ 0x00, 0x08 },{ 0x00, 0x06 },{ 0x00, 0x0d } }, - { 0x00, 0x00, 0x00, 0x00,{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x01 },{ 0x00, 0x00 },{ 0x00, 0x0d },{ 0x00, 0x08 },{ 0x00, 0x06 },{ 0x00, 0x08 } }, + { 0x00, 0x00, 0x00, 0x00,{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x01 },{ 0x00, 0x00 },{ 0x00, 0x0d },{ 0x00, 0x08 },{ 0x00, 0x04 },{ 0x00, 0x08 } }, { 0x00, 0x00, 0x00, 0x00,{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x00 },{ 0x00, 0x01 },{ 0x00, 0x00 },{ 0x00, 0x0a },{ 0x00, 0x0a },{ 0x00, 0x05 },{ 0x00, 0x05 } } }; @@ -1018,6 +1018,9 @@ static void OPLL_Operator(opll_t *chip) { } } + if (!(chip->rm_enable & 0x80)) + routput = 0; + chip->ch_out = ismod1 ? routput : (output>>3); if (!ismod1) { From cac807551f2d66fc501348c430b1899a1f0c6412 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 19 Jan 2023 03:15:41 -0500 Subject: [PATCH 058/121] OPN/2/A/B: Seamless Legato Ins Change (ExtCh) --- src/engine/platform/genesisext.cpp | 79 +++++++++++++++++------------- src/engine/platform/genesisext.h | 1 + src/engine/platform/ym2203ext.cpp | 73 +++++++++++++++------------ src/engine/platform/ym2203ext.h | 1 + src/engine/platform/ym2608ext.cpp | 79 +++++++++++++++++------------- src/engine/platform/ym2608ext.h | 1 + src/engine/platform/ym2610bext.cpp | 79 +++++++++++++++++------------- src/engine/platform/ym2610bext.h | 1 + src/engine/platform/ym2610ext.cpp | 79 +++++++++++++++++------------- src/engine/platform/ym2610ext.h | 1 + 10 files changed, 227 insertions(+), 167 deletions(-) diff --git a/src/engine/platform/genesisext.cpp b/src/engine/platform/genesisext.cpp index 4aa410aff..1b9c7d86c 100644 --- a/src/engine/platform/genesisext.cpp +++ b/src/engine/platform/genesisext.cpp @@ -26,6 +26,44 @@ #define IS_REALLY_MUTED(x) (isMuted[x] && (x<5 || !softPCM || (isMuted[5] && isMuted[6]))) +void DivPlatformGenesisExt::commitStateExt(int ch, DivInstrument* ins) { + int ordch=orderedOps[ch]; + + if (opChan[ch].insChanged) { + chan[2].state.alg=ins->fm.alg; + if (ch==0 || fbAllOps) { + chan[2].state.fb=ins->fm.fb; + } + chan[2].state.fms=ins->fm.fms; + chan[2].state.ams=ins->fm.ams; + chan[2].state.op[ordch]=ins->fm.op[ordch]; + } + + unsigned short baseAddr=chanOffs[2]|opOffs[ordch]; + DivInstrumentFM::Operator& op=chan[2].state.op[ordch]; + // TODO: how does this work?! + if (isOpMuted[ch]) { + rWrite(baseAddr+0x40,127); + } else { + if (opChan[ch].insChanged) { + rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch].outVol&0x7f,127)); + } + } + if (opChan[ch].insChanged) { + rWrite(baseAddr+0x30,(op.mult&15)|(dtTable[op.dt&7]<<4)); + rWrite(baseAddr+0x50,(op.ar&31)|(op.rs<<6)); + rWrite(baseAddr+0x60,(op.dr&31)|(op.am<<7)); + rWrite(baseAddr+0x70,op.d2r&31); + rWrite(baseAddr+0x80,(op.rr&15)|(op.sl<<4)); + rWrite(baseAddr+0x90,op.ssgEnv&15); + opChan[ch].mask=op.enable; + } + if (opChan[ch].insChanged) { // TODO how does this work? + rWrite(chanOffs[2]+0xb0,(chan[2].state.alg&7)|(chan[2].state.fb<<3)); + rWrite(chanOffs[2]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch].pan<<6))|(chan[2].state.fms&7)|((chan[2].state.ams&3)<<4)); + } +} + int DivPlatformGenesisExt::dispatch(DivCommand c) { if (c.chan<2) { return DivPlatformGenesis::dispatch(c); @@ -44,16 +82,6 @@ int DivPlatformGenesisExt::dispatch(DivCommand c) { case DIV_CMD_NOTE_ON: { DivInstrument* ins=parent->getIns(opChan[ch].ins,DIV_INS_FM); - if (opChan[ch].insChanged) { - chan[2].state.alg=ins->fm.alg; - if (ch==0 || fbAllOps) { - chan[2].state.fb=ins->fm.fb; - } - chan[2].state.fms=ins->fm.fms; - chan[2].state.ams=ins->fm.ams; - chan[2].state.op[ordch]=ins->fm.op[ordch]; - } - if (noExtMacros) { opChan[ch].macroInit(NULL); } else { @@ -62,30 +90,8 @@ int DivPlatformGenesisExt::dispatch(DivCommand c) { if (!opChan[ch].std.vol.will) { opChan[ch].outVol=opChan[ch].vol; } - - unsigned short baseAddr=chanOffs[2]|opOffs[ordch]; - DivInstrumentFM::Operator& op=chan[2].state.op[ordch]; - // TODO: how does this work?! - if (isOpMuted[ch]) { - rWrite(baseAddr+0x40,127); - } else { - if (opChan[ch].insChanged) { - rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch].outVol&0x7f,127)); - } - } - if (opChan[ch].insChanged) { - rWrite(baseAddr+0x30,(op.mult&15)|(dtTable[op.dt&7]<<4)); - rWrite(baseAddr+0x50,(op.ar&31)|(op.rs<<6)); - rWrite(baseAddr+0x60,(op.dr&31)|(op.am<<7)); - rWrite(baseAddr+0x70,op.d2r&31); - rWrite(baseAddr+0x80,(op.rr&15)|(op.sl<<4)); - rWrite(baseAddr+0x90,op.ssgEnv&15); - opChan[ch].mask=op.enable; - } - if (opChan[ch].insChanged) { // TODO how does this work? - rWrite(chanOffs[2]+0xb0,(chan[2].state.alg&7)|(chan[2].state.fb<<3)); - rWrite(chanOffs[2]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch].pan<<6))|(chan[2].state.fms&7)|((chan[2].state.ams&3)<<4)); - } + + commitStateExt(ch,ins); opChan[ch].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -202,6 +208,11 @@ int DivPlatformGenesisExt::dispatch(DivCommand c) { } break; case DIV_CMD_LEGATO: { + if (opChan[ch].insChanged) { + DivInstrument* ins=parent->getIns(opChan[ch].ins,DIV_INS_FM); + commitStateExt(ch,ins); + opChan[ch].insChanged=false; + } opChan[ch].baseFreq=NOTE_FNUM_BLOCK(c.value,11); opChan[ch].freqChanged=true; break; diff --git a/src/engine/platform/genesisext.h b/src/engine/platform/genesisext.h index 67955adcf..e04faf237 100644 --- a/src/engine/platform/genesisext.h +++ b/src/engine/platform/genesisext.h @@ -29,6 +29,7 @@ class DivPlatformGenesisExt: public DivPlatformGenesis { bool isOpMuted[4]; friend void putDispatchChip(void*,int); friend void putDispatchChan(void*,int,int); + inline void commitStateExt(int ch, DivInstrument* ins); public: int dispatch(DivCommand c); void* getChanState(int chan); diff --git a/src/engine/platform/ym2203ext.cpp b/src/engine/platform/ym2203ext.cpp index 99d533575..87a887fc3 100644 --- a/src/engine/platform/ym2203ext.cpp +++ b/src/engine/platform/ym2203ext.cpp @@ -24,6 +24,41 @@ #define CHIP_FREQBASE fmFreqBase #define CHIP_DIVIDER fmDivBase +void DivPlatformYM2203Ext::commitStateExt(int ch, DivInstrument* ins) { + int ordch=orderedOps[ch]; + + if (opChan[ch].insChanged) { + chan[2].state.alg=ins->fm.alg; + if (ch==0 || fbAllOps) { + chan[2].state.fb=ins->fm.fb; + } + chan[2].state.op[ordch]=ins->fm.op[ordch]; + } + + unsigned short baseAddr=chanOffs[2]|opOffs[ordch]; + DivInstrumentFM::Operator& op=chan[2].state.op[ordch]; + // TODO: how does this work?! + if (isOpMuted[ch]) { + rWrite(baseAddr+0x40,127); + } else { + if (opChan[ch].insChanged) { + rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch].outVol&0x7f,127)); + } + } + if (opChan[ch].insChanged) { + rWrite(baseAddr+0x30,(op.mult&15)|(dtTable[op.dt&7]<<4)); + rWrite(baseAddr+0x50,(op.ar&31)|(op.rs<<6)); + rWrite(baseAddr+0x60,(op.dr&31)|(op.am<<7)); + rWrite(baseAddr+0x70,op.d2r&31); + rWrite(baseAddr+0x80,(op.rr&15)|(op.sl<<4)); + rWrite(baseAddr+0x90,op.ssgEnv&15); + opChan[ch].mask=op.enable; + } + if (opChan[ch].insChanged) { // TODO how does this work? + rWrite(chanOffs[2]+0xb0,(chan[2].state.alg&7)|(chan[2].state.fb<<3)); + } +} + int DivPlatformYM2203Ext::dispatch(DivCommand c) { if (c.chan<2) { return DivPlatformYM2203::dispatch(c); @@ -42,14 +77,6 @@ int DivPlatformYM2203Ext::dispatch(DivCommand c) { case DIV_CMD_NOTE_ON: { DivInstrument* ins=parent->getIns(opChan[ch].ins,DIV_INS_FM); - if (opChan[ch].insChanged) { - chan[2].state.alg=ins->fm.alg; - if (ch==0 || fbAllOps) { - chan[2].state.fb=ins->fm.fb; - } - chan[2].state.op[ordch]=ins->fm.op[ordch]; - } - if (noExtMacros) { opChan[ch].macroInit(NULL); } else { @@ -58,29 +85,8 @@ int DivPlatformYM2203Ext::dispatch(DivCommand c) { if (!opChan[ch].std.vol.will) { opChan[ch].outVol=opChan[ch].vol; } - - unsigned short baseAddr=chanOffs[2]|opOffs[ordch]; - DivInstrumentFM::Operator& op=chan[2].state.op[ordch]; - // TODO: how does this work?! - if (isOpMuted[ch]) { - rWrite(baseAddr+0x40,127); - } else { - if (opChan[ch].insChanged) { - rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch].outVol&0x7f,127)); - } - } - if (opChan[ch].insChanged) { - rWrite(baseAddr+0x30,(op.mult&15)|(dtTable[op.dt&7]<<4)); - rWrite(baseAddr+0x50,(op.ar&31)|(op.rs<<6)); - rWrite(baseAddr+0x60,(op.dr&31)|(op.am<<7)); - rWrite(baseAddr+0x70,op.d2r&31); - rWrite(baseAddr+0x80,(op.rr&15)|(op.sl<<4)); - rWrite(baseAddr+0x90,op.ssgEnv&15); - opChan[ch].mask=op.enable; - } - if (opChan[ch].insChanged) { // TODO how does this work? - rWrite(chanOffs[2]+0xb0,(chan[2].state.alg&7)|(chan[2].state.fb<<3)); - } + + commitStateExt(ch,ins); opChan[ch].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -166,6 +172,11 @@ int DivPlatformYM2203Ext::dispatch(DivCommand c) { break; } case DIV_CMD_LEGATO: { + if (opChan[ch].insChanged) { + DivInstrument* ins=parent->getIns(opChan[ch].ins,DIV_INS_FM); + commitStateExt(ch,ins); + opChan[ch].insChanged=false; + } opChan[ch].baseFreq=NOTE_FNUM_BLOCK(c.value,11); opChan[ch].freqChanged=true; break; diff --git a/src/engine/platform/ym2203ext.h b/src/engine/platform/ym2203ext.h index 6d8bb0baa..79d92043e 100644 --- a/src/engine/platform/ym2203ext.h +++ b/src/engine/platform/ym2203ext.h @@ -28,6 +28,7 @@ class DivPlatformYM2203Ext: public DivPlatformYM2203 { OPNOpChannel opChan[4]; bool isOpMuted[4]; friend void putDispatchChip(void*,int); + inline void commitStateExt(int ch, DivInstrument* ins); public: int dispatch(DivCommand c); void* getChanState(int chan); diff --git a/src/engine/platform/ym2608ext.cpp b/src/engine/platform/ym2608ext.cpp index e8e35cdcc..2247b7759 100644 --- a/src/engine/platform/ym2608ext.cpp +++ b/src/engine/platform/ym2608ext.cpp @@ -24,6 +24,44 @@ #define CHIP_FREQBASE fmFreqBase #define CHIP_DIVIDER fmDivBase +void DivPlatformYM2608Ext::commitStateExt(int ch, DivInstrument* ins) { + int ordch=orderedOps[ch]; + + if (opChan[ch].insChanged) { + chan[2].state.alg=ins->fm.alg; + if (ch==0 || fbAllOps) { + chan[2].state.fb=ins->fm.fb; + } + chan[2].state.fms=ins->fm.fms; + chan[2].state.ams=ins->fm.ams; + chan[2].state.op[ordch]=ins->fm.op[ordch]; + } + + unsigned short baseAddr=chanOffs[2]|opOffs[ordch]; + DivInstrumentFM::Operator& op=chan[2].state.op[ordch]; + // TODO: how does this work?! + if (isOpMuted[ch]) { + rWrite(baseAddr+0x40,127); + } else { + if (opChan[ch].insChanged) { + rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch].outVol&0x7f,127)); + } + } + if (opChan[ch].insChanged) { + rWrite(baseAddr+0x30,(op.mult&15)|(dtTable[op.dt&7]<<4)); + rWrite(baseAddr+0x50,(op.ar&31)|(op.rs<<6)); + rWrite(baseAddr+0x60,(op.dr&31)|(op.am<<7)); + rWrite(baseAddr+0x70,op.d2r&31); + rWrite(baseAddr+0x80,(op.rr&15)|(op.sl<<4)); + rWrite(baseAddr+0x90,op.ssgEnv&15); + opChan[ch].mask=op.enable; + } + if (opChan[ch].insChanged) { // TODO how does this work? + rWrite(chanOffs[2]+0xb0,(chan[2].state.alg&7)|(chan[2].state.fb<<3)); + rWrite(chanOffs[2]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch].pan<<6))|(chan[2].state.fms&7)|((chan[2].state.ams&3)<<4)); + } +} + int DivPlatformYM2608Ext::dispatch(DivCommand c) { if (c.chan<2) { return DivPlatformYM2608::dispatch(c); @@ -42,16 +80,6 @@ int DivPlatformYM2608Ext::dispatch(DivCommand c) { case DIV_CMD_NOTE_ON: { DivInstrument* ins=parent->getIns(opChan[ch].ins,DIV_INS_FM); - if (opChan[ch].insChanged) { - chan[2].state.alg=ins->fm.alg; - if (ch==0 || fbAllOps) { - chan[2].state.fb=ins->fm.fb; - } - chan[2].state.fms=ins->fm.fms; - chan[2].state.ams=ins->fm.ams; - chan[2].state.op[ordch]=ins->fm.op[ordch]; - } - if (noExtMacros) { opChan[ch].macroInit(NULL); } else { @@ -60,30 +88,8 @@ int DivPlatformYM2608Ext::dispatch(DivCommand c) { if (!opChan[ch].std.vol.will) { opChan[ch].outVol=opChan[ch].vol; } - - unsigned short baseAddr=chanOffs[2]|opOffs[ordch]; - DivInstrumentFM::Operator& op=chan[2].state.op[ordch]; - // TODO: how does this work?! - if (isOpMuted[ch]) { - rWrite(baseAddr+0x40,127); - } else { - if (opChan[ch].insChanged) { - rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch].outVol&0x7f,127)); - } - } - if (opChan[ch].insChanged) { - rWrite(baseAddr+0x30,(op.mult&15)|(dtTable[op.dt&7]<<4)); - rWrite(baseAddr+0x50,(op.ar&31)|(op.rs<<6)); - rWrite(baseAddr+0x60,(op.dr&31)|(op.am<<7)); - rWrite(baseAddr+0x70,op.d2r&31); - rWrite(baseAddr+0x80,(op.rr&15)|(op.sl<<4)); - rWrite(baseAddr+0x90,op.ssgEnv&15); - opChan[ch].mask=op.enable; - } - if (opChan[ch].insChanged) { // TODO how does this work? - rWrite(chanOffs[2]+0xb0,(chan[2].state.alg&7)|(chan[2].state.fb<<3)); - rWrite(chanOffs[2]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch].pan<<6))|(chan[2].state.fms&7)|((chan[2].state.ams&3)<<4)); - } + + commitStateExt(ch,ins); opChan[ch].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -184,6 +190,11 @@ int DivPlatformYM2608Ext::dispatch(DivCommand c) { break; } case DIV_CMD_LEGATO: { + if (opChan[ch].insChanged) { + DivInstrument* ins=parent->getIns(opChan[ch].ins,DIV_INS_FM); + commitStateExt(ch,ins); + opChan[ch].insChanged=false; + } opChan[ch].baseFreq=NOTE_FNUM_BLOCK(c.value,11); opChan[ch].freqChanged=true; break; diff --git a/src/engine/platform/ym2608ext.h b/src/engine/platform/ym2608ext.h index e99518fbe..160d855c3 100644 --- a/src/engine/platform/ym2608ext.h +++ b/src/engine/platform/ym2608ext.h @@ -28,6 +28,7 @@ class DivPlatformYM2608Ext: public DivPlatformYM2608 { OPNOpChannelStereo opChan[4]; bool isOpMuted[4]; friend void putDispatchChip(void*,int); + inline void commitStateExt(int ch, DivInstrument* ins); public: int dispatch(DivCommand c); void* getChanState(int chan); diff --git a/src/engine/platform/ym2610bext.cpp b/src/engine/platform/ym2610bext.cpp index 28563b20e..8462e557f 100644 --- a/src/engine/platform/ym2610bext.cpp +++ b/src/engine/platform/ym2610bext.cpp @@ -20,6 +20,44 @@ #include "ym2610bext.h" #include +void DivPlatformYM2610BExt::commitStateExt(int ch, DivInstrument* ins) { + int ordch=orderedOps[ch]; + + if (opChan[ch].insChanged) { + chan[extChanOffs].state.alg=ins->fm.alg; + if (ch==0 || fbAllOps) { + chan[extChanOffs].state.fb=ins->fm.fb; + } + chan[extChanOffs].state.fms=ins->fm.fms; + chan[extChanOffs].state.ams=ins->fm.ams; + chan[extChanOffs].state.op[ordch]=ins->fm.op[ordch]; + } + + unsigned short baseAddr=chanOffs[extChanOffs]|opOffs[ordch]; + DivInstrumentFM::Operator& op=chan[extChanOffs].state.op[ordch]; + // TODO: how does this work?! + if (isOpMuted[ch]) { + rWrite(baseAddr+0x40,127); + } else { + if (opChan[ch].insChanged) { + rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch].outVol&0x7f,127)); + } + } + if (opChan[ch].insChanged) { + rWrite(baseAddr+0x30,(op.mult&15)|(dtTable[op.dt&7]<<4)); + rWrite(baseAddr+0x50,(op.ar&31)|(op.rs<<6)); + rWrite(baseAddr+0x60,(op.dr&31)|(op.am<<7)); + rWrite(baseAddr+0x70,op.d2r&31); + rWrite(baseAddr+0x80,(op.rr&15)|(op.sl<<4)); + rWrite(baseAddr+0x90,op.ssgEnv&15); + opChan[ch].mask=op.enable; + } + if (opChan[ch].insChanged) { // TODO how does this work? + rWrite(chanOffs[extChanOffs]+0xb0,(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3)); + rWrite(chanOffs[extChanOffs]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4)); + } +} + int DivPlatformYM2610BExt::dispatch(DivCommand c) { if (c.changetIns(opChan[ch].ins,DIV_INS_FM); - if (opChan[ch].insChanged) { - chan[extChanOffs].state.alg=ins->fm.alg; - if (ch==0 || fbAllOps) { - chan[extChanOffs].state.fb=ins->fm.fb; - } - chan[extChanOffs].state.fms=ins->fm.fms; - chan[extChanOffs].state.ams=ins->fm.ams; - chan[extChanOffs].state.op[ordch]=ins->fm.op[ordch]; - } - if (noExtMacros) { opChan[ch].macroInit(NULL); } else { @@ -56,30 +84,8 @@ int DivPlatformYM2610BExt::dispatch(DivCommand c) { if (!opChan[ch].std.vol.will) { opChan[ch].outVol=opChan[ch].vol; } - - unsigned short baseAddr=chanOffs[extChanOffs]|opOffs[ordch]; - DivInstrumentFM::Operator& op=chan[extChanOffs].state.op[ordch]; - // TODO: how does this work?! - if (isOpMuted[ch]) { - rWrite(baseAddr+0x40,127); - } else { - if (opChan[ch].insChanged) { - rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch].outVol&0x7f,127)); - } - } - if (opChan[ch].insChanged) { - rWrite(baseAddr+0x30,(op.mult&15)|(dtTable[op.dt&7]<<4)); - rWrite(baseAddr+0x50,(op.ar&31)|(op.rs<<6)); - rWrite(baseAddr+0x60,(op.dr&31)|(op.am<<7)); - rWrite(baseAddr+0x70,op.d2r&31); - rWrite(baseAddr+0x80,(op.rr&15)|(op.sl<<4)); - rWrite(baseAddr+0x90,op.ssgEnv&15); - opChan[ch].mask=op.enable; - } - if (opChan[ch].insChanged) { // TODO how does this work? - rWrite(chanOffs[extChanOffs]+0xb0,(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3)); - rWrite(chanOffs[extChanOffs]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4)); - } + + commitStateExt(ch,ins); opChan[ch].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -180,6 +186,11 @@ int DivPlatformYM2610BExt::dispatch(DivCommand c) { break; } case DIV_CMD_LEGATO: { + if (opChan[ch].insChanged) { + DivInstrument* ins=parent->getIns(opChan[ch].ins,DIV_INS_FM); + commitStateExt(ch,ins); + opChan[ch].insChanged=false; + } opChan[ch].baseFreq=NOTE_FNUM_BLOCK(c.value,11); opChan[ch].freqChanged=true; break; diff --git a/src/engine/platform/ym2610bext.h b/src/engine/platform/ym2610bext.h index 50bd5badf..fcec3bd77 100644 --- a/src/engine/platform/ym2610bext.h +++ b/src/engine/platform/ym2610bext.h @@ -28,6 +28,7 @@ class DivPlatformYM2610BExt: public DivPlatformYM2610B { OPNOpChannelStereo opChan[4]; bool isOpMuted[4]; friend void putDispatchChip(void*,int); + inline void commitStateExt(int ch, DivInstrument* ins); public: int dispatch(DivCommand c); void* getChanState(int chan); diff --git a/src/engine/platform/ym2610ext.cpp b/src/engine/platform/ym2610ext.cpp index 03442dc5b..dcf5b0997 100644 --- a/src/engine/platform/ym2610ext.cpp +++ b/src/engine/platform/ym2610ext.cpp @@ -20,6 +20,44 @@ #include "ym2610ext.h" #include +void DivPlatformYM2610Ext::commitStateExt(int ch, DivInstrument* ins) { + int ordch=orderedOps[ch]; + + if (opChan[ch].insChanged) { + chan[extChanOffs].state.alg=ins->fm.alg; + if (ch==0 || fbAllOps) { + chan[extChanOffs].state.fb=ins->fm.fb; + } + chan[extChanOffs].state.fms=ins->fm.fms; + chan[extChanOffs].state.ams=ins->fm.ams; + chan[extChanOffs].state.op[ordch]=ins->fm.op[ordch]; + } + + unsigned short baseAddr=chanOffs[extChanOffs]|opOffs[ordch]; + DivInstrumentFM::Operator& op=chan[extChanOffs].state.op[ordch]; + // TODO: how does this work?! + if (isOpMuted[ch]) { + rWrite(baseAddr+0x40,127); + } else { + if (opChan[ch].insChanged) { + rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch].outVol&0x7f,127)); + } + } + if (opChan[ch].insChanged) { + rWrite(baseAddr+0x30,(op.mult&15)|(dtTable[op.dt&7]<<4)); + rWrite(baseAddr+0x50,(op.ar&31)|(op.rs<<6)); + rWrite(baseAddr+0x60,(op.dr&31)|(op.am<<7)); + rWrite(baseAddr+0x70,op.d2r&31); + rWrite(baseAddr+0x80,(op.rr&15)|(op.sl<<4)); + rWrite(baseAddr+0x90,op.ssgEnv&15); + opChan[ch].mask=op.enable; + } + if (opChan[ch].insChanged) { // TODO how does this work? + rWrite(chanOffs[extChanOffs]+0xb0,(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3)); + rWrite(chanOffs[extChanOffs]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4)); + } +} + int DivPlatformYM2610Ext::dispatch(DivCommand c) { if (c.changetIns(opChan[ch].ins,DIV_INS_FM); - if (opChan[ch].insChanged) { - chan[extChanOffs].state.alg=ins->fm.alg; - if (ch==0 || fbAllOps) { - chan[extChanOffs].state.fb=ins->fm.fb; - } - chan[extChanOffs].state.fms=ins->fm.fms; - chan[extChanOffs].state.ams=ins->fm.ams; - chan[extChanOffs].state.op[ordch]=ins->fm.op[ordch]; - } - if (noExtMacros) { opChan[ch].macroInit(NULL); } else { @@ -56,30 +84,8 @@ int DivPlatformYM2610Ext::dispatch(DivCommand c) { if (!opChan[ch].std.vol.will) { opChan[ch].outVol=opChan[ch].vol; } - - unsigned short baseAddr=chanOffs[extChanOffs]|opOffs[ordch]; - DivInstrumentFM::Operator& op=chan[extChanOffs].state.op[ordch]; - // TODO: how does this work?! - if (isOpMuted[ch]) { - rWrite(baseAddr+0x40,127); - } else { - if (opChan[ch].insChanged) { - rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch].outVol&0x7f,127)); - } - } - if (opChan[ch].insChanged) { - rWrite(baseAddr+0x30,(op.mult&15)|(dtTable[op.dt&7]<<4)); - rWrite(baseAddr+0x50,(op.ar&31)|(op.rs<<6)); - rWrite(baseAddr+0x60,(op.dr&31)|(op.am<<7)); - rWrite(baseAddr+0x70,op.d2r&31); - rWrite(baseAddr+0x80,(op.rr&15)|(op.sl<<4)); - rWrite(baseAddr+0x90,op.ssgEnv&15); - opChan[ch].mask=op.enable; - } - if (opChan[ch].insChanged) { // TODO how does this work? - rWrite(chanOffs[extChanOffs]+0xb0,(chan[extChanOffs].state.alg&7)|(chan[extChanOffs].state.fb<<3)); - rWrite(chanOffs[extChanOffs]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4)); - } + + commitStateExt(ch,ins); opChan[ch].insChanged=false; if (c.value!=DIV_NOTE_NULL) { @@ -180,6 +186,11 @@ int DivPlatformYM2610Ext::dispatch(DivCommand c) { break; } case DIV_CMD_LEGATO: { + if (opChan[ch].insChanged) { + DivInstrument* ins=parent->getIns(opChan[ch].ins,DIV_INS_FM); + commitStateExt(ch,ins); + opChan[ch].insChanged=false; + } opChan[ch].baseFreq=NOTE_FNUM_BLOCK(c.value,11); opChan[ch].freqChanged=true; break; diff --git a/src/engine/platform/ym2610ext.h b/src/engine/platform/ym2610ext.h index e41033384..0cf0bf112 100644 --- a/src/engine/platform/ym2610ext.h +++ b/src/engine/platform/ym2610ext.h @@ -28,6 +28,7 @@ class DivPlatformYM2610Ext: public DivPlatformYM2610 { OPNOpChannelStereo opChan[4]; bool isOpMuted[4]; friend void putDispatchChip(void*,int); + inline void commitStateExt(int ch, DivInstrument* ins); public: int dispatch(DivCommand c); void* getChanState(int chan); From 503e822a33f145ecf87732e96dcf139b9168b986 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 19 Jan 2023 03:38:29 -0500 Subject: [PATCH 059/121] PCE: better noise frequency handling --- src/engine/platform/pce.cpp | 24 +++++++++++++----------- src/engine/platform/pce.h | 5 +++-- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/engine/platform/pce.cpp b/src/engine/platform/pce.cpp index 3efbd7c8c..4b29c336c 100644 --- a/src/engine/platform/pce.cpp +++ b/src/engine/platform/pce.cpp @@ -163,21 +163,15 @@ void DivPlatformPCE::tick(bool sysTick) { if (chan[i].std.duty.had && i>=4) { chan[i].noise=chan[i].std.duty.val; chan[i].freqChanged=true; - int noiseSeek=chan[i].note; - if (noiseSeek<0) noiseSeek=0; - chWrite(i,0x07,chan[i].noise?(0x80|(parent->song.properNoiseLayout?(noiseSeek&31):noiseFreq[noiseSeek%12])):0); } if (NEW_ARP_STRAT) { chan[i].handleArp(); - int noiseSeek=chan[i].fixedArp?chan[i].baseNoteOverride:(chan[i].note+chan[i].arpOff); - if (noiseSeek<0) noiseSeek=0; - chWrite(i,0x07,chan[i].noise?(0x80|(parent->song.properNoiseLayout?(noiseSeek&31):noiseFreq[noiseSeek%12])):0); } else if (chan[i].std.arp.had) { if (!chan[i].inPorta) { int noiseSeek=parent->calcArp(chan[i].note,chan[i].std.arp.val); chan[i].baseFreq=NOTE_PERIODIC(noiseSeek); if (noiseSeek<0) noiseSeek=0; - chWrite(i,0x07,chan[i].noise?(0x80|(parent->song.properNoiseLayout?(noiseSeek&31):noiseFreq[noiseSeek%12])):0); + chan[i].noiseSeek=noiseSeek; } chan[i].freqChanged=true; } @@ -246,6 +240,15 @@ void DivPlatformPCE::tick(bool sysTick) { if (chan[i].freq>4095) chan[i].freq=4095; chWrite(i,0x02,chan[i].freq&0xff); chWrite(i,0x03,chan[i].freq>>8); + + if (i>=4) { + int noiseSeek=(chan[i].fixedArp?chan[i].baseNoteOverride:(chan[i].note+chan[i].arpOff))+chan[i].pitch2; + if (!parent->song.properNoiseLayout && noiseSeek<0) noiseSeek=0; + if (!NEW_ARP_STRAT) { + noiseSeek=chan[i].noiseSeek; + } + chWrite(i,0x07,chan[i].noise?(0x80|(parent->song.properNoiseLayout?(noiseSeek&31):noiseFreq[noiseSeek%12])):0); + } if (chan[i].keyOn) { //rWrite(16+i*5,0x80); //chWrite(i,0x04,0x80|chan[i].vol); @@ -331,9 +334,8 @@ int DivPlatformPCE::dispatch(DivCommand c) { chan[c.chan].baseFreq=NOTE_PERIODIC(c.value); chan[c.chan].freqChanged=true; chan[c.chan].note=c.value; - int noiseSeek=chan[c.chan].note; - if (noiseSeek<0) noiseSeek=0; - chWrite(c.chan,0x07,chan[c.chan].noise?(0x80|(parent->song.properNoiseLayout?(noiseSeek&31):noiseFreq[noiseSeek%12])):0); + chan[c.chan].noiseSeek=c.value; + if (chan[c.chan].noiseSeek<0) chan[c.chan].noiseSeek=0; } chan[c.chan].active=true; chan[c.chan].keyOn=true; @@ -431,7 +433,7 @@ int DivPlatformPCE::dispatch(DivCommand c) { } case DIV_CMD_STD_NOISE_MODE: chan[c.chan].noise=c.value; - chWrite(c.chan,0x07,chan[c.chan].noise?(0x80|chan[c.chan].note):0); + chan[c.chan].freqChanged=true; break; case DIV_CMD_SAMPLE_MODE: chan[c.chan].pcm=c.value; diff --git a/src/engine/platform/pce.h b/src/engine/platform/pce.h index 6493840c1..a687de1bf 100644 --- a/src/engine/platform/pce.h +++ b/src/engine/platform/pce.h @@ -34,7 +34,7 @@ class DivPlatformPCE: public DivDispatch { unsigned char pan; bool noise, pcm, furnaceDac, deferredWaveUpdate; signed short wave; - int macroVolMul; + int macroVolMul, noiseSeek; DivWaveSynth ws; Channel(): SharedChannel(31), @@ -51,7 +51,8 @@ class DivPlatformPCE: public DivDispatch { furnaceDac(false), deferredWaveUpdate(false), wave(-1), - macroVolMul(31) {} + macroVolMul(31), + noiseSeek(0) {} }; Channel chan[6]; DivDispatchOscBuffer* oscBuf[6]; From 231b5c3694fb44b1db2e62d5f6e6a02e5edfa2c2 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 19 Jan 2023 03:57:29 -0500 Subject: [PATCH 060/121] WonderSwan: make phase reset work --- src/engine/platform/swan.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/engine/platform/swan.cpp b/src/engine/platform/swan.cpp index 001d2957a..f99be75e3 100644 --- a/src/engine/platform/swan.cpp +++ b/src/engine/platform/swan.cpp @@ -217,6 +217,26 @@ void DivPlatformSwan::tick(bool sysTick) { } } } + if (chan[3].std.phaseReset.had) { + if (noise>0) { + rWrite(0x0e,((noise-1)&0x07)|0x18); + sndCtrl|=0x80; + } else { + sndCtrl&=~0x80; + } + } + unsigned char origSndCtrl=sndCtrl; + bool phaseResetHappens=false; + for (int i=0; i<4; i++) { + if (chan[i].std.phaseReset.had) { + phaseResetHappens=true; + sndCtrl&=~(1< Date: Thu, 19 Jan 2023 14:36:15 -0500 Subject: [PATCH 061/121] YM2612: new experimental hard reset strategy --- src/engine/platform/fmsharedbase.h | 2 ++ src/engine/platform/genesis.cpp | 46 ++++++++++++++++++++---------- 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/engine/platform/fmsharedbase.h b/src/engine/platform/fmsharedbase.h index f64c723ac..90548aab9 100644 --- a/src/engine/platform/fmsharedbase.h +++ b/src/engine/platform/fmsharedbase.h @@ -83,6 +83,7 @@ class DivPlatformFMBase: public DivDispatch { unsigned char lastBusy; int delay; + unsigned int hardResetCycles; bool flushFirst; unsigned char regPool[512]; @@ -123,6 +124,7 @@ class DivPlatformFMBase: public DivDispatch { DivDispatch(), lastBusy(0), delay(0), + hardResetCycles(0), flushFirst(false) {} }; diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 5cbed89ed..1a9573cce 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -472,26 +472,20 @@ void DivPlatformGenesis::tick(bool sysTick) { } } + int hardResetElapsed=0; + bool mustHardReset=false; + for (int i=0; i<6; i++) { if (i==2 && extMode) continue; if (chan[i].keyOn || chan[i].keyOff) { - if (chan[i].hardReset && chan[i].keyOn) { - for (int j=0; j<4; j++) { - unsigned short baseAddr=chanOffs[i]|opOffs[j]; - immWrite(baseAddr+ADDR_SL_RR,0x0f); - immWrite(baseAddr+ADDR_TL,0x7f); - oldWrites[baseAddr+ADDR_SL_RR]=-1; - oldWrites[baseAddr+ADDR_TL]=-1; - //rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); - } - } immWrite(0x28,0x00|konOffs[i]); if (chan[i].hardReset && chan[i].keyOn) { + mustHardReset=true; for (int j=0; j<4; j++) { unsigned short baseAddr=chanOffs[i]|opOffs[j]; - for (int k=0; k<5; k++) { - immWrite(baseAddr+ADDR_SL_RR,0x0f); - } + oldWrites[baseAddr+ADDR_SL_RR]=-1; + immWrite(baseAddr+ADDR_SL_RR,0x0f); + hardResetElapsed++; } } chan[i].keyOff=false; @@ -520,6 +514,7 @@ void DivPlatformGenesis::tick(bool sysTick) { if (i<6) { immWrite(chanOffs[i]+ADDR_FREQH,chan[i].freq>>8); immWrite(chanOffs[i]+ADDR_FREQ,chan[i].freq&0xff); + hardResetElapsed+=2; } if (chan[i].furnaceDac && chan[i].dacMode) { double off=1.0; @@ -538,12 +533,31 @@ void DivPlatformGenesis::tick(bool sysTick) { } chan[i].freqChanged=false; } - if (chan[i].keyOn || chan[i].opMaskChanged) { - if (i<6) immWrite(0x28,(chan[i].opMask<<4)|konOffs[i]); + if ((chan[i].keyOn || chan[i].opMaskChanged) && !chan[i].hardReset) { + if (i<6) { + immWrite(0x28,(chan[i].opMask<<4)|konOffs[i]); + hardResetElapsed++; + } chan[i].opMaskChanged=false; chan[i].keyOn=false; } } + + // hard reset handling + if (mustHardReset) { + for (unsigned int i=hardResetElapsed; irate=rate; } From b33ea8f0ac8bf5ed4070d6a9cff57fe9744be562 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 19 Jan 2023 18:22:48 -0500 Subject: [PATCH 062/121] apply new hard reset strategy on all OPN chips --- src/engine/platform/fmsharedbase.h | 4 +- src/engine/platform/genesis.cpp | 3 +- src/engine/platform/ym2203.cpp | 62 ++++++++++++++---------- src/engine/platform/ym2608.cpp | 76 ++++++++++++++++++++---------- src/engine/platform/ym2610.cpp | 72 ++++++++++++++++++---------- src/engine/platform/ym2610b.cpp | 70 ++++++++++++++++++--------- 6 files changed, 187 insertions(+), 100 deletions(-) diff --git a/src/engine/platform/fmsharedbase.h b/src/engine/platform/fmsharedbase.h index 90548aab9..9e89ddc2f 100644 --- a/src/engine/platform/fmsharedbase.h +++ b/src/engine/platform/fmsharedbase.h @@ -47,6 +47,8 @@ class DivPlatformFMBase: public DivDispatch { 0,2,1,3 }; + const unsigned int hardResetCycles=127; + struct FMChannel: public SharedChannel { DivInstrumentFM state; unsigned char freqH, freqL; @@ -83,7 +85,6 @@ class DivPlatformFMBase: public DivDispatch { unsigned char lastBusy; int delay; - unsigned int hardResetCycles; bool flushFirst; unsigned char regPool[512]; @@ -124,7 +125,6 @@ class DivPlatformFMBase: public DivDispatch { DivDispatch(), lastBusy(0), delay(0), - hardResetCycles(0), flushFirst(false) {} }; diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 1a9573cce..a73e42c9b 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -549,6 +549,7 @@ void DivPlatformGenesis::tick(bool sysTick) { immWrite(0xf0,i&0xff); } for (int i=0; irate=rate; } diff --git a/src/engine/platform/ym2203.cpp b/src/engine/platform/ym2203.cpp index c2a547d8c..e161ac04e 100644 --- a/src/engine/platform/ym2203.cpp +++ b/src/engine/platform/ym2203.cpp @@ -411,29 +411,6 @@ void DivPlatformYM2203::tick(bool sysTick) { rWrite(baseAddr+ADDR_SSG,op.ssgEnv&15); } } - - if (chan[i].keyOn || chan[i].keyOff) { - if (chan[i].hardReset && chan[i].keyOn) { - for (int j=0; j<4; j++) { - unsigned short baseAddr=chanOffs[i]|opOffs[j]; - immWrite(baseAddr+ADDR_SL_RR,0x0f); - immWrite(baseAddr+ADDR_TL,0x7f); - oldWrites[baseAddr+ADDR_SL_RR]=-1; - oldWrites[baseAddr+ADDR_TL]=-1; - //rWrite(baseAddr+ADDR_SL_RR,(op.rr&15)|(op.sl<<4)); - } - } - immWrite(0x28,0x00|konOffs[i]); - if (chan[i].hardReset && chan[i].keyOn) { - for (int j=0; j<4; j++) { - unsigned short baseAddr=chanOffs[i]|opOffs[j]; - for (int k=0; k<100; k++) { - immWrite(baseAddr+ADDR_SL_RR,0x0f); - } - } - } - chan[i].keyOff=false; - } } for (int i=16; i<256; i++) { @@ -443,6 +420,26 @@ void DivPlatformYM2203::tick(bool sysTick) { } } + int hardResetElapsed=0; + bool mustHardReset=false; + + for (int i=0; i<3; i++) { + if (i==2 && extMode) continue; + if (chan[i].keyOn || chan[i].keyOff) { + immWrite(0x28,0x00|konOffs[i]); + if (chan[i].hardReset && chan[i].keyOn) { + mustHardReset=true; + for (int j=0; j<4; j++) { + unsigned short baseAddr=chanOffs[i]|opOffs[j]; + oldWrites[baseAddr+ADDR_SL_RR]=-1; + immWrite(baseAddr+ADDR_SL_RR,0x0f); + hardResetElapsed++; + } + } + chan[i].keyOff=false; + } + } + for (int i=0; i<3; i++) { if (i==2 && extMode) continue; if (chan[i].freqChanged) { @@ -464,14 +461,31 @@ void DivPlatformYM2203::tick(bool sysTick) { if (chan[i].freq>0x3fff) chan[i].freq=0x3fff; immWrite(chanOffs[i]+ADDR_FREQH,chan[i].freq>>8); immWrite(chanOffs[i]+ADDR_FREQ,chan[i].freq&0xff); + hardResetElapsed+=2; chan[i].freqChanged=false; } - if (chan[i].keyOn || chan[i].opMaskChanged) { + if ((chan[i].keyOn || chan[i].opMaskChanged) && !chan[i].hardReset) { immWrite(0x28,(chan[i].opMask<<4)|konOffs[i]); + hardResetElapsed++; chan[i].opMaskChanged=false; chan[i].keyOn=false; } } + + // hard reset handling + if (mustHardReset) { + for (unsigned int i=hardResetElapsed; i0x3fff) chan[i].freq=0x3fff; immWrite(chanOffs[i]+ADDR_FREQH,chan[i].freq>>8); immWrite(chanOffs[i]+ADDR_FREQ,chan[i].freq&0xff); + hardResetElapsed+=2; chan[i].freqChanged=false; } - if (chan[i].keyOn || chan[i].opMaskChanged) { + if ((chan[i].keyOn || chan[i].opMaskChanged) && !chan[i].hardReset) { immWrite(0x28,(chan[i].opMask<<4)|konOffs[i]); + hardResetElapsed++; chan[i].opMaskChanged=false; chan[i].keyOn=false; } @@ -679,6 +678,7 @@ void DivPlatformYM2608::tick(bool sysTick) { if (globalRSSVolume!=(chan[i].std.duty.val&0x3f)) { globalRSSVolume=chan[i].std.duty.val&0x3f; immWrite(0x11,globalRSSVolume); + hardResetElapsed++; } } if (chan[i].std.panL.had) { @@ -691,6 +691,7 @@ void DivPlatformYM2608::tick(bool sysTick) { } if (!isMuted[i] && (chan[i].std.vol.had || chan[i].std.panL.had)) { immWrite(0x18+(i-9),isMuted[i]?0:((chan[i].pan<<6)|chan[i].outVol)); + hardResetElapsed++; } } if (chan[i].keyOff) { @@ -709,6 +710,7 @@ void DivPlatformYM2608::tick(bool sysTick) { if (chan[15].std.vol.had) { chan[15].outVol=(chan[15].vol*MIN(chan[15].macroVolMul,chan[15].std.vol.val))/chan[15].macroVolMul; immWrite(0x10b,chan[15].outVol); + hardResetElapsed++; } if (NEW_ARP_STRAT) { @@ -735,6 +737,7 @@ void DivPlatformYM2608::tick(bool sysTick) { chan[15].pan=chan[15].std.panL.val&3; if (!isMuted[15]) { immWrite(0x101,(isMuted[15]?0:(chan[15].pan<<6))|2); + hardResetElapsed++; } } } @@ -755,12 +758,17 @@ void DivPlatformYM2608::tick(bool sysTick) { } immWrite(0x109,chan[15].freq&0xff); immWrite(0x10a,(chan[15].freq>>8)&0xff); + hardResetElapsed+=2; if (chan[15].keyOn || chan[15].keyOff) { - if (chan[15].keyOff) immWrite(0x100,0x01); // reset + if (chan[15].keyOff) { + immWrite(0x100,0x01); // reset + hardResetElapsed++; + } if (chan[15].active && chan[15].keyOn && !chan[15].keyOff) { if (chan[15].sample>=0 && chan[15].samplesong.sampleLen) { DivSample* s=parent->getSample(chan[15].sample); immWrite(0x100,(s->isLoopable())?0xb0:0xa0); // start/repeat + hardResetElapsed++; } } chan[15].keyOn=false; @@ -771,11 +779,13 @@ void DivPlatformYM2608::tick(bool sysTick) { if (writeRSSOff) { immWrite(0x10,0x80|writeRSSOff); + hardResetElapsed++; writeRSSOff=0; } if (writeRSSOn) { immWrite(0x10,writeRSSOn); + hardResetElapsed++; writeRSSOn=0; } @@ -785,8 +795,24 @@ void DivPlatformYM2608::tick(bool sysTick) { for (DivRegWrite& i: ay->getRegisterWrites()) { if (i.addr>15) continue; immWrite(i.addr&15,i.val); + hardResetElapsed++; } ay->getRegisterWrites().clear(); + + // hard reset handling + if (mustHardReset) { + for (unsigned int i=hardResetElapsed; i0x3fff) chan[i].freq=0x3fff; immWrite(chanOffs[i]+ADDR_FREQH,chan[i].freq>>8); immWrite(chanOffs[i]+ADDR_FREQ,chan[i].freq&0xff); + hardResetElapsed+=2; chan[i].freqChanged=false; } - if (chan[i].keyOn || chan[i].opMaskChanged) { + if ((chan[i].keyOn || chan[i].opMaskChanged) && !chan[i].hardReset) { immWrite(0x28,(chan[i].opMask<<4)|konOffs[i]); + hardResetElapsed++; chan[i].opMaskChanged=false; chan[i].keyOn=false; } @@ -612,6 +611,7 @@ void DivPlatformYM2610::tick(bool sysTick) { if (globalADPCMAVolume!=(chan[i].std.duty.val&0x3f)) { globalADPCMAVolume=chan[i].std.duty.val&0x3f; immWrite(0x101,globalADPCMAVolume); + hardResetElapsed++; } } if (chan[i].std.panL.had) { @@ -624,6 +624,7 @@ void DivPlatformYM2610::tick(bool sysTick) { } if (!isMuted[i] && (chan[i].std.vol.had || chan[i].std.panL.had)) { immWrite(0x108+(i-adpcmAChanOffs),isMuted[i]?0:((chan[i].pan<<6)|chan[i].outVol)); + hardResetElapsed++; } } if (chan[i].keyOff) { @@ -644,6 +645,7 @@ void DivPlatformYM2610::tick(bool sysTick) { if (chan[adpcmBChanOffs].std.vol.had) { chan[adpcmBChanOffs].outVol=(chan[adpcmBChanOffs].vol*MIN(chan[adpcmBChanOffs].macroVolMul,chan[adpcmBChanOffs].std.vol.val))/chan[adpcmBChanOffs].macroVolMul; immWrite(0x1b,chan[adpcmBChanOffs].outVol); + hardResetElapsed++; } if (NEW_ARP_STRAT) { @@ -670,6 +672,7 @@ void DivPlatformYM2610::tick(bool sysTick) { chan[adpcmBChanOffs].pan=chan[adpcmBChanOffs].std.panL.val&3; if (!isMuted[adpcmBChanOffs]) { immWrite(0x11,(isMuted[adpcmBChanOffs]?0:(chan[adpcmBChanOffs].pan<<6))); + hardResetElapsed++; } } } @@ -689,13 +692,16 @@ void DivPlatformYM2610::tick(bool sysTick) { } immWrite(0x19,chan[adpcmBChanOffs].freq&0xff); immWrite(0x1a,(chan[adpcmBChanOffs].freq>>8)&0xff); + hardResetElapsed+=2; } if (chan[adpcmBChanOffs].keyOn || chan[adpcmBChanOffs].keyOff) { immWrite(0x10,0x01); // reset + hardResetElapsed++; if (chan[adpcmBChanOffs].active && chan[adpcmBChanOffs].keyOn && !chan[adpcmBChanOffs].keyOff) { if (chan[adpcmBChanOffs].sample>=0 && chan[adpcmBChanOffs].samplesong.sampleLen) { DivSample* s=parent->getSample(chan[adpcmBChanOffs].sample); immWrite(0x10,(s->isLoopable())?0x90:0x80); // start/repeat + hardResetElapsed++; } } chan[adpcmBChanOffs].keyOn=false; @@ -706,11 +712,13 @@ void DivPlatformYM2610::tick(bool sysTick) { if (writeADPCMAOff) { immWrite(0x100,0x80|writeADPCMAOff); + hardResetElapsed++; writeADPCMAOff=0; } if (writeADPCMAOn) { immWrite(0x100,writeADPCMAOn); + hardResetElapsed++; writeADPCMAOn=0; } @@ -720,8 +728,24 @@ void DivPlatformYM2610::tick(bool sysTick) { for (DivRegWrite& i: ay->getRegisterWrites()) { if (i.addr>15) continue; immWrite(i.addr&15,i.val); + hardResetElapsed++; } ay->getRegisterWrites().clear(); + + // hard reset handling + if (mustHardReset) { + for (unsigned int i=hardResetElapsed; i0x3fff) chan[i].freq=0x3fff; immWrite(chanOffs[i]+ADDR_FREQH,chan[i].freq>>8); immWrite(chanOffs[i]+ADDR_FREQ,chan[i].freq&0xff); + hardResetElapsed+=2; chan[i].freqChanged=false; } if (chan[i].keyOn || chan[i].opMaskChanged) { immWrite(0x28,(chan[i].opMask<<4)|konOffs[i]); + hardResetElapsed++; chan[i].opMaskChanged=false; chan[i].keyOn=false; } @@ -679,6 +678,7 @@ void DivPlatformYM2610B::tick(bool sysTick) { if (globalADPCMAVolume!=(chan[i].std.duty.val&0x3f)) { globalADPCMAVolume=chan[i].std.duty.val&0x3f; immWrite(0x101,globalADPCMAVolume); + hardResetElapsed++; } } if (chan[i].std.panL.had) { @@ -691,6 +691,7 @@ void DivPlatformYM2610B::tick(bool sysTick) { } if (!isMuted[i] && (chan[i].std.vol.had || chan[i].std.panL.had)) { immWrite(0x108+(i-adpcmAChanOffs),isMuted[i]?0:((chan[i].pan<<6)|chan[i].outVol)); + hardResetElapsed++; } } if (chan[i].keyOff) { @@ -711,6 +712,7 @@ void DivPlatformYM2610B::tick(bool sysTick) { if (chan[adpcmBChanOffs].std.vol.had) { chan[adpcmBChanOffs].outVol=(chan[adpcmBChanOffs].vol*MIN(chan[adpcmBChanOffs].macroVolMul,chan[adpcmBChanOffs].std.vol.val))/chan[adpcmBChanOffs].macroVolMul; immWrite(0x1b,chan[adpcmBChanOffs].outVol); + hardResetElapsed++; } if (NEW_ARP_STRAT) { @@ -737,6 +739,7 @@ void DivPlatformYM2610B::tick(bool sysTick) { chan[adpcmBChanOffs].pan=chan[adpcmBChanOffs].std.panL.val&3; if (!isMuted[adpcmBChanOffs]) { immWrite(0x11,(isMuted[adpcmBChanOffs]?0:(chan[adpcmBChanOffs].pan<<6))); + hardResetElapsed++; } } } @@ -756,13 +759,16 @@ void DivPlatformYM2610B::tick(bool sysTick) { } immWrite(0x19,chan[adpcmBChanOffs].freq&0xff); immWrite(0x1a,(chan[adpcmBChanOffs].freq>>8)&0xff); + hardResetElapsed+=2; } if (chan[adpcmBChanOffs].keyOn || chan[adpcmBChanOffs].keyOff) { immWrite(0x10,0x01); // reset + hardResetElapsed++; if (chan[adpcmBChanOffs].active && chan[adpcmBChanOffs].keyOn && !chan[adpcmBChanOffs].keyOff) { if (chan[adpcmBChanOffs].sample>=0 && chan[adpcmBChanOffs].samplesong.sampleLen) { DivSample* s=parent->getSample(chan[adpcmBChanOffs].sample); immWrite(0x10,(s->isLoopable())?0x90:0x80); // start/repeat + hardResetElapsed++; } } chan[adpcmBChanOffs].keyOn=false; @@ -773,11 +779,13 @@ void DivPlatformYM2610B::tick(bool sysTick) { if (writeADPCMAOff) { immWrite(0x100,0x80|writeADPCMAOff); + hardResetElapsed++; writeADPCMAOff=0; } if (writeADPCMAOn) { immWrite(0x100,writeADPCMAOn); + hardResetElapsed++; writeADPCMAOn=0; } @@ -787,8 +795,24 @@ void DivPlatformYM2610B::tick(bool sysTick) { for (DivRegWrite& i: ay->getRegisterWrites()) { if (i.addr>15) continue; immWrite(i.addr&15,i.val); + hardResetElapsed++; } ay->getRegisterWrites().clear(); + + // hard reset handling + if (mustHardReset) { + for (unsigned int i=hardResetElapsed; i Date: Thu, 19 Jan 2023 18:37:29 -0500 Subject: [PATCH 063/121] YM2610B: fix hard reset not working --- src/engine/platform/ym2610b.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/platform/ym2610b.cpp b/src/engine/platform/ym2610b.cpp index 67e44e362..a2ba21fe4 100644 --- a/src/engine/platform/ym2610b.cpp +++ b/src/engine/platform/ym2610b.cpp @@ -659,7 +659,7 @@ void DivPlatformYM2610B::tick(bool sysTick) { hardResetElapsed+=2; chan[i].freqChanged=false; } - if (chan[i].keyOn || chan[i].opMaskChanged) { + if ((chan[i].keyOn || chan[i].opMaskChanged) && !chan[i].hardReset) { immWrite(0x28,(chan[i].opMask<<4)|konOffs[i]); hardResetElapsed++; chan[i].opMaskChanged=false; From a5a3407d3bb24f489e1dbf779e997bb4b826a61f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 19 Jan 2023 19:01:31 -0500 Subject: [PATCH 064/121] who used sprintf! --- src/engine/platform/sound/ymfm/ymfm.h | 2 +- src/engine/platform/sound/ymfm/ymfm_opm.cpp | 10 ++++---- src/engine/platform/sound/ymfm/ymfm_opn.cpp | 14 +++++------ src/engine/platform/sound/ymfm/ymfm_opz.cpp | 28 ++++++++++----------- 4 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/engine/platform/sound/ymfm/ymfm.h b/src/engine/platform/sound/ymfm/ymfm.h index 47ff90072..b1ba7c83a 100644 --- a/src/engine/platform/sound/ymfm/ymfm.h +++ b/src/engine/platform/sound/ymfm/ymfm.h @@ -350,7 +350,7 @@ public: { // create file char name[20]; - sprintf(name, "wavlog-%02d.wav", m_index); + snprintf(name, 20, "wavlog-%02d.wav", m_index); FILE *out = fopen(name, "wb"); // make the wav file header diff --git a/src/engine/platform/sound/ymfm/ymfm_opm.cpp b/src/engine/platform/sound/ymfm/ymfm_opm.cpp index 31d0a7467..958dae579 100644 --- a/src/engine/platform/sound/ymfm/ymfm_opm.cpp +++ b/src/engine/platform/sound/ymfm/ymfm_opm.cpp @@ -363,7 +363,7 @@ std::string opm_registers::log_keyon(uint32_t choffs, uint32_t opoffs) char buffer[256]; char *end = &buffer[0]; - end += sprintf(end, "%u.%02u freq=%04X dt2=%u dt=%u fb=%u alg=%X mul=%X tl=%02X ksr=%u adsr=%02X/%02X/%02X/%X sl=%X out=%c%c", + end += snprintf(end, 256-(end-buffer), "%u.%02u freq=%04X dt2=%u dt=%u fb=%u alg=%X mul=%X tl=%02X ksr=%u adsr=%02X/%02X/%02X/%X sl=%X out=%c%c", chnum, opnum, ch_block_freq(choffs), op_detune2(opoffs), @@ -383,14 +383,14 @@ std::string opm_registers::log_keyon(uint32_t choffs, uint32_t opoffs) bool am = (lfo_am_depth() != 0 && ch_lfo_am_sens(choffs) != 0 && op_lfo_am_enable(opoffs) != 0); if (am) - end += sprintf(end, " am=%u/%02X", ch_lfo_am_sens(choffs), lfo_am_depth()); + end += snprintf(end, 256-(end-buffer), " am=%u/%02X", ch_lfo_am_sens(choffs), lfo_am_depth()); bool pm = (lfo_pm_depth() != 0 && ch_lfo_pm_sens(choffs) != 0); if (pm) - end += sprintf(end, " pm=%u/%02X", ch_lfo_pm_sens(choffs), lfo_pm_depth()); + end += snprintf(end, 256-(end-buffer), " pm=%u/%02X", ch_lfo_pm_sens(choffs), lfo_pm_depth()); if (am || pm) - end += sprintf(end, " lfo=%02X/%c", lfo_rate(), "WQTN"[lfo_waveform()]); + end += snprintf(end, 256-(end-buffer), " lfo=%02X/%c", lfo_rate(), "WQTN"[lfo_waveform()]); if (noise_enable() && opoffs == 31) - end += sprintf(end, " noise=1"); + end += snprintf(end, 256-(end-buffer), " noise=1"); return buffer; } diff --git a/src/engine/platform/sound/ymfm/ymfm_opn.cpp b/src/engine/platform/sound/ymfm/ymfm_opn.cpp index 053ad9770..25d921a95 100644 --- a/src/engine/platform/sound/ymfm/ymfm_opn.cpp +++ b/src/engine/platform/sound/ymfm/ymfm_opn.cpp @@ -411,7 +411,7 @@ std::string opn_registers_base::log_keyon(uint32_t choffs, uint32_t opof char buffer[256]; char *end = &buffer[0]; - end += sprintf(end, "%u.%02u freq=%04X dt=%u fb=%u alg=%X mul=%X tl=%02X ksr=%u adsr=%02X/%02X/%02X/%X sl=%X", + end += snprintf(end, 256-(end-buffer), "%u.%02u freq=%04X dt=%u fb=%u alg=%X mul=%X tl=%02X ksr=%u adsr=%02X/%02X/%02X/%X sl=%X", chnum, opnum, block_freq, op_detune(opoffs), @@ -427,21 +427,21 @@ std::string opn_registers_base::log_keyon(uint32_t choffs, uint32_t opof op_sustain_level(opoffs)); if (OUTPUTS > 1) - end += sprintf(end, " out=%c%c", + end += snprintf(end, 256-(end-buffer), " out=%c%c", ch_output_0(choffs) ? 'L' : '-', ch_output_1(choffs) ? 'R' : '-'); if (op_ssg_eg_enable(opoffs)) - end += sprintf(end, " ssg=%X", op_ssg_eg_mode(opoffs)); + end += snprintf(end, 256-(end-buffer), " ssg=%X", op_ssg_eg_mode(opoffs)); bool am = (op_lfo_am_enable(opoffs) && ch_lfo_am_sens(choffs) != 0); if (am) - end += sprintf(end, " am=%u", ch_lfo_am_sens(choffs)); + end += snprintf(end, 256-(end-buffer), " am=%u", ch_lfo_am_sens(choffs)); bool pm = (ch_lfo_pm_sens(choffs) != 0); if (pm) - end += sprintf(end, " pm=%u", ch_lfo_pm_sens(choffs)); + end += snprintf(end, 256-(end-buffer), " pm=%u", ch_lfo_pm_sens(choffs)); if (am || pm) - end += sprintf(end, " lfo=%02X", lfo_rate()); + end += snprintf(end, 256-(end-buffer), " lfo=%02X", lfo_rate()); if (multi_freq() && choffs == 2) - end += sprintf(end, " multi=1"); + end += snprintf(end, 256-(end-buffer), " multi=1"); return buffer; } diff --git a/src/engine/platform/sound/ymfm/ymfm_opz.cpp b/src/engine/platform/sound/ymfm/ymfm_opz.cpp index 37c6a5fce..b20bea3c1 100644 --- a/src/engine/platform/sound/ymfm/ymfm_opz.cpp +++ b/src/engine/platform/sound/ymfm/ymfm_opz.cpp @@ -575,14 +575,14 @@ std::string opz_registers::log_keyon(uint32_t choffs, uint32_t opoffs) char buffer[256]; char *end = &buffer[0]; - end += sprintf(end, "%u.%02u", chnum, opnum); + end += snprintf(end, 256-(end-buffer), "%u.%02u", chnum, opnum); if (op_fix_mode(opoffs)) - end += sprintf(end, " fixfreq=%X fine=%X shift=%X", op_fix_frequency(opoffs), op_fine(opoffs), op_fix_range(opoffs)); + end += snprintf(end, 256-(end-buffer), " fixfreq=%X fine=%X shift=%X", op_fix_frequency(opoffs), op_fine(opoffs), op_fix_range(opoffs)); else - end += sprintf(end, " freq=%04X dt2=%u fine=%X", ch_block_freq(choffs), op_detune2(opoffs), op_fine(opoffs)); + end += snprintf(end, 256-(end-buffer), " freq=%04X dt2=%u fine=%X", ch_block_freq(choffs), op_detune2(opoffs), op_fine(opoffs)); - end += sprintf(end, " dt=%u fb=%u alg=%X mul=%X tl=%02X ksr=%u adsr=%02X/%02X/%02X/%X sl=%X out=%c%c", + end += snprintf(end, 256-(end-buffer), " dt=%u fb=%u alg=%X mul=%X tl=%02X ksr=%u adsr=%02X/%02X/%02X/%X sl=%X out=%c%c", op_detune(opoffs), ch_feedback(choffs), ch_algorithm(choffs), @@ -598,32 +598,32 @@ std::string opz_registers::log_keyon(uint32_t choffs, uint32_t opoffs) ch_output_1(choffs) ? 'R' : '-'); if (op_eg_shift(opoffs) != 0) - end += sprintf(end, " egshift=%u", op_eg_shift(opoffs)); + end += snprintf(end, 256-(end-buffer), " egshift=%u", op_eg_shift(opoffs)); bool am = (lfo_am_depth() != 0 && ch_lfo_am_sens(choffs) != 0 && op_lfo_am_enable(opoffs) != 0); if (am) - end += sprintf(end, " am=%u/%02X", ch_lfo_am_sens(choffs), lfo_am_depth()); + end += snprintf(end, 256-(end-buffer), " am=%u/%02X", ch_lfo_am_sens(choffs), lfo_am_depth()); bool pm = (lfo_pm_depth() != 0 && ch_lfo_pm_sens(choffs) != 0); if (pm) - end += sprintf(end, " pm=%u/%02X", ch_lfo_pm_sens(choffs), lfo_pm_depth()); + end += snprintf(end, 256-(end-buffer), " pm=%u/%02X", ch_lfo_pm_sens(choffs), lfo_pm_depth()); if (am || pm) - end += sprintf(end, " lfo=%02X/%c", lfo_rate(), "WQTN"[lfo_waveform()]); + end += snprintf(end, 256-(end-buffer), " lfo=%02X/%c", lfo_rate(), "WQTN"[lfo_waveform()]); bool am2 = (lfo2_am_depth() != 0 && ch_lfo2_am_sens(choffs) != 0 && op_lfo_am_enable(opoffs) != 0); if (am2) - end += sprintf(end, " am2=%u/%02X", ch_lfo2_am_sens(choffs), lfo2_am_depth()); + end += snprintf(end, 256-(end-buffer), " am2=%u/%02X", ch_lfo2_am_sens(choffs), lfo2_am_depth()); bool pm2 = (lfo2_pm_depth() != 0 && ch_lfo2_pm_sens(choffs) != 0); if (pm2) - end += sprintf(end, " pm2=%u/%02X", ch_lfo2_pm_sens(choffs), lfo2_pm_depth()); + end += snprintf(end, 256-(end-buffer), " pm2=%u/%02X", ch_lfo2_pm_sens(choffs), lfo2_pm_depth()); if (am2 || pm2) - end += sprintf(end, " lfo2=%02X/%c", lfo2_rate(), "WQTN"[lfo2_waveform()]); + end += snprintf(end, 256-(end-buffer), " lfo2=%02X/%c", lfo2_rate(), "WQTN"[lfo2_waveform()]); if (op_reverb_rate(opoffs) != 0) - end += sprintf(end, " rev=%u", op_reverb_rate(opoffs)); + end += snprintf(end, 256-(end-buffer), " rev=%u", op_reverb_rate(opoffs)); if (op_waveform(opoffs) != 0) - end += sprintf(end, " wf=%u", op_waveform(opoffs)); + end += snprintf(end, 256-(end-buffer), " wf=%u", op_waveform(opoffs)); if (noise_enable() && opoffs == 31) - end += sprintf(end, " noise=1"); + end += snprintf(end, 256-(end-buffer), " noise=1"); return buffer; } From 45faadd4c8f141a18a70442f0fa0eadb5e48f52e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 19 Jan 2023 19:18:40 -0500 Subject: [PATCH 065/121] update copyright year --- README.md | 12 ++++-------- src/audio/abstract.cpp | 2 +- src/audio/jack.cpp | 2 +- src/audio/jack.h | 2 +- src/audio/midi.cpp | 2 +- src/audio/rtmidi.cpp | 2 +- src/audio/rtmidi.h | 2 +- src/audio/sdlAudio.cpp | 2 +- src/audio/sdlAudio.h | 2 +- src/audio/taAudio.h | 2 +- src/baseutils.cpp | 2 +- src/baseutils.h | 2 +- src/cli/cli.cpp | 2 +- src/cli/cli.h | 2 +- src/engine/chipUtils.h | 2 +- src/engine/config.cpp | 2 +- src/engine/config.h | 2 +- src/engine/configEngine.cpp | 2 +- src/engine/dataErrors.h | 2 +- src/engine/defines.h | 2 +- src/engine/dispatch.h | 2 +- src/engine/dispatchContainer.cpp | 2 +- src/engine/engine.cpp | 2 +- src/engine/engine.h | 2 +- src/engine/fileOps.cpp | 2 +- src/engine/fileOpsIns.cpp | 2 +- src/engine/filter.cpp | 2 +- src/engine/filter.h | 2 +- src/engine/instrument.cpp | 2 +- src/engine/instrument.h | 2 +- src/engine/macroInt.cpp | 2 +- src/engine/macroInt.h | 2 +- src/engine/orders.h | 2 +- src/engine/pattern.cpp | 2 +- src/engine/pattern.h | 2 +- src/engine/platform/abstract.cpp | 2 +- src/engine/platform/amiga.cpp | 2 +- src/engine/platform/amiga.h | 2 +- src/engine/platform/arcade.cpp | 2 +- src/engine/platform/arcade.h | 2 +- src/engine/platform/ay.cpp | 2 +- src/engine/platform/ay.h | 2 +- src/engine/platform/ay8930.cpp | 2 +- src/engine/platform/ay8930.h | 2 +- src/engine/platform/bubsyswsg.cpp | 2 +- src/engine/platform/bubsyswsg.h | 2 +- src/engine/platform/c64.cpp | 2 +- src/engine/platform/c64.h | 2 +- src/engine/platform/dummy.cpp | 2 +- src/engine/platform/dummy.h | 2 +- src/engine/platform/fds.cpp | 2 +- src/engine/platform/fds.h | 2 +- src/engine/platform/fmshared_OPM.h | 2 +- src/engine/platform/fmshared_OPN.h | 2 +- src/engine/platform/fmsharedbase.h | 2 +- src/engine/platform/ga20.cpp | 2 +- src/engine/platform/ga20.h | 2 +- src/engine/platform/gb.cpp | 2 +- src/engine/platform/gb.h | 2 +- src/engine/platform/genesis.cpp | 2 +- src/engine/platform/genesis.h | 2 +- src/engine/platform/genesisext.cpp | 2 +- src/engine/platform/genesisext.h | 2 +- src/engine/platform/k007232.cpp | 2 +- src/engine/platform/k007232.h | 2 +- src/engine/platform/lynx.cpp | 2 +- src/engine/platform/lynx.h | 2 +- src/engine/platform/mmc5.cpp | 2 +- src/engine/platform/mmc5.h | 2 +- src/engine/platform/msm5232.cpp | 2 +- src/engine/platform/msm5232.h | 2 +- src/engine/platform/msm6258.cpp | 2 +- src/engine/platform/msm6258.h | 2 +- src/engine/platform/msm6295.cpp | 2 +- src/engine/platform/msm6295.h | 2 +- src/engine/platform/n163.cpp | 2 +- src/engine/platform/n163.h | 2 +- src/engine/platform/namcowsg.cpp | 2 +- src/engine/platform/namcowsg.h | 2 +- src/engine/platform/nes.cpp | 2 +- src/engine/platform/nes.h | 2 +- src/engine/platform/opl.cpp | 2 +- src/engine/platform/opl.h | 2 +- src/engine/platform/oplAInterface.cpp | 2 +- src/engine/platform/opll.cpp | 2 +- src/engine/platform/opll.h | 2 +- src/engine/platform/pce.cpp | 2 +- src/engine/platform/pce.h | 2 +- src/engine/platform/pcmdac.cpp | 2 +- src/engine/platform/pcmdac.h | 2 +- src/engine/platform/pcspkr.cpp | 2 +- src/engine/platform/pcspkr.h | 2 +- src/engine/platform/pet.cpp | 2 +- src/engine/platform/pet.h | 2 +- src/engine/platform/pokemini.cpp | 2 +- src/engine/platform/pokemini.h | 2 +- src/engine/platform/pokey.cpp | 2 +- src/engine/platform/pokey.h | 2 +- src/engine/platform/pong.cpp | 2 +- src/engine/platform/pong.h | 2 +- src/engine/platform/qsound.cpp | 2 +- src/engine/platform/qsound.h | 2 +- src/engine/platform/rf5c68.cpp | 2 +- src/engine/platform/rf5c68.h | 2 +- src/engine/platform/saa.cpp | 2 +- src/engine/platform/saa.h | 2 +- src/engine/platform/scc.cpp | 2 +- src/engine/platform/scc.h | 2 +- src/engine/platform/segapcm.cpp | 2 +- src/engine/platform/segapcm.h | 2 +- src/engine/platform/sms.cpp | 2 +- src/engine/platform/sms.h | 2 +- src/engine/platform/snes.cpp | 2 +- src/engine/platform/snes.h | 2 +- src/engine/platform/su.cpp | 2 +- src/engine/platform/su.h | 2 +- src/engine/platform/swan.cpp | 2 +- src/engine/platform/swan.h | 2 +- src/engine/platform/t6w28.cpp | 2 +- src/engine/platform/t6w28.h | 2 +- src/engine/platform/tia.cpp | 2 +- src/engine/platform/tia.h | 2 +- src/engine/platform/tx81z.cpp | 2 +- src/engine/platform/tx81z.h | 2 +- src/engine/platform/vb.cpp | 2 +- src/engine/platform/vb.h | 2 +- src/engine/platform/vera.cpp | 2 +- src/engine/platform/vera.h | 2 +- src/engine/platform/vic20.cpp | 2 +- src/engine/platform/vic20.h | 2 +- src/engine/platform/vrc6.cpp | 2 +- src/engine/platform/vrc6.h | 2 +- src/engine/platform/x1_010.cpp | 2 +- src/engine/platform/x1_010.h | 2 +- src/engine/platform/ym2203.cpp | 2 +- src/engine/platform/ym2203.h | 2 +- src/engine/platform/ym2203ext.cpp | 2 +- src/engine/platform/ym2203ext.h | 2 +- src/engine/platform/ym2608.cpp | 2 +- src/engine/platform/ym2608.h | 2 +- src/engine/platform/ym2608Interface.cpp | 2 +- src/engine/platform/ym2608ext.cpp | 2 +- src/engine/platform/ym2608ext.h | 2 +- src/engine/platform/ym2610.cpp | 2 +- src/engine/platform/ym2610.h | 2 +- src/engine/platform/ym2610Interface.cpp | 2 +- src/engine/platform/ym2610b.cpp | 2 +- src/engine/platform/ym2610b.h | 2 +- src/engine/platform/ym2610bext.cpp | 2 +- src/engine/platform/ym2610bext.h | 2 +- src/engine/platform/ym2610ext.cpp | 2 +- src/engine/platform/ym2610ext.h | 2 +- src/engine/platform/ym2610shared.h | 2 +- src/engine/platform/ymz280b.cpp | 2 +- src/engine/platform/ymz280b.h | 2 +- src/engine/platform/zxbeeper.cpp | 2 +- src/engine/platform/zxbeeper.h | 2 +- src/engine/playback.cpp | 2 +- src/engine/safeReader.cpp | 2 +- src/engine/safeReader.h | 2 +- src/engine/safeWriter.cpp | 2 +- src/engine/safeWriter.h | 2 +- src/engine/sample.cpp | 2 +- src/engine/sample.h | 2 +- src/engine/sfWrapper.cpp | 2 +- src/engine/sfWrapper.h | 2 +- src/engine/song.cpp | 2 +- src/engine/song.h | 2 +- src/engine/sysDef.cpp | 2 +- src/engine/vgmOps.cpp | 2 +- src/engine/waveSynth.cpp | 2 +- src/engine/waveSynth.h | 2 +- src/engine/wavetable.cpp | 2 +- src/engine/wavetable.h | 2 +- src/engine/winStuff.cpp | 2 +- src/engine/winStuff.h | 2 +- src/engine/zsm.cpp | 2 +- src/engine/zsm.h | 2 +- src/engine/zsmOps.cpp | 2 +- src/fileutils.cpp | 2 +- src/fileutils.h | 2 +- src/gui/about.cpp | 4 ++-- src/gui/actionUtil.h | 2 +- src/gui/chanOsc.cpp | 2 +- src/gui/channels.cpp | 2 +- src/gui/clock.cpp | 2 +- src/gui/compatFlags.cpp | 2 +- src/gui/cursor.cpp | 2 +- src/gui/dataList.cpp | 2 +- src/gui/debug.cpp | 2 +- src/gui/debug.h | 2 +- src/gui/debugWindow.cpp | 2 +- src/gui/doAction.cpp | 2 +- src/gui/editControls.cpp | 2 +- src/gui/editing.cpp | 2 +- src/gui/findReplace.cpp | 2 +- src/gui/fonts.cpp | 2 +- src/gui/fonts.h | 2 +- src/gui/gradient.cpp | 2 +- src/gui/gui.cpp | 2 +- src/gui/gui.h | 2 +- src/gui/guiConst.cpp | 2 +- src/gui/guiConst.h | 2 +- src/gui/icon.c | 2 +- src/gui/icon.h | 2 +- src/gui/insEdit.cpp | 2 +- src/gui/intConst.cpp | 2 +- src/gui/intConst.h | 2 +- src/gui/log.cpp | 2 +- src/gui/macstuff.h | 2 +- src/gui/mixer.cpp | 2 +- src/gui/newSong.cpp | 2 +- src/gui/orders.cpp | 2 +- src/gui/osc.cpp | 2 +- src/gui/patManager.cpp | 2 +- src/gui/pattern.cpp | 2 +- src/gui/piano.cpp | 2 +- src/gui/plot_nolerp.cpp | 2 +- src/gui/plot_nolerp.h | 2 +- src/gui/presets.cpp | 2 +- src/gui/regView.cpp | 2 +- src/gui/sampleEdit.cpp | 2 +- src/gui/sampleUtil.h | 2 +- src/gui/scaling.cpp | 2 +- src/gui/scaling.h | 2 +- src/gui/settings.cpp | 2 +- src/gui/songInfo.cpp | 2 +- src/gui/songNotes.cpp | 2 +- src/gui/spoiler.cpp | 2 +- src/gui/stats.cpp | 2 +- src/gui/sysConf.cpp | 2 +- src/gui/sysManager.cpp | 2 +- src/gui/sysPicker.cpp | 2 +- src/gui/util.cpp | 2 +- src/gui/util.h | 2 +- src/gui/volMeter.cpp | 2 +- src/gui/waveEdit.cpp | 2 +- src/log.cpp | 2 +- src/main.cpp | 4 ++-- src/ta-log.h | 2 +- src/ta-utils.h | 2 +- src/utfutils.cpp | 2 +- src/utfutils.h | 2 +- src/winMain.cpp | 2 +- 244 files changed, 249 insertions(+), 253 deletions(-) diff --git a/README.md b/README.md index 4da5e5933..36b530ac6 100644 --- a/README.md +++ b/README.md @@ -282,17 +282,13 @@ two possibilities: - the recommended way is by creating the "Sample" type instrument and assigning a sample to it. - otherwise you may employ the DefleMask-compatible method, using `17xx` effect. -> my .dmf song sounds very odd at a certain point +> my .dmf song sounds odd at a certain point -file a bug report. use the Issues page. it's probably another playback inaccuracy. - -> my .dmf song sounds correct, but it doesn't in DefleMask - -file a bug report **here**. it still is a playback inaccuracy. +Furnace's .dmf compatibility isn't perfect and it's mostly because DefleMask does things different. > my song sounds terrible after saving as .dmf! -the DefleMask format has several limitations. save in Furnace song format instead (.fur). +you should only save as .dmf if you're really sure, because the DefleMask format has several limitations. save in Furnace song format instead (.fur). > how do I solo channels? @@ -301,7 +297,7 @@ right click on the channel name. --- # footnotes -copyright (C) 2021-2022 tildearrow and contributors. +copyright (C) 2021-2023 tildearrow and contributors. This program 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 2 of the License, or (at your option) any later version. diff --git a/src/audio/abstract.cpp b/src/audio/abstract.cpp index 942e31438..e360d1cb1 100644 --- a/src/audio/abstract.cpp +++ b/src/audio/abstract.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/audio/jack.cpp b/src/audio/jack.cpp index f9502cf4f..2ffe19b63 100644 --- a/src/audio/jack.cpp +++ b/src/audio/jack.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/audio/jack.h b/src/audio/jack.h index adba7850c..8018d6c20 100644 --- a/src/audio/jack.h +++ b/src/audio/jack.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/audio/midi.cpp b/src/audio/midi.cpp index afe0dbadc..fa3faf1f4 100644 --- a/src/audio/midi.cpp +++ b/src/audio/midi.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/audio/rtmidi.cpp b/src/audio/rtmidi.cpp index 568ea0614..cbf4dca42 100644 --- a/src/audio/rtmidi.cpp +++ b/src/audio/rtmidi.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/audio/rtmidi.h b/src/audio/rtmidi.h index 34ddf73e6..5a8e06e0b 100644 --- a/src/audio/rtmidi.h +++ b/src/audio/rtmidi.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/audio/sdlAudio.cpp b/src/audio/sdlAudio.cpp index 2915f0343..6d0ceff06 100644 --- a/src/audio/sdlAudio.cpp +++ b/src/audio/sdlAudio.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/audio/sdlAudio.h b/src/audio/sdlAudio.h index 556adabc2..a827b059d 100644 --- a/src/audio/sdlAudio.h +++ b/src/audio/sdlAudio.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/audio/taAudio.h b/src/audio/taAudio.h index 81814f3e3..dd0d76748 100644 --- a/src/audio/taAudio.h +++ b/src/audio/taAudio.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/baseutils.cpp b/src/baseutils.cpp index aad61eb48..787496c7b 100644 --- a/src/baseutils.cpp +++ b/src/baseutils.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/baseutils.h b/src/baseutils.h index 438696aaa..0e1b31911 100644 --- a/src/baseutils.h +++ b/src/baseutils.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/cli/cli.cpp b/src/cli/cli.cpp index 87bf76dda..546c5000f 100644 --- a/src/cli/cli.cpp +++ b/src/cli/cli.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/cli/cli.h b/src/cli/cli.h index 55ad36b38..b77df2e8a 100644 --- a/src/cli/cli.h +++ b/src/cli/cli.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/chipUtils.h b/src/engine/chipUtils.h index 8cdb87649..4ddc0738d 100644 --- a/src/engine/chipUtils.h +++ b/src/engine/chipUtils.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/config.cpp b/src/engine/config.cpp index 86c7ddc01..e7e61daa0 100644 --- a/src/engine/config.cpp +++ b/src/engine/config.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/config.h b/src/engine/config.h index a867dc829..e59674ce1 100644 --- a/src/engine/config.h +++ b/src/engine/config.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/configEngine.cpp b/src/engine/configEngine.cpp index a265f0bee..67f466a97 100644 --- a/src/engine/configEngine.cpp +++ b/src/engine/configEngine.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/dataErrors.h b/src/engine/dataErrors.h index a163f221a..e6d8fdc42 100644 --- a/src/engine/dataErrors.h +++ b/src/engine/dataErrors.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/defines.h b/src/engine/defines.h index 3461a52db..0f53bd777 100644 --- a/src/engine/defines.h +++ b/src/engine/defines.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/dispatch.h b/src/engine/dispatch.h index 1970afed6..0378eba26 100644 --- a/src/engine/dispatch.h +++ b/src/engine/dispatch.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/dispatchContainer.cpp b/src/engine/dispatchContainer.cpp index 4e4e5d96c..b77d6adeb 100644 --- a/src/engine/dispatchContainer.cpp +++ b/src/engine/dispatchContainer.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 81a91d689..50fbbadc5 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/engine.h b/src/engine/engine.h index 75b0ad94c..d0f6f98b9 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/fileOps.cpp b/src/engine/fileOps.cpp index 9ba9dd9be..e2629dfa0 100644 --- a/src/engine/fileOps.cpp +++ b/src/engine/fileOps.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/fileOpsIns.cpp b/src/engine/fileOpsIns.cpp index 359a7ae39..c23e437d3 100644 --- a/src/engine/fileOpsIns.cpp +++ b/src/engine/fileOpsIns.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/filter.cpp b/src/engine/filter.cpp index 88b381487..5c8ab218e 100644 --- a/src/engine/filter.cpp +++ b/src/engine/filter.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/filter.h b/src/engine/filter.h index 035c05e6a..1e6597e4f 100644 --- a/src/engine/filter.h +++ b/src/engine/filter.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/instrument.cpp b/src/engine/instrument.cpp index 433e288fa..cc1755028 100644 --- a/src/engine/instrument.cpp +++ b/src/engine/instrument.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/instrument.h b/src/engine/instrument.h index 23c353971..8829f6ce8 100644 --- a/src/engine/instrument.h +++ b/src/engine/instrument.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/macroInt.cpp b/src/engine/macroInt.cpp index ff24ae57a..97ae9cdea 100644 --- a/src/engine/macroInt.cpp +++ b/src/engine/macroInt.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/macroInt.h b/src/engine/macroInt.h index 49a4edfcb..ab3cc1216 100644 --- a/src/engine/macroInt.h +++ b/src/engine/macroInt.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/orders.h b/src/engine/orders.h index 78a05f0c1..170eb4ad4 100644 --- a/src/engine/orders.h +++ b/src/engine/orders.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/pattern.cpp b/src/engine/pattern.cpp index 6acdc2842..f7b833e18 100644 --- a/src/engine/pattern.cpp +++ b/src/engine/pattern.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/pattern.h b/src/engine/pattern.h index 218ae2d68..644399863 100644 --- a/src/engine/pattern.h +++ b/src/engine/pattern.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/abstract.cpp b/src/engine/platform/abstract.cpp index bd3efa72a..74ec8cddf 100644 --- a/src/engine/platform/abstract.cpp +++ b/src/engine/platform/abstract.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/amiga.cpp b/src/engine/platform/amiga.cpp index 6f70a310e..1772b313d 100644 --- a/src/engine/platform/amiga.cpp +++ b/src/engine/platform/amiga.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/amiga.h b/src/engine/platform/amiga.h index 494b5da7c..e6048a859 100644 --- a/src/engine/platform/amiga.h +++ b/src/engine/platform/amiga.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/arcade.cpp b/src/engine/platform/arcade.cpp index dece6b67c..20d844a3d 100644 --- a/src/engine/platform/arcade.cpp +++ b/src/engine/platform/arcade.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/arcade.h b/src/engine/platform/arcade.h index f571ff346..edcdd8d1c 100644 --- a/src/engine/platform/arcade.h +++ b/src/engine/platform/arcade.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ay.cpp b/src/engine/platform/ay.cpp index be2ac933c..181901137 100644 --- a/src/engine/platform/ay.cpp +++ b/src/engine/platform/ay.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ay.h b/src/engine/platform/ay.h index ad8b46255..f20a71eac 100644 --- a/src/engine/platform/ay.h +++ b/src/engine/platform/ay.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ay8930.cpp b/src/engine/platform/ay8930.cpp index 3dc8eedbc..0eb509db4 100644 --- a/src/engine/platform/ay8930.cpp +++ b/src/engine/platform/ay8930.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ay8930.h b/src/engine/platform/ay8930.h index 0e60c3508..3ffba63e7 100644 --- a/src/engine/platform/ay8930.h +++ b/src/engine/platform/ay8930.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/bubsyswsg.cpp b/src/engine/platform/bubsyswsg.cpp index d7b15d8ff..782ee062e 100644 --- a/src/engine/platform/bubsyswsg.cpp +++ b/src/engine/platform/bubsyswsg.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/bubsyswsg.h b/src/engine/platform/bubsyswsg.h index d544c2ecd..784396bfd 100644 --- a/src/engine/platform/bubsyswsg.h +++ b/src/engine/platform/bubsyswsg.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/c64.cpp b/src/engine/platform/c64.cpp index d52a5dd00..139b1525b 100644 --- a/src/engine/platform/c64.cpp +++ b/src/engine/platform/c64.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/c64.h b/src/engine/platform/c64.h index 28cf5b29d..be78c2d01 100644 --- a/src/engine/platform/c64.h +++ b/src/engine/platform/c64.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/dummy.cpp b/src/engine/platform/dummy.cpp index 42ce1ad5e..541630de7 100644 --- a/src/engine/platform/dummy.cpp +++ b/src/engine/platform/dummy.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/dummy.h b/src/engine/platform/dummy.h index 0b7a480c2..51a399796 100644 --- a/src/engine/platform/dummy.h +++ b/src/engine/platform/dummy.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/fds.cpp b/src/engine/platform/fds.cpp index cdddbacab..420f3e3a1 100644 --- a/src/engine/platform/fds.cpp +++ b/src/engine/platform/fds.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/fds.h b/src/engine/platform/fds.h index 7872319b1..5eda2c12f 100644 --- a/src/engine/platform/fds.h +++ b/src/engine/platform/fds.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/fmshared_OPM.h b/src/engine/platform/fmshared_OPM.h index 9b838c196..02c30b7eb 100644 --- a/src/engine/platform/fmshared_OPM.h +++ b/src/engine/platform/fmshared_OPM.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/fmshared_OPN.h b/src/engine/platform/fmshared_OPN.h index d83ad0770..4f32b4923 100644 --- a/src/engine/platform/fmshared_OPN.h +++ b/src/engine/platform/fmshared_OPN.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/fmsharedbase.h b/src/engine/platform/fmsharedbase.h index 9e89ddc2f..b59b419d8 100644 --- a/src/engine/platform/fmsharedbase.h +++ b/src/engine/platform/fmsharedbase.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ga20.cpp b/src/engine/platform/ga20.cpp index c5cbbb61e..0d2a78461 100644 --- a/src/engine/platform/ga20.cpp +++ b/src/engine/platform/ga20.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ga20.h b/src/engine/platform/ga20.h index 9c67a9fd3..9cd6869a2 100644 --- a/src/engine/platform/ga20.h +++ b/src/engine/platform/ga20.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/gb.cpp b/src/engine/platform/gb.cpp index 6e6c317c9..e94970145 100644 --- a/src/engine/platform/gb.cpp +++ b/src/engine/platform/gb.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/gb.h b/src/engine/platform/gb.h index 8f70fecb8..f75cc62c2 100644 --- a/src/engine/platform/gb.h +++ b/src/engine/platform/gb.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index a73e42c9b..bd2401f60 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/genesis.h b/src/engine/platform/genesis.h index c420ac5d7..37449eb91 100644 --- a/src/engine/platform/genesis.h +++ b/src/engine/platform/genesis.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/genesisext.cpp b/src/engine/platform/genesisext.cpp index 1b9c7d86c..42e31b8b9 100644 --- a/src/engine/platform/genesisext.cpp +++ b/src/engine/platform/genesisext.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/genesisext.h b/src/engine/platform/genesisext.h index e04faf237..c668d5104 100644 --- a/src/engine/platform/genesisext.h +++ b/src/engine/platform/genesisext.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/k007232.cpp b/src/engine/platform/k007232.cpp index 6a333c6c6..daa661f6f 100644 --- a/src/engine/platform/k007232.cpp +++ b/src/engine/platform/k007232.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/k007232.h b/src/engine/platform/k007232.h index 8d9aeb28b..842310da5 100644 --- a/src/engine/platform/k007232.h +++ b/src/engine/platform/k007232.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/lynx.cpp b/src/engine/platform/lynx.cpp index 07be2d6f6..7dec2102d 100644 --- a/src/engine/platform/lynx.cpp +++ b/src/engine/platform/lynx.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/lynx.h b/src/engine/platform/lynx.h index ec2208d38..7cde207e4 100644 --- a/src/engine/platform/lynx.h +++ b/src/engine/platform/lynx.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/mmc5.cpp b/src/engine/platform/mmc5.cpp index 6e44ea1cb..b130f2cbf 100644 --- a/src/engine/platform/mmc5.cpp +++ b/src/engine/platform/mmc5.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/mmc5.h b/src/engine/platform/mmc5.h index 3e83ff06d..291a1baf4 100644 --- a/src/engine/platform/mmc5.h +++ b/src/engine/platform/mmc5.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/msm5232.cpp b/src/engine/platform/msm5232.cpp index 7405f8d36..eb8d5cbf5 100644 --- a/src/engine/platform/msm5232.cpp +++ b/src/engine/platform/msm5232.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/msm5232.h b/src/engine/platform/msm5232.h index 26d2a34b0..b1d83cf01 100644 --- a/src/engine/platform/msm5232.h +++ b/src/engine/platform/msm5232.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/msm6258.cpp b/src/engine/platform/msm6258.cpp index 7814d23e8..6591eda5e 100644 --- a/src/engine/platform/msm6258.cpp +++ b/src/engine/platform/msm6258.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/msm6258.h b/src/engine/platform/msm6258.h index 47d079cab..0c19d9763 100644 --- a/src/engine/platform/msm6258.h +++ b/src/engine/platform/msm6258.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/msm6295.cpp b/src/engine/platform/msm6295.cpp index 608429002..de7fedd5b 100644 --- a/src/engine/platform/msm6295.cpp +++ b/src/engine/platform/msm6295.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/msm6295.h b/src/engine/platform/msm6295.h index 77a82f580..df1406933 100644 --- a/src/engine/platform/msm6295.h +++ b/src/engine/platform/msm6295.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/n163.cpp b/src/engine/platform/n163.cpp index a65532793..afd4898a0 100644 --- a/src/engine/platform/n163.cpp +++ b/src/engine/platform/n163.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/n163.h b/src/engine/platform/n163.h index 30eb222ce..49c0ff05e 100644 --- a/src/engine/platform/n163.h +++ b/src/engine/platform/n163.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/namcowsg.cpp b/src/engine/platform/namcowsg.cpp index 4d49d2787..ca1de7a54 100644 --- a/src/engine/platform/namcowsg.cpp +++ b/src/engine/platform/namcowsg.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/namcowsg.h b/src/engine/platform/namcowsg.h index 87a2517ef..b29434137 100644 --- a/src/engine/platform/namcowsg.h +++ b/src/engine/platform/namcowsg.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/nes.cpp b/src/engine/platform/nes.cpp index 435384c46..88c7253ee 100644 --- a/src/engine/platform/nes.cpp +++ b/src/engine/platform/nes.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/nes.h b/src/engine/platform/nes.h index 22ccfd913..cb30dbf78 100644 --- a/src/engine/platform/nes.h +++ b/src/engine/platform/nes.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index 014f2a402..a60b59dab 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/opl.h b/src/engine/platform/opl.h index b52857014..aae0e8008 100644 --- a/src/engine/platform/opl.h +++ b/src/engine/platform/opl.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/oplAInterface.cpp b/src/engine/platform/oplAInterface.cpp index 999fb47d1..60e1db15b 100644 --- a/src/engine/platform/oplAInterface.cpp +++ b/src/engine/platform/oplAInterface.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/opll.cpp b/src/engine/platform/opll.cpp index a1011f606..4f3d12098 100644 --- a/src/engine/platform/opll.cpp +++ b/src/engine/platform/opll.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/opll.h b/src/engine/platform/opll.h index 258113c4b..4e72936da 100644 --- a/src/engine/platform/opll.h +++ b/src/engine/platform/opll.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pce.cpp b/src/engine/platform/pce.cpp index 4b29c336c..2ed98b36b 100644 --- a/src/engine/platform/pce.cpp +++ b/src/engine/platform/pce.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pce.h b/src/engine/platform/pce.h index a687de1bf..fd4f81320 100644 --- a/src/engine/platform/pce.h +++ b/src/engine/platform/pce.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pcmdac.cpp b/src/engine/platform/pcmdac.cpp index 2843f0797..935a795d0 100644 --- a/src/engine/platform/pcmdac.cpp +++ b/src/engine/platform/pcmdac.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pcmdac.h b/src/engine/platform/pcmdac.h index 9224ccc7d..9de928ffe 100644 --- a/src/engine/platform/pcmdac.h +++ b/src/engine/platform/pcmdac.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pcspkr.cpp b/src/engine/platform/pcspkr.cpp index 70c846f7c..9694b66c0 100644 --- a/src/engine/platform/pcspkr.cpp +++ b/src/engine/platform/pcspkr.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pcspkr.h b/src/engine/platform/pcspkr.h index 554c0d074..23b3c0b49 100644 --- a/src/engine/platform/pcspkr.h +++ b/src/engine/platform/pcspkr.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pet.cpp b/src/engine/platform/pet.cpp index b4399bcbc..4d085581e 100644 --- a/src/engine/platform/pet.cpp +++ b/src/engine/platform/pet.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pet.h b/src/engine/platform/pet.h index 5942817c2..771d5cbb5 100644 --- a/src/engine/platform/pet.h +++ b/src/engine/platform/pet.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pokemini.cpp b/src/engine/platform/pokemini.cpp index 9b543153c..aa8adc0d7 100644 --- a/src/engine/platform/pokemini.cpp +++ b/src/engine/platform/pokemini.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pokemini.h b/src/engine/platform/pokemini.h index 80233eb42..4e14bf572 100644 --- a/src/engine/platform/pokemini.h +++ b/src/engine/platform/pokemini.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pokey.cpp b/src/engine/platform/pokey.cpp index 8294d9dcc..ae4b311e1 100644 --- a/src/engine/platform/pokey.cpp +++ b/src/engine/platform/pokey.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pokey.h b/src/engine/platform/pokey.h index 79206a745..f24ea56c8 100644 --- a/src/engine/platform/pokey.h +++ b/src/engine/platform/pokey.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pong.cpp b/src/engine/platform/pong.cpp index 27fd76b38..7d478b83b 100644 --- a/src/engine/platform/pong.cpp +++ b/src/engine/platform/pong.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/pong.h b/src/engine/platform/pong.h index 8259b14cf..4fb13477c 100644 --- a/src/engine/platform/pong.h +++ b/src/engine/platform/pong.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/qsound.cpp b/src/engine/platform/qsound.cpp index cea8c41af..f73f85dab 100644 --- a/src/engine/platform/qsound.cpp +++ b/src/engine/platform/qsound.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/qsound.h b/src/engine/platform/qsound.h index c04514ed8..9c090f19c 100644 --- a/src/engine/platform/qsound.h +++ b/src/engine/platform/qsound.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/rf5c68.cpp b/src/engine/platform/rf5c68.cpp index e5484dc77..7301bb40c 100644 --- a/src/engine/platform/rf5c68.cpp +++ b/src/engine/platform/rf5c68.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/rf5c68.h b/src/engine/platform/rf5c68.h index 98fc1a759..94ced515e 100644 --- a/src/engine/platform/rf5c68.h +++ b/src/engine/platform/rf5c68.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/saa.cpp b/src/engine/platform/saa.cpp index 924bc73ac..d66692ddf 100644 --- a/src/engine/platform/saa.cpp +++ b/src/engine/platform/saa.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/saa.h b/src/engine/platform/saa.h index 97bdbc60b..43e3cc875 100644 --- a/src/engine/platform/saa.h +++ b/src/engine/platform/saa.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/scc.cpp b/src/engine/platform/scc.cpp index fcb55f257..e1fa7424f 100644 --- a/src/engine/platform/scc.cpp +++ b/src/engine/platform/scc.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/scc.h b/src/engine/platform/scc.h index 1c7364723..b8b892af3 100644 --- a/src/engine/platform/scc.h +++ b/src/engine/platform/scc.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/segapcm.cpp b/src/engine/platform/segapcm.cpp index 607e16421..91ba1000b 100644 --- a/src/engine/platform/segapcm.cpp +++ b/src/engine/platform/segapcm.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/segapcm.h b/src/engine/platform/segapcm.h index 2f91f03e3..a57c8084e 100644 --- a/src/engine/platform/segapcm.h +++ b/src/engine/platform/segapcm.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/sms.cpp b/src/engine/platform/sms.cpp index 8fcb3a396..6679eba25 100644 --- a/src/engine/platform/sms.cpp +++ b/src/engine/platform/sms.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/sms.h b/src/engine/platform/sms.h index 39d4a0947..a8bb42d6b 100644 --- a/src/engine/platform/sms.h +++ b/src/engine/platform/sms.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/snes.cpp b/src/engine/platform/snes.cpp index 6fb942d48..ead26a81b 100644 --- a/src/engine/platform/snes.cpp +++ b/src/engine/platform/snes.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/snes.h b/src/engine/platform/snes.h index 884c7d804..8783e61c3 100644 --- a/src/engine/platform/snes.h +++ b/src/engine/platform/snes.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/su.cpp b/src/engine/platform/su.cpp index 51b04e0e6..7a7addea8 100644 --- a/src/engine/platform/su.cpp +++ b/src/engine/platform/su.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/su.h b/src/engine/platform/su.h index 518edafa4..0102db03e 100644 --- a/src/engine/platform/su.h +++ b/src/engine/platform/su.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/swan.cpp b/src/engine/platform/swan.cpp index f99be75e3..4e0b83724 100644 --- a/src/engine/platform/swan.cpp +++ b/src/engine/platform/swan.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/swan.h b/src/engine/platform/swan.h index 10e769fc4..148856c06 100644 --- a/src/engine/platform/swan.h +++ b/src/engine/platform/swan.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/t6w28.cpp b/src/engine/platform/t6w28.cpp index e81d156f1..0d7b9223c 100644 --- a/src/engine/platform/t6w28.cpp +++ b/src/engine/platform/t6w28.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/t6w28.h b/src/engine/platform/t6w28.h index dd49d1b86..994a2fe66 100644 --- a/src/engine/platform/t6w28.h +++ b/src/engine/platform/t6w28.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/tia.cpp b/src/engine/platform/tia.cpp index 04a1432ab..7b29524ec 100644 --- a/src/engine/platform/tia.cpp +++ b/src/engine/platform/tia.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/tia.h b/src/engine/platform/tia.h index b4b867dc4..95ae99173 100644 --- a/src/engine/platform/tia.h +++ b/src/engine/platform/tia.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/tx81z.cpp b/src/engine/platform/tx81z.cpp index 09a75cac3..dcc4eb5f7 100644 --- a/src/engine/platform/tx81z.cpp +++ b/src/engine/platform/tx81z.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/tx81z.h b/src/engine/platform/tx81z.h index 928fa5464..e15158b7c 100644 --- a/src/engine/platform/tx81z.h +++ b/src/engine/platform/tx81z.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/vb.cpp b/src/engine/platform/vb.cpp index 374aebaaf..3701b5aa4 100644 --- a/src/engine/platform/vb.cpp +++ b/src/engine/platform/vb.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/vb.h b/src/engine/platform/vb.h index 7475c7453..09193f25b 100644 --- a/src/engine/platform/vb.h +++ b/src/engine/platform/vb.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/vera.cpp b/src/engine/platform/vera.cpp index 443381bb7..820f399a5 100644 --- a/src/engine/platform/vera.cpp +++ b/src/engine/platform/vera.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/vera.h b/src/engine/platform/vera.h index 762a32c87..8781dc953 100644 --- a/src/engine/platform/vera.h +++ b/src/engine/platform/vera.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/vic20.cpp b/src/engine/platform/vic20.cpp index 3a4e25721..253c4fb76 100644 --- a/src/engine/platform/vic20.cpp +++ b/src/engine/platform/vic20.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/vic20.h b/src/engine/platform/vic20.h index 3fc9fade5..1b8584a75 100644 --- a/src/engine/platform/vic20.h +++ b/src/engine/platform/vic20.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/vrc6.cpp b/src/engine/platform/vrc6.cpp index f798d6e8d..b08255d36 100644 --- a/src/engine/platform/vrc6.cpp +++ b/src/engine/platform/vrc6.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/vrc6.h b/src/engine/platform/vrc6.h index 5facd13a6..5688cb5c6 100644 --- a/src/engine/platform/vrc6.h +++ b/src/engine/platform/vrc6.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/x1_010.cpp b/src/engine/platform/x1_010.cpp index 5494a8719..091da9f1a 100644 --- a/src/engine/platform/x1_010.cpp +++ b/src/engine/platform/x1_010.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/x1_010.h b/src/engine/platform/x1_010.h index 6a5a1a9f1..a3af7b291 100644 --- a/src/engine/platform/x1_010.h +++ b/src/engine/platform/x1_010.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2203.cpp b/src/engine/platform/ym2203.cpp index e161ac04e..d4d3cc7bd 100644 --- a/src/engine/platform/ym2203.cpp +++ b/src/engine/platform/ym2203.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2203.h b/src/engine/platform/ym2203.h index 503f470b9..fb96a2b60 100644 --- a/src/engine/platform/ym2203.h +++ b/src/engine/platform/ym2203.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2203ext.cpp b/src/engine/platform/ym2203ext.cpp index 87a887fc3..441ec7018 100644 --- a/src/engine/platform/ym2203ext.cpp +++ b/src/engine/platform/ym2203ext.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2203ext.h b/src/engine/platform/ym2203ext.h index 79d92043e..731e2a202 100644 --- a/src/engine/platform/ym2203ext.h +++ b/src/engine/platform/ym2203ext.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2608.cpp b/src/engine/platform/ym2608.cpp index 8b8a15ca3..b7f343144 100644 --- a/src/engine/platform/ym2608.cpp +++ b/src/engine/platform/ym2608.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2608.h b/src/engine/platform/ym2608.h index f533497f9..fc850acf4 100644 --- a/src/engine/platform/ym2608.h +++ b/src/engine/platform/ym2608.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2608Interface.cpp b/src/engine/platform/ym2608Interface.cpp index 242721f09..d357caa23 100644 --- a/src/engine/platform/ym2608Interface.cpp +++ b/src/engine/platform/ym2608Interface.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2608ext.cpp b/src/engine/platform/ym2608ext.cpp index 2247b7759..3a56a167b 100644 --- a/src/engine/platform/ym2608ext.cpp +++ b/src/engine/platform/ym2608ext.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2608ext.h b/src/engine/platform/ym2608ext.h index 160d855c3..c9348b48f 100644 --- a/src/engine/platform/ym2608ext.h +++ b/src/engine/platform/ym2608ext.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2610.cpp b/src/engine/platform/ym2610.cpp index c0f4a3fdc..274742925 100644 --- a/src/engine/platform/ym2610.cpp +++ b/src/engine/platform/ym2610.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2610.h b/src/engine/platform/ym2610.h index 3c95e2fb2..3805aa48a 100644 --- a/src/engine/platform/ym2610.h +++ b/src/engine/platform/ym2610.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2610Interface.cpp b/src/engine/platform/ym2610Interface.cpp index 1b13b3743..916cab0ad 100644 --- a/src/engine/platform/ym2610Interface.cpp +++ b/src/engine/platform/ym2610Interface.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2610b.cpp b/src/engine/platform/ym2610b.cpp index a2ba21fe4..4a19df859 100644 --- a/src/engine/platform/ym2610b.cpp +++ b/src/engine/platform/ym2610b.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2610b.h b/src/engine/platform/ym2610b.h index 1e66b03f1..43c7af828 100644 --- a/src/engine/platform/ym2610b.h +++ b/src/engine/platform/ym2610b.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2610bext.cpp b/src/engine/platform/ym2610bext.cpp index 8462e557f..0d113d052 100644 --- a/src/engine/platform/ym2610bext.cpp +++ b/src/engine/platform/ym2610bext.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2610bext.h b/src/engine/platform/ym2610bext.h index fcec3bd77..b14ba99c4 100644 --- a/src/engine/platform/ym2610bext.h +++ b/src/engine/platform/ym2610bext.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2610ext.cpp b/src/engine/platform/ym2610ext.cpp index dcf5b0997..e8a531dae 100644 --- a/src/engine/platform/ym2610ext.cpp +++ b/src/engine/platform/ym2610ext.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2610ext.h b/src/engine/platform/ym2610ext.h index 0cf0bf112..2ce887c36 100644 --- a/src/engine/platform/ym2610ext.h +++ b/src/engine/platform/ym2610ext.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ym2610shared.h b/src/engine/platform/ym2610shared.h index 517186999..d35c5fce8 100644 --- a/src/engine/platform/ym2610shared.h +++ b/src/engine/platform/ym2610shared.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ymz280b.cpp b/src/engine/platform/ymz280b.cpp index a5fdf10bd..e10dda43f 100644 --- a/src/engine/platform/ymz280b.cpp +++ b/src/engine/platform/ymz280b.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/ymz280b.h b/src/engine/platform/ymz280b.h index 78ea544ba..3fb4a7dc6 100644 --- a/src/engine/platform/ymz280b.h +++ b/src/engine/platform/ymz280b.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/zxbeeper.cpp b/src/engine/platform/zxbeeper.cpp index f8762c7f2..047dc2cb5 100644 --- a/src/engine/platform/zxbeeper.cpp +++ b/src/engine/platform/zxbeeper.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/platform/zxbeeper.h b/src/engine/platform/zxbeeper.h index a9b3594c3..3e120354b 100644 --- a/src/engine/platform/zxbeeper.h +++ b/src/engine/platform/zxbeeper.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/playback.cpp b/src/engine/playback.cpp index 88a115a33..cc231817a 100644 --- a/src/engine/playback.cpp +++ b/src/engine/playback.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/safeReader.cpp b/src/engine/safeReader.cpp index 428c91502..cf2effbec 100644 --- a/src/engine/safeReader.cpp +++ b/src/engine/safeReader.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/safeReader.h b/src/engine/safeReader.h index 1f7149834..9e85eeee8 100644 --- a/src/engine/safeReader.h +++ b/src/engine/safeReader.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/safeWriter.cpp b/src/engine/safeWriter.cpp index 5af7fa09d..a0c295d30 100644 --- a/src/engine/safeWriter.cpp +++ b/src/engine/safeWriter.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/safeWriter.h b/src/engine/safeWriter.h index 414417fd2..28a3d9b91 100644 --- a/src/engine/safeWriter.h +++ b/src/engine/safeWriter.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/sample.cpp b/src/engine/sample.cpp index 5df46fab1..f882a3d0c 100644 --- a/src/engine/sample.cpp +++ b/src/engine/sample.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/sample.h b/src/engine/sample.h index 42f202fc4..35eda8c5e 100644 --- a/src/engine/sample.h +++ b/src/engine/sample.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/sfWrapper.cpp b/src/engine/sfWrapper.cpp index f12dc95be..62ddf949f 100644 --- a/src/engine/sfWrapper.cpp +++ b/src/engine/sfWrapper.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/sfWrapper.h b/src/engine/sfWrapper.h index 6e984a454..e4746b530 100644 --- a/src/engine/sfWrapper.h +++ b/src/engine/sfWrapper.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/song.cpp b/src/engine/song.cpp index 7dc136836..828f0a1bc 100644 --- a/src/engine/song.cpp +++ b/src/engine/song.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/song.h b/src/engine/song.h index 61083c185..6aaec7c12 100644 --- a/src/engine/song.h +++ b/src/engine/song.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/sysDef.cpp b/src/engine/sysDef.cpp index da899ae87..d939c30bf 100644 --- a/src/engine/sysDef.cpp +++ b/src/engine/sysDef.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/vgmOps.cpp b/src/engine/vgmOps.cpp index 6e48feb93..2bb53d42d 100644 --- a/src/engine/vgmOps.cpp +++ b/src/engine/vgmOps.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/waveSynth.cpp b/src/engine/waveSynth.cpp index e68e36751..757c2c7eb 100644 --- a/src/engine/waveSynth.cpp +++ b/src/engine/waveSynth.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/waveSynth.h b/src/engine/waveSynth.h index 26f5b259b..81a3cbe19 100644 --- a/src/engine/waveSynth.h +++ b/src/engine/waveSynth.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/wavetable.cpp b/src/engine/wavetable.cpp index 608b0e89d..a14c28bbe 100644 --- a/src/engine/wavetable.cpp +++ b/src/engine/wavetable.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/wavetable.h b/src/engine/wavetable.h index 0f518ab53..52405082e 100644 --- a/src/engine/wavetable.h +++ b/src/engine/wavetable.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/winStuff.cpp b/src/engine/winStuff.cpp index 79065e88b..4452a5143 100644 --- a/src/engine/winStuff.cpp +++ b/src/engine/winStuff.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/winStuff.h b/src/engine/winStuff.h index 0e49bccd3..a569f6a09 100644 --- a/src/engine/winStuff.h +++ b/src/engine/winStuff.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/zsm.cpp b/src/engine/zsm.cpp index 89eb01496..5fdcd6236 100644 --- a/src/engine/zsm.cpp +++ b/src/engine/zsm.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/zsm.h b/src/engine/zsm.h index af0979e7c..b452171f8 100644 --- a/src/engine/zsm.h +++ b/src/engine/zsm.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/engine/zsmOps.cpp b/src/engine/zsmOps.cpp index f5fa83090..0207a93d9 100644 --- a/src/engine/zsmOps.cpp +++ b/src/engine/zsmOps.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/fileutils.cpp b/src/fileutils.cpp index d2574ee1b..a58f92a0a 100644 --- a/src/fileutils.cpp +++ b/src/fileutils.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/fileutils.h b/src/fileutils.h index ea4afabc2..ded2bfb41 100644 --- a/src/fileutils.h +++ b/src/fileutils.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/about.cpp b/src/gui/about.cpp index 368353cb1..94b3c0f00 100644 --- a/src/gui/about.cpp +++ b/src/gui/about.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -174,7 +174,7 @@ const char* aboutLine[]={ "NEOART Costa Rica", "all members of Deflers of Noice!", "", - "copyright © 2021-2022 tildearrow", + "copyright © 2021-2023 tildearrow", "(and contributors).", "licensed under GPLv2+! see", "LICENSE for more information.", diff --git a/src/gui/actionUtil.h b/src/gui/actionUtil.h index 81685af48..51fffa002 100644 --- a/src/gui/actionUtil.h +++ b/src/gui/actionUtil.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/chanOsc.cpp b/src/gui/chanOsc.cpp index 7b0f8a027..7bcece959 100644 --- a/src/gui/chanOsc.cpp +++ b/src/gui/chanOsc.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/channels.cpp b/src/gui/channels.cpp index e61138851..48d5ed8cb 100644 --- a/src/gui/channels.cpp +++ b/src/gui/channels.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/clock.cpp b/src/gui/clock.cpp index e8450d10a..5db890558 100644 --- a/src/gui/clock.cpp +++ b/src/gui/clock.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/compatFlags.cpp b/src/gui/compatFlags.cpp index 7a9fd962a..10fbb57c0 100644 --- a/src/gui/compatFlags.cpp +++ b/src/gui/compatFlags.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/cursor.cpp b/src/gui/cursor.cpp index 88d50d2b8..c3745d616 100644 --- a/src/gui/cursor.cpp +++ b/src/gui/cursor.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/dataList.cpp b/src/gui/dataList.cpp index 46b10800d..8edde40d1 100644 --- a/src/gui/dataList.cpp +++ b/src/gui/dataList.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/debug.cpp b/src/gui/debug.cpp index 5a6123823..c9093188c 100644 --- a/src/gui/debug.cpp +++ b/src/gui/debug.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/debug.h b/src/gui/debug.h index e3c911a84..4ec4cd87c 100644 --- a/src/gui/debug.h +++ b/src/gui/debug.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/debugWindow.cpp b/src/gui/debugWindow.cpp index 2149bfaf2..c07c000bb 100644 --- a/src/gui/debugWindow.cpp +++ b/src/gui/debugWindow.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/doAction.cpp b/src/gui/doAction.cpp index 2b3a27497..b857b17cf 100644 --- a/src/gui/doAction.cpp +++ b/src/gui/doAction.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/editControls.cpp b/src/gui/editControls.cpp index 6730fbb94..e8968e698 100644 --- a/src/gui/editControls.cpp +++ b/src/gui/editControls.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/editing.cpp b/src/gui/editing.cpp index f18efece3..556557a92 100644 --- a/src/gui/editing.cpp +++ b/src/gui/editing.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/findReplace.cpp b/src/gui/findReplace.cpp index e66108cfc..60b6c899b 100644 --- a/src/gui/findReplace.cpp +++ b/src/gui/findReplace.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/fonts.cpp b/src/gui/fonts.cpp index ee2e4f1b8..4ab0f6a4c 100644 --- a/src/gui/fonts.cpp +++ b/src/gui/fonts.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/fonts.h b/src/gui/fonts.h index a0a42d251..baaf1e594 100644 --- a/src/gui/fonts.h +++ b/src/gui/fonts.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/gradient.cpp b/src/gui/gradient.cpp index e4af10b57..a36768ead 100644 --- a/src/gui/gradient.cpp +++ b/src/gui/gradient.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index e07167320..6c62e9611 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -2,7 +2,7 @@ // OK, sorry for inserting the define here but I'm so tired of this extension /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/gui.h b/src/gui/gui.h index 57f4b303f..5cb28b8f1 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/guiConst.cpp b/src/gui/guiConst.cpp index d19070fdd..8d0ece3a3 100644 --- a/src/gui/guiConst.cpp +++ b/src/gui/guiConst.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/guiConst.h b/src/gui/guiConst.h index cb5eb5408..845154305 100644 --- a/src/gui/guiConst.h +++ b/src/gui/guiConst.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/icon.c b/src/gui/icon.c index bae81ab7c..80429eb6b 100644 --- a/src/gui/icon.c +++ b/src/gui/icon.c @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/icon.h b/src/gui/icon.h index 43135be86..6e866f25f 100644 --- a/src/gui/icon.h +++ b/src/gui/icon.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 76424e845..4e4941efb 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/intConst.cpp b/src/gui/intConst.cpp index 9a41486e1..167fdd7e8 100644 --- a/src/gui/intConst.cpp +++ b/src/gui/intConst.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/intConst.h b/src/gui/intConst.h index ff11a4968..082f421a7 100644 --- a/src/gui/intConst.h +++ b/src/gui/intConst.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/log.cpp b/src/gui/log.cpp index 0419b6a7d..0dc56e5de 100644 --- a/src/gui/log.cpp +++ b/src/gui/log.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/macstuff.h b/src/gui/macstuff.h index 73ca0c47f..76afff169 100644 --- a/src/gui/macstuff.h +++ b/src/gui/macstuff.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/mixer.cpp b/src/gui/mixer.cpp index c9aa96b80..35c083f28 100644 --- a/src/gui/mixer.cpp +++ b/src/gui/mixer.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/newSong.cpp b/src/gui/newSong.cpp index 0df3a2538..8fdafeb9b 100644 --- a/src/gui/newSong.cpp +++ b/src/gui/newSong.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/orders.cpp b/src/gui/orders.cpp index f3349d71d..914217787 100644 --- a/src/gui/orders.cpp +++ b/src/gui/orders.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/osc.cpp b/src/gui/osc.cpp index 7f4142211..f04587c8b 100644 --- a/src/gui/osc.cpp +++ b/src/gui/osc.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/patManager.cpp b/src/gui/patManager.cpp index 161a42cb2..6f5e3205b 100644 --- a/src/gui/patManager.cpp +++ b/src/gui/patManager.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index 8ce95852b..141afb2b2 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/piano.cpp b/src/gui/piano.cpp index d999d7fd2..fe451c3f7 100644 --- a/src/gui/piano.cpp +++ b/src/gui/piano.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/plot_nolerp.cpp b/src/gui/plot_nolerp.cpp index 12bfb9fca..2fd7994bc 100644 --- a/src/gui/plot_nolerp.cpp +++ b/src/gui/plot_nolerp.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/plot_nolerp.h b/src/gui/plot_nolerp.h index 48332b339..50334dda6 100644 --- a/src/gui/plot_nolerp.h +++ b/src/gui/plot_nolerp.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/presets.cpp b/src/gui/presets.cpp index 921fa88ac..fe4d2b98d 100644 --- a/src/gui/presets.cpp +++ b/src/gui/presets.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/regView.cpp b/src/gui/regView.cpp index 8b2176eb2..729f17c6e 100644 --- a/src/gui/regView.cpp +++ b/src/gui/regView.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/sampleEdit.cpp b/src/gui/sampleEdit.cpp index a8631b2ac..115223cc8 100644 --- a/src/gui/sampleEdit.cpp +++ b/src/gui/sampleEdit.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/sampleUtil.h b/src/gui/sampleUtil.h index 187f5ebf6..bdef166f4 100644 --- a/src/gui/sampleUtil.h +++ b/src/gui/sampleUtil.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/scaling.cpp b/src/gui/scaling.cpp index 1b8cfae35..e3d8d6f80 100644 --- a/src/gui/scaling.cpp +++ b/src/gui/scaling.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/scaling.h b/src/gui/scaling.h index ce1a364a6..60710a34f 100644 --- a/src/gui/scaling.h +++ b/src/gui/scaling.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 7e4d809b3..43adfc85a 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/songInfo.cpp b/src/gui/songInfo.cpp index e20468575..fc25d63e3 100644 --- a/src/gui/songInfo.cpp +++ b/src/gui/songInfo.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/songNotes.cpp b/src/gui/songNotes.cpp index eb63cbf3a..d0218f7bf 100644 --- a/src/gui/songNotes.cpp +++ b/src/gui/songNotes.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/spoiler.cpp b/src/gui/spoiler.cpp index dc64b14ce..05e6d0ead 100644 --- a/src/gui/spoiler.cpp +++ b/src/gui/spoiler.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/stats.cpp b/src/gui/stats.cpp index 636ecd529..33e7029c1 100644 --- a/src/gui/stats.cpp +++ b/src/gui/stats.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/sysConf.cpp b/src/gui/sysConf.cpp index b33aff8a5..d90264502 100644 --- a/src/gui/sysConf.cpp +++ b/src/gui/sysConf.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/sysManager.cpp b/src/gui/sysManager.cpp index dda5ed963..7a214beca 100644 --- a/src/gui/sysManager.cpp +++ b/src/gui/sysManager.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/sysPicker.cpp b/src/gui/sysPicker.cpp index f59e547ad..8607de05d 100644 --- a/src/gui/sysPicker.cpp +++ b/src/gui/sysPicker.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/util.cpp b/src/gui/util.cpp index 3998f2bb4..80ed73781 100644 --- a/src/gui/util.cpp +++ b/src/gui/util.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/util.h b/src/gui/util.h index 8071884b8..6dd2c3a6f 100644 --- a/src/gui/util.h +++ b/src/gui/util.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/volMeter.cpp b/src/gui/volMeter.cpp index f050341dd..a4cf11d7e 100644 --- a/src/gui/volMeter.cpp +++ b/src/gui/volMeter.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/gui/waveEdit.cpp b/src/gui/waveEdit.cpp index fcc10bd03..cecc3635e 100644 --- a/src/gui/waveEdit.cpp +++ b/src/gui/waveEdit.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/log.cpp b/src/log.cpp index 8fec13189..5f24269d8 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main.cpp b/src/main.cpp index ef335a223..094e5b93e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -152,7 +152,7 @@ TAParamResult pLogLevel(String val) { TAParamResult pVersion(String) { printf("Furnace version " DIV_VERSION ".\n\n"); - printf("copyright (C) 2021-2022 tildearrow and contributors.\n"); + printf("copyright (C) 2021-2023 tildearrow and contributors.\n"); printf("licensed under the GNU General Public License version 2 or later\n"); printf(".\n\n"); printf("this is free software with ABSOLUTELY NO WARRANTY.\n"); diff --git a/src/ta-log.h b/src/ta-log.h index 160201e03..d36f5da7d 100644 --- a/src/ta-log.h +++ b/src/ta-log.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ta-utils.h b/src/ta-utils.h index feddbc1e9..f0c896d00 100644 --- a/src/ta-utils.h +++ b/src/ta-utils.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/utfutils.cpp b/src/utfutils.cpp index 4c727777b..889b9a9bd 100644 --- a/src/utfutils.cpp +++ b/src/utfutils.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/utfutils.h b/src/utfutils.h index 76c894708..e55aa07ab 100644 --- a/src/utfutils.h +++ b/src/utfutils.h @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/winMain.cpp b/src/winMain.cpp index 853b11530..85dd27770 100644 --- a/src/winMain.cpp +++ b/src/winMain.cpp @@ -1,6 +1,6 @@ /** * Furnace Tracker - multi-system chiptune tracker - * Copyright (C) 2021-2022 tildearrow and contributors + * Copyright (C) 2021-2023 tildearrow and contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by From 7fbc18853202d59c1757a53bbba2c9fc7c0249b7 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 19 Jan 2023 19:20:04 -0500 Subject: [PATCH 066/121] aaaaaaa --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 36b530ac6..baabcd03c 100644 --- a/README.md +++ b/README.md @@ -306,4 +306,4 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -despite the fact this program works with the .dmf file format, it is NOT affiliated with Delek or DefleMask in any way, nor it is a replacement for the original program. +despite the fact this program works with the .dmf, .dmp and .dmw file formats (besides its native .fur format), it is NOT affiliated with Delek or DefleMask in any way, nor it is a replacement for the original program. From c0d1fe9c65d9c9cc4a965e75ac73a7697ea8f2c1 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 20 Jan 2023 04:28:18 -0500 Subject: [PATCH 067/121] OPM/OPZ: new hard reset strat also fix weird envelope after hard reset --- src/engine/platform/arcade.cpp | 64 +++++++++++++++++++++------------ src/engine/platform/genesis.cpp | 7 +++- src/engine/platform/tx81z.cpp | 64 ++++++++++++++++++++------------- src/engine/platform/ym2203.cpp | 8 ++++- src/engine/platform/ym2608.cpp | 8 ++++- src/engine/platform/ym2610.cpp | 8 ++++- src/engine/platform/ym2610b.cpp | 8 ++++- 7 files changed, 116 insertions(+), 51 deletions(-) diff --git a/src/engine/platform/arcade.cpp b/src/engine/platform/arcade.cpp index 20d844a3d..e417c3131 100644 --- a/src/engine/platform/arcade.cpp +++ b/src/engine/platform/arcade.cpp @@ -319,27 +319,6 @@ void DivPlatformArcade::tick(bool sysTick) { rWrite(baseAddr+ADDR_DT2_D2R,(op.d2r&31)|(op.dt2<<6)); } } - if (chan[i].keyOn || chan[i].keyOff) { - if (chan[i].hardReset && chan[i].keyOn) { - for (int j=0; j<4; j++) { - unsigned short baseAddr=chanOffs[i]|opOffs[j]; - immWrite(baseAddr+ADDR_SL_RR,0x0f); - immWrite(baseAddr+ADDR_TL,0x7f); - oldWrites[baseAddr+ADDR_SL_RR]=-1; - oldWrites[baseAddr+ADDR_TL]=-1; - } - } - immWrite(0x08,i); - if (chan[i].hardReset && chan[i].keyOn) { - for (int j=0; j<4; j++) { - unsigned short baseAddr=chanOffs[i]|opOffs[j]; - for (int k=0; k<9; k++) { - immWrite(baseAddr+ADDR_SL_RR,0x0f); - } - } - } - chan[i].keyOff=false; - } } for (int i=0; i<256; i++) { @@ -349,6 +328,24 @@ void DivPlatformArcade::tick(bool sysTick) { } } + int hardResetElapsed=0; + bool mustHardReset=false; + + for (int i=0; i<8; i++) { + if (chan[i].keyOn || chan[i].keyOff) { + immWrite(0x08,i); + if (chan[i].hardReset && chan[i].keyOn) { + mustHardReset=true; + for (int j=0; j<4; j++) { + unsigned short baseAddr=chanOffs[i]|opOffs[j]; + immWrite(baseAddr+ADDR_SL_RR,0x0f); + hardResetElapsed++; + } + } + chan[i].keyOff=false; + } + } + for (int i=0; i<8; i++) { if (chan[i].freqChanged) { chan[i].freq=chan[i].baseFreq+(chan[i].pitch>>1)-64+chan[i].pitch2; @@ -363,14 +360,37 @@ void DivPlatformArcade::tick(bool sysTick) { if (chan[i].freq>=(95<<6)) chan[i].freq=(95<<6)-1; immWrite(i+0x28,hScale(chan[i].freq>>6)); immWrite(i+0x30,chan[i].freq<<2); + hardResetElapsed+=2; chan[i].freqChanged=false; } - if (chan[i].keyOn || chan[i].opMaskChanged) { + if ((chan[i].keyOn || chan[i].opMaskChanged) && !chan[i].hardReset) { immWrite(0x08,(chan[i].opMask<<3)|i); + hardResetElapsed++; chan[i].opMaskChanged=false; chan[i].keyOn=false; } } + + // hard reset handling + if (mustHardReset) { + for (unsigned int i=hardResetElapsed; i>1)-64+chan[i].pitch2; @@ -323,14 +319,34 @@ void DivPlatformTX81Z::tick(bool sysTick) { if (chan[i].freq>=(95<<6)) chan[i].freq=(95<<6)-1; immWrite(i+0x28,hScale(chan[i].freq>>6)); immWrite(i+0x30,(chan[i].freq<<2)|(chan[i].chVolL==chan[i].chVolR)); + hardResetElapsed+=2; chan[i].freqChanged=false; } - if (chan[i].keyOn) { - //immWrite(0x08,i); + if (chan[i].keyOn && !chan[i].hardReset) { immWrite(chanOffs[i]+ADDR_LR_FB_ALG,(chan[i].state.alg&7)|(chan[i].state.fb<<3)|0x40|(chan[i].chVolR<<7)); chan[i].keyOn=false; } } + + // hard reset handling + if (mustHardReset) { + for (unsigned int i=hardResetElapsed; i Date: Fri, 20 Jan 2023 04:52:27 -0500 Subject: [PATCH 068/121] OPL: partially implement new hard reset it's so late --- src/engine/platform/opl.cpp | 95 ++++++++++++++++++++++++++----------- 1 file changed, 66 insertions(+), 29 deletions(-) diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index a60b59dab..afaba9f94 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -446,35 +446,34 @@ void DivPlatformOPL::tick(bool sysTick) { } } } + } - if (i0x100) { + weWillWriteRRLater[(baseAddr&0xff)|32]=true; + } else { + weWillWriteRRLater[(baseAddr&0xff)]=true; } + immWrite(baseAddr+ADDR_SL_RR,0x0f); + hardResetElapsed++; } } } @@ -562,6 +561,11 @@ void DivPlatformOPL::tick(bool sysTick) { for (int i=0; i<512; i++) { if (pendingWrites[i]!=oldWrites[i]) { + if ((i>=0x80 && i<0xa0)) { + if (weWillWriteRRLater[i-0x80]) continue; + } else if ((i>=0x180 && i<0x1a0)) { + if (weWillWriteRRLater[32|(i-0x180)]) continue; + } immWrite(i,pendingWrites[i]&0xff); oldWrites[i]=pendingWrites[i]; } @@ -580,11 +584,15 @@ void DivPlatformOPL::tick(bool sysTick) { immWrite(chanMap[i]+ADDR_FREQ,chan[i].freqL); } if (i Date: Fri, 20 Jan 2023 15:13:19 -0500 Subject: [PATCH 069/121] - MINIMIZE DEBUG - issue #803 --- src/gui/gui.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 6c62e9611..a619cf325 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3419,6 +3419,13 @@ bool FurnaceGUI::loop() { ImGui_ImplSDL2_NewFrame(sdlWin); ImGui::NewFrame(); + ImGuiViewport* vp=ImGui::GetMainViewport(); + if (vp==NULL) { + logE("NULL MAN"); + } else { + logV("viewport size: %dx%d",vp->Size.x,vp->Size.y); + } + curWindowLast=curWindow; curWindow=GUI_WINDOW_NOTHING; editOptsVisible=false; From 73b7893c04b8683deafd4e18b48844679a370a74 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 20 Jan 2023 15:24:43 -0500 Subject: [PATCH 070/121] remove minimize debug --- src/gui/gui.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index a619cf325..6c62e9611 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3419,13 +3419,6 @@ bool FurnaceGUI::loop() { ImGui_ImplSDL2_NewFrame(sdlWin); ImGui::NewFrame(); - ImGuiViewport* vp=ImGui::GetMainViewport(); - if (vp==NULL) { - logE("NULL MAN"); - } else { - logV("viewport size: %dx%d",vp->Size.x,vp->Size.y); - } - curWindowLast=curWindow; curWindow=GUI_WINDOW_NOTHING; editOptsVisible=false; From 9583215d009c3362b0714dd9964e276f20aa7bed Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 20 Jan 2023 15:47:37 -0500 Subject: [PATCH 071/121] Revert "remove minimize debug" This reverts commit 73b7893c04b8683deafd4e18b48844679a370a74. --- src/gui/gui.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 6c62e9611..a619cf325 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3419,6 +3419,13 @@ bool FurnaceGUI::loop() { ImGui_ImplSDL2_NewFrame(sdlWin); ImGui::NewFrame(); + ImGuiViewport* vp=ImGui::GetMainViewport(); + if (vp==NULL) { + logE("NULL MAN"); + } else { + logV("viewport size: %dx%d",vp->Size.x,vp->Size.y); + } + curWindowLast=curWindow; curWindow=GUI_WINDOW_NOTHING; editOptsVisible=false; From cf0ecde2933675fd9e38fb5dfb2e39bee25aca54 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 20 Jan 2023 15:47:55 -0500 Subject: [PATCH 072/121] - MINIMIZE DEBUG, ATTEMPT 2 - --- src/gui/gui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index a619cf325..8ecf690a9 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3423,7 +3423,7 @@ bool FurnaceGUI::loop() { if (vp==NULL) { logE("NULL MAN"); } else { - logV("viewport size: %dx%d",vp->Size.x,vp->Size.y); + logV("viewport size: %fx%f",vp->Size.x,vp->Size.y); } curWindowLast=curWindow; From 1b900d6ef582dd1493d317ae445fd8c7d5781a0f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 20 Jan 2023 16:39:21 -0500 Subject: [PATCH 073/121] Revert "- MINIMIZE DEBUG, ATTEMPT 2 -" This reverts commit cf0ecde2933675fd9e38fb5dfb2e39bee25aca54. --- src/gui/gui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 8ecf690a9..a619cf325 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3423,7 +3423,7 @@ bool FurnaceGUI::loop() { if (vp==NULL) { logE("NULL MAN"); } else { - logV("viewport size: %fx%f",vp->Size.x,vp->Size.y); + logV("viewport size: %dx%d",vp->Size.x,vp->Size.y); } curWindowLast=curWindow; From 56304e95010a79b51fb8fd3b73f4aca55923c546 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 20 Jan 2023 16:39:42 -0500 Subject: [PATCH 074/121] disable MinGW builds until I get backtrace working --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f50a7ca20..f058b21ef 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,8 +20,8 @@ jobs: config: - { name: 'Windows MSVC x86', os: windows-latest, compiler: msvc, arch: x86 } - { name: 'Windows MSVC x86_64', os: windows-latest, compiler: msvc, arch: x86_64 } - - { name: 'Windows MinGW x86', os: ubuntu-20.04, compiler: mingw, arch: x86 } - - { name: 'Windows MinGW x86_64', os: ubuntu-20.04, compiler: mingw, arch: x86_64 } + #- { name: 'Windows MinGW x86', os: ubuntu-20.04, compiler: mingw, arch: x86 } + #- { name: 'Windows MinGW x86_64', os: ubuntu-20.04, compiler: mingw, arch: x86_64 } - { name: 'macOS x86_64', os: macos-latest, arch: x86_64 } - { name: 'macOS ARM', os: macos-latest, arch: arm64 } - { name: 'Linux x86_64', os: ubuntu-18.04, arch: x86_64 } From 8dadb87d12cb69cedb5080917521355fb3c68f39 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 20 Jan 2023 16:47:41 -0500 Subject: [PATCH 075/121] CI: try out RelWithDebInfo --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f058b21ef..29079891d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,7 +11,7 @@ defaults: shell: bash env: - BUILD_TYPE: Debug + BUILD_TYPE: RelWithDebInfo jobs: build: From 4a6100b6586849865c9e7896e8650334627ce9bf Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 20 Jan 2023 19:35:17 -0500 Subject: [PATCH 076/121] FIIIIXXXXX --- src/gui/gui.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index a619cf325..6c62e9611 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3419,13 +3419,6 @@ bool FurnaceGUI::loop() { ImGui_ImplSDL2_NewFrame(sdlWin); ImGui::NewFrame(); - ImGuiViewport* vp=ImGui::GetMainViewport(); - if (vp==NULL) { - logE("NULL MAN"); - } else { - logV("viewport size: %dx%d",vp->Size.x,vp->Size.y); - } - curWindowLast=curWindow; curWindow=GUI_WINDOW_NOTHING; editOptsVisible=false; From c0ef83312f52c1ffdffb9ed1a20c78764eb925a5 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 21 Jan 2023 03:14:18 -0500 Subject: [PATCH 077/121] new demo song by Mahbod_Karamoozian --- demos/sms/Super_Space_Invaders_Title.fur | Bin 0 -> 2565 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 demos/sms/Super_Space_Invaders_Title.fur diff --git a/demos/sms/Super_Space_Invaders_Title.fur b/demos/sms/Super_Space_Invaders_Title.fur new file mode 100644 index 0000000000000000000000000000000000000000..fe964b0e94308b227707433d47ed7529a4ddac5b GIT binary patch literal 2565 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 bzl!ev#kcHyI)K Date: Sat, 21 Jan 2023 03:14:51 -0500 Subject: [PATCH 078/121] whoops wrong category --- demos/{sms => nes}/Super_Space_Invaders_Title.fur | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename demos/{sms => nes}/Super_Space_Invaders_Title.fur (100%) diff --git a/demos/sms/Super_Space_Invaders_Title.fur b/demos/nes/Super_Space_Invaders_Title.fur similarity index 100% rename from demos/sms/Super_Space_Invaders_Title.fur rename to demos/nes/Super_Space_Invaders_Title.fur From e190c2ca60bca393c4b1936d4268c77140021d25 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 23 Jan 2023 03:31:50 -0500 Subject: [PATCH 079/121] GUI: fix "overflow changes ord" whn ctrlclk n sldr --- src/gui/pattern.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index 141afb2b2..b02b11501 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -969,7 +969,7 @@ void FurnaceGUI::drawPattern() { // overflow changes order // TODO: this is very unreliable and sometimes it can warp you out of the song - if (settings.scrollChangesOrder && !e->isPlaying()) { + if (settings.scrollChangesOrder && !e->isPlaying() && ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows)) { if (wheelY!=0) { if (wheelY>0) { if (ImGui::GetScrollY()<=0) { From a878c3a4d50f5f68fe9dcf5dfa013429a3969832 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 23 Jan 2023 15:19:20 -0500 Subject: [PATCH 080/121] stop documenting EFxx it doesn't even work on linear pitch --- papers/doc/3-pattern/effects.md | 3 --- src/engine/engine.cpp | 2 -- 2 files changed, 5 deletions(-) diff --git a/papers/doc/3-pattern/effects.md b/papers/doc/3-pattern/effects.md index 0aa1fc03b..9d784d380 100644 --- a/papers/doc/3-pattern/effects.md +++ b/papers/doc/3-pattern/effects.md @@ -57,9 +57,6 @@ however, effects are continuous, which means you only need to type it once and t - `EDxx`: delay note by `xx` ticks. - `EExx`: send external command. - this effect is currently incomplete. -- `EFxx`: add or subtract global pitch. - - this effect is rather weird. use with caution. - - `80` is center. - `F0xx`: change song Hz by BPM value. - `F1xx`: single tick slide up. - `F2xx`: single tick slide down. diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 50fbbadc5..38185aaa8 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -110,8 +110,6 @@ const char* DivEngine::getEffectDesc(unsigned char effect, int chan, bool notNul return "EDxx: Note delay"; case 0xee: return "EExx: Send external command"; - case 0xef: - return "EFxx: Set global tuning (quirky!)"; case 0xf0: return "F0xx: Set tick rate (bpm)"; case 0xf1: From 51883f698afebcae81d63fac951513bacc418677 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 23 Jan 2023 15:52:32 -0500 Subject: [PATCH 081/121] MORE TESTING --- extern/imgui_patched/backends/imgui_impl_sdl.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/extern/imgui_patched/backends/imgui_impl_sdl.cpp b/extern/imgui_patched/backends/imgui_impl_sdl.cpp index 499676fcd..60094c33f 100644 --- a/extern/imgui_patched/backends/imgui_impl_sdl.cpp +++ b/extern/imgui_patched/backends/imgui_impl_sdl.cpp @@ -65,6 +65,7 @@ #include "imgui.h" #include "imgui_impl_sdl.h" +#include "../../../src/ta-log.h" #include #include @@ -658,11 +659,15 @@ static void ImGui_ImplSDL2_UpdateMonitors() SDL_GetDisplayBounds(n, &r); monitor.MainPos = monitor.WorkPos = ImVec2((float)r.x, (float)r.y); monitor.MainSize = monitor.WorkSize = ImVec2((float)r.w, (float)r.h); + logI("MainPos: %f, %f",monitor.MainPos.x,monitor.MainPos.y); + logI("MainSize: %f, %f",monitor.MainSize.x,monitor.MainSize.y); #if SDL_HAS_USABLE_DISPLAY_BOUNDS SDL_GetDisplayUsableBounds(n, &r); monitor.WorkPos = ImVec2((float)r.x, (float)r.y); monitor.WorkSize = ImVec2((float)r.w, (float)r.h); #endif + logI("WorkPos: %f, %f",monitor.WorkPos.x,monitor.WorkPos.y); + logI("WorkSize: %f, %f",monitor.WorkSize.x,monitor.WorkSize.y); #if SDL_HAS_PER_MONITOR_DPI monitor.DpiScale = 1.0f; #endif @@ -705,6 +710,9 @@ void ImGui_ImplSDL2_NewFrame() platform_io.Monitors[0].DpiScale=(float)display_w/(float)w; } + logV("io.DisplaySize: %f, %f",io.DisplaySize.x,io.DisplaySize.y); + logV("io.DisplayFramebufferScale: %f, %f",io.DisplayFramebufferScale.x,io.DisplayFramebufferScale.y); + // Setup time step (we don't use SDL_GetTicks() because it is using millisecond resolution) static Uint64 frequency = SDL_GetPerformanceFrequency(); Uint64 current_time = SDL_GetPerformanceCounter(); From c58ff8e37ca7646a4f9dfe0fc3a7e9bf35130c20 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 23 Jan 2023 16:21:58 -0500 Subject: [PATCH 082/121] GUI: don't draw at all when minimized --- extern/imgui_patched/backends/imgui_impl_sdl.cpp | 3 --- src/gui/gui.cpp | 5 +++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/extern/imgui_patched/backends/imgui_impl_sdl.cpp b/extern/imgui_patched/backends/imgui_impl_sdl.cpp index 60094c33f..ac7a674ea 100644 --- a/extern/imgui_patched/backends/imgui_impl_sdl.cpp +++ b/extern/imgui_patched/backends/imgui_impl_sdl.cpp @@ -710,9 +710,6 @@ void ImGui_ImplSDL2_NewFrame() platform_io.Monitors[0].DpiScale=(float)display_w/(float)w; } - logV("io.DisplaySize: %f, %f",io.DisplaySize.x,io.DisplaySize.y); - logV("io.DisplayFramebufferScale: %f, %f",io.DisplayFramebufferScale.x,io.DisplayFramebufferScale.y); - // Setup time step (we don't use SDL_GetTicks() because it is using millisecond resolution) static Uint64 frequency = SDL_GetPerformanceFrequency(); Uint64 current_time = SDL_GetPerformanceCounter(); diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 9fe9d1222..9fa58f0e6 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3413,6 +3413,11 @@ bool FurnaceGUI::loop() { eventTimeEnd=SDL_GetPerformanceCounter(); + if (SDL_GetWindowFlags(sdlWin)&SDL_WINDOW_MINIMIZED) { + SDL_Delay(100); + continue; + } + layoutTimeBegin=SDL_GetPerformanceCounter(); ImGui_ImplSDLRenderer_NewFrame(); From 6f2a655e666162518794082eb9903ce7f6721d42 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 23 Jan 2023 16:40:56 -0500 Subject: [PATCH 083/121] yeah it works --- src/gui/gui.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 9fa58f0e6..e0c458b35 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3414,7 +3414,8 @@ bool FurnaceGUI::loop() { eventTimeEnd=SDL_GetPerformanceCounter(); if (SDL_GetWindowFlags(sdlWin)&SDL_WINDOW_MINIMIZED) { - SDL_Delay(100); + SDL_Delay(30); + drawHalt=0; continue; } From 7b2588c17630861bc64d2d4fad0aa343bde6f15b Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 23 Jan 2023 16:42:56 -0500 Subject: [PATCH 084/121] remove log spam --- extern/imgui_patched/backends/imgui_impl_sdl.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/extern/imgui_patched/backends/imgui_impl_sdl.cpp b/extern/imgui_patched/backends/imgui_impl_sdl.cpp index ac7a674ea..499676fcd 100644 --- a/extern/imgui_patched/backends/imgui_impl_sdl.cpp +++ b/extern/imgui_patched/backends/imgui_impl_sdl.cpp @@ -65,7 +65,6 @@ #include "imgui.h" #include "imgui_impl_sdl.h" -#include "../../../src/ta-log.h" #include #include @@ -659,15 +658,11 @@ static void ImGui_ImplSDL2_UpdateMonitors() SDL_GetDisplayBounds(n, &r); monitor.MainPos = monitor.WorkPos = ImVec2((float)r.x, (float)r.y); monitor.MainSize = monitor.WorkSize = ImVec2((float)r.w, (float)r.h); - logI("MainPos: %f, %f",monitor.MainPos.x,monitor.MainPos.y); - logI("MainSize: %f, %f",monitor.MainSize.x,monitor.MainSize.y); #if SDL_HAS_USABLE_DISPLAY_BOUNDS SDL_GetDisplayUsableBounds(n, &r); monitor.WorkPos = ImVec2((float)r.x, (float)r.y); monitor.WorkSize = ImVec2((float)r.w, (float)r.h); #endif - logI("WorkPos: %f, %f",monitor.WorkPos.x,monitor.WorkPos.y); - logI("WorkSize: %f, %f",monitor.WorkSize.x,monitor.WorkSize.y); #if SDL_HAS_PER_MONITOR_DPI monitor.DpiScale = 1.0f; #endif From 68c8a774983d7de1c686936a2ed6aebbdc697dd5 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 24 Jan 2023 03:05:23 -0500 Subject: [PATCH 085/121] SoundUnit: reset sample memory on reset() --- src/engine/platform/su.cpp | 16 ++++++++++++---- src/engine/platform/su.h | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/engine/platform/su.cpp b/src/engine/platform/su.cpp index 7a7addea8..7367f50ce 100644 --- a/src/engine/platform/su.cpp +++ b/src/engine/platform/su.cpp @@ -497,6 +497,9 @@ void DivPlatformSoundUnit::reset() { rWrite(0x9d,ilCtrl); rWrite(0xbc,ilSize); rWrite(0xbd,fil1); + + // copy sample memory + memcpy(su->pcm,sampleMem,sampleMemSize?65536:8192); } int DivPlatformSoundUnit::getOutputCount() { @@ -545,7 +548,7 @@ void DivPlatformSoundUnit::poke(std::vector& wlist) { } const void* DivPlatformSoundUnit::getSampleMem(int index) { - return (index==0)?su->pcm:NULL; + return (index==0)?sampleMem:NULL; } size_t DivPlatformSoundUnit::getSampleMemCapacity(int index) { @@ -563,7 +566,7 @@ bool DivPlatformSoundUnit::isSampleLoaded(int index, int sample) { } void DivPlatformSoundUnit::renderSamples(int sysID) { - memset(su->pcm,0,getSampleMemCapacity(0)); + memset(sampleMem,0,sampleMemSize?65536:8192); memset(sampleOffSU,0,256*sizeof(unsigned int)); memset(sampleLoaded,0,256*sizeof(bool)); @@ -582,10 +585,10 @@ void DivPlatformSoundUnit::renderSamples(int sysID) { break; } if (memPos+paddedLen>=getSampleMemCapacity(0)) { - memcpy(su->pcm+memPos,s->data8,getSampleMemCapacity(0)-memPos); + memcpy(sampleMem+memPos,s->data8,getSampleMemCapacity(0)-memPos); logW("out of PCM memory for sample %d!",i); } else { - memcpy(su->pcm+memPos,s->data8,paddedLen); + memcpy(sampleMem+memPos,s->data8,paddedLen); sampleLoaded[i]=true; } sampleOffSU[i]=memPos; @@ -593,6 +596,8 @@ void DivPlatformSoundUnit::renderSamples(int sysID) { } sampleMemLen=memPos; sysIDCache=sysID; + + memcpy(su->pcm,sampleMem,sampleMemSize?65536:8192); } int DivPlatformSoundUnit::init(DivEngine* p, int channels, int sugRate, const DivConfig& flags) { @@ -604,6 +609,8 @@ int DivPlatformSoundUnit::init(DivEngine* p, int channels, int sugRate, const Di oscBuf[i]=new DivDispatchOscBuffer; } su=new SoundUnit(); + sampleMem=new unsigned char[65536]; + memset(sampleMem,0,65536); sysIDCache=0; setFlags(flags); reset(); @@ -615,6 +622,7 @@ void DivPlatformSoundUnit::quit() { delete oscBuf[i]; } delete su; + delete sampleMem; } DivPlatformSoundUnit::~DivPlatformSoundUnit() { diff --git a/src/engine/platform/su.h b/src/engine/platform/su.h index 0102db03e..13b4d4bba 100644 --- a/src/engine/platform/su.h +++ b/src/engine/platform/su.h @@ -89,6 +89,7 @@ class DivPlatformSoundUnit: public DivDispatch { short tempR; unsigned char sampleBank, lfoMode, lfoSpeed; SoundUnit* su; + unsigned char* sampleMem; size_t sampleMemLen; unsigned char regPool[128]; double NOTE_SU(int ch, int note); From c17a541e938551f163efbb0852f17da7f4b782e8 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 24 Jan 2023 03:44:55 -0500 Subject: [PATCH 086/121] OPN: fix forceIns() muting wrong ops in ExtCh --- src/engine/platform/genesisext.cpp | 4 ++-- src/engine/platform/ym2203ext.cpp | 4 ++-- src/engine/platform/ym2608ext.cpp | 4 ++-- src/engine/platform/ym2610bext.cpp | 4 ++-- src/engine/platform/ym2610ext.cpp | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/engine/platform/genesisext.cpp b/src/engine/platform/genesisext.cpp index 42e31b8b9..5c9d986a4 100644 --- a/src/engine/platform/genesisext.cpp +++ b/src/engine/platform/genesisext.cpp @@ -651,10 +651,10 @@ void DivPlatformGenesisExt::forceIns() { unsigned short baseAddr=chanOffs[i]|opOffs[j]; DivInstrumentFM::Operator& op=chan[i].state.op[j]; if (i==2 && extMode) { // extended channel - if (isOpMuted[j]) { + if (isOpMuted[orderedOps[j]]) { rWrite(baseAddr+0x40,127); } else if (KVS(i,j)) { - rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[j].outVol&0x7f,127)); + rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[orderedOps[j]].outVol&0x7f,127)); } else { rWrite(baseAddr+0x40,op.tl); } diff --git a/src/engine/platform/ym2203ext.cpp b/src/engine/platform/ym2203ext.cpp index 441ec7018..c14be9dc7 100644 --- a/src/engine/platform/ym2203ext.cpp +++ b/src/engine/platform/ym2203ext.cpp @@ -558,10 +558,10 @@ void DivPlatformYM2203Ext::forceIns() { unsigned short baseAddr=chanOffs[i]|opOffs[j]; DivInstrumentFM::Operator& op=chan[i].state.op[j]; if (i==2 && extMode) { // extended channel - if (isOpMuted[j]) { + if (isOpMuted[orderedOps[j]]) { rWrite(baseAddr+0x40,127); } else if (KVS(i,j)) { - rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[j].outVol&0x7f,127)); + rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[orderedOps[j]].outVol&0x7f,127)); } else { rWrite(baseAddr+0x40,op.tl); } diff --git a/src/engine/platform/ym2608ext.cpp b/src/engine/platform/ym2608ext.cpp index 3a56a167b..96409ce76 100644 --- a/src/engine/platform/ym2608ext.cpp +++ b/src/engine/platform/ym2608ext.cpp @@ -582,10 +582,10 @@ void DivPlatformYM2608Ext::forceIns() { unsigned short baseAddr=chanOffs[i]|opOffs[j]; DivInstrumentFM::Operator& op=chan[i].state.op[j]; if (i==2 && extMode) { // extended channel - if (isOpMuted[j]) { + if (isOpMuted[orderedOps[j]]) { rWrite(baseAddr+0x40,127); } else if (KVS(i,j)) { - rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[j].outVol&0x7f,127)); + rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[orderedOps[j]].outVol&0x7f,127)); } else { rWrite(baseAddr+0x40,op.tl); } diff --git a/src/engine/platform/ym2610bext.cpp b/src/engine/platform/ym2610bext.cpp index 0d113d052..e025ec2fa 100644 --- a/src/engine/platform/ym2610bext.cpp +++ b/src/engine/platform/ym2610bext.cpp @@ -578,10 +578,10 @@ void DivPlatformYM2610BExt::forceIns() { unsigned short baseAddr=chanOffs[i]|opOffs[j]; DivInstrumentFM::Operator& op=chan[i].state.op[j]; if (i==extChanOffs && extMode) { // extended channel - if (isOpMuted[j]) { + if (isOpMuted[orderedOps[j]]) { rWrite(baseAddr+0x40,127); } else if (KVS(i,j)) { - rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[j].outVol&0x7f,127)); + rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[orderedOps[j]].outVol&0x7f,127)); } else { rWrite(baseAddr+0x40,op.tl); } diff --git a/src/engine/platform/ym2610ext.cpp b/src/engine/platform/ym2610ext.cpp index e8a531dae..ccb877483 100644 --- a/src/engine/platform/ym2610ext.cpp +++ b/src/engine/platform/ym2610ext.cpp @@ -578,10 +578,10 @@ void DivPlatformYM2610Ext::forceIns() { unsigned short baseAddr=chanOffs[i]|opOffs[j]; DivInstrumentFM::Operator& op=chan[i].state.op[j]; if (i==extChanOffs && extMode) { // extended channel - if (isOpMuted[j]) { + if (isOpMuted[orderedOps[j]]) { rWrite(baseAddr+0x40,127); } else if (KVS(i,j)) { - rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[j].outVol&0x7f,127)); + rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[orderedOps[j]].outVol&0x7f,127)); } else { rWrite(baseAddr+0x40,op.tl); } From 76eb0ed09742356b814e6e7caf5aa4862e8ae6a9 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 24 Jan 2023 04:13:01 -0500 Subject: [PATCH 087/121] SNES: consider echo buffer size --- src/engine/platform/snes.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engine/platform/snes.cpp b/src/engine/platform/snes.cpp index ead26a81b..7184cdc43 100644 --- a/src/engine/platform/snes.cpp +++ b/src/engine/platform/snes.cpp @@ -811,7 +811,7 @@ const void* DivPlatformSNES::getSampleMem(int index) { size_t DivPlatformSNES::getSampleMemCapacity(int index) { // TODO change it based on current echo buffer size - return index == 0 ? 65536 : 0; + return index == 0 ? (65536-echoDelay*2048) : 0; } size_t DivPlatformSNES::getSampleMemUsage(int index) { @@ -825,7 +825,7 @@ bool DivPlatformSNES::isSampleLoaded(int index, int sample) { } void DivPlatformSNES::renderSamples(int sysID) { - memset(copyOfSampleMem,0,getSampleMemCapacity()); + memset(copyOfSampleMem,0,65536); memset(sampleOff,0,256*sizeof(unsigned int)); memset(sampleLoaded,0,256*sizeof(bool)); From 956b4252f5e5d7a4b421f9b42c27be50379e12e2 Mon Sep 17 00:00:00 2001 From: Mel Date: Tue, 24 Jan 2023 18:43:48 +0000 Subject: [PATCH 088/121] several demo songs (#944) * several demo songs i enjoy konami music * cover by info i forgot jdfhkj so sorry!! --- demos/arcade/Salamander_Starfield.fur | Bin 0 -> 2320 bytes demos/misc/Wicked_Express_X68000.fur | Bin 0 -> 7480 bytes demos/msx/Gyruss_Stage_2.fur | Bin 0 -> 3493 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 demos/arcade/Salamander_Starfield.fur create mode 100644 demos/misc/Wicked_Express_X68000.fur create mode 100644 demos/msx/Gyruss_Stage_2.fur diff --git a/demos/arcade/Salamander_Starfield.fur b/demos/arcade/Salamander_Starfield.fur new file mode 100644 index 0000000000000000000000000000000000000000..be2690a5ebf8337680d2832cde4411b09a0384bb GIT binary patch literal 2320 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 qzkT>C1o`n=ryxS$ZjAewu>- literal 0 HcmV?d00001 diff --git a/demos/misc/Wicked_Express_X68000.fur b/demos/misc/Wicked_Express_X68000.fur new file mode 100644 index 0000000000000000000000000000000000000000..b5ef6bdc0a6c230c49166fd62df5911320891a6e GIT binary patch literal 7480 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 literal 0 HcmV?d00001 diff --git a/demos/msx/Gyruss_Stage_2.fur b/demos/msx/Gyruss_Stage_2.fur new file mode 100644 index 0000000000000000000000000000000000000000..9b901f0e17c682a2ee481f128892c833fdb2e6df GIT binary patch literal 3493 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 T96(@Wv)MX*h4KAAm{41GT-+KM literal 0 HcmV?d00001 From 9b9431d77a3daa08250bce0ed28771607c03d4c6 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 24 Jan 2023 13:45:20 -0500 Subject: [PATCH 089/121] GUI: update credits --- src/gui/about.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/about.cpp b/src/gui/about.cpp index 94b3c0f00..a8791420d 100644 --- a/src/gui/about.cpp +++ b/src/gui/about.cpp @@ -92,6 +92,7 @@ const char* aboutLine[]={ "LVintageNerd", "Mahbod Karamoozian", "Martin Demsky", + "MelonadeM", "Miker", "nicco1690", "", From 074384af67163a968656b8bfaec9890d2b178477 Mon Sep 17 00:00:00 2001 From: SnugglyBun <104454752+Curly68@users.noreply.github.com> Date: Tue, 24 Jan 2023 16:55:03 -0300 Subject: [PATCH 090/121] New version of my Tor (from the 2008 Iji indie game) cover (#947) * YM2610B Intelligent DnB song made in like 3 to 4 hours i guess. * Melody of Certain Feelings (Rewrite) basically a new song altogether * Sky Chaze Zone "32X" cover Actually it's just Genesis + 4xDACs but i think that the 32x had more than enough power to pull this off * Delete SnugglyBun - Melody of Certain Feelings (X16 VERA).fur * renamed Melody of Certain Feelings.fur renamed the file per Tildearrow's request * Delete Melody of Certain Feelings.fur * Renamed the file again hopefully this should be alright * New version of my Tor (from Iji) Sega ARCADE cover Basically greatly revamped my old cover now that i know a lot better, meant to replace the old olne * Delete the old version of my Tor cover The new version "iji_tor_segaxboard_cove.furr" shall take it's place * Delete iji_tor_segaxboard_cover.fur * Rename the file per request --- demos/arcade/iji_tor_SegaPCM.fur | Bin 299701 -> 0 bytes demos/arcade/iji_tor_segaxboard.fur | Bin 0 -> 782009 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 demos/arcade/iji_tor_SegaPCM.fur create mode 100644 demos/arcade/iji_tor_segaxboard.fur diff --git a/demos/arcade/iji_tor_SegaPCM.fur b/demos/arcade/iji_tor_SegaPCM.fur deleted file mode 100644 index 84a6ac5b3575319834d026f47838a1e8147d5155..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299701 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�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%0D&UXZQbOXjDYI-E9L9W@bkL>(w!Gk9zuK2op%i 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[o>Yd(<3jg~g%!(U$l^_7?sOkzIU4JddjW;!?o|b`N+ft!dzb$60^g z)zkII)wRAy{VA8cR#g3>++7?lFy?*8L9_2=jz|kqE=p)lE9WR`6c<&MnnwDs#yhFj z%ukMH#qR9w73H6_Q2LMlun#O#xZ0^r!f| z0OWQfJ|a4Z1$BVWBG1r;D2YshCnC%76P%g+!GiI^Dp3pR3fVSkns5rIHTsFUJ8bq% z@ub!-uU}N3Ri9RWxnAPxU30YJbjgIG&IL#F*X2IUipm(A`j1ho`A=1?^eFw5k1o`- z(Z4oJ(rLMg&Lh=p{A~Jk&;skxsaQGs2x$VpfquhhF*E7pPNp>Gy*N|Sh*BpHRqUv+ zq*6%ZX^ARiA^Zzwq6lV39FQ9X;fH7eUPn&j)NpqRK8Z)j+D2hAmN=Ko#?7p%NPWQS zO?Ip5lj_gAQO^_iO_!o(UghOdPVxGp4u#tscXMuKC{trh>-3GaHL4>@gW`pwxNKKcvaFRv#-~0N+=A%| z8GWt1DeiRlQ_nc>Q_t@D7PY%8>E)|S4JDn68x|^apV}v-^+>5Pp3`;K+*cJTXDZt& zr>f$$$IY$MEA!@*j;W3DwV>@~U972cX=*TiQg+6FWw`0DHAnN zHSExEh3u>FfA2kxCod9R@eb%oSO?WY+u=+&3i*SSpnCi@dl7#M)#tLPs3?)NovcZyH$<9i3zyKC-OwWu6g@w|**!Y?Y!znbkzKb(q~hZ)2=SVLDK zii7e}g;M>{U`YLt)u^aV)lqkk@J{A*Fdy6miot~-1F}J@kXo!WdpXz6JIRk09+fPQ zKHG@dctZn?bf{=IzmmI+(~0u>Pt*;3fGw~HvA}ELbMSQ}9_z?%!ha{aE?{atPyy9yGs+{SWKWuALjHYAE!(PoD zCd`m_ZP=}mr6JUyugoU)3n9TX?tHcvpMmv2F|-J2OwG#$=mK;bevL+vn<;HtARQQG zi&_@dONt7Al71+Gz9rl#^emVjXdig&+wT40MqJBkWi=D4k5@gaSX4TxXny{f?3j#M zwtrHxjT?2hRa+Ga^4-*l4p)ydoU!V2jubzvDf1+UlIRNoE6^M8GN-W`!R@h)_!itx z`BEXby{NZrWCP9rv2+#CO=Mp`ZllR0Gnq^>Nd>Mm*1d~g5fJNLXH=d?Y&x%b_lkj^}I2^*t3&fKR}>b|N?iagARB*90Z zPS7HN5u+qM#ScU;#n6AB{>WbghR6Xwb6MAod9Qkf@nyS(>v>|%%7(=t*LQV~YI|0n z0O-V2B$ur$-BLWQAeb{cYqy){8g9!pT}+EeUJTUp^zXlY-T!q{?93mtjB}i)vUU|F zRGzAjdztShbi)<7{NF=fYa17Rw*i1p%r|d*_852S26u-h@@mRq^o{#f3OgGG{ zCxX#6$yJe6Cn}N36Xj1zLIt9{kvUVcR=Mvx?pjtEm!=`fm*WqA%l%g>H#lrb<)9^Tl(;H^t2W?q?wNiU4J1RFDe1Jrt@c#&)u@(3TOl&Ud?&^2WR`b_q| zu2kayO#hrHQ8ZHY#w(C|=#^}{6ah>+UStu?lExr4@(xsgW-A+FL)x2khO#MM4>gg_ z6^|6UcnpUV>RXo=oEaQhTU5QHYD^_r@u_rNQPaFGIph3Gy@jr=wui=q)VLo<`_8P_Lu->V zhIKFWZ}p|@McvQZ8=4GtXX=3}i)g7x!RKK2fHFvx^b%ph4Z>OCOxb44rOeTEWQ*7w z?MwPGd0#nF(FfZBg~i>3tNB{)jfQLWjyhM}v$|cuy)}ZW_vJTA_ZPP=^aRFd@A774 z{_W^w-IVS~O#Hg~)1pu7zYb1#lbU88;_B@Go>yC}scKU9Q`pAs$Ggaz$gdF809T=q zU4_l~PE`usL07|$)f4)a>|$L4(0O;%7s)QFDxzL7LaxIm!V9Gw@oM2i!4F})bTHOg zbxUK{W@%Syr!sfx#bjrq1HKI@kRg&0f-c0DBQO!~wS1iM6bOiLTILI&L zjTHK%(O8Hmp?=kz(jL+c)z;HPDZjE-aTWgvdnK_#AFq(Jki+97Gzded>(&I{)E=v8 zR&}&&T2Wd4!Mu#XkDRN%5zc9*!X!s*;7jK(&A;7>JN%$nWqW+x_a5J4z6)bZ;=3f1#_f&^UU5KOoK>Dz zGo}7Wcs$q3)$x*fy#SU5WdU@)q9xf{Ggqer)r`^e^pDujx+lzadZW6Z`l&jB@+se9 zKS7toO@SAAE}SNr25*+%R86Fvn)}QhrVSIPc}dGCA5ho>p<&Wl;?u%d9>EDV^bc64NtB|S@u3)kd!_H4AaOOHuPi)Uk>eCzr>F|Kvex%5A+MVTM{ z4f&Q*s(M!4_lA36Ip-or$Ll9JD}n)oc9-XRGX+#QhSK|_-d4b-%EB2FY*$& zEx37{LJrE|H!KY1RjDf`mIumPR+N@jVasb^+t zcWK`-g|v$tL###Pr7F>WL2n^nq5uxGzv6;&1JF&dZn6&7X3^QeiR>XB;WqfJ^ns{| zKZiG+SH?@_wc=KXGHV;EHUn+?SCy{nVa2hn% zwCA;UZ5_C>%n|isr3kB*284BjIilH;<+4F=J=&QVN}-y`%sXZSb3-$c-b^V~Ci!G^ ziL5}hL!cK_3EB(4@f$diAv9Q1?W$5%pQ+wZJ*6_T?0FHCSK?dZTy7GjJOXO;WbDyc zcijEN)@gs6Te{}@ssqZB_mw+qsUTL@3{(~7N^lWW|ZXT;(kLz0M zgdhg$3U#a5AG(zqnF_GIY$Z_Hb`dMyB_W^$bb^8)<@5v1Wo8x=(#+9J29EU;;Xor~ z$Ho8g-7Zld(R9HJPMgreV53@hjl8y?MpUz_>Pf|((%}V<{MTL8<_BrJl49d~$1eX~ z9qUX8C$G$)ZC3YyT%_oA*`z9>W?5~Qx|mR(@Dt8G-frP#>3y`D@*UNP`J_Fq>&{l| zO0|0Jui61@d&3FCD7KHLu?msLAhFU-;+di;qD??I%|al+4_B#ibT$2t<|CukR%l8n zsj@BhN|qxj5s#9L1x`RESkKuVveu;sV}kQ*Ikkq`zP0PBqsosIp35omC>@`T*HYlb zgK-C92giMk@BSk{)oz}axh`8);4NNK{;je{&8gs``cFHJ@Ii zeW+Wg%V#2)R@x|blwowlNyA~bFC(KUVlLVe`a^P2R3^MFijfMCOZXb%zjHae&|R2x zZ982Cvs`_KXp6mo&d5&4&d5TNUqx^DTe&U6Xecgtp!VO|T|q-#Opse+t{7R;Cx4p% zvGcS!DXm-5&j}0S2F0et;t3_m15Ai>oo`?6o`Sn2yDP3#52`JzT@&n8-z|*skBG*| zu3=x5sp@mgCE(`fXuO(#v`%)AVPS+iqK96i{i@!gJbsa{! z;bVMT56tU#PE-nGy=DdR%Yi@2xXJH=j)5B`ACI+l05vHYtLt1ylm1Qr7}@%F*Vq4SI`VQbdwrtbUz#g!&rs5gjBm zi>HcL0;iM#w01nS25YVSOZ|))t$VKR%~YvhscIEJ@Pk+-+5z1MS4$g-n+V2mmxk|z zHr6+;Pptnf)VbkVs3vHu%r4;-&dz<|o#FUkyqkPD;e4DbZgbp&gg41G8Qbi!?%n?S zz|Eq(Qncci%F4M4*Nx`%5!FN8YB$zGbF+CrvAQ>Wff9#Y;Uekcyg zlQ9F@3a*v*7jNg=!|y^bLp2Tc;f8Q!!-vqC`VYbF)$wJ26e77TJg4kM89S4;3G?En z$9;<*{$qP8Yf{_iyH(js^999gOVUbGN~%iNR@|%E5{lxdh?~MXY^A(AF-0|vdaC|R z&tjhGmPa&-J{o;LGR*!1nDHm&8Myf@~%u#jnvQNJ`x_6-i9kM2@$Kj zr0Pc|Q4cghc4s6T9TmMK^0I!3b~QbWoK5t{^Wik<1o0bTnJ{1c0lI*H1OERmO=G zFDN32zm&gFqZzsWTx8Q|Z`A$BD~2iTeTJq(s)vebY&4W6-XQ!ToGCdB@5JTGHRM}$ zs^%#3Kr=<%ggmGUgS|6GRiQ}6R>Qrei$p3xZ{8qoF2~Pl%KZhzSI&rVhma*$TlI6P zHxJMH=y+xpr>7>>B%F@_?lGi!g_>u&I74>i#wcUt7Qjn({cN@!6I5~KbK!2%3*stK8}VrAU?fp4 zCW8PYwyFE5pHK&=dzeQ`*^)8FR_EN{iStd$?v)!GD9`I#5H8Y}3u|9B zIQS1lIg*>QY496#iM&F&mj0o8WAI0u1<3Rza(dL6$QSy#%+FM=;s?q=SH)7%4N(W_ zLS&KrzH%|SgnCKsri@fqkna?=22@r}9wdg~d*G4M4&qGV2tg_@46^LO`^;;^Z^Ylh zyU1x5`n!5+*`&h8xfi?w`>BkqAOFU~@ihsvli#JA%)i=KX5R81^}Dkd=Y(^f1^N|Q zN?TPguW!uF6RZ}a(m}Egupj$Pd79p=9nZ@39}N*vE27s%qfrM8*L6SWovPt@AIKx# zCQ1}dmEJ*IcskKm)rVxMkCaqBO#M(jj$TWbs%2D5Wi@Ub~_B@9m3n|LJYWojRz!uHPP^mu&zvQA}j zv-jo3=NA_vl?Q{T!*#s#g2lqc;+9Y`aB3Z>NA%y!5>^@!5k*G#kA4v)iCnLbWja$E zPwCAYXu&M&U@=IT^?k}DBS?D8Wi`EbTH>pxDpyOn3G zx4UmdR;<5yU`7#Iv8+}Xl829Q%6LyjIkJ(cUH)4626)OMK&!XYR zIgQRn@$}X71?3(rB-6&wN3UDG$f>D%W z9ylbi2`BQm@Q(5e1S5s#1&{bL5UoIke{Wb;>nXDpO!oibTx#B)`umT`iC+_MCB>w9 zO?~YBoJ!X==SJtm%q`y1>>c^%i%ZJNE9+|J)t7}k^M{IdODo}<_;KYRDwc+{-SlrF z_cVIgcyZ&A(SnE#3`vf||An%pi={1O_n_m*B% zeG=y8I6L>8|ZKUJj z9$2}&m1?j$jag!79<6WkYm=%*Pa+qwQ`EDGFX$a8NfswdgVw?M@Cc*=>4&|L?^Z4) zM^b~R)zo>lKr>U*Pkl#u8DE6-hK@@=19UP8dI*a6N&L3JSW{RO{|UO(G&E|G#8aNycc4ETu@WE47vdQ2K{%g z%W*{yrCaGx+Eig`qh<@!Rb!;0z|8-IJ%J-+lO#E!tDyUr_?P&51xJN9L`fp9=pm?R zv#_nUx@k?BO8003}})ay~HqxDN>!0pT(A;yATEZUREXz z%kCh4thM}%{6CCZMIKQX(&se+8dX16y;Brm^N^{~7U>LemEbwQ4gVznj$pOWD5OM{ z!qvh%f*THqUf4eNLJuwMW|Z^nWtc#u-MgX{1?Y-C|$wn&}ywbtnhV zODRy6bgB^5XzSO9H}Y-@w}@NFRv}!uO*MqkMMxVRYjUH>qDE-M4u(T*QD!Tq;+>G0 zveVMr{46qC<`E0U(?u16 z&iqcipLpB(pM_&3h|DTIBwocc*WD^t7F1*%a&@sKnA#XeWZX=*q^(Rln^uz+4J!Jl zxxqTb;dI(EXL&3A@qxU;2c-ilch-jLhlTHiw{Vv5lO)%$_tZFDwt*WJ6@4}Od{oPb z&$>c-o~n4Asj?*Ty~dO2%hS51 zwM_4t!81apS>|5W2li{uLKo&alJz67yf{=&R~J?Hsp(sLy6#r^l5je-M?Q!$Gllwr zQFx9pH-e#)Z?Ep8hrunkUAy*N*_bXNLP$2zprSo8bf_hcc!PPcaU?G zI>jZtEw%+!&q6n0HPlx;l}FY8QrW#|Q%@*Nb+PO{hq#_`Q;?4%Avh_jrgT6$ue3 z^m3MrjEepdeJm=)&`r0PenC!DJtg#V4mttKlU|he`rk<+pOC+>BKanzm3#&EXeH30 zJCsX^xr%&zAG#LONVW^l@+yD_@$sTX?WF&m=R?7Vq+0|~16%#9C;rKQl^%93GS>AdCLma8dzQ9QGBLYb}nO=XXo#dTs1BU}vJ z{WEfrRvd9HYHM^>WM9Kn-CX7{J&o$493^j$V(=STg|rxCnkB>FVniixuKa^6ryfy0 zat=8~HCibmZpmL@XMiHn|K2SqqIta6~0D2rq_j1UFU06}`&k`8CPSz)izVdyVv+DFNV|lC%R>fUAA#UY~Rr_vSq zaoMbIL}rY=)_gGIaT=DsIfH9DY`S1vkl{=3WbAA)IQqN)$*RdU<-acU6m2S5Tb5UG zxcY7IM#DluPdH!k-`Rm147(z7ffu=A7@}{Y<7!TmV~A+^QfwHagJwt*B^lCY&|rjz zUsu#C`;oiINHVCJMg9q{!<4YXhBkqkiJWBQ22xnO_va zO{v>lT~_v{NFI3M{o?#;?PLCKN-(9ErkMT&IOR?2lQuWKyUAed?YiVK_$za=@&W}1 ziq04JEGZ~`U9q^fCFg?pcXS@{g?h#;)$fWp5GjegWXNGZX|9Y}L`#v@ z&|}doURFc5x{Rv9rI+#s`4?m^wU4z@7KMefFo2_&^vqOaYIA_4=PW$O_)M*@Uv^Bu zo?leZqp)k?nWBMZL#r1wbQD~c3i07UI~~$BHMEQP5HUI;O}|3NGIi>=WC20r3*bB{ zBmGyp4rsl2q!y^W?!;C?t~{)|M(Thj6{sbuBl09TUD8^l6T|{Xw}gLC)LqsKLC|z~ zkt{(h6GrlGG;FBNDPLYF&Kcxc;yi0VXKQY&u{cfkjBe@1)Rfd+Y11-zfSX!7TX<6Z z^1#(RGJi?l()^2sqEcgJle!Q<+W*i!brdH}t7l37F}R>?ohxt;#ey8re>pcN>>v%t*)6+N3T^J(?bE z{$yv|m~XD%pM5DOA!k=^+dRB5p=3biPr+fFBvBoBev;EN@HXEGw2426aqo-E;edQBxlJ=f*Gxazup{DL#6Cm3 z?moR#`3+A)C1@m42DOIH%YrgKya>reyWx?FcFKQAIW5(Up~sRIxe?BkG!w~%p9F1$ zF(SWcvA9HhS^66^2U&`|fS&#DNr3K}yX9|+=)5)AXMB9mNf+x_V?73x{->0l$w|qX zsWXf(E$ti^ToIlOZ@%wHRtLYs-zMjB;NQZ@Wq;LFhXjHK=}c^u(n!^4HtA@?)<|=t zDq_8E49z186&^f@hT)4)mh6%&EX#!+z-y38Xac@~xJE|NTurh%OGPU9=-<*o;%wmo zp-p%bxXu~EM&d&0Z1^5h1P5gil0O6);myIrmBUMv1&wp%{y)7--A|n}Z2y>?X?;?D zNq&^vB{e!@zInB6l=DpHCC^f?-P^(E@J;sT=3LBgTGF_3bX`8Tv1B6r5g($wqmI^I8QV2DH#zKFB*aZpUXUIw1NhFh<>BgE?bPsZvLV;e9 z^_RAnu;LlQ)`Dh&OG1fcvy6gK!1HC$UMVhm!1dO?Qc}rX#TeSId zx+$e^^48?kltI8XFS71-JajE~yWPKd$~~{WP*$1$dG1ezxnfR4NX~vwgVkWzEs@C>X0z}4ju#l1f7sQlAQ$zwHDt=jHAlvdzwV`Bb5pG zzct7%paTu!rox$mPXb(|l`N3$1FUow$%bL5QhbtMA39s}s@ziit{^v1lieq4sk?)t zv*mWi$5co1zU1X87t`{Ml@^ozz4Nmxlv(H=W+H3dNb9V zj8}eCY{y?C|H!6D)`&I;`wJn_Uh!9H2DA%VhW1B|uvKalLfj?wZEF@+%q(qF)F~gy z)nsL5-nXqbT}eBVqDpy@Qkgm+sL%%X=$xQ} z+d<62qvU>aDpSLH41Y#!Hr!@4+EjHjvboZs_(N{N&LSzY7-^|wr)(QC0BF1k-??R)hzyLSmqGl6#`7!ffGcz@8U?t`DNuu&d}g__>4?cHxqt5kXDO ztIFiE_C-~>`m8INf7sK^*7RE`yOW!z&d$g+XIMMf+Sr!as%^j7J2+-KTV%HIl=#}@ zw9H>#%&YL$q&FNB%!k}^Gno0e`j3VN{TKF-?vz%meGK%dTiICN2yFqkgd!m&>_ax- z7Zv@LBsqvG2eFdsM{ZJfQp~|?!UqT@N(Y9PA#Z!v-Tiq$$Eays6=} zp;>i3YI;{x7DeVq=A?SBIZfvN=}l7`rDEx%F=X0c8DTY9yW6(g1om6@um{;qz=^z2KLx&i1a<|U56yx$!xA(H z6DxrJQ2j-o04%Rkx1tuPUMeh@3h53y|KHyoEEC5_W1wNkHf%3mj7>$7rTax=1*dtl zIHmOsH7hHXW$%mD<*mswIagbXGCHKcO8cC?(C9U}%|(_!t$bUQZJ(`$J=LytMr985 zgnfN;Qt~=BGb~&nib6jq*Q@6;-E`yGPWl!4{`#iu0__2MAQ`JD#wH*x=rXhq zc)Dcln7l-BQP~9S(4`>HK~#$BCQ*rxKyJuJN#aDUMOQ?Ks(v5t<-+d zsdLwQFZuPk>3Kbh_f&2V$%GluboqN#2YNL#P{-5X(cja*VGFd2G-Igo1dIQLtb

zt&vhB8oPimQ_ND9sG3vF)Q{DW`ZyUTI?B(WX;7VHsHn40DiTXq!|zZvb{KU55At88 zeZ@AumRs4-C*%zptD*Apf_~XQ+&cR(^A?cll8n*D&8BYV4D%FA*wV|YxAw9Emtvpi zOv+s6dFy?f)i_sGIHvqs(8^mO{qL@@K~zUgxppOcL7%4IrjKCPGAF2X!i8s}8AvCj zHDW@VVMe^UVkR+2wScm#l{BPYOo~+9i5d8Cc)27KXpvYkE&CbPAo0jn^b0y0RU?aJ z+r=M1=YcN`-w!>n{Tu92Vc?$kh;yU0iTRH4FQdoU)g%Ru-UuqX+S1B$!s53k+NV1& zxE5t@av$;5`&;J6lt$J57VaZ@2pz{;sWR048ME%R{<&eFp*wq>nWtW&>aX~ODbf9) znk&#C`Uj?!-z9Y9b}&aJ6rrA=9!`x`_Qi9dX_A)WE#l`ApEM{F!WWSMx*Q9j0)#I+ zCw?TnCRoRRz~zOT*DbA@TkbyFIzD_@NYB%zvmXu8i2eFMv_d+X9I1>{w8Uql zKOwV_`{+1)iF~bM0ntjen|ef-YEtOt)Fa{~ei69<#Y(41UW;c-Hpni)6Hye)MwRGE z_=}8?7K%5C(?th_`*~LyVrwr{^e<8e&iS4?x7#Yr>&Zzg0{2U2`epbAp#%uHRs)$F1Ae*RNr#Y{_smf4v z!t2qW0TaH$y5Tc$t~^#zqPnKOr4cfHX)Ae1IbX39TL3=+3a_nXm^4#ngWH2V1E>k< z3Gb98OP5OPBpoHoMc?>SIe5LjDgt<>^;!DNYxX+pA!}FbQ_FR8xvA8&-dqcEj<&{I zPuNb_@~rbg#!-$>nb|&JV0Y21ipRk%99Ebj%g6VVR>r~(F!=Oi^=$z*ZKXSrW}uq$ zFh7=uZNr|UMszDahPXi1sZ|l|nfZ`;h&kD;w|23m z*^b)2TO+M~thv^C_HrlbotmR7JX*H8`f+_fUa4d$&`ttPH(h}3Y53K!P2WWKgGNaU zu~tza*UP_SGtere99<{xt=ve)s8P)|%^FQ-(D~j`}nIS|mTjTZLn|SL=SO@E6|5&G!B4e&Bp;Uuk=7J!~0i4w`nD-&x$& zm9`DGiMEGUr{$$(ou$CK$a&0jJKLDoqBymDMePMn2XTK?LR_L^nNzIA&@v)fZ_<9G zZ%}>6JY`#AfP6jH9leXDV=Lu6rI-|`(`bzOpsA*(t9PpI$=je)q4u&CvLR45+#Ov3 zdj0~$8l)XE2u_h1Wu2f+KyP;u&*3!*#a8)B#^#UD9_YQ6S>&v;H?qC42dwkfHkL_dm-#PiuH%kdot2RDI)8BK?CQz}R(Msm7uS$16QfTtEHEr*$7@S9 z^XUZ2shUY><)<(k7)U#|8TigGDkCM*bYUJcAO@(d)H9rSLE;0oD z@2>JuaBt`cv=xp-G6DbYk!%#aX*gE%uq>u@q9mfM!)*6p^1 z_I~#6wq=%b(|Ob1W-wDgL5n<3vt|We6e}w`)b->}5J#cyRc$pYB0}*m~U; zZEvPG{TI1PIal!+-;C9xd$9X>7ey5@iJVR6GJSL(8LRq=iceg{rPy?&3v7oL00p=j zU5l0i-rNIoU>CFpeu#L`t{8^Sg5=_EJUFzydPZ4(!HL{$S?@h&;Fa%LA6Xt)6t-mh zcA%6itotl}^IzuJ|E(lTNBePC6Yn{HOyG5)v;1xFE$@LWQGSuUMC00e-E(#cyF=$- zAWeX3tEyE5@s@ZMmI%U#pCI_ubj=^yYg#cQ1e0`8$tVtD%aNC$mgf-`?TPM0>kt)i ztaCs;aloSSm<%_f!{GwSSV5=o%UWBxsyHEUM$UVmGxL=lu^k6kRBE5^@Y^ea61`&; zSbJI~m{Uv>%mV8v`zvREcb>OjHk@Bxy07+ku1;EsZc?VIUov}jKeMOUdF%{b6K112 zU)5j9C;pKaV>i)q^jEn{NvN-B!pzTFEAvY8R2>KW)N4E+;6W+CqyRb$peF}?0Dpx( z0HtL|#$&tjo46aJ(c7|)A~WY(-JB}2j4qlHXq#1@dCBqA{=nYTvDPuj!E=1FZ?nI& z&9}Zamzn~mGV=#(3;Q=mOV@mNkF2!;c}YXnw1$47C-7Ru1Tsvo)V^YG>1)^~x<ACh$3d(!st3E( z1eu^|@P6brK(jOjqj-w(;f<0Z!Yr;K4ATwNtv~EPe!QgTIp35cA1WwH);Qnl_)wq*qdlmBSP*QiD<4KSrMEESbl=(OKr_$M z(ab`1q4JQT3~!FV#u(0v0Czx$znsa^UeF!Ww${w0Se1nk5r-6h`7Xd+m+;@P zTBI6EkTrqS$YAW6{G8$<$n!I9$C{&F*$dGE?z6hFRo_Z3E^lH zXAW^09c}H8tplxRK^?o;)>skCA@lDb&qU`N&#&2U^Bb3s51M$%(oxu5;w80B!_kG< z$NH&2Gl!XCb&cu|!YvQtE#yK)Ceev(Pjj`ybfC}>&8m0S2A@+}K&V;qvq)xP_IWhEum@!`fIJM^>suxbXqSzF3> zH*gGB*(KVebQ!rrc~Y@aUWorL|CQK5-lww}Qm59<){bPJ&@ZVR)ner=E8U$IYIw!f0RGy zo8#^6e(170_dEMJGaa-;V;^aY2Rq%K^`QOicfO0qEJ~z%IR@Ta~;dZ>mco7IzTO>g4A+#fLcMe zR_YY*@a0$+v=7n;Fnw3-E}km?S8tk83GAL&@KhIpcQsOU~?QqCb;(PpMXH-N1HYNa#Hq1V! z&@04mYDgQS4;w~DnDi5LJv84an`)9Wg2-3IC^=MP&2#N%T@PJ7(}ej)^N;4DCPwp| zZbLUwPa>x)`zVg%d$5;icXT@%jSa!~0Q^iMJ}7UiZjt-R7-cE;PFle`R=>4+WBKrs zP{G8!p}FI;SY|%c z|9@+`MnaFH_NYz}HS!sFKkPj!z~Zr!ct^Qi-ilBH=l`dAxjJ2S9Dg92BiI&3gT~5& z(v+f#{D*16&mn+Q2Qw2h?`Ha3S|@7%XwjLSrd4K}CB}Z=HQCoLu)cU; z)uQ?`9wR-5Z6SLz%h_V!lOGvg>lf+>&2%!ISOdDgmpr9jsJY6_);`sa(&E}e2G_O% zuL>C2z6ZC`5jnWvkl0^R)8+Sa+xvp9z+TvoQF zW?1;M_&Q1`>(oQFbM(t2n8D<7#S>brWWW(U(kI~3&C3S1v+Q$Z}( z<}y5HF@2x-qAF3OfyN{RCNf~!hJ-2xvKgd zHE%1LgG~1oI0C|)$5|VEwchr=_P(Xw*`9W8pKFq{h5e;vkEttAc|7Yd`#;X^o+;U* z3&j;PgY_Ipat{5V?5Fv{Hi>8%@m4=yw_npyeT`g9B2+K+Zn~GouUQPTTm#}1$aIUY zFZ-Qs(3LPApszAWn5iDi6nK>#(3Czd+?RJe$KjXz*Jq{sn)_nCd%a#yH}@WAwr!8)g?W?tvYBrgZEXN3nwoVi zPgELJy*t!jcmrNTl&S~n+8dr2?&!DZK56!}Q>anWTxLC#WA$^T}CCue>cb0vU{4MW@RfDf?1|^hoA3vrB`k3y6N$Ch1$j zb`BAm7i?G6rfhc6)cgs7wK?_v$5}N#b=DS;?If?-z1ca;&e+~t?wHd}>81$F58Ff6 zRbTsDdtp)eqF@PkrL4RBBy~o+LSL*eVmZ1x%}M&2`X@D^Uay`(pVG`{?l6M@Djj0L zG_kYvufcci)pgdkVgAr`)vN_x^(bj= zT361#)}PfM15V|Q_PlmHsPZ+<4)sb^8^tNihq#dltPnp#{6*%|2erp_ziL<0Mc`{~ z(5<#aT8TyY3*jWtETpgepdkxNE0gszG1gf>j)Q&ofz zPll}GH~ivodVONe!E%4`o`UmvGXl4ABXZ~G5ZTlG9kW=U!c*W zS;yONJNLUe{s(!l%P!TW@K-^@6iL)3=7X*yyIYsWY}0(BAx)}g12ch1)c}V_AJcf4 zqq?W;CjBIRB|C~m*p+OIev^LX|31x6C7USc$UmZkk!Oe;KTk}f7HK3}j_$p7G1Gy* zt-2>)h!jgliT>hkZD^2iiv|>AozbS)ZG ztP1N|$6ojT?9{@f%Bi6e;Q}-Ubbd19Vs2A zj%Uksh@FWRxg@+dtG$)3lOP7FoQj@NNFVyt9FJfuvkX?v!jz)>e-XsQd@^I9sYU{r`3I zdi$u%K3P?Ho664BEf-9NGZe`Go<`IO%=K7pk#>b{g|460q9HV6HQN~-@K8;`?;XV6 zW##&{`e%B|5E;=Xa!jN+VhStO%poblgRjRLV;k@R#Boxu2?6!8Lw8;~n)wEJ$*o)` zZ--owyyN!{3+uX6>ncW+ek*!j@OOSpeoo%byqG|{oTpiHyg#}BbpGTG_zUz-#x5(x|M7? zTM1S=*r!SV$I@8$;V#ZQV=V-QC^0)V7X$6i*;P z2olKm_CFtI7-X2?-1ENYJiq5kLY!1wr&dv)$$zmaaGvy>NXhTOZ4LUpLD)w+0m8wo zy#bVK4GslFCA{Kk1$y^PXQbmG zP^P=tH!}NXoKMF9H=jx`&y3GAK7Pu7pXrl7-+Ghi32 zg`IGB-14(QaPTSSjH9&Y{?PZeU&I<#KbG-Fwmd($lsSDGn7J%*Wi@ozv~T z@}}ny+1oRD8L!jwQah)KGbZPpaqcgf@88t;U(`irOYSeh1xW|!4ssctfi?vbawH-} zlHvQX6x3!9ro=PB?wpN&N0qpr*ra$%Jy9a6-Trx^9inEUiMZXC@8ysCTyXsuUVc&n{kIS^)ze_bG&x@i9&H1xk zCmdzA>3K(UPGo(^kOH+&Oo7v^SrW&O;_j8{b!B0r=xbst`TZr&<%i(wNJn%fx*ENX z@Tmk^ht@hH~EJ*1MmHcEfO1#heJO>Sug%up)}$zfUrH4Z zDJ(1y6qXk($**=C&+V5vGHrHBeDam#;c4kv@9l=dptqABuJ22e0Y`5Zt(P8=|AgMd z8{tCu4k85WJOS&5%Ly~C#?~O=h!y!0)e`Nfjq0!3c->)5PWJ*;Mf&p+WdU zcu|}Qh^Z&M39+M}FdHr+I^)OCM5sdY6)?%fnC(%a@N*4N9bS`AJ;Fb&s%b^Q%Pc)m zY$~2xJgYdW=tKS?=c2sLS&Z}t$#F@HZDJcKCi~-;5Gmx5oD|fvKQYEfG!JXmcqRC)u3e45 z&#!n`_P2Mfr>OKz>6y}u5<&5h{2KefoTBuqln=?Al%A=h(~o7j@>;l8lrF0*tE&kg z$mqwJCb%emBYiFVPktEM3wx1$*i51w`G%n5%aEJU1n36bh@K&qQiQsV_L^>;j;|f4 zN+reEc_>dhS+Z5UK^!T0C^;pS$g7~?=r){1?k2Agm+)C&*SwXvgcmu_V^X3_5z_GU zjh=dWt*m-*CEM4djPPRKF5c_=RdA$EbdUVL=n{7as~6)@ zR8)jMY)iwPI#Xa;)d%0hvJ&sWvc@u^Jk6^u%_w-_{E&Aydr?MG>i85mWpwJbbS(Rq zZFPa$B>DOcr6Nv>m@5?WzY>&O{^t*kQq22C1f6KgEqoV(Z%>>MUiTy zwocbhZ_?S-8>rLxRzNK+03Ah2Nby2(qokF5BCJ8XWB2iuBt+rVVR8gE8ghuU_z7%^ zIfuS4(iPr3WDUNpDX#kI+h5+LysPhukLS~s9W8Ar+~l5aUzIZ_b8T8#N?1y}6i(WJ zOjcfjt9eO{?^o^l@UQf7>}foWV3%;JSS%X_hhrupk_6O&Q`kNPhUY_7(0QZ@K1wlK zwN~3we^B2?*G=7v+CwbF79l_6Ch1M_Eb$=8d8tU=4Eh1z1+!t6qLg|}2^21D47^&p zOqj^+6Kjb%5nUJYHS9}pV~xoFxq@54tmpyas1GZD?HN{lD*u)vkb5C(T{QQl6}poDN?`|0X^vM9PQMas@(MLTs{M zq9AVvyB&)Y^B^iEe077RwoP^4Dx?ys>{Urso~|e_pX5y_kru9UaqZdJ3o_oOc1&qV zew4B_ZDD5HyvY26p4rve4R0cD&_6L>u>a!;MOx_$=n47@zX=@kEqn!*jsiX-{dj1XVSf8MOuX~{Rs9Z%(0&eLnBnMnPQZii9RC-<39$t=O#0|g# zi&Rm{81gfE6A(#T@h?FmH!rrH(JS(6Xm9=ZnoHG{{yF|x{=zC*Re8l|pR8{I1Kz<$Z*W_U3U3Dv+N8ifOM4zHTRNWL(q7U{Q5XUQNt)xoQN!m*`4vIzZ z5>qL&YK^L%YEB-&-oabsT4|N2y&#X%g*hPVbXaL{e%*qa_(03*^Zv2^w*JLc?<)$* zrj(Wz4sb7Z49>G=wM^TZob*eR^g88HCd2-?Fyy`F536qyx)!mF(KGfZca3m~^cGBj ze*K3;h$rYqFy+Ny&aXjC*e7Bi^+df+$1r@8N~_m8gUNKKs&;f(j4J79vR!5ev4MuxF<-fpIzs#omM-c zh8vjgpH#WXcdx9aC$~uC7UZ?a%ud;vv@xkBIV{Isng-yL}swUTT2)+!Rjf`L} z8P@Pn0 zv}~GWvSg2RHq-$dLN21ZDPxt7seu%Sic-uWZUP0(mhX_z1$D6l8ATBb!g!7U1mD-k z)z7c1t(h5c`EOOds_ao=D@!dA=eM$7&q_?YlKd!XN%Hp8lFa3{d-+DsS)ajQP&1{0 z5y6jn&v6Lv$u=ND;DWR86l^G30#}1Me*~7GK(7_ER4uhSy~!{hRJ0dZ`$d{2s(A_@ zb`riIJ0jUE=^&c|Pr#Chr-~II)BVc9%Ink(#cT2qk%U2rS(YPg$L-EM6g8Qa8`|Eu zx?x4IrY^p=CeT>DxmsC$0jR0cQ&`|}yvW&@5uds{X=l=}lvkOPZ42G4iyJ+QD?V1| z*RKeF7TpjF3wBBi;s3B_fa`w0R^D`EIZ)1Nun--NPf-k0!P+Z2r~WU)DMMSsa6P4~ zP`jyGybwMuV@nT7_3}UAG{6E*atGB+%(wxY~GQj?RuCY?_`lZoe1&OZy5mfR_e zt76pp8ZSidW0vqZlABOVv<-d|r{iLvoTK17P;>Yu(hmPXE?2TNOx1s$d%{{s6f_LHV=?p7}^>CMzmL0sS8vA)myn!`9pa_xq*65TtSSoNy1FdOO}@r zimIo{!v1Wq2JhDos(%J@odX!UZNOJKtZYHiYe!7Z-$3V&q+CgDNN=D0E$^c9UjCBe zn6hP+gKKj``B9T%mkS0+Rd8Q)EH(-3&uF9u>IH3u!jV6~z6&T`D)*{4YLDp?j76q5 zCZ%z^?x*TI$-pi_z2&=PljJv{4ainZOUxy^DasW?sCvq&+^V{wTBrPn?2Yb_-4M0q z*Rvlp`SkY@cf%?h6B^nExyCXxEhNZ4a-Jae*YhrFI zdplRKptfYL?|OA*&_nAM6U$p8hUI>E0Qv}ZArs+%e7}4?)Cn1ZmEnuXXlkpUY-jg5~w+>jZ%YU!T$`?#Fq}vf8G9OI4=rNuQFr zH@i01Z{OrzQ1r|*z4Afr;;=i>6WPxNA}JltLh_K0@FM7q{H1&Ylm^4-AHez4k}74i z=0Dw3V>ZY$)-+e&sP0cq#!UzZS}va_Uj#wOEwlzZ4JPnR!lKxzY^n~|v{!FbVv5E1 zQG_cm6Q%Hs?7M*S9z{G1^E509ZmHi`KR2jph-!FVKcvQ2xz@9{pshWSeK4aoZAV&s z`pW;Eztz}M9f$MVm5{zm)xKaT;u`Y|uZQF>ITM}-Xr2e%mIpzVdcszuCAtgS0(@s@ z^(Gz1c*8WzJj(P;|4PGGB194L4C*I;Bd>;5AS= zls+h9XC^H>HuthE(e=3S5~yfi?a}aR#z#&|krya+OQ=MCLw;Kx0`;WBe}YVJpa<~* ziu0@pV^CJ7DinQ*M*3NVZm2Hc4Ozztx%UnN&V95sXk#zNB2ovX7;Si zt{MLHN>I_unY*)h<;`}q%@~+S)=n^y! zK8pN>%_Y05W^0=oM5cf#(tOxR={(9L;sWXc?*I4MsWGqwJ`PVp1lUJ>H@Sd%udG+? zR>!J$D&rNW@g;y-7D*_fkUNGo6u9Lbq0S9$8rY4G8^4A+hBXiM4{oiQRbsbJnv={`MpDO9eIVE33=Bn^A-~V>|Ad;t2r>_a@gyP=DE%Du zS9NnWTh)OI5qq%Rz}0UM7w~E9?u;K1J;JUvMmMf&yc%+bO%Fd77Tq|u)?78kn_Lv( z#_XqZx@LXO$WI@W;m&xFNzeA?+_hQUu41$zyEYj1gwA94;p;`QlJ(M3SteNbzvaI_ zLh_-&(e(!_KT|zYzuNTLyv%GgKGE(|MN$_D2|fdbkS<`_rb0E)YIqYe5F1NeR-9Ab zQ*BgFQIA%=rIwNV@dWf4bXoehP{5(bghh1;*M$CRtZV!;>~Xk|79KvVaZ%j^|CI70 zCGvvF4nbaQ_T|jvj1w8hGG1nM$-J3$A-CEww(w5bfq*Q;h}y#(%Sq)|h*n6y$mH^3 zP}KsNUcM9fwADZtpOCR?qkf)gp!u@tlcA3;Up-z~5B#YX`+^jLRZoBhLcgz$m!TPW zgkpr!tvaplq3)o1O>I#?WD|TABA44lC%FGH+eK?=g`s&NNf;GAo0dr18y*+BTi-pf zv*I7mtHOVs!)*yUiCHHzUuU$;@TT)JYBMa^9NWQsrRQLkzy4Er2K{dALLNu-C#Wbc z`zdRbg~@YeCuF&@7-%Bei&UsN`p(8tCfF2hY^QI~j8;8WJRoM{zh5<31+RdHL0Qln zcmaAE7brR^AFGV&pQ`Dqmw=!qfxlaVHHG&}cJQfKCVfjpeE8z9@Nkr7if9ork2X2% zM#JseuT`_lMil>YzjLJI{gV@x{VDTS#`bhi+W7SUGO4_KE@R2O3RCU0P^+lEtQFi0 z0aKhPQOGP{es`0PlO2-&ewu16dV(xa4c3JWT}q_g}`}=h_MQ-a-_;Ud>@`_sJYoT1qfnPhs8wEbz)Oj<6(i57*IJ@ror_KEN@ zCbA28w}l#sQMMlBxl7hX>Xf{a{*ad% zBQ&@($n!qDAN`D1lMbp}`Bo(Zog`BysphM$DP4;1cq-IWJd(Q|IM54`eImL?6h%CX z>=yMlvP;DMupSM*nkH4pz0t+h`7tis@igzhY($|vd(iZY1$Z=x5GNj4Uk2JP2wKwUEYxPI8`D(F> zq+-Z#7!4f-ABG-7PWTpj3tvXgrtSlU&rvDV9n}}q49!OMa%B$D4ADzJ@gK!LWkg21 zBlksyMQw`u8nrVjG4d9TADUg)*1x~}Q)yxmx1go#yKQUE@=R&EB5iWou=LBB8*?ES z9VmT|n#6`eT5E=a{fa+Ryh6H2woJBAI!;n2el7V4{HOS)H zl18BxDV^kQd<=R7J_Z#-Kj0bYpLl<=KQ&F6qExDWs-CDnX!P3inpdi!3N4l;GYEgO z+cJmJzedGJ&58OLH6i+ZbTH~hgd}Wr{qE{>70b#Flxm97+#E+nt|M!A#_O~Psp+Y8 z={Iu_C%q`(Jyx}^t~Lyc-p0DfQ;CWt4blhFV-m;z&UIY}#QpmfM%KMkU~vVp)HW!pzFVab-#*_A#W>YQ)Sd4-X3q+jw|GnSb;pijuB*q;^Q~K~oLwKh~MSZ8h?aK7BPNh?d0`9Jk-nrW| z52kriN>bjXWoHh{>*{h8j`dEf%Bc&44X3wc8~6`|@#0qE3eif@Vvzw<^s>Au8Y2Ey zj?iq?g&E2XD~+R#4-C8YTHR>PUgc-*{Nj`^!&z z=tcWn>3Q_*@bsyvV^bSap^URxQ}bFluN404rThniskG~iLiTN5xnP1&Ap9)&DEJ_} zCSE364d-D~6s=WnHGk>8=v{_;#>d9t#@+fI+J~yuioW=IbTl#yP@oC>3xn~;SUbEs zAyC{`rm2@}H|Z*Mew{~~s_H>5hP~nt?*e-_YcTUd%;}iqn7c8b7%)96^1tw$#z*z> zwVSJ3SAH*BT=FG9#jeirWz0@{l^U5AmHskgakkA?)ElXaLon*Wpk ziT{n?S%3%=MV+L*pd+Y`OrV;pW3?r^g@y~D?;XaO2DMJ6HdFJ7v0ygQ(PVVs|E`LE zM-OAuiAjn$Ws&N!=BRFj;ebJ*XKBVOrl2u0Nce>t$NqbJEk2-ugkogd&U`8R8=-9Fcmn^yD==b zmAjgk%ftD@_yYtnq9c;`@_&&ke6=D|*-x`aH^uPXxX0AnRA)%nJy#E*t`U`3cWe{( z6cb?6&~9ikT8aIBzCBYBqxz&-qz@T78_()PnlF?BN1%0L9se%pO>8pj7wa@@45;jO z#+vAF5gWpZP+Wt%t|maQYEt&O=#J}xEiwnrOiuHrUQ10(Ta~dXyU?a6`0g?I1NHrB zgXn!()$AGEGOmxikhhsXU05d;$#uv+j7PquPOB@l;|;HkVslq>ys3x2R$WScA%74| zp!G|z8|ZGd0$qZogI&6b7@#Or{?z=`w=;e>ZZe2;O4S2m0PL207Bq4b*=9DF`LWE{ z5Yxvv5j{6@70nbrIrJg8x^^s}r>3Qrg3S(1ZnLcX^oeN~|92PB(M)@8U)P50%LDZ1Q3|d9ly2dW`s=(=rx1PA7sjjuQPlc^aD%}D-?@yT62%^+6eZGno9HK-;i%uKH;FQY4nCjGiGULK5N{jf2}>K-mQG4 z=uEot9(W}FFV+G3eI>UMQ0rV$t0Xmp^vjH^O|?eEP^qb=`r;fYN6Z#x@{GI-+&!Eo z?1QYtn9+<_dS+Dr$P={1VH+Ftwc-9Q<<-Rx^Itoxd8t{M=}D<+DeTmU^uAe>Z7uU> zd$j(A^`h`YQQH}RF#E(B*&@y^?uq~18{8=S0R4-c#8*&Bnkj&r#+ilYYU5Lb5V*QE zs>#$7GDPeo+<0evG?su4LhqwFSXV$Kh$c?o-+0^fz%|*X`8QGJ$>3o%_QmmC`$&SDW@yXOw%_aQ=<8xD2bGB)h z@gKce%T}vjLK4jXVr>PHXCHePgbSVKLf8{}*vA>`w4>&AX}_<-cxbk?}P*#eJysM#bcsll9F*-)SwQr^L8f2if@?IqxC=fRH0; zDnEtvBw8tbnl8X2|6^`#9&1W6K!EOdX=bXMseV$66)D7K;F?;ZmyiPB=l#Sv}?ajfpGYLvo^Uq}9c`pVXclLah(e{MXdKf6WjNY*{(H#Nw&nrh(vx#LWt%FcJuN$Z`mE#GIkkD!E%9_KO%x1 zzOmtM?R0-#xwbSGxX{Tt57HZw$0XGx|CPQhN9vqj80Q&Ofdm%TbHd(7e288gBV;{_ zjo_T%p5?z1{(j2ViXBqiRr_^j<8c$mtT#-9v z*@hxS67^Ga+3?U@Xz6F^VzL-cYkR0iQlp6Vs0~782gLEhA^c))kaLbB=kVB9SyeFz z<6~46?Vr%a`pbc_m2=B(7LRog%o~zXkkJAit$3Njd?!M(k8R08??1@u^8|zH9noJa4Gh57KYfP1ZK5 zqg82&4MaE=fN#J>h#P-KjnLcy`n3;q{A+W2Q$Irs9YZrl`I;Pz(P6JNQ@mV62|w{S z^0sn|IGZ@9**jP{j8N3jh+kpxjhE_<`s>SP7jYa=jxl3E+KF+a-=eixs3r3e7 z_06tss1t@NX#S`>j7`jktW2Oy6mPq5rgS&F3g1DcslVwC8h?P5Uk)mI$rui5I^=(u z9#V6a=|p#|1)@WypiD49@2Z9RpI|c0v2ZOe(`h5upw*3652QBZi;!?gD3eL*g-pRe zd@=tGuQ_iEr)TVzn2YqiQMV&l;Y}Nc)I9S|EJ<)R=1$03m!6Q;DScDsy`1BAzgtq$ zShlvRU+ve1yzuy_uk^Jshnc5YL)bsL(ZXdC9VEaq6&jGI-4Ji`n*yd3lf|^v7->9X zXm1efZ))x;XOIuDQsl(%vyFI2@u&K>?y%7cCVi^;yqRN807`GwXq8>b16V#hLVj8@ zL)1z5QE*Ja7dUxuI1gf7VCqLOtkDM|azhj9?p2QTj49CC>#}=iK25)u-Y+vcXN+y1 z3oded7FWavIs}Wuc#&J9pU}I-gqYuATXR$ST5)grEi{olsyeA1YS5b^0X2C{>rGui zOfkJMb}`)19#-uEZv7lufSg0`p%QBW_%*uR} zeJZc5vpWA)$-8o6^?>>@A(U1X>4<*7z?cVF7uYv=A)!Jx0hvh{mAf=g^cltnrn{!w zrW+=qc?pOcrjX&e?v}b8B_(Q6FLDlTa9JlD8L-&uPJ zc;$bw8pt6#FTEvcB55VQDfIEVysw`-j0*cZ%6j2)4eLi=lZl|0Xt{Q34?IkK#i znf}av+3R!T?H2d(;typvs$y$fHdKZE9pQ>vNH1WVV*ZHT%C!srkwk$RdV*4G==yxa z2V*PKJJU#Wmbs&)qveJ9PgAWvPg6!cBDQ0>=y{Aw)RR+`(V86HMq`0F+k#s+S_;g0 zU`8nQkJK^LO8h3W1R5c?$_7YN#BD^Y1=n~BxY?Ws95!cfYy@*)^qcVTV2ZzWnW1pH zb88-w^DwJCb4}KeoH$#J^L*hYPmhXDf%1AyD25gd?8)y}J=xEqI6+=elp*t=?G+03 zOYLm^D?=h6d#m}Ld5k68nroSCUT^rRNu_k;V*D+(21D^AVjwkC-9ndd2siu8LoH`4 z?=0;tM@%;T63ttxC-D9}WFIs~-deUtoNC$tU1|la$_C;eOEwt zge7R1ZgpB(n>QI`+7#tdlE4$tVaONgr|c}y`&vN(==;5ZO=EeRxm?ZxWNV4>SbBxDn4HdC?hkk~xF@f&X5N zK##G%0SV=45FKAX$xv^sHh-}8h#O|zVXic=b&J(4sq@4c>>P?=QN$cYq$)z=)aL3N zjStP8te>n?tp(;7W43mQ>VYDMn1&BWXTrVZh;+30sj#B};@{@|;x*&{;wiaZVh_=K z&<+RJR@2L06t{8zvbl3;*?F1SnRBxH=Z$h^6x=R7S>D|*sXZ0sgnEW2()vesj?Q7+ zXWikVqGVYd+KvoUrm6z!-P)`AdLv=kW&LI)t?6bapv-tpE#)U%7#q~H7C%N7Q(o1- znx{IW@q<|hjwjE$%j`Fpbi396DSs%|5CRNA#zCEBUU9lmC3wi+!T0g`f}8w~yrpbm zj50E>@nFpXpSDz9Ksx`(lV`ume4fe7R_E<^G|S&t{M7rivR{B!AJs4>)GGWT?N;Q8 z=-n|s_DeyUG#bgmqZEmhTcy(O*IP_wX12A`deqv&y2#wqkf+(H+(s_N9oTv796pFV zs`yX2MO~%!8}6AMR!iIm>o@ah<1xKT`;TfiwUK;=??l_cFJux)f$**X7EBX-6tIL_ z1mpMt&KTB`=s=jfKD+93+4G_gF1?MHGb1Y|>r2-4oNcyouBf7op3S~t{?|1X^?OIavPWhO%gW21o+om~7IZ85UbdlfeBhtD zQ^9_XaiIjTPd`L&WF6-{6xB&b!E!*CCn!RFLn|;0Fb%MHtqF0mxS5s{Mz-#ribXXi z+Y@&{t_02?ev<2z6Trk30iUY0js?^Hh-sz)%zsU+dYy8oq5?mGxa7Z|#XTV;g#(2S z;Z@O9(HbGbf6LY~_eQ0Lj@5ChqP&(Op)1VRD`#_-HEVVD{alxQiu*{>KF~F7ZLw8?vdq!@wV=Qdau%} z7(>3qGqEe!L3|upOWD;9-34Q*83%c;w0tz>8^-Ay0b#!YzWN&xKs&2 zmvX9dfv^aaPqrhZ=>z`ERkzw5&1zW$J3|4l=cAPpfmN@kA^t zgw9LHNixMLVufV0-j&5A9;uQW>s?i@2YJzM7^o;Ot>lvj%m$~;Y-CS()my-5=P9RT4=T#j+r-D`^F85 zn`DJ8BTNtV1GKT~d(<}a9X<)0fIYzlinglW+AsPkrf=qn7L8>YpaH$4_vA6Uva+lC$tCKsraSttDj_A zXnA4n7U!^@v=o^x8;zFPDOdWZwIUv{@kS~#QRjz>~Hrb1C=t~Sn_GgdWY}+H}r~Gq8eM)b53(N0TbgQcLpRJi6yc!lC8vZkFv<$Ouw@$adwD8P73|8F>)ggtHm=4J48ulNNK+RLjb#6V!SPDE~fAbwc z&Ogol&D~6-VV-uk@;qR{EwCCW{d?(n=^1GcSt$sY^p*IQ;9t%j=EA6iuzvL{e|XuQ z!adFnc~^4!=gi4%Vw>z3>+V%JrsStbT{f>g)kjoK3hb|69Fj+jj-D5DJaz-On_#Q> zwj9Ia6Q9e@EOL9QyGl0>>XUI3tAUnElDbE>g`uvQIX^St9E>YC#*;006N92 zi~a4GgtA%4CgMNkE6q=RPgAM6nKd2Mbgku#iEWs#nLzC%hG9?8Ggv=juwuP(uX=&j zudC9tjCcO$=^561z)s&l?P=;&)GNY{wukxhO0YWx&+#IP!& z{t5kATi`1$=~j^Jn4Why$C|S@x0U^0=bHQ>g`bP2m86trdRe};RhfY~^_@fgX%z5H zdCa%$v-~>oB`AbVQpnT`b-1yY`H|&-)n_$WXPes^4gkWGkry!m_5kzXSIKH>l=`hE zTf0X`8fF`JnM0OkRw>Z>7skH&-){LJIT{-e9MfdkSy{4-2Tg`D<$U>3X$|10w)`Y8 z?{%~sxj(y znq=)r{WIfi^IpLB;Xvz)OpgqmbVhZyVi3LrSp_YYpObfh&O;NRpj;yFFPjeb=o>+h zb1)_*($mnnW|+@geAm6*J~q#jdmztb&u~n2`Q6P6#uhq@K9&&PEZ;1DV$HOAL!&et zjckZs$Lz!zAUG!J2-ESIihU}lcCN9vrE^?#{GV}$EH>jp-7CN&Zu~sp`tHP4(m=&2 zm8#)tj<%h?rBP}gWeHhG&~@o%z3GU4w8jDWej2(H{t117K0)&#GsFUMS^ip9Az2_w z0Zh`H&I%t_*Shiw==peOnT>9Xv`Os=j#thvu6OS1`O3n6#S=Y4%coafsP0zVJ=i9c z7ydA^H6zHH#v3N?C?Aa&i0jmRO|4#S9&3FRw=%Ai^@u55cS&_u5kXAG0BS&$zmMR9 z2@d&?JgK-qHBlKfeRORNv8E*;)BBce%W_N5G{;b&aZ_gii%vog!Ox%$P(ThrtwE&8 zeX>*1zr}L|J2^*U+_bsDb$-8>Uo^p0VjpK4Wvj6193ICgXUM5?zs;u=oi5q#?c@8i zYIUGBX07m3{<(|*cU>H(ml<%Zs-UFHnSBI^+AS+mM;Q8P`sj8x)%fn#$2ubO5k;eTJZ z$k)mWCBsDvc@J3+qHZ=m4Xi6aUhHu{bgZze?KADi?f=?)IO3hHUBBFW3)sbR9(uXB za=Sk*(7I01@GI;?#a_tzLOgW zH~tboiQDk$#6$7~wL}GJC|!SjFXId|@BpCeMw-tUCThE@7AjKlkEjw6!84%FAf`ej z6b|Ld$IA1h>%<~K9J>{LN7&9mE^SzJMa&oWIKDyrRz^qfkbHF)LzWrXk~pb#i)osE0_fs-ib3Qo zVmBVbev{~2(yQpLe5P8Yxu~l%ECW8|j#X?uWi}hv>8`3zP#SVO_6>Oir$ZYc9P|+m zy6Ja6CCj+dknkSY#I!`*s()7{D=RFTosYV%f=my9JVo|q_Ds9Vxy~IdxLur6`qkUg z_o32LU0y3`SR5vdETOMt_2-TfK$7#&N!+6>*Oi!bR)_VgWxeUTezvw$)kyXrMA0awW+;jh;^iOwPinW^s}`;RpS6Nzrym63|Io6g2qAZpj8kJ z-U4DA)Kl6_IFU`GH-=g3=2m|7?km1p@SnTRImD4+>t;)^t*~ErOmMZ%Z&o<0cyQ@V z@1gRpmAk9E*6nUU!k0!ar1xYtXSe0Q5NE*W6nx-D@SO=`U}7Zw6(6VZn0FDyoNox617Mxg>QZQW_0iHYVFX2SGDUk~y;OLbC= zBsUQ+@isV&uloOP8n2$E>ul7S=ULJ$Q!Jy+3C4E%Nt&0+lZuPLQ@246!5g4_c}qwG z^Zxg$5mw|6Xuo6$zX_{JWLd-anst>O%6gZm3&*-i=SBN18*JNXyJ;6VPqZh|4s0`ioA{;JteUNr8(INpcii&B;xLO$KlKx}B6XDVCz*&ZK;OfUAq08` z(FKRZy@7WYB0 z_5+GGmVEX0t>9N5s=ZimZ%7UeryYr!%6!4)NJhcw#7GrQzrzTbADF%yCm9CnaLr^@ zHML1Gk)(*e_!_J&_7-bTOj5j24%X21tBn7clPwv5S;I`V`mwrU8d9}M(TKCK)(9O; zCzt#RR0uyp>wxyYMOw%oiaKxuF*OmL0gFDad{K6+q*Gxlx60YV{?K;ccHCaa7NUkxVdRZl11R)0z0Yi;}bz6}$@@*>(YHnN8azsMr-G0NTAQ3lww&{S%?VR)+J zYsafUDmPP6ic^FJr?3Dz8cW4{kpED_)l!|`(A_KtzHW(mnu%lF5B$nKRR@Yg(r_2z zgVdnUyTRX(F4*rKvj9B-otCuaFK4Nvmxsyg`&Ym4UG*dv&B#CF{03%IGrP?i!tcp=h$Fu>5vqj{isCa;-RcvylcIGo8iaCrYxAoeH)_r*CG|o9-AN8N~Y6 zTAej9j909}yP@6S zkf2xCvVgAD89|cC)PvB;t9))f!b*kFtp+PYSYJZbyzi-M-S%=*V@f z1hL*(HJsIV z*Dcf3tNv7eRlFj8VCzv0T7hoER{4r7Bm+Dw0on&Ak zxC(T;5?PJ5!CMj2iIaE&`T`mwspL;&f27Ap3~SWao~j)0jW3>9;BrT}6I_>_;~Z=3 zZSAM*6^;y7mx2Su(*QjUt!Pqp(?2D!t~Ndx8`d%sV;Tey>) zM;xc@h3>YO*&MoP=BXRlM`_<)*0Q8uETl~ClylFV@fCc(5zeRfG+VOmg+0&NBp)tXTJjyxlcZu<g^EVJN=HK@d zbXI37NFo}$j*uYFc8 z9{Om&_A%rnpz}&32RV#&Cv>Ed97PNQUAPs&!E_ofu*Y)gzrvF16RL+-Y%MD(-B8@C zaF2VG(`EPA5`l(t9E)7~g7D&NrBZLRGPt~t?`6f;st3T~tqv=QR{Rwpx6$hKW@E_I#xlop#XQQ? z!mw7$R;?t@V7*ZZDI~#0Nmw4H^Pf#l|m(VJEMxGZ{XMds;cp&cpFRl z7H!Qx>&kNUvA45Lw!N}*T#xe;idK~j@~rcAE$dyr$k(FsjsMTuUNjY$`&kB9 zW|)T?yX!`)o{&9o5<{>gY$9HZw&N?(V*I>fTZp+N}!`HxdXCAn?EK|2^}( z6w2+xbY{+(bCPfq6qAq`mX@WwqlrT=;CIPBbP|)w@bqVL2T&Pfp&sh}$_(XdrBAt2 zbywX1YK_dn-Vzb?b>OO3@r8UD_l_AvEs?Szi@D{vZk&7n{T^!r`zS&XWeKzSvVxW-|sw?g>#M5%GiS2;NJ2JcICX^YELoY$^)jL(ML6s(e zQ>}Wcc?{U;5`K-$qZe@@+QwR(zsXD@$75RfZ%r;>_f@I|AO@=nRVUS5H19NBG^>Dn zE=!%A@GQm|c|DY??N{}_{BUVKPlRiXt%G@bkt^TwbLY>jd}qNcFrlf|XEwJTc8qjz z&dsj##cxUs6(0gYA>irR^rYPKSFv2Wmm7Q_*6Q^!#O)yGfd6`IDg#F(w{R6x)e1x$t@$S5?f!}E|9Io ze$F|pSXf%upH;IXq)+7Cn7s*HYCt|lvl0DHT%Yu7+Dwpyk zn9_LFuSZHIB9ri))N1zEd^$KKdzR`)%)y=^_27RrS?YeOU-#P?s2;8%AQz;C$3i>Q zbrkzj4T;lZYoq#xZwWqG6IDf(hnJ+fBke8Bw+rtAH5!p$k^i+Y#kDL_py#t6#Il@_%WP=sY~}DH{)l}PmH8XdL_s zZVVeV)rx58{-k>GLh;6kIibJqs594}?aM8G;y7fsf1#P2t>L9PYd8*VoJr`77d`_(*~|^^>9n^ajO=2~;n@p%+MsXbZNI6#n)8 zB7dqT0DhXM2vOQpkD$@mXR?&ha$mS^+zPfibBTdaWuiBLl^ysldLqSpg9iW;2GzLsbmfMyB z%K=Mc%Y4gQ>uAS2_qLK<<%LzVf(+r4qm$xCCF^9J)x(h8_yh7C^@$3lE)#ZaBpQXh zh8Afw>Iuq*ihJ@_iUFz>P$JfYETOxy7&nx&vY(hn^dIC@pk2>8C`k1tUX6P#N{{>;)-zaA^QT|nt8t6$O7qmBh{EXwM+;6D);Cs| zXpmoH%M5c*bG7+|b&tK5tDDDGI?LayW9e^OfhJr=t_KwlPH(eJc2`pjA<=aj-eU zQfQuMP6G$AFxCgQD~>Jh`6Zvrdsp`r>&kk6N|Q?ymx)J#K8;%%rg%nJ6`^9x&nx9UajBFEyxfeUG->7nile19kC z4lG5D=solbvJg6@V&!d8pC&GfUl!9Zdc3f1NY|R@6(dS7yYJclG@mP)RQRZ{ld+qL zGOq(M@%Klsd57ix?|0++>G|fXQ|YU*hBzbd#MUHkl)h7~K{Pl^ZXkD%o5^8h8rdC8 z=@+=M22xE^JeRjud{dH|MC2{@FVM`T%pe|;;=gKlX8b_`9wQ*%py77wfACnN| zxZ!vF`ZL9%u$pc4oN2{DrFAMkR=*Ua3qOiJN!o(WH-rBJnq(8PkZedzpm3_1kmE~{ zSZJE+ilP9_=YD0r`Y_xA+ea*?S~1hudfWi6l8t9u(+$WqSQCVY5;Pyx%Qah}AY?we z3iD&}m>X^gI)6;|CiOwm0!e6WtLVEzNr<>+dc}5c9p@Hn6QJ;a7(W{qnZnE+%xge& zFjFAbn14M&u6OKmHS!ku8dg@+#Dxxt(!>u;`Afb;eI0&|KEV^oj?`0X#Q%772J}UB zN8yk|iXO@tYAYl~C*g;H8n7|t>`bmVm(3vSn9ROJBYnxX3d)qyl&e<0()&+#j6DB3Bz zsOGBsLxYiAOit=)2NTX+=L)zFY&0V#DeN1(0U8LMgr>s%kVWVQOpnLm6qbzK(`->4 zR=ki2q^DC}CFaL{j~*I6FUV7g`Do8{=StfT%WLxsb2->YAI#m&r%Y`?yfk$;Z!*`j z{IF!(DjkKz4SZFV!v(E{-$chG=aNgM6-pY8#gt?&HHEHA=aF6Uxkw@4`g_VAN<#Us z@{{VQ#s&vtWw?;aV0^5a@6K~vG}D=UirqrSz>lCu5Dljz&ruV$4cFrg)(Cozh;2J(ClwznKjg+n#HRgIN#%Dhpo`1PpV7G zfr@#u6RGbKsW?Yer?4)y_x*=U=N8v-Cfg;pbykO^sb#A<-Rv>No8!U9Hz3Y{&p(+> zR)zD8$5uAHx=!#d;T4fk(kl6mbd@R|aQUy_w{cTGz@bgBSmd(ip(+Qcrq{~psz&O| zn%=M#eM@Yh53*+fl1%JmW*-#~d{q#lfbGyu*omZLeeolBbG$D09vJ{vX%aMY^%Lb$ zd4AeI$^XUo6Mq%f3eHx2^Obo%yM8#j*p)Wi+Q9P6yuv)%-1>Kfndh6Tjnzh@smv1Q z@VHz1CRBQB;jrwe;uuH5;#raE9#Vndgi)jJBn-(wixRWORf2m1ds8$4hg-)j*kV0Z07KdJkdFT*uOpNNB>LXD0BherD z9Lm9b;TH3&_(|L#MnwI%2Uc{E*O@Xcc8NPkqGWUAt3HuS-C+m3->#Uu?v9Ac~ElzM)a z!hUBUDr7ZqOl1kz(jrwNL`bxvYN!wzr`*Ixd@{Baxdb)VNPxopq}r<<3Ef8q;Rw(p zH@RwFpbg{8m;)3<+y^=J#02;o+(1kxt`b{_5}d}HVY^W&x(S(r`~%<9;Ho*YH_6p; z6;VyX4hMa&swkga+SGHzwcoMIe#X|zHXEFJw#inFWvZ!z@o3RRquCT>_1j7JUGKtj zNwqVG4!;wf6W>3jzTza*6R3NJ0(+b~L~bFfvEk@c_=IMz+6|oLYIO)CLylqdNiDOD zv+#OtI>_@PwS_oRY99y#d{w{N=XPF4hc_qUWJx)di_M$sId3 zs(#q|AhNnnMQ|zUnc_O>kURQ1dN~puk@kb2p4&{n?(7_4Tx0BRuC~@X*y7bCQRVZ1 z2fZG?NX#W>NM)*Ruo`%J66mHm)M!#hY{jM^8hE&7h1#eRtFNgSLJ!btLcnz7M(|hp zEnHXj16`jo5(9`jAZ`&GfHuq_dysC>c??8Ld<^~^oF-Tz(nu|pXQx!ezZBVppMu3T z_x-HzZ_gt4MrRjiN9Sz^?Pz9?v-P)BnLZn;l z)YSOyDPQF8G^>!?_(#$}RRQI6j#vhia6EDZ3f6p4El{-s+j9asl$Zy0d@|TbZ@BF& z$K0W=kv8HOVIwAyKC(BJL}imti2{5i$nqrKiI_}uA~3u++8+`qbJN0;4##eciV6QS zD6=Y}{CJ7LbHM%9#kZ`%0 zA|A(XO$w5=SLML(us_I6)H^DYYDu;w@-Z512-nfPQtedjQXho&0%qz!_hQ}LKwiXG zv)h2OC#he(o==8?$v#1i0$=$F1L%ASz||*W5IG3U!2;|QELMM&!6_#s!^KS_48ipS zyDOIX1SQcPVR450wyUnIi&N>yvZYuKm_8Wa8)pMeGS)K7+Qja54)DzPy{w!TlrB6h z-kngBDp78Q+GCfAALQSl^D5AL4<3)5foE#Es>SNN>hn-jR0y0>7<-88z~g*9E{eSY z_QHGeJz0mk1-PPy+6lfAlYbII0wqp>NvK2hqdJo;z6m+3d8*iz7LpVc*EK39^m9#K zrMNt`G}-&87%hJ19_LPT{kj+BY@kginL3&#fKC6^e9w|*OLPoypDZb>cw9qT4vj$p7ca4$6?pPlkNzJq9Ecn^UraI|8- zuX)KlZ-GbaNiN>ty5Klsi?_Z8+cU@X1!&QM=DTLAB^k^p@4a7ku&S@%zHmp3Bq>As zM5zF}s4bBM_UB*pcB&k((=CAcm+FD)k6=DmAq0MxOaPkc0@$4hSH-w!JKf%1Mwaa1^Y0PlwOf-q%v+P=hYv1cQXgyhuJsg#$;`d*fZ zOA@`GixGD-=Pdhn>wKX2&H@!}HZ1`@ubV|76=Oep~$( zS&Kg+)9KSRMgL1~#8c2vxHqUMrx^mg#XI2W0`v=ZFZUSa*`Hm`dJrDoZ7hq;-%K}60aJu!qII8ru4{ysC?63>3eAY}$A%`Gr5#nX;rk$$ z4svL(-Q88| zxN09{Yhj&av4b2@5V__S*8l8F+zF-c{VhP}h0#X;81Vb)p56Cl%98L4=M(z%9bFEn;V`NsdT5c-%YBd|d4g$4H1iha?ouhhzX;=il z9|5jf#LS=z$PTy$9;uv}ic5Nk{tK6coTwcZsH)7V7+f~F)aM=Ux$LG~w;hx1V{Ox{ zXDlZ3V6z&WwHA*p*5&j5TfQdX3_cU_Ip%btJ?)3G2402_rcCq#=GVUAfUEoomq44L zHt-(gE~Y2%(ks}%xR%^$c09X=EoQrMTYiTD{EeBZrTfrjR2kI=^rIQ`kZH@F23M_N zDX_gplb6wv>h;o2iDP4KM6L)^1XtAPtDXKI<)LN5Qp!84xY)JIIoi?0-qqIDTF)}g z{L*yFbj9qnraCpAj%A`Mf6%z_Mxr^AL8+$|=b^*cGtx?5XQa$>Y9CNUuaQM?E))aL zLh`XGWDy<2&R`F+``No}5!;em$vHTNXZYh>DA$PX$^1)?r#sNubO}A3`NRwaS7G3q zhh{~YV_PPTmhD$hK(k0URS9PF7S)I(0OlJ5bshPxugCr;gDY>azn;hcz~^zh znF_o!+)^2tDo!{o?iU#wwqM|=xmTT1xwrhT?_|kk&%|PbyS3|?42`kcSl{PpJFCq8SKDrTooE(W)BJJU4&^EXu`s?wA z0idTdnd?jq(+E@*1C`?WDSQ{+4Q62>dz~qv^L|Ik?=zD*$Ts5JX%A_y@{8F+WJh$i zIw0MgbTw{W^l0Jg5NA+EP1~x{irlhKrFXr9Jgtip+@GA|9nWl4mU+O3d^O5Vt<9aR za~*JT`_gOvdo@sKUQ}(|j+6rVE6oK|Ps-^!fDf0EEpZMNA=}_IWB~dC8%zYq6#5C> zo7u^zL7u0`VPa1W#n|K0ezQl z#XM&^u|D<-caVR?ALIjE5;u|U#PaNOrWLc0uA)AH>((+f(Eo#V?{wXD>-bNMlSo4@ zDBq_YOS~65IQp$n70L?YYSOA^R`f2rSh}O6zPA|k{*^PNz&ZZg0iN--Du|;6J z=7=p8_~eyuYnO#Nqff#IKfleY#kj2PYbOZJr*N`#PMZh}0 z@Eid+sS*DU#1zo?F&xGffw@((8G!LmQLDh#KgA5-q}rvrUiuXMHf8MaH0AumkvIVh5?B76GmD zk}d<)lJNuiMtl{Q1Gs4>h}VFFLYY#k8;DO-Po|oE!T+gStzWC3qiew*p%>!Ipr?w* zsiMTZ*#DwW3qOQh51JGBRynoepE8NBsN|iufv1&Q>ilervQ9MjFda1ZG1eOAnDL@J@hld&xHJ>o^KqX)5(_!FEV))5(GL$DV; z%nP<2*r2nyZ=9NM!Vlxs{A}PzT=X5vN9F;AzmOirj^M}X;tksk@AXz~45y>QuyGnn zQJHc(p?7SnXh-!bDqg)g}o;w8Kb%C5hULbE#rOaUdn65y--SAC6PN(KS&-#pH;5rHnDm!r>1N>h`R51_H=G3+$PVA*I2+8f=0s<9^6U~DmVA9VjBahJ4F z0_G?a#ZF}3vfBWj?(_S>q|OAW4+op92bl}1zLYx3i1;e)68$JcD??*_xb_QELmWg_ zsGG~rr}!m{V{#+=0CqCeUZ}oa>91&7zR>rv1o9>pr?^JgXIZD2UmHt{9v6v>Z;e%^ zD$85@0JpRB@5+w?Gr-cSWUc(TItT879zqYGW6+W46V!oX(ASQb8*7z>xDu$LhOI0Oe&ox(F$9HSEr7x(czvx|2vhjxTPxA@u zIA<52Nru#{4$Bm`NQ{>5Ri4mng!>_O1VNXeFHsjbr_izJKd25X$J7K%T7k2W0FAki zY0buP8-W|S0U{6R=ecw!PzKF_vL8(b0Ufx4|Ekj&44|H8w0*g38YQ|S4^<;%x@1rM zzoKOkM?-fA9@ng{URimeBBcC??{mp~Pm+5W;HHt5Z>D3$pG5J{xS$~Cf<_VzPw zvF}|~TF8&6`jWWRbMjo(e;N!PkGw^iqgHe|+8q6k2v7uk{uax@8v@inAWs3L9HI-D z5nzjV;GMi!`w(oU8T1XH>Rq@MKTABM4m0QZ?YcaDjA5a^r)~jHvF}L++omayPe?76 z%!>($`YSv(WO*$WXkGQzUs1lGY+7j^PAj`SP9^^YR98ADE>=HhdXh*IFe*ZGH zmsW#3!M@?Q0%zZq{R-6P0%8Z=0B}PyYAADvTcW+MTd5zT-={;g0`3obEKb9mswizZ z*z}`C-6G;bm4bUUd#fFl_5I3n!gtm?qBz7Qck}=rG{@B6IIieX;jqHRh5rDs}`~sd#>?9tL=co)O zn|;aM;Pu+qfI<5*?WqA^li9IJ_;%uN>L&A?o2`AJTc|&x*XWOHn{zz<7&pV;l)&XC zZH?<7>Kws`bqh`iDi7pV-S-!j5BF^YUL?kiJ30G6tI0gTT^DgvE)U&voNm^;Hf=~~ER>Cd7=A4BjBV}-1(D@~(5L<(t#U%JPTt@sPAi$-G z>^V-L?W=tU6!TMN0dx%-GU9Q~H z-IWalxx%yJ1__5!Hp!kTyJ@PSAS4WECL?TwTO&@SGkO6{#rk18F#$dt^j1Rtr0xL) zcb8wHZJ@PrA*>DLISHSI9mWRX=ZNjp1ZFokQu{&oK>rw2bg#BC*NcuP?!gY_jWloK z(zvlAUF4&%*pQz=yK1!64J)~dCS{SO8$D~?VL&&xwYRWdHW`Y73)1pe<}WMEG@rE( z^88g^9w-gn5!ET~Ln50-DLSYn5D5>3*TQe$M5Gt86_KO!(J%}J(F$9EY4P5K0yw{N z_B=lXB3Df$K?@Zq2UZ6*`UnFMSWNmyYmJ>|Js%+FY|%zA)vJ zL=&rvt`wdN6$bCCy%V@mwZXrl{8OplOMC9Pr@4MOF4*3gql}{pvhvydi3RnIU98Jo znWZhNj6t!&&7$d&^priaY~?cbQ%x?Uh3CTu;4owrB1R{nd7!2nL0mxlU?=g`B+%4s z3oxHq+JSsFyBauw0Dc$?2JsZr5kskZ%xtckc8zYh{q<|>JHkq3QQFF+ zCGnZ!Tak;xcZ3`lEUj%3D5#WHJn%V6&U#mR27>PA+V5E+O*0Bd=evI%$*(A^Hg|U9 zd9Iar3YbFZsM6SjiF4C#$~&rjYMbUX6bBE03*Z%i`zN8sTf1n9RQB-#!oQ43JdO^|~~1^NTeq~_87mHyTe?k_5dUWV?)8_J&nyFrc!@1qc|-Ke^!Xgb)Xp;)l1uez+Z~$J>!> z=wh}$AFhqidbk;&^K;3ycwKA&`isTZ;w*4nBiK!RC*8mLI)*%bAKiHVGINa-VYO0vZ=5E{v=S{~BTm`VbggHO=3=qC@%MvJ9WRq*rmRbCwE-iPX9w+pzp6Q(hB(iEh19k z&B`{?smU)SD`TTXw8g;`$~hnpIzhZw55r$U14OwgZ!lh zTZ%#~=j!_NsqsX!uX0Df$3}3e7|&!!D>ZoQ!-! zDPjUOl}X{2@=diSzLdMkY^UB5S$JD)Gx`@Q0}8t?nN4$C2EfuT(D@3zR=-&r%H1YG zZ!|gbr>Py1mdCG%@kK2b4hdNm)UIYxb(g9EmA(92MXR#8B@>J5IGm>dJVwWGQ}|_CFaPVVzBgz)i4u0~0l?c#^gfnLIDu-;dzW1hEaxhIwk*z z&IU6&PPJ85n{p@dd|a(4EV4ydm*5k%`GITI@2V;)SNN}$*Y!>G?sv_xueE$Io-dqJ z(5m3Sg6l;$%(?dS#b~)AFePMM;5jXlL{sx)VzvO2})plda@m=$0Df>6-Kk zeYSQQyMx?~e$ot4-jfEU%mlbkjczOa5rPQ@)MnHq2kKP^SEc*CWwKJK=eu*P?U*^) zIIM78!K#7}g^f*bt$keolrF0L5cDQoFKQWoEb$q@eRoBO8U=YiMl(U4D*=vj;9}@s zs2IwD=c9S}IqC$ni0jFp;8*ZQZan)4VCgYF8QX|%Mw?*S086D5!KU+Fbj=JK(x0Ti zGvw+Xb2I1w-U4Z?sjv8)_8EAQ_TqJs;o(1n?*~1sy;O4|u%!BE<-UsevQOS`?hB5d z*1e_$MUukZ1Nt7TeI3gR%9gRVrAv8z}NagBULcjV4#i}b_N z1L;H3cj)baM?aEYY!s|i$I0_ktO?<p@vM|6RsYU0aVEms6csL+9r8z{8{md$iKq7g_Z^H7xWAoT>CX(uX^TZ%N3<5 zo}cuus_>z2GI$YUU(*&sk-s2$H zid&KSa1k^QDuSNEDpZPRku&Hu>>R$YR<9k*$8bZLca)a=fiDI#+73N~`Y{1Hk6z2g z>mmV?mZkqRoYBYYM)0lK%hXCd2C+fa1H>^%5A5tJ#9Q30`7}#AY zsF3(5Z;`9o{=;Gg6-_MsT)5m6ZkyzyOBz<34ZH~+E$k)wBW_gUm(;29baivMC0ZZ! zJqIA^3!DUJ|Hk}4fcbI67fQ{3HpkdbP=JS4>=ITMSCu0-YvBg5mv_J`O7kwGCf^6Ibt zk>%zRS#gBpk|o7-xoC3HEaOG9$PT&hm8=I99TogBd`@)hxL1k0(&WmEnndIbIuWSL zJXDOLNMraj^clJb_eBrk1>{nuBR7K|q}{9~wZp&$J;#&+G=0Yop@V?CzJy0o3jo_U z(Vf&kG_*?}pB|Au!cY%r=K-9YUX3f@8A`b{GWkJ#hZt}4i%5CI?(plO`jGvC(%Kz0 z!>bqj1HLG)*i~RFHdh)&#(BnIbG~)GGtaZHOkH)VwlX9tvQS(td6FWR^Xh7dM%!Xb zv7Xp*^e%D%jsbB2aFZ0DOa4pWU~z!>Ga%Y&NANG$C-g3|4ekMa{{+Qw4Y`;8!A5Hr z>ptp#8vaQCBfSRH)UC7diL9Lr#wKXG$(huT34`M#F`uHhL_QL}4{H`05n>fg1lx2? zRr`v=rLT*-IM-Oi%x{e|jK@t?md=hccS(t&Vs&+2LA&rk)ZMu8Nu8xFmG3llk(=m2 z;42(J-TepCun8Im-$GVkPr+7t&iunU`QuuJE}+fOF6Xu}dE^0{!e*jJ(XH68SE59* zLHtW?Jv{?vbZh#IbV>Ryy$Epr4my}<4F7s0cX@KYBsgxWxHf8LM6hslSntpcU{0F_ zO%H6V+*h{M>vM_hlPsN0r;TGw8I~V5zfEzxMrIr*v7;YlU&4P!@&E=KA>rq-}Kp#wwq z3MSXitVaDEeBR=Zj?>m-=J}@Qrb;twJLwP>w<+mWez3|GR2|kOS`fcCX_B-Ds3?zI zKs#YFEDO~kV*r-M0L8ZmW$|jlNF8PV=)UTD>O!>n>^wS(Ov1mQyU~F_ImyXe z)H&uQH(&cz=hELdj08K>o{pub>Hpxz)9vs9a2-{5+4~e(;)b~A;w{m~B6~z63yZ^U zhAKl|1vRJ|rj0C(+l{pC4Ee@;Kt6_^qU4>H~Ra zbtH1w=MN-eH}6GTyO8PK2=Om-LPFzgX3b8iqmE& z=V-bD#XJeEL>eKdfL?9`p8}e%H)_Yu5kDz6(}XY5dUX$VU$n9OW99^Pg3#mjfhrh} z-NyR^zqAFY)wcXcZC}0L&_3f$Myre$hBdl3z%kLwaiq{n1f)8X_Z`X$=?>yB7D!(u{{@(|Ox#t}B6>p9 zK9K2_a6zag=nFvo5y1E=cfKRX*4BE!QU+$U)IQ9W8Q1j2)RYE$x`X zuX?Ka44r|^@O4njlTd4DH1JDObOOGEjA1x#h<26ksm`oT=U*{zs2bt{uEoCtSNH4j z9*WSDL39BV#(T6&0OLPMS7cmEUuQV0OXC|dxkNQGTysW#Ayt!fJAPd3Ht~MZ<>>cO zrz7pcJz*DvQ)_!xy)0i`8s};2dTam7Ho`jC`rR6Dw>z41QI24`-r9llqMY|*Qv10^Jd)XxIeO<1uLOY8e$PS|)kY|a1aRR>& z_QQQ_EPjg^MU~KR*$?~`-7Lf2^wbPrI-j1S->ofXBj_>s61bnrAr@*Mn%Vix)(ux~9&w@iByK8Wp)Qa+iA#7K z{sMae(A1Ck7vP>^6M0mZU>K5~kWmNB=nF%&PNi+l){+;{hng>PPil{(V#&d{F|l=H zx`_$VvZ&P&9mBhaga*y5K3AdlnLR#NrDL3Zf-T%e+dQ_hjt{QE-lpY$RksRWDohpk zktC)}ktvmV>J=c<#$dx=fx1Gm5D%3@M-UU{BaMKYK5BRBggPI8lxxktrl(R_WIWLl z&&Td!F#ZJh66>hO%wOC_?H~H@hRx}r8KD^i0gsLXJ2ab)CoaH3RgSb#%HqVflJ9Xj zv2$Z|;&;*2k$Z$;VUGkoYK~U6EI(Ruw|JK8h$9o!w8pBjk@lg^RmBpYymC=(i?Gd6 z+hRW@#;5&|Pgc#;j0av0fj@ve-I`aL&5#JVkSSyx<~lbOYtxi+kY-5IX9G0-!CnB~zMCdWu_A3w zvM5n4F~wbu&5Fqs4~RBLgoh6ad0N}I`f^1FUlZ>gx6Jj*KFF49?PP^*LmX?}7fQ&A z$$`IvUkDe8^CfV~1{tiR)oIXHNDC&k5p-2^RWlEAz#FhjWGkjQ7pD!=Md^yPU-`ed zS*(w~NYTL6FT|xF`s2-r0&)#Kkln-Mx(9kmdU5*njGh?@8M%hWdNUV655gBhBb7PQ zM=23WY(h@_u(;l_`j{D_tf>9M;h|rH`UJfGab-J7dUz^ba~*SSsPz{=8SLkr2RsG7 zy_HRZ{tfFLy(#WP;vZ>^<*BOPAh#P(HgreR4+IRof#b2a#9#CZ_D_DK_NDgF@B8`` zv%8sgK;M5Q^6;kkFU+?m_L3cFHJDJVwuk;t|ex`#fvFf?J2!Zadz% zZ>MJZ7tVY`sbAW;CR99F)(bgBn+724x$GHZclr?st} zay9Y3E4v8P)9moW(Tn50CN4`mB|oLAr&*=>N5g3H)rf|L7Qug`MR*=-73zCcd@{Yu;hcqkzz4^zXL7i??(KW$h2Tf@|hftfErrj0W`>u>Ne z%u=E*@~=8dktCgzay+Siq9(x+A0Ouz2cocuSD}%?P;E%H$iLQi#e2s6(P6a>wq{#? zSo+%PIp-C>C_U)kTk}^)lgJuzv1D$F4xm0teOzr)Ujb36zNbloGthXS@tolD(;ybX`#Qc3O*WvLP;GWM*oXBFh8Nq|m)* zn^WJ=7SLKHBzu!ull(quPGWx3{M^~o-p{(x z(i>E?&<=d5H@m!L^%6m|aHS|e?pu;I?Tq}h(ytn+9;P0mexUwG6ApWk8ca(z02}-< z(DtjrjE(^n{lcwgrOZ02l=zJIz-QwMBAn!?M)YCE%dX*dz%3t1=QHbN4bSS6c{g3J zug@3JO90+oUpdB zNGuM^Yuiz0Q;*(f_seRFLheUq#AYXOsjX$r6nV;SPFkhH)C9_Uec4os2nW3Au zfH_ATM1nOD%G0v9X?;_7C*MlED(MJG!6RyV_Vi$_KMokljggp?%*Iuc@EAE%ti;p^w z+o~+AWw>RawUhmTbGRqP*Q0V&?b*<-QOjeWB%DrZCp|9{DUK;RD+9_fbsf!ns1On0 zZh-j{%qVUvp96UGp0=7l&WYFt^nP+V5x~EJzAqq*L_1PP)dk+p%*E(#>*uChGCqLb zZ_YHOhwE>0RaA4l6n?4huVm#Dr0Y|+0NhWPz;WxvO!UTx#(?iH26?L6`WO0wy)9fV z>}{?6fyO^%3Ac52&~ACjvhw5A9_BTA}W-R;B&PC9-1r8hL`i2_XoaXiJ`I!SAc#L1GhdVubwdb;6$!Fyo>YD>JMC@e z-ryi?t1aP{jNiW(xCK;nm+x`q#GqSY9iv~x_DEQid?Iy_biAyoJmL5IWw+5ZgvF=; z7n6^V&mx+Ve^PsC5i8=$w7m^>vq` z$!ebUIHQh1rA66gB!ex2Yt=WEyXDuVmqA6lC*qQAu}gu+8yvYPd`buugjBbxXj{6e z_<*y>*3;U-Qn!GD zk$5bgma*`7KJJg3T@RW%aC3WKAE#(tF$N&e&mssE;RlI@n4EB;hv z0tKCfHpW|%6|{j9fO=MG`)f1#lWY#qBmJmh(?RqqGAF!I$iCWJ zRh!FimY~3eCfH-F<>nRU9+rG-iDPkbX{oBxTiYjWP2@UpM*Q&vU(%zLVQFS*8~Ig5 zGu0V252Yj1uq^TeT@QFAtJVSfevH4vO=KB>c{|yfG!h2^k`{oE;p9tFOcOv4*mP6U z(=vx=9nSikSqE&TYW^OhqgLW^=p$%|TCe;nJC@cxWk%8xpiBOXeI;%Zt&ON3)>=?h z-NC=vhkETUf#a}MZrNkbHP^RZwI{egmrSmpYn}%07bc3NvEwDj5+^3NN)4B80LbsF zT&Lo|jDACp5y$8o>Aykmdyo>K@yCJq#ZSN9Nyf-6)qOJD z%V?bS1x)C}jHL#vww7%~=MvMfDCCo7fvQZtQF;N)=&ZyK5>SIt}v<^{7jR4z|)tW&~M{4KsJ;3&?pd;ue)HSjf(4(CQ5jdrUimIgr+y!lW z!M_0qRluv&X-bo9L)!V2$|Ndrv1CJ>BqkyHh45Zz zv>+z%w4$@`f@ieroV|(lyO}qKgU-7gree%Dp|U;LOA!$xqD?Vp;+rIHO1_htA?0O_ z#ZCO*Z=4Jj1{L&chYjz;blJBtY$WhJTsxR_8(l4ofQf?;2B$mXVi%k&ki<}+4 zF4$EQTQ$0TZ;85inB%*(sinL5g&DHi?AzQirKJ^{0z-p4hQEr0#2ey87sEQ;AN)_|EY+L%f^zT~b+odnd>hC#DrHboj|5fxrI_W> zvm;J~(t=TeVg9YY1D+t)Dm!m2HXk!rSO(a?x^|TK%HyiL2Q?3!9WhcgF7}ZmD(O>l zo77EdHtA}4JLPOO`CBoc2K{^ulp6)KeRJ&|{v%h+{(A3@T|nR4Nem!g1|kG(dLwg# zAEURX=V$t}s5<+yx@NvkKcnBP-NJQaj*w!!AHqX!)dxksOe4)n4N1vJs*zA}>%?87 zdJ2z(T&$f{m0fNwNiN>%cxY{Gv74i;bL^X4i@n#&aw>n+bO;$Hl8{UEyv{QX2I1sy?*reCvH_}kikx<0!9w5)aoe~+tX6WIyOG5QX5_xFr4gqIjc zZDd;W5&9$P4>FBez3P0-iq5*8Ay03oZ>-(UYUp`{2%8DVXh_v4#U~jp-IzKv*^rnh znI79x)G%^!Sf#)p2(2vgC3_=Wk8NSrZk7bA&@OSMc+!0S3PoV0;8NJc$O@4%?yN+R zv_82`>WVbA>_2&t@*mBg$W*)`_5J^-dJFI-&-Z)0Y0@_CN#l*n>z)*M7&>HQxXW;d z;lqcs;qK0W4H#|%h7WfeFuatyxBol+?EAZ}Kj(Ve(7c5wx19T&H^~z$3pBfv?nMV+ z&fBOq>5DWmk@@P*HlT!Xjxe4JuiUTwiD?Hnm8-3=zd0)m+!zZ+)+V6_Lp>lcZ3eJLx`j z5^3?8ae;oi8;XTzMCL#x+v!#8FVIO@QCIA7)DS((2f1&UFXSHl zCNe$j4Sw>y@RX-ja}9BvwMDJ{Q>~`@Fhze;{w7X~^hdv^ZZ;=ASd66GoH7SQ&UH8F`h8VQ@2=V+MYWmr=@!%fjVIa z%*0yc5Q?M60Xooy)DlWd^&`6zMOa;QGpzG%C=~uW!h!poO6r;ZTqB`QR2k!9x>(bw zPpH9_)2m52eh8Tw&I#Q1-SMhm=#A)>Fvh2`^$@8;!at^C~g zlmFxO4=X;7$vB_6B|DZcDPC39De?Q{wX%=OnwrhJg$9*rr};a}NLw4H!)@`^2r`l9 z=ytpvS(EyUqUo0OVn9oJ4(O8A_+6AnwnN@8g$9H_M((1oA@e^n?O@7}igt~;W2>Tf zg--ktb{w5RHpSAA=b@Vc(!a^O&b`a^i(|9RZ5<81DaSBY*GB!LJeJ%_G@*1@LED_& znRLe5k1ak<|M=k3&!0_Mt8#}Ho+w?EutidlGEPxjZPf%D&Xr&H5(wf$3|* zZp}8u{^Z0&Z`sbmp}DD9BR+5awD;q~kAHlc_?gHea;q0^Etyi$R@^0dw#=antBW-I zb(0JmOnofh+DE&3dZzjdf(s)p&~mIfF`1lC9iiJZb3jJwr-vWE`SdtL_oaEx#r#Rdt;+L6FD1RD z59H^R^VI#cz4X_NLsGx8HFi#O&xBs;7w&_Iu)cVJoI^dNyD>8uF;htWOlIIttQWF4 zd^Yq;s4ygo^g*0h9$r9Nna&&uin#=kC#>Op+#u!zRh8_B>p?wb1gH9&c^UUv*9hk? zj-B=?wi6bKSz)-ZJ}3W}R72FU^m#$!+%I36eZKL@_-V+ep&9!#Yh<6vvlktNUW!SS zDcfa-6s=XwHT`wF41>)Y>q5uOv}MpssUcrPivEq=CZ^trJt18lP#uQRby|6aQE)DZZ39ID1g$pp3DfCVd)|VaV*A)hAa`xVWTh z#nQyKN%vDm%j+rwYE0Wg-_7)uWuX0pYk=pb&m6Re>mjW{i)N6c=&{TVW*?(q5@|2# z!l$ASBKyPLD>-ydRWMK2FI0aczm}AdFtT)e!GoMfU+#aNn~{>iW^DL;>&w}k$N6K6 z_2rF3%_aMjNg1XnQ@&R>(HV?n>Q6S#sd9Jpp7A#cwTj$8XW`$HDKyTgSvA|AsYP!h z^Kd`54H+9b5*`Jf&Jk&d7%&5In95_0b1K0W9Tb&CdqCz#a=lnB(~bHLy8dW{5B=j8 z`KEZjaW6=_wb3PCJBFeGl zFDrUnS|_2K_;nI5JuiEwkgBg}FBw*umsxu|KD#!0IRB{Ns_WIi?& zv4=MYcKf<{L!L?Q{b^TRqnyj^VQa`dN zwt}%T8>w{i54R{zRRSr zuNeo!(IRRPaSxQ}Q>f9nOOC&f;WU;>)S~;a^SJ%|N@0_b3>?~7c*xJ%T+vrFQLIk>UYaA{q7t;J;OlQ%X4^%st?oa(%>$=GEfG0hgXHKY%u(h& z(}h_<522FCVfZ6dfcZHt{9V`+8IIJ$z9D|1mNP}HjlaXUgS@X4##iS40DF<{MRNFK zq(itvFgb9-cgmaPY3}Lm{_MK#m~X3{`oNH=-KqF1d5)-a+32F;ygk|DzeqAKeV&pT z$(oZxkF1(9PyMe>YMPVU$9CPJOzY%%>^l=&9pSNU#1iU0 zJ%hQz{KUMWA5$a9Y#hT5AZ;Uk!u5fhsv~}^6pv83bSHKa*OiwF{e?Y%{=yc%6*q}- zP#^InXtzkW(3C(e|4`orZ@I_h*_)Cif(ZL^n%c7T(EC$aa63 zpPBH*l(i!JP_De7M$ykDzm;WI=o05ja+5P<2bI5Q_ULiYPLHhp9Yoq?&maDEq4kIk zPascFZ|HT*Ip#;^IK7a{CrYp$=;6r8@PP2G@PkNg6v0b~gVYmR$3{6nFNbL62sebr zLLGiLyPd}Vd-Z`W^f<80|I}ykweZgNaBh>Uv%S0JfbqC?nzA^>DqdaQy?AN<*qlLG zgTD;?63Ob7ZOIk#s}!~`UQ;@#d{07A;+&*G(!GjiYQ1iwp}P5ZOPOtzbB241Z&k2b z#01rsM$LvAeGRAyy|kKKfuBL^A*qr0jwxp%spuliPy9@Nu6$-`7q^A)FI*Eo!)nj- zshp27QP1()-~?WVW(AuBM*BbczJktIdqQc~9e1r;%zJ^IGGw)q4kT2RL<+a$w#-&# z-S~oLaoO8)e$885u%W1aNyD;U6*;1-k`XCUc}VqGGf=mt9FBw6z8A9LR2Zpp7xSW$GNL|Z;CK`OqMbVB-rqMP~;@FF)%EiF~;$u5~kreH*k%s|g$)rt7$_*h{kOyf@TKMMuIAHv`K z1&&~=(i-w_>@=w6v7w>Cl>t+rg@2|m>Rsu+?W*mVWo69?`U$H2(uv|z<)4as7sPUZ z$R3_GD64LE&zzyTck_A_=!&ivCzS23pcCIpo}^5YS19Lea&!}o97OagsL?Clg%HtP zWIQ-F3*Ciz&YWc)g1)E@`eGH#q>JJ0VRxc5h8*?R^5;p@6VTFng&XpI z%ptQsWwp$%mm|y7=k>{dU9hWYLy4+ZfVF2g+U--O2Bh z>&sc6y*gW)^Lx&!+|7Baf+>YR6GMH3g=U6kQ!@5v~_%6Pynbb^ELM-gy$-i=E4D38~q7pL(iHB$-fAza*#N za9*w4<~i?Rol9~oxi50*{3ivAi~OZy%L@`Vi~Y%eNeRVpm0SCp{*396Wv6|lEB?vZ zX`vXfQ#%r)J2Jm8<@7yJ_AT%qQ6(}uf&&&t49F2=9r_nW5wl4%-J3bhN_Z8-^Ok@M zkDx-`pa{F+f1oks4n(vdNCtljyz!U&?s~uSDAS@4(LKh#+P~z*N#zMSr6-I2&2O9M z%-xtXJZDJGZHVZGy!3*iLZoC|SrO>bq@cx7$(*Cxp&TytiLaD*Eva7U%s-a< zG-p~)H-ID;&#Rg*DU5#}S6=xr(Ma(X;L(txgQ^+K`lF`ymX`Kh=MhgMzbx!RpWuVQ z(=}s?=(E%jGL6`RjYel8XCmVxUEuH|ACUKG5rz_@L9zbM)a8!x3qd)x5E}AEZV5A= zdQ2qY{ZSM0ESwUq9U2!b3=o07{w}^no|b7^#{`SoSX1MX_ev^A$SP5m6%hkr5di2ts4iTjT8qjibtzBWVAD`jS4!-@?hOi|r}vb@q< zAvY^03)XoiuU&z)2r0Q;`n-IgXsWnD@>^*?MUm>bwt=D8G{sWO{-ew29Teyh*@6k= zd+HDR2yLLn)JkFVthW)1eoCvc={sf`GLY;{3-4`b`vPV z=EN@;1B&og_)&-t-3m4h{uK}f?)eUR>}j>^byL%UMdwH-NSY?}DLY)esxUi$Sl)=- zlAMy9wYf9$_QC`$D7s(ru&imqnnYt#=ajJgsB)6#m~MbE!@R=!)-lXo)!#I{1f_^- zl$UNvE9nMQ4e~BN6KjhuMJggsE0Kn5MEaw{u?qY*ayng|y~JJRn}K4^1jT%St<4Ol zt`qg~?Pw>c(Wc?eAy4R8a9q$5yx@QCb-90c46xibjMXfZw@)q>DJ!a!ZZBG0P?7g8 zw;jZET&^pxVg842#tJ>T#tN?v_!0^7n=o&^*ObK@qu!(3*CfrKE{*WUrd0W z4Rh>!tQ=Vg?&^JLMyPkl7djI>6v*@~_q26&vOP6Xy64Jj(wP#KsHn_ba=EZ5|6E>C z?$X>txz+Og`ArJ;7uGBemO9E?Bs>Ebnk>B}m#7q)h;EQ!zxl2;*O~7*5lDre?+z0u zk*4Ww)LL=?(Fh-d{f5fXUPvPJ)5}ObYiqm{)=g~b++@Y=TM+Q1jB|CU&zhW4yq&d z2O0m2gIf41>@KQ8XCom%eCLc9b^~8P_Mty9qq)}5^PPnn|3$PTvx9m-xWR>VM-E4Z zMShOljr<;=B7v|uc-FVsZEzm4Y%(_1)=>T=)g%oO%`eX`d0teduyet~{6m1E{Eh|Q z!VyIsfJIXh1}E;9j7)AXZ6zP3{7pSvH`qv7aOnB2eoMGNx*hLJ#y=luEM=mGk(USw z;ljVg7NYNvUPwJSOLyUIlThy;#4 zNJHdhq$u1ZWDC6WY<88|wwO!xYt<==7AdX7mV{Yl^-GQy%`D6-m{H&>NGPaX5Gnk* zXk5vPvWFFKMR&#bla8ePA)Bk1tKzgj8ET}G_Fie-ebYi6kal<`K~cLQqEo0+@>_B~ zaS>0zZCD%hZ)5;KkJ_+i&`C=u6|?6DF++{QzGZ zB1giCPzV1|&q-%JTgZGtze&x@*Cannd{}X-EU#pLaj&A*g%b;`fPV@u7cMGZUOKIO zCS?A5Nomr7lsYoM;)rUo)@QGoV17tmH{1Zem2j}~O3nr@g>6GmCMCo;>^a&EumL>>h<}=V!*Ju^Ctrp8 znzOa7yE$KXRi%~dQeKN&iHgg;Wg|*H79A=S6|OFLUa+O`P0{R<>1A{UFS?UxlMGDK zrQDQO$ct1FUAjqQUFB@)sTcSm9N%wZIdKhg{}VtA6ZAXCd_$O_r;*9PpaE2k8Sw_h zVlsys#9U@$;FFgDviLV#OLh@`gk(X(yg{d;7f=}%!DQgE$06d#aA2oB-qvYH?0Ztj z8`fwF6bGdnlKxHHlhD3=OzG)jrl?clqk^)6$%VIy>Xww0ek$LdAWLi}9wT{^bSveR zY?|_{rkbH5RqCkbw)^>z0r?jD2X9Q8s4>)Xil-Kke-Rt-`JkSjA*+yMhzos#?#1rn z8ge0(%q(EPaL@Sol^ml$@aI_{Bc@st33wk&i?LX10E_KG&m+$x^}}s~kA0WiNzQ)O zps7@QMAb^prPP$X7fq?CUpB5pQGB8>RQS4}4|IGPDA6J1?<$6fh9{m8XGyjtACy*C zj8MPOVdm4e(XJNW7l9+;ZYYO8CDsDtZ=~YSe;Ub;_zUbls)wH64OO=U?S$3G#}EbN zEV_`H#vK6;-2^N;hEL$SfF8L?%)%dHi?E@U2Z4P?8=#XBJTfix#{a={)OFr=z@sh z50c5xfL=NcO7t9akZMF`ZO^QDi{#1CUaCFhSVzhK}+0*h+LPt^4L{2#=;usd z?(+Xz=UFC3uO_EJrReaz*j%hBAOh7I=e0SJ&7oKRd!BVJ+CDLLzM-#Ht$HWxo3dPT zThyUKUPhOEDXI^+ShT-bTsorcM!7N}S#(=;B=MZM9q3Vy+@!juy=7c#ndb1g=lW7Z zD`A4Z$J>yDsIxFZACfvULe#CCpe@i0Bm>c)zoFwQ9escB$v*A?Or?o1J@;|-K{0*aWN-922lA*b?BU%<$0QVc$Ww#ktm+Xx^@$qS>KbFT0fdNE{R`FJE4o zP|~2dw5VorsO0O?S!K`5vn$>u92AX9>>)lR>5_a_TBK;M5gVSF%WPL%J-ojJR)m|O zv%szQhIRf0n&dc{PpCoXb*bFP(TKK1SE4nsFx04@%BCN)YxsG>anN`nK9e2GsOc+Y z77-*S;zig)KoMq#TT8KhsDQKx4-YKyM$(?y2U$)U|I%Gi7bps)7nA->?3z%syk@Dj zjg*N{>U{-&LGU=qZXMW+xVle@=Rm(px^WlAV&Q(;S@pS6{P`fDFgJBKDH) zscBSiD*o=@rIq{ld9l@KJIH=2)Ic3QgFL;oDkvZryY%DQ@8qJIawl4=YO7l&)I;?|vPmO~bJr4Ty4t59F zHj1|c+`-gXLnI|!4R~~Nn#a-2TE~nViZo@)hq4LD*P-usl_Rjy8zr{VQ>EL>ek~tb zVNN)fP(yT1G&k{}cv;dvDVyaxRT)3zG!nx$;7`b8=1=xFa3SmY>ijZpFFS*A)6dA?iPv}y;HMJIh5v|e zz+dB?@ljZOzx)fq555O(sY_|+Eqc?hx@GDkim#<>lh!BZR$MIGQOcL@FRfZ8D&J5( zvjR)_Ex{;iD=HKD#AhYnC%a`12@ z4{;K|2Yl#2V~83VimXOg;62D5^lO-(U-3%;TD}J7XYbG(sj0vccX1^=G7=w*=i#YD z9^MKMVI2@lxO?D+H`R?f)wV#Y+8EW5>Ou0pDb*#viq=;om$xWuTDG8!FE1`XT~R+_ zdxApLOq3&fmPkk*C3&PvQhpQ0Ax?==+)b*cjI_&-cKia&T>}iGk!5SgEOUr5}iY@cp2MT7v$S zfUm0q6Ld8>4(3vjyTNHe*AL{juqT+MbUiAUD1Znm0fX_ocopKi%J?2f??z6A#s*Bj zY3@IrHSCiu)l3%s6?H>}RJuyiFwv5bQ$D_YZ28Ob`V~7N?}HO=LFQMAoQeM?@{(In zqeJ9#RbRA=j6*Fp$A`2&z9YfkBL~s7_(oW%3RGTeN=5Y}>kyBzAJKlu>&WZKY-95iAP~G5bl(1OLGYdbqj#U1aZQE3zib?6YBT*=MkLh0X%sp<}TgL$M)4_*J! ze>PMRkzkuZbJU|g1HPxak`(b0GT$A!6uA_M_tG}ZMvNd6>93jTY%6XFH;l_V#JT^Esr3j;>K)mxO-68e6E*=L|M8Hx$glS#A0wnSXCC81M7 z)r5%&rxRWzh(tb7UC|5?29wDtnFX`{xa_!cAh`OFg?HRbqkLBbEy631o!D~X4Y{0p z4nFh%xtpkuZ$Kv?Igu+70#r#c+6}rMrFPOUnS0=wI&wuU%SxH+)X(Hxm=3G)lXwN> zq&qPUjySVjfIi$44u|Fke)5g+Ja8pD=2~)%!*%ym{pFogG9@jMTn_$m8vA2e2s6!nxVarvPfB^I`Rr?v=zRN z=uK^+Z!jm>+R#bk*x#8EG*8tc#}KAUd`BDuEGKxV*lkcZgAi-vL1=n#t-ro^f7(wD z+`7=TUnf^%3RLPy9wQ;eQxa{74@8GW%l^XyQL(6M;)F!8I3m#|uaovt+*i-ie>Bap z_Hj;gU-k73@{zkJL7X8^Q6c&P^#x}ALc9vBbX(=Mhxksa$1o4Efh?o?L)UZgXD|Dn zc}D*V5q(KaBI2JfG>JG(yo6&CaUYl}g4IRqA@a!cP^}>C?*l4-p#6EO(paD!qZ%nc znUaw-L2^ng7Ozk2lvowkYlH9qhtr8$#kG=Vr*xB#QQg;eFs@8pW`E>5>v`s{8vYmQ zh4&&SQ8cZl>sd#6T8ZyW(2Kmp zG~^tr1wDe+(GhT=A3^^-LE}5I$M=$Uf*L(RjHMh*AGR6Hq-HRco-=>YpQsG7J|GcL zpX>!lB;yesf&UFobSlas=fl;&iO%xwOl$2}YEhYbL+(2$s>&v(pvhMyTFC}+XTU^2 zHL*i{Bym*Y(nN>YFUd|~qV9@vu3K-j)=|hj9Zjpll3&_2I1!Oa*nw~IyJA#(d z0z*|qR)yyU8~ay*ANdtD=>x-7?M78CgA}KBu zk4RdUQY8CFxlwaQf7{g2de1S;-PS)gbQu|pFCYu4>GWQ@DLoC8UVKN){g?!LVgsyG z3C#1191Ps_kR8JP#(m9!!()>fGw>)5QH}5UsDkf1$pCql=t7j@qw$-V0`sAHk*VRn z!I{1@ko&dPdSlkQ1|N4h!N>_u%907{mfPI1KX~*k<^J__; zU>>tSa<92FP^F{Th0J!^OP`|F0VaUgszw!%e~=?c4KS;W*o3?B@33KLal{@z9QeW8 zAx-3XY?*JG4h(flc~t&bdM%|ec}Ow=P$%z7s-Lu8;*=~CFB3Z@NlBBE`%ACOYpN2o z^$dN?e^{$Ji`~W0ORLdrJdJ8c`hz^_~&}MxXNtL zQ>Pod>z=E>R?d(=m1d-LNJ&pIr`$^(o}7^sPTC?V6F(8xl>94EC*MkWCetXds1NJz z7)6#9_VsCNd^oVE5qFbj`XN1%8O>xvOzTksnFp%7;QnmMWzRD`WCwTIsLZv z=1Yc0+JL%9(Max_wnjj9psl#fuHf7axJh&ECoiVevoF1ic>aJ{4U4k zmu2;38>J6Zj44f$FDA`M+M0wW8&j%D&&y6LvQ+c5V-0OnjrNtUwcf12kVtbZtMd8U z#_Up-X6G>H={3|m@)Ef9_^$E8$g@;3DCS|X&NYAumG7f(1uN~xhCoB5RIb*=te^$j z3~PNwy_VO7^BGq@88O@=MB@n))z7`&k3dkf(#cVR$^+8ZzIT`Ih~ceaCjMbQsg9 z7357~Kg^pWU_alKzr^+CeB2B6G`pUy$`&$97%j7h9#DySfX4J+ zAcsy6cDyrM6doG<#n;Nc-%-nond=z}w0$%sDna!d*q2^V0}o|cQmM2@N^ zYcfq?!qfaQ-X+u!O8Dixz~^xLU`7q(UWbl^%C5%!UO|`WnU|pRw}acmA&*aJ3F!K#+(tf0 z2n(*0!DLDZUL)gcQ6eYaU~isKEQgqGkus^K$haeF&!ce+5Iw4J7;xU zLTY#8UcFYgO_QfKs{5!mC^sn%%J;}pWD)50fMRXswEok@tTx<3lrXk&cxaf>`1N(f0};JBPKSzi&a(;Vp_sMPHMg>=94xU8k3wd$rOS6|P($2!&d#l6YDID8!40TI2z zNWrt!=2n5y+)2mZ$L68xQQN2i^l0!O137^|!j}LZ!uRF;D1ZQrx{s4`(^)TjidoHc zWX8kS@s+o#KpoJa#0m)=egrucn&(gRWH{H@KBvwwJvFq{r|D>IL}OR8swT>=ilg#u z87A8y^-D!?%#aS2ot5uUo>6y!8f|TvZuh6feB**2BWv+gYAkaMT-$hvP(OAva}xUZ zcj|Y_46L)6nfqTneL`KqCy4*Ui^|9zgx}Z=Oci0@GH;nU2gJXhV>UyCf1q1ar-}X8 zCFuK_K9~ERNJzg_(Z=>_k(t*<_Glz)g0w{MTI<7K2&x|`jfP`bhosHtiAk} z;)tr2HfRW$w_8^@TY5_U)59^0BWKZO)(GpIRH-$aFk4`bC(w21cl17H1v`nW$6w}g zp@k5CzAlc1mCxI4wt{V4{UBQlGTmL`A|70v-4vb_sO!DtDz*={ z_D!8*YG^FgpVDpBF4yc+|D{S)6)6k~RK8v2l|7d}m)4OfTafqoSZXvVqvPO%+g7UgcsER>*TeL`#Owv8@5-O$143WGF5w#BBYf{GBncb& z_--$4xm@-ZyO&+?ANE$>ZVHvVp1wgY#P=f`L#_PR-MP-e_RiLcskcorqtEa_SFA13 zs5Jp~nNp?nD<%O?jgox}D3VDO{gtcLCfz~90<*z($NAVZKQKPB6Wc&$)3e!mpo}(f z4p2t>7@TkPkD3TOTgrK|(= zm4iFN-eB6%Bsl@=5_u7@K<>YFzOcQus8Uy(S{iMJ`g(^>sV#->x2VEUsVn8TWQ$~j zWx2AWa+UIk>Mu=SJ!+a_i8_Mrr@m967SKzDl$mY7rSSi7>nfe_ub`uvFuyXb*&_DT ze|e9;qS+ATqhq4W;ozfrkpFo0>+uqP9XRM}00*EW)XypIfB(`}<}6i#H$xkSU-=Pl z>$C*ta@%f;C-tCdy|I}gUC-(SZBXM@$5hpnO%*+XQJ={~@~!f@3W;i$`i=Ie;h~wg z{psYqR|7ENu#;o~eUjb9$@mLg5AGyrxVy~nOdd0iEeFLE;rH@-p_TB5P$0CAuCGM< zXqD)F_*o|0*R)dkO@rU`0BiK%Hp3(S9`FYKrA&Gc`4Fp)h(bwz!E?~n(NWzt*HUCY zXWD6O0xRvQYoo0P-LFuUDg?z4ISLpe7Zjb9XMvqY=%c2&mf8-+{nmFi)Db;I8HBtd(2MdHHR;Txcxp5!mRc=+fu|z+t$>M&qw=l|xLs^A!-o z@mxDD9llm@-T8NX{O7AV39F-*6NTvBa7ysCx0O57dBtwCO|ckLmzWk9ha39or|CLt zn`-`5om0M3=oG)o8_DO$Kg;ha5>?mKTHRlUtL8qo_AZS#CjfLni@)$=qz(Rt>VFvJ3g0KcuN+F!t z3YcmbSIAA^6NDauTj;<`xh{-}nu;%gZd%~K>{*b;Ih)z%Sw)s(<|U@-#*u~=`f574 zcA0vNYN2weB1gVYK1hB;{)3{1@{sCpO-SF$)WyO$YP(bXDdA@5ZiuLv&4vj&5R~Sh z>=d>uyNUgi4Z@uI!nNiP@m68H@Q+Y0x-I%PDv!xye?@ynJ<)&QryYeNemH2R3j&aqzaUspq}xoa4L=w_ZryVqRw&W$bC7^{=!u zH3QXkRIQYAK}~H2q$sW_@{~WSk86K1>^CcHxU0mY48Dwfz&4Rj=+@vc8St0cl}vLB z*3H2rf5cVi*YjfFqALOsT@<|?HOI`c-{IDvC=vZA%o6Iu^tbWLxNkU)TL$re1w3{I zFiSWKKRwJ0q88$>5Lvi=AkW*w-N4nw(aGkszDYf8o(3_kV#v{5ff-d_{aWc$_5m%m zL4H>5S2R;jP&L)e*IhI|NiDT!r1|{QLVM7;#8s*-)0}%yzplQ4m44FGoKBE=PC# zhlbHJf?XI6Ii3e+&x1Ny%2$IL=^33F^+&4-=eW1bO3Fm^K%a%L20HoDJm*}PbD&*o zyJOjtI>DT7dSv)PkLvO@2h}rGtCe>YwBoZ|tr)6ESI$+%G?R2EA);sOAJW?SvqCsp zhxnSxrmur?{=ZmyxOg-#0AFDc&n$j~P%KOWRyzG3UPj|_odj`fBkYB9wn9Ar7k#es z%=mrx;T}C_W%iOvTtMcBp7}d^JG!U2esR>dzqYQo3`rHt?~IcSoc_Lcm1YD~=`c{I z4HY3cG8A`})zpIaqaHIyZ1Go-)e7#549D_`U#Z$mA;k0=`++6F5yh`F+~)EsT~awe zRggu$f==HJ_&chJX<~FN6K;JK-6WKQi@FWx$A2RR=bjS=z&-K%rV4fV20N6awd^;nJ1w144d#=;`w99@+D;l=T~jp{V!8<8c|g%l*AkO|^zB zugnKcy^R0pC+Mnb)tUt8rv}Q?iphY}iXF-ll}md^-_TrO{oo9EH9zJ-=QY9bug>~+Nbq@cJ z6^{!QLRvJwcgEW&0;}u?M@p<`^myg_Zsx%GeYwxva5%R@*b+^tyf-as6?$-Um?+f) zH=?z|If1vnL!P3vF0RjxpY4?G1$2IO^ATfBV5r5~QNX1`!I_jQeo(NAr7%O!gJ(hw zGtDO32WL5S{fqEwH2!Q?8C0nSTxA0EQ4hc+=%fMQIE~ORD}kL#fpfY*KPAQL$NB;S zvGvhMf)P0A5;vogo0>w`{ULOzJfnW>CEPomzsDY->w|uJADJKO9vI|X>e-tXcAa&M zu&3GfTY98kGEFpk4EuGnwPRtW(UOEaz(rQ-w{!o63IL4V}~~wm5bmHUhdS-Y>^^3;!GU^M9SR2|7vh z-~E3_w+c4?DRYqOPP|7OM1rAg|6MQU83p~c-_gS^0(FuAdS7DvTYm^vI!et@k>bxL{J|B&OgalQDXy1i z3EM#{$0t*6^oQ7S!0K3fY*6$HIFhdXBbZ3>^VjpUgs)8wiop!W_z=1Ub`RkG%V zPHsA8>E__vzx&FAg^||S6e3D3g^0Ff??KOx<(@(ZPlq0sLRa^%e0S9sfr6g5#wNxj z>Hc&{`r24gl#2Ej&huVy&hhi(@5P~_MbVQne|kMQqiW0$oy|7}e!5P4izOn5i);HNCqB_XSE=fnqDRSK2*Tm z=s94~F?Du8LpL!A+MfLC2xA`My=b(GeMzMw}#L zbQk6X6X(%(z@T+Ng}&nv0RhE{2m>qC=!0n0*ei%=gY;Lxqz|I|1gX#+;&~i$P{B>- z=Lrqru@uDG!#Y#bTf~CVv;0MN9Q`kG6RU#=;Z?yO{DiMLsJ)=;paZf0VeJl8`XgwQ zuMCa#CqY4fQ2nahuV|{+3wm^*`UWWc4D)w3k!y@+ng3;IE|P%nAbL}a=t)dfn4rD6 z_t3%d>r6%=4o+wbeP1d}i3Vc3Vybj1JtHFI=y-xd2h zeR%rU>DS_=KP}auB@;xzC5(Utt!psSu$$P;uuW zqEaCa1gi9l&>AXq?fq0| z*cLQLit%#fS@@q|gTNNwJ5M9`DHrLSYA>*!x2#JYVE)GBHEz;tbv-qYRX;0FLXAFF zyjK38{!{xqc&4E3H)omq2Y<6rLu4by6TgvaaL1pR1CaTr;E&@g{U82?_0AEr&`TX+ zCu5>?QTj>f`K8fo!oPeSKA!h@_f7eKz0?!dITOx$5N#xk=DuORrh-HWYmQjLO@o{K z72ZCc*=Y(_#PPv4&pO7^BDJg8Wg2TJ)V0&DRMRSr@(0BVg-f|qHC%H~XEd>vdG_C3 z3EpXe4&fEZa%>EdO8y9Y9`$!=d(p;l7@pV`=5iHIAgot4%lsb5U2v9Erg_8;|d)gTKQSIF|OK*Auv1xu@StlL2Z!+H(yi(g(&GfVBFViQbKZ^YX zHF}gYur2BB<8u956I28|zPX;vw7afN&V`Oy_CB^GYpc{{rX7ZDx^hh;^+#oba+Ttl;(~Gn z)TqaB##GlDbu>-8>KW{>5*iknf&KyAbdPGlREKrOom%`_(*OBoeWh1Ugl^yd|9ZX+ z^!!$?ywVTGd13&+1T^!W*rfD-0o~JA#}-993(vX9>}9$p)ts1*bw%vqhQUVueO?9h z{g18%&TWo~_J6?V-7%LNMTP>cR&f1+7r|Yl z91FTN5~X7e(r>0`K`*_F)s2aw`TRUC!nUColfU7+&>tgs=$pVAp9ZvE*R;{D#m@E) zw|#{bv-C4pHFEl9+6`*8>T6}TLZd8Ho>D*2_B7l!-Ld>^AMaZ3arw^#UxbY)gLfrg zQ;nEdWrX66Ieu+!8kfS){V($Yh-REc>w>l~5cJ@Pra|W8S1iie3y}E=p(H9v|2_RS z9ABr;g0nUW--Barz#OH1C(izVTzv(Y8%GnR8O73on5EG$N!m5D9dpdg%n&m(bL^NM zGcz+YGh@um3|G^;$^CaR7st3&4Bb@p?7 zB<(~+tc20@JG{7g1IyuN0#ytJ+Mgi)d`_ zP-1jaP1&0AHN^$lTs`G%GH244NQrA>f7)j!!>8s$Chb7jlq*lJJcCnjKsJfV9ErIq zt|Wk$;GBoa5wk=qht~$%2Y!Q=>b&RNeOyjw9s4$76xPpL-aO3sK>u1-Q#TV-{YFDQ z(-MmdyFtuyTL3sZGvz$+ff;eTIznzH*5F&RP3aV> zYve_!b1)nr{h56iJ=5F{*ILk{|KNK7pBk7p8>Z^7=r-y|ebBJoxXOIZ`a6!>H#;kO zPWdhYcP+FdWmEDsFp@yLrmB6e zCwz)dq$CqiwHBv72ai4n_7qC34NS0Y;4s7zz_4V-P z^SIr+0Q2_(dv0h|%x#PrAe)x!PC?J-G;TFru-LExgvqhimGG7dc*Cba+g|`2Ehr9` z#>%+T1F&%`Lem3)p+?B0o=IQIBH$Z2Q*#2_$dE!Ng+w&oOuYj4Nf}+U(VhYjCsf7_&cwVqd!0TsxZcusSUHcr@$szdf zwz3x1)Z0)^e+JrFS>MBu)wIcc+p6Hp$O_KW?wP)Q!L5= z#BER^bjq0&B~?j%4V8Xia%N&f{5Tq&);?v5e~jM-v~QL2I;C>zWMoR}nUw4)cN4wh zZxxg55{vPb+5B{IYIwvOJ{w#fnBs5is|_CQ;#%S81vskM?wH>g+X5^33>Z2~Kh$u= zIM`gtx)ZaK6C5kugMIN}-pDa(08@oC3QGa;^T~7MdvbAQv62fA-x|Lf9{_0o9I4AB zXtqC7P9*OGx7SV+c%htB1jx8vfc6EGIzTQgwFY3*^wjR)`SvMIfU|B?14>@t&ILG% zDG?hS-4yN?su*k-NC6IY9;(ws(D&1cT-avINfTy#tPkja>6++igJNuIs$i*Mn}L_M z-*vw8JO+K&A?l^`vo3y#utMx8eUf@Z{})jfLcLi973WKQZ#s%%@Yg4%982C!I1}%X zKedtmQfS?GZA>%cz^g|`o2}*gTBPf^Ypj&c)o~{Ur zX?BV~wODGCR6iP_FeM+y>!{1+1L9GBHM@&`K~;<%2saIt3>E;)7ko!OW;gA0+Be{} zZ7<2>_D>o05;sHTmcguhaViC&8>Vuo{vp{0Yx($Y#v zmbb`GrH@hq80p#gM8t@-IhRSq()D)f8R)VC=t zRHgw5N4%-BU+N_YoS*3(+a2{qeub_C_XfWC&-*k*;&MH)cOYC?4(nx8eW;+h0i6cx zvg=ptFB^)Q`dhl%{=^U22fNyMM+G{E4HQc|*cQ;z4MGPImwHG$fa~7}wlAv=K>R1D zGX3#iP5P>G>M$h)R$S3I%z0HCC%F%w63__Q<#gt9ATcEV9(dkwVntqIHFWwO=>suZ zH`p!E&R-Nfn!$b6v6E!+E7l+8qNa_8h5E0$$$C(dg_kXoG;pZo>&IE~_JzsB&MtFE_rAX~V1v`ef6vzGnNWf!&z z1;u${SXw4k1nj@1WC4wF1Mn$pinin6uLPbb4@kdX$*)|KugPBl$+Q!X`1pl*56Jv^ zNeb|5BwSfj8YLSiV)2E_2I+%vh}+FviLunl$fWSJ(E8x|WrT7c@r7Qf299OjE8t&kE;+xVTL$ zBt4XtLq7FZN5+Sv-B7!7$#aQg@y6;Z`I2~^U(ar$Us3&{YD5edNBfsN@s;#;b@zAD_E-1}TSv=&lV}VY zLZCzE=yvOh07CUM_B7wK4#DdI;-`4Sf#IQS(af>abV;@?*MI;Q4b?G!=FONP?q4|P(y2Znz+h1tmJa611J%@X*R^@MTpT(5T$+e ziwvDi?JagJC%N6R(A~^eBse+zE4m1n-Xu`>?RZ?6CV0gKVo9lz+(22U9*k?6eiB&4 zX9(ff!I@^*FSY9gB`bE0NkoOODZ}fdYi#)d;!^cC6 zhP<{w)6lud9;!e6nkm42;^y!HVUfUy@6dQ@MRi!bH{_D`KBP%9V=`Z2Qhb%F%{Tjn zPK4em`vCRJ0OoH(pIe+{Q`!PAXbb4n1T<6jcnzpar39H9${dK*r8-1gL|Q|&|1Fp+ z(8AZxQ`MExagmse9kAXr*ED@KT+)Bgb>r$$AIN7FRtlZPUeYT0g2IDh`UO>IF_<4}{H3@l-ddfn_!MnsNAviNU~L+NP`l8k z!1mq}GH-!e-$*}7N9kJYUg~heJmW00*>(_LXRit#J?syLRz}uRCFuju_l>!n{Ak`R zTop0^KPjS&SEt6?LX36?vnIzUp2mv+;%rhRWtBV%Y?W+QrYQN;O!39>a*228*)$id zKuY&yxx^YZlOjolg!bHcCOiF;+7`VLc^5t&+78^gnQxRQkIUh3liBgGt+r*CDWmZg zc(j?WC@`pYP@5K+c3B!?A@ZAJom=&t3*-y;iUTiFCVD-&(nRP+kQQdp} zSmOxuMQa;82{HQF)7>8q6^|65PQ~ufmzh3nkbA<7<;MtzMNBRY2-zgA0&~{hYyXu{ z)3tnU<)U0k7Qs5n7t_c8(%v#@>VG&W)!`|bQt~7Z#_Oqb<$Y+@V+RHUkN%3v(bAEe zz@6XtbNMJweV6Enkwx&5wyxmO*M?1i_eQWzx)l93!x__iOLgo6ammrkUCDPXkSFYj z{z=`BeW8yt<=KzGqgdgE&{XOqUsrO*SHwF(OFtwgCWM4`K3oB{8k%pU2jk=pND;Wy zxu69)rPrpdU~0-}$h_mKRbi#}!ffs#Gmah*8%9ly?vJbwmka#`S^vZ1b3b)B?Jw}h zwqn+=rZ&b``n|eOx&O?4A$M=x34M3tKJz@e3g`vLI@VMd=r`wx+fa z#Hk<*6fa1>v1gJ0jm5xIiLJpx+;AK_S#R*lwR*=Am;iisl721 zpwiC=<$poRA!A~Gekxmv$xlaOK8lEDj~od#3eNK%^k(zKTro#ZQip%Enk}V4EhqGK zbZeoV)pZ5+lMRJT4J@y0hlmai)$R8U3M>yTjAWq-$E@^KdM`7KZO=^sZfXGSJP!JF zB&eoJiB52xi2oLEsBTr>fgknqQ%N&U9uGd92Kp)rpZk!Qn)E^tkX_twjSV1dhu3_8>DEc<{irjB=PuA_! z|7I*^-U2cDi2Ux{=V|2c9;^Xz*{x|%TCI@0i%v6tNw?*lmm}8fu293@=85vkwEY(*oF*C$72a9 z5`7n56fy*x`!9hK$p{{elWzPPc=V33j^VQ|hi+l+g}HO+Uh9e)XyAFThx?9d8e}Ps` zf$Oqlmv_reK@C{pb9)mbpq=egDxm#+%f|mvBJxmR%?-KN%tv}#Y(KRo+Bc$v&j&q$ ziM~e=qj|xjr3ef5(6Y#M(a=&~PIn}CQ)p>9U1xnBV+nJ2tAzXP$DNBjpM7NTQ>Z{> zDdbb{SW~(j)0th#Wd&ZkOFAs)0Oq_Fy>B`l*WM#%Q0poiA>&_3W29D6X}C0&y;1I^ zG={vd0{CIUzlf{BR$}tfa_oL|HPp~Y!6lIOwY}5a$DMxy!xu5X^_htW zhQCgCI`?RZ(yG8niy13|vY&bp6U(`3QL)9Sdy4RE_D=gul4@zuNyoPN{z_Tl2nISe?X`VT%7MAyc6roD}X&ULT|+uL+!k+ zrb6{JD5Kl*jzm!kPE7jpLm9PMh{ZLVO; zMSQYXb{+K`@(m3Lp`PJ|k!{g`sMj%qsm#vhG6+3IJutX(pqXZ&IoR4f;mN8+9j82! zo1od&HIdDb{PH9Dv~oqw1$h4jwKGktHjlqmCdky!Xd zuufnRAbuvd$N7bvfLE}UwA3`6F?0qT)!vGf(pA5=<{qf+s z(2sDwXcekqtN}fpdBxV{ZwXzc1M(|nqgp$@Gp@~NuARP~A&O%32E?bflA$Kjfu)s7 zpsO_{;6eQUdh!GCm(6M`MKA9bTL~hci`&7pqf5kiDo6BEcrNt)1wZAJJsDl!?PrMb zSa)kab7x~N!w%h5G_PQ<&Sv;xG+Wl%x)HzZ4PAvj&3r=ON-z}uJ<=>Xj+zrYOMBTR zXa^08oB~={n?*PYOj~u+8klGy;CHnEMJq@K>ACn^tRTIYcFOaW<7(D~nEaU3So25V z*rgIA@@Prvt+0u2#j&i7xgFa|4UM)3p7$!)3=sdFC#yS?^Ex>UZ)FQxYMXi(J^BR{!$&KW>x!xrmHHiLu+l8ibusKVtc^+{K{l?Ui?#H736&FlrKr`tckxt`EZ#g`EFOx_ zQS+&nl*+(FbI60F4AO0Jr+8Z|BIN*uX9vIcNVG(AV}z6w$!tjvsOlW*ZMlc!1@_dI z%g=_$%} zep9dj5#m99IAp!RkhC%OGWs~OAY37IJMh6* z4Ln-S`G%Z@x3>uvrzvc>2%PzP?gF|j`sz@ZKALIU5In2Bo-@Cj_rCO14=fC343m+T z(bbefuVj4OLB4~yUpg^} z#OM@#Z%}p>bsuyY3{#9%&4aC1u*zg*$6D6{592%L_Xh`r4uoGsDp2QRD)W@>!oLvO zOUprt428;6Hm=QeZ3A9CsuopeE1zXq9wTL!4u}WD(x9w9%YIb?-V%YH7t&)il5Ci$ z7LTaEiSy>u}44zg)*7!OSjWbxAG#Y2KrHku<4Td zjWvKzA_qE#Le?97Q~hTG_E7im{zz%+K&&X_(rDfK-ecfm9i*lCw}vBZO0Ej{!A^Q{tY<#N}{F1;$U%sNK3Dz zYY-tv)lKo45Tl3DobtuVV#(f#N%2u?4X8}3#EC*nUfaLI#pvkF;L&H1E#X#3hX%Zp zT#RD@Q5f5A*>8Gh*rWfdTLqealm51$v?*Xov319Xky{*HTqQiaye0iR0=Ytk!>c1! zN*meHal?3rSX&x^Mr*pMKh%O~4$Kd=n|eWcE@zgt)n8r2sp1u}uT%omzYKM@G^l@V zHNlspHUn0hY4il`4TA%YKIboT%h<_G8@hh1HuYQd_sH8&pWr6{R&P_c&)J!LiA}Y( zHg`3K4FUZE-2z=qFB^s#6>~*vQLGM81+qT7d#A_m8|S|fC>k0cE)zXS^`b-UOilt$ z@;BgPWzd&<)AK${yq|hiu_}z*SlTVt0nOJG)^%hxir}l>QVv7`L<9&lX6tbC>}<; z@HJ-Y(#>MCsd>?fz@OF!|M3IIbeo;^$=ldqYddp0qt8%8e^GZ)*GoUhaK$*xT-{m< zt4pw7UxwCw3QIdjkPDPuu^A${+d-)dHSy-+q zorhLxYrrdt=fxe;0^m;CNwHZIFM*X*Op3{uiBgIF@ovBfo580!@eO~R>(4f0R?~}O z@2REHW0BoqDl|J#&R5m5+3B$l#C0~OC6}q5p_pD9bNm1b^oe1RDPj5DRs{b=thC>C zHg`|*Jn$<1HGx8*2jQvFx71U*JiCjt3o)^k)J1NtFQOpf? zM0h5Y7p>9_DU)(q`K)U1Os&vLG5H$pkAD-8>?PWNp@9(N&0H49C53Js8v@n-uSl`* zu;5~UZKzE19A}8hm<;HYV$5u?>d)w`=$!~tzCCf-~aT_3zi7q zh>WCuqn|M{*9LU`577i3eXDd)uYheR_FRdHzlqvgiH_(EKLa@GLFYGUExn%@fW}lf zs15I>6XH0b7@wC5K#b0yKg9I0F!eLi8EWWte+_Sb_Z3HooQPGl#>_p9H4QWLwe>Uf zMGa+*cTH_A3EOLIH_^)e%2C5L-z|9;`BDSdgHywq0Y?*{LIrL#e_2RKW#r$1=V>z; zwKICJu{7}jd*wkID3bsYeFGXYnVAwnLAK>?fWLk`#L@~Ne-L4FP7=0|f;dh~3 z<7zU0(x-sw?Tl87%nq#yEcfLBkG8TO!5i7!mg=Twh78cso%+Itn6Z-Srg^$Gj(r4{ z$2ht<@41?I-g}#X8o3r~3hb#%EEh8b?V>kAd?@{p9{_WH3EcUm+Cts0{E(CKI7ufB z6-$6M6Lr!#X&bQnQD_`@N5Y%b>~^9z8t=^tb?LO!QY<7ed~vQMJCk`&|4z4vHK1}w z4~LIIjF$Hvb#-?9AR1zYt(DD_jI9l~AU>Ujy@p4|^5$&TWwr!<2x|QaM?Tj&h|wp$ zP61u$M7VzRGSz^-!BE^D$of{&B4|S=v<^dCscux8D|10BC8V`zUHVw@oj47ug0|B} zBK|Et0D8V8SR}bOQ2?>g{tziX>A0{3Jo<_)%MN08p}v0@P8I-pjbqH|l~$#~M5)OK`l9`ikZ+#wUiq4BHF^jaf}u%mplytQoQL_!EM&?{gG%9dx&X7#$QahUSD#(b<%h z-pEwozVU;_tx|U7A5fQ{!O|3ccBo4|pf07=&+}prsGr%Dlkl0^@eGMYiJZxH>8l2{ zxkj=Y0FUky{}I0N3O|O+#T7wkPo9ePqE1FKhR+4s`Y2B?=TnGLAE@P-rWr7_ZNwVG`*_5!a(KD7T1tYj&$lGT1DxEyfwaI{t|2Qv?9{SiS0Z?JMlweXL(h+wtHEdPt1IG_657ejwZJ|kDkVn72dEt(Qff) z|H@V2*0L;MX>FQ{Ek*N4FZdPjDOY~SaiS;|w>B};rsl?i#`?ww#^I(8<{p;i)-Sdi z_<8W?DMw}34tEcT(Y}Ez!9L-P(HT^f-pn-SUhyNu%hGL#(VFUR^|m@wwZq>%1rh3& zw4Fbz0+Rj^`%9(dm+}Oqr&=VACuS!yLe4iyYO~C~#Lokot%qEiE?y9fLUVpD=i$0S zls=}f#TrpdK#P10O!Vz=|KVIsM!};+ET2r2si(1q@u#tnDQ1=|g{>28SFmsR3^L@{ z?2NkCd&>D{0gkQ#=KL~RB9@t1$kyT?3yq}_Xs5J?$OeP{B$Z0=m($ee0`WfJ*DGnG zTwC#j1~`o7>~;r6+CBL$Q7$nIa;dITN-iYT5&sahJ&X3Ed|Jnhq$|cwM12ukXf4F( zVpkSNVImu3{U&o;(<|dr;|XI0(h9xx<|`Gr6dV|K zMYmGQVWabX~+mZ7-l={A}(EtFRPg(|pPj)rao~O8G9h^E$hed2!xW+u}7> zH)RDYWjYBxU(?di`lsz4R+!jA7IW+Zy}Z;z`3`~>ITtDvIU8LQOJy#BX2QgA;H_PN z_ZI>2H>v`ly|#nNzk89a1>V$E`Ys&+ysroqL7NvBgG|zL=@81Ld}>Sy0vpx#1lRW0 zdB|zIg0BN+(leHwN{vvVcK(;1!mi`?L4*qvtxwDkP3=vrshnwzDQ^B@erVCzN?uPp1h!EM*qz4kw4GjVLj9b8cA{Ad zrj3qmkb25K;DOp2w%&k!*BtQ4_{j62Raad$V* zV{dc6Ay_kHi|me;fy#81ZN!_PI$n`a0>|5kcBEK=uu0o-;gYys91qt=K&PMJQElIa zy76G*S)x3kQ@bRST$I=ozXEFD4XCTU(q!?qP+C~Pd-<8%N7le*WoE{nM2(T1!Giv| zp2yCb_6!7vb++P`xOs_bIM{JhMKf;sX^GkzVjJ*kk8c07NkG7#)nvZhnlX6>4TV<)O#hilPK_7%%`lLvTcBbD=K(loMD=g)+@O99s z*g5GGs!C*2FySBN$>BO=uS0agURu{#_L&Qszni|B3YzzsM_MXcd)P){ukifjY&-7k z3=E(5o`I}i5iAceI+7|$$Ji&_ULn797`RgxVD{Sj>2pe1VD~|Jwv<=Wc2&G2einO4 z8Rf(BIHfAEW^IPf=;YbtD(L$|XvKObh!!pTYD()NN|y)$Kz$cq1)`K=M#RQO>xOd% z{l0_l+D^Ou3r=8Xt$$h0n%kMnz;)JK&63X=ww1$%;TMS<_F;~P&YJFxP?_fWvjlsD zaz!>qhk{3oaslCFaC%@9Nu`>LukRI?wS3 zIt^f*Pyy|CL~(nWcd?w*rZ5vc>MQ5T>>6dCPGrHG+sauxTC!UnnX_BkT3%Z=T4&o1 zVOMdMYzv$uo2x%~G_$XX|5_jsx(+I|aI70sohv0=7mI?o{Lsb)sGZur5R=eJr&>Gr zL0yVU%cM?n4W+OeL-X|0c8BPbbfnMZ`KhER+P^F+%>%A=RhTB>7b*t`B>MeoWns z%nZHqZ};YMKX5!JZA1smZNscXECH~_mLrySR>hVND~3-b_K_w>Q|Eb?-&4&y-S^So zJa{8CB+`|tOpkyHnj0A0VRQ0dE{anZCf@eER9G$y`P*{CjzkAeEx zHMt3Lsd92<`mAD2VMXKyP@ATr-HgvcMrk|ReqajG4XEwm89}Rmj;Eo^h0 zYi8?gOMgo}%U(+}==t}yo7e-KB%9g~I&!<3yXS%mjr!{az6HC4J4frs+A?)OgKiNi z;7%5`3!rEh)dHE3Q&}YcL?>}?6emG8kz08RvXw_)iE(XODCF8qM&r|Yz zRC6_^y-v{1g4oM#XHywZ?0aN$s1hLlYG5Tn`zYcj*2^~4`q(lE{JGGQ!@9;=1w7gm z??NmCZP&oL!1cv#_9lHD{SO0!Lc=39sIqi`Ezh45dVxo^8Km02gAB?g?Va)z$t;}` zM}eIZf0w=hztU#!X`23SqGYl;FsHkTdg(LtizvP2%aC&~#Z^dOYx&fjufW}BiqK)| zV|Z+^vj3OoglmLjJ$Vf8h841nw?2bjKVr#k9S=SK-S!m}Q+{%|{hlM@`rX|UvT3g` z9GDSo4eBllmB|Ubd8cSWZ{ayrvt!CIC6iJgs4wVw;k;|l34I^I63|l4 zs)uX56}N4-&Ba#Ww}Fk;cT986a&2($L?aLv13f}jB5sPMe=)DQLxLpr0|xg1>P|$> z0e`iSqV50I9x9FYSDQg?64JGDYrs)EwC`8K5AEEYNKJH(FGqX*R+l$O71C>2GcmK+ z7wXe^F3Jv}n^PSl*+VD%O}(m{b(RCn|AoD<;kFLYO3qr*dfr;Y=D|whHHp#W8v7l` zcV{lQ#pCmK@@)bgnhZ11@6==ZBl`fIYIRfo12~+v>&zv{r8ly+XORz>a4n?lZi|g2 zMmEDI?gGo>5^ErzJ|xbev(K``U20`zEL5^V@I(g03~M0<9pNtl%by%;87&ib2ao%f zds?EsU~&<2u+_Glwnf$^V2iA@?Je|t1|mu(?JXURovmF%+><=py&rr_0!2e5BP6Ax zL#&@)iFR+**0*SDTYf4t&|4b~o$jL(J+!k3qS7&Gy*vZWD0mhB0}#rQyquVvzS>2@ z-HL!t+FpfO;i-A(JoK~ta;_LVnw||Dzjr8K;IwzPd!loV{Wb9?-Vf_<`v|?>0j`hM z8MXmfD?q1t-x10w+FaPpHe9Qb~Fcv0IjC#18d`s}?Qn`V4^>8ythheWpMh=WTf;F5KViol`xO*0a|n%y^`7*851fOxZ_>z ze(f|l%9HQ$E!b9@&NkHA%sLcMbgiu$HV|({j3xWpn>#8vlPHQ)qsq z71fb$$Hw{D!gKL0oHl27H zZ-VB*YWoCg`&s%B+uDh$=tSW;D5v#oIp!~j(bnPe!JNSHce_41aQjgrf&0OuQ>|6O zwpsJrvSBZ=3-}IVJGtCG!BNv$*p(l+^LKA|f1_ZYFbC=`mC3=a<-ZG2H2)?52%0G! zLtl!&0U8bx8i36gVt}Pnq&jHS@eE+;RWNNwy)o)jMZ?f9Xn)vKfTE)SN3)6Zg&%wh zFL2kGx=@+^h_nc);L(g8lPd+CalRCrVEb(CY^`LSZ2b(Cz6n+qFGJ)ZgZ3x(RgS-$ z{aj1j_dL~sJAVwiBe$dHV|$stoKI*c{vqXomS#$C=LYzzEuoza0JjUl*F(Z@;!Duf zyX7IkvR*?=x1ycjv>8Vl)6&|R#<wYk}>w7O~~P&R|>dxkPh_(hv6Sj;+qcphPQsP5$M9HKCJ{J=8S1KbxCx z1yytg#NYz7V_TXE=>XB$LdYsS;Ij&)gyTX*5eGH$2q~7YYMyxAxFfz1>aDghtqVU9RkY6*?i?IMD#hS4aD?ObPhx@i0r#U zUUU{jEtX&!#|B6Hg%<}Q-n@Uf%Q<)19}+9@Am+2pv(~rvv+lE&v^}-0$GYPUiEQKv z@=tqRM^R@PS6}x#&lukyfxICa2xE3SBRh?|!!u%j>6IkQm1J2yDV3HEh+c7~fD7yS zNnq#sn!+#P0I;ksa$O~ZI#fLh);N8>ku0x7Zy^_m4FNyB;xA!`P!pbf#vNqqF&ELA zkbm!x9&b((tkOyIkYu$ zl^RJ`W3%zKg~4K3sFD^yLv4@W!+@SMh0pvHz9KL3o%u_As*q89BCeLELQC%`CDdkU zolAaY3;1(2dJEYEFgK%kOSmP>6lx2XcoTXX-kE+&Rf<*&7Yvs4clB0r|K;3h-%K>Z zUEt9!DC+=NK&QW_Le}rGjlfv^BR-udNIoK0+9x??11qiSdEnjZ9~N91ZW%2aE6m(s zNArsyO11e{C(&H2N8pCGXm7ePSQ^t$EMg0SQ~;3u-><}vKg_B zSZzE5v4|*3n(fzs=RbBkEwEes2{n$pPDYu<}D6A4C$lWTCy{FJwGd^J! zpNIdzT|{Rd?BoXtt;H$`#fmFKz_k56=cFsEv5@Hx0UH*94T6l%Ak^SDa+}yiOn!P7 z^*)j>+%DM5-`+dUJ={6h4z0nnVTx^ywT!hLuu-dREAY|#pzidkoGcc6boaB+BOv>RalJ(lOIp>+fI zMNK1VCyP~szs2*%xu#rkxQ=t}_yl|+J7}j$@<#bH*hP7gY?7Bjzb`<0C2s|#G)?Fs zBv8!od{a%2yG#lLlI0V>3Y&$$gg?Nl0H&Sg+rYDT*o({&x?=1} zv_)h{XkuWq?|^5mYYSw38je1ZABnrB&z&Ek1_`jZr1L$@ky`>zgoe%i@{4{9ed-gr6a@)B2 zd>HEJcriuVCHd2LoZSWO{3wn`Pb>pVYiAgqtm0niSH{E1I%v&bs-MfZb5Z3m$VqwOfBOz zM%Wi}{xh$g?Vz1Rd4u^vpNX}hOi>;XznDMj{p@<+C}iJ3Gyo+!1$?Rb^AE5uHapf2 zyN4CSkKp5p?xfRR%&`o;9cke!6_^(46=_4|r`IvLxHyWzn5fwz=)Iok>=+sP?=&lO ze*%(bfGBJSdbEl(MbhTwYw`I86lxjqF^W&^Dg;jkgq`R_oU|C7MtdNe*hsxlLtrJC zr>d)sV+$aDcDy>|Q+rzlxYpXv+1^8pZbR8bK{l-?X9DKOK#leXEm}8NF-%2`v1zoz zR^s~c#f2k6+AM-wNQkf`ApVf_6*x`p?}*d*HjKd*+M0q5u`RScwlP>+;Cc$a z6|X~t$fx87dlZngoreNWs)jy?uSDm@@-bW3hunH#9$KZ=7{z(0@yh|R53=*vgKSo= z1!v&3`x@3}2L__;iA_VL9gOPx4utc);JF0U&ht=l4e)eUt{~fu8Alh0eT$ZiGzE`V zf*M-JRTmJy6Ci0f>@8$_nyrSc*YGJV@0$@k`!swy1bu&2RH4pRLH(YFOpnu%sWIyLo4i(ewWm+B*;o&Q z(R-*e(e>e}!AbsB-rDYw&U5yXq>aGw)>sbgplv>~gTS3jVatJ)b_Q-ThZsVRw?A;y zcTt`@-dFy=gDW7Ls>YtuP1sRfPu>T0TC3GQXeYt9N9RQ?V^6Tp+4dX()xNQi1C5%P zp}K3jV=Qoj98lxaD!kTCAGC8PuRT2xo^Hv`Wwz4eW7(-8k@=z7f$_enz)BuD>ezn} z*YU4dH_V2;hxpVY)P_|DkKV)zrAO&UGUiy~%UFgq9UFvhJ3v-&a@(1}+ z!bqW&5ETyc1^I0dp=a5(VDH)LXx&p(I4M*Hjrma|L2X_VCxJTERO(4UChfUapai0T zP4nRC8(ejGnq`XuD|tY*j?N3Of*LvvSjjSH#4(8+M2y65W4$pucG;%cC&1BK*c|LO zRs{0CE#&=B`wvG$m&fzM`_#W3s(qKJEp~y<&ko|6@H%wL1uHyFKixt*BW?>^dAZqK zG5#q(4w%bS@w)f}OdDV9F2>Oa<2iIH#yIq>4xNn=;`efSxhd=!<{&*W=BCO<{sND7 z@HO;|cU^Lnv*#xDL?L`SmIRMp0Mk60gqBVRpEkfB;KzygWW+Jisk*axclg!?=7ttV zx>7v7jd>0p-3d`x2yrwGoBmA4rqisE>jXVNi!TKDRR;R|EV5PU)%G#`HjUp6`7cIm zq355oX*Kj5<%o6(cMg{Im-lvb_jSgAkaNr{o&}kD(xG?uOdyP3ww}`!q1|mYJdZ2_a>6ztv z?`UCH$b3W_{1Daz^J714w~+m``LV*-A}ofV#{VLALTy^+#ND4gM}0d2V?wI|@y+xA z<~nXcRskf2bVJ6tXFL~R$&pE3)GDB^8ffvJfLp92Wxv(#`G;?8fpyD^j zIiecb6g)c674+DA@BI&g_kfl3i`kgE5Tg}A8QGzBYD!6j3RnuN=L2*);7VxcdQeTf z1V3u$g8y3TN2awljWegh)9camFQEP&WPdOh=nk<*(X0`3C^b;j*UodmmEAepK7{N| zY{C_M74$v@D3t?y449t-z8{5|@vDGOhe^gU+*!?ydms9)1>T0GMnmVDbO! z(c{RYS-~jqjRCx5hn8d%|Mh4S)J`w5j0p30AjD65z5}%MI6PS&5I;(fq%uamVK>zJ z^4`Aglg{qIpMDXAiC#E~ug5xJ6)_`r(st6e()I$h(|V+xv=PXsj;gMtCx`EgKWpe+ zcw=;O%)+!`mv9kuYJ;ZZ+d+&Cg&57i1>x&ZE;sz<4c|?;Droad>i=g2k!fwcDrl#n zbb~0hp^<>GJOfdxosqnOE)2T*|6A~Icxkjn>;#<$IA=z{zr|op z(3yw50SE11bpS*C@Y`HMTj31gC?>}LKf}Ai~U**~6YTyhxvf4vr9pWlp89xIpqaZ>L0y8-X9@Uu16udX`Xj>=kc6&eg z$lyPr{gEM5WqLBRoz*hC1H@uld<_SWW(I^Q1sQLE-+hFf-vL`ggJB)X9h*vR;B1o$ofe&O652*OE_&62u-nFMb89gjujx5TU2R zEZAg>gc!|D7O?Mhlm{FYe4c>WC^ys~?Ekp-e_=b8ixo0~YIa=9g zkQWJ#ScZr2y;yzhyX`8n@3#7&@0S60-bbc5jywCht9cXtJV8g8h;E{q(z}_nkWD=>@dnb$JP|Rdg7+m&k`O>P$LDY4}tIdcHEAk0?eixBHyiTys60e3Juzg}O#ksJ*~P zM}TS~fc4A*s{!2SA~z9iBliK=-z?yNjiE~BK=Vk`tTmW+?oDg>K86@nS{415M`@!h zA2@-_#-5}Xus#^0xVDPg#)iZ*I$fwi3ORGY#oH^W0AE3 zwAQRVe18_&ISr8Bi=tAStu+t57te~`C#9WzRsVl7D=oXO0`|XwsuASQGY#m=pqY~4 zvB9hUa=!DPA@0tu+Rn<3G4{h`fb5CT)PSD?lxhvvDL~On_-^76S;ld}+0iX|8~FW@ zOSz**sE+gw<^j7V{j|!d5Tj@~nb&^)#upIg3jYWZh{a~&2yumYLVPY7q%?aDKdpe@ zHv9i9BK{*Z5VrH@0H0Esp|R(nLTiWS2T1>HZ$*z2qSWpbA@k>vKZu^hd%Qia!;fN1 zu@Tr&OovavdlL1@x%T4D1Fj~ZmP-dphgw9O)T3AhW(L~>P+dC(axppyvKZK4gz}{U z$zKa`;PTokj4k37@tf$B@*;Ce-{9vh@cS<4{O*6P3w-*FKnsodI@~*^GrbHv+AO>! zC_pxq_If<`UAvqo9N9qM&mi9s9e_s-!?OTN%>iV}0^f541}Hk#QP_3YJsRcG((qJJ zOb6+LY%cCAr=46l2d;j6+IM?^M>hop&442Afaa5FXGU421Xwk&gk%Lf55G@4`D!iP zJ&!&!HvJ5&Ec`6i#w-QR)G9JJgaw!R3ExgnUw1RtBIgXpU3*@8SMoJM6OZvB_%G}i zwiB*K_+$JGafu9p1`WHN-kg2|^gI?_LKUOWFjt}HyYt=ANswu$L2id$Z}4BQ|J&z+ zBuEvcj_IbIdX}~d^8~v4JUuG3pMMkk3sa#sk?c777F8~~IP3`x3giSN9q(!G?&+H7 zTgTztdkXl<1@eXpLC>Fw2~0~sQ7g1_%YSyA zcMA1{z0l4O#N1FcM@xrV*sKjZ!4PF+k4Y2zzL>{uJy$hh|9`^?C5P#3$ z*l^EizSuO{%9^>`TpA-e4E6|OlLdycT6l}jyVhd!y6BejOZBAw(%2`4mTAr{w?Ks@?c8L>L3gDtNAiT92P*|K z`A>Uyd#1RTy8dx`K$DC|7&V8m1C#m_-vrz~A90&lOs=ux&QY#99>SLk^}L(95|f#E z>3hH&?QS|UxKg$+W_H-bLb(5S6226(3hcxD%bMj94rXCmE| zGD90mfHgy=ogS81zANoPaj*yO2h;Cq=Zp1~wg5sc<%@DJnSpf1SchnaNVibN;A8(f z-wf|4Xz9)WX=!)JsFl#xw#0bi-G3wa9o=T{Dc`fetnCR4ORih1*<9#Gjr=dqv)c_5?cx^7~8p zN_wk%+PfFK_By{g;!sN;k&PfyZ$oqj;JY05GxpC8(e;n}pm(c(0@V3=(E+iuw8&OU zSHr!~S@CK4lS?WKIk6hOb&ShhcZa;${kZ|{EzucNFZwtr<#T}c-}wH*en9tTfbAM?Yq-8adM^=jEx9M! z>*<&5QwpJ7=?W>n^c|pP!aeQoO}MA+RyQB45n7W!L0TcU5_stQD$Ma%8|q7BR=6=# zCu87)@0B+@RMHe+CnKE?94<#U`x|mC*$!+i`G%ZkuMdj;rK_8#y01>4KqwW^{!pwT zDCI$13H~|XNw^?rt3q~)KSZC@Seh>#l(NZX(Aei8AqG`?mH0;N zDov3#qrG#qH%j~DdvYeFxYAr126jwY24A)Jp!eX;9JDv2c6XTa6ilyb_e07Y`Kojl zJX(TZ&9-24bbm^Yo(-=H4TC6c?jP)%?VaRV>3-yT>?{Cidd^-B1h3A%jC@L#v!AnX zas1<~06qV~cQ^1lbSp9&(0&bbiQUUBR2LzbgOdu`h5< z`Ol}PkgqGlZ!Rfzw7<7Dze}4@*jUOVW)PNh`PuFC&{&u{5*ZzC8j1(=1uFZi`a-bH)IYz)uVPrO_8o9iQ|sG+fb@US*>OA#H4FgnX0p^q*eL8 z@)XGN$~CGyS=E#DCAy^oX`9k#WKPSL9H*QzJC*yEAMXl)C+Rpx0%t{_oJ3KQRaEtz zy9&|0XNc7D7oux?wl+lH*QHtc_#9{AKl&yRW4TEQTbx!7pmNY95F(kgBnEFZYFzLlV`P;(WkY^Gp2Ls(*<+r zRTgK-dz$6N^5S0lG{ylaw)5=-aQ9OsNq_#3+QTq0@2B4R!T8^*k`2~hyUNd1R#p8jDZAR?l%8pxjK`TbvU@sGm@Ia*}^JoNkIP|DuaUg(y>*$;EtI@8#f!I|H1`O#-i_Z09BHJ&Nj@4M-fgvLU5 zVXg3okmP@zzL8Z>EGVAwZ}Io@hy9Omel5NFNC@N17JrUd8QGJn>^7XwEj^NnT z>92;iC(zv#^!M^381WI^i}ED;sfFn7Yw>@wtC_jZ@u;IMv+E&8wa@6DK00ko>eiIU z)wF6|lNTqQtJ)g;^kJ21Rr^-0o#ah!R_%1k8)*eI3TG|MZtb|}Y|9SgHt;Ly6FBGT zyH)yg7y-m>PhpyHLdZw=I3g=9kX0;R6gm3t;9&nV{(Mw2V%NzU7t8T^5hI?Vd*zPs zeuB79a$V=XVMoGC+dCrYn=`Yx%uq(d^d@P;f%IXuiq*K}VM!;e_O2R$^sf3u(&eQ4 z$x6!6)Jf@5=FO}vIV$>3!bqC9>LZ7K=V|Lb=k16LUY2I}@yLz$g`mF|eH*KW_=Y$H z@&=9yh~$kDvTI~zKe;~LxIRzZ4jF>ujkwZ4V0|I4=sE9N!B0kYdY-B7%yCr7xt^6j zt8%80Q765B+J@8vDVM8dR|_Fal}lP$b!63FtBOf~ByCQzTS+}ykayXf} z?9bf4{4Lj?Zn9n`(dR)hwb!7{$+o@kbZsrALbOVDn;b~@pK5FD=Jq14{~}%&%SqQo zec!edV0-0!7tuKlalL~KrLs=&=j%Bqv+re<$zn2VWHe3x0)DzRp_a5d#?aHZLb%xTBv zoXy#HvhHRw=u3KmpM0IVG-XD$1IbeI@}zo6JU+{lx+hn!wl?KzYUlL2nZIX!k@F1t z&)aMm%&DQf2Qt$m?_6Xgl8=5tgpmEE#?hx5`--Q<45@=OSb7eUA^m_e8ss0kwm}uK zh4_Q`1g^}dGMMgysEHpUL(N4;^0}v-yAk3kg)7M(ah`S@fleP}iCJ}HNOhfdO)ioA zbJEXAC6Y%YlKQ5cOMNE2Z04jaKIgEb4YQ4{z$YO$1<`X9MqMY`yd|h~CHD>f$8`4| zqD!*36xlO&36APOXIrUWi43AU(A1Ge;A(l9$Zm|e06*>FA1y5ME%8qGeBf^7l6fch z1iQ_-+i^VSZnitSW>(A0i5a8P7p84WJ)Cm0THR{%liMXf2icX}rCQ^Zp{b9+?F(m3 z$QB$MVEKvM_xuA_5*X+$?-XCu*iUXa-D|)rzHjVwxk)-H<(D(%{PIa@8ora&|5h7v zUkuU_`Q>NjHz3bqR4@7#!3+LD!eC!F@4KElZp~GJKf)ekt~qZw3Lv5yW_QdQkU2SH zT>8?qZK=mno=$nM+Lh!bkSodWRZ~)4Po0=nDq~Tml)W?OJ?Ae>h#SuT;Ccdm2YJG| z1$alce<%5XRpi2cFtk)bMNqbT&LY7z>&}R$Ua?T{QLci*hHKxt`}3K*QG5| zw%m#Cboe)w#rT#jpTqe9RLCw~Md^sYWv}uI#H*0~4!6*EFv$v*t$ZJN-}Hpt9#{nf6Nhnv8N;1F{P^UU&Y%yur=obKGxuUh_8d)e-)t@2@K2 zC*pTvK8frWdr^8({#w2+`;}Meir#*utfKE5TU5R%5h;pe^7b7WF+o|2&j%Ruwd|A! zOW%nH{eKHj3dg)xJ=@&ByO!}kaR0Cm7#GvQ+1IfqXDM{LiLOTd3;3y;dMITqU%Uoic^UGZ+$n=fCI!_BkpY_Bq;CnLSo<%Q@Du2pRPcaH$_Nwxu6RD}{Pm2;xW`p89f{nqDL0gUpLrHFH)wqRb+e;XiX7 zc5~o$QK7W|8)$QCOqb-1-|OmQf2i^kjA$$8l#vb|shXTI#;;sf2E$0yt4?)E9>|92v2U{61YvdYY17t*#DK zw?k&*H(B}q7|xOvrYl2KrI)fnNyGWsbl;Bi7&j3AVgs(dFE2s9U55(wJ9PS^XNr5D ztEej#obNq$F|!4%Z-35}?CsF$zKmbf3#GS6OHTVIH9768wCB=GW%x5|X7vOUZSFh( zKC*$Yg&M!ZdzHSONZzV>MH*-93r+Uu*`cuND0QEDQ>~!+HL{Dua>HW4G74t2On;EJ7V;o%TKe-DT&A4WA^V%03eJ(tMfM{;pSzW3p?AOUFJT#7A+;qk zH(7J&vRq$Tp;S_Ps7KXgt*thIN?R>i%cu2Fo2a+xZZp5qeH|vL`EY)KHcQ)v&n%20 zW5^DD!{iy#$KoRYVqpfV{vpp5caFP_t2@7(+euf4@HvY*?q_ew+Ln0;NMB9Al~y5L zPM?&Xl5sYpWY&YMx;fuF&Nx@FDtfxZ?)u(gzORJobiLz`q$5(u*n9IQ#ig!P@2E|+ z4Uk8WW7=e`sdfivN2xAINqpYLx2JG+a%{{7t-JP=HcGvsWGSuWkEBlGP=8-xif@(o zXU`MJr%ha=`0dOQ0}}&l@cA$x25x9ewHLKw+C`N}F&vM;m~sI!ii{(p$_0MK z`FZL|x+7*SsWs&%3w)=&4?Lo0q0~w@Bb$Z33*@7}6a_e_~84I_eC@6%3xiQ7eq;j+nYc*UJt|FN$x%`s;kZdO1|n zX~$|Ku*^6?HIXGrG`vm{FtGK5j zxX2;lsQ)mvJ6Y#?0&-#>SiK$W$p=OS?gXS@lVEpzq~LyhuM6Am(iXzr3-P-oZ2fLv zB}P3Jl;{{T>RpU^4%R<{e5&u5^osve`nI?PF7=bU5c()TUz~fu>~zjTHC>7C7 zss?)pzY6{U=^bnlyaylnFyMoAZ{T`49DNuVM@O}wHW2yrkbIS{{{Jfc zbSGUgZlY(eyO=u-Y^o@C0=?;1jvhG+vkRe*PRjZ>GbyW8){j|3vtP<-;u!8c%qZM4 zKH&bw^8{+rKz|#tj&x00Ee8~`pXxl7(?$Zv$AJfd7QxNI)4}Xe;m~Ou^$jKmkH8OK zHRNL)9|NMM)N&4H(eZ6ZuH{2!MnXU)iC3Y<{26cZb zYLqv7Pu6FU#aUOgx@K!R=?>o6g8362$Vykl)7SfxuL!!HLa0XX(|tEheU^h(h&E3I zGeR{(Z{m{?I)U#Ys?{~PIu1XN1nvbwIQv8Ji4Ym5kNPTDHAr;IXm6;!==!;*#boGo zxp3K66Wz)0o@>x)ao0X>K06u=r8`*PrR)yb1+vd(oz2S19-7VP+|2pYQIP4#ZskPR zDp>w=-zs6Jf4MjbeD19LDOkl9$elg4{DFaiqQQ~D8^K1Qk3th5ABB9O8#q%Z$OX>_ z&Ih(b&IdSr9~t~5ST01yeT1L-sG`9)0^cL&demA<8*sh@l=FQh{NrncZht!}{~ze0 zzv9NQZ=>ID?D#yVc+Sx58rkXi49zZ{vp?rc$0p}}y0Tl?Jsnm4Iib0KkXT=;C?Azu zD@E0g>Q(gv?Y=fOkRF^LEEak!j;4b=_(g>&tK&jr(i1t94-YKJp_1zBAE z9I_0bx}jpBA-LK+FhSd+o>Lyliu|6mP(0&r>0c|97hdoULLW62Y^ojK7}>NSlkKeU z7?x8wXI6IK?3VZx&KZ_d-_gwZ8FK_xX*pt^yaWCOI?4OuMPq-n7Bt>3Y40M6CkLyA z28OnTo(w-3K9Ao6L*dY);CdqiNI^XttPeg4hH-5MMr^@PGU`v9-;aFIPV1wtrF*zM zBTc2N7%vvi_{ds(?|M3*M)}a2mSZnElc3XOIV|kI15!Na^Bl>M6J%=}KiZj&5O8 zv(N^Ndq~F~#c>aesvq1LI1LWaNbRi5Lr0*}UB$^;;}3n6d~R<|)ToN+_H!8D5XimtiSfF}y!CD)bU8`xmax$LFsg51X%qZ%E-L;g6|E;hPv$Ec9G( zdf+g)6srzUzN2d`Ef#a=`ugBN-YoCG?#r$}`IX#k_6O#7XK80A$N8MuIRhbEa_Trr zJMTI3v2StT@=v*6_k8Qk6khN*5Iah><h(7h_oAoK6{oOXZbTEtK0rX%u~IZHZ+I0`y8=4{M41ujz3xgVWUDXuxc-c=Z# z(oen{LMA%*{PJJ&NZ9=kwXaqay*aDX{(rj%Qs<`nn3=_}7cG5J|6qFHKdS(=KSA zqh=ls_JgKAg@#H->O=TQ$;d9M)6DQ0M9d86at5?{23mifYV!(4mNdq-$CzN~%iuon zt>?6<>Tl?w7bBuxm)6t0$etHoM?BT`q`S+zc;3aOft`Hl{Ke79!9ZSg{Nnh~8DgGc zyK$TO2d?Ixwcgu4vVL%9sge9Z-lV*#me5w99;KqXbO@CVj}6}stC8lBUXbPyHF7_^ zD*STT6}}q!iON-safRQ<*+bz<5i*iUrN|+S`YGfHwGK`S9MCxJO=GuNvZBd6x|&TX zA=}4zlh8vS=TC8a*}s^A$fk!K-KZRPv~p%LCE1ExE&dDF4R^@NX`+nT&`cJAiERZx#-s-`no_*8RC_20xx##BOFD zI$w3(ax913a(v``=se5pVefFw(9@mq@V=440{=d7qcl(Mtdv7$>Z{cZTn;P`HbbWA zA1)N>5LptrN@Y)Ec;tmhp~zNvU>jsBBE&bh!Z#hbGTazR#yK!5CEO!)AXp+;Gw_x6 zKy8FBno$PIC#A|#193QV)Lh?q??6v)cNf=Sz7^`zLg=&)^69_GpM9JKnO)2Z_DAj_ zU*G+)=bTp%I{5pFZ%Xx$>yIci)ec~7`vX0L)kEh)pM^_D-i!PesS>Rc)$sW(G7jHM zM}7$}4u59I;_%-X)ez^uHAd>=e38Yd5p6@0Y1aP~9YHIV?2+=hyhD0I(!lxNhL<*k zmqy*S!J<+)mF>!0a&~amgbZ_*VpcId*f!j7eygjJXQ=m}?++nG)OTL^QfZ~;XuGwQ zf!Bg*p>3f~!0;jcuZN;7@F55$08_ch-{F1XrBwD|OgWsJ0G$8Ok@~m~F{V>^b|`;H z34Rf{qIJ-IR8!P1m0NN>c`#kY>V{B4$nZTxxA%wZApbM>4||KL!EA8$f=qE9ceY_1 zY#C1F-*;_t-}K17PGERT!AJVbb-+drsnfJKz%p(GCxlwVq8%caBCcpxDlbP%MSqG6 zg)d}9oUZ-e)Sa8`wGAZvGEf zE6-QpBZq`@{?pVbAm4*>#Pm8jGT!=Dj&-$q|0JK zG3aj~@V*D0yY5r2-}qfzL9QjcnrXlY_>5=nGt=4j+&lbq*A;h`H|Tpu7>8IQSu_B? zyj@+YjRT{9B6KmdJS<24jI@gW7(ELqQvJv1%xJ4<1X^7enH1?Bd6i0c9IuN!#JK)+ zwtq;x))kZ9jLv(x+ z{ULgS$`3ehMkD208vXClSRaRP_aYjuO~sge)ycSK(R;Y^cer+VTc}#7XYdX>yUc%&Y7}RL?7@N|~OP-Zzm& zd-;cm?}0fzV`TfOfp*})<*DTh!rF_Ym#OT+QF~amAndAVbzQc=KXT}}UD49jOIP0& z9fna`;1z3872c&eeDSBga1fW0&etqOXB!vci^t+hW?Q5~cFMc1qxFMjRcAxuY4 z(#P|W`&rn&KevHZ*#pR*2bfBTq&6JGzvPO#-}H3%4g(|U3?FSPy(oLZNKUEqwNZiY zVC$LTpTqA(ZbzC$zl$D=KEmf%baJ$3REa(vy&d@`GKSjzJ^Vh1Q3|f;;~wF6PmCD@ zX7VXAem^k%#=(`y`SY~`+9&Apy~=0uHYuO^^26 zbBpjv|e<1^g#3$ zl>^bwqg|r)qQ#?^B6A~ysmzV+q@zB^xLeT*)hkrLh2we{@n+;ixJCGP^m$9sGL~VBA)6LsJF_?0iCjOvJ-Ge*(C7@` zXkirH-Tft5RURv6)!o`RfoZ|Ep%=q9!V@CN(Y}a{Q_(`zPvQ4Wd<#XB5l!n*i9Vz< z0hQ~YNDEvu$IV0)`v+IbMMfg(+oE$01iuNC35?L5)cUJ`BAP}cnx2rVhD+da;$*JIozMH7sA=^}v&BALkt(YeUIxKSE%)3>EH4-27gL*mvQCeHEtYY>2Kz5#?6jnpXR>f2JoF+jor;XHN33PDOC19_FoWpORMEx z%0RHZHv^3k^-rR+a3i|)h$hmEM*Kk<@9s!RL*B!fgOR6k)f`2}kZiBV{J)6#eSx|( z-)~fd>R39nI}82DLGY*ZzQf+-$WHZKuk&rVZ&@FEgZYKI!T5kQ#67`Z;`h0}bx#M& zd)L=k2phY=9hJ8!U#km|@dpJvqt>qu2P4yw&GVyKj3J}+F^ACwlnr+dT?n=b9t|`@H&S2wS*@+kP^ux{FO&Wfono3lAo#%Zesj+T zPLf4sb~&@0)+HIX@6S2-GOlXw)9#-=tGrWueT7#9)C8%KT9;?2K+jW#r@=)H)^nHz#zcM3bfMjr+B`bqfcDYXyv(B*W_C}pJALfznpmEmzM;fF2ZjrZ}rTUdbiUBlI~IO-N2Z+L1;D(0ALq0XTq zp+UjNfgXWMl#31nYwkxq^tQxHL&WLm?(}uZ3%RfGC%C7%SJ{3hlWFEWM<)hm~};A!iblR*@yd74u!|!%vJo` z!l7Bg)ZnCm92lc<+5$C`&Ooe@1-he4x~S4;qLRJa+{;}<`H9?q;G74PnfMH0{$e__ z6}k1O_BCCl-FMxSJOjKPeS+Zgr;F9lH-%w)w^lB2B+xgQ4J5AcXmn1ufb>9kdAMuX z6)qLtiSxs#EDBu;l?vCx`Q;czWI4vy3tz&u?9f+W_G{2BEv5IHo>fm8JB{s@98!OA zl7F-?%-7cI^Hc_FKE+k!>KZr;;O9K>k`-)Y?h&_{|IGEWyOQU)M_-4(kN*>Ks5Dw0 zp-fi?XfFiH23H50qvF>H4?*k`nHO#s&IG^Q80r;jPNi39I=&S^^tZ#+d34MWd^?Ww z!O-epLuC3F0^78xc2sSq-c{aHN-GQG!g4=k`w3biuKH)j) z+D)H|@Ue>#Nkt*G5l!V#n=~-e`FuTB1@~e1Oiz37OTK!jPVL2pQY-W$tXe@ktW6KJ z50(s#3f&ATbau80a?#Du%Fw%^mqL7~q#-Y11ew9D7$&307=50X5A6!JM`j{-@49K% z>0R^rbf@cP@^6w)`c$0lUoWim%>oyFn?7Yko-{a&?z22|%~>A5S2IEOB)U+Z|COHz zmS5O&71fFCt+$iTJPwnGDj%z1^dnaTqrvui(7DeV;gr~%sEjOrz>vE^*_a>I=guGE zXagN{AZT*Cmf8b#qFPa1fn5KWJcQ1Wu12+GUGMNixasVDrW?h1%_-pM zKGT~m$j#&G^A%m|U47lPJzj&AmJy3d|466g9m;a`OYQYQ!Qc{P{c*_q_oy7i@k`+A zSAx57g~;yU6^wWf=fA;KUB=WQfe)kD{YiLd-Gkg9UE#9%zAhs)^{)WiX;AKl+Mk;2A9-J#q9yFh7l|wzx{9Ese7u zaE;svCEZ6cWcuppKghnP`{l0aK|0WE@AtnbJcC#&>DiB1+R7bA|2dZNGFP2sKIdil zXk~Ufo6c?L>Y^W6aVNP_c@Ni- z-O5Cfn~pjkJ5!i8%vQ$1E@3^~VXhbdtgD!NFS`4_-afug#yaOt*{@VmPpCVzj)C&Q z@xjBvB$_jWq5C)OwOjeBYlki^Dm)*@Td1@&j$B+*I>RcHvv6J7p4Sr(Yeie(aC|A+yXB-!uADw z{)vB=u88y`-7jL5Fq`fP_KDnDsZHm~dZBL~6x&E-N)tU zOv~?qTy=VxvFJs6vH7_{=tXbvYh1nEH9c-`B_G*CXpet2-J$kV<$X0^+_CKxTpIiZ zvXtJbEgC!@my{B`4rcA*IxHHPjBy= zz83|*KUpj!<(IF^N0cAcPqmVPFTkRj1SeDJ8I-`)SK{2eftT=k7f0loho|Y?(4G)7 zrV02GdG?_sWlS^G2sr&mVDr}c{X?xFvj?)nmzpMq|l%!@B_ z4#Q`U^OEyrW))M3ox;}O&T}L924JP9-8(%iypzz8bnw4yWT=wrA$78r7MKm45{=a? zeRn+D-}nE!d!SmXDpqT6MeJ3jVyjVmwD#V6w$)bEs!^LDh*8v@p=xhQj9O76A_zr{ zAjvPE@8kDx9(#-3Jm5r*~xrQIdqSm@{yP`j> zlW=QN_;F;qwDD)9mudySpS&pGa8(0y5MEnqp-s;f;=VM{W0ChkTlz#-Nbr_INY1&U zV^CEOZsgrE&8_ZS&ay9xmsKA}yO1c=0`9$vng^Gd#we-h$Cpdabtr{wJ*M@GWH48u2}M1ggVqkW;-~2Xh<djhTIG7I-NL9eE2!$`$?)&4DRLe(-7CUe-5gDJ&SO=RsR+~zF_*( z&0XM{PbZVoH;P`M`k*6okZtYP?b_+Rj$dlx*rP?^(u=i=pO;hvtc$Do>{IH#2+JTv z$TPwGec4cF&GXR7Hbg}sZ}or|WO>W`lDEcr=?A6^~5r^u}Pgsiv#d#zKFQ&JzL5Au=J6U zr+p9Rp}u!ozo^OypD-k!JCZftUa^ZR#wZ3y2R!xmZJ4+Jd8vZY{z(uS6d7ayX|g2y znK*=rCqItlS+ndtL1P3oU2<@CBGe|y7!!G-F(cx z87ju@*?lhZm~ZtdbVJEcgJgQ1p^gajEg6c7!RCrMMmWMhU0x9hi|zO@UD!dAIpH|Tm1e^ayhm>ySA&P9a^!t z9(L0zfF=A>D4Ths-0{@0lxQS#X8=o;4{z(0ORAdszmv*gj}WjT(=+{;9nY7r)AFhr z=;|lMCf753pTU3U3LhJ)W<<9pRa@D95nTW2a5%6q*}pEy_G1p=GZ*Xb;DQJwKGKHE z=?4|Sww?lDzZutu6VBYqgpMS|UEX5ML2oYuWaJA|!+NxH>j&pm-joJ88QN&XsM}_` zjoP54&+$lq3wh7`CHW^TT;L$B<#IjAjfa({axf*^MU_tp+H+Es!c)x2rQXt6-p|KU zZ88l@?d|A&ySq!sp+(<}=T)`n@0FqoSQU|q$00|TgFTPzRT;)C@FI`Y*J_!<6w7ri3 zF|Gxz?mYL6c!PC06!RRj^W21FlRKI*DT9-vA@cV1DK0X8kM+d5xaUqywC1N+HgpD=W#*0id`}~B5 z8xNM37z0G%hHr}FODqhZR@8=Ek6f1j{bs|UKB+%+&Yr|SJw@<%8pPvAdT_>{5;ze% zasT+$?|hKIK==Fo{mK}(=t+NsrE#lhNqlK(2jb3#!K0JvLP?;|3JqvO@!ih0k{cm% zt73TZ%Ce7Vbx_ubMZ}T&g~t(x@(}pfNzRXb>}p!n1OL7#lKpR^tI0|wZBVf=^vla+ zJgOKa;Tbc2YhCrcOhkQU`tCCEReQ$n!_%Fuz3{VhD##^gkB0MzH}mAT)FlYju!8>J zVOl}4j|J1dRf;WC*oXc#gv z$kQ8^UseF}Txs7`9<{f8zz_%`OL`|vC%4LOT;ka=$`b-x*-CHqo=yHzjqg2VI1_cP zUP-i2W?CLn_z6W0u<{<_pQ%RrR2X387u{es7$1=C8wRAUt-JH{vxsX4aRsMDV|^G2s^?+(hei%^s-a<y|{?q5jP^8>Qv{oJrw&oSImx@OE5{8tW&-- zmryY<-t64crW9zTUoP1wTQ1G`q-2l!`Etb-%}?J}a0yi}uL^zVc+V=6Ss4j(_B4f? z$09~n4kr)o2*M5(!sU9=UlJ)B4~4Zwr~Z>xrv~lJ3(snv%_UdgBwcbJi7D;$9vfrx5ZVdDUIi1!!z9IBl`73q1zptvX#B+sHUEIBmzRcPBR{ubo*+nR@ zFhi2Fzp+cC-SmD(_!Or5BiQk3hi^u}QFS@4TTS7?&PwWO@A>h4{W9DrA^$h?XWX#7 zs_o%LYuFd4^jjkR*d4cH=QpSMUrI!ll-xoQ64t&uib$`wF=CK8tCYnmTp_c$+ z8&}5h&SPIS@yP6VqW|vp-OA%y$GBKdzu!_O8<#!7qy-OYpltbrB~QK;@RQc1SG>!& zJ^zL-DlP`*nG)b{czWk^hAyDlFV4)TIz_iT9G1g-bi zWOikBj{};;~ z+0Y46Y*}VmzBo~uqhYW#M89!GXM`=u zCY0WzK`AkmZjKAO6XDO*U*Z3XZvQ&3iq-w!U{Ov z7=QFzLlvctr}=TY^>5ba>Nk=1;Gi;bmcco*_X82{lr`seNDMy+g8Ll!r@5Eig(Ac! zw8aU1v|YYt7nxrtWObrmgba0C7(UThY387#=DKljy_5Y1+WjY;39Qh=Xj3pIz4;9< z;o)z+y$_k`8E#0z1y4ZchEYNE5(6b=!=Dgw$-9JH^4^u+l@VBZzV}{CdcDlA;&SQF z9y1OmS}2mjItI`Jm>p?4-X1SL(K|D>00qJ+_e&!*N>dJ^7UdgFc>uabN1U147O(l| z<{(j3SsYTO{`zVV_Ca9S)qjYAnHSc|P1Z=RQO59rj8 zfNw!q;rZH22)^ih!Nx`E`_wC`2f^@!+J*{2JgzBo%VUo*z$9}p>l1JVY^XVqT&}sT zJmlw&UF>B@M>j5X^An$#JWwu?4~4>8EFK~9%epoM3sK!e3>cAm#(B^Chq=Ak=r?-o zOuGfpa5F{x_Y!%PZ9w9?Ud(gVjv{%E4t}NOJu0j@ZR45J2GzMytu`kgZ#Inyort6?#Mj9EEjlGg{ z-Lrn>buh1lje>5u?TWCSnZ-rN%U;Hh@DHr;mSyQS<7mG)7u$6q* zTmiSWVq}Ba?M1WDR=j_5*1sA)CGT7xwZ#mPo;i3YtrZXpXebBT*M1w2Y1blL8!syl zYsHcO;LA5T=RN;gx!7~;8__li=|3JdKL(j~F*Fgoe^neIEYrVVUQepM*s^=uv7d74 z>Vh{q2>vdxH>uPV-wq(X&lc#2RSD>1*5YB8jl`GD8}IreikZ zIV?5`D~MO+eR`fSZi<(eJyLtZ`H#oJ=gk$Rm}`@37n)X)x>c3Lni|TQo#T35!ykS? zK5qWaw+NR{S(XE*q8OtO84uGKs?@_6DL%YBHPWH}k2<;_x3_84%?E4j_WWj%rTA&A zD|P~({?7!ze6-AP_v^;|hhslwZcFPQVNG?71-bPjXF-e%HdH{>Phd9<+KBG>Dr-qm z0pjFYOYd~c^n#nz_LfsAdnNH&C~QfMr{m2YokXHV^hB&0;@ zR#~P|DwZ_opWHe}khrw0LF`@I+gI@Kv_)bxpkHAnY<|LW@fYc{`4b2>iH-1eGjNmi z{*p(__>%r-b#QUywpKv#ewAni+ws?WOQy={7s^_D?`qR7w^WZiq}dUtkBt=0MFh{= zFQBd2R<{~*Yv zKgWW5a@iKY!^+(svA<-sp48n8^V6lq-bvhCUp&N|O+mmND zM>R#^`QE`Z&po%3r~_}!y8tWUqsHxPS<|Kb<=PJ8KTdmcz*m9~FWkRSw<53ognRt# z98FJ7DjM_G(Sd#hkGu(1e3JI$WBkaQkSZ6@>ksE!&;E5v)9AG`H7V(Y+Hn3e_}u0H z(&Rm0Z}Dq^=I7*$o0EdK%NRG=pU2SmoC25;G%M^=n1Ijlrt+k)=CIQ}CtjjNog^ej*Nan+O=!gGZR6vmY@--TFs4bTQZ&B$|m`**2q>}qh0I_B6* zo09Uey>2VGd(3b!^H1-1DX@FjX15ZzFh={=h;jh`K!ttKLpl2*hUzGnuu#)&UA3gB z;K?8Cw&yLR#LED3mVT-E{&=FYBsf}rAWQwR`E+H0nvKdmZib-i>YFb50ER}IaYzQ* zyU5+|X|hwlz!vjgu2TgX1?{Q%)8Nupslu-&&snYYJZ+OlTr9915X5B3q!UV2Kl(xb zvL`v2^0~yG__zDCq>NLt|HmQMV)r3friJTo9z{9pVfFE*5g>6(AdnDwWnX6cTrMCs zU->=gbMk_3P-&z!(yWvngT+Sn&Z&p=uh0Vmi&}6=Y>mpKcsT^-==u5Gm*-k66BwGj z26~_EJO?0}3)=rp=1QG$`h;TS`azL6x7&1|d9pa2_)hxT0w8>$sr+Ay&oDW*_2s!v zkYLqA-TcaeS4VKB2azTphyL?S5|cRm@YLhoSn*hqKVQYdon!gS4*hATO3I1RoVSnShj;@F`@VON7-BY&%xPK&ZQdpU{@anL(H*O z?c_E#Lpf1v<@R?{XYxUVaOpd&KZi z3)%9iSp{Mfu<^PuGx5!<8;t=&{>BUaVWE+%_X}zci%u^#yfm)Zzr6oDuktyhq=8*q z{$l6Qxn5#+#`b~Vul(6CZ-gWgnFt%;`Bz)mLB0{Gu=+|(uKz^XUFB4Gao>C=|B95{ z$cnB9zvHO#=sy1~26NmM`P9%b4oX}W&aPci_uQvk^bT6N*+KiO$vEL$FaKlojL!EN ztzV(9%&+9xe?P}F4Pwx`KQGk|%D}OdosK;u>{)!s0)lu$u&rzLIKSx&n)18pnL}eop=~s+Mxy6Sqp!$L?NuJU`+AcN0lcu8nwvGt z3ak3gG$i8~?H(x299TZyqB~c~zz+dKHcWR+Nb6?pkc}f=R&tQvi3Bj8qeZqc0W}3< zv$oI%0!<>}Jlb9nZ?U*bQd;2cey7(a6XqD+67ixyz%-@%W$k4KTrhfd5j}o*qSB&s zqP6wWLOIhr)`HC1zV4JK_I4=pgEt`|UqHDyI4fku=!I;w%7M6m5q*36Z>j#c?L#I9 zu?^?2LCspDO>1uA1j1~cWaNr-wn%nkX3(tFBtEI`(YQT`1c!_~jCsQq9{HoTIv4^? zb!HIYtI)xmnU@zOyEszrrF8Phkgf^sv#jtZrHwVa26P!(am(T8IjG%1lIX3d`a4;W1lIvG2|iwwk7P1qv>>aA$VH$F^j z)-9yu2sttk2`al?oIRSmHZlWhIvtji?FV@CmWNw)d?P{ z%>Xk#(SQTof9^a>*qAJJTWMhBP6NkFt*{5b3wApR+C|CTup#YRuE3WxC1oZ!4O^*a zT`axXLpwU2+cI-8tK1e{w-dQ(>NX_pT>k@BS{D5697j3bK@4wYe^Ebu4w<#o9V8z0 zO}v>{{*{02ZwK;SV`0vnn+n$za+Z!o-Yz+pvv=$~&pNzn#Vb*K!`{D`Qs5B&&hYz$ z%w4=vuY%mVj7jTu6*~9E>{74)A~ESg+{{;Hj;DQp1u&8`s#;Swx3#+ka0#GaLG`zJ zcO-{Ng)%kP8=5sNDFcGufMJqe( z`mrC^Kspxv_iofUTk{f7Q(JGn6n@?j%e(5sUe?gMp?S$uP%gb_s?{p!fv0^TT5sz1 zvFrU4PglxT(EI5=iw|Fujwlf>T?Mm!eUc~+O(lXM_3;rUA zHzf~EKE{Xe z=;5cx>bIfrhN~GXSn+WATd1m`R?zRHmq zUj8N*5NJAj7$!t?>oW|>L*JQj6f4=Nu`X7Jo-ICZ<~_i7STT^%Y9(^BH*Std)8w_! zT*H%Mx#jfeG!HV^?~Q_JMtACrr)Cz*3_kcXHNk4&Oj9m*Dh*OW9e0FN4lqyCYMuwW zeb^0t7}^~ubR_S|@R~6#W{X;__63(WovfDfPNG%!2a{4A-_K-QmC0fg>+?m&%?l84 zF^#1iY<*=uS!dy6ed=#u^2u|yYA=_@n=@M|E1MiksH(>~5a%^-HOD)w)2AvtTBZJ| z$!>T=FH9&q!`4a7$cr5(P(E}P^G#Ep+2*`MICp?^#(+fj&0$-}wkU827tBZ+s89R8 zkIS&l7zKrgSQxP@eoO%0Ta@@$o;y_9p1G;+rZs+@Jl&9D9gxQrD-K-L7qg3-F6{)i z^XNfF?Ev|2ky}2t*QTcuNm9T)&CisY13dkv5}yqx3xqvo=Kg$CqZ`%@Oz@}$m>bt> z7YncC&JXu#?mZKMz#9k34CszcBdb!tY`rHLl)ftMCHsG8GiuR07o!<_4kPWqqsC6d zg2aVu*SVVa9~~KpgUZ~~)zVzUB{By%o9u;M{_e8&G9~*(Q1cG!9+ji_@3y0l&FV4X z;X;(M9FLnPtKoIP9G%6L1jk5;Tni1Vfmar&3j2nVTpHekR}!1r2I|Fw2;9dA?*TfM z`T5q4CE*E>bEy1zCom^qk(Yz!Rn1#F%9scp@9Qn|vSb2j71J|otL)!Zn$7c3JQQh9NFcP4V_;<%Po!wp7v%+vc)73JscUCpVn z^;Sx9qn1>JIJGpd@MZ1sp%%`WI=Ke=8UQ3 z28YHyvJMe+x*0f-0cB*8b$S=%wTFCq%ZHYp8FNgU^*#A(4QY;q_5q{&2TJV|$hj{( zshWX{mNs$)oB1Kt7MEx54R~>90sQ*H$|FBJnT|{&SzU#QqKVrw{_g1tM{0-kaXfYx zfS-y7h>()k{L*f&cvYCaENZ&!+Y_|?Indt-Ei;;ChGvi}@Hn{ptJ za51dF>56h6IDjg58cTcDaVWxy4AXXz$yjhn!bdaIuIeseMtJhEMquK$f$i@pzWItG z6}D#Hl$As$f8_Z=WNzGH*+bEAdzs-VretCnnvtmvc%W>@Pa5XchEP!_rd|fj43(7O zbW6(g*dNcfoHrl%%AE3i`6RLYmoo!B-d^H9oxnYM_>vFt;Iq2(V*oc3nI(~@0~eQR zAve?TP{plYuPSFJXoAX_wO3Ws3n2`a&luCHwWOHjqqAI@%V+P~bbF9H;kf`2BU2rp;T&Opca0o#T2APkB-2`&hU3a@Z_EXwSYg}wb= zn{Sf1gXXR!Yi{g-rA;!oguElttlrYb78EyJ3g>BdsrQI}KaiFU2`F)=PG6_@NgCnK zx0i{F-OiZHPRo8d-mX?}ZauvP|MEh=!Xm{FP_ zb0DM1m9nH}htjr3)kj1KVKaE!;tILwYT=`epBE%67j0H#%kL3ubL4Q3?E86QC46Va zlrrw;ajh*r&fpD4VUPVye%RKZK8;QE@V2nARn?wz$xk;^colQL;Dkk+>RmaR z=NjGGl8~tr1Hr|U)na+UHzYQXg(@ZJst{>HZWg4g4cAgz)Q>OK+|pbx0Cx_I3*71~ zDWweZLNuwri||+s{9@WKDnpM8xy_VT;<0d;uZ%GJjAUg)D&KPAXnmxOjhnMy24$w# zeYdlR@vl;I@p3DfesCUNR+m3NFK+`hs8oJy!;X&NFbIWb(rOSAlhO z>DMs|IXmM^Y6`|Jm%Xi&neGxv3^9T@Io1O!ohgg543|7OZv(PWN^-S07kWfb?yQFVG6{k!<&_9L z7_~HSj1r1p5cXahvxMxp4D7r7K^+%;<%z8-Gz|l$ZdYEGTX7gpC0#I&@ zg7La>%`M+7I)}WDLqkWNY=a-^b;PE6c(+_8$c*mD=$6C*xFwAz_5b%&klx>yT>3ff z5{?D9a2f|5x`RpsboCNNUPEbfe92+0^Vf8##Qk;q<>k9M2bRq8FT>Ww)6u2*>#uBv zJ|RRrsVR;}uSl^{ZC!Ywod4IB&Qdt+v$}8r=+LMWCq3X{EA-woOXgPp2@Noq7C4zj zac^@rH*-`aIMg!g+XLML0QV2IWS;P)MOdTRkEC1=`>NHr>+~s7zILnAiqi$TU(h&z zu7ml4zaF=k9Mp_D)inpAv)+VPjTfz0yyT`Fl^@)}}d!52wgrbYPw&^&+nuo>djXmA1)ndgQ?%Zj(#Fz&{5I zzBwrlVdbu&;m!L_4GJpeF&s_qjk1wJSrEc-!vC86w&1SE%sjGwpS~*2Vz2_#$)MT5 zN1y+API$fz=0yN}?sHGabA$~@L-@roP~;B@(a*@5@pWIjBA{>1gWB+|Xv;3kJhb~W zY^V#KtGb9w8QZKsM&LoH)a{}MKKt40?0%76Tfxd`_U)voDNHwBM$d#I53x55Q^7)s zsQ`;2mncN`(c2i= zT=`k$5?^-kQJ`qzWJ+I`9GkXKKyY|{3v92*$!o+Kvp*(- zaBYZD`F<(0#(Ip=wl|j(ZlP|u1d_4UeJwR&?53OVDTq$ z^ZH`02GWx-g#WFUP1ozS2IL%WjIbNajjUfjypFMVMgh19aSn#RHIG|);SLL=R$=WN zK3#>fKF(&JR1Jip@uY5$*9uBX`jK~NN3w-MErqTi+dm3ut)bN1CKV3&X0HFxUH92; zvpJ<;kkBZtgp-EQsHIHc;$#s3Hjo3Dfeeq8oCs7dqF%U7Dqb(**7YnNSf$u~OgGe$ zWHCl@l90sDt`xX-eJPY?@f!cFF70@rmD+XCJX=e_gdSsNAT!Qree#KNbtgdr$^V6ECgCP8((2QTp^je!~v+xyOKU!5pE* z)30bvq_l2&@D1y=l+>eGJDFJK3~$eM&i##?r*%RUpwWh$xO`nGcJ*LE@JrQ0hCsY2@591=VW=6`_O(Z~vQX)YJzXF#pPH1piuyy?bBWNWAWc0yrYA3{);BS@OF z!v2Ls*wdSEpgpQ@0{B?!)EDhaZDrk0Yz^LWeFq<}x6sul! z*ajJHgt48f8C9kT&nWl~*w0MTQ^2#}$fB)6^82~q^CDW zHB0Q_xA*meTx{5F1)m&QAnNeoXsk^b%w~Vqu0HOv=Jzsx*HO-G8(Vsp8 z;ahOCF|w(Ud4{r{AcZ9yyMa5T9#9->e?VcX(bLq5+itFs!1#?i=dmWpJ|miUZdpz+ zV>e?`8xlIlQ(IK6DwUTZ#mx1DLOlO3s#TkfbckdFB*V)bjUim?U|=zSoz#5F0;l7T z_XsMnl%S^27*=Pm(cHR+lY8q8E|e|-a=njqbv@u}Yf5Yt*!MhI-dAU9>fB8uxl#}R z$1LM^Q8t-tl9h8)o9a#aySbm4ZQPO>jB;%N!fHAtG_*_2b5o?4jrsXF3eAr zPk_fRxe%9Xl-nn;3gk`ld*llX0sTA^uIvn6b3B<&J0sZw?y$*QML*+N8(tAN%^d5O z@|4GfwK^&=B_$iL@%3~{j67&2E?K$aIpw*cFq@b)gYpVzt&qNl;m9@9sP69h{eRAK z672cI?7Z6rNI7+p|H(Ee;bZD3fLoZDMk1+MNbH+}a_`8gc+{eDX;5;D6C? zfkm&*%uG1h8qY4HJ8D^%-XVgnHc(u*oI#E0J9&zGb`LqtEBeaF1I&c0MYMiZfKvC0 zf<^}i4KJ5ey%J{=VaspO&|teJO$y+ZhLf&2a+vH?G8_cajtge|U|J&2y4Xb_Aeyzh z@GM;HqLBM`{FA44Pn$~YMe^EXbHu#Om89L94`CIQJ_j+p^1;m>-cOs{8%%W8>Vgs| z=!-g>QX5^w?BVJh+<;=r{YSilIZ}(?M6{-yq!{F9lf=@4@_3lxia_`wnN@p`B0C|N zv->~JsF+5#IQO-`85_wn(pk6QdqP=M7BOj`Sk8{+>w2mI+7j;SV`P!a%D}Ve1CYT+6H+(lH!uqJMy0LT~M6%B6Qkg z|F5N87=;*ng;P~H&VKY+4n_NnTQl55QtzQwB3Lo}Vk&O4JRY`$W7 zt$~h58)$*mgq4jB|x<4pw0>2BNUU=>{EcCTEU9H+n@0Y83=U!3Y zVHmMd$Xh9mp%%{HOi&Qa86ks!XmvTkE6_Mek|>sW6mPqZ(>U3#Mkeuj!lc%Un1*paUrU~tZ;Mw1sw|7u|U(tDIwDH}4mN?MV$SeYt! zya>sIXK`&$v(S%!GMdzlJ4TWmlA<_eq~ zm!_7AEpi$QmO$0jQv%uUcflMwXaD1b+W&>zuSxrS8$~!R;Hu~_GX>h#?Uhi6Fb|ER zJsj>*vxV6Am`7e+dyRbeNVM)Sf`fvQIPc0Njh_*<5bG!yS@h)Qsp02u~{ut>2E;gT&n=#k7}lHOuGv_Xq zvK@jYdi9)msgDLP)1H&=yv=xDrg=03Ddc;0vo=P|mpbX!7Y2?OG52pjC}Mqj|LW8G zfRE3&&=C^^5<=9n8C~yS%RoHeK3@-yTJoPzJYBjVhJ6)Wg`YdmRh1s>oLvrXTGsD& zIh=;B`lE8os<_v5*G_*Tx+%`!x_&4Ml_8SLfTYpVBQNuE$s?q+Wu`mcR%E(71i6xB za-J#0N-D*zh&neCqp=H(pi*-soP;u1R`!|DFUo;saT+Hsy0=_2cwK~n!fm(xfGV`HN6 z#V2jjUKwL3(Rb<(H2bx1c~O%m`xj(~y4QbTLle9T!(ViRz_wCHNB-V8^<6;!5*76K zPH{9c50Gj#NO?8JYVZ-jI->j6A&*&wk3c6$b%f+yr%U;>7kEvxK|;BMDtop(a?g36 z@r!z58>1fC>uYy+?ixPa-%12yBxLM_3hNl%B^jM9<*x;t1D9$HvcnIc-IiyQUJo*k zCk_c{YA{m5+g2G0*%BeEx-aCaLCA?rV28baE%G(8#92cN`R!Lr)s=>YJhai_gN{kd zHa;05BMOq)c^k>T;%eHKWpvG(eHhc znB8)LAUhzpY^{sn^IyEjVLt5%bFR6>TzA4laHdPNTi1H84eP~<^Vw2UDDpC~p4^)k zzG@uOL>k{d?v6UW=w2r&OX5~8=etQq%32^&JU*I* z`NgCc#iT)clK1bFM+Dqps3h;sc3Hbm)eq5Xn%R1kggqrv@|hVA21p^!r?C~%{FrjZ zpyq*3FS>2RY`tDr!PFb(FE>p=wzkIdO-Cj$7woEQCfhc~E_H}Gw%gey_LDDlq0fBrpKGR2BvWq`5kHt+ z2*oBHkD_a;%xY|amHlqMh^}(txoIY$T?!zn*p)AO+I_aoXuH=xU=3~wwgJ2zDeYY| zCv8Ml8Mv^Jal^4%{>6zr6aR99Z6gTr;D|c*tz)abh-M?^+0pNYEm2cA>Adf0G2Zt? z1aLuBGudkEaF}$5_xhff^lXK(8;rueQQK^XFHZ&mGdK4c!kd~q%-D>X zOCxf}DokX_K4yGUgEJ?8)~Rs&ywN0NtMiuc>;hq})ui0C3O)LwT6#-*1Y--%N6U@7 z`L7+7tnftRp~}&?JFzS^CcabEnF39ISfHhApk?CP;CgRNM1zS-(nU{z5bF_j4NRr@4EhWm|(=so3M0s-|9BjKBFB z43SJ&$`0;6>tDyx+f` z^Ag|2=9OCuZcd2$C#saLbjv7@KN4jgKPsEVQh&B3=d$DWq3bGx4l;Wg%)$t#y{wHb z8fJ%nR;Gv+lwi_ehU1w0yGu+ZLOg&xS$a*W6`#AoKk=yZt*Ig^+X8({p5FWZW&`T!2zM6vn)XO zYRYvu!`e(O*4l77ov4F#(P;eMICHY}68nj0)r=P5QXxEI!R__p%u&OU8_ZB7sFNP_ zgm5wnjyTw>YUPzmm_4*e|h*#=rM{ zX>v;qVG*I(c= zfr=H=DB9@5b@n|2A8OYbb%<+p^Fw12fnTlO-B&Ky zsLCHPFEZGlK1_UDEAMyHKAWAiRb{)Y7Hp(6_|rhZCbg73^5{Te5iq6mI*h1Qy0~N1 zcMyAGOa5m|4B>6cyc+@7rH9EJFcfAi>?t_q{$ z*r#*Q@t5dT_+0nMj2pVa4+`II%q2#3>`wz%cG$Zvw#V=3MsiH;HywRi8}1(@i7EITrL-K{-Bn0a`jvweX&}-Va~g;>8mI}Sx4A)I z@6%ecT99HrK?1N-G-^k>qZSD-oORFC`u;oCwo4f{h7oBv*8Bd)BcLP3plbCl59+?p zKFy6Uh3-rIrT{{+ZMSlp(6?b}<{4DsvTJaoO11Q1sYJN0s%Sd6$_BT_tksco3#uwVzNTE+5{};eBEh_XRS) zYjVW6A03)1-_ zv=E-RkCP-GLY@YrI+w?H2YE`;)Ymt1dwUy3(>zGUue@n3#!)V6c7d!U4JYaR&<-#v znm$lYeq0GHu%9fVKXJ&INziIpbh~$RU8Mt_9|Dn=k0Z9oXN#WnUIA6Dh+>kI^1yjc z4VjqC887A};9g4(E=4d;kISWL@j``%jqT)SzWT{Je0UgZE)^bT;EjaJ!*AxB)b1zn zK(KSzX-mVXDcQZ`g?S|XivpVhR$F7{>YxVcAnJu>y+zhLvBAi?W!9YYLZ~vp=%0*| ztgO;#0gF?7pq9TJJ*Z{Hvr*w`w0N2Zu4JVX71stz(roYv3VTt9-96j*VGI?!rI#pE zeG*ylN=^^EzegfPO_$2@!c*eT~0lGYNKqK#yVm7Gi z&Za*m7Q~Bzfm2$xs0c7z{38W!c>Mq~0xgC<7wud2djwanywX>n_f9 zIqv^!yP4>BlJ!SHp1AolU9b@#Y(YP;tk(i1#H@yJ0VX33j>X*8$R0Dk`xBig-9Gy$aBc(vFQab=7w}WL z1M*k!mHiCU3*PejU$JAjR@ke(qKuvyo z^;wFFT!{rX54E4meTJxnZynvZWQ$hF)`1!UE#JTG2*@6Fp1h~T!V0$9xI11nTAj$6 zKk)}m6KeI|M<_+7l;a?4Qe`ykDOj0Pn6;q5nJV#pY!FYHUi8N8>sAHN`Pewuler-( zrY#mjj7LyV?5$W{-t@S{JbEbe>MYa0_T`dkGdU)x>(|zsjUpNT&d^)820_k@j5BbJ zBbkAiy`biu8J0wB5#iXu-uM^(|0Uk* zplGk+jzc;WSxes;{2P-o7f z>Fc2}X)j9U{aRTY`*UR!*`$Xb-bH%73jp}j%8eT~>Fk9DT&}JkysTLE4{Pjs1H6*! z75wCW+)GU&w$*>B%4Ej}PN`eMPucG!iCV_gNwK{lEq@F=yGDBc zBtyq>jZHk(1g23$I$OU;W~cRUd?KU14xiH02?J)%?L*@@R_(in3y~FYi)i1&)!sqx zd#me~fP_CmEUe87Kl=Qa|vF8ry2^p)Ld&8$xE2{qcmUWszw|T|G1`L#4IU*$5q!PXt zsHSntygWW&`!w`w%7&i!MuEf2FhI!8C0xiFYh1&-J9^(1FOZ#0c44UqhvZ zAK$;0T+*&YD0KcfRqqv}**R=mE(sUSPM1#~D*4?P)V=t_go@D|!Pi`nuT+sn5hDzO zm)qnJ-*BYeyMU!V#Z9;(zbo>rDi^%AfL$?1ew32(VjLSr`(3Qd$N3E59ycv=DQ2U3 zVr!N23`gVur?K|qx^8}mXuiNx9>X}ZsU0@NU9+l(qWa0GXyUkQ9YP)c@iN9NpeNVL z;z>baI@ezSEq`6*_d^Wtt!~ohZv7ILKK+s0W7r(-$W6~y=H&rOUrKLr!c8_h>SWcF zoll1I0qZ@<%;f34!!!Pq4vvSQ;wyHIbFM%E!X+Wr8^vD0kh>fe{fs4T3wWedyQtzT z{U{l9&8A*_Aw6@X|46kSj*Q4ZJbr8I-w~kU}gXYPVvR|D=*|CpZXcxJ+-fgI#t^gQ8LhJL2X(whAr?c1r+AsEQU=N$+!I= zu-jdn1rG>Z!{h%E=LQ=au=k<%x3V7)41TS%xU<=Qv&SjRS-m!UPO^jq&H~+5>no<5hJtWPV23 zChgItuT&rXJxQ}>!Sh5Wu6OrTw?{SA7c%4K&Y!umXIi(m6|j`tv+%9^&^q!1X7one zSK(27k?L7YkHYTfE3Tra+7Ds+uie-D{DS;mT31=+b(C!S(LuBmBBFZ~gx0ih?$@Mg z5J8*$6!GCZxfMJVk&Q1WXsp?d_*aY9bOVeeE9Q1gC5ESM0{yH-t#v-#M3=e;s~2jT{pTL8OH1X)Y7 zwLB;;R=$6m-ymRo`7`hmGs~89e7L~3%O83&T7 zQP5u51vP7Ve|S`OeKF{K)9~P_zmT$m`zD&c%UAh};Ggrs4=auo(8dq`PtScD$_<7% z^BB1klpag4l_8}|O*B!F|=`crxLyL>AQ4Z1UND?|NT{rx(!y0|6IKGUNlx((Bed_V_ts_lV5RxpTkyg%?OMG} z70gdo^0dGAKId+Ja#+ts$|SohX(aV-^q(&{mzcPx`BHP*u`vvF7dLLU+Q$4!ZqiF_ zNalDZCFUFJ6D=DUO)jY~8Mn^iy$$V=;n{Ayv(qfxe?^Q0@LV_sN^q1$D3w@1d3Vh> z<%%Ua)9tJE+YnNV0GxgkfBz4j1V$3H(@VBGTnbO+Q*;3JaHwpsH+k|DLh*{xT`&Ye zz7?Tgpf#W3sQuItg-Af^Bw}g;*1l1j{Vt7A2JKE4+i9ll(xs&pa1hj!*P2RfC9e=9 z+Vu&Vkxx}-1ypyGL`PYZp6F@1NS2)NpZdr9BAi6{oR}SH9vEZH;w|dTB_iiYbs(}Tns%?<`zWgI_5Agq8fbT)#u(!PQB`+gMF^re#H1eXLJ1vaz24Zu5j#&p`E@11`e%B3Zxcg&s6b+)C)jE)s?OZMS#^ zNc*B%=LickgbfY7*#Pkj=8C-5?~r-%lJIRX#5J)+eJT#a3w?TD|M4Ky;7-g`cZ@V! z=}#TX@A06rISm)%F?rTAp(VkM!92R-q1XJo;n#12*)pQI2v^Bqq>_to-@nEsZb146 zXr%QwaXyL>;Mg>=IO$`U{r0=G<6+Gf+c(ld+gb$r4OmG*I2Z0txiq} zJ-+7B`g*K2@5nIH5i+Mvh68W=Hl@|v@I`m`l4B`CnGx14cKe-;Rf-{PeK zYVdu_D1Kxy}a{eb)XF7kE3(VDhmwfmzV}ZvrYz@?E~OZ8dC%ZwbDsiq$uN4PJREY?pvuc zvPc}!@8tHX40L?D2%+^e(`|hicYtxDh|@Q{50Yko!;%Pv?32nIxMav0KHREla#EXj zgrtq!DY9=f!|q^1S|-aL5g{>Lg?ty`*^p5F7}2!2w7tl_OjcOk2%uDD9&AUK{}dO% zsACYzL7XmI7K1Sn-zlUTmx1PgeFxc_5n=RkC#ZS^*;R?$&z9N=fXB${}M37Qhi;fhT&OL?1sY)qM1gvk(+!Fe&LMzM)@DW55?IX$#C zt7E1fdZL3{>fYxO7+Z?GHz*?mhK94HeSN(dVMaZavyA0_*BvW_N+Z*IuRSSADobwt z{I`%JI#m}!ol8h63jgJIKw^w!X^v6jpKT& z>No6_%*wV(cnHKSZL}6^K&*wp;F1@cP7Hm;TECt<)c?$e~rw*OhHm~w2@g^=Mc?8ao8oJrlLRY_IgQ#mT5Z~`ylEteI+&jtqCcw z-sOa%rBAY9qos?}4a7ipkrjwT&EE@oVoXygQA?V(!tgG8JS`8oGHn@&{LSN^rZ5SR zB%IO%$q3^(@qec97p;u_MCucZpIRt48IDX{G!ghD6?#K1-->x@^Haib5eb@S>Si=V zPy;eU6NVfHVqJ>n=Q#!;^ZT&+Mp}MaAqW6;KNn|E**clZq8Any5*Owz{d2~xfJZQ) zZ&Q0oT3q%NtQaLf#ZsCwuXS%6R!ZZ$tq_8J&BNfKPG;#j z6N9yT#HhET&5<<8zGkVxQ)o;Cau$*}()F$}V$@$KMEyL%`5)D;ww9fBT z=~z{oexloAaporRkrJL!>+w)ciJY8PNHg zK|s?8>eRE-Nyo1Fx%boW^vvJt@(Uh0h6QQ;!vaJY0#2271&#o$~z z-Zr^|uZ1?BP#;b(4UEH>w~cY(PWKALlC-fQtO^8wF!Snp&_2NcVV1#^^49>YH*#Cgo~!) ztIEp5y)+A($`7Qu!1^x7I^Tvn6a0ita*Ij8G#q__pf|YG=|qEnU$cM$#yx6Qr}ouG zc2p(pw0=nh79RuLAW7p#uyB3_7ZBk;0xqEc5PuM)>GL(3$RUXOgd1{gbH~yQXFE^S zMi$i$q@Nee(-i7VePH<0S~3 zpdIW2xn?R)kha+YwP;CGNu*i1x)DB9S$yQbQ1}3i<9P?vEWI5yYx?oDO`y@YG@&&6 zaTF?3h&dqfQH;s9GdOXG!1Kh78phcskL^{rs*z?Y?85qr_FAtS2Yp0AW6kJvM zD6QrAiV&fFMH}0W^>ZJ9;gf;OC+a*J8O0VGKh7tzpBWTre73>+)`yxyQ73;GvWY(CU z(wk+Rq@*Rc;)vx&?uaO8xkI1oIDLG=xG}9R*c1J-fW}fqlg(TI!`iMio&GzC$aZEA zP!9IDn+Bf~U5Lr4Dh{O1#Wlt1L!N|0(dpk8qa%Z$=aZ-|qq+9`>7ecd9u>=p?{=a={|Yn*ZC;_KEkv*lU778zB0qnfDkp9$=B5FjQb~L-m`oZ; z5lO#~0nEaje$QJo z>UQp#V+J$6n0~nF{K!-5u+%X7bEp<-OwT=Kfi(qWps!$Sz(6V`EvUnAH_Io>!ZK0ZgX0@IR=*%F# z_Ui4)2+TVc3zoZc?h{;zQZaqS6O{>mK6h{F4#d2bai8GXHo{D}F?Np4-olYSA1gM+ zi2k7DvrXn@zT=vhR=9jm&(TSRAdQ6&l_>8Tm89vQ360{oxC<68*Ro&|BY$ZH&^nua!-Rhu8lvPi)-Um<_N>m_c#ejo$%D z?R^GIl}M(_MWXLDJpeh~7uY|Hb*LwM%h_T8bOUiZ{(A1dM0TWtJbP7oNERk$P?G}w ziFr7X*+g}eL2C}A2AlxJH}Z44Yst5K+^?a;Cd;PV>gRjv(yxw5rANjN{trfd%v_AK(FrZl%7fJ@!uxGSVa!dYNAmJR_ z&@6ucMZgzs#dgL6f2d>$Nt$-gYG*00yUF4=V9H^PgWTt8@=?z1K2A^V7Rbt8z-6CX zJW`P12zo14!iUaQ580uTvE~-2sN$BvLVey3`}j@>)^N%H?6v`)#lhfyoP1XTaPuR4 zn68hWJdJqq!%2Oc4snqKIV+2_w?#jgDph7K0TZr7n`eB(e85{O(lk#- zdtJw)2^Hf|WOI$WVm&88gGCMRuixJ7BR#=>n5jd*L{5n<%r_0TuXMMUw54!;iBqSQpTAzSuC%43Z09Y?iBU zK79!LfKMHc>Ca^P4Cq&;a0Ua6RgT`Wf>~GTGIeK6?VdnG^M8KYQAoU$U(#Zw$dhcK z=hWkQ+#tX<%nM6R>2s${(7w?#(T*nv#7iKwo0T+5D`S3_QT^2hKRf&ESrKCZ@6J^L@H6 zsQF0)l@isSO6%+o^okMcC3SymG|E*PlzkR}Br9AeDB{YW=+%=xI2+h!=2Nh+X3_{teuD)Z1%}0bicAk3LY;yhPa0aa^@*Wr6DnHJ`SI!vt|=}9YH$HKLf{*=THO49zZit6Zg%~x=MgSPSkD+T$Kpe7j{ zn)a>b_Ldy-Rox$3N1nA?Y1(Y9;AKb39uvl5Vg>pm>Oxb9G6k&^taA<;%#k?SXdinI zo{7zhiZ8`Mc|7yAU#dOcV~bQ4PJGvH>7|@RB>{=)UEtwuIY6+LD1B06eiFY@7#QSp zRz2$>ql2MYn*ru*x$>-jCrAioPq~H}XPX6>021U*=BMn%g)f7-y_PuSrCc%3gF1!4 zTVIHru;cf8?y;8{v)B>oY7%PCQ~PoeB)pT%nRw0_?SlaJ9={Vl;eiYBslo^DA*PBO zAyVgK^P@g_*ca+Z`FmRAx6;Q0*0}70@2QbVrkTT5?aXjxGH>U013tOE_EYn#zY|9V z-k`U;S-Hh5iFhu>wbwd5sPO@eui5e6n6h5Q^?}U}oH;m!DYa&Rg zbt9?RVe^%gR+ca7Z|hm3rPkRsrQKpGr%m|HYK`5}GI&P6JrrhwjNs#O5cyb)cOJC} z(OSk=wtIBgpbTa%=qsX(58v;l=W|%)$$Qd)EmBLFcpU|a70y8vW_N)?0-s3k>wf+! z{FXl>3R51vSbt@G-p347gskxG>^f~DgXGAVA| zSiinAM2sbm_`QXd*YCTn^UD!qARCp&Aphr`U|$bWf($MF-97=@cuWC_fVhuc$`JF8 z>RVohdSt#p#AG?nk+I<2Ie;|bm9u|Lh0kO>QtN@#QN3i52suQ9VN66!S>{s~gySRb zvFpnBz3eQV^_(AXW02$)%@MdNQuJ;~O5cd1ss|+tK@S2R3Jn3>EsEA-IXA(j+J}9H7(G%~F;h0o6o)8pI`dGW2rwRT2 zwO6>GZ=GM$F3SKeZScZ4n<3MiTvZY7!dN|e3z4?51M{H=nzwJ)>&sNB&I+Y`QxM}; zicbNnU;q!WaFZc&`hB5i8&9K2AY2UKJc9^Y)shMlmqJ1@?wj7+AQOO4reQZ3p|T*B z7bjy4w%B#l(`=BEgmk|=@}VzIMb1UQ1mW*;$%J7SeL=mE@X`X6{(O?8K7R|KBx9T^ zGV4N~%Wr2!LAEqyi#~P{1svaM%c~Qg&g_hPD*I8A7EG-J1tdR&b$YD!?g2oN$^-Q5 z5Mn6Yd?a>2u~cxVvN6i>dJ6U1po+1MzkSw!I;=p}ijLeLre;Pu$y>*_OtFRKagfUF zPw3U#f#}?36Y9pw^TONuo7L&^^uWvQI_Hr^zD^i1vzTUuj{=k^H+zV>wPMxTDmQhvBJpHx~_NyN*JF?3Z$DX%_fEnnZ3s9E9fbqE9>@t$VTR`YJK3iO< zjqdi#iKhh82I^DASACo;#E_`h_q3-_VRGbapNfNiQ8KW7K`Fw2GQp-Qzf@4OdwhJv zF^JsYndk#ebnNli7nqW+2?4-M=F(LU)1RLyLVogoduUXkT*S$WjsM0oBIvvjQW1~x z3HmPZ&A!{v4w-)#bM^5y;n7`}jNf392VjT!P(vTI$*mLSOs;9^l4n{EzO=@xC`$lN zm?s(T2cQi$!4b7R2Nj?(ge>^lB z4)6kMeO!!WH&QgaE8p@zp zWN{X^fHZP`4a+nlVM@emzj7Qi6=Ei;Aw!MWKGxgp>m9EDH!*3q|Q&}6j2mBgOZ1w-Uhvb*&p8W&Lqo{d5OSj@ek#9S3VCS z=aovrLXpoh3^R&?L2b=QC=K(sWT3DOC()n)r2RU1JBPuG{2fC^BGcX!K?3RJ0&HX? zAz8uGbH5L|w3{hGfdX>_9LpaAFvc{wHp={x6sUDYNO=-?NlDGBop|B1cL%LOsHUOC zh-#_Ve!C#JIl@yC-HOWo>m*Oma?Wdj0s@#?p@FG>^?h*!F62mFLdMhD z1~P(APZ;;_f*C!4L?OuychLdbXXKKbm6ha|5<(hC*h)$QCIc%W;9bUoRIVHsx}zV~ z#F{tF2+>&Tm#5V?4e8mChMvyn0|1A88V;UhlAS*yG$C+O#{NwVdtnNKGEI^0$Plbl z`R%tlNFa5`q|ar_+zN?L5!T1V%ctrW=?Our_G%e|J(W`KitK@X73#{02p?j>TF%Q4 zSORA*Yz=0OBa?qR0T~c|T)o5Nn}i9vSwe~l2~el|J$5YL9YPNd-{*tONN2O&MLL~H zqxu93rGGRC?5tKLNhfK057s18Ikif@Rcg(vtkZnW+O)X z=n@>!z;qIT0r~cOGd<`?PBv&1D3pEqXz>BISqH2E^>-Rl=LZD|#tsJhJ$7J7)&X}J zvSKYDYzHtn3#48=Asp&Rl2(G1d$9mTOzW(5w~eli?YaJ|hr$S{5!N(hy1wT{t?>7EQPf zCYe29bag^7(|@T9il0t}$O&srNIvZ_DCx;{_N;sPV zo4i3){m5P$(CQ>~hN7egzDGHsprRq^w8QSqub#MV>*=zAsEHT0*Xv=T4_bdmF@B>) z0Yey0^ti2pSO-_r^BQ!l_)j>#JI9M3>Teo*!rt|HNKpu4Bm*+;fP*SjHa zxTjE(41);GvwM$>W3)GhpIEHb_1%S1AHnpNd~VnBevgu7)#1q@(xyDazMv4rRwgvE z_$R8+H}oexdcf3E`RgY&w8WHg)nqRY7K9v8|NIN)!q};d`%R5#_0H4LWvfo^7F3&+ z{q-JpMWq=;06?shMgQPx-QPwyM83W=LYMGX0Z4onS!>#P{mBt(^ethMN>X@si@qpd z_8ej);mJddf^5ZDLw}^3cN+3yv5aWepX4}6vE$xO? zvF|uS;F>);SGFL=qbD>=4^T3|M1BIa(+`^veL8{Z$?I%Sla0pqN}uyJPAfh$31 z9=An3<@jdC)Zq74DiS{EQrfx=>r?vsu$wA{Q^T=E=g``zh?lO3&WnHWoYZb&hW+oW(e z&Ll}UMU-6v(&Ju}!9|<%lfK{5*VbQRxg&z2aJTwE=px8d;_nOj4aT8JUZVWkJD9mebwdNWN3ooq&g?6(pOS~Lq&b6&g!BXR@85&E$fSlSa42d&SZ2tx8B z&IO8?Uoh0_6ANL?gWfhD4Z$IIni(e)DcZ2mEL+U0_7A_gMV<0I(!E1U# z84K%-eWm1p>=cp9p#p0W4>Al{2?_9O^kf}+C@BGY(hD)_znq{;`EuX=9NF}u_teoL zD_j-b1s{GfvkJL*0RsadFL@qGFEY7K(Q2ldJN7`&*+j;Yl@!q>FCO@qs&tW{mFN<< zeJ3mIWIynP?%%C0O)(s3(H=qsICsSl6WVKmHOe7MbV8zY4~WTm509(tl`n`J+zmwhicJ3GGa1&-^e?6a*oC4f)>U$W-MRZ**8wJ z5BgtAFh4rcNRM&CKQ{=DdwyU_@hPnnbKJL~juJ7zK)H}pu85&wSp31Ky2Ha`9%kgr z6juph+&Q1=qn3wUNT0Sy!!5)%4jwFIwIq2W8e$U=5S5`A7EygC=y1ctmvz8?8f!S@ z#0c{4V6~#s3E~t&l;g-`fL3)Ty8S%NMF(X_Nj^gqj*b`09P1`dh_Vf-h@NAi`3N%O zui=)tdGL>>09b!tR}nkRsY_Com7zb}%BiR;|fM3P2>n+#i7{2k+2{uYzAG{mfPN zyR*SDkqa*{tqop(W-0jbNQzV0z};7s8j7|(!_}y89|M&abo5z4dR3o!>sHtxXkRR1 z1hB>wxyPE2Rq*HhHf@*MsvIjDK|q@QgsIJdgHUk+6UAD9UsN*hIjcX)Uo zZQ2(Dt&O4($1YAi;epY#f!?--(%8J?9ORB!dkb;ecqa9?bXg}e-IwrSIgTUAcLQEE zPg*4@AtjITQRVfmxj;*)#D z2pFIaIi%YEIys)1{vKqF+lcicL7TJ5AoJ7D|8zhRjgrDL;+p0DPKLFnxiGI!`6i(c zT_xEZL?%%aZZn#T*yCB;Yb&?;(=2?lg&J{fy}HgVsV08g?`km>@&I7nMuKXO%e553 zQM+5M8-mm*zq0i72xQ9@5+IeEOOJtRD|_8wr}k4Vrtte8$(xsq1s z^r>W^AO1|(mJBinjM9NMHZK=vSyu{p#S!I9ys_==y}i#wsrljNe^wC5?In|a z8AnDba9*x@mZtP(j+rMj(ADLoQ6%Y9B?}Ag#H^bm?F4K!7Tf*{AIra)BOoL}({}`U zfTp8HFos7xm7O)s2^k+GhpdjNp|02^crx4~W&j%fJfUuXLynpTC7&phb#hl)ZwxO{V& zc&stmLTT2e28WifcgMg*xsHB`?RQn4ph_=l{8CvuWqwMV)dm?!<=VzHvdmIHt{o}g z)E^rDg>@Dsg)>TqoR=Zka2@}YYV8!niY|Y&b0U{+ zx+aR2ZElc!lhhY&gOBZbT|N~FbY+{yH)gjpR{I^b!Y-ceIwQ7eKfZ(cSTC1Px;xD$ zqGeGosC;G?EF3!e)pbiR_2YX)IkV)D_(Hu@E5{bN)>6%+bBjE6fNa?6gQr0AId zb9}~>h(9IEqZq^j^7D)_c{nxNeONokwDy*cv)BIdL&R9TbZ_Op2XrCFIea6}d1mjo zBK(^5EiqdYuQ>^vf%Q@GB_bB5;qT;Gzc>1$>`z&-;yE#>%pV6ja!(5RJoZx>j(A-t z2~d3@J4nQ8hcT@-d-dbbdFcK3h%sd97VcUWI!%f4dA=`)Dy?YLQFU~+5a5;`teDQ+ zaQ4JUFhsIP?&%?)Up3;_>bX5=Isj8(s&t;AP?^FAt-!LwRHB=C?;dF+g(N1WGMTYZ zFCgiaATqJiTtdH>FwMes?n+Zm_{9pWA!oo0Rw|smESt+EUdifZIxqG{yU?3G*HlMC zDs2H%s45{$vgr;q8JPYa7Hyg-RJt$uR)ZRET9dCd@pt~3LCvLb{@@=ugP1`#4+>Tp z{NLa1pUOV0=L(oAfk+!%x}vm9YfsR<(n)`Ng27U7KI%%qy-MrGD?*NSF1B~ zU9ysuYcrAw{wnt}PXu`t)4-Km_DAMqaDFh3#r-Zm&>WFIFQ#^n9s!<^V(y|`kW{lp zZzx%@AL}{T$x#W?BpY#6)TnY~nkV@b%gnsg0+RLkZ#hW^q5JcB=LzI5s}m|-G(Mk^ z*JmbY_#PYYx zk?Kv77rvpUBY`~C*x2y!Mq5ZG&&btW6f;eMJwinfHx?Y(eOxykXP6u=%!ej7uvHq= zPA^Fk65B#2;=O5CZXHQRFVN`>7Kb#eJO>2^`d6;Lqh(9Tz7HaL_f(gSkI43m+%PTw z)YbepooT3HhqOx4asivPht?S3sK)uXIab{2YGKOytI!EJu8>AsYb`OUyjFd0myO+1 zHly+eNX~n9>Q^}_L6Xd#x-=*@dFw$@m4@SIUi=8B6P;XmM>0y|&4Igt5j*y7h=%?acB2YBIW{M3H1X z3^>}{SS)ac`A+nS9yL+BQ+q618x4ny0bK_Le)mc+oWJC9M;hDUTv18bwZzG}&)Ibq zKkSfOBH9gGdTNQ^bBY+;y(p^Ei)ODoBl8_*fL&_Iwr?j3tT9G^bZ~X}gloCDI&B*q zv(0g>=~!1wa{wX#oM;@c2FGCWk`RQQ+E%iw6^vMEZgX~9OrE{H~bp(v*JQns4 z`w$uysQ;&$q=0=|oh^D#OnuwbHp7d?BSj?%F^+7802tiGKwl8KtdkB-A-U}+MQbdA z(;c}cllFFn50-T0x$Oc>c3#Mx=@uBKBNmq)mG9suAWCJxH z#@iPqDJ<(zTLA73Xctc*$T^d@f^}3ho^~3G;hTcg8H>;Tr1Bv^Tah$W|FcG|U3TCd z!taULvU-J3JdeJJT=b&ekx@l^AF1{IUdAHH&m12&ebCe?*DIOGjHQW(<@im79Zi{%De;mq$6TSqrpm zbU|~xSyZ{!;Hg>c42RF2p_65hxv>b3Ysu!qggQL%AiCFD?(DB zX{VQVUk3) zz%-ekZ?Fr-9#Am*c|VpFnx$za;HAs|JgPlv5| zzR2A~`bM*LdEY?`5xoOIobmZ=aMIGR8~zS89t2gbnT482z&;M1EFFO{8lc0^gfd3 z&RFb4 zC8xO_w4rU@veb2_6ST`8I4+29(EBAnk{oE82ClCPd2fu)uX>HL8NzqR&D z{@PtW+ch=%=%Kdv;oF3dF;$r)>Ggj2#Es40=eLq??vt)EU4>4E4*r?F^imuv|F)l3 z>+yK{1IOaWizlmzoOa+HRyhYkuld!}bDbL9 z(S7}Y*q1TnkLTo<9KPz?@$El4kd6CL8zyG{X_)wW7_``WkXTz<{j)ZuS)tMY9KSD0-+3>}}hlZ|Gct+=pQBRaFDOjPC&8o#L|);X#9a;AT2cvtX^@ky2H z)_W#Kfw0=p@&Lg%`y`*UQzUWg3bf&iaoSae<&Q+VJ6~ z(dw|nmR+91Jiv9YOllzWjosUvz4xSP-^E(j1f!P^R5!Q-(U)fD1K;=XIN%DO&3&`u zN~;O8b5or|Jyd5xmg6{z9F&)$j*g&|i8h1xi?+@GAu&3^6Wh+=hR*)4iGQoztb)hu z&_2AGvpIJYwI9OTmSN-&w4%g|Itzn$CUJPE${M7M7tM!+)NX2x4m8Uldu>c`&*BON zWHkz@i-0oRd3>Zdr?cj{wEt#U9v=p6_I@a45&scvL*O|rt(c!N5NQ~+J1ea_&I^u#( z`>wt(FpUhDAEg=<(c<~yyvm;^?lpFe%J)Q`4Ie+ky-<~m^M3xZS2^6_<}jr9`ujP< zaq18DJ?;<08*+!fqlbMQpX0?ct9FiN#K13P0^jfIr7xoPk0T|u}?!TJ2Z zMsBLnDW0zNf$`a>|FPCo?3u~op|K#Uu;;6B9=zL}l_KExw}4gPuU-0hMaiWXcl=(F zt?`_VN#}4x#c4y+z{Ll9mVpW~dE-v6WSScM+WK;4ui>pW_q%IOFx>p6>~!rewcUFH z_tPJ9p#y)cuCH1T<*v`TbGxzvuda7G*Zi-H{$9sz8i$5|-M3V~LJ+OL52lHS+#D4> zmb)qcd!u!Hc9qf&5=daea^JnQ_v*@Bzl7Rk)RqpA6 z4C}fU`^bODnzvXd{=2B?^fFX$yun`GCpettl*;}eh;r9=dH?TZ(;L`DbK0Msx;yrO+mI!g5Kvz`d{&w5NO;FcE0`Eg^Ys`Oz;gGeO2*L1a z)0@8GqMUKVv74R~xs!^&>;0l(r$6wVPlr9;+JD~lcRl4I*gN^gB|L2IP;U3^_08Vt z<%ftr=N9Vice^Y0CiKI1$m5$i|5hnAPOU8xmR_eeu7<^S?}wjJ#CEP9|5~DKOj-N8 z#~J=tI9B+2#VEXJ%{08|F}iDfU+}MD*k7@WOWUn|yAxN+_%Gb7*L$3d+bz(NLM34* zhOobH$W1TW@@`bW&$X@Cg%^#scRpwOyD+jd^IYmi>u=}O+Dh18;p+v$(ks-6RiNL` zXV@2eQd(yJ&FMnleBkMA8K=_2^YKp{``HAOH|wKqiX)DGKdZym{ya<}Nvw+x?^G5k7n|MVhw`=M%CSKHP&6J4kXZ8NWlNE~iFGX}F1m3}2YE}fMp;l{NfAM`s0=ExTRkKd(EYz2$ z_Ql~hvT@va#jU;hPvblXw#0okH#eHZ+W5|{>p&5p{++{Eiui}ukDTN23J;6>KjRGl z8)w_mWB31oJkvyrpJugI^b0?6sE978_SQmO)7DOgxexe&>t=_g1aq(LZz_TdP5y&6d)9(SY7wrfjt4z^CUEmV zHgFF6U3M2gSC5rcTLag+x>&D-uK)d3Hu2A`+C%j#JS$Dtol`|qYcAXSp9$8hLjQ@8 zJW`;J?tfJ71>WupKh>P};u$0D)9J$eb0Pm3@6rF+a-#95uBn^+@gH>;I^B5hF$N$K}&MYZDMBCW@dzsXVU(W9@EDP3typb-y=q$iHiw8HeGf_vOO~uL$o#U2N zbmCs{%#vStu$=d%S;VQd-4t1q?zs%-;-O&HKJ7#?U z=UwsM_xbF9^Bcz-T{FCge2Itcx~u+w^09qBi_g}_`p;GWlbiW}UiQb5;O2i#yi0s$ z{2y5A$D{3ceHO$!bKxQzM)6{cE6OuLOFVJ8siSFlzvnWD_e18mcXtK5N|-W|U;p2( z_qdN?s(Xy!`)khv1nulhGBp3Mt6h0B{=fuR4{a*0RQ(_JHs^nsc6J_T*YW2ZP(6tP?I*~Lnas4c|6if3RF2!2Ai9LR zG)C~s|4(*Hg?KQiU^^eT>YGnr9Cw2i%oSTMx#w;6gNE#6tG#B=L&M?#MccvJ|3q9@ z7cPV6TcwY(Pk$#3Ws*5Wq`#syqU1af5{_R)chf5>pi8W1d*->Vu zn)m23+pZ@ov~k=4$;1hPL9O}p^MZI&yM^q`RA<>O%6r#EJ=OiKC;HN)|4#d2$?kxrs} z&*3LC>wI4TpU=!Of``5mLuUuh((?n|Wt&518J(bne8m0q#srG2KX`}jYV@VuPkj&CB_z3=HD2J*!CE%cMbNwN>tElpn&?oXlQ0BG3`QqM_1c`hQK48l$^-pBAAHc>02 z=@@lPj!{UbUl%+j>G1A=IzbhG4QiEhBUd^0l6Ckg!;TC_LtL&)48w1zT-Iq8reMS$ zBK7%{r{aLQMdT`S(onUv@m$os99La!QYVx?y3n>kY6JNVm9&@>$fF(K%?|=1)Q%j< zOC;Uefg9qR8&zxqW$&nlEyAW|468iX;B1#});;%Fh%~k`n~Alk zn-$uybvF~(O<49~&s@ziqbz*Cw(_ir67Jt|i9-n5MH4eo`jovp_WZ&9M;H^3V1c@J zN#bT)m~=DOxtVL+%m}?}sU^gSc#qLjXvqQf`V{uXnSZOuvn_-0w@Z|Z3d<+3fvHmZ zQuZb!Eu9gXiO?h>7Uy^NT5k7RMqn6U4Hz9JK2Y*|{9u;{(Y0SHM0eDzF4>(+ z{5!23oL}@UL_7_f%A{%~p zre(OaHFz-e?7VE4Vu!`VA8q+lrSha#R*>8)fyVuk|y&%zZf+ z*{!rJ9OUHJmJP_LeIbV+%2^CeVk%p&El|@@ewrW%y?71!*G#BmJmq<$uC@u}L!Tl$ zU&P=Gl_gdXR@A+DpaxD97$%ig#;aH_RPrTP0dvI75{Is#S8Tx*<}>c?a7ZByG2J^- zVGZQbgMLg3{}Ncp@u9zy(n#1nk-;&wq#B~9{}yDghR#mldKugj7-$m;A0@J7b^kl7 zb2nz-KK0hfacPXgxZGaf8F;{^jri(tbzJV2RSj;Moa^j-1oCSuxq=pkhP>JGfhsZ2 z75t8h(bO(nwv5c{$vEC035sr08p(VLyAEopzGt~)xi2*P(@PX_{e2- zI`Af_3aAIVP4tDp-4VcaKC1;xOpDkE{x^&fzHae}-Rjt@bE61(>&Vt_s&m_Q^Ef*r zsO2x}5!{`&nDd8%xqKF(@Iv`vpHc$-oBV7$R-4@jPb<04oBo9-l1Bfi1dGl>+H$0; z*(v4W|G}i8Yybuc*@nb#nED*3HNo=C$8S+Tih3xy_5Pb6$V_u?@cOU}*B7Owwg+AU z&xYi(%Ly_Jy`= zr|Xe>KXYSLY2ZA~luM|C6gfz^z~L@!#$_rf{%5Me+b6lvA$KP#z+@2?n`K$(N77^x z08U8wZ~YgYjQyvJ!!QLvit6n9;s(xng!fW@!8(Loxo@OGv40-W!K}5)HF=RHYv+r4 zV_(#|#$Lk)&@e3=07%WF;Ei$-w6TCPNcIAfOc$EEqk7PHV^p5Q;gduqNI#zcE)M|s zE|~8+AMio#CUEd_CG4>Xa*u=n^kki$_DcH=>G40cUjcwZlc4w%X-O!4unb2#v-7Nw zJJA%K)?LkZSr3FXrjgV4UmmrG`ey3WB^e4ur@m|1NidWpC9CZzQL4*lgpsBQ7MM%YZ49JYZCV6xuy^{Ev6kTN?&=d}SQVrNRS6h?ELYBmNMS8Iz?-8U6BqU06Es Z6CU$`gVrO0zV~95pJHBGO~-z`;XhYgN-qEa diff --git a/demos/arcade/iji_tor_segaxboard.fur b/demos/arcade/iji_tor_segaxboard.fur new file mode 100644 index 0000000000000000000000000000000000000000..602382bc958c0d276773304f2b2240d35098fb12 GIT binary patch literal 782009 zcmV)!K#;$9oYcGrbYs_%CVY`|cn>)P1VAw7Og1~`q-0salH3X-%SyInIh=`}-JO5d zGdrtUr*V+SmaUvS2R57RZswdxkjOdb_z?cfmb&HfdaOPB@0_#$MHdL*R^4}B-Kwv? zV(9tDYVi3ueB!`KISalZk#GQfW6xcn3lO=Lx3o&| z`EP##{^Z#81>;X!1F(IHK$(S-fFkArumj2yQ2rZ~51=eT$w5)^0oV`apP_sV z#Rvrm0MJ1BE|di*1|a}{17!)yp}z#+r$ihGzJmihCvo7f+&J*D6c5}zc(CUQJmCHm z56p2qSpOFS!0#Y}kt7kUy-5NmI>?~SOa|{hPXR9{Dd5sCs9;z~1N*Pjz|%c+Ao9?` zDG>t{|B3+)e~k&=evk!9KWBl<-(~}2nGL#*aKMu{IpEwR2ap#y;LB?q@V1Eqat;nS z;^%;0L^&V`9krv#0slnc0t<}`nz&r>eIXYt%DF(R<$`ZjbHPX>7YIAJ;ORatxVVQ4 zXotDrp_5$j-j}$b@Gut~f1C?`^))Vtyuby!Ug3g&{&Oy{f1e9l|DFr}^FMLH%8$69 z@)un2o!@Z5_*-1C@je&$Kj8xGJQpwrxIi(?1r4KIuycwF?waR2g=fq>tB9|33o4gn+ofPmFk5#aeT0Y8-;GhfzVigK}6)3n|iGrzG6l^u2Ak>b6 zQV$9^yHKFskAmhSDA;on1^3>Ef+rtD!7GoV;P0M5!B4-2f~s$z;L>+caOAI1u=#f= zcOosNO)q$M2(H_gNGyUO~YVH&BqAM8OD5ik~c^;OSKqbQw`VGo!$0 zL&1A46#Rt`1;;}uP{vRYNuppVi-LbHpx|-9182xQKxFa2mv}tzri2GFDjqmg$pb&D z;{ksQ5A=5Pz(4Nf0n>gSXgJ0Le|--R%s;>bn#XwHrKfn{#K}RFm#^}`^FQK&{(s>C&M$eu`ma3j$!~e!Z{Om9AHL56 zzx#v-&YkCh(JMT#HpBzo5gy1*@&J9F2V^TeP-o%X(?00%L?RK%6dD{< z+U@aw#O||m_;gi_gsHjN8-y-|T+x{D>qX>DB>JXk zG1;FD1ikg(-JZU4Ah*XKIfvgHq}$Wv|9v~$t$p4e+Z!QM;5oyw9VGu|u-Lb!Ik)Y8 z|Nj2B>~06vt#hFN!C(-HOy>6VEzB0r68GU$3zzE6F8 z|9!iUsZX9zA2@l>iQRkmgP;HG!JW5swy(DRk9eB`<8S%;C-CvfJLVGK;w?ca>w6{Wg zE3~&ldn>fJLVIX?+q(yj?LN4Ta8Eq<;uFu_`_ywgTIjHEy0=9MKl=eNfD^l!V9%+S zUw-nXSDvqL>IC;5Cjv;RRr^nDYpL#NvB14AoOpWhJ$4A^`m6qK1l{|-bV%>JxB(`$H?FZ50JrIUnhgoH^|`pcgSGnuPC7D+Z6EX z0~E0Q2n9Uz1O?pl3gf&Mqi_X zs<)^>{0SBO`U(|Hj8efb7O6mEp@OG^RPgdR75w){wlU{F)}NmSz@b}lqJaUx_$&a_ z$6ovnIB;ACk{vL)h$?i~Uf40xRqS1N!wwU`uWj3@sG{sL0B~#{L`XI1F47S0)Ajb; zS&wupIzL?r>Iisp^aNaSw@^mem4+?w4msx#e18fk=trvl$V!Sk5zGM3eEpfHZ*8vm zR{YZM#P1(fYPqGv_|rK}8?0xCf%U`=S&%QG+y)#b*_kQc8 zXI^;vZS_?;jY2MyN+obeB|<)mARIQGLd3&zUH-R6@<%<` zb<0J_pH}L)rG)-zrB9KW_otP*Zz=KbDE&Uje;)izx3mOzv?}gsalyTN>)YEO+fKR1 z_Cct>r78TQfqUPJ&#OO85z!Z1@6&7(e}UGgYe~L9>(hLbeu37f2`9UwweL z?U4KwP`IA~3h^^QA%6xa;Ew{z??=CsP}&F`NvN^r`~(&8@DtS ze{}1Io~b`{>RalQ-+1bUTUyFHS`zSiY2CiuXFgZmQ8;<$-q3%OBFA6()>BV@o+dS) zrAfu7Y4W&AMZ1+I_$@LTw!GOi$OwqX6vWT81bGTGuDTilL$t1o~EXMJ52~w?+#iG-M2(GCENx zl2vJ8rx+{A`7{K5$f=O0a%46LhyC8IP|QasZ(38Kbz_o5#At;8i^aWW_F4@RSQm)o+jy6DKo!w!eXm0Gzrwy-)kH9EOEzGS(_GisRo&3r)&ieuRSKz! zgb~vDOd@PGnH|wm+)jt z0g;d@@ifeIEKjCVaOo^VA&l6QxMDUE45w3p6*noHrG%Ubk0qM(ZaHjzYHHa{&iei9 zn_+C(T1Xbe(J%=m6F34gjY{pTjFWomCC$A;MNeaMcW;$ezvHf6y}q%tx~f81sU}A7 z!~%<8^N8qaj9854!nTlOd2?&Yw7wZ~22$o#bHp|^IK4hSwJ>jt#^Qc^I9CLbm3dzx zus*$+(Q)mrG{Eu!Z<#>Mkd;C)U*5T^uBN?rU#+mNeOD(C)ky~)cdUS=^L#GOyPQCB7?xs78Gz2E(pfY%gNQ36 zG5C*3qOkBnWOXi4D25h1xRgKPcgB*bR3w%4IsAc8GM2@WNkxDwcp~XkA)aDj8(CTw zBeP;jI<*`M;55Pls;%m5F=#cly}j+dQap3lE>%rmlcBj;AgPzo@ZOY?6^R$~nS6@I7q}4i|p{b{<@4&A1`i8cS`pPDh#HN<95-GRnGtj~2%f@|lo3kC00w29u4F za5xf`L@Z*tL=sE-eL-(18S!`nQNIym<4S=n65`o7SAj{)=CVl& z!j;NoN_~r=p{Kd2v8KANv4W@Vuc>Zep(-UpC1Hrz?8t?Kfq-Kz5VEbz&dtt_-JBl2 zICyn%czAMkd11|D@x}syXtIFWLxi~78wiCWKCjyw3b^gQY$#4FGXxU3N?+Z+qot{( zrM08?#9dW}qX&;1Xf{;URBD*S8YN&OT!clW2)J2qiI~lTM6?7u9h6aur?7m;wrux1 zHrKXHGeIn3vxgzfV(UweAdBR4#u*e`F<%61S=5>@7T9=i8KI+mE+>!CaOD(gWD#OPugBwanpPJ#H%6|HP6t;;CKk4~%o}SK zOE4A_h!<;kjJ;VMJfbh zX$%WTg064^Ux?@Z0U|zECKSj#4mnqnq6Avj%T)>yUS%o4!6(c3Y`UC@XTpI{I0OMF z?hVAk{$MiWN#jz96jqET;_*lz9*z3^sVoFFDvik(%b18tERsu@NM}n`ZDm_~OI=Mv zUst_Bqtt3-S`kaY!c$rFxYOsfnwGCmE{+XvY)r3gY*^hMZzvRSuDd**pvUT?_!c+q z9%ndUc6i3?j$fze$yKl^67jjHT*Tt>={UAZ%wnN@ zj#MR8YSb!~O32sgm^3DdOsA$?-ZGb10wr7-%jYuLSTN?Zd0nfiaw6#U#S7$oGL6MU zsi-rWNx)RcXY)lCf-9DABtkh7BaqRwCtC!COgxfI*uxxbDU3n<_IV@8SUBwP#ll{f z$z3RBJzg5e=gQ?uR1hZ#SS*#4%M-~vRV+hYLwEPiz1=PCCmz_>+t<~*r$?u(s#2=z zSuhFnrBcWnj;u|sdc80v?4d-|>$O^7Sq((OzEH>+3~j}!TSF`6&8_vR*{SPm=EW7W z%j*wEEOwX)xo8jwX|UGjU|EW~azwf(OemyEgaVesp<QdDZrSWsi!122Ef_-qhc6P2rL%yNP1UH2 z1S*}%q?F2KJim^SmQ`vhYiiZPs;(Norm@DL*Xb+dqMkk}m4>jX_(Uk2hy=XTV_QCd z#xc9*%07lVho=iRzNKk?{zdx3;IP&a#u55L(6uDTrP$Cp#iF|mS zUYWEbC|(57gq;tB@%U0Q=?^d|BmoVT;d7AjWN}PZDaloD6I)@0jDn|<>}Ht#5D{2( z5;Ip4NuusN4usstWM9)PR~zI&(1H+&8<$%n>LLOr!#1?W+{nCHk%RfGI79Sb4409O(lFDv(kb zw^-m5sZ^{aWaJ6V5(e=2d?=asrLaOinZlQ%$-KuAi@}nap_j`{CRs{#5%dK|u9U{I zB@im}@WnDwql{P>Xr_eAhH@e?C01sUSR5Ri6<#lLlCe}QU7(cx{&1K^a4&~&USGoF z36k!qqE43{KWkq8{ zwO(7@DFG~2rbK4>jnFTyl`V_IYnh&yU$HoX3BNCj0rv)p6i(9OW`-D-PE)Wb4pF$R z5l_T#UWu3NPFn_scrXzSMgha)fVF~$LjEOG@ySRXnip3{IDmoYNN9ksWXXAcqJ#o) z7E_^A%0%KAfi5PN5jHBIlE?tjn_ik9o1Jq| zqrOBs8pV~VI5%X|B^=pIZ>yBB#Wnr?3bD4nrB=%~G|NTJExPXglmefI!!xk80G9S! z<96H1lHFlioN@VGSk{+_Ir1VD%@QP3I)^C}3(I+?NFu7CM#wBY4#ceHJSm@yMtobQ z7{|J}<;iEFku<=QX*jY%fyhKc3A|-GC=*KgWEO`b2Ga?fI|I2&JXs{-$y^3oC=`iQ zFcjomG6@GL#1a7yNutA-Oh)WxXDaS-O@$Q2K)S@pkThvO86}WZToRe7;W6Y@`V^r> zk1$vqL?EPON(?HCNh=4;L0cf^v}qQ}+*Q@oSk>C!T-Dhi7gBIIERZZEyz92G#cN(R+g&E(%+Q*} zYMhv!i4}Z)U%mwCK^9AgC|n$s4Dfs{y$p#}Iq9^(j|(yXTA7{A=L#hzpGg&0srbAK zy-cH&Nrf~blblb)B7rDyE?fM`us`M6bcK8*T8YS{vSk7)PhPJ?I2?pcD~3c`7CRhZ zvGI_C#0mx9y0?&yxR-KLVxffR00M(Tq-pp-tygI@m6Z*xwGvbz7l~MSB85l=*H~q?EK8C&u;Vj zLa_{%#rQ%ZiA@@fSD~)bvq&@= zE|W>dvlRQRFPn^RSp$A7@A0K_J|73A5~&wEPg9*12l!(J1@UK*xKI+aL7 z)@>!v!n(<9an0UXTyw5pzcIZ!Gqt{HvzlOais#CBI?ACdTXj;kqT=ZN?aiHidk*aG zIdNkDfjtKf?cd!2>3V}+tE)QdPHveeCa1@jJ>$bh$W-k1L@HCt7Kvm@ z-k&X{V=3$8vdt4)z6m+b($uEg?(+G(DGIJcVxg!`$L9*fQn{F4TS1FN=wd=FYIdbU zA;{mIMpHE6vKm**qHLB#<%-n3y=qNUOM7#bzDD2BQo~1O0tS&rk0*$UaLnb2_C&ei$l zrG=r3H^)bA4i61aEKb~9Fm7y`Yym$hZ^_V5rL>9)#A>xvf)gEu`_LMycOGx6Z{NMY zzthltpuVBKrnZw$O3G(5Xku9@oep_n`S+O2?u|v0X>E1g zVz<~m)|F5hfr-IyXlkxf)_1gYw70dkHFfoCR2qd&O$8J}GF!y55nm{t%Z3BtOu-eG zvPo2`%AgV{E45+;tgRBJKqcjIm<$A=lmIajCKi&(XfT!yxkFfHetgSfTDo*)Y;0)Y z%D~O**M_f8PL58^Pmh|gtl#a+ir83@!sZJRL?&g_byhdjHy=9C-@R*3$KfyEyQ_cq zu6z5nm0GoygUb{!zbE7g$2{%`E)~oaOQ~oMfC81A!AiwaCLHlNJnK^<6U*}xa-K+NazcmgUz!l%>71Vl+LlmSTOvXMwMo?2bl+#J6-d39i9=*qbd zK0JTr?CC2b<6~2c^GhbXHV}@Su6?`v_8&fW@}4jC_aEF*T~*)M zt(O=K6e>c&NW?O{D4BpKvN=Kufd&g@3CpEnLa4bIT&3 zv}uQ-roFyxM{j$3cX!*aJxYeA0#d3pnUF~YgN67?jFL|0ojIO=HH-s3yWQdSMg0Lh zK9_{`Fi>Q&m<+nU4xtPAIHX#D6HCc-E`!OSG7vhROLGPSn-=TV!otM$`GuRq6O$uT zbJJ5Z^GnN1wv5XZNG2kgY+9^T)aZ1zZQULHyLR<;G_|%j)%RC(d;2P?s%l!rLX?hj z*%XG5E286AEEW+E;y$d93WZBCcMu}P+SM`R^32%a;KbC8cdi9J;gCIwaP7IYHzyU) zsAV#j#iCNEOcGO!%SJFV14)K4y5HoqdZPiG38uf#6)MC$ejkn+!f8aR2DQ4jtFy1C zyMO1N{+{06uKwL!ZM%0c1!4k|!%9)9aV!UGT|92x^t)G=mzJ%|*G9&NjGndSO+P+q zvS*5HHl#UpRLG_xWD=`D(rGwEq*6$sDWn{P$re$v5VOOi{38N(z4Vg^KGi%T<6EjnDiwhHH7K-J7HH5Kh*+D#+BjT~PyJbEXA!cMc zE`>m3%9WWE#bFJnf)3lJEg14U?Owm%>F~uNmrmnVdZ9q7X>O^muGH5wHB`5?HFtFN z^wc&T+rMjnbB#gQ(OY*^H}8^NVW>lbf-?!sSgW zmMlj@xstO~#iMXJLajl-63aBLRXiS-E0mxawo<07(vjHhH9Rg~D3l7>WE`$Yqvvw@ zR5@<)+BVE^TkA{HvlCNuGt)DRD~rP-YEraFOj9*NHeVzY$#iw~^)>3&yAJg1 z-rc?Lo{s94wq}El$B?SHpIKN*3jPHQ(xEC+TPJpU#ZtBDr$s2Q!43kEKf}>&D8n?k^N9eC5zO5J4|O;7?QCsq-qqLG)z{qA+S1Ta1MjIy zr%^KKav_xti6$A35lfR(PV>g{=%u02Ygf*mxqR{J(EA@=xpe;YtaEi0Mne?xJu)JZ z2!)8cL9ef?scmen(;0f2A)O$5G8f5L5Y`ka=9ndRBZxy8}TvlipB1LT4kJc}i$ zsIF^nZ|&T%d*7i$NAEdy;-Mpld)p2l>TPYT)@o%Up0HWCHsXxgmqspM9=tYi;iC_( zoPOi<<$4*R*REeZ|IxXtAG`xye&O|B&v-Ux z7M-y&saznzhNY^hs?yNd+1XUv(9+gerL9nj5jI=Q3T#<@juKt`>%qfEPTu$6Ltnn@vB&Q_vTM(QJ-u~Wb%mTur&9@8 z>zd6pH#&6r{KZS>PG36n-sv;%jjSz=O|Dwp!9>1*16+-|!cf=P+TGLJ-Mh1=t+S`2 zskW(4jsqA0MBT;}NS+vjq4^tw<16#SS%?oQA=Tm$|r8Q zP0NzdDFg%sbV2PA!eO*Is&;5rEf8|T}KKSIRFF*RVr=NWM(XTx6(7pE^ z+qJW|*`SdKR9Q>RHZeVM_2ctrfBCbY|Lmtf{OJ#W^pl_c^wkT~9}QTi<`S9pFc*<) zrnrWotE@OVvT z``F;fwF_s@e)RS)-k7=e(cs+dl5s6wEHVTLTUOs-Ff?^{w6%A1?CGej(@ATaE0idn zR8HdY$w0{O-tGoBO|v&Wn}eTR8oKz&rLha|ojZ5_%HXx(8xw2htxZQfnJhC=zC==c zXh+YXM^8O`|Kl&c{PMS6{?7OQ{Ch7w^~Bd6z3bqi{d@Zi3<8r@aM~6It`1%N=&fJ= zD!gUZ>aR8|U!s0=NZ z$(}Wn-LrcB^wrA)6K8(&liyq!Jb(4v*@3HrW0Rw+uuBN0OJzKnUtQbS(zUmL&)xUk zci#h#oqFPl#~ys};Ro(LdHC)grB*5CWO6QxX>sP}(D1dh?|g9X_210jJUuWtx)k)g z6G^&SER^aSn;P4Cy4t%A?-dDadiEO_CAzMPUEIVv7D;rm@ zu1{aNa_0Qtr3=F&H%G3IuiI@~o3323fTIu;-L>^Qx_eJO_tht#dGX~}zV+O*-+bkp zUwi!Fhwp=3Lrax}qO78(EobJ<-D$ZeedkR(8%<{n%NV}1k3gHno8Y{`=9#yqhERa<-h*!i_gFO%F8c*^Vx4azVBdv zTYrrR_UA6!;`qpwOXtp7{ z1fuFjJq=?N3#E7|4LdKFIp8x{%vSq`(XlnMvH@xQ>ePkHSFc>UHgNvx;J~$OM<2ZZt_Kb`R9Cmih~g&(#>pgOyMx&rn3m*Fh1n#S+KRA8< z!#Cc3{nt}t@0?#;-f))?qkZD)E-5NN`BF-fLe7>8@oWL$ z(xG@Z5p)Nl##QgyqIG6$a(4KWD}$HMpV?mY%INsyirMM%r%TxwyHzXcJGkrc$&+_K z{@w4s`0O{o^U61#`?Dt>edwY4Pu#yxsMXVn6nb=JW9IyY!Al>UzWBzEe*D@S|MKd4 zSAO;JoN0B@=e9=3_zd9lL=^%JECn4qckMrT@F0BN+1b72DGLXD$zZ^u}B7zxn!Gzx$`(ygN8DG{0_|oweI-7GF9a&r?JqR3xjY zYi;S=)7#n6*4^LJ(z;D!HEK22F{=UkZR>zp*3{fwUsEX; ziv=ti7xQdwtuM}x4_>=Ac;(W-`>%ia@rS3+p1CkGIWnPrv#4 zuLs?WgJZMnR=WjKxJmBa_!h3yfI2%vRM@x7@W?+j{)ikw+dneC)wf zkDPk6zo*+!Ri|W-Ngx_c=W>B{v)jJ0ytKG9vtl-`t!_DNp_p;QX1ANy=9br&SFG`* zFIE6l2Azcpgfh9Z#-OcjYHaQ3Y-?$(t2JmVq)aA?iv)u{hiPqLVQFz4~wKrB$QdJO!%QOogGT@4%izM@~HW@FNf2^YklEJo@-o9(wq}!@KS}s1p*4q+-~- zeB+97?Z)KB&GXlW&cE@-yC1y&)?4puRd2t*VgAgb1z7LM^LyvWKz)YKXvuT=?IETO0n z2?za7^V;IV%G%8J;Tt!GZ{FO7n(?uzl`Z3#N3W-{lvSO(cJ%H%`lWl1-SyDJ_Z&X{ z)H8PHMkz*QI9DKO-&mR*n;aWD_x{Hpzx~$lUVrCbfBx3{@4f%#FQ-Gs zb(1|_EEgy&ffBONhSv7>yVrqI~WZ=r+)oW)jyPWV7U#?s#;z)>)i|_;r zxm;b-tkW0_l@&UbSil#lk!&gz3wrJA+uUz#XlQsCCh73xwZZA}Ya3yIBwrFXXqATA z)*bu$dv_f?e)Pcp0|)o+JF>5R=dR{@gIr#r5-Anwa4DZo22AT#^Wx2cfq~2CPoF-2 z;nKOc&kPP-y5PxMtiddfhQQ9HqOP{Kv1`|ko;~~b96#CL)!E+JUaL{bWGXR>Lgz48 zc)!JFT$&!bc;W0PpM3n`haaClbMDf>)se}Mu7v}ZfNhIb$-pRFnO?6^>)U$jYg?Kc zx{n{J71bO&w!5RYxpzlzXLEhqjs|_TK|ogMsD(m25_D}Y&(A_eJ8<#h<+Hy#KeM{H zG(T+$hy0!djzS|5sca6H&*yM-T9HU15zFdoWvK+dn2xw@7Q5ZFys$byIX$EgiPz~zCViP4M0OA9j|Up$}0h+L6Op{Q(XX>0H8-_gHo@7^69-G_I# zwA59@z)?zJaS)Wtxlq7uTVI$Q8NPJx{Mj>~e0=W0g)5gY-x#}ee%2L^Y^{28;dEn69_Z&KOru8@mSeT`bKsH>MU%DECA3piaak8N{v z%eb<-v9`Eqv{)TJ%ep(lRx@Z^k-EOgP}>Br)z;P7-PzXJ-CkeQP_3_T&}lRp1*|z- zDK$$jg~CDG#`@CC*zoY+<%{R9-ne>YWaP%^#Ps;hVSi#hQBIYad{nA3G}Sb;cXYM3 z_Vu;5boR8>H|=WI*VgMQsv6k^0W+J3MM44dx^Zc4aun9h>%+r0$H#6=FD{RbtXoZ6 zCW|i~4yQ914o_lAL_%0`yZiU;-gD&W(PJl196NI8=;57xFmhUI_4Uo9A{Ps|t;g2v9mhtK{f~F_NedjzuG} zaKK~PfR$=(&A71vBgp9tWx|m-o=WCOWKu=WYOG|S{Z|nAV@Y~y(8k?&%@X}g^ zQl_k=7pYu)E*tiTJ*MUPx!Kw2vFkU-#>TcCGqtcZF}$$6m`Zv4B|2AvaO4$L^>y{N zOmWji&jDnQ>SeCMQO&k4(~81A z^5Xi|%G|>G`nt*CGTEc4q(6`Y0$PTp(CcfebhVB34UNr>4b9Ch?JW)U^>uoMLMD<` zx5x{5rb11P$MaY!>@Zoa8w+#Gi<48ZaE?tatu0P1FE4t1o`^q5VbM7#Poh?-6xybG zLv=$#W1T^-(Nw6E)q06oB$i2qTrR@S7MNHp;oJyBEL*O{@y+$wjg5&LW8*ik-`Fk> zle6;^6KfmBtxbz7Std~FT)v{VrM;_f_ufOtj~_pF^yu*u2Y2t>cd}YpDHGRJ0gRAO zM?-Fh(_%84CYEqU4-$IUjA!ySxyGb9p`!V$=2GKEZC zRat4Msj93{S7_BTc}sJT9$FqT#SyDvL{cU63zY?aLEWGZSNDH->JG z!5EsFUtU|8SjwgS(KKMt*s2OhBU?LQm$##LH|)*2dk;4t8t52-xDvq##C$gCcLuh9 z0JjmPr@}cL^a4x3VN=)w4iDwh>1-MW(qw$G0FO5i&E?G#TONmX6NcC1?Bd)s#Lp>s z+}q!?S>Lev?N+LoL}QZ}a#Unct8_YDRb91CS6yqUuB*|h9%4@ONZ03y>NVk^eXBSpxCK4I9#}mi!aW56+30Yh*td3H-R;R1fYt>S*V%xz& zL$y>4TR(-EFA%`YXVTLdRw)|sdi}x8xvh=anW^!y@v*_7v5E1KN$8kqD-Wh-`H4NH+k&t zERIDXGEojw%tdvTI+;|ZuhME^;fHloDw3(?LXk|wWpfk)5}iq*l0iBV&*Xh}ug__* zT1}>{4I`vWDSS9l$d?$b0#@Ma;Zg#LTq%=CVB`o94wuWIF&HcwS-@wo*a(Uu92S*E zqf*K_Vm^_I1w3B6*|=!3Opi~EP0dU~^qQPq+E|}(5tETDMk0}!0x?_BY^bbhXl?24 z>+Wpbai|Fq>yd7a(vK6f%c~ zClE^6R6OhtC0t7;%a(C@VIG$F<+Z8F`T6;!mBqyk)7ILm&F>Fv{|rA@;*;Za0bj`D zuppwzVbQOy(`j_Nikik+eTA;Jwp~j>C~N+=WwbPk;Wc_?-JFNsU}WTucx(`gunqcRy}B9Y3#7eTpIt4+w&^2^osZh$tgONgDY|I?B zFU^e4uB}XuOl+9OuFbBm&dx5a8`sS?tJUh-{;hC$-1!_vfSm@Fi^513Zug~#1QuROvwh)yjLAXK4(O(y`DF_}mnvcE*szvW|)!tq>=z`*5+ngPM{Y`2iTPzjx;WZgFo`_7OF;JDDR4n2t<)oLa;gBc{t_W^k%%%&3ObW3a&!9{U z10-AlhG`C04*A>;U&Oh-y5;miF0yHJ*(^@;>ZZxKzOuHuYO*MSV#z7ejCWFZ* zCrji)7B+lXKADWiivYv&*;G0WTjX>O%cL++1WXo*LZ?$npinH9@ELzJ84LORJ|DzR zn|b?J0!`*EQ_wzXNfM~VLW#s+b7)L1jm2Scc?g%ulq!_^)@lKRC6)156!P}(XYeQt zftZgVJh_;aiLfgrY$^?r%Xxel`gDd6mcewf6pfY2`2v>C=CML1nT&)BAPrj{ektV7VMt#GsT*B~S*qLJ|m=gkqWqkB-Xc3FS(aQVkJEr&Y>fM_;KD z!p>E|CFKbSj~evFW80x=v6{^;@1`dfg0UD&=5P!yk4fbS!~zr*z3D2A)negL(C2XYV4ZTV%!fcY zm~grh@kqpC4tOCn+iY;t=0MmyH@~*(^qEXXYoZW~=F3C|!sYNG+^Upl^L?$5%lGf= ztEi|lRI7z3PrxE8IB-Ku1|k#+m<%3=N+y&Fc z+Z}e>){>`O2*irTax#hKi!c}S<#HicC}Vku$;Es=Ph(TEQL=?T>H=67o$EL|-jR&Wv zw#-{=GwY6ECgu%f2xJl&6(B+dTwSc_-`~;O0lVY&hI)fqqn4p;7M(^Rz+1xLiD$Fn z7zv>j%2c+H$6z1=A&*9;QSoIQ^cO4?A&FTyg))Jkk}%bkS|hdHFAYYE`g*+#1}~fT%Lpy&jBnRblRNOEeKwa z{%x6^5tluYNu*1#PBS@NffR;Jg+^PUQo~LGTJm|QRD&dOOadroB8hA&>V>;;J8V{q z#buw{%qBcOk2e{O`fQ$X&~0~m0&smtEVejjh1j^UxEV^NBhg%m1Pi8+FHmUI3W=e$ zp>1DtU2APaGjxnxu9m?n7Jw|vyz!2F)}hE-wxmP{=8h$T2ig5s5txV{lUSw4?u?5cgBoMz%NzNEDndm6RUOXbV;Jd5xD|D4pgPlW;L2D76bSwDFb_QaTO6E z$z(d2NQ69&UFV*A*Wvd0!+-$JKrz3og))kEFl4K^BNQ5KFsM{MVrX5S$Uhm$vJLdPg z!epsHRcW4FB9f>qRpd*GA)sExJs=SB&DfFtFX1%^*V)2r{Uv5A*YZb^MztK7!8NQ5%==S`mP^3H5{*q zsueKF8l6TD`2r@xU^H6*nM_8V3cjikaxk$j8APxOm5ZmzOe*RRML_O_f}4JkJk%@PUNG7t_E#;1`%}YMwpE*80xQ+Vbk^ z+Q!Tb5#0#{qq!n5L=G!w0b&rkf-@TPixa?jOLn#8mrab)Y`->O{ue3YMR?@Iz3~j z4EjO}7jh`j#}t)MgyYF*(Cs97`DCGzNTLXI5%7Ap!j1=$iFheFznk#5-Hu(K-?6#4 zm+-sYfmkw`Ok~JpG*1>OgeoC4k4L1dIEo7dAP`kLgTdNR*Vx`tU*FW!*wE0@(%9bD z-q_SwXEW4h#xgNUa}m;^23Tp?7h zl+7{PR8olyNLc}_SCtziLJ?n}1a*b;IVnnzk0qnwSj-;?F=!4D;d2F2p>1y}4ZgQX z6$ECvOsj2atFzf_n!38+rCOUHG&K$F@D-y*tFv0^ESCrRAOoh0%o8BR2_opHRRSVL zVnSvI5r@ac$~;b%0B=Q<@sexFpNxdOJ3D)8YhM5E&b9+^c`q2+-u8v#i3sp`GL_7s z#aNQ8qCiPfrADo*ZE9|)Z|mx8ZE0(7Z|xi&=;-KZZLF)Y8g*Kw28kvMg;dDB?R4+1 zEiA9DEQ7OLUU_ zBklD~jrCToxk*a$1Z)-sbyv=(;%Ooi4-*BClNJ?H*#gFAgR$ZRAu3q;T$wLrs8h;K zc|56n%Inyj-;4y-XBXDCoV#1=a|=7p?e*Fnezkgt0-}vZoe|JxJM@N%IXKs=>kRX z*x7S~7u<0K{QgiVo&zm}RB=q&R%>Z&>>2Ls?Ckw!sc%Qe=y*?OC%jXwN!!rO&hvOk zHRp9_3!ptizGx=7x4oU9&{B-3as)g+ha;BBO=`L-Hv!IJ92So7Swt|MONO>)xBcFY znc3y_^_BTYlZ*3nGqX!8n*g3W9)BR1#;ciJl`9p=wK_{}V|!O`Z*Skw$l$<%@sZKt zk@y(m9kO^LuUvUOb*ec5gS} z-isv?6`CM9TrjshiCkhZOBFhWR4x;6AT&5vf%!eDxWnb#*x6lMTv}V7efW4{e(w3x znMGz^WNpLc+4INKG^?1S`C7GFZK`YQ?d}~O9^E(g!VCME`H_SBM~8a4yBaM9ydNBU>hsz8x#fkK*_F-B`K4GHM@lqbskYV2q*^mzfl+I%hu5#MTXag9 zfD2BwoQapJBoPgRh=}~$w-bQ zViBOqOf(qqx*#;08|z>M7UotrH`jpZTzh+-K!O1OhZh9h4aVB`p@G4k_O8Rn1_uWR zMn`(PdRpPZHiJR}+D}vtx+!)h9P-CYIoGb=>CeP{fkZlsu?snjFAxX?lG;|SOb2hF z6*I>s@;E4&!Fd#`>T;%&Ol&rHR-Zked_FZh_4wJ`(%i%pU=P?fUpPioxO7DW&aSn! zdwBo&iQ`94o;t})I~+cEXne4{tEJYg2OX?r2e+c>WN2s8;ar(pgrLk#Ps}Z^EG=(t zZMlGEW3e#D#v?(O0iRm!CR>foUe{1#w%W~lty(E!afEETl8qOO*evIXEgR>_!uQpL=a$d39l7YG!VJ zZgyd1WoZ>WjW?RghSP>7wMeG64EERB8=2+7jm?eVm}-omFf>At*F2QNDFniqe4Yqw zy23%v&i2mIS|A*VXOn5Nj7wz_jT!6~C`5}%C0E0bDWqZylPduWE3j34nOqOqiN zabgRXnbtnzTv*^_U0M` zXk&Ioz@|!^k~^9Tg?EdN`@11 zCC1`un(9r~+M0&uT6+U%cUwIWf?lta3lu^`$ft33F_TT5#zi*u9DXJ;oTry!pJr)}?_m7PqJODJ+*VEtIW;8Z68dMs&Sj@-JDqTv3!T4<~&pm%|@8R9A zZeRc6%P()=zVp@HhtDQwS2s7dU4dwdtZ=nDy|tmOyRUx`9yGRZbl=F(ATxE@+H5h_ zT69{wC{aoTnA!WyjkWc~`Ptd|=@}-US2i}?QODw5l}`yJ9Hkv%X|HQ)s;>vuYiwz( zt!cJtYid-QT8&65;3CCLp%70;oF3QC#`5gU{M6Hl>G>sK;rXe>U3WH@W3w5>rqSyy zw))n#mge?e<`lJ7W=V{U!^1gP5!@gs;6OMW2{?B_WNmHk#RJYLkuB!p6`c`GIMh^A zb8~x77qq7jAaAgzqsiXZVbz=TY6XBhj?iQ-n<0`B@7n78&4nH8Z^t3c6ghTB}goTlmyPk*bq zbEMT`Fq%v%&?_jJiX_32u5S4pi&IbT-~IaT-P>Q>`ugG5Uw(D_wxbwzM9UR~#S=>v zTFAD#`ugUs-gbM(NLRh7rnd&iBtkZeOcD7)CY4Udqkdn&z3q+dZhHK&bUGDIYU^bZ zqrJAVv8k=Cy$b>}w13~o_*lot!Tyfsy87lComwuH@ z>642eef;sqA6@$F+O0cZ-h1>MwBXiiTqDE8`r5AHfx-QUUU-4Q^h3v9dU4;elgEx8 z7#SSu?c3kPq1bFH6LdI1j?T?2uFOAs{A6Zr>h8nm&u2ka%y08l6K+&w9_kr7G}P7G-B<&Or<8D!N~IcPMi#c_C!apMd+Up<*KXYS{QAvX_n$p_cyBgM zgIT0mV!2Fdtf{Z9Zv)J0={+>oJ2X1b+1fhX!D6XJEQAD_1GDb)ySAYwoePhbwwC6X zxA%MjuUly03Dg=xU42b!TNhJNneG?ESB9 zeSYn;PcMG>{_j8h@coajT)uq$%iE79?mwJf-(JP!RlcsKrEhp(-+>dSnI#&hUl_me z?ej04I&<>)!LgB^1LMNHkY6bzo!c(Q#v+KV=Z_xDKmPoyCr=;Ve>}UnwYKOi>68dZ zX>ILlYk{bYkByED>_2t>=m-eXfo7}8YElc)Qn8p%tSzoD%}w6B`pM->AAj)s_dopj zlPkAxeRg>!>e+OIz2tIuVl9Y>+SZoF;RB%W_a8pI4_r`Rd;74VEK{m zokb;63F&ea~yG|HFH~`qi(0^_$=R?!EUu{Okr~&fVv;%WI1z4bIhA zT82i3j~sj9<+Eqc9XtEo*Dt(r;q3X>&mA2d9_}6Q=M-4geA2tVys@zeVRaebnwH-2V}}nP zfAQQar_R0o*7;LsUOsbd|Jc61wx$NVP9?_aaxNZnZ!OO)On&;om5<(g_uv2J7r*?) z&wugrcQ5|#-QQoje&eghlMr%J$zcK1j2=92x7R zUvJw;7cW7 zy?o=w(jhmJvH$DyXWy88Duf;tkgE7@2m5DbR5CT5mE ztv!7*F*83mz2fwE1CdmrjDihQ7@9kqJ9|ftzxdMWmtTGTt#6$_^~zhXoj-Nr$l(Jc zy{(P47PXLrmNHS__NMdkjVqU~T>R}XfBuVq{rNBd^?&{2zy0!8zxl%lpI-a=$FIy?){R*^@^` z`@5TMIw=>cWYdImdf~~PySFZVc=5weF8=4cfB4-WKK$s)jnD2mH=MC>s>~HBrP`jZ zj)B3kgV68C4jpE8)C`RE)>|b)0Yc@|iL`$cOy>Oar%xWE2UkA6 z^2u-h{g=P_`QQEBKm7AQ|MS26@;ASJ|I(E^kG`DCM`Hq^$OzOje(Kn<7tUOG^Y!x= zUWLd&j~@Vm-PGQoQb^JXGO)Din0xl{`sZJM@!7{8d~)sj^)GJSef)f8WycdGiZsqQ zcQm&jIClJ{GiTrW(GPy`!yo_2pZw^1Z@u=)sbh!s_cmJf3aPXR0&jET$-R5`F8}`b z@BQ|@_kQ*7@4kN#LUZf>lxuH0NV9noO#@)~=-9zy$B!I7{?ZEvne~L7LnHMHzD$88 zq8b0r#=^|x^T)s=4;Xs8_w}8JlQZ*6YrDQsJVP;u9B3`J+O~Z?!zV7h@yeUudh4wp z|Jjd!@cr+8_dDOZaQ4X9zM;-qlR?R)$#gL2o_zG+&L{7`|K9I^@%R7ukN@-!fB(P# z>ED0#+u#2F(#_kKCsQF;n57k~I(mEd9XW5Zp|4J~#t zn^lS>GJ)BL&mY~sbL;XapMHAj(xodmZr-}{cxrBC#}`c%a6Zd6*xBB9{N)$l`u^L0 z^rN4>^V4^J_~Y-t{q`GYUp%_Mzu9I`N|jlM&%HDM@X_a2u6_2=Z-4Wf-@W(iU;qC7 zcP~#&KAc$Fiy>UDNLSb1)z&dEIzE12Kjh8$@IZfWPkVE_O^l-`f~7atKm|`fzW?C< zy{|!`-MV?}%e#-BPtQPIdm(K~I9IID)ik%Z59~j3`uzEC{p8y}{BM5-pFe-+CqMfB zn=hX_d|+QsOPx+8#EYqDa_jEHhc~~x{)_+hZ~yu)|NKAypTGP2fBM&d`T2kS`hzRi zuYR(W*z?A`RBxB5xo6*zlc!FdIs5XtR~VQ%@!|^yMh1G?>x@a@6+lIRbM~2S6^Mg0O^W%5^;%7hk(U1T5hi||2 z+Nl$VNBUZ=YPGTK5Bmdw#XHx&zH{T+2OnPi!}}k6^vQ33_hjl)xOEXXIeDxKS^|jBgT>1QqFTS|_;K{_? zD%4blta2f18auiN#$P!5%Ij}@?`MDew}16lfB856<1c>t(?9*eTd$lxexSd-!K{Xg z$`OU-2NM$$*DqfDw}1YRU;h2y{qO(z55M@wfBDbjv5MNk2dIhU`0 z^$=KY%NNfSX)ez?(A7S4^6a_S|LBL`{ozmF`O`mr=O^EN`&)0FKXG{faCg16Q5j1i z8Rz=q%;Mb}H?Lj2^6ABkm#=;H-p32Gw;yZ;BC#MUm8gxjrjE{z&YmFu$*1Z4N ziBsnk^=c>U#)`cz)!zHpS;mDttV)KX{AtEEC7MpHy0;deT>*Jd8x zy?6J^o1gvR;+4xEf5;&D?R$@>7B=<*QKHP2DjIv*$4{Sr`OWWq@0~yU%m4eY|NJli z=CA+zpTG0Nx8FGbB2Z>WqeW{{(4o!E&DCjU^T@T!@BjRlzxl8KdiUMm054qn{Px2~ zcU^%v*gCPPp{1*%=lGeEFP?t+0*IRPXI^^oz$iFYyFo1#;0RLKo1LDYeRlUcxPABGYGMR~o;0fC^ z5ANT&aTV(6(~rRXeDdMN>vz6>@aWm}%8omjh^MsmMtl44!Ba1vfAy{J{rG#|{?4EN z)t~(E$3Ohu+izSreRTi6{+{s`GFd5SLR<55bCZv5eg66NFRr}z9uN%V@#kMZpP2@W z7@_l3p;TjSZt3hEI&$>Lkt65dI(O=&gj`vpMoj;;?|Ri=hKVpyP=q? zWL3$`bzS?89X)mK<+onH@YWxF`^`81^e1n>{_?A@ojp7{+Bf#1DU0)~g_v`FV`cU! zFx?kdFJ8I*>2E%UB8Q}b-riVQDX^(3PiClZ?d<6qJb3uX;S;A%9)I~Ph~tC9-L1{d zc7smJsvv^I`sVt|+_SH*U%z_w%7+&}0yFm67gs;M_2}`_$@z7sFX|5~^b)nDxo2=> z{Md;XPoFt|{_NRPCtrT;*w_oN9IDr7%mxWgX4C1YcXw-jac*H@`uXhCqbJWM=N9Lm z?qp)oRHnj}KtGwRwi<{{XLsM&v9W=nq5kgf_NH2^NhcSwF{FZ)-J3fbD>IM3`tsJz z8=ri5`RdiHH}2ejc=ztJX?PR=?iR-&5NT~q1N-+KICk>f`E%!9e(kjjuU+`o8>dbK zMFF^vyzkU} z`bNeM965gc#PLIr%*PLcTyJh}ZnP=60)sH%jrd(_GmjoVynFle&#nS;UAuYn#@$C> z-Fr5-zPaTLh9j6-Dl=H^E&YQ7Lx9Ji*-n6P8y_5g@#KJ2CNt>8D4ES>;{Lr|$JXk~ z>f+4w(%Ss9iN&?et<9~iV38_NC|j)28;oWEi_WgTq0y1y!T!+$L!Hfy&CPWNr9{A& zi1PtZ0nUxNi6`(bUqCT{X}R;&*N>*3KAK*2I95U|KE{!1YFb*`dcXjIethAD6DQA{ zK01E#%%PEi-k#yHHX+RyAjM?R<96;WPl67;bLY-iw{P8j^6cJS5d9n5Tf4zTI!~2( zYK_KJ*V54oIeh5op#$S!o`?E-y9aukn;Mw0EOjN5%n`xerG@$Vna2LP=FPXMlN-}>s_{fAE{rkAE>*XF(XWCgAA6b7ByRs*lXOx2B!jg5}&2Rk>+ zoGj7VXc4kGEHJ#0NXYBlSY4W%nVS4&iTl*zD%cQ*)8z|-|0$sr7F%dAneBDWor6O| z!^8W=Mg~EJ_H?y1H?}odjK+FJMT`*{BIb5(uC6RD&Q3gk@^s?qljqMTrstMt9xrYC zlBra-%H~TYN`uK-Ti?*o&v1|X1E%LB3S-kxK9d3AYiW_E6N{+nU_l|^ql;D}OX8fcy))$3GB zy~S#>)YLb(*4wQ%qnIPrDfnEzKqzL;>R?qVs*;ZdgTa8G*~#i+PTkyd``~}>6jjW{ zaw2B=vd(0;*VH#OHZ(Lf)z{f;>TE`%wV_W{7dUa^fANKn`^7gXJut+ zdBfrK`268$IGQ4IB#q!a0g!`6Z?x3bL60{!wKPMoH`UeJ?KZtqsq3sQ6uEpkmWU?f zu|#lZd)u+Swzjssvgz2`*m617qwJzDoJ1sItSW$JiNq?Mk|!`&jRvD$tyJmsGMQGT z(x}x+g+i$k3;ERwQq6??k%-^3x8ra+b{xA-mveW=l}N-g#cT!_iNrFk9&*`YwZdDN z%{Hr1uhUyv6u4NxlZx}n60_bp7K?-<(O@7L3IPJe;(Gy9f@M;9fyF2i0Pvk6e z)o7}MaG0$lLXA;_v$STdN+|;NGbu%KtwE=d>-1{9PN@Ppz{5}$%50=d#-d@b(+Pd< za5y28UAb(WC|2lvo-Y+jq!I-v0;V$bTD49s6>Dk~1i_YbN)@b_%H@-BD2Zq?5e)?6 zN#=BnM5HK`bNM_>pfVaX%pP4^omrzXSj-xQk{LATvDsX_jLY)AR6d_e#)+uQ8w6*z z=h*cGm|cc`uRD-TB~rOu9=eauH==FGZ{8chrC?RyET%aWqE+CXx3~$HWawitB zI2v9wUM%KHd4Hsu_XiS*c-Z5OMj>6|@kBb8O_aD25nn17X-qPy1>i|%u-BT+RwIN- zC53Wk1N@>?373{)S%9`|JRD2sLQV$ng3ydWC>)AJKSnY3CB zv&2lV*Qp`-Wiq);B8KXaaS;?pfni7rsU$8hNU&6O(5iib!n6^|r>@GNLpz#oan z!ofJfTnE6SQM`hRBw{IZQa^LkV)1OH0>2RB2!(uR>6k<+7Rgl_CLN7NqfTp8pv>AM=r+M9!jHZK8wYLuCBtHVuFajm`fDMcp?iw zm&{fYUZ9d#Gy#vvl`B*sR~DJo0)K36)Bv zTB`+nFQr&wuw)cT7ON<;rGr&T5q@6jHU#s@KRA zdOcH^B9TzYJdua7(Q*Z$3)xII2e1njna@Xnmxy#S1|<~>R9J;Vse(`yl*0i8;P81I zRHP8|c|xg7B7&s(KTD@knTk>A95J7!D%J8gFOkaRh*&I<$rI6NA_YklOGNycN-+w zG{9m8ld5R7O4B%w&@3U3!)zOo0c}BWAQ4SQKn=AF^e!I-&?$Yh$%(lIAr1)`3dfSn zr8CF>?*F@VrW?`1zyEXO|NLbxotZm`eDk&c|D`hml88q`p->oV5@KB_me~Rxmn+pu zg+fSPxr$l9tyHPx3WHV3;|jDUy{@hm)MWqY==gZMwYH_nW&*upGU?RcY&%dW#R>(B zxh0d&1qEKIB!ZYQ=IGY;fi6)R*BOl(fwFb9&%l=gk?N(&j!uKM ztxhVCVLXwjqgAAH~p^14<`J)#M*8Q zp~6Hllfxxcp2w}`vjS&aMfcVRtWb^D1_Ax#LRNq+%J zdWZs%L)bzIPE^z~HbO$%5dp{n7LXW@l;c^6oCBSyqKRTIl2Muje7T{;#+PZO@*1Or zOR<}*xr$!TM=1`!lx1nunQ#_pA1Qg9fJ!7m^ZAuDqUVvhJR-w$6m!rpkt|knNftZL z!#6geFe}M()6ECp7J6=Ya3kEk$2&IQM+q$oOzh{_xgBU}M1PY^t1xg?ef5roe{vZV?| z#hF`MC!J80u6Im zg-p!Pw+fLg+Nj~EMWv)wkD1^hVR(TSsP$tFsctNc%bA_BLYEZIRxdH~hIztx7a)r#}QlVT4 z{fjCaZDfHj6yn8Pn&wcuvo1F62`2*ygicUEnG_{cpkgCPiEV7s z2sk)T#L+A1GD26S!kwKmM$v`1JB1KHA_%vXA-SSrkYdgOsv?HLK|o7tiCYTr!&@;{GT_(^ZmWBvm1o zB2o#e;$3%?%85|G5rl3<$~>jfEaw_^VpFXODd1AA49(`bC4aeEL=iTdrH~7_l?t27 z7K(^KEK`a5wziWcA{66_s#GkJLX5&NOGS%nkqp8qk!%)%5mALz1O|XD=Mn|7fUq$- zN8rR%TqEG~iL^}5LPbJ}Tn0X(jM-aTWjRcx(@D@GiB(b*hh530Kz+pg!AK~Z2V9M& zG9|uNArMM9#^Gj#(MXqsdI?EZ5FVgfi6>$Mi?d2VuO+gO3_5(}%=*gqUMN8%0`X!6 z!Kyfyg=Nbvz0y=sFM))w_=~bCbR7%G8$sD9!dJ;yY$cB(;v6BB@Q`S{DCPyyaH7^N(p0K6W` zQi_UIb)6O|Ws3lUNl!57aJv0Fi!)1ZBDA@*7Y9iYN#!vSH-+gq38KnDOGK(nlX-+o z=R(0kl`jJ{QPfCrE}zcPR8D|-cY~D*c)JWoAV9K+w6P6PT4dIVMKZlYC}I}h3E7}u z05)(589+ezm5X$>oQRMjRvMa~Ddl3M%E+Ujgl&ov4vyc-!WE_tTQUxECWDEqDfccB zi2-a;C=rS0q(*+GV6Z@(3kYAS7Yb!~Hj8tiP$QJmB&=|RbOz;BON2jGsw5*Z=f?KN z(&Dx&l<>I|xlpvst>mN%l0bM|7Mn~}#A*R^`>@2W;VSh;EkcT$nmGlKf&zrb3Fa(E zA{W^Xlu!($4_~d9;~3Z`4Zp-v^HDCln9r9gM7)d_(;4sw1%yQrWhCK_q>}}tNaDbr z(Y+*w<}>*;X|Gqvge0kJ(b;V>LrZ%NI4GTnB-vc7g2;G&$|7e;q;w=jX&S{ePibn=?(OBLb0|8yu(RP$CwHd;;BwO`6jBR- zHXbL4l2+pjsT5p^n8i1mr95q2vyFpGRcaAZ&LM(gPRP%M)45cxQpzS%EV)d?E|+Lr ztl&bL>7=Z1P-5j4(Xq6jX(8+9MNY^KleoT7^}=i{N-bRG$mpeQb3Z%A zM_FfRkb?ox0HVlMa)}7MiA<*u ziREe~SBzw7P@Jg*&gE)E@nDuHR0}?*GiOp)P*y&cz-wzcISzO&EQ6NPRV=U(CdwxE zYLvsyq)Pb=iYDy~{YqC$)+7SdTZQb6UbLW#~L zbEQmVch#4p&}<|YFJh>Ok0TX@T`rN~l*T5dGF)quUBuyunwu(R5ECqo)nwQV2O}gGwz%cp3%HRtPb^L@rX*Yq?T`Nw2pU z1h~eglk!Mh$wP%KvRLLw3b8C*F4N^SK~)0VaWWV3WkODZ2CW_OMT?0D8%gHq>Nkg8 zBxoUr21?B$LT;rQ* zYaHlMNexE5LBSI$Y({PcLGm7NDjp8*f~DA6dH5_8ak*R`BD=g+O8Zi&c+~AFaPuWz zE>h&mtCnvEin#sofDUN>md+w3)sRwCPI7JycjtHl8H zh(b`nMf_?cRzc}}F0;K?NxAoYd6Kz-Dioy(iBy`zGhu=(m5P~YDv5A&kwT@yY*eg( z$StE7pPP%P^7*LCpNs~>;Xo{gDA}|?jEO8NkxHRzk|(5X62LsA)^4w9(TlVOqe+cc z#VQ-Vx>?4`3D4$^+Z~Cx98UlGYG`q}kPfDk%U+c%13JHuEKp=Y-YmiOHjPwYV>75s z&FxK=`ZlWsM6 zWWGRWL0l2}OeT{^adn(R3J@OJPbLW-WVZ}2Pza7uWrw46?$NYLpErOE}L zD-qcwbx15$deKW)MRgMGMVgl3m1_$H>(6PwXv;5!qqEC zzEv;c^4L6`0;M?>y4HqN`HY_zi?{_u#!tjZ$iq}7oesKlc)}gcrjyxhEF1{tklgN0 zoVmU&5`exfL7gPiDhZ8oDixMW1e#7DqL`_tm}hw%6s#v04#ks+R4SFD*{rI_q!4RN zY7rmdH}yBvwhjz-_Ye2g*jifJyJ`&vwV_cKPo`r~^zqfLOd**o?B2cS$i-GBH+{Yc zv%@zU*xd34^SLA~VUZPqMy=KgS=QmMY96RlE2>3>t**aG zZ|@oD>*+R&l}3e>SB#-L)ElU>s6t>Pkjt0xLaLDRW888!97z+|R6H4RMf1TOe~O4F zGeK8brI8?Xp`x#A&~rt~`e6fA!c<}eyc0((X7>8a>eNcJT&U3N4O%|v7Pdgbp-L5u zgVF_3h>{4aLL(@Gp;WF=DMej@WFi{!g%XL7D;o2qX`u{bOGHw0yRw+gk`hrRmnX8- zQo`*DL}CHAduzq%cW(fC?7IDdNQxkZ!eXfsO4<9Gb-IrIW5Yu|HFdq?L#?$nwKbN` z79N-pE>a9e^Cg51`{FrTPz=TiS5j0BhC-oqF5#WO=jXGMp+vw_qGLhyn`@15Rfkcg zQOZPOo0Tq!ibWxpD&|sUxmGDviV$hNMagHgnOo#=x`gmqr9wVeLHDyGX^iOSm9QQtGt-_zaIzyHu!e_wxZcV}xutwE*KG@8@9%-Oh(%~0Cy z@VIuvp|E3N)w#Pm{q)h&#_Y_>^3v?wS|FYBC#gy$SJc~ta-BwJZRu+_2xS(dN};d_ z5SdXemuYkWt*wpbw&uEeyV2aFud*<MNqWQitbfA~IN;sdb2^BO)057CM~+3Z%z$3h8&1blx!~rO%j;U&^!t6x zv;e`ANo0C!-N1>%gZ;w?UpRGQZ2ytNVdt95#i@V{SxmB0fyS5O>Gh=TwBB`@flU21I*s`LAF6458Nj_E}5k7*5RdOzZ zGso=kXdI^~TtfRPyhyQ?N{nP{%|?Y-DwPU~(snh5BM8@I02j}eiAn_)mxlugS987y zSqi%RVZYm-V5Ua0RD~vStV99J1!7=3f(7TiBN%rt&&@g`UdK)j$rcfeCs23oZ!*_e zOkGC??bf=3$69UnjuwU1D3+Pjq(GSEp?g^&k}RR=Y|-VbM0dR2*@<1>%EY~|W|p2m z^8~#B328EkX_UN@xT968u$lOBvr4JbY6T*>T&h!XG%apV?~TjvAJ9>JLibWIJq1+W*nt5frLPsij|;BL)ntg>2*2+gl}zcdk1C5 zqB(?*=h->|OQH}J(ljbSm;*9GkU(ORVvdrNb3&tU%`^xx>n zzOm8afuXT}gUZrsOT~C1PL(2)G5F?mBpi$Tceb62kDkv?K6yMl{qX+u)V=$gku->( zbP;7CA|YF@%lsY4AgOz#TW1@ zWrGb5__ApbS?et=fVz-jtsQ4z4T&FM{9leNUh4= zEKR2bDo!aEk7SVw5e;Wi((4Vmm*y6imR4u)Kb?7g`}66|Rd>+oPZW_V0vT4sbaFli z!GZ2^p^&FAs>S+RyS=`*L20hF)#@c8nM%qBo{@{#N=c~-V9tr+Cb>{86#&#!ieXGu z&EeH-vWT#_NR=zl*0919w~!-}g_LJ|bA8jZ@oYEl^8`cDTq#Es>3m+s+1m)k1ABXp zwY4p;cj@7TH}2iq^d^WjGoDctYt8ohzTw{ehmRgR_R^WN=T4nGb>@v%4vuxz4;|=k zs?qRO7AYG?P^?nSCcK`&*2Ki3W9{D6_usp6d*b24nW>r8O~Z6llsM}zb0X(AepfNG{oG>WqYd?X%2^5I0#v9-Cq zIJdR6wmi4Ax$E^X=e(o|qA0L-*i^Rm!Lj`Z4~~r;JbHL+-^kGD{tmN3-yoM;gosEX z=3q2gDVIxOFzcSZjk%@yCr>BtT)8_nzq7fp?hS-fS$~ohi-J*tCPL+wi87BbQ7CoB zy5^?#{#I*^&1^Gil`^SF#I95@nj^zdsZ3$jbE*KLe&P6F@6i77{rxR%V@C(N+U@P*WBuLjwN?OolR~ag zXhh{$Je_bnnRo3jO-w9oE?*lTp*N^F`9y&tyc8GY7Y$5S!zcQ_I3{q504!jXzl17+SgN4Gc?j}qERtLh-=rmI<*y-w*2t(+6sazz*8a(96NX>Yp zYBH$}3Yw)5(D_uZkoNd6VbSeFBw`_prM2snI-Rk$QB%fsQlwleS4z1|CK^UaZ#0)q zm86_(E?+>Z#dwU!q=}F_k}+hTI#VQBVyQK1twvu{E9V(32Gjq`(R+T$Rc7g)C%pIG`-qH46Y0H?_aG1y zRMAbj?$!6+xwG!4`3L69tUJ@Lx~lL{R3S`Z1wzQDl-~Oc@4ffl$Gis#5U^6IIOpB_ z+0XBs_uX4612>XN#AC5|5d$K#m;!Yl5rX@PLG@Cpobexfb1|325zA+i*-{lKG?5IS z;iXX6JSYvpN1;mTESA&q#vvREjlm*Yt#%6(k5ai5_od3YR3;hDc4JnTCkS`y@dV-h zNWkZ$^YM7TQfr~f1Of@dDui&`L9S}dr~n&5vHrO~N*_+W=_bcoI1 z(n&a|SVh*0W%$i;I+F~9lX3f=)3y2R#BJK%+1}bY^1%Bkns^K#9vVj^6^q$;A|2lK z-Re^LY^s=BNTZ1?DXrZl(dksER74TV;dm*!=XyImJ9}y#Z0_jv!4VK>4?i_bNQn&ufvy3xGc_a zz63C)oXdC6NEiVC8c^w)`Ps=aIkLMnNYOSZZ>M*8X&0C!~jh~B1uFvgd+hDkEaq? zeF}UVgKT5l6%4XgYqk*WR5;=D)#?dA8Ks=lmdt_p^g7-CU?iG|xV^b{yIrrA8*K~) zkHQlOaKl59Y;d&SI5vCX@`d>`moJ^Wc-ensGW>gyB$2C3z4ZzU|e}JsZDzIqUG8|?>D0Z1B4(`_?&jB)~O~;rnF;m zX>IB8{rlg3bLY{sJD-2ExcX?vdT4TZqS3}* zWk!9^=-jNaXZ*s|i)YW@cyZzKjX}QB*vF(RWMVE7iH6FtLLJ0NCTTec2A011X?5k{ z-LHOl{Ppc09)9`#rfGL=>)09c2SZs5I#)*_kVJf!z!xd#c*U4ODiccv24ot&PAg*a z#e5c*(QSg1!**L}sENQpEgXkStPylVsM&>|=Wz^dEHH>%HVu!!iaDipwVLvtrYIe= zE#?pU_N~!iFzm5-tJR>x9Sysk?r1J-au>YTGz7I;`BbUWLU(F74jDp|X=Gred4SM+ zW+n!PjeQF*y>$8VORv5Di(4<=c=hFR!|eIVUaekDg~%KtFkI0@A$n|aZ9Tj9%@1FH z_Wf6X`2YUvgAYFb;?u95J%7HmxZ?^YfTUxDMT@)IP#gnOgm7F4&8dk~}oQZ|WK8aAT?Hg2a;0|Ry%p%YZR5I8q z2SGx3k312N>DcCTx*bP07oh*c${;`1B#fPk$kgJNE9Iy)b3*O zSO$-$7%^%`E?&8G_2t)o^H0D1-EZG`{mtLLbouJ}KK1N^noozS7&@X<%%x)FLdJ~X|suyFC} z@X*}!`1FLBArf)u*mkkq%@)duaIu~&6Pr<_jE+J?B8Kz)cBM=k9_FBNES;nc(P%Fjy!{&B6UAEKXLzBhnvbwS*zb93$qmc=Jq1mW| zg3w07&ylDg(K(#{`MEQfuDbfoCbGbbkzcZEam@*u6u~CL79IZ|+mFWk2 zH40VVpbo|mCX?Lh5{fAZ*-b}?EU1J4V#;AK7zCDfOb;rlSis=xWfBplO<*%S%ru z9Z~C9`1ILYFxI9N;$i!Wz! zC6mR zg|RuK*3hdLQ#h1*rJ97>V!HO9?O2X>_xJY>Os;^#Y1uupyL>+9&Oyi%Dy8D376bvK zL6HdPG_C@kSI1zoXn0gJU#jI|*-j}QI68&5pL&kXNoK!A$nJEH;TCM_hkB5VyR08&sHt+!sj!vyMo5SsPx}5t5{ur?G$Ke0% zt*vgYFYlXA%uaV8Q!19xG>$~2>sRPzFWs%C|KXqCcSt;)VIC*@Yn~hfP7FP?c<@5jnN`L!qGmXy0Tt9qw#x?(XmH@9(cKZ=O2ru1G3d ztT!7?h{WJY0I9(}x#)NdmPl%q>y>OW;`fIme)q{qn8<3Sa&0n;$EK1Qe3?u$GNBdF zIC2Sxi)o{|3>*ekDmL4dVkX~d)v9@5w-T{bGU&2dtX8YdZm~LG>iBu2c)(|}*i8p} zz!LzNKR!7)wc3N(OgMukGXxT)Mlf{aT;JHGo7b;iy>j#QU;X$0^-r(A`Op9I+c*F5 zjn`hfe)G*&&y9@$LFceYL?#u}ZI%=9d@2(1c|ys!`QY%_Yyx&;ePsh6=I)Nk;qt{3 z;ds7UjaP)+dJXD!(3nQKTyAt4Nq@4CPlbJMPZTVN!(|PUSj{?`&fx?66!%W`tCbSN zuui~Nvzfj9Dgl8e{JHHKjzXp|v4A5HjYy;grGgQk-R*Ol;fu5$ZtQx)mdyjl-txxA z(xV@L0zPbMePv~1ZROZzPPD+?Ca~#P<&=&u(;7xDT^Jd^^2Tp}{hK#mdiDSKA8)+& z%QxP5iv%*MkVOPYfhgolsY=CnYVo+NC;K})8>?#@M_^I+%-&Eq zoXF)$wK_zgU@#&T357#-Ayl_ouC*J5d>(!u<8^wD7hS|=Fqtn@QNWzz7$PZOBw{h( z(nG{ZG*T{z0;Pn?vFg~E{DTrvDhtUo7v_$UR!$p zeDUey`}giGZfxxw9vr(4_mYiT2hoHyJ#+>rX@dhAoni9zH(!3~wcq{E-~IBR{^#%B z`2D~9{x`pT?YFO8yLw@EuvfwB8xpY@6bhM)YiBZzX4-9a_(RscjpxsvKYRA$!}ZPG zlau2kn+IHGyihGiLL~%|!-4YEE&|c4lq%Iyp;*Z{T|u`q;5RRxLiIqj(1Nh|Qh_QG zhzF-se5G8}V-yM1M2yZTr!#~cu0*O3GZ;)R6++Q?*lMwjDgkGnNvD9qBvP5M*X<0& z!*CmO)Bfh#+S1DU^76|1*7n}<`d%bk1P&R6f`B7{NHi*&L#NS4u1yZjoqzH5S8u-b zi(kC{=0E=8r8j?l}fe98lKKodzIQ01>W$Wp{h+>EhPvr#~H? zoLVi%=5QpKF2Wm~(YRW$Wsnr}ZD6g4t!x^IV=0*~l(S*G)pNS#ujO-aTQvlUMropq zz3|&(ilB#*Y_UZugPcNB>6B_AQ=*pgISeXYB4bcVcrqT@E*1)@L@Jw0$3wwzIOug) zOtzqD>G`uq_kX3SQKO$ZO4CSekVGuO^6TzU1^zyIa0 ze*5cR{qA4>>7W1kjn{wi!qqDmuD^Qa%(n%N`-v>u=jX-YxT*) zrOmJ3`+j>J?qIQZ>h^m4@mwyK$y6HU8WvZ|)Y?G%GfAKtxl}xriiP|EhdbXXCCb%s znI}eNlaRWXM`m!~`EFP=StIRqBpMb4o|MNEkBlgROQJ9Yd{Vh3P~t0X6bg&Sp&F%H zvy_ZR!eOBIr>l?FZQJ*My!Y_o!uXRpl}2l}<}DK0Sx9|@*|Cs(6E*Qv#Mvi#)H zlij7yKE1nnxO;GTXtvow0Qo>t0X%oh=P%qiJ38DuIDc`*s8y+SDv3l4EFcaAA)%zx<*>VLyUWj? zKYFvY=?h|@0I=9x-I0khO-G-{3v{DD4U`qWCV{jSkVO zR%*3+DVfQ}oF@lx{W?Cl_hjSg`q9z;;r@;-WIuI=Vlr?C z^~PN9>?;?~T|YZMarWA1@32m79G@RG=+(Lby-FqxgWw$wjcPykrnR2;}g|ZD6z6_x{1bnjuymG#jiKp|qG{~lWHWVdryA75?BO~L) z19HAf&7^U-09zR}I)TdPpb0GbfRZm$8sXa*;Gho?u3 zGZ!ZY=g0M9lLI{iM#B)GAHAW^*r(NMC43E|iKL>-iIB}5^&D+1uWlW!t{oig?b(8! za59=I=JRy~_%uWumcnESxKN$Qr=nWTa=B6|=D?p-$Yl$aREo^OLJ(ahW=jzcI){Dkrk9i$#Klpc()9*4Y0me+H7xOwUgheGL8vUk_Nplv1+Lt`7^J zCpMo4q|Nc6*=*ijTHV~)+Bn?Z3x{uYBR;Fya%_pEW8pvo?$8agvC^f}(A_Sgjo?wE zfjSCQifSO1N@YMLcV!XvT(w>+q8Ky`hCm?_s9YMp3lS+43XVV~lPChILW-yB)KZZ^ zNGBu63O3MFJQBqqV+k~oh)Jc1_!zdBgu^sDZ49BAPsP&VXepZjv>A$qeNIov2~6GT ziS6jg(%yl2XCnwm7%)Kr*=#a3A|{#1<;i=;^dy$PN2i7HLkcc#K%?y)93C0zkqW6q z;07w~R^01#1QKEQ_O8R}a66oCn+tfhLZ#k75+DdqqR@yqGE{E1Yo%hgLTblSxp*R5 z%E$6;B%%Yp0}ev7=okn~70M`$He1al;ZayBo6gb+A+l61;0c**A+?L4Q%DqSvxP>s zu>|1rICP$n$Wl<-d>y_{z~kuXLIqJTw$YVHs!|Ml0s)uRWVTy2pKonEe7f}Tr>&FK zb--pGkW9f~oy&xfWFn2j7t8v_6%+t=x*nB8HK(N+FW2w(GSvgo8U;AP6K(2h$EkvYB!v>h(r)i9o=+cO0vxyq;hz zor!s)#Y&@5EVa80rT}W-i6knAiKl5eG$5)fxke;58fhqoOah8Hi33U~3d5EQc_N8S z!6NW_3|t7yq!VyJiO{%qvC*mLcerEy|>?(F2y_?hX+xnTuJB9WL5zl!PrridlN zo^UjtO@)KOSSpiFfP||Rn`jIgg(E<13<;{$8}&v$)<8yFnS7=SRlNRWIv2J_lhJUp zSV)GlL_)dRX@b=!P;o`HLd*sBi_VkEK*5s8#2hk}&0^50I0R9qlX000j;co~5fF(y z9vM$Sx8ZH%^-jB<2e;AZve`|0YwP=an@9W0PoHhnL%x{?O7^~R4SFMkr~}8 z0!L9B*$kOVq3r3At9pkfjH-dFFP@*8o1dAV&=2$~RGMBjjV@+mph}C_Ef%r?Umnwr z!R6#31MjDIY%kDrWEuTCq&Tks5R|A&<*vvpHm@fWzYO*epJiL?a_1cmzbdUIr$z z+epWpfo#xWg(sMuZ0_uDZLIIxkG8g+tws_Klf!Wugu2OCy4Earsi-odYRM4Owpg>0EVSYMjm2s`-(=G} zbu@`C;<4ytfk+@=bAi$_=?sBd$|j)LVm_0~7Eo{`3K4_C;BZ)EyH-cw+ND^iknuas zK<`caI|qB)yE~hEPRIU++3$6G4o-@Vpg*2WSL$V8tGg&Njlk?taKwO0`i&#wW5ZK3 zGv}{fJ$K>e-01ZyeIm`+P~Sv95ycd8#UgYSYL+0VQ3C>#3?_^Dcq9>z`dra;ryX&7 z0!3sY;0dJiv3M!Gd72LT!fw0QYqAF%u7ImVNQWw|YPJGT+5vSH+3j|bcr1lSZX!fI zM1;hk5Xy8~on9r?4XUL|m6XNTNx3Wv-1^^PHGAH^Xt4)9dj>Vm^P+>Zq(GbrFf-P^Ba(}Wt8h|3p9q+B|gNTHLkWMT(FXg6EMcq|?d2b@-T66?w7_JPUj zu)ADG2S8Zu4wuVmvsmp8dpO~bWD5|~gm7dAKslLqVrFD;a%N^kKR7!*Iy^WqdTvt3 zW61#i(6|yF5Cg10NW$SUWHMALl=3;ag?!xUP81@MSTb9PySRHjYgeV z!eA+td@diTERReAm6FIMcM&K!m~xSDBpPyBEoOJfyt;Pc^tg|99UhSRCnkr}dU6DC z*J8CCnnI~;q1LH22}}kC-G!LE>|jMQz>i~fiIzu zs3ZynPog4frE;THFXTZ@$)$aXTEZQG$BWoKY4ejki#6an-akIIdi^#>C|53(TSx?& z!NQZ!U5Sj0#bB^FYzG0Q%Q!?6!Ng_}5}AlCG7b+7^bUYJ-9Ka;7}WA4YB>|b5KBdL zJOC#ua6UX10o_HR+m%c*nMy@{PMbG&y62C0Tpowb>vTkXM<-VJ_@C);=g8q)TX97r zv2ZYtL3JP`O{IdHT?`DV#Co_hS&vSm9}=KgasiXc7IP_79$%(aiuimUPsn4CXk1Jc zNx`;T%~C2`DkNjUKse-eIK08rXX|?=r}1r36C#{H#GYINIAcKP=(11xmF-C}d$V9Jz>2VX;U!mO{!V z(?tT{K3auRvzRV84)2$s{QOWY7zjpuIUE@QoHi_#9F2s_Wbu(eqT5oia0Idl+6as?* zK|+N{hSVh%A}BfK7>yq zGw2KkmMj}K@I^X(pV2_43WRJTqEqj-v)MwaTF4el>2NF;2b|@!S?$(iP)|&@t;KDp zbr*n%#T|%7-3huFU8|ufbOwz?0(PBE#*?LLOo_-O;)rB4k|iP`7;-wqRj}D2Av_#R z*fTgiq#K(Z9GTDx)dsDM&*O51EPzG$vNI5}>~AgJeen4HqsPy-_MWY|y{SO6l6EtZSq zI*m%fSI}ii?1Ee^7OGt|vQ=&(F<1(VjAbblaM12w1qGJcB{RD2HWSu~MTO=wwJvFV}S+ZCxPJajxbTNrwqah3mi2z@RYSmHb29iPr-;T;-QP?~d zi%G#lXdJSQ#MMD%g1}lMfWe{Bu~eA~eoG=!YkMRdCY3^?5|KC>y4h|PnnXe?Swl2R z`Aj+<3;X>Zm&& zyzzAL)M9Z1+XKoO1i^FWC`JZIuZe!BNTENT#%V~AG_fFHD zRv9=E5{FCUtHeBsOd^p>V7wFwcszwp$-|RGVkQIMMp7vl_(cv8+if8M>M~eto>^V_{?|N0T2&44ckuCSWPft7B@@6(KAV3v!;p zWOGm;S;!O;vI!KV+wLH6m}VDCrV!zwj94OI5s{G3V)1wa5u3{7QZPgU0)YnBx83Q~ zbM9UmPXpPYc)v;$um$`@-O=`bt~N2t|G#B!wy z-tDNA1B2Wfnwk&JU(A4Wza!WN2by+NFtR=Bjd2Z%VO#zDKb}YH_%AGEmz4Eav(Izz`s`$zGOBY z@p}M{*lc!3BoT@f5$$TN*u+DLa1Cfxxm0O%Iv}GlXa=`iql-yc7SK=@m)yjF!X%~; zISQjez+}O*Ggwq6i-rKd0nO+HBK0b$llfF3?f3gau}H{cvAgV6m&a;?uM?<)+2!>G zBI$fC+U8)p6c$I;r(*FH`hJ5()iX3^G#JmGo0`)LH5w4WWHb)js#jvkcB9nB5Gim| z6CBV9ED=~D3ZhEpf)9qofwGE$>J<=o4X|3pU?7u?2LrKy-Q~2Lo?5^ycDp0RLM)Uk zMH7{Bu23#!^RON@n_UWnC&c92!1=+=pLiU;fCzk}L}%zV$T$+X&#zc41u9Ey0#}d6 zxZRr^jsZ`UBx;*ju4Pg$4>9d&yR+g))so zsp~W7CuYas*-0~NKiNu#{b>6i>pP z@}dDC1E7l7fCX?I!V`gvs zL%K>;R6!YmqD-#8@49}XZG@1~mT}D!PLSma~kl?`;6X{fJJyk(AisfLunuX7G zx!fR6JYI_<=CuZjrC2B$sGy3eLK~_!;Eo#z6rS9yfdWb-At6vF=?sV{5|SaZ+@KPO zjb{gWx{2Ywfgw4CCl#~s7z|+M7P!(*x!3_>1p=&C>QEcU)<`S}2+IPr#(H#O^O(1e zoL+~;>huNO$IceA)&_=*D-^0!ATW9~!=rj#zj1JAO3xO-k9Ba(VyT$VMJ$m*ywE7* z%grwM_GnzUgan10%2a8k2AxE#P=Q)NCR31IG6~-bMccJZDjxKP!Y)VHyRidqt3MF* z2i@snFy1Pra}`j|fpotjOj2d78tdq=yQ+xvTad+R&a zP$uE^MB)uD8%vXLnQ}vqzDKDVn3|fDGgLhQ1gHceu~W>zv!gprc!)F#hv+mBcu>eV zKpZ4GxkAk05bz8J2?1f?i$qm3ZDc)@&Sj#0k1y@swx+T{t2-2pm~G8&JW4*i3(KjkeM_#1264UiPY0`Bg1;dz^q1~?oldaA`V~3;;I#5iI~e` z^5DTebTUoEKqH&AE{Xt!Om4fwYd_fC-`}?!Jzd<{-Q8GO-`U&Q-9I=68EW^UNpOc9 z5Dr|mUNbx~pw}CRlv24&!lMBf1pzQFLFq)blB|LN?I0QmGFMFQ61if7mO-ZTBycxr z5<>`Z0hk5^0@-akd?$vhm3~^ zCU_a+i9S0Ehn0EG$^NmL>piPsNF zB`URXZc@Zi_Vf-K7!0*mE*2>?J#x8LEfVzfDkKWEQfH9x_-rZxkLscjwK5{P?aD;_ zK9|+JzX3n5+g@K?-8np1S=_Ujj!&$?l&=Ur6NyKmNqda_J-q`110zNS@B>P@kcELK zwUvW+ zTXx{|%r;*n5)WJ4rA|KR_q&|nZ@_t0lig}{hC^0Qx()0UnM|VcrE)1(XzT@cLnIKZ z3>+j!-y;?F_Q}LzZFfcJc(XZF4G(Ac-4HQ&hQCih<0#v08Ag$9~o9*Oadwpwf zZ*zTpeQR@T{{%j+;?EN zdo5A`g|M0kK@waE=p$CZCDLdV3Z5yzjNj=Er-7>jAsY9T zQE^YmdwA*r8hE&WVm>}N+;Qf-_Ee^bXQMDICRfJA%lh~<4p$%&tED82KnFj=SLzMw zp-E%^&gT63AX>iFx-nO>W2O_VV)j_U`uj#=g~I zK03^xin&f3!{u|hT)s@N7jV^TxtIyKiijd`$-rD-u@o+)TSwA43@Bd%1lMWQyH$t+ z;2Z)bTficdm~t6BH<>Hoaam+Enni7u^6<{jY#{^p;LDeb<#Hg>%y>PfQ|rm`$t+gw`P+E`m&-P+yTUE59OLlID= zP!uXvpjV4UEb(BEfQV<&fP713_CE0qqioXM6UsEL4EW&#hZ zl8Gf!6+F^QqEt(W@BqASD%fG7tEEy4iADiq+Cp@S)pp)*b$UGk`^M(M(bnS1-l1c6 z$&t@Qfv>N?bsdj_r=)`4(S>k0Gy>1&v9SFL8gr_-N^CbHFL3(cURyKTIf z-Ks)ZG=T=yaTG+Uil*^2!bXS3Lv}G(M6->iqD#ORmocaYhDrjij;kCV6!UdM{n{R_ zOe&YCRU8_FP;RiO2o%iO1Pr>{LP6PNH*fbxJWh{weR*@~;qu0g!?I_KM=g%H&z~=) zYshw`38By!3?O)>ltYn-xLlS@1NcuQRSyk~P6LZFJuyD4*BE+x^=heDrB#YR_|WOZ zb_a{?)(V+I%6xjTv3IEj>oK6r3%>G05EKe2(t$pac{q1%NT0#PkjiVb8o zkF4epphAjOcq9XhX3+6a8$ytAm3*nxtfvYPl?J~dHE0Alx4}SEhBuuG@%oCB& z0Nq(kGWY@kA0En0A$D=-av7{vBxu<@^*T%^@RU?vFyQw10?9(9SxDw9Rk*<>8c!h* zDOe1Z&IUxs5ldxq5l1*MF*$4;9-o+;9O;3Z2Ezls)N+Y{%cK$!@B#34EtdpAxxc!y zySuXZ@TZ^d-1+wF?|-=aA@OfDZ7 zl`-%Xp-j%G7Ex4e1Map{%A^`NB!uN@1QfPdt^meaESJlH-=uNmv?jz6ve;ZYL#Wg! zMO=YI!a$Qqbb6;+kGaChh}-QB7VFtm#_#ZF(xG@QAC4C))oQs=sWpCXfzig{QD`EK z$z(8CT(LrJ7#r?`r-cm-=yU^P6N7zyy*iCTA`-AjI64E}s8)+OQqh z$fQsySX8@Qft$=XF_;dD#UPR?Og``*Tpl19wg`s+EKKF|7)-uWsn8kpdibxNzJ4xS zKvS5KP{8L<(0CfQQOai0X+WwG^Yhj9#Yd0sfBWf|-+g`iFQ5GV z?|=Qv-L2Kt0BrLL1 z112n;%+}iw3X};VDE}lJiOofpATj}qXY#mwkzB6m=`$F52gk?zb^Rm5I)=DkL?DsT zl@ho=(Nr^UI`sy;_9L^;bYKs_o1fi4jgqlYw$Z3}kQfY>zz_)e0=ZJD(e*9N4@@r1 zp1p8(dSZHJ{>=E`u(7vCty0n{d?6Ft2CG=greoev@?ddo_1WWl-+un(XCHrh`{R#3 z{NUqHzg^k7|Lu1VRyH;_H}?*$k+{dZM#J)2tPm$QB5!W}^jRiG)VD!Xno)@iJS?AOgcK*DB;1ovwd!#%SnM@tAD2 zlz>7bQB)?Pob?9^#hB0S^hEq-s~z6NYC1I?TI=0hKA)^WKv-K4h0EpeM0~znEm!vT zjbE9OD#jKT&d!ex4A0IE>)|1dJrX*B%A#VSX0gyl03V$7?;jm+ZL9*dx%b02Uw#G; zz`Fg};{NhipWazqS>M<@+}=4hIY8K;_zb#GVHlo0bN1}QwOiLN-F*GR;K;;KuTsFG zlb~w31gCeikVvJnwMI3UZ$U{{0pH0a{E;$8MnZ!ORrl)TeKVu_zL9>pYG_a^heJ*x z;4v@=P+_5V=-B3U*$$STZXO@3Ek1hi_%S>IVSRnyZ1+ZDi85dc0)?kkNoCsJ!HL<~ znVH!$=gyryfBxLU?6q50&YeHIFuyQ2H8n9Z*r${7q#7BQK_wEY=#bs#v7hd3JbV1` z?ss2*_0>1u-G2YWci+4H#b>ua`Rnbw>q|e~f3|sIcf=3`6rRqL^-YidJiK=9(u_jc zZ_p}vL=1_9ZkMwKBr)Sll}q_zxl${~<0up`+M!~uLSsN3GKaw#Fv|E6gHb2z>FYCq zLavg*y9DV}3Y9<-5QC0XIUV#^4-Sq`4ma2LHy%A*+1lILJ2JZip)fEFO~7zu23I6k zYP5!->DkG#$%XS5E}TDi{?di{v$tNqJb&ig#f#^`MNUtRXnTf?I;B*|=dpRDd@z;> z*p4=yEk3^g!{5LB=Ccpp{@a~9AN}Wly#M!m-+cJtXLs-a@OXV^|2R+s$kHXUg)*5$ z-fPqw$NMC5omM61QvfMq+LZANSxflo(YsE~sjE5h=(>O||qJy={>URqh(+&!`ae;Z1q zv+&~^5|b;G$aI4vL-5my3so8K1)MA5akYcPz&*({{XGg13y2+^gg^s!ua)5;lJz{)Emz8kM5R^A#+!UTkw_$S zB~po$%j?l=4ZZNhgW(Y)SWUe~4oV%D$>6an*>WrxkJt|n4^Iyt{kZt_(W6HXpDZn} zZfx%zSX|yPd|SD-B(|Kcjt$D51y?&U)eL;9D!7^(trp|5lBem=-A}+{JBdP;P?bddG_M@ znKPGPxODac_|Mskmlo#crYANzxVvf@{!f*O(s(v5=$TwO02r z6%CQ7m_{9f+U;he-h{fPI*CrevqfSNS8N;|otT(S(pWJIW;>sH#ISPd8&W<;`J9Vo?jT9zxLv#`T4oIGjrpE2H>1|LMf#XidDN= z^TYc`j^mZ@zqx?ei8p5QfMRazr53 zRXm=0&?x4M#0CwA&J_0cP*Efnhly&mFgPq0f_L<^ft$u)a4g{Hgnh%KlQU<|U%Yhn z+Kn5RfjZ2ef7l`e|_iO_uhKz?YH0h7@i{c=(#EA z^CwFXnt(%rI?D&LFOu^38YPp>=Lt1BYKI{a3Yd5Vj!7e6;a6wKP8Wf~5lBRWq(`Ug z8=IM1fKv#pkUuo=q{U1!?b}@2-hKYv zH{X2z-hci1PyhOF|M4IH@rQTbdh5I8#rtbka|qeUcGv=t;{-`>k5nX<>wq-qfPoqs z85o(F8eX_`{_<DdBJRC7^ZS5@m_{|re z+2g;`^$?DfBfNx&;R_^`|rK|r~mxdcfb7PqdSl8J=!|)0AmNl8->Ecn|&E{ zI`H{?4vPmONu|>n2DAh7=iz}?S8ly<`O1|m*RFu#IW;jh*bfp@CgL!G1FDy+S<|U| zfAPt~JD+}b`@=u}@vXPt{rE5M{`JniA0Mx6?Yk2$YqW%<;4m11NG@VA1ad&aYVGjZ zNgcoul~ya`GMRKTRLmE%$w(;Rb9=nOpf^&h*0D4OlP6b$(t6>-ne&%G(4Ieg2Dp@q zXJ@9TM*B2!K!;2U79M91v+r!IFFm<`_nR+11o`;x+i(5X+qds5?ZF2JEx`f=_e&?U z8B98b$`(t70+B=}l_+|8^u0qfvm?V3vuDnnyL9OcP+MSq7N$mw#zDP8DrD1$7*OHz z`GUu8S$*>4r|-Y~^pn5c{_8t`{_qoE*uVYh$?Derk=gICMe{Yl0SJ;vB$DufMbjvN zE$EvV;4=gYrI7I z*Ma<8y?W)`+$20iM=j-22xO?54SQ_|TWil@>-G1)z4bOI*zdgcmmfB_S5~)7!F<-A zMWE_cxLGa@PE7&eXQfKU707jlL4Y7bgM(v0fyQPoU6>ggo0^{*)b|2QrVw#C3z>3X>V)g@lW4>1H9|)&%b)_t*`HY|HH$@=j-s+w7pO{mj$>(5J)&|p}ZjV3cv$-k^LJK0Z;89n)q4BB7$#XYvUcGer z#h0#wN^kATZGYGewXj*mi9 zDTpp2Z!_6#hs*cxe1G@HyASUF<>N`rgXMfy-^) z-wHM3cBjjqgKEWkql=}`sU$2(uOSJCjRV7@qkXEL$r&Kqa~BrQElf|0&o4|)4C|C? zwU|vM(ir$+7~ZVC^Zfq(hYudDuY7v@`NsO{>gLYz!Is%>a{FAKbhlHhHVHf~g~;Kt z`Fs{AjzX?bE)(%tR5~5q?sO`dOez+Sh2dRZPKPfTPejAvXsXaa;4rNkRyWbB(DaU; zy?*T+JXh<5mtKD1>Xpm4UcWK{O6Yi>oX3@G=ox1)9=brG9De!nx^Lz+XM% zSI!RU_5C`rXrLEcsyB)$pXJo+-+i!V^Vn_XQ-{yx@`eKDeVfOZtP}$df3lEFwh^rk z8mJGt(Z%CYC_I^nL*a0ZYO`L>=d!UVJjW*(N#=^Fc%fPhOnS(NMgBs1>?c0+B#wvRFJ0Sui|e=opdI8-bGOK5^%vs*&BWGLYGN0Q0F$-#*|96DOvwwd>LcMnfI z@kA(+%!3uGm2;(5w^Q$QLG?^$i`9H0nT$mfiC8q5$(I`)s8g4vZ zG8kczKMRlRd+DWLy!z73mv3I4pFV$X!e}rIt7*tK)Xc^`@Kmtlog>rX*5=OM;o<(_ z(Iz~*eC^rt^6Kj9$||^g_-v*x6bz>ewR$QGVKI0-j>KS6gc^l@z&JU7=KKYC3hB)k zUcU9>^^0fbCWpr+`?VqrgvB9h3A;U#Eyg__e<&RGAMGBSToJE%V`=-;bg;I0uxkp0 z!PUnTnL;s_OqHvpVj*A7r_z};V1!g8nkbP+7$&0DX$`ueLku3tX8Fg-pnI6g2SCo;&jDvZqmyV+`Xc~AED|9`ID>&bCE z%l88fKmr6og5GM~hbX~|?}(tGc{1wjJ(q4Xw1bVpWIM3TVon9mo#-#O>@E_8E!8$SKZL;mvo{6|h= zzW(|B#l_XlP3S%zOBBkbYG>T5j93QZ^T9_NtQzyy(a8x&$KQYV?eBj7$3Oo5+i$=9 z;`wJ^9BgcwFj9>{i$S;F?+(YUQn}XXv=X60@gb82=5l{`_5Ly*38gC4O1;tS4Tt0D ze9^D;`Qt9tD^}W_dZW{#E7PLETkR0vig!IWa@`Fsk#X|XixMPsFO@cQ;Pcy)FW zjfbuyg<^qg$^@2eJ|7fwOQzG9O`Ek&yHTzT#|>b~)A@9^f|g5x1jh*+mT+Tt0EPi~ z1liTJ_vOjv!I$5C|95}?```cJ@BZO$e*4vLzX81d>e#5Vx|LilF8a$(r7lj6a*70mBzCR zbl9`czxnpt@4x@%n{U7Q&F_D^zx(vjmYI+!EN0OPmZD-2G@}JjySbbc)468x{vmvR z8Oz6RLc#k&F;{BVD~mkA*U2{q!$H4O zE!CUZ;6pZ_OT`km=QsC}yUX{NcUR|^AKso`UVV7`{ycQ^@#5y@?YrPZG!jh}x!V-U zfGh&s@eBy)-+s%D5dXv9e|3EP=*cs`+2Js9FA7vrF?T=(8ZgkX*Dh4rrTgpPT{065 zg&*$X8IV&d@9l%bPq%PVvjDhxlDEcyS8k%GvwV4aK5DH3-EM>Fb0s? z>2&)yb`SUVU;O5aS6_bv7W21XfAQ*z&!6mV_#6(e&jQ3HMDt~W>2x-o&S(8nG7r4G zlFjAPsdTo{O<#p$k#O+p>ijK8C%^pi^I!h`-+uV%*Ps67-`<>EUtPrO9gu{CBoMq? zNBjFnPhNiU#mgrrC!hW9bGQH5X9w$Rfi=6uuUAUdTGblx zx^f9%MyoRzj#mr?zQnLU`E)U>{6nEV9ycrPX`AcA1rkZERO|MDkM=sv_Gm$apuoe- zR)TbFY^-muZ$5ec{4?(Q{EJsFo&yvMSS&85*=&>x1P~=aSn#=n@pKG+1HdM3yc(e4 zLM~r#mG5sO(dgav<@wd!AG!VUkD+L$+~`edfrOA7Y(|ym@#Ed~jorsz9j_fe zee&5ipYLuSKYelH4IDmw9PqDOjoiT$1%XRfQw*c}gYkmD0{XWH!pe9wrx#r7@#&=7 z8E^wYr^8G<-|Q5U$#l6{$rtmfWIB@qAf3!+Q^{m5U#>Ts?LH+GqnKE(H#>bm;;wH$ zdVKWw`4bQh9zWXO-q~6Ev{9o`14$|)5r`*%R`VHm9=F}#&Quoixoj?<&t_7w2kvO_ z)#drw>ATa@_wO!l&Q8zHgW+%_U8*(vV+s=C7>@|}^mgFqd&dDznt+9Tet7)&@za-w z>qpNYKRyXK{F`fTqtR``Fe!=%ma~NrSx#q*6%7`(3(N=*K(E)US3t1ukLM#0Q>kgY z(Vxwl#VRn=^!+`c-PHYkGJbn~6AFj#qOoYUJ>cFb3QR@x{@X3?oqix^T^DiFx9NPyQ9-UNY zQ~(hygr&%IAwxPX7Gb9Ca+iC&y>6#fFEz&8{Ksai0Wc0=V71v9Oe*J>>BK`a5xfim z{*2t-+@{l^P&|{X^hbjkBS0~UT&XgG3$-9{(Xgm<4|1{5bipQd{M2s7mdUv15Rg39-wb@(p zARf3!nZ{r=+g;wx4TooAZS(Naqobpv^-xZ^2Si`8K@=(PYLR0HIls6%|M>Cj{3;Z>uhnlZQe_Ysi-pE;G?~sQNQ{FuA~ZmK zIe@-<`W&bN!0caq{r&e(51)Si>e<20!O@P_rk9gI$s#DU#Ka(&j>q%W2*kM(@U&PI zB&&ES6^%sVT;YByb`Sn4cJ}Tvnu!31337S+Jb3p2zE8FV9JSa7dJ_^7O0`yRwz}5+ zChOYH{%&CR#q+1norVEz zc26E1?riNGZJOmWCD$j8hX@grw_GvwWDK(Vti{a|E#!c}zP(Lk5|L;u9>2f6zkj#~ zo*zCB$GAGPTfo$zU@&z1kOa$KuJ`7nW~DFH5}1@El@^!7v9{?8>>V5)A0HhZ?mT+= z{P~lU|(@?7?sGmhiYG2U*F(%q>pwtHg~qy-JUg{C$Mf+pklcK z7eYb-f(llP1+${(0B**UZZVb00=i2^!=YFv8RvR%-9CW--CTzsLf4_&(A|AFbpH@d z#vh_-5Lw&Zc6TP^j}{oA(CRcw%jTv_r!aVTw%0ax_kg(`Zf(E#`qhgU&z?R1>iZXd zyT|JW!qZ~VYV~@RQmrJUY9$JbC8S0?SYWH+u$7FJD!JtKS@7oO^8MShQ0O)q4nEX+ z#Y8$=EEcQPYQ0*YPg?-;1VS-)uFq;Q*?@OC%r=M3=CIpc9<2~nawQf5T4vQrL}E-T z#}QZr3kB?ox9W3aYMa$$49K}cG!)^cZ5QL=yF@N_6}-Cx;XN1(-iE`s_epM!GB?$E zI2|!cl|*5(>I~rbd+lbs*T229w!U}t=;RngcA)+~2LSY9cjsV>+d2SWN~1Fy4Q8`m zt+&{1T9sOB@hBGpt%#yVbr1@Y(a`nH+3UZ)xx6`j^AQNl&}}$bj^Bc(o646Hm-nqv zAypepR(u|W5Gu7&p(ND?qtRkiDXng!Tp<%-N+mAFa6)S&aa^WQstIV$b)c9pAqo&o zqf)6=0QT3bm0G>osFZ7!Lb*}RfJBjvd_27bk^LeFVoy3-YIOU(;hYr;`H0@{F&iCg z8=C=}!@qq5jP>OC7oWd;`W(pHufKTq@^_yf?{5XxJPwn^W-w^DhM7j4O6&5OG)Y4AynFxdLol8OnXOoAQ?t=*$qK|6iegfQLM~V7%z6?D2__NxOwm@0tFl=Qb8jgCc`#4LYvY%V9BVUUthmFefRGD*;O!fA4_H{jdB;F$27YVCXV1dDJbFj2KyZv-x2GP}3-w$`}g@gAo^qc`bwS~;Ks5qB^L52fa5b8o9*@@>*xKFn zfghaQ+i58-=CeErx#&Pr5|99hcY2o%#2bed_>4iVH0UJ&nGmUXF`AAkVe><*UCm|U zx1oE$un$#~-R0ld*xcLQ z+&SL&dVMat&0^GQfb~ixIA^0g5y&nwC2(4^i6qoYkpM;oKwo#8#cUE#$obM%X1m>C&{?cp?@F+c3Ph@wBY+Cncp^}b*kmZ3(SR;yXf#vizH`b(}t8C-Xf=tC@1C|C1&px667AerW@M6~3QIHoZH zYPLE3n}GnJy#2$&-E9DtKAY9)v#YrMCNWrVZiM?B;Rb(-!Kw;HC<3uux#p6l$Gu^z z+8)n)r95!MX0MgGx=3^F8n}X}2)NT&vQjJ7`U`;oRV(-crPT!BdkI@iauMKCA&;6s zAgTg}6iT&frCP5M%h$YI9is_gf!6G_JM0>6RJBry!Z3)u%zQDcC9MvZFW~oYA8?qww|@Zc^5D^$&fzsE zWYSOLoI&bXfDqFhfxCsEac>4V4*>sUG6Knx<&WFF;dC|~w3@BfluCb$)#~~9eHZ{= z^zPyk&}BRh*m6Mi+Y?BPiP<3!+zFqDsc<1IK$IXoDC}k>u5`M%nnbh3Xm!}^PN&)I zu<2a~TXx`?4v&q*2?bb9SR`WmjlpbC1wuNLiatEV(?I*gQ`vmJR7$2QEpEPZt zmS!R3(-yzf1iLtk7>8k;j&_HJm?Pw zgVCn})?=2>W2ciP&3x3y^`y1k7F>88C2TC zZi9Ork&T2nuZTrrseJa~AyX)n%avNYS#OUfGvJd#LJGrjqfIMS+Pog_z*~SjO|kCx z`?vPIR<3UXA%p}1hMJ6qgHCS@WJtEy9*?;WLF37&-y5xj%Q@E{gsUm%&O*#)%(9#> zlp4ikG8&EC-(6qd-T{@8Nrq$1QM*zfE>^S20+Q(E5F{}fWD31bqtTgsUX@5@UEgq< zjW)N(qB41WT!ml2>GEwJ9k}#Xm(8S=;W$Xqd_FU%cgJ0>oFxO4P#AdP{X;wjV(opF z6S!q=C{YWT7T^|02$G%Rcf8y0C(tZdv9-heH~rwqHKsTsGnbU%~GRx2r>#qJ&=w;)}I9v&_)BOpH9 zHTsp-gc`OfOeO?LTCSH%H71?jW>?D$I~z)wJK%BqJWhvGPukXfdoK^|_MK-h_I(bA z%WWgMv4A83kVhow7RK{drCQGC3(-h25l!av(Qq;wk7aV1G|12SLZwz~jVNldpoLO| z2jf7=%GG9@-R<$Mt*-%s-rPReby+z+R?AQkBIGkPZ;`KajgkOT4JN}rfL91!0vXE} z;8KX;AtE8fmD?>A?5vc^a{d?rw-|o_0xWcX2{g&=`E{<%9dLlt^pqdJQDb@gphOR4s8zaM!>hWxdl}8)33IH z`f}P008v0Ng#gKS3muTrR9ch!vs|LT^z6a?@z7UZ+ZC+Su7xTiboIVO~4g zbgu1euK6|&9v#^XHnYKOREl7!O3vp?2|l$#P$5gxJU+Cj=PLDTHX6LTj{$SNzqpFV zBjHf^;UOANri-6;5_^LQ1)*YyPa4f86No!&Ticr($Il;c``0$s>_(jiNEB2s8?)Ff zTLT$?)Zy~$N(6zmfVoX(QicEyLJ&j1Q&XA&qFt^gBp~OjT~2~9dpCfKJUVi3oNPPS5BImY`VNo9;WBGWg^ZMAf!{F(~G-1uF*~cP*3JlId2mY}duEX8GNxkO4x z0Ox__Mua>TfC0^R;)!A*8MzOI9)cgw&jD+3_xLeU$Q3G`1vOhNmcY721Rx&;K|0p8 zVx4y_;13+WJlxz`_iP<*`}}^7)2uh!O$rVmF+wE;lq}+5G6~2w5*(sdtJPxIZ4PGj z==H?|H*n!D@o;r{b8{60QI5OK`#3OM@KC#*&S)jZghIk#v2bUa_8uRB1bOmke|OXC zv{>~r8G$0)0WuI;=KWf2FrQP90KpN?&Q)p*Q)|>}oldP%DwQfgdzctJWvE`PRSUUP zB6@vx9lZST{=-G^`tiR?6qA%v!Zdt}tjZF(#2p1Po10M?-4aj9jPMt#TpraCw){f<=wR z;_+xWc%R^!H|1JD;de)nfDy`7dZWn(vc}Hw!QsL7(aE}R&FcWTp^zW|R#!_9HCqE} z-0yY!&DI=&mkU6!AnvQxM!VAnq@Er8&j>6}tCFFUPQO#mmvW(C==$dR?DYKR<~$gW zgrbcGSjud+J^+blGM&s8JY2}4a#CsbI{h13jm^Qmi&dM=8U;aUjPODT^qCy^p%7E5 z6bhM4Y0%(Y^A?m33}!Lv_J_k}q0s{m4QQZVyWVKD8s$PZowyBh@6|xuOQaIqTc%Eb zv=SgFVX)g={_R7b=h2f5?r5INZ2+jqwQd2c!&@v7n4u^Daa4bbYgBp#ruGKhF0U`J z9tdo#d3_#E)9bWK6#>L$8z5Z#E_B1aV7fgGChy{{!tFyM9Ex(`A(^g~GWk+t(ys%6 zz_n6Li3^oxi{BxYs5QVK0NaVxqQMfEC`gDU^(vi7LmKRQrAnog;TQt*R}?h^bk!+# z<|BY8gLWG*>Y%|5>M6uScMrf|LqWh=fPhNXT4y?23P8Hj>#e@+!yS+N;N`K;WN>*u zoeb9i4GBaZ3ltKj9_5Y_aGRVwze^8mVX| zpHC+;+1OpY-pr(E`gS4j3sjAdb{18aMp`+I(;%j0s|O?th-pqGmYjRKco2p^>a23McNa zZ*GB9Nr4zV>38RdNPwXbpHRqw76-vgz>R?bNeMo6Ttls+k*qX|`H8>mtBX zesXAN-tE#9x5+jb0DEoLYo%B?8jsywU)^vTC>jMMTPRf8RfaA$!)VR{CRZeps_sNZvohVh=YT-d~13ym|lO!<)AsK3s(EvjF8M5R5=eNF>2A z?(`+d6EKL{I6)G)!s;@5w*3CU+WN-M=K5y9zvc%9W;W}Ad&&t^xL5+aUCy}P6CJKW zRHJZz8+iy`U0j@B-rU}Wf!#!7+{^7!rCjPU%h{6CBWjJ=<=ffc3Iw)xcDFV+)_oqk z6+A!A3lD3a`NcWqmx~(6wBxFIZQ?)h(Iuk0a^yRdot>En)P}mdv|#ox&$ff^z`ig zn>TOXefW5B6TZ6#5R`9Ji^Woh;&vNEgvMkv*w&989UmP(diMPB9-yrCtxdPZXyi)U zrQH4^Zw1NZA~7zJDpVv0b`l&o36ICUMPsNb3k&!{0oO7Ih-r#iQl)6RkWEEHAI~q( z-@pCk^_#bE-@ZRR{csVE-i023XLf<;n}f6mw7XaW*i@x8J3Rit=Kg2je)-vFufF=@ zcfa5L?th1%|MWlq5C7AD{2zBAGx#~b`TzYV1_1K(KSH1Wj{W~#-CncGiQ8f>oz4{t zxqL2>?u=(VrdR9f%o?y@La|IihM!&f3+zfx&7(**&s z8Z#1Zx|dpMGNKEHzZi2ZN#>n$X(C(>C#w|@)H4?F=7>VX&}=kCNQTCQ+??+j)hyIH zO+eCBU{Ix6dkCO-iW1y3Y5*HBz^LVD4x0J7O)wiIF*s_{6{@l+t?`ph?y zkV{>QL3*Sy1dOVcly3?UGOkr(r%AmJsth2Z%;+*8h~8y4s!?Xihvq|`!^1C(9EUr8 zr`xY5jdB(yl`^K^Zljw%{*Xsn{eC-%S=J14;kY{(j|L!qSMINdGHzrQhN117-y#m2)T#1%2 ze8Ke`km8eeBY%CFsFjls7w>=lDJ8QC8>zc|N4cXN^tH-zaXjx-JNeicC1eV?IhI2;`eds|BWs8#JO1cVw}uqfSID%1jQy0IGW z=1Q%`fL#t-l^Uf~Eql#uqB0ydxJhf3a(glBwkNY8CAAo2N)13DDF%0wbsB>CO9VrZ zQEdt=8i5c!a~*6>I{9>?dirZ>wB#co-!G+Bve#4CB)wu+Do%&0!%B@7YqZ#~I#&d2 z;z64d;H1uFghnf+L8tK?>?vkgVBh1@^-5y|DrE=DPP)U2v^Je!iRlBIez!%9Nt7BH zMDuu3vqg!@)V%hRBvBzf8I7m&UbWqCSAk6}Xc0*W#A+=e#&DI#0X@Wr6fLzY`#JE> zEF*y`+yRvK-6_D-t6(br<5{y^>@2BXCIhS4c5{w1(Qv(yEX~G+t6)!MmGf$K(_?e5 z(djJJ+lSgwPvYC+_R<_$TmcqSYnHP#E5OZ?RzrYJXoKG%RhiA+EhB_Dww)wGFJxA= zSOOBbLW#m`Z@{d&1wb{W-ZWc8(EROykj(2NK1hpldMW?>o5PH0@g@77AS zxzx;t{`@{$$Ta%*|M;JiN~~2Vr0;`SNQd{6$sWt2MuPz(Swug!of}e$CG;{eL=Srl zR6`0;qs8HN+H9_XjZmlwQnp;mq{7uwvuo*=K%P>oj1H5=>^2$K%(zlc9{o2*3bobi zx4U*W)r4NMq@mTMTdU*?18UN34@S*uvs|CehZKL+Dz>QQQliojeb#L5({ zJcGkx5@%S&`e!E&l|JAhm3p-V!$xgHhYWZYgNVT#TXv}slk06}yUQjKsZDx9vv*+C zIQ{Omb%#cy*GpE244L(MgO!MC^%v9OlFAlfI3J%t?MQk&ZFCfFIQ$`4(jBeAKWdcIW=<2#Vt|`A< zqw6gihR3Z)EL4F@X-k%>q3)@U~BjTolhTrKhs;rlw>ySnd;DTE5& z)XRyLO)>9uXOqr&-W)Q8zy2TpcKL8$p{qZ?PPfL;xLV5`qqPq@7ManTSNQGuMu4TIwkc zQjHHU*9A70T10p1h;f-8%C%Z<_rzjQqcEwKt@@Zp$L9&))d13{aZ-+;DlNE#GZvQs zDN4{|*O$9yqfTeBdbT}Uxr{XE#f-wQTTCFJK2VVmCrhXCMxj0L#9m)nb5i_63eNH(hQQ3?D4`IHD?baudNRG3ebOCeg#M~v3DM;g*BwbgUNx1?9 z7RLPK$SAWN9|199!byWpuJPJMghK^LQ3`NZ$_xgLRH{Deq$3l!6sh&n@g7Z&hmHI~ ztK_k$7@G4$_2PWB7+0?E3#Go0SG~FK&|?aPnfmovVoYa$t&_7d1y}^d7NyE`g_68x zshmhPc?zgE;=zbiqvKC-o0JE*3F$RaSvy&$AWXtvEmk57JU)@-mA4vQ>eYnYXhP?T z&pvl)&EBJ@n;x&-wXx>hJlfu{@*ut2X0jM%laY2!0<>G9(i}01dZejW6@t}acP^HT zXOu)XO4sK?t(h(4t8H4upVgE3g`CMZ< z>2*4T=^$4Y>y)C^3Kl6mx<$X;LFCM!R$hv`xq7ENSb7InMh;h@X7_pyiD=89cl zYIwR5%p^{m-el1my^kKR1)gr3Jdd9p_?4*f_z3U@fhsKyi?CfE3Pd#5eZ1e!cOiB( zeo4u zgqm?JUkOYkCum42EQLA-lW5VeHfKvd%us{{o728N-gtK}!RFEorAXH4nQi+IJ+K%yT2f?(aS-dpi!=qfiU+*CX2}LtJ0mDed z)U+PWlZBBR1BF=~61?(W^n7 zHJIecN}w?9eg0%kr_cqC*3CMDNujl^t#hw8yiS|exo+2y{AQ)qZB>fd+tb@jp`3}= zmOy!oC>BOX_qT;YxJ{jyI(%a!%%wnD7i-d0apjRu+_ z*r1KuRD1?8ulpRXz?R2o^*hyik7>TJKR#UZxNIh~+u`(Tl?HJ&-RQMS+4TLzWjLO# zSJT=45`Yw`DExBMXhsq&FL_y-O(`1U(E`V3o89DGsnFv6b~)GQ0d+Z_@+G8#5Cc}Q zN(cR6E_9I`3r7#X+zKSq8M5k8q@J7=V);foSxUb>tq4`TMxTWs%ie|&m--)DD83Y^ zI{}8zYm7>xcQ`D#K!5xsu;qjx>!yuAfZagC0~oZpw+{j;bzp<+73+ifxRSaHMvB#Z zD%S)`L8zcw41NCpggWJSkwx?Bz7O=>bcJXwYKv90!nJxW-JZ-BFoHVmR8wrVSpz$I zdM4lvyTj(q+XgeNq)$Kct%Cjt0&WfSDtDPiI+`zBou)@(Vpbci5VObPv=Zd*BXY@O zSFlt{z{BduaOB5W+^7%%B`?B_B4X^h7v6Kdm!!uF|G6!=x}zD0dhMlYwqfDmAi#Q9djsq*9p#nxnRj9c4LK zS}~PaeUjzMJBs;4=%T?+rtG-gKKn~k+Wq05&MVDIyPd5H(NSMy(TcSJi`=1^ES18} z7?y}81Cd!n^&pi=C8Wpowpa<#gPu^W1psS1`1bFf+bnyZJwM*tSktpJk=HGpu6Xk) zBjiup-Pwv|seUzbS85h+@2i7ObIi4mMhJzB8fmv}7$ky8yVIu8TI_b4(_yh%TpNCc zQbG3t?+qILK{3;8)e5O}CX>mgGXsA0-+zczqS0db&1tM!X)}vryupprk=WEUMM^1J zFf24?i{Z>{>*NuKiW<&`$qZjMtF=0{p-3s^q27Iu#S<{9?E$ad=TzhDN~R}7$cmf# z(I4MyJFjTAN9wF}im33r3?y7JQpa z$kXxbwAN}A4f>OMrQdJYiy*?`)Aj-d8AmR|pb^icXO{}QUV<5Iq|ELIzTwtsWMZYw ztPl}IHwhSo)KQsqq1G8rN99yDlj(MD-~Q{r1Uv0iBz&KU=Lh{tpZPA)HEIffihKXec z#S-N4(X88qCBuA`d!N~;L}S(T*}IQ#e*EP&o4UPt_u)RBFP6%{=d;xzMszbgooE3; zE2+ifB`Dmal&X|)Khs38WhWNzOC*ERNM<$~903zdde`0D=EC}uXWMF}>tNfr?l6Z;C8tjW~1JE{N+I);C1--kGCvZ zfGSEEDrCE*#;{v&)N-+Csh_{i0Ym9>yBAY|e3?owaKV`8@T%k%r_JH=IZZ|-hATA| zqXfpJ68>x?)RW`61RiniUFwZ->GC2Rx%j95>+&IZ_VFqdyv@~0g>0@+sn>HYNU($r zYJ@M6d0uSmj0O}@>Gc|Mzdqn8bfW2GLWyOVZP&`@s{;pqqsgGPx}BSU_}v;;TeZFB z^*hbnfEm%W-sq19wM-(FP9=l?^)Izy_96YLv($KrjjzK?UTtdGu_7W;V+w2;l^PO5 zlq@tmJ!Te(45?aAq_rtl3$f0o zK`|N3APR$8%op&47%F7CUA~li?Mk&OJ&MORV(IKnFcy!8&(2f%@Le*SFVuRYX0<)X z#kB&@VU>%PGx_o3bu)j0te^N5om5xlQu61MIfMyDo!(fWR7+8uRLUe$xoPLCmu{WO zeeyLooPKBL@zXu8Nll1F7`zy?tEGDN?%iMC-UL5{^RbJIXtCKEGt+XeF<^8)D>`dT z-GAI)E=jH}tqE?8RBkiLpMreP&KWTZtyZJPM27cL_qX}^vT^b6f4$Cj3h#dT_>imj z`YozW5ihsV3a=T3MM6Z3N{~^$!6&8Te5upzbt|ReAa!zhXPPf}>G3Zr-F&D$y#Z)4hEtJc*;l^ap?GGl5 z(!g*pFt(2UHm^k_29)EpXyg(xE?1}thTA(}=e7Kh#}4zcWWJC~M-%anZ_Yoy{^j-S z(@5l}Kb_u1BKLQtNi$dJ)6BTkViabAk(gzyXfea3^l&=otw3f4>z&It^FYmxx`U~Z z-|x}v68HM7X1m?)fArt~r>_p4{^q;C`P;wy@4npHIeBz+bg*NB5RDpxd9%TA!qsk< zAG#>YgJ7*iCNn$TYkr5#_u`K)%otzp_B*U<-i#JVady&ewR_#{Wu)0}KD>Q*6TG~> zc=M-!{_*Wk|Mu?9KmD)&%Rm48_Wb_($AA6vuhD9cnl_tLoWyYKT^_cI)kb}|Vud11WfU_qqvP?no5&JYdmo=T0F)?ARwIcB5JZH~ zgUP%RFHHy8cq$UQI)C@(Eco%~zrKC@`rXI#_rLt`mtW5>KZJ9cRH0Jp@Wmo{I*}Sk zxz$8>W~fX;a3|;Gt+Co-FliPb0)i}|5YZIF7fI#3iFU_p+j@SueQ^Br$-%+N%isTQ z-+S=<>Cu+cU@)s-o`9Y9+Vw&z@$lh1T^o-wr{{GRo)3DB4x`da_z+53d_LKnW<_cP zF48LD)k;iCmh<_bRcNfB>555R#F~>~=Hlkz;UQKnUjFINm-qL#xA&o7yjbrrOQ2Qx zIEhaua);jlHR^*V?cZ08`nW}lNpN`C>++(k%A z^t+#Z|7!2x_~6AK4!L6|4i$gJ%zO1rB7SpIY~`c(cd=r<8a(Ytmd!RzXccmcTe*a^ zHl3JZQJvF_3nfY^A{2?>)p#&nLCaA(JrP3lVY84bR7>UT)sOEJnMm;Z{PgtvIuuDH z%Kdh&yOhc1m6lMWL3m=B4y{ERxZPvmSE>vyVY=C1Y$U;`Zgaqw2p0>U5Ejf<*4=|m zmr=L=^1E+d?yv2C@te<|Jo@bWFMS5bnvD=+VjfEm8l}Wtan#DhQ-%6uUP^UPvXevI zY_R+IGx>z@TO|moH(87z1(*$55)(^M2v9B~Mwlh6l#ja8VZArbhaY0`hudKA>ipx` z>FLj}W4YU_!lzfEmDX?y$OfvGS6J&ZG2_p9#G;t*ja#*RJky{hB6>EVP@QPB5R(dK z6?nDpbZj0!dHnT%_`{>!<7c0L{p!iy*0XPRHChuX!4UyFsi%YC=D3>9mGbFyxmnIs z`;Bamkj)1|lUA(u8w7Hn*JiZ?KyYzW>5LYe4UmpbA?9XtX-J6(mdW8oCw`YLbDQjU z;oETV?Cq~V{L^VNbeSpLU*0@q3;9yH%|MMvwmaeqHgj!*M{rs=ZA++Uw-!0bGOB*`BcXrd~#6=jUHk+&(RHBkgWO4~JVNfjyz}#StVGSs-bRrv#B+{AK z#p(I^)$P^0H}77*jVA9Cr6K^o-fY^N!2DscK5m!0B2l|g?~iA55CNk1rEasel(3YD z6pR>HfT{EyZLy=&ACoS3xF+a?Ui_vug+nN-$=$Pu#B#7B}nCJzZSbo7OG<*j!bKn z_DZgk^H)5=yDlAzw_iTnaocRJjf1_-&GogNT|WTV?KOjpz;PKm>Ir~0BQa`a+R}9s zRX%}oW78O^e3=MNog0e9pfg~k;>kizG81aGVqpo&Ta2eXWZZy^COJIoFU;HG`wxls za9B%4qCgbnW5KKIt7N|q0KQczv|wSg*q!!E>DqKMob;L$f7Y&-M{=X2AG@v2=L?qV zG&&2ZR!x$C0IXgcDYCr$e8cTEX|0~k{dJdTZR_OmVZddwy3JC)kT(SRn_v;0%OqzT zRaPMv^XG$^5P{~kv(ur+w=5*GL(HsMwM+G}n8f*?W_|FPS-T_Dt0Ynd&ddoXKXhFi zbHzyMShi8i#_n%}H;Li6kSsNu!+E>h9<-Vhx)Ci>%zO+2SBGV%gKm2`8`LVTZf8Kz z(=jbpkW%2}YPD-!$HR6(FmVEcajfrct#9oe93Jj(d94onQaV95AkB7!=35P-RA~N+(ZoP^$DhyVJP8r!=)^stksg93~6p} zon6wa)wDapjl^=k8d+ep(>KM6rd>JGnGoC#)V>q*@z32Ub0qPirEDu7-usL zu1!~_SnWjLvguMttO>%$G)+&kn^JHGo?FY&fG9 zi^*Umh8PL2H->SPDr86WsNJ0`AcaFZp>d^3qtR+fQXhDEC@3#fMw3>Ki-df>0OnKU z!H_RqRBJ^A)q2FQj^nOs-Zdf!=X|+!{oK0}=_$(A11# zh1}F%;fh{%3zY$|fL=Xc=q#3NRU!Ab!DbEmu3^5qEH9%1B7L+GGNprtv)8l250oN-c#Mu5SS~AGIfoTB^}+ zH2Q;9t8b`B2qwsyb%E}$kgcE8tVQi!=i7X+6gOn;^1 zH|p(FX3EX1N#3TbU6v5ie0nL>n~W+6p;SB8{63u=!?i{rsu`9KLA(_N(nNK*nl{^$ z(PTPVE@vPDjTb@~mnMk4~ z=KYxn8Zzv-U8!^gVtP>T^fK{*P^dHrg$A2et}wf7W}D4->_$<7kdc6lhLibRfKQA4 zakbBz)oKGkca3qUJsr133|B8Ps!a$vu)I0N2t`6jAW`%ClWC_l7!5k5e6i4I#6yvX zo9nBKi}yd=RCAf$q*d$E7y#`Rq_W%WZnw+7zPq!&vAq%4-h2F;M=Iso|I5;Qb-9(C z*@E!id+$Av0Ma0RGHHus6Jraq8_uhN& zCW3dc78f750LF>)#kco9Ct`0knJQ6BNC+gJJSnCNtzjYA9Yn+VfHT>s<|1xSshbS< zB|^klWEPTmMw^1cpSthhlK5OanM=nZ#uGGdTrW29$VwI2atErJD_5#e%$5d&MzxE; z;83F;;zLLT6`(tp%NI+8Tn?LpMBs>+e!bf0wNk-=AE?)hljGgruCj4Yrd`Pu>cc^) zgrbn?EEZb`bf#P^m8&&sm2UpN9#4@8ad;Mo)F09aTZo=JB z)^**IEAV}?l*?18=vaZpK5ysYs9Y+A%bYZk0#>Kk9`!o4d_I?sM!+J2`}7KxHikw( zAP6iL8T1dXL;>9&&2~Ujv}%AsLK2Zq#e*7})U(M%EbP6xah)F@?QVE-;j5b*7S5t1(8am8YRKw@2!BM4%p5Zi^*h#mA{d~CgvP3H^wd>Uqq<~rSKZAb># zM8*4C1~~pDsPy-5e8s5qDp>E9 zles$`u2UZ*HUayvEU=i&e z0?!xVNkV{=N`=l~v`v|9R=r`$I%U>~1Y#kZ2&6e4x^7jnekag_ho=|k2e1Erm5#Wa z*PdJ<-yL-Nqam8b7mJw`j#REP+f53QeDR5$O5}@pV!aa4Br_4kc(T~(WMV;YG#R-) z_~)+2brt|&L7u*-ltLbV*yHW7$o*y)C)7v@Lj;B*kgy2|EIi&#A(JQ+5)MP40&>zH z%FaCf4Zy}Z!gXcF47(3xYI{t$zm=BLl-Hnt436pYMPswvk7q| zfmABx67eJ=4ue7>C(RaJK*M9k9Sm=3TF&M3IAWb%Et9AKa!8^5xXsK&kr+fW16hsu zV(EzcZ1e3AnDDLNe*5{y%ZPLT=y1!Ot@bLJVrz(@Gucc!N376jluEtbuHeb1=Zq2} zmLim~$y7R_mrkSUgG@A@tHm#_eb?`PzG^pbb~et7-CDkl=+|3F0yI7s3&lc_W=bm% zX|3}!3MP@n=F#wYEOO9l4F;`dJ(C_|I!(~?P*?(A#Tp}MBB@NN6tG2VwH$8R)lP}f zfXy(mwL-lb^@XCKv@cv&M~87wPPZxKakGoU;^|y6MZ{wX6f&_~57wee1u##i zF<2!S44DBlGV6t0%oFgP?H^xWo$dVcmwyEFXFvVwiYJnpRJ4Lbj^Oq{>}dCOl*AMH6K(O@_daEEH+L907K zbTMKHlPT4h#d!YQG>^$+(}79&q&)iXJ!m02l=%i)k(Eo3iOY&J_V*U7RoZ00?`H5f;@g)RE(A6NM)ba5%b1 z4Uo=cv@a|zEy1Xn#RZ#!FVZL&fTREkjKq%eK!Ha*&^hsF>n7$r3m23AV76AR^~ZP? z6-xww1(u;)rPHawN2Qd@Gz%*_4vjQyqR5j%G7*VotJ&Qjc1{kjeCInZzsGyyy1hAg zf8q+%nwi?9RqkV{99pkSx0rcs#-xj)(kTQY5s9Qh+y+`@*zeR!g-*Xx>0?j`(0Z9X znNqHGEIZ~LU=h#FOj}J;CWYFf;WAlNKy1dNPNSI(1i`?sFHd*QBLPpcluKse8Ppz- zAS3~wPUVPYDz(lG9}8Hg;1i(f2lISnzmK9*5%o+o9FBudy}xr64(z?%zDlLNr$=X3 zSDRb00jlP?Nj9(y!U#*i;mL9>u{*{Pz!eWB2m*ZY$YxD4nJx@MY?V{RdbK$o4=_wF zmn%@J6`=7huh>lny=87`(J`%(D?|bjkHMhfQNvER(<(==T%oY<=H$}rjTN&n5vA0G zhrkBI30*2+vPCkPOl`JJ8PrO6p24`hC?B-Y6dHb1OGn^YxZvTIw_XmNy?uA=PSw(v z2d6hz2S*7qrJ0EY_42lxq3$>aN_8k#3z4(g+EvoV;A`_*^>2u%{` zQ&N#otk$b!y19AVhiJ&TImhzKtWE__&vU5+GzyKHbSn8=F6KN31$lLG8Hj~q$vE`r zDduwJMsI>=b7>T|NGg@70P2FqB2&%Yo5v>GY%T#gs;5G+Y&IFbez#pBH4p!`k*=No zbk)e59C;(o1J95{=~sa4!Hy>CIee_8Ut`B|bOD)6Ct}blOE|ZNfmPtH9Zwzn|gD0WJcm}53!gATT zb~&HM=oEwrnh0pRUI~-om0G>gs8Pzr+Jyz3!l2=@gkmNZiNzuMgHg9!$R@xXXNu{Q z{UCfk8t{h_wQjRo%mH@ZnqW~_j!ZxyGPrD-z_Gx?kT^o_xY`-^`~5Z`3E?;>@4)rZ zX#*47DRNtH{_kIEJaiVQ)naQ*z>oXwE<-OvmYZ0aft)EZL=-ehq~zd9EGCsmpi)Oe z0k?@VnLFo!N_vL}BSWFEFrQ`qkV_$~KRm#w7fCLH~LuBz-*mi>`moP@ zsmVe&cd!-C-(DxmnNTF(Xm?um#t=E|08)t~u?0-fP$@+I{JL~BCb9VJVWl;i^c$sI zDv?U3lJS7swfFX_h{Bam{`;3A4Oz$)QrX4?hZsz-L5_Y0AvK9x*DiJKsZ%etx+eTb5wlfm`G#O(LhA^dc$!y z7Y3^^SD$oZS4TJHZa!T|M^h~nre7^r+6WYkzXCFhD`1h(D1u~Rf!k>zL7yVkvc-D4 zQ%#2h(R4C&eeQH0zS)Zua%um`WrsRR1QMlcp+;h38f^@PjKFZ1gBq9$BoR@qpsBbC z5{*Ikn;13)g#-c?g#o2VMGUDbvqmbB0WPA~8BJ!Zb;=54p~WnRJ9xQFIv{d*G!}=M z34UH*Jw`RE?N+0UCSU=PZ}!KCQMcWjz@y@9F0PA~sQ9RMvsk4V&Fz0q4cFCm0Dh-~F%~3Y?!@IWIirUZarqoJadW12kF#6duu?5E12U6OXT?Yu!d= zK&4MwVAe2X8WAx9D^Vh%5GX_xLkW;ZrPKkOfgWMt&osart5&a*2t;Bolfe+mI3z3v zi$M%}peuCATzolM850RuG-3=hj4AMlDVj*aOeSbNb}}5HnKUF;B;%7i$$XcfmUW|k zf3j9dM=tkIZ+yX<_kaBjnz0-loSb;d`2aL-jE9SzX06rjwX3z(pbM=C>+MRuSjgrp zXbGb zikW1tn2UNm0q>3H=HQoihdVpx?%RVOHZ#fNb0AhD$yhv@uhnX;Myc3AOgb>LuTd># zv$bZqNuzbjwJr)s01kyfWr;OH1bbQ|vMt;7M%&V|W980*E#Fzc_h@bY&coG(Ig`dZtz=L+ zJO-Hxlpd3b>H)Ui?GL*!QyMQq7sp)cXhLR^@kA1l2-F{$ghQjTL^26I7-4Xe0h&Po zOo{@&RP_7u)pRHVxR~4TgXcz1cHZpYTiVcbWNvE6!o zL}T=Vp;D_3NLwyZK_lC>YPHdyOxk0SUP?f+bY`7StI=E5o<4%fSu5*{4y#VBvuZeW zCJl=MgCP?UV2Ve*cDq$A71Cui8QZT7>0B&)1_~$w6`n9A!SOTLG#mVDE}g6N+lgqY zQLlEo&DwbEbv4oLKAqaj<|kMTnTl$T_-Zkg%3?_kW|P^hQ)_Ljj~_a$^DAblesNwe z;qz1$DPcH700hLLYDG|N^=7S@D;A1<99V(K&X_I{5)eSXli30ui-e(dz%>=LgnPRz7 z47$UaY_r#>bPUcKb%ORRStt8FgoU}2Bp+E=U7-@o130ro0X_% z%yOkpA(9BmqY(x(Xpa$%LbX+|0S#TROfHTg;6aN%Xxqd9$c87= zX=EH4%V1(!`4*E$qR$3w_A#-!>_xoXZt~Zj1 zC(F(3t<#g~4{Hrn_3A3t=y&^6N;%m^RlMOTx zZ0Gn%AH|Uo(m6DXMVydiW0$`*YL_zEQaa$hy*_bfbDr~SkL&X6DwYjhL&I!W08oIq zH$5B_QsGboAT)XC4R^c6YQKkLOltKJnK~isBm|~XA>y#uiYc33scrZVI`42|5&&<8>5jG(llVR1#`LhUS1Gp-`gM%K_H~M3@B+ z20+Vl5}iiCV6b>5i%3S6i>+R#Rmmjcg$G$bMsh=#+>`F`dSf%D4<6Uu3ch}1(?yJ3nGk+#}b$oh$6N#KV z>xg!})9du|piI)?LZj6z7Mg=@djy{k6R;#c3yos%xoo~zz-EdK=INzby=m$G`i$AJ zx;iW4Nn~75qhxTm5kz#m)<&X-Q00^WS&x+vsD5uW9HX#g0PiT8LN8=+c+ef03R*aP zF+_zXTF{^iOQRr~9k#G?lj^nsKhMQnmw{?MU&_S-p?ETQcH@WUw_*4Bsq_50fI!!i zsd5*E?iV87NPW^RWit6<8_{o0;7D*325y3|=Y?N+UrFCZzC&KQfs0lErpMhIMun8D(4*h~t62$~=? z8YL2lcr+3PDBQ4zM77e1e5IUA1y22AbhTK^+}@^Ijil?~=rR!YxGuIfqvg;|BpuIp zy7f%9Q3*veu}G#;NCrHy)@0CYRcqj9MiX?k(8nOhXbb|$(Wpc+oszGdyR+n&H7G0& zlUxpDp^y*iltHC1M1WA?unZm*F&g*#!*-3pqY=m~=x+(MvO*yjaKvhrR4fs5X-tt+ z$YH=Yh8zxyOytRFokp)$jF)?rWW?pJPX_ILByfFj880&;Xz>k2?e zw|t>gEf+oK@q8*@@ZUu8T|^78lNy#(4&|`un7=k24iIQ$x6jcjcwCXnVv&pFy4lqk zC5Oh4sFe~9l}ux>ISdko1w;m&115WdK;d!yY)7PE1FYhJ{vqS=L_oL;X(OCe$${pH zbQ+66gdUv~JXs-ahq9f{s1=Bgkj-kN*(wzWBtq34D3nv4!(*7Xd3pH$&27Ksz4FB~ z=|nPL$fj~3XQ&eQX2BZHz}>gCR(sH^7K%eeAyw-^)24B6A~b1)e1TA=w;9>&sb#BN zEEaIM619R)r_i`SE-)B$B1xprVNtPkxrBnF zu(@m|6WWfTIU2z@8L5xQ?W8YQMoe0eL)W`lZ2r~*PaV7VkDY)N9v-`*`E)1{3MT8d zT&_?^=Tp&4G2+j5+QoFS-G)o5nGc0qly0ohs+XEQz(rA9iIBr&3&mo&Qb-lpr^Ep9 zSbU*O!T>FS$)c0tTVoPQs9<4mBs`9U?bD}>JeE)jO|f)p_*4r30H_NZT`Xo$Sxf+! zOcs#w*a;Tb&Ua~ubgGc4Vlb^D5NXXJVHA#((}8$4bhLeRdKt(hy#91Hk;-Qh0jx&tJIPQX)W41tW#U@@3n23y1f z3y~udF)1|Khjv3D5@`}KSYccWiG;wLmyLX$L;;AR4LW}ttY!g?$rB2xD4K``(40!8 zid5A0kbp&^QG-mhI_xwj<8rjyoxe#YkyU2nfX4#YyfYge)m4JHajfN34< zAd_kg`;BC@*y^@`Te6E|NrnHjHe6h|2(@B+&(82A;@( z&YBFsjQ}SFqbHGtQWk|JREP*Y+TwkyOrg;lU{;;cV6-hb415|J)E0d_VRE1eA5TW^ z^~Q){t61s)C0fdq#>hdt(FAm?Ho;Y0-tIVceSYQjot+2c{)@|ay%3J>Cx5ovqZ` zqi(5C%tyWH!Jr64P9+nM2d|uwbSRWeX22zsfT$Sa=rkOjC6LHOJU+~y20D_%=ks9V z6ccWx0mThgq)ZCUAEin$4kKB-JF5p0RBxM`u>$>Uwohx>RIXS^M>LvPCX)bUAEjOE zkE-$f2nlF^F`20&&>g@Is?`p-mP#d4Y-F5A?riS%$mt8lvzd4}mampdK_b7dJt_FBH$Vk&{+qhy{9{!(#FkDxpZO)L0aBI*&(T$`nE{!+_8+ znIg563jk2A(I^!fy-_FPnjSn^G+S)esTqe=uTzK>8YvH6AOVX);)vKm8^B?#jv6(q zm1?~X6k@SFCSr#Dey4{bVr%gtf{HFhW2tx`*={DoDVWqy$feWCWG)-=c|GuPkn7AD ziCiD;9|GaLxwUhCx^>`kUAd#xcDXV_j9}alohz0}d2ESBtuf1ieh|rpM5<80g~!g> zTs3@tC6lX^O0C{tnXyaxGhco&ud~c8uH0F1SfqTZ-k{{O*(^E*uxvaY(P{S4*s?d; z9ChnuFrZ?&J|Q7n?a_ENMxsZRe7T7xcVqrwDB4EXLxEJjRI638i9|A21Ii5gs0O`P zXO~yk;qc|*;m!|#dVAq^ZT+@$cI7R1%86(h185!|M`TG9QZ`E@69XAZ<9@Iz;}NlJ zsfaHSNK|4Ge1auY=yW=h)n-xY7hit+aLT&0vbgr(u1zk3eveW<8(QoV@Hi}@*X|)n zlgOc~K53VV*;q6`rl6aZ<^Tx|_fegEzS0_Dx{2$f5Lt{$dTt}7_7KSAaH`nI`@pch z-ka-dz_X4|FFaB2`#=5X-}f&ru6BNYIJS(Jbt z5Bg&QzL9Vp_}hqf*6T|25yK7u>S_mtMvTEN0Ntfht7IaEOfm(~Wwuly6>z0$ zAy)>350k@V(^*_9mL^o_HDVs%Ee4B0tiN#8BZ#ke{0(u_C;gl-n zOgxdvWfBqZrPJ$mUYs2t9vtlN>>M6#{_=Y7WPjuB`|aHmcQ_IX#>*c}o$yr9p{X1` zk1rI7L=r$+IRcSbB4k4X4cHx<1@KX!HE0w{t-&;9x0|HeC;$4{`pU}cy{9jp-(OmA z%*-z@!Vq(~2Z;6I+!PWyXqNJYN-^q6;qZ-YE|&*-wo|XdY?w|VU9OdKnG{SutQRw& zg8*HSPR7H2KXi19`;}2{~+@kV__uG)k!)kZYaMU@%+c0>@`h9P>-l z_LckhR_{HW*P9%3W}Q+d5pY=0iy4#&V$!eY@&jzYT(0I5RnYdTVVy5Y(tw z@|kR*Tmo|)kHfs6CY3oza1Ct$pLFof;k^yKj9Y0_5<%Q|_b;s27tQl01T*76s*i0&Pra>Xvr2!GuX?FYFTCR>nw91ucrwIehnkBFn zTg7xH4{9Y9i-f|Us>6|B!0+6@hy<^l&ht~yN>2AdX&fCL9-W?@o?SW5&!W|0wova+ zI<+1eizASzG(bPt3ZQm5e6e=UNJKKYOtDJDAmHg-o`8!R)1jV+Zr5^^-l%4<7QeVF zmm011>A8g&%gntcqjAcpQ3FW~Iw_w;#FClh(SS(DBgW$i5;5u(ieq%A3?nP*fP^=T z`D(jS$QB?NK?dUU+_=4gfZua{c~vA0ESi%8N_qRkTvhf!Q8( zT0;~XhsP6Wuu*eFT8)S&lv`~KG*c?$vDh3UlFSzZvVq0%G|;YJu9Ax78Wodh{Aflf zR_jc**?GIgHov}X0UTTnpp;9Y@}S)_blKz&dm`c^! zKmtVJdE0m}5b%0KF&LEvLGs2M^&M?)?`{72>(;@+?&jt`=;G(su5hUWz7D?J!jaGu zB#s7{l1MBTtBhKiNMu^lkoZO=hsEWxXh5a0fU*TrODSg1`4RyPJEtQFhG~^RB$WZ! zoUy1iGwZVov0MS42{MRuE}MoYij5*X28bhpm_F$MI+%(y#@$98nl}QqPyl6}&n9E> zbS9gP2fU$VDguaXA{O#`e37{K7_7p>y8v6$kQgk5jEWexs{>s1HjP5nOZ9rW(gM{Ev|}m-`WaY~ z>DcW}w2+N}@(zV#0hcf7J=opd-aXiT{nIbo$HylC-~l&DL<6yMBcE-JM?-KI$uyo! zA(tyO2D5E$TBp!jAHFovMS30dZx%3kQi({&B9kyU7&k#8qOoK`zu4jF#S8|G#1t#l zDk+~Uot~A_I6!TPIBWn^e1Po*is&A8h^Ox5IPL_&$X8MB<6K*I(}S2BYB+MP!2_ zkjrEmn51K{FHTP_-(P$1iA|uInKr6bDhW>n{Y3$U0D^=?P0*NTt~RJAD+Cc6GXa;) z;PH4YCQoXz$!KheOv0nn#3rMR!xc*vrYRATNTrf+Xhb8CDi1KI9*n7M4nR-O^32luapV+LY+|wszsvGSuG+8l}-kDhH8L{sQ1Rh4z$H>bee?^ zF-7rMA{q(?gD}F+cjLZwyMw9F?mstr8r`WqNLLaq-Ekd-Hcb`sn#rD=Ooh-DEQAl^l*(#3mvD4`_|CgIu=JDi<4- zNVM7;;Fy?JpU7ar=glImRRLyLER~DpCcR9mP%71?8KVF`DrYiDm{B#6Xk!q)LBEnK zw^~5XKou5GMEw3x(0g;^^|>yuoHxF(@8mrU1lr$u_w$cGy*mNrvUlpdxjwt{Co-{g z7fd&r!eFrl5@=6toL*X9T7LA!tGg@rpM3o4_s?{SnfWP`3CI>MpG_s>5yMss(M@NY z?Mg0NuH{34T&Le1lSxPfg~u1k6xt~@Jl3O9%VjzvSkOv9WXukW5I!phG+< ze%z{8i^XcQUM|2r+L;7s*{*AtJm&(0_0o0gbsxOlIzEFLKd;|xZoJ*tJv=)<*gN+` zQeXiWxL;JRczXZ-w?h3ZqRAWGBEMtTD+D|Nk4Yhu zu#3z1FdYLX<~f~L7Z*-|mbb^d2Sd-e62%DlQ{Rx6}D8jV2) zjc-thmj_)i>Ov+4)Kf7NyS=TTFcdl-jVG}rO0!+g63A6rt=Vo+0Mcc(n+!&sVa8z) zGNBzc_=!|CXsiiAUckLULC^wRU8Mx2*U_pLwT-rw9iJ~{v+-`+Xc zd-ra8@5Bi%%pFKXgLO1=I6{#a3@%uaCW~$H$C>)(h!Vwr^jm;{iv*jA2W8NT<8!Xo8S({0( zQBN&TOV}Jb8i4^~tyfB?%Oga)kPP{wiC8=Z_w{)F?u$!+>9;WU&Krm%lDCJu#}`iL z#mVv6<;BtF`@M^67<6+ROe6!*E)c6Q`GKppn6+y2>ciEA^^c!_{N(Y&d-p&3?1@&O zw%c?P4wHZ)(rBo10>-dbiuq&$0CMI-o_8uznt%>S#o%Z>!@N<%=83hAm07J!W0`Tx z&)dyLgKlccq2e)dBQ%wU=@hf=eznoBK_E|sf{Ap@=l1x6fm;|>7Xhm?3d+5h^PZny zUi(6xv%?FYXaAS&8;{fJb~~>F@npo4L!yAjMw5ARy;dT#FE7qJR-Qb2^x)yW)wMex zKQ?fcRxsJnZJbCL)oaCMu~mbUoK8XG=|U-=FC`OA(D^w8G*xVwl5hlKnSE)-tOGSY zJHOzt8?+{~X>MssOd28S96GL@N+XD^Tsjd=B;&DgESL6qqcP9{{kK<6Up$=zS}|H` zB(FhA0BH*iG(Zdmr&IQCyrk|TOPc44*;_2P>`|C^d z%a5PgMRJ2)DP}PkL~OU*8dl@QMhQT2ArCigWhrwC zu$T=~3o8p&lX+^&pr2p23Ghe~Jjm3|<&mV)Z3K{PFn~y+kP1cPK-ILcN_3U ztDU_6+6CYx5CR2s<9z@3eb8#0XGdq(!FVJPiTPtl^0iR zXAK&yd3x5d2us9dotd7RU7eGYZ~&BOgfTqvKFS87i3sRsomrhyN}kE78jP* z)|QtRR_>aBWKaTiOdA!-17tUwD%Pr{d>T|X%(nqTu-fW0^U3O%AW$lWG!jFio?Wvk z6b9?u5)cm->y&lYVKdL&amZ+NXjnw(r@}b|wFwA+GFfQ0(w;ynlgT9lflw#{nRgRwQ;Ta$4#&dE zowe0F%XZt^nwBpH5|c~nR62-$zSwNlE5&Rkmj}8Vj=SFJwwldqu0A2CmlS9OnX8^( znNf??Q*#cx*o=2_O={72jK{r#xs4Oxv3eQwH z7A-JO)C60n$vQo4x7%!vdv|qYx>UrbAq(+JyMrNSPHwWz$)pkshSJ4iDIbp{Q;B2- zhDqmwK`{N%SUMkp?eOH+_t!V4$ESyfXD*-5?e_SBu}nIU7@|fK3{|RzXKiP|m}h3^ zS67x+m*=b|`}#*(9Em4nWBQYEJ`a;nO4)n?z)d=nE0v1nTC3ZxHM)a#sZZw!xI{cl zVX_#E2B}bIo1V6Tr8xtSdfV3?PqU~(rI^&K6l+5a7Ta`P!n;K0|UPE zg<3rw45#z(!A~SvjJe&H+nZ-#H6DV`In3|5y#>TOk_dS!ILr{m0ki`k#N3R@JnfhT z^RqBNH)S;0mKFqPGM_OSB7jyN0|i*fmur=5GFvVeE46YN5YR@g)gK{8%^poDqR~Wp ztx5~nhz=Bp8K~k}$E*XH2MAM(cxLKVB_^C>@ zk8G!4uwp*!^9O>VaM*Ksdwp?vu(5r3aBv9o0Z*?13f;J_UEWa0okL-rI>X_x zS8t#&Rd{ZqkPLfoJU|GC58t?J@uPRI-|ZZpp6qYD-`G67ym4KfojGs4Q0ml>6bgke zpiw0TgI28t%D^-=1M0+L(rI+lt43U7%n@@)a5oPUgB~@@RhX96YEqsH^{?EVc1EI6G{o5}aN9UJN4ZCh{-QGwt8168H zTq2sl5^GF)wMK6MWN>E24w|k(tu`&KaJm@2n9m{;aA+(BIT>{ut#-TJYBrk9MisQ| zZZw#y*K65eq)L>?=m-RX53?afe2KwoHJdDU`}F#=MIMf8nVT`nnW!<2Z?TXnZ5)|O z#`JqbBoa-*Rx-6#wNgrl01I?`eHVvL&y6>E^Y{OJb8@`1x$*wZn;qz5c6#CV+_=2q zSR!_t=IP0O6p1d>SWGIQbIfzIa7lvyQwxdQv=Bv>E1)`0*;_Bkc?F9-B z=;cg4(d6-PcqUgMRTwNVK4!{hpPL7G0|u@VPrtm&nDEpRzCg&vBjALOVG>lk+p1Jr z!+s{1%q0OWO6O9ySCO%hkM0gIRGvg47V?BDljTG5*_~Gpd6cR9^9Hq2A!M*bmKkoV zPvdYnH1uFZWum&>3VhvOP6s{ySYZFnvDfEzg3kBb-+tTQ-+2A&n~ja#qvMma^9yiQ zKJTqRR%+(le!QATpz#G_xf+gn%50l+fQDyu4mE1k z0jRgCxyrEQ@uYHzkUtQPrQ_#kS+ao8ZVoUsp+vx8gJD}OM!0Wm?f$$hu~B zTV$D*qk3@T5Q~VV;Ch|Ws18s!mjL%Z=sw&!cHQ1w9PS++y?^~~>;3CrU%%hl-a9xv z0T6%f@%jUSL@^6Ee=sk!2uTc>O9|cUre|gVe_H@D-mag$cW2@53kQ>Jva3Y`E)9dF zk`X;XMQX)Dp-{<#4jKyh{m^Bv@I)O;R47-hDE?=y7vbVlO%Kg+k3scAIH*qnS2LD6Nvb5x&eTJ zbv||H)%Q=dT-EIS{H#UE<7@2}DRF>d^Y}tSr3mo1T?3sjnv6$7m-`nU*U|35$?5sU z@ta@Y!61>%&F$U8le5#K<1?2(l*+{ep%jGcc$7G0;PVwKm2P@vVPE+~SPI2yUCwXpj&FNS2I?s1?hNejnO{L}Fp@#mV)p z^Xz1AYxmT7zPGuty}P}&dw8(u|%IVU1V$ycAxtK?dnMFwBrp(ou|qunofePQ4A z_08?&!QuJE+3D%g(ZSA%C*2;62hApmC4lqIVyWiW*VmSpS5}|??z<;*W+PBO7AcD( zRfy;$8gbBuNv6eIIv$M#Zh#bUIRU5~@9!TTpPn5bU7l`j?jP*!Y;L}Pw|#nf>4F)D z;Yd6K2xGCx?cW0)b{O+6QAAj=flcyhl^5p54FK10Qy;7qR zvPdZ8s5eA4L*8)M@4mjeIz50VZx0WSj`y~XZhUFb8VAV1ghXd^XiSA=W^r+DVRdc& z(Wl>kzHXm&SoB7{lqZx4nQT6>)tDf=l^kH(iSX3{kh&KamuIIZ=b%FNPR~!B&fVAV z4vu%IYruzyIQsXU|`} z`s~#wPoBK`{Y#r=*)9>Q6LNfx6ae!v-5+Uqs#Nd-Ti~jjbpbz)u?7$ zXcPia9g0v5#KP?C-17a89zOo!tH*QJg|!)-MlBX7bwVtjh8qqi!)hv7$Oli){PBnz zAPQJ2SEpxZ$H(WVU|k-75pQm70i@iz@LZi7!Dra0>ABUr z%X1IE`TFIHm(O2(_T`tKg1?`<_?ORZy2WKRSo}O90#9zmQ<+)QCi>-XBi6@!jvg`Skho=P$qh-(Hy2jx`IL%3kaVyEhxKRlR<_cX@s7iIpnZTou6<@dXMX8D^L6J$!KQ?$h7> z>+=QM>L<@u4GII`mIJI%&L@m|t!g2WX;dS(fmkdE^o!5qJUNENa&&lfxVO9UkH7u$ z_Wj=B=Ih_yZ|xqOUR|AE-9|FGbh_9Yw2N)F#VF*;=bqf3U3vEElaD|B=DV-H`tF-A zzx?XU&pv(m{EI(4GEObd>cv3LvirqyH6QW$ZqE)Oi9b5rdi&eE?Vat-x9|2pOh=+r z&ehQjp;E0jOwBB=-Fx`(;q&jmefel<@zIM<9xmxMQ&Kz~ATJv?9#@m4UbmVF2Z4Nt zxtkvN0vm=xo*wURY;L{%=`TNQ9c}#l%Rm458$h1@W6-(0VW2mQ^=_|RL@6u^=p|vl z_v*7}Pd@qd>)-#&_g{Vf#n-?4-8ZkEKYRAo@9yi3Gghry!XtGX&2l!Ia09$OJ=z05 zwe{w=cN+i}b~oN^owt{zah)F>Upg;OcHX^t_wMyiKmPjbKYsfAKYsc3 zAHTfY-aERu22&FO;;_|i78^LZS*uV=B(@j-`rRiVefqoK|L*&5zy12FZ~yS!=P#Z= zfAP&14*ir(2Xrp2S{t>}v1kyeYH%-ix8A>f^LAqs5VhUy_iwjOZ-YU91Q6&Ep3W9% z0G+fg-hKMnS1+GD1z4FR$G((70NSki(|J5ZH0M+pXqu*<>^nibMkN+41$| z*~!V#&b!}!d%L^&m;dKKe)#$4zyI*#Prtm|IXXK#x$s5-9Vj%qtx|)ewQ2br)y$ob zUVQWIXD>eg{ttin{+qAA{_eXkU%hzw@{8}lbkBlbqv6r|CBQQ?k!x@#&(8KYz>wd9 z6%SX=_Ri+^sXGw#MQRfS0!tIhBue|r>iUycFP}bs_Su&&KU%+YXKnTFqj?cqZPEyd zD7Ki2LZe6RTC-V5rc*J%r~+;mQ0nKPxc4^RzTZFm=YRg&zx~HwfBfO6zr%3@mUVpQ z^aMh&Oa*+WFyflb0)}GY-h=xOo__J&x8Hp8-FM%9_q%`j{)<?K+TIUxm z0w#|+sTM2Ml-CKS&R;j>tgOf$9k;NvF` zAAS7d#V1c5tgWoxx%<(Rd8x$e&@l;2u~Y=R>SWOGwX3;wwvf*zLjYI+cRfGZdH;Uz zc;kov`pcjH{f~e8;fKHc_dkC9=RekHS0oTZ+5&@U<>g-@|Z+CZh^UWJD z>F>67ciwLvU*CAbS-3d}O<;&X^R`XTudJ@Et*ru*^Wfgv+Wp6m7IlEj>Vc-xsnsfg znG_1R%2B5a2xhGaMjrOvTwR_YZ0;U!|NPhg`tx7@{HK5a_y75yfBxZ@pa1sPAAfoM z9>}$m>rfJUIA-f;j$ElSIp!TJV9M`(^x5}cy?FWAmtTV#|NOWX z5Qu|pG#n0luYg9~J=ove+}YU%z_7iuv2k#9eH+QuTJ7G1$P@E;2BD%NI`M zs?9!YHg@)p&Tsso zfHzhnNa2BOg<)o4_3rx0!qWX$-+le*%U3U7JO|Ugy0&aJPU(OsrjgK-@t_u0%lDv%j)NHS4+9&dPhQzy9hA&;9+6zyIxT zJ^So8zy9Z6`{uWvdFGjKJ^P&>{^FIlAc(ztZF_I$#%75O2drjSaCGL-v7?8N96NdX z%x9kb{A1_OedeAAo_z4`$9p|PpCg+qr=-uvMBJC80L`^;0Hee8kr4?OhPlTSYW=;Mz+ zc=v55jvhHQKQ$8Yx?NTh=h#j?wY7BV;#;r$@@GH((GR}!&AAN2N>;re6x%2#^ z=TFT}O^lC(e0G!3K;S)|YSgkD=;ZMmOCP?EDzPqK`tZXmOUr9Jd+~Is-e|Ht4QVu6 zY_5UuP;_c`ei6X; ziXO%n*REW@^8TBzJpa=leD^zl`|LOW>g(V5=Cfb>fBx(*|LW_1@t5Cz?v=OSf9sXk zE-dftu3S!P2W%R`VDSvk%mas=UN~{bncI&ayX&F*PMv<}iL+Bt)aTu2)ssl!INPX| z^O>zxAg-$jzXC440-Ry>#>U2GELW+w7*1A`Mw7+i9taJOPtMFOp1A+1`xhr~d-CZg z0YE(Z#M58=;^#m6*h3G4#_vCU^f++Xk&!{4O|MaDG|d~=*H=G$>$R7D`QyL)9$3jY zzwxziJoD{m|NQ^{v%mQBzx>WmpZmot@4WZcyH{_lFJD@toi2?^Z?XACrY6V6Cnsl* zpE-N_@cfap_uYNxgXb3qhbO1T0#-di=(K8;M7LY{WOjdNX=Q!&`ju%V#CTi^QT zGk@`a{h$Bsdq4a6&z^hX^@~@RRsiu|PLqD4B%_W?k&)5i;gQjqW2a9Zo||7>ICS=r zhmQsZBBP@bw?VB`DsiQPtJmt4;(ju|yK)Vo(_i`OSN`bpk3RC$XCL{@*)#V&c<1~m1eKuy zD{1r)nf1No=Jm@U_s^dD`yYJ&d(VFJ+u!-lv(Nm^v)}x)|N6C`z4-idKmEmPA8hPx zKuTR_+#VH=X)UgSU?>y`2P2b*4$n==xxe`2Bac7z#KY(Ay#0=Q?maOv5*-P;ZH}z*S9t{x3)Id*LM=RBCyqFn**^m zdV|sC4Wf1J$=SnaAH8pO_S_e~^haO)^3$LF+!w$4$AA3AM<4m@=N^0L{JnSHaq9S~ z<1?cXuiZ5~*o*Dv_xCo}uDtcqORv8A^7B9b{ttij{qKJF@BZ$4&;0o}e)__5Kl}MF zo`3bdD=TYTv8|1Lg+;@QDlKWS`+Rn@#TT852ED$>*x2CE%!Ey43HdFA0&Q&XiF~I~ zC^s6_d>UAFI+aarpvBNca&HS5TDgLnFVcKZ(LW&--Lo5>7$2Klyyv0Q6Neu7{1?9b z<){_o4V7BxN(x*-Sllj~(c}yb zM|>`CcrZ8+o)|RaKmlwjSwu~E#BQrn2Bm`BnS3#y$>a-r8#{>bp$69FX1h(ZT?xmP z8Um)z?eT?%N28O6@4n~g^pSH_?f%T-f?nqdUEdQ zl+Qoxkebz2yPVuzyM!tS-hTO)zxc(^pZn=ge*B~FJ@d?Wp8NGXZ~Xkn&%bl!>b0fS zjji1bB}*NKlX^<6(PFh2jZS|Mz_B|J9PoxBHoZ=%&{_33-v#)<0rN*^43|*jm|~${ zDxBX-6w1YXzErI?+JL-!au4LzLEdqrPIIHtvBk5e4;?;w_OYj*eC*MOAA9O^U;NV3 zPd)j>BM*a_+;#T!(S@0*@#y5-v|G{RYBjo*+g|FE)^}cc@x>Qjc>cMc{p`oze)ju6 zed+DDUVH7u7v8?Mj8+=9;$@C!*$&I&8ZAlc4JNDIZnMIJ9rP7&DpdwGC#ZC49%w&B zQ8kbjt#{@3^8m@JXwy<7pUGEh&2}9qHp|JlN(E6+Z?;34M;%>8CXXDSo(0VF;A0Oz z{Ln)n_vaxNKK{r<4?S@2U3cDg?9ie4>G8qP%n?TyS2WA5Rw)kj5|H+V*I$3_#TQ?B z>4jhZ=sQ3B`7d92_rhCm1M0l6yuH1-9WOL#n(cHrp{FK5a=poBHIN3g#cTr2hm5Rj zP_Yy%VggM8^lp^g>q?szg({Y9HCjDwyjQwqB|@jsx&G!1bTzbWRB`P)vM_{<}ZJaqp42OoY6tmV;1AAI1!`|r8)%&DWOLLxdeG7~1$W=*SFs}z#k z8_SS^-@9<(tyf-o^_5qC_2VBt|LRLGzxD2WA6{R(^7aQC@x5dLEj_XV>Z7bssX$Lg zlU}1HO$L(G=^Tz8)iWrlMjcg?Q}t>E!TVwsm`SNt%4DmpCaUD(xJJI#>9Rb;8%d!i zNP`}R?{I;g1S62N4$lD2JaOdAx%(e{@BxtgvB!~(+;{H2d+xmb#L>eGGvgz}Gm|7k z1T9p#oKM7(@%5`8T?E*7@vUF~`t>(ndF~f)TzK>4SKqw?TxWOXqoutD|>!?_a!h^~yycfbYKc{LAlM`snQ!Utfyv=QHum8*%W0 zW}{lCx;)1t*+mdtfx)}uvLr}4ZF9dVU>FPFv`}ufTlIYiAf<9Xnb%?jdFSn?jvtzxotd0J66^^YjlwjbO5KQMv)SbK>eZ`DODoG)E`IRN%Wqyo)!x^y zuBIzx6bMSiCd;s>CttJOL8tzJgLXI`^v5$z1{X5B1^5xemiPAd!Bh%pIRF(2r?a^n z>Y!Dwf|YPW->Q|808(qT1OZVAf(ft&Umz3;4ULUYEgU%vf}c2a{2s85yYIgDGxy$i z?(W-9-*E=e_u;w8@tG6z241PxD3k^Zy|WAHAQxLjc;6H&&Np z#Tq0%v=5N(cDW8v;}+BHpvA~mi|%qP)oxRQkl)y=Hml`YyOxOMO2uL!lT7DJ`Rsl% zpUo61@b|R_BS^@)6dHq0mI;HN)I#1hf^oatZm&Op&NLXAK7_Ww96NdR(CK?W18TnO z?z`{4=dL?|EuT7Z?C|_Vbm7zp&TCCT0y(9s9*<|TiP+Be%9W+n<<+%|FTK68wY9x< zMx))8d%d1QsnA-@N`>BHLZ_)i%CXyAz5$;v5E&X78l7HTn41H+Paau3 zb8Js@?BYOO(c7@DS9jV4;SrUkLGz7pRrR!W&fwp!ay z0v3rUGI?a&rCNWx1pFe?bwpQnrN;-aHC!K+yvU=^q_phvNY$sB? z8|%B7LMa#9-G^KviH%GV6b*J=uT)z!O}CrPdbK5DO!~&^E-KMV@9ic_sHyz+ZX%oC z2NQ<~4#1D58f^~4`z@2TdaDQMq2BCpJ8dST*=B=m=?0At_(P~1VjM^h1eHUJi;Hu! z$L;_FIkd32cnGXyZgOH`>d0ZQBpb~-6((~O%rqx5>8<2`CK20S`{={f-Mv^0^+?O+ zQKpWksvVA#xMI2jY6kjW2UK)W*wF5XOd+5U3lNIug&1QEvJzjq(jQaGC3=dDt&P-3wEzE*?j~zl4 zOEa?zi(nC=a;5@9jwv>KdeKo=aviM4nlzn|PeYm2dXYCpHP8824BJRyMZx4T`b z*WNF-P#|g68#GIyvJ9G+yXE-yUNV`8$9DFT>HhLnKEB&Gl_EOktVRQd1S{!bI9zI- z(dO~GK+`6R743%C>wrOn^e_Y70k;>zcsLjckB*N6NrvP&KDV%dO7bSA<`(9rqO-@w z^lFQh)RJ0-C;-QknYN(ja>;x#xfRRhv#DIEgaTN(2no7gE|y!oO2w2)jTXyubhF9O zKvp_5hY9u6PCT1S?rv{x#j{`=DX@_A-cBr6gTxMw(B@Ps2!Eo`>-Q-~pw($64K}+` zM`+X<_)w!Z^J=Bu4(ZB~0Yz|@6WDStU)WD4z#n3JnR2xdhj{>Iz1u-9!><#FLDATkNqHARev zFT3av1W=ny?-yyF=a@DlD|>Xk&9Y1zCI%v1F^P64fn^sn**Zg^C<#cNgSZD=Q*AYC z0QxCPEh<%FM`J?G$PGr5-DTBjA-p^7W|U1qxhj>(<@R`;z`{ccR%NlGUPMZT zinN)PXt$F>p~QGbBIHJ`)5CjG4-?p~*h9i|oU9N_$qZWK;d^4UR4CP3jcOH1oi7%$ z$wV@>U#FY(u3C$6yeP`*e%}g{nbbPGMzzjj(JKT1j|yB8c$kb1KpmQ5x`Ijrrq8!z zo5KhUN^i6e_-v#`Z}&LOsKb^XMq%DLn|$X(vg=K5W7;=A!|p;UvJP!S}7 zUR7T_yFR1o2BcOMh7eq)2rK}%VRP*9A=}{A9O(|ce?FXyUjovjas#q1XBc zAA6Wm1ulc*-3HYo^ahjN((ClJI#QV1s1cov%-rqN`0iEFAy zB1RH;rqdJfkR%`%SO1J$o6VqB5;~n0BvkKLAYrFT z<65K5tkYWz%AUq#B+z7N2p-4^xD(Bb<&BMaY&)LGK#JVi*-a)v?s&f5sI}0EZaT0@ zi)(OV(B%pYjSTvngOd@9POsOhFp+6dR0ReI+^GaKw9#rd+pRX=V`{45akt)Jw!8g) z8_;{eDh@L`b;D{zt^Ex^ZXgulS{qiTRFL4=u0kaXpk**VHAI%4*l9E+tC zfRI!=9ih}138uly{hgYfZe?dPnc7&|NG4;bR_ey;joln-HCtwSN^}#)2moYYa4PC? z21f=xfw?KGQg1P8Ayl;?;x~$=TD_DjHrmZ`{laggbT!HZd1Wr!ufhFK-$OagAWfkn*W>jNJ!sH4DjFO~*#7y#F z0}|I|8`Z8@-ri2^ZCt;;9S6j?zPz*=2P_7-rXis5tMz89!vmyiG#VZV20YP)h(TwB zw^k|z$gp74nN%KmO1)H}P`5!y$>pvmY_o+UZmYqJ4$QNeY;K1gY}~8^FSi>Av=xw0 zTSJCiLb8y2SF7tbA)nyroEjkKlGtt3Il^WE=T{k==p;y+rl+=;B}!00!frO3v@Gu5 z*w~BhtY5zl9PY;QjlIOy29UgTk?qN7&nrwb&_$m=Fg!ILbb7~z?Pixv3+63%J1n>& zu!?k3=+uj4@E4kaTuc|c{t<`HJr*X2!0>?E<*-`p9thXKhzv$MWPQm0293rRwADB3 z2E9tJ7aEPO3Yi|qBksr5imc9Nz~z28b6H7)+ilQlMQ~n1rXYAVIAu4vas$x$_UcC$ zuW#+f;=Ajs>wEb!1aCkBJzQfjLw5EI40!!xhockk_C$>H(8T?K;CiBq=v*xgx_ez}z|% zg<2gmRn5qVi&UG2W=4Zvr_1FT@Vl%Il-bRCi`VBckS4&1gf(cT3T;_!Fll(E14shL zI$&oaYQ4eP?N~=ppgn%5_o?3DG7}1(S7@*f)dqH~z;bIFJ0SMP^($9z?4{zHYirvX zK{EK8gNYDU|v6J)aM)WqTQYVtW&aescBVl|&)2zOh#*?-wXZ?lJ<{ms*8# zr5jY{Fqxt=F4S2U7@F9wG$}~#jZ&r2s5V%x%kdr15TWMV+Tno7hIY+_=cfkHLJwLC zaJW2Px6|oy+bmA6)1=c`d^V{I3Z$Doy^<3o2+L?EdYh_e)0B>sfk21~tzN588Ayl^ z0LF|$i|z`N$WnYKy&li*t#4=dch@&ouI-lgcXyKe`5GsH5CRIDDqL-F2K`3T<G^=h@&Y87{rf?3_Fu`;@O2NZ~62#ZD(HF}(C z1D)qs5vy(Or1tg-mCVl8UUF-Bt58bC^JUbC1Tdi3QxFjN^$sgZTHGG8XCDb00k;Zl zhof5@*KVO4-(dK5wJD(1=sktbBR&X%rfa*kweW zBD1ocE;j3#*luFKklEQxSIhflbc&h)2n`^&RtJP#tpIFgGb^+nkKL%?xlWq}Bu~|W zO|Zb5Xtq_R)TBa^Riv70Nr9P&#pL!41ViD8xe>Q#cntUrP&CwUG3YVrZGNxW;vN`u z^EDoLs9Zxv3GUWJTV|{K0FTNT1}vvdcLB7vx-gBXGKiAQmR^hEI8LRf)^1eT24L1wIXgWTv|rA7z(z;&cnXSNZNX}|&y6etF-l-ht@X%?6rsypq_yqZub z(2jJaNDNJQj3C!QaAGEvN!IYWT$`>yqAo%VZdc2>?VT#$ zt=3tzhhD-I8Xex@l|a(9I=xm_IP8R0(`n19UZ+KYqB}x|M)6DPv;-}w7HCOt5P5qv zWCHl;^GAk4p{bd{z~IPGI2alB+il)Z$YV12#|P~?V`R)kvr0hTd_A4-2<=+6kj@sX z<<#n>Ee5A^`)#J2Z*{xqmMbTUAa0K^tEjdhVK~$7&{ecZ(=0b=$Q;FFyeji;5F5Nq zq1C{bxJHG*4iZagBXJF&Aim3UGz+PM6T6TuP>}?qGGMK)T2JCMXCL;PO{jH5cqAO0 zoEZ)e4M#$up%K5$5eWJ0?xB$Zr_Jn$j_VpU4xpMV#WJi!l?&+LxqN2l`qd;SR12j{ zvcj-1sensmOc20qHC7$lWL0*uU85mrG99*AhrmfU_V+R!g}^W@4_JY3F|q`-67?0= z8nhy#vS@WqvO}Ym-jE*Hj=(`w0u(1Qyh0QdDqNuw+LCA3qc^%dE?;CQ7@nGqhQq@n z!;uJt6rax*iVpc8`8v!4GlNp4qrgOg$!%u3Vl$u3ruX96%+{qV`;u7N+RW6^Z3Ms~ zjMx+4jijE=qH48`5wcS60g>x+5FBU@@@F}pDfbi{%)Q7%tPnw+j3@(xRs(bDvZU8x zA|!OUEyjag!{E^J1VDMQ(U1uxOr=7>He}C``#|o&k?_#W^iU)^HW&} z@PxuXha)oXW@|hybvsmcE5ml{`>FU|Je7@KeQ%Rj?qA=?p>^{*3T-^(xUP)%Kzkac z-bGSvj8I4-FfEW2b&9R*=V)96a@z*N#dR3S1FQ%D6Gx~1@#s`U9qI#t8pHq{gPDLK z;3|z&D#_r!;5j{+ZYqO=R;|_Jc0qz2np_x<43Ce7BhiV7(=jwN7Vx4l<9ApCQ3qAw zdR(X5N^WLaR3(?(LuYcXU0SWO*^RA4rckYw^Tj5EBw+#WN}@jC1#&8~N`p=zqNNc4 zE1>jdHM7qFu`3oEfb1xAE1ZEe2FxE<=!_cD42Ofm(V@r?I$&cc>@u3eQ4<2u@Xn=;8zrul z2imf^8B1(0E$x*GvCUW}-``8yqEXy}P%fzKekVZ~6uiQySIHc@wZe5F0X8bR93waL zWw5GNtBrQ(u`msM56FqlMiAbJ8vu@8gYIVbM1Z);o(#N@6Pwj8E}_1@Jxr*#$w<%w z?AHYn7VYUSx$p1pp#N7 zm3o_Mw%87gQE=Ohrd8hC$~7w4)ZY5ab~f?;i&rX* z)W+)CRx)2MQon>2nx0fK&`7oy?*GhfuvF)h=#sHF$tY~|xkEh#2C}OujdI^k9&(BYc zj?c|RM`n-AjE;^(2FJ!n!e|?n8>mOn0vML>(zV1EE(j95$n_fAh4HcR ziHY%1xQ0XiV90ABNn6m(Wy*ZFl1Nvpsjb~~E`IgGN2^QkUfj)WFQJwSscbTq$d)@0 zwBS;h0wIffdQx4 zWVai28Z`_b#w)>aTh&~F;vjKRfI@p}wcPGlC&ztmFomJxw=E2ZhZk-;u`rERc%~*t z!Ma1iFradaL1*z=y2Tn*P3^ZD$&KAyZvDd#uCFb<_s)81YiW69ZEH7?O6+CZV8Z|- zWTnYJV8jWFNvqK)<^I}mw^1s=L}jYgTpAS%K=5m|84g)LsUhuNkJ~>o7IXr~vZF5J z8jVV#C`eK?Mb&ee8UnN}y3^^(O0`m;@ZfCJ>vH?Yj~$;L8lF9Ra=#7$Pn1ws zYn{`j!*ouY2E!DP@A(cYUoP**lcmajc0ZS^w2;&gwN)UsnlRc?OV#1w0h=p0;IJ4C zq?S;2DIS7en{DNjC18}T7Qn$SFXJkZn=_8hhMeBP>4oWNbnf`kx%nfDQyZgY&0nubiEeh=z?kejVS_agC z9d#dU+!mzj5uux8A%_%B)^rUAwW7s6#-{mgpYvK|x`%5;(ex zt$}BvgzUOl%G)UA{Xte~YS~A%jPX8!?H$cq+)D%;zBP51K>xQ)g zNR0p_+VBs7l#@Vgjoj4?E=K($lY;{z$IqUao1L3oJa%YydU|Ri3K=sJ@(=jjcB@fu z_PY4JIIHBFwcP5ZwNz$z_1fhRF0AD<>r1OQfZsMM`}sn-jm~Kkbyi&u*QnK`UeRR* zk*SwK-re17K9kO5;o7gXsaBK0wQ8lB&>1aev&}a&?03V=`U75@L1)n8oeqk4jbbL> zLdz3nv>^qUd`DCf8nsFi&EsGoA&+nT)Y;>6von)3=uC=s&PGDBp{`WsJ4&PaBUXCeW{R7 zZtm_E(+69pO2uNGqB|I&QR1jt)@HGKhkzCWDf9(GfIER#3%tm|(2D8(W{0kqOXV8X zfrJG)6IZIhOgL=d_^A<_B`|yP^s$Ahv5DCu#}7@7MWYjwQFIDbz~lA~crALHLq#>Z z5>J;CTRX{AD!IFQ{rZ*VWOi#A(oH^{Efn&_N`v8K4bg)Xk3+^#$-oEO)lxB^+K%P+ zLD%VYI#;fi3#AsPAk?^mFj(vkyK^8C^7#TmKhUkP-)1!Gad18!(sDZ2U{UBSmuoE= zY^KRbkonab4JKF?PDQPz(8969i}Mp>Q?v7j4$X{>L?`4w4sZm-{KHKHRi1RA(f zDcRRqYG-X_b?N#}c5ih(Rmi2lXbY8ky(wr^T#FWQboW5yS+LGZG1osLE1Aw^Q8`Sh zQYn^bOam7|8m)GxFB0}Ry@60L5D0+6-8K^;pf$h_AjUdHfrWs!>n()pX3BR-tbk4!k!#i49YGR+F?VzUMEGLzWd z%K$>Ep@x%?w;7fNbPa&8U4p@6_ELFZMg0O%V049Qvq|;zCXygcR);q-9Q3$RCv3!oZmosREpE`7M1%B50?o$YwGRP9$o70Q53 z8uc1P>RPj2Dizc4qy1DW3qoi69@&6UrXURlqs8hN7#sv&1kC0`EfFDKdq8d%DFfwz zDP!U9%l#51kiOPpfX_+jkSm=P9cI^4n1j)gh|fJRJT*ImLf_cb^wjvs&?wkRC=iN- zoEG2MWW;3#P>S`Nkra!0Q1Ry4wHt{{Cb_p0OXk3KQn6S96k3E>QLYry$ZoRnbg7g{ zBva{hDxFFuLF^`AY^7FjFj<`bNN51vSOVj4BV`YOJvx1Ui`Zm)m?U)D)goF9X;e|U z3Pf^1jIxC3Y$he9Aqlx>ii{8YUB2+}_|(+I$l&n!^vvYQP!yRrkothbGcq+kTHZdjryGvxZa+Q5#4NCXjMm=u8ne zCaDP}I?I=V@PV3eFz99mTHx2|a1kBqhAIfza@R9I;WRmXp^?dn(ZR^j#5_9sAUZie z6B?L2aeNxM&*8=Kuz$c~GY~jWHR_F8u^-TY%BS-C@%0<)Yb#6Fu3f)&ZFzn3#?sRI z_U8Idyx;9{XM1yVV*`nu$UstRBfx3{$Y6q~?E-4!LNNri9RMr$`F;MOhzVDdI@COb zXIT!eZif?Pk?V+R03=;hrU1lR=IeFs__Wt(@%T|~&*;z)InxH*uwE6^D|Sk zhfklJ38B|_n$#lQqPlE31yQdE#67*cftvO$UA_Fl`yX8T=+foOSC?A>jB^ynaJ0(b<~b`Q?qae83}GUt&~cbu3) zN0SCUk3I14!u??kJNuPC{nP*SC;!X;G(9(ux#9W$aofR%79G0xdoJ6mWjyC1ZYvH+ zMtkG>`S?%fPgT7?`kU=HUS0j!-hUU~bY=db_ry`{I_ee3$W=?~Yh z#^Njcd(}jy)}nBwtVT8yNc$6KAo zejdzyfBVwqu+3m`}Nmfe)-ksU;NecFTL{OE3ZHQ>Z`wg=e^h8yl?^a zzP)ngQomO(Vj3G8sEjNYOBJihRH;r^_FHlX2%Sm|Bp&dj&4L!qgC3h>!0mANPo?z^ z`XTuF0m+1e1Kxn&AM|)!K6K;W=|Js7Y$mJGVlf%CMp92`wOUeziU-u-6~M3+X#Kj^ z{7<5Y_)~cmy4WLwhKNFAbY;UivtpJX^eCeYP-oNnP+wZ*n&a3af{n{I^{Tlwg z@!A`|e);v+UVY=&Z@&K4+i$+}&b#lv_1;JCzkm7aCHRADSFSBzU0qvQ-rU*V+T7gQ zOT-ch2oR9!YE9tEB09rbfdS@1Wj|KP1^y5k5UR+VTR42^=<$=cpFDl$j@xfPd)Gbp z_W#{|?%sRvx$C}r?>=+(jx%S@+;Q8Ts{J9=bsVSaIOb{2*{+V965MB&2p>sMLf? zN9qV2X#`$tG+0emlf`PcJ3S7sKNtw1o}JOrk&)4{@rlW?=-9+eAA-(IPK=LFParS{ zKNuU1BBB+HL{KFfkTyu9HmA*OvzdS_!f;Vql0+W0zy{8V)}ib5YOPd7l4jBPa)2$; z$=Kd*d~16fV)53-jqMu{`nERK(SHA}^^Kh^h~Dd4XuHVvE;@j5FNTsMJfw2DR2E23 z0riY;wrHxwwpm`naWxJD)Q~!@!CmozXrc~SHlM4M3J7@@%Qa90FcpeLYn)66 z-F#(Q@Jr~(TbM=E+6_%*ql)_ZqtbkUWkul4xlF%kJy%5g9SQ(st3{aaTD{q>wYoIm z6;9~%YoIV(NvH{ph6GKJCX3yUb{j(i2B0|*1nA}q_|e!x{s6jF=mtCWxxoS)b~8FF z$!O5)frF^PBjx@LYe>|9m1PJy7}hTcl9i~k628XZdpNFCDllB7RH9>IA>09|#uZAn zN}(hO_zbkSf3CSgfl>l0)|5oFYYl)j*Fkrcx(wT4L1&2Wqjg`fU4URT(_(3wVHldG zk=yWsglMipf>(xtkwzm4yiIR3nk+UeI#I@IvpZ}KRImbHI8gBiqPjMSqDG?;05CeH zTuW#*S`bXBL2(p993}zUfD{gqk7i)f+Nd79hT04k(M~B)eHr;!0c|JA^&JhqmqVu& zl#7T+RBMR4!Mvk2O>`F;-6QLvN-RV`b%ep7)9cM9fXpT{Ty~2Ebp(gN=P;x5`_Ne@ zAh^w920Cjn7)T9@^T3IfNS_ewA#5nnogV@6HaHUmXY{Wt^lvFcphmG?-~jN6LYM1w zyJ+nSKG0o=R;$tKE3+T#8(=3bpvEvn8UaOyK{sY00@4&D34~-er>Tzqa_K@mlpjEGF^1g6qr@NItPpnmn3wEFWPs7);*9t zAmccw66l|SQExVzjYhLxff)f52-%~G`svmBjIUbh^HpF{#ZswIL_a~1qf)N{m2LF5 zE})uv3dPF)9x1R>w6scUb)-RWH1+4MKUH=IU~%v!K!~X31!=?Kf+y(I8au>#PykpY z%(~8?BebYwqJQ59DFH^)f9ThSBWMm^pdg8gE#WQE7d>z^7@vUd52K;NjH7AiIJEGA zrkd%ebV%%|ZjE8lzy34y3BnF|3yc1%)I|M_{dJpt6i^oj^E2Ftk5bt}j;~I*aH(DttyDRYvhf27?4Y#gRKH z6>4NIeFH)!qe2h;FHn3rcm`jhl3!G23HAc-)qhp4d!ULgpnDe`82*_`&GVyB$>gqYDJ+OQGx=Hmx#MfY~K8qh163pB(Y+R}kk z3aUb29s&Y*Kij`h%#I*L8vPW0xv!PZ!POr+$Mwf8ATo)@exL!E z74%<5!$m4U^Mdq^%twLDTh$*n8adj%j^?C4Q6M?dza`ecv`7U+{~6Lq|GS!lAH(<2 z{)2;WY7V}6FxmZARQ2DeZ?OkdqHj=W=N3Got&L)TgCjB@2~CyQmsjq82R)Ic{;x|n z{Y&5vF2v<-&Ug2wsoYWqd+_D0AE4jthheerq&E!}Wl0pLZW;sL*9CHURo^80S~)NZ z)y=CviK?69Qr-GOePG%Bhg-JYpKoMg2kEni-b(H}lXP?J!l$pksrF^->*AKz_5bds zn0@Q*p$LcU7A-QM*E&#UU#I97&?9h+zKvsj+g9}5s{dJ~ygA1=r$}>iw)%drAr3

g&__`$UG*TB&v^u_;*3;L;y_I`|N1Zl}0`m=i`{6{?v8w?2{?HIgg)Qicd6mYeH{D%>Fd~+~;bt`U7<$>WUKe4%whw+=E_*i)5&1w0~8Trj|+>C_s$3py;efEXt zf7kU}&q z|L_@pGfDl97;y0a55InEgunCZ{np4oE#5zU{oaB8!7~42%KOyY{$ua`={NuF;Yzaf z8`mdKe_Jd6z#@LXaQ_-b{S(*koz{PRR)2@=HwW;KtN7pi`h)G@Uw8fgPxyZuiT-hE z|9#Z`FEW{b-8=mugZ>Y@{yE~{|D0IxuMGR{&m;C z`QSgkP)Wg2KYae5zw#%4jOqOUykdgPZYsBxxi_fTR^R)-ivMNw;X8)DYCJX-EG$;% z8<(@O-Nx0QzVXpJA7o!$$>mpzJ)`}?dB=F}kD{dYo;y#H3;(^3{&Jd{Jw3`T_Tu)# zZx)VKM`>&PxyNbiSKtvuiQ!B29}|L~<3-+1HF^{rGoSFBc; zcEB7AJ>^++aq>NIZk! zBf@8iL)yFON%`oM_cnYa;x&1~)}c8=?{q>rCggo3Do(DYU(Kx4-lt<*h1HCF?N>~` ze0h7z6k8FS7fs2u80-4iP81ls5JCYR|uzeSYi3OVu}GFI?{xKCHAqQnHtPNlY(Fp`icl0)Os=<=FgJ-S$VL z_s`7CAMPDee<2YLgz|Ud`KYVfYwCaQjJ&km(q=Qi%JG+ft;V;XFVsMYFDCa0-ah(2S1SHyhxa?^D=cxww@jzTyRaf zO@n6%r~S4eXYDvWua#yqmWm?ZYid>b_PQpwo?UJ%G5m)89g1O=T)A4?>GkilLyVDd zvD}16)26C1=qhT3Qb`d~uXxo(>4{6l#noQrj!O}NbDWdAJtb!k=2CZ;9BuA4ZPRbk zT6!)z$2hXwiL!(*)1D=LL1?V@mbScfOH5L(bo%~unYXv`ELn1qc|siDR$EEY$_H76 zUq8al5T-COqwtFkj%Np(swiclcZonlh4Gp$A#Qk6(w2XzXK3`&d||bqYT<7P$&6}; zsj8q8X_6kR!BE4ryia!Qda_p?8*8yrySkAow%0$D*I0SA6~8K$B?=d{ zqrI7Xyo$T=+oBJTx{e2q2lU4Sd_+9PcPG2%X0lPn>9VtXy__%BDr_Ux%B3vX3bvMU ze^9~1Y_g=_c6ue63pRQjM>v=vt9*vGxW=`{bEd^Z?uDaMu5s_kqTfM9N|@4Hz8@-8i&GwE6v&2f z1vhE3`#c&yCUIfDRAVj5EVspNv?YF*SNfVt*;fr%)h@rNkQ^oqt1+}TrY+$O#qtQ+ z3fwhn4EWU8=%8n$#(T_M5cjk8tS{|okTNZ|*(@K&t8$kX=)6MPV!GKHiP5{e)tWvI zA4QRHSOcPJ#OpqbSzL#L#?yZ9OeENxVy%p9sz|#Ebvx1PHkPGUuUwFlH7U2TkzdZ` zsiJ(X*(_2^xlD=b;gnX}Ga4M@qjO^??v6}N-8FjB6I}4R$57W8Wvj>+S!K4gMpX*A z2Vf?MOnsiV@1pX zqMc>iq^OarZBbvEYzcmfDia%6D^q35+i|f*CHQXaItQFYbVj(s>$P~yr0LMn!0e>@uW6GTUW? zR!O@ElcDOg$gI+9^ie^*5p}dt7}RW|!sa$AnbmAHmDpM@XSN!2MawF>lGb7nWtngG zWRsaEl|7~0Gs!`_h~u2oV(MCn788glWVc0Yb$AVar(Vx$4Ju7nZe#^jg)PSm89G64 zWMYlBQKAYoUS+zNg*9unO)W`MIH}b;MAE6Gj8w!G!SrUUQy+?Gqr|AiZ3$RRlUBFY zAqWf(fjkVU&8U!K$>5 zy1gE&->4n(s$C9;iNiu#l|iYm^)z%=%w{y(IF=|R^3*0n$8(ZY$T!oJ$WR8+VpPf+ zivqWjQ-datXt((NdY{&%3E`#n7-xYZ;o9*OQdHdbvL~J>g+K8{V z@G7n41f^WldNmQV!(onEkDfU-GdMpR9UL(P^rDwgRd|tW7xYq|%GFkS6pK;i2AikF zOgmMIi`N;poRW%h24gs5-UyM$X|!fL#kU~dm6P-Z`K$rWDxJ^ zt(dlllbGJ5A(TeF!_dPejA(Z0CRIzoAjHCMCebKjnO2wC>5^H!mLRLMvo+D28xxQba)*<*U4M@X2V8*=#F zq{^u`2ki!nA*>&?TEia9hZQXZAt`gETBDr+t16aaO)lHaussT+da?(T6;6z^kdlY= z5J8*>_zfYK(Wy464R$T2k~A6_Q{sG;rE`s9CLJ$t7MiJQwp7fEN=_wKM5XM+1dCT~ zvY0V~)UawbXE1fOJZ2S57;o2Ok{Ro12uxqrODe{y?Xr}nM)Pb{*v_&Xo1!b_bg9tF zby=A$am}5cMa0Y|(i~J7G{J~}BxrE?f?>jHCGA?tz$^KZD7JVQ4Ws9}n1D45m}tQy zy#TbO$M;%-k!#9I4r4K)QOjUB*F{^`g@7A)PWk___m!6b!2pd^OKGsF+S(c& z9=+KD7(5oF7jghF5a$6fcodOI)g$~zxiF9!4F+IK1hWeVARreqkncA^){DL?KT?SKAX*{^*9|q zp9eJB0E@#5pj4Q0&d6&xD6(c z-sz8VZGL(@Mzd9IF@i1^+U9qx0L+WTAn9n2U-u9W!uddW0KDpjOb`_SVEDitPao)C z)&Lj+LIpY_nye7uHo0Ivm)qd+N2^*7=tBTL$iKhTNM;Wjw%Rs_Q5aoPN{6LdLzFwpC#((i-; z3=Bl!J#HTi37{}Y9Ed?td_)ogj>AC^;CFQa@GE5TxdLr{+-94_Iynw|Y zMgdTu;27q2PaZggM519Xc%a`55&^*679dbbkM>U{IDmo!_&~2$91)E{5{L-D`|zK@ zWc4|%e(!GeSd9+7&8YU;9Dz2HFdqVjN1@OJ5{4P*FUzH%FbIH1L7^Zo;Bi1kQ=qMf z#^tg=4*x{-dn1_Jg@nW4ewlj_fwr9h00H@XJbZA@_gUjmyAehHvbNEGyzyolf4-Ny7fCmLf zK@bXXIS?=i-GLWI`UgjozyKl`0DMR{2!JrRUm-Bie@2ggkN{c<<^df}8_ehQIBia| z%Lh4}POqN`7#L6m21!9t$!G!wB>EMK^xH+C$_a)592TF$>~;qFDqP0290oGB`y5AqRkG!6}55Prk(f&sKE3V;Xbg3u7oPazzR zM){=;4>a}jYX%;GQU}_2noVY_(_-_l#Qrxw?KUU?&o!cinuHtI8~4T={Gx{UuOV_1OqM;6~OGlkTCyb@qa{M z&>%j5f%DHuzc)q%Hu@RwKs-V2Kmmx$;SYQK`ZC)BfKa#F?fV6+3v};?!w@JCg~6l! za|Mke;7}cXSpD|l-vx$A0^T1HO(uAb6niK5z>-&_%%K_4sFm*Do=T+u;c`{euGSMf@HR=@$|j zUR3uuy@Weu1puF#i~S)&j!!`5hz_=&9p(!azVEfjho__We%L+kq4epe#D@h%ops zl?12{dSz!F*tsj)uKH=pQs^pwCzU!`y*F?Lhs(J3xl00MgvApSuID2>b$?!a4-{>(2MDS8sYW`~^xY_0=;(J@>=Y=MGD_pfT10J1Tl z;2$(;2Tlzcu&54Hm!I2T7}$U0`3sZLA(eoM{=)19Q~>5HK^<7tf9K~{Mzlj`fx-Uu+kZ+{bR71t?EAlx4gV==)FCC< zzmxEf)c$uFng2HQfBo&B4gdAne|`VO8T3D8d;VLVw*#;D-%=(2Gj0Fj^Z)ad@h>3N ze~`rg`SA}Wzf}5vgB$%1!~Nn3`j_SXe<%s||3CiU_Xwm9qdEh?l-X<6EtU*jw|MRB z)oUb)fRhUV6T1HTqxh}yf&bDX@Z0|`5ov`gq4N+0S_N$Z-h+qGHK+~VxyElE9L`BQ z&xoRwkv?FqqA#OfAnOs=kfTxYm{#meEDL3Zi+$IPr4_$9KXLal-?~OAiyHNHF^H}b zHRY?bf8Fw`0)wky@{h$0$BZ({--JWXsOE7vE%_&Iu4-I)QB!vl0bD^L(3dd{q&Qfq zdzH5l){gYyTX1doO%xZgI}wRagt-w%3Cq1u-Hm23bUw%?Xh(mwOl;jLo2Be-oZ{H+ zI_#K2FYR(y6ajnIK&&}ze~#;leqXt}0d9O17r&@(z;yb~qQS@I_ao|i^Frp)|57IZ zh32=6tBrDba6@@YkvP~Kwo5RH`-akh>5KnBy~Z9$3u5OHcG53!=M%Bk2X$qQy^;GF z?c@RQO#684&sHC4M-VUkdX4Lr@(I26C<7^Yh%QyoDKX4K?q|fM8r9|0*NrtZaor;4 zbL75{a!&0T8QPd=q1wI5KQ+~+Lx@NCpTsVX)A~fyIA;)ogBp#{A*bVB;j;=lW%tZgLGSU*m0T2 zOz`x{>M=a7GI%ntyU=Yt>mDMGjVe)XVwPQ%LgL_eG?Px`Kdxm^o zd#_fBQU_I6Bv69wiA_lpsFh_4(4#2YRRp=R*onZmVd22SdMDm zsJ2@w?U24ffmTzLL*?z(+4R*Bzca1Y?{8{KwyKKAQ6Z3U9_KguJYAT4=sSo=p9GlXvq4*ZWzYxbcG#aLeFj`qKzh~MsRY@Q;(kWkMDl>AjGry_#$ z*%bUa#nO@+<=Kh^7XsHt7>WynKlB^}vw+*kuCPYvlonHwsF?sXv1bN(Xsg^NBTfIz zSc#8|o)<3SF65ckegK7CuLSLtBEojAd|N z%k&0FRftTcd`C%q!))PtpQhEsGj7on)p5||s7iKkTB=T^l<0=Qz9W)Jv+!Qx6mL1) z;QbxG!kAG|Uy4;($;sj=)L|Z}^6!Rywc%~OjME*t99w)l?<;zdBB>3f*rlFa{;?Hj zvoOvD<)CI-o7DYU+3L57PI|P{2Ac%jAg+io33k$+=<(|Q`h{RIeY9`|uay0q(gimL z!9~48hY?~ZP2PrDocRe9)FXZD%9!c;=GT)yS7}h3s)!@pyZE<~R>5ZcSgTH!rCS2^ zz$FmG%mMIojoWMHD_W7Ws5;b2)n!>wtJNeHjR@ID&(SwGvt=@1Hlm5RLE$V6l~D;{ zgTBWu;5Iccu1RXf0dX34{@v)3 z;O1PQmWigFL4UVP^n{kjjpfbz%!%x+VP`mO_pm0{`;BF{RZ`3~I*)Axs6MYD6u&q4 zIeiqer=!L?8VlGjG=H`dFrB5(LidrwIWOWH#C_Pkto2U1uLt!JKPq&D^ocl?L!ogg zV@S^l(WKqvDEb@DJFb(pi98ulHKw-Vzy#(a&Tg>Ti8Vzz&vSc*?m zoO*y<>5Zvr&dsSBVq1naB6IZN@UKkqn1?x|j4##s1_v4|?7~g$u8dCSEOU0XzE@5usnmLb z-@@m`Y!fZR>b={{;|*_oM^QRVCTgAl-`f?ojUVReS@G%98re25HmoQrMufs&asE&$ zW#4tnXm5j=lc*Rd$klAjG+-?zC}QceYJY=vBkC$8{rAQtdl^tL2sR zv^&(JfTuDNLKhL$_0q~)%Je>Ev$6eq1xqm+Xe^5-930#f;f$RW85C-bSQ&FM-WfJM z#1j-6f{QAP?i|%1-Y<%m9;VKfN%a6kB`RvG0`KD0GmdCpvDd~6$` zA7ggdV&Hj*b*^t_j^VcTq2nu->auJ@pbu7P+j$f=9?)WGxTD_RbzhB%i8<`uyjW~q9(4M)byxjBI>7DORe+F ztwA>4R~Pz{v0rJ8WHja;GMEs9v*Ih^W08}vE6K~a3z%Q1OGwMe(X$6{<1gg7H4^n=>vlhcXNfM8)bK?8>O*y zM$m}R5ZViLgWYGT@N6ay=Ln_W1ya5Tv7>xgoy0v`x;cClrH}iYzL)uf=OX0w)LCDe z&pY>n^U;l%1Lzg7!{AnTFW)EkdMDC$&%FxD#P-70(}&l9#GR7!##89jl>~7|M=RXscMY#QKVcbxrPuaZL~FCRYFU zvrGBwx{r;UTU<4k%9l0!n`W!tsVRy*ExY|bR;}(~9BzJK+GVwv#m-Td=iX9k7fBG^ z>DX=^hkQ-{A&CqIg0SLb;SGK#b{%sMmm=neBnG2Gz6Jd)E*AC^rVBUowzA#4n;e4p zcWSX2Vylxe=6_AiFlrtOyL&RnmWN)G!*pW=JbplIRd94>vOxCpv<8@r7Q zLHPEyO)ct<-`VUQ>G$RJxV)R-`P>-oZ=X7>8V>U+bBO` z90N@8Nr4of7rN{7xmuiUE|)XZxdnzs^C{`{d$jZTYRoglF8n#%chVNZQ(8Rb2w&N0 zTHmCI!Y8-dBTCH3qf1BR^F5lSVVhRYiLNYi#v|hmD!&c&3`Ct z;;vv7Q1+9$kt@lg&^FvS*S(5wwfB^vXeVwzFhjLnzN7|M)u{&E*0)6F|Xmb z*g39GxI_^)Y;i<#*fIfyokY9Nva_%8=`13BB(g-l)?$SEh3SW5dLI%|JyE(@rh4xX zawg{vAH!|(oveCPe^O1s9%1ltLtS@`g~~V$Ql-)lvEDPsnkoz=Q<+w$ zm`ZJ>9cDFh>p7SC0tSl;Lq9~0!~TWaMD9+TM?k?IDnd1*z~_`|jLj2n8lc&v;%N36 z;`Iv+DaNC=5W^_vMSM5XA7BsJr%U!BZ;jv6y+wROJ*09~J)!lGXBF-qX$uV? zSKzzA|8#%$o_2474S>(W%dma$A;^uGNls-|v22Zb04Wjhhngop=Nx7k-2ok=r^R|ro?g;Xue%elhMWc6pUs5sulnC5|VdVb_RL~h5*c^{*u zciIyj5_w;GEu=!~5Uv*gkem>&6RqG+5!7%w+@XwnbTf4)9Ye=aGVmJAOmsGej(CZP z@-!$p1!t_QAr3EuTCtK%mTi+XJZnAZ^q^)Jnr-}dTr!y;eUh*!?%Yz!bV5fqf-)h zC8WikkIa((9ULF#j2s@hIQ&EiF$5-TBEH3UihMrgaHl>*lXr~Mj9f`oGrm)sNrMQ% zNEZl)<%26#+`LbfhfQkSck~P=S*~l$tS_vMYW~qOx_LsoSHV@Wm9dJa?X#LF%?XXs zt+}#b<#FW))hyLS^&36c*^_tyQ6`64SLrSyHlxRpO$0tUgg6bq4P{4mT|*weL;m>{RCm`)=C; z>paV5^BvP9txTDv#+de7GR=P&EQVx#hJLzkhhc*M>JtEjOegS{^1R0FB4ZNBQ>bI; z7UBeg9NibY9(NLdny{VdC1=y$QrXmgq!)z!=x!J`j^22yb-#G`Rgdt_U88jThD7nt#^aZ;Gvl*W7OD-#$l^ zXn(@kKpE>bwymx$S1N5d-#)}PR5gAh5r@4C9dSNzy@NTh47`}qg^b4!$MwKW#gmAa zNOW=@F^=>azmJlHA{bgUC|JJmdXPPNQ!oJA{PFPf+xcSD9>GWEaq<`69p@MI0r{)e zFx?&d5a59~7ct5=$+O7(!#L3FaDHAqE?UqI&R-m+lSleK#icJHZn61zHdKeHx!yN_>V-z$_)y;Co?OkQTg*5a!_AZ{;rDAgc}|iEau0iE0z$G)po}|$ox^YqKZ)4*?OADM7*%h zZ5>dzv|&u!W91+8N?c^yqD@P!+Ga(=ugiiXPV`lwch^JbJQn>zJR${ zHD^{#Ib)I|+H;!tIe12lJML1<>Zl_j6T{wyB!<<5+zkE_QV^XQH#`1ZbXM4WsZE*^ zQWrKnTpYGPND(?yNXM&b<%t{nx|5y|=6DfcPt;p#Z_)zlK9UljgSZCX2O53b0g7ju zmE5`~59aP}nd>^C98wdjn5#La5H^@=PPf{dI0}8cOm1%&Z+}VdjLK_Ly!iasSN7Ci zL%NO26^`bWc)`}2xp_@`OJDR=ERRB^)zG(L_^<`89Y7geP7ssUQ0L)p(;Q46=L^M! zQNsYjB;rbXK6qO}bTwmFkL zdtKqK(0%#)!2Q~St}XM3KhWD9S9)?N#gwef{XBJXxB;DZ5--qqd@h5YL>6 z^{-08>PDMh0EaM(Vad>T<7@pXi`DIhZo&71dtsM=OoSWAM=pgeKvu&U7%n0gyA}qZ z8|@jj{pBx>b?AO91AGi>sni7Zs!05>^~Xlf0#Pr{VzkK7O$C#cE5~SyY|os(dmj5z zJgKe;o^F=UrgWRzKH5DM7z9g)V^N#2HJGEgJP_?B`lOhyjB@5Q#so@l++_R=l8`!- zd4#=TgvzK~mjKSb9iy-4^N*F!o@ z=ww3NdqTIwD#Q!B3bu;yd=>jXwTyCvbcM2&_y^?#Mr+^KqBN|G#jn~YN9h*!J%SC11lKiae6+>+*aJd~J+go?1dO+RW z*3|YC`R_`#YQBb~ULZGV4C-gPY7^U(Z3;J?HO5#@TZg$6E;O*#aRv>KxD&G?!iFR} zULdO2Bcwl~l@a@*!y>(5sL(#aSA#ggD?$!L)y1|XjEvbB9Tmn4*&Mts+!;PDYEzgd zq)S9jxFu*EbDn4)S0VYy=tBQUrO}s=N0ELf9>KlCu13#6f~ZxfkePt-7~?72rYrXQhp zrTj%5M;SvV(~fa>(vopo!SxUx(G|W7n(p;@|AsmP`Mx<0so|{ZxO}t1T^sxTVZNYp zur|~{ZCzgaTlyd0h3UQWUgv)-PARhgu;z5ldYuC=H0PblKcACaaH}Fibz94=Fnm3c z(^NCm5NN{CmwY#w+u4%vYc~vb^q-_`<}t_z#lLiblCIVQQ~^;c?_(;j7N_| z9EH6HAaEs$f}V~P6VrtY<4nAT@Dr#c@(_Utyye?Ksu9fZ+$*t4n!&t9+DuqQDxjF;af;IsQDBceSt8w)0?j2BgUeZ zIEctjoIBE@P`z}V#3WqL-oYHke!vW73+W}m5M`$65rH8(!$?AjoL_8bEUC71ONjZT z{Vp679H)MQRmkVnx5|cCMc#ghbZ>)wx9PT4q|f$W>9lIA6luz{`dQ|`O`~-i)MCR9 zeV#T()hdft2vm#p!CJc7B)_X1rTa@$ujaL_FFTcusV%g-%mys=D_jcHL@B-o> zsKFB@Pa|fs96%LZLpdHaGiGAkkr-Xn&alYP*YylAw+LEo_(c zM98WzFnny#F-fC%SLoLeotVJgz_>|oq8S+fioQDGuAq_FOJJ>~cjGMcuefi7W?|EA z&wX-NHZPYqQy>vFg4U{xs>e=QXp`8iU<>L{Dl>&iP!%Fo$Bs zA`~V@>zW!$ePY`a)oo3!YO}_o{Y{@@xMsYdd!~&uILtpBk&g3rgXy?=k&WwF2(x)7 zdU5_J_c7)LJ_k1pJ_JM}<4KiNGtEdvQ_#tHyGDSKZ(GH)fq>fMbyJDU<>XhIN6;p#=aEu??{WosOX3Uic=;YFnO}Cel(_ zWc(FCWbbRaVT4(>xz>6fxkh+0ynJXp&<%=lEw^i&NuFC!3Tzsp5wQ<6gF?g-Yz{*v zxKHTh9EysfT?_3UQ5X6ba)53;d=slWZffXz!5#8o;$P(X)Hr$pV<^kOIL{fx9Ke`N zPoedptYlqcRx=h+hmuYaBFV)BGif4uDCsMXLoCMEQomzPB5gbnp zmdxA}ArIXj%!O;!#~p9*tPqXlAgw3Bb)JDzVH4nQV7-A;elPG0_8c7Q$-=-SyIEq) zX~Poj2*U-?iCBj}j+}z_xOcm@+Cp5(?g5?@=VaGeC)z7>lI$zYcGDpf);7n{&-Tr< zSJ%VvS|4kO*CI8k%9-sIb%%22l%iU<*ly{*wOlQ`SJF_lt%O{VQReyituC#;s_to( zr6#4awPIXFV`W5bUE|iKgqFw6$hMK~LF((;22GrXq)XFpwJoss^ltRzqfCMv?tFZW zd5ZTF9xsXsoe(}FG&~$DPLafj=Sg-3?UtSoS{D8yGB|c%^wNm*;JG2sq=Q2}K|awA z{-q#ZNL|PSQ8{Nny&Gc^Z5-y3I0gbIHg4Sq?FlL*k_$_OrZn}1=Cc|{WJk9dReAp_mWw_?KXF?ia5A?`A z9!Tfh*Ywle(FK=MRvaGo| zUkhdwwG|x6pO6R3LFXCsva=87a56Xjh|M#Uo^E}uk~J<#BNiR1@wA00vi&R7Z`LAR zmSKr{n4wUYV*Slh>8$r$hO&JJp-tWz*l?Hvu@gQ8{T%#>yY3q#E3Lh&9*H-w1&o(q zqY2W_(WY3Yn)*2~E}3r@fQ4qe2fKP&Lu^i4p7*t{5xfBSNARpderBH$zn~8?%j^dc z&)A$uJ#Cm-4Sj{Pf`1P$;xEAUMo&j{CQP7jXYQwuVLqovGk?;zvLhH=Vmx6AF$j5M6!BupU?Nhe5L(mql!=`tmRkw?8x zo`WyJO~5}T@=5QA<=CZ!SL8(uG$j*jgm**9Q6nfzLkg32NG73lmgT-;LK}CGfY0m7 zSWY`e48rn}<54Tnt1$b~(=iv(hmeu5b&wM};rq+;#%Z#9Z2PTq?P2zM^LOnzXX0axo|En>78m%!E8={`o>w*|QRKp*mlg7xm*o z-kPGeQe?&1ikRw24fpDYHk_)HG`y=D+Hyvoqcs`3TOv#cZ8T^GwJVnd-O+~FhvBDl zwu$csT?y_lx+xHdG6i1Y*r4&!KEVsa6Qg%U-H7-RIym%67%zNVcyRbQX|o8F28FK* zI}s8s4CRseJ$W0si`Y3V2J<*0f{vsz$YY4F@yWP(m<05F#c(}zy|o{18s0J zwu!itL?vIPu&6U=-)Vap8LWBS2!6Vty9govcq;zoR)H&VXN!DYEQ+=ACzo)Mnl%UoV^A3 z{5b_t`4u^JdBPvV)Ay%!OP`!IKDX#cZLy~@PZd-CBWuBr{lyO&kG5~q2@GeA$F&M& zzM@q9Nh34Fn6KD;u48Vxf9>h(vUxuEoWL^x4*mvP?Yrs_Ytm(6Xa^f0U4ago7O78Y z59r4l4W=3P*N#6uo4jjWuk2l{dJ|-sh+8sHa z+c{`LgdF|RV6?C?8zeV^0ltQqil2*}iho0yKr5ner2S3LXB0AfQ0GxD67ZBK%oVJe zjK0)?#B5?eQXlGGQZ#8QHjkhoXV8*qa&iW-48IAVhkr;|Pkc#K6W_Z-g`JnZ{1^<=(X73Fr-u{Q{yK8{mX+EYcR=Jh^HAc+| z?P^7ue0J-C##@z8*32J2>w@*kt*fe@<&Mu>_pLQUnbTG_qa6KnX7RwH{)IrvuEK#u z<4e~5d{fiZAZqxleq;@-?s{Wh8^7&iTaEHJt=9C+EU|wz4RfC+wu<|aH`qs7{stjN zi)2Rl!qBV1-$Xqnts=hUUg(1`RWLJnZp6>%wK3nKq9R^|4-UT{J}P`k$e&`O0g9@RzV3RR?{TCqv_QQvNkwr#OqGRIi*>>)0%ccn++kwNp}$1&G& z$@piu-h|u4ZB#nrFr$pwmE~gh;0+X<6OI-w6ax~ugc`I&+7$Fb!W7StA|)%r;yX7D z?%gGbJCgZTd@6oT5~a)EN!6V#apxmHgd_*|6t9*{6i=262wE<=B}n3yFog8uR1TF# ziX;rdyhkOXl}IL_c5|(8+a7b8>6m7&2`PV2*ewJ9GhTr?uFQG!y)nHa^ICS_ zAMbL>`IWgJf4t7h%e?Vjp585;n>#hTy6m2AiwUbZoJab$Gxv`gYYWz}*mTnJMAxPn ztp2KD>Ao0gR*vI|rxG~f>krNL_5eNu4#XgME9yR&h;Mg@>n_Vlrc}}_nhw3fS7=Q% zml#IcCtAh!FOC>*iti(|&@H>;d$6{AUacpMsx6tq>*!PoOR}-LQ$k{q*OoapKp4)67gsRRSN#o@R543VQ5clFR9}#u2Tys^YYG=ff3|L2^~!p3b5Gd_g-X#?ZqU}~5RT~<0I3RoCGN(kbWb*Y1aNe%XmRMQ z@N=Q>CH=%_B{RgT5JPxP#I&#rp}5G0k-KAj(PyI~qp~8GMXryCiAV^!7ThJQAS5sR zi}a~vq~H@jo_CKoliP)}ij~BOp#7vgAay2A#)sgdF_owYBn2@T#DK@)Ghq{;Dehg4 z7Rw0RTibodD920NVq3lQrd4O|qf0TY(M_-}QIbkd70@ajh9&M~N4@e#-Qt?$s?Y{q zV}9EZ+3zZbGC>um0IVcxHHPu7^+_s6xB2Q?Y97 z3V-bPH+cx{Dc#06#hAo8%el^5#^(#ug=r##h$ZPQQA#NO^{R*Hg47c&OzzWXgT%#H z#~B`>O4#2iJkb|tO}G&KF>IvNCix=1DY`D4Dd`-vMCjz6XMUsg_VfCj>TQAd5WEETcnHL&Lv{STHjYL(}wyt_|hBN=GQr*6(_D&umec`w4w5#7zvKsS} zbF*?*WOvINpFJ{TZhH5O?O8{2j3qSLOWn2R*J(Sx+$kZoc9&J_)*CC#PmFK$T5YPH zrsJ5tSs6~TuK~aUdB8_s9c(#BK%GXuMQ0%&U}dlY#vs)d1DEuP*NDbk4ChUs09XTi1RjI!^j~*;cO3S3AR)X2F%r=ZUV#DNCdBW+P(&W067S&AyA2Xx z6epTA7M?_tP!_Eb4yUdo8Yo%ByOe?STg-fRIyaRcEqu-&N!v@m!FbGFD$sE6vd{Xx zS0b-ic!o=$&htkK$Cx3!(OfM1JpCONK{-I7P_|K;DElbK$wSB&DJ|q&(gi{Yei0r? z-bLz;e}I%D&LJJxK^QdUkt9FdD_8;dI>J3Ui0g#!^gg`F3=c_!`x`k05d=qqa2OXj z4^D+Y1c&=ZxxPE5*fq8^>r2a86J$`EUB+E{nRcIYzHCX0u4O^%JQ+-Op!Igs%LaX& zv-Uz|*FxrpH)&fNovQs!FN?>dz5Gf~JC?Jy@KOGV!i*w*$@tP0Wy?!bN}iOvYaZ1e zuCJ_}R(HGcW=oK4iSmg0vT~MMp`%;c92u^So?eJXMoQ=_UKs3^?EvaAZ;$j&WMOn= zBq?G=m@+&$5)%;;DUIkJ{x0rA{HCPai8ZlNv4>)u(c5B>F)yEkFS;c(3+Vir+#jr!jFGfp>P)hP_y|7<7lV0=nu~k|j{#4?I>Yk-xqm(0ZAr4y z>{*Thjv8B?xxiXy>u+6eY|`!5%rab2I4i4)uPfF%{%|MjF4wQA-C8}kwykbl^W^s9 zvd8kLiVXP$MWsBu{hoY>N~Bw8oNoaw(=7|kwU%uAJEz4S`R|N>m~ICh8aD6dmA)vt#J@X~|RvIhmM^Yek!oOEG;B z1A&vS92>{B(Ynnj*X_{Kv0oSEMD(}%S5Z{n;k z+1-CMXLEmKX6EG(vbtp&(*_qTZS7~CQtkX!^x0f8pe@ue%CuN>UDZ$XUQ5vrGt4tC zFojxg+fAOE-rbPVw+_-mS@02vTc~MBI!1~`5t2|Zor&5};A&Pm-GmPI_O-9GGVHtE z2cU1jGVc;kBs3m=0ht5b^P1f|y+43$NFgc}i9tRC?QjM1C~`FX8Ttfite~JrRO~dG z2@n~#DKNl3!GvzbJv~uXEP&jIo<Y~ZM~L>Z_AoCpRxlG;{W&+-TIMAB zb=D@HhSNkXC#dn?2q^Lf8k?TSh@obXvj}quf8h0m&G-tqmH3hf;$njP)bslpz|UNafeIbg)m#lvzX`T?@9fL3cQ4vkIlt&LCk`mh3>-k z!L8sTnAqoWm%7rO1&(yv3hNKk5lf17lxd8{V21Y+FQ1NPp2X z;X}bx;Riva;1oBS6U*#PPp1@+V~HX{BNp&`@ViJ9{4tmVy@$<&Wk62%FdJy0*;ZSZ zI}5EtY$uIo>l|x?B~3R_)82G2$6Xqt#KF%yG8D6GGAielH`P|wcWNzd`(0*jis*624G*{W}fMVdX@Q9&wB(mm?zhJACw|C zA^RiFpwD4IL=|+>JHQu$Y(>w(oktBrM_|uk=$K1r45k6K2Q>jdpNOUprcGdU@$;&t zrcex&6^tB~n#1IU@DFl#u+!PAxl8#&g~tThg0nmu8_B)Sdnni^8Yk>2DEG%L<=kA( zcUB9tD|g@2W`B*le)Y7c#ENVSBtlKT}x~;ys2Nq@cMqWDYf-g6KnTY zB%(6w{$Lx?-ZXAKP;gs4jp|uMi66--<`N1x_7uP zs6pIUTqOQYTqY{#w{e%UW0+F<5GtR1mzay^rf|AO(%k33q~hs}*bC zW!KreTEi_0NKr?b-4OO`Ud@u1Y5{EU@rw_w4;_3ruWBvwJOkJz^H}Fk&R~Pjnxw5x1YH zC()>Ix{Ni4mCOETN!a!nkH$Am>TswdQ((E zY*Ac$?1E@XBqcl{bh0#0GG1~is8u8u?%{9dhH-W>(exb37g7tM6W)#Up+gbJU|k`) z_q6jj+emY;>7l+_wYMq0!qk?f^J-=`9R3+!G&VOcPg=JqO%svg$-rk$rBXXvU=(5zApQKf1w>pmMtnY31p zJI5X2KIh`Q0~JGYlK)yUlmxiR0I-t%>n~6-qJFv@*4Ne43I(z=6fPfI zv#9QE_&b`SHb^xau157$uPzhzOc^{@6Z5mZern}(0wFOCo7CFE8?Nr~^`A@ox8cwt-UV8d+H z0ba4>s%NWWw`H`m8rlwa^%xvc)>-bK;FDMnbz5_ju8usP7s7jk{KK^F3!^PqOlM@9 zHp2%|9$5CvZ)mb=ij6BtcM*{suKAC`XjQoTlAYsy=5!cNX_ofI=VOL51q{ywC z;2UTsq%R^8WMwr@esgSXOhKPZgkuVwW2d!PvZa@uRb(0D+Zx|J`fuz}QiFf~H89t~ zmNipx$3yQ6R&-j1+0$-;Qf&ZDK(fERtq-~TIrkjbiRZ-Mp-u-F6?K{8aQb3 z2hWz=GiPyY2`$*$=GJ8vj?4rE5r_?$I+$}ekZ;qr!d*fBRo4d zg2^XNrkoKy;xEL_zze;?+Uu|xyexOuw#}{STC@6`#$jzTFP5Kbx*#h=PKxRW&_0zF zZo+pC*(Ev+Kb{_4H9c4_q2Ug>+^){-v%_k`kgzD){h+7exTuTN%erXtwYdF>Q@d=^ zCS~m9ESh&M#;8tnCt!EePttd2Z`OB1|0La0qZ;4_qheFrXIWPnN+!W}Cvd7K{hVc8 z0CYlH>Q0rv>_HL?tH#$4Gp&X>aa;6LEM!zl$>riAU%L0AVryLl9aI;*-l81SH)UH>?M~h&?u-}Bw~kqF0986_)gK%AvJS&t&DT~$vs^h- zJDjpyG3fmQ!x!RM^nB1i-s8S^pb>B|;aF{HTWP(&&g0Mwn}!fb{SwR`%bS5{PkvsV>9zv96xp|w+mqg{vZPx+a38^dz8G9 zcM8}yI3E-TBY^sPFZfBo?gVdEF6Nrv>u;bX2wKT@lerU3*eMdBmb#}~gT4ds9taLX z6ldYRvM%#Zpl0&p`BCBugdLVbQW7eOI-(X<2)%(jh}#aAzzvWUkV}B;kdu*J&Ue2) z89zc*c7sZ0;C}M_O!U>eW+``6Uu~?Go>fqkCoNoKg$++Q2F=zT4ybUq=!-FDF(7)O zV~;x~7AtB+r3PZbv(qkh9Y=a5-)z`I)FjL<{>Ja>*x^azAB~;HJWV)4)S~vFiU==B ztK~M?XOtRMY%2teLoUxAJ+cP@gOoEasvuLt%+>+QN6do zx6lPRWzb1~MyuDoDZgq9k{bbNbARQ(CL(fOd_N!l`{i#0%UJd&AQf^JZ>(#6ay__Y zcHeB2Od#2X+rvy{Y-WJ5Q^CcsGTKt!Im#(y5IA4b#m3}+A%1sx#6rvT!16%5wZ zTdXY4AiJ43o3s!?WQEjAzqO~!$pcYxmuT1_E zcadUe@feq}OX=%`4%S@kK6DgcLHth0$324$23#+H+V+;R5EGI$)J$xA)0!@`DZ5I0 zww5(NY5ghQBChOwArVNQ$Y+>JQJK`C+SGq1OMmr<>9IPxM*SRC$2}|D#U8JJ8CsmE zNE}^U&z$eP4L&9rD^O2v8ynd&O|0uqH3#ViC}h@1d-AeS;vQO{$$V5S1< z!f1sW`XRm)fKv1I+0L$!P5>u{5bk)WYU#~KqH2vxwO@3q_h~ zdJXX}rI z*9VJ<2-KYDzN(U1Ow6S^|Ia~2V_t*T)yhd?Xx>>iw@K7^Dou!R2 zf=t`&v)zS0sh0=70T^W!WpBtX4tEP5VLwV8mby_C#P|)}6Gp6ARge)S0GDwk$-RU( z*iSgUQR6$buGr+sedeHUHRKu>MkUyNm`Z5GUETh-2HLiy@n%Q7pNwX{ zo_T|0$Fo1NH)_t7<1NMT&x8teLnzI2G}@oQ$DhPVvFC9g!RYX1c@W%PI2nXAdn}AV z-~Tv?>`^#R`JP5k1+qO__Y2RM?lSlr0l0pbB4?m_Wjaq^~irxo^m`U>i}%ln_1w z-3Xio6#8@h$-t68t#L?MhGGkFmU48}__AU3%j+iA0Xi)D{(pM@dL`TIeMe;5bbqIJ zt`7hRY;;k8Du z$idKtpa?RUh7grUU7j_HHKMEQmSmi;C_)k5=EP4K$K#z0Br}WphjoXq=kBA{U@eFl zV7vUDaU$UkxQA++*dmQpC1_u&ZU!@Pd7Z->DlOH4M#IpGZtA08mG*4=Ly5qA%Lz2C zBJ>g5w#+reB7RY*#Jd<3Vi+V9W+pkA6A2*XQ}}EQoLEn|ObXx!2Xw|!lnUGd!zkTZ z%VftqTZgTejcHJ6>?XBit0mdg-EzngGUq$Pfd0S)|C(qPpbGE;K2mf(BM2>zzDlgh z@}_~~Afi{It)jyCiquzeAE@o@CBj`XX;cPv8VQD400ki|Fl`hT*yP>nUg{v&9vbVV zH(qY3i;vXHAC^yaj!}$%z4WxU?ON`l7VL4__q*&V#GB2?@+`w_|B}E7z+z}=!^N1cSD-#0eIB=%@h;fg)ZG)r<`MM7mskhb=jTJ-ac;1~s14{asVk+bPg}N~ zG@Y1}i0^i#dum4i|31c(^o$HznmNJ9{mNV<*q$_$bBy$cAj05*jiAo((T3sb+t5Pm z;I{46r49V{{jG4{V8AU&(N}h7j;`f}tMN-X!4xR(_4l*%hPhF3*N-5C(y@ACvEj#;_H< zTG5TThl$JMnYO*WkWgLRqSM6#f-B8H>!$WHL-NJDU!PwHOmcxs!ctod`LgUVcl zpIeVSz5Qm1>?~lVdP~KKkDedg9xq-}5HS4KGXR;vdq+4|D<9@BU+j+ zPH$U=L|Z0(W7PF8OaB$opnNXX_kYtWT+%h>(Z(s-jrJPa5xhlyJh+fJm{^MUqUi9w zn0|}{EGHF7xPy%|S<38S>WDiKD(GGVNALe{E{ztL+@vNLu9|zgepsjL5XzUD zV&hWNNu$#gwBKj}o3$jkcPv!I%zDW=#Y)xj0 zq}&Ko#honJz{W5WXwPvE&;!xs@D-4rKw-Ft-|D70AKFrkLpm?<4lrwfeg6KjzU}q5 z`oH$ystFZCzOn;-T<7Z+H#M35xc3@U3}XV@yc|c1>s_=kbj3GW#X$-0?>j$10|$zRES&1_@UQc|P3whZWfbceZL$K1AV^4qeQj;c07+xYrn z_3xUGHSDNg+kC!dM&q0ofa-_xfrPK{7)Bv?z`x0_+n(SqQ-9*1=pX2b$T!%XR3q&R zxs-IDGzobK{e-xMG6LlQdO=dx?ADH&6&w7;bmJuf5|e;*s2oh z7pcFr_EHWtw&)twLd`tgX!R?@H2X6%)(E$Zvh8l(TR#v80<6-qIs)o}Hj;O`SOcwtnSp(ANfZ~l2Vo-1!1M7|@V)$Dar1j@A9#|tCGJ_Tt3$nm4tBqlZ7Ukv z`$xA01x-2Q(;W%EBxBM+zKI2Ae6Tb-8|Vw*^ECm*<6yzLwfYXJG%U#WwDCS*Hw4JZLP3V;F?AoW-`@&j}osup63 zZidjXe#p?!p5R^6q1s;7S;#x~q$YY$nxgx#vn|Ujqtsvpef#e-%Atw>vJie5xN^kyyQ|^+G+Z!e3EPbG33? z{jtuX_V~K+G`(B9!`>sX-@i0C zFQNh*0=2M5XPgJUg~1Yz<)mciCyz}&pVA{WAr+hzm$^Gp8>>h>l-x6}C|)6$!FWg> zP4!ZYghl8Nuvy?LKuP3WFwQsGdBZx$)!Y4{ne%57Gn<@SyQS=o{E~UCIoCKzU!?vh zf2g@>`(t+LmzY6zjVe;P%zFVdM_1JOOp$MxYcKL0@pkvOy88P~Q2?kJ)DN+Ra0gwA zj;Ca@%gMi4ec~s_J?B~lvh0SD@48IjVRQEN5A-4xzwRdOvMg_W4j?Z+5tO(yZC#>~ z^NhZVHjh}Q?Pm}YjzucfJ*7(|_D*4^QhcDLzIs$;QSH#?p>;ni4pg41t*BDf_v{dh z%UZFxTM;f|n`)D27or)nUi*cpt znqF+!VL2tP|N9%TIZTuB#96Yx`jK{^dyA{uqj!>h!=uB2{eYhl!*M6!0F0R`;0S2b zSc#(4xL84jNS?lKSVh+#G4FCe^y$;LZ}IX%dwy~5%$zQH&ys7C6=~xWAGBze3N#2$+I{iwPC~IjlHg;0N-IQk0ir5RnOUy!Y9z{kTKsb(Wfh`0p zqsoxXf88T>bhG@nyKKdJmPW4rqMog0=zUtZ+}k-^F+p=yeM4EQ?5n<_nV~(QJt#J!asm%uobW|ux9usgdO!1Q3&He3Lt|ZCEyl7LZn}KqOF&l4%riaE_1bv z5kr+1_49Ovs%H7vj)kf$(-a%r^4QSFe9H2|y(@euS{0;5Zb9OaO&C=2mkbhY6me8K zwV-bvGL@h7BlU55LB{KBL+XUMCGklq?-Paza)h(lTPRb>J;_ak5c(~Q4{nOqhob&h zo?HjSe8YOi{?+hRRjY)npQ=8oP1+rb1??ZDd(=DCb_H0`sQ9i*)=BmKs&)qNs`lCH>t4f&gL#%E8>s!sVPQu8x8F!ntLA4fN>m)!yt!p3Qi zx6EkDZ*6H~HL&Zm>KB#AR1K{f^_Nvns3O+JS5B$h-?T#03b2WNH45__z!X4daCZO_ zZjIgpmBA3u66h_&cEoYiG59k0N6=4T6?g;W7vMzXs;@1 z6KACyO#71o$O$FCjop%XJsFnJQ;;So;Y_C{lQCojVF`Kyn?TVjrsPd1>t?tm&%lG`A-VO=AGIE-3H#rm{ z1JD4o66|z4%h~Q*9ialsK{JptR1h(Yc%OBWeVdca%@y7dK@xW-Q*u;;9%T;`HgsPw z@YUegz0db}(se->Wfx}Nn{0e$c3MpWR!EKM$vMSL!Y>4gmA`bk*!;i%v7!ENUgs z%HpKyM9ULWQ}hX!1Z#OY+*Z!Bkn5kx!Ey-Y3R4Se* z2Pvx+hqZ~y-QvcMiHbc+oMM=~KyhB_Rozg3QC_bEG~>gA4L=%wH6D^bHFh_?G*?-l z*){exzSZHZ=u}W2!~)D@+PoT4YTWd z)vT=SS`jLjmUmR>DhE_wty$ghMY7QYm(8!W8rFnn0hQrp{I2Jk( z`2u|cK}4j&@X;**EbJs$5WN!=sLsi#@QuNAnXl!!^rG5h2x@<*UMsB9Bg%CKn)8+Q znPG`#ot5M54R`}s8QvX6Kp^NG+%DY8TuRC!_yuZQ?yauWtO;qtl*efY(r;u8P9Kv{ z6HiFFoyd$G&mGJ&vFxNQVgPT(j6~odozXv`p8l;Kj~#5TFg>tNF^*P&6up%diUj#e z)nN6qj#lvw*>uGUc}PA(QLiv5?ke6Xp1wF#mlSF>{An(!&yqJ97MV|)Pg-u_ZALBj9rp ze%OW3-bgESA@oKxGZe4>QfCP7ge=oPXf5vOqslSf(*0D@Ri%my#d_T@$4P5QpJ0L6 zU%3mzozZ=f_mNj%EUFuJE^0$+X|4jcoLHOEwMd*ZENySvE$4#qtit19_u-nI_T+ zZ)ZtbUH3M~Eg^+oM%-*5B3Eq5Bz#4_!3bBV!Vnr2hlUU~{brICGr zp3qYCUjzepnEs3v$Ek}!3AAyUiQAHBd7Yz%7JcD=?#3NN8M1W1N~0#$~Ve=x>(0)yU8%t^2b*08XhtO zH~>BX4SEl6B*c;SiTdUx)5XMoiSr72=O~iJsngOIrbpAar0e5D@mrGfl6r`syjN^5 zb0%#8X)~UU$wq8~Tmp;>qXI*`&zyZM%d9sn^EB&KTu70>OMSHcsV1r&qK>NGsB<(f z`C#=i!*u;=oyD+KH>qYybrp0H{C`seV-x@1)IbgZM*#p3@c&!?n;Phc1pJ@g|DPH_ z0$xWm!uOzCB2dc-%T#wi-(937$?pGaSwREE?PPQkxsct>iGg|DU_GC>>N^h+Dn(a$ zORyV5YB1b~u2BS@K>D`7tRl(2J6|)-xSpI7{Yob;h`!fUVI*2^^*}@e$4ICL$RQBO zC46somifAIFEbuw)$eg(LkHcZ@I{H;%IAMn3X(`ubtUGUzyrWS3=}%nH6L^(`&#<& zXfMI8%(V%JQWmCkkDC);muP{kj@X9AbiLs$gH^?JV80+YfzjdD;m#0KwfoI0W6-m# zI=$>y{Xz4I@Zj>pm-i)e$I*`Ft<7DT zGAb^Wzlhhw+D@8l=Ybk{uk3tzh2@Hu%-W@U+Pb;+^Iwu-I->P&`IQIFx$dRydH)u+ z|3I$wY;V3~`O)fV`WK`Md{Aae_md;MryfmUII@%+;M~R|!PlMBeBU-@<6ZfFzTOY=> zvP)bJ^Qixb=WpZ8svF>E=#Pe)wmRur!+cK<<0$Q66Ug(0whGkKfrTw0pJrL<(+N&o z5J9#mQBM9H@QwJflm?Fs(Ty3Uq`;qRA1VcSBJ>J*B&tdp-<~P!!#E2`?PwR@HhlDK z4WwGP=}l22ca)#*PsRVHjD#bl6OE6^Fp@vG(ET)gI=&*~dc*`O#5Xf;F?t2F^n`ds zpKdzmcQidC@q%kUa549mW8;S+2azKNAF@EP64V{bVL-b1Wb+8bDAE?wYpvS7(KP_O zlH1p|$#8lie_;x(VBS<&#Td3j^7`9Pqj z#r7AfX#-3MhIFK-8{2Q8o`#4Dv}};&cqB+~0&ds-#(o~E<|YJh&}5>$u`ehW?FZqg z>=O1T)DhSR@=Jn{KuBAj^*k!X-b_53M8lLQ;-HMNeJEtjCRjfIBnyb}!-?QDU?0>> z54d_cDk%J{K2sfS{8PmPUG{x$8ua&e8%>ccsgoU*ziwHoNhbHfKb4#^JqC7V|6~Xd z%}@a*H4l4gfe==c-<#G0IMfzQ zS2b9HB|zc*ox`;6EI<8^g;ycX^0OWheg=9JK<8gnKTW$b?^#^6j4mAt3vybB(*su< zn_CCq3t?>CaG6Or#bNe|y%a6nu-9Mc|Kh9-cB3IZfnW8IZGt}#H?%khp`OjS zoUxaJcYG>b(*J8zQ(Mb|j|LFFd%L;_mm*XUIgSGcj+a`yTF>EC^xTyjEVr zciltmC5T13#cT~mz(in-^JGJ&06KavvqMi)OItQY+&fKcx|Z6{2BVfGB7nx zG}f$i2Wj16HOwK#1npLO0(CpIz@P7!(2(R*XWaS1;g!Ry@SUV{Fv+h?E~drFgy{jKwiNhXu|KY!y~@nR(KCGnu^ zqU{O1ILU(qSU=JJO*jC~G8d%m8~7Ez!|}(_$PG_SBon0fB=@+Gl0#6q&L$fpbD?_S z%5`vwTN88`-1Qcr1}+Z`QAS~{v{UAvU$~~) zv?1~N>NJ%Z@(+F!j1*a*nx@-Ios6oZGHf}oS9n7`@5G&M&sQp8Kk)}BBsEKcMJxu# zdC%gG;$MhQv>Zu0)ct4MS?e(>H?T@?=bcS|-5##ohTO}khcEWzI4*|czy|``fks$W zDC{}Gv@z77)95T3gg$_Q<+#aCnu{96%s{_o0_hFDnMzke9*ZfpS^5G>gMZu?TGw^b zT#d#HEi=SV3-O;Y4FouA0gdYX6m-#JIqtYTX{CnD;E-0)t&m=hOkg597xg|eTASi; zkBs)yVLcx~@&V{yYneKjNWExOabU;tt}V%lVSU@3L6y>xFl z>~&0YUBLN8gAiZA11R2jOne<%M1P2Pa^S){%vSmr_Fl$K^qfG2^=48l11m$fY?e-d z*})FguBO_KPSY8SRNGTl)k$@pgDo^9>NZ-|M=6NmpmqN7)&-pt0^hLjT!)Mh!94sl z6Gl!UX5<$jMmwOLS3|2gDCB&5h371AEKJGR$0dr>WqsM=-ZPL_RlZ;gj>1|;zb+nS zA4I$WcDSnCYrOx0Q-lKSlHdiveR35g!S+Va!4AU~dFjRxzJJ2S;rl@g@QSzGe#G|$ z5Qa~rPA0r_7D7g{Hq&sJXGAXb0pS<<3|WWCB94dbhi=19g{AwK`WFYf`a<>$+Z*-0 z>U^6qw5a(?twl0J7AxBnm>vl>PWbr4P?Z&gpK80RpMgk1@O5Ww5ag?jO%G8GzHeH&>AHTs z_blNZ{ElJ@x~%Q4WTeS%f2Po>?gUJo5^F}_gXWq_9-a#zyXRVmcGfBmVD3b# zv}8Ms^Dw;K)5$ba91tp=63MqcCaS5^!rdd=akr2^k=U%i)O}JwB%ktz)+O#}K%^QA z1#^yoLo!3~43vT$#=57;X}H6=T968;3sn=R2P2k~qLQ5QXiwLz@N_O#+XeRX#5)ONV8;f~|K22(ZYy}lyo(H}DcI?DZK)Vg53xTVT z{2AHU-2qJ1x{V>0WAe!dPyOYi2+YyNaSPzYBrT zTLKYxzIUVDVG?-kj-kd$rbmW3|0!;^eVUPCd#`Bow^({=jplV8l-FwB-uSO&2=ySM zM51ceIx4Yr%xOZL?S$>2Cx9Q4HkR3&Fb*}FF*5O)Xfopta4qpq@fdOxunJog&ldfH z;$b~J9mcNqtI;y+EOoU}$R~oUKfTqCMjch$H_9QaIvS)5!Z}z&^&Cq#oCTZ~*lw3K zuW@c9TnP=(i9AZmWSB9G=JLr-<86?Mdw|M>%mh3@oMKL*U4eN~qsV&9B~%2vGWrUJ zBa?uYzUAPVkj?h@<^X&pW?QgQlHJtgKTT`H7U^e2g6vs<)8Rtmae@aeLfv(V9Kz^p zfZw;uQRKer5IAppJ50r%O}u|0YV96SJWheap|#kps5aPo%s6Z_`WyU;aZYd>qY(x{ zz5@m|ah0PCZ0bDY)H+hV7M>G`ZT_o0uX*U_s!Mv`~3M{3AjN?=~Ww7Xl|kwSj95 zJ;R^`PDI!~xcwf2OYRXINn8=-)S3KRQ6z>;(&1Ss0r4vz$)EM#+v=5mHUFJ1%e@AV zPitZ9QLplTWhWB5=}yazMKdCEe2qc46(^6gzjEHK>}vQNQU-0l{*F_I#&%x_MR?*g zYD-kDs_oH3&;so)JpuBSLIBCa9UL9^m}etQ%99Evljfq96E|}sygWt`bv}6=`49!p zDCSbV51hB*FnA&GiEXxWl4}r%8ba!wjXzZ?A0*ljf(w{!e)(y zfoLOXUlH+${NPvVoe&4`Kuwib$@?kU%3bou^18Z|W~HM_4Uo)Mnaj2&^G{R4qa@;qWhci21veZ(`xRZF-T*wxwHH`tafQ@O41uUL!Yj55b$ zXfFsYB44tGl|Q7%O=H6W&n(j@!#>Xia9SkEW2f}R9rMjV*y%%KuHf?#t4JiyDb6Bl z2W2URgzrY`%@ULHfn;ePhZXssQ&dFMwQjV#NZTmCFDuhex8AccOnu3(UuDh7#i1CJ%{p`Rf) zz{*tzqcnPD;I<>5+y={0{bTlY6sSK$aQeN{-C&eErTw1yTVz|X$hS~3r@0uo8mQ7v zQ2cAXY+vFU@2_&*w|4PdiyRC^Jd*?QAOT_^stf;1Og~^Rx;PG*@F%lY6c-cAKNNRZ zfQ*lgJ4PQ!+{vh*AH#rP>-?#b11=o^p=;^Db|gp(WZh-U6#%=vqWx`VFwcipo~b9o zSD=e^&wNl68fifQ5jiM4ei7olaTgZPIRQCOIT-5zol-ncAoY4)d)e?VZc@%k@CNfD z_!~;P831S@{t2@qCCt9?TcI3SPizldEGpJLRxW}LL+|k=Ku3cv>IO%@xyz+fz+E6B z(`mzO%wcqC1<3qDPyqg59OfM6&Gd{9Q^1?U2Z4uSTwp0=ndmVoGwcxX65_aO))k6@ z-izOtt)!$gkI|Kw?wAwgHWVvzQC6a1hq$&$9e~z2*<#7<_SQC2lcxExct^*#_E5)T zoer@_V^l6g{Kk*MObd^y2S;9WMnF3p%&-kI6_tUm#5@G1Gm{dIfcoO{_%zO7`WR+c zdJ754n7|R!KKggt35;Xt&F;;X&!~HX)wVf?h4K%bCz0*`1ic;p)W1V=+XaBlhFtRv z>pZL3g#m=GYZt3F|3`dn;YyM+#fs?{1)B~NQPWw5@Wad*O5A6FD5~f zUJ7OlII&x}qXju}9_}&LPg)%XK`X+{fpB~WJCY(+P?Ox(IHC2g*e+fmzOH-~5mpSi zxm*7mOi<_790V<(ge(QlH;8=n9gH9S3yH*BGb*EePBU5*ZKI2mZhL!3H}@15qhzvb z7lko?C(Elh`BX9MSa2NydWw7>QbC^y!bK`^*RgGgTZnwXht2`fQ8=+j9k>p}8Il1? z{|zxFIs!bxGSfKHGA7Ja&sVHK6C)>VpL`v`VeW-~1f&4c8&V4ugCK~R!W!-)-~`do zwC+LI0JcmhhW7NowU!e9B-^}aEeW7o(I+)8RTw5o@LB({ zX;dfzjQ=4#!yPHgj`#C6a&npRR4l6jHwCiOcciVK{Rsr3U)DOV?H{qP zW0>Tk8X0D^_I&=nx)T+0S~?-XD*>;H9F9jp;Bk;Eusev)(IRyT@(E_PzcTPA2nF7R zq){+zo`0(Ht|gJ3N*?3rZ#&FWC8s(z*Nj5cC0`TL6U`tbAfB5lurt4qhaqn&mm!{T zt6elu3xg3T@K*r(ww1V}m>ZrBX`}j>d6n^p`HdxB_uODcY`x&9;Yat&KBe zR(U}uK;FQv4dUAh0iROvzR51lmwXpc}RE^3@4e$Dp<^p+atH z><*)>u8vlp`6y?cXTA9cG~3Umbzz4bi;Yl$EEnpyTt5TV$&-+WXB#0s9B^j0*fhol z;s*R1&5>ZY*!XbN0N{0{s!jENwC;`hGIa+qP61QH9lel+ZTNN%bb@DvJKOe4b;U&T zWCWlPXEep7@B~SW%mtv!kqNvPv0a4iOeQXmmMo}bN64!w7<`D(lkgb#BnT4Eb*;kq z)P(jm;vRCBVu$2nTfa7!6W@?_EyYv}91;A3oa>N^FGLs9VR)J5US|oJNL~ms`{r3! zf{^%C$n}T<=yFDX=Gh2@oXZ^xuJUgx4t4$PrGhsleN3b}mw9I;o#b^YZ#(*;N9RH4 zR9#XCMR^nbr(rGfTzazZwBkH8A5{#z5S(Ct*O>3^f)c5Bw^L-VR8w7xod;DG$s?`B z+GH|V$GQ63H`^kCVaO>7Yhc@hTY2u3e!PE}iSa3M-8t(8NRdW3h1Ru|4DC zLJ06|{%_tTS^}j3!O`4=Ca~TCl9N=>6yNif2D zB*)V(8Gs;SdPv-jFm*uh(voDW+K+eKGueQ*>SAsNEfV2Y!4}!wjvIhW^oh)k5ViOx z;G3u&);qMrUFF}5JdSyexE@(Ss)|_%_ziF2I3Ru8TZFj2KM610CK`~}HQXmMT=+ZV zxojHJSo{ZA9GH!6!fnClK+9~O{+;KACibFCYNIF`qCv=8!0MW9vVqXK&iwYAmNa#5 zi{JLuoT){tzgd4+cH4URUk9MhBcL`yG~p6#2k>KjWl|+%cCf5#(x}hW3m~%4n6)&e zJ#H`EOKD=QWON};$F?HbYM!wtJI1rE8PYainP_9;@4NMXVrp*Hjq=U%U2GX$^T?(m z=#&d;4zvIQJ&;H@87HHF9sPpO3DZq6@ZWvH!gBp7UwIfC7|F3SQ0^SF7}Gyxl47## z9Q6?9SL6`Q$SVynLnkUExm z{c;c;o}9E1IRi9OO7hFX{S@22Fp=>_T^CBt{2egr1O1X-3q4SW{64SCA&58{xp1h|x! zF1l;k-*S#}vzL|U4s`XVp+h_-?Fys{poM+`i$PP{21y6SKzXa$r^pDPui%g>v5am= zclA+=J4ZBzIwt78XrCK;n%1j~@(#m7cQ824Tjw4W&P3cyL{am?H~AaVb^~e%ACfGC zvQx?s`#B48JG1sD?qlw@tA#s9z`;X4457>!vbXKivl&Pu8mSK|KO5sPQz816K`pBr z9X>HIRgovXY^i1Jci1X3n$E-CA}_#nluzbU##^YxWNJItb-Cy`_N#aT*aj|_-9-f>;ki_BZZ55;tMC%djI zsyy9eE<+xv25EGr`-ni?Sj+pLxAj)x6J(*TQnEwO^8bVQ1qwI=uAiXc!cnX_!E?CG zSemebNWuddyqLM{EOK{pDPbxlmvF~6A7MhCb`CRkHT|Q#smU6cMF&`tPAY$qH600vh?Re&Vdl3FbiB&umO z{~7G5gGQoh!9twcEAkzdtcspz+cf^P=ZzXmC zK7nkHRLY(^8*MP9DLUV`MqR4<7bFi0ULEYfSIZ}#>uurs42;I%idR|fo{3C(!DjmzTC%-WX?gB1edx6 z;Y#}b%vqRn_fXP%(GI~xss>3SwetJ$W60YGSi)H1TW`dFoBYZzG+0eHEJ{On9nR9< zK3acMvP|{eJjKR`!)-UzyNnO;#+)UgCNme_8S~7&+BTM`0pIc_0A52rMh*llVX1cu z=oxJpC*VC2K1-TF+V6oFt}?n{=h%aQtEqV66yI6wCgxs3A?6}-3~VG~7wT_xNhk{v z16t+(-uzMbC;PK~am^9Uli*xQ>W^uvla|HptmZH6q;`Ppt>S{rrqUQM8}I1|mc8Dr zKwNkrhzJA5@i}QgaNMbaxtXcFKcL?1q_vc8u}Egjy*xTL6AjHSXS4#wfmkp&>;;!D z%+Zw(i{e;}`k2gq*&7R55(e83XrPE~pMo9B~pu}Y%8tDmO+X|+0TV>&~RB@5js zc&&X&%W40`xI_|5Hpd)8KI11UhvV9yWfquupi33N`#xD_*zN`j>Aj*8RmUN}sUuMs z#5}}fm=*aDm2W5q<>ztIZ`=NM%x|9<^72r@$Kr`9t>ZH|gAwy{cH`BILo~7ESJ`Dd zhT;!@4q$yOS8wnkI$U%(dOi4yg-+VapN-HX8W|1oePU+f|G~%NkA|vEhp~%M01M7= z&er65&$tKQtCak^UbzD~(tlU+O0^jM2E^CBRDW;`&FzkERkZ?RNnLa<^Iy_%&}(aA zP!K5$z6-qd9CG#rCt*uO`=k9md3Xx9f8@CK8)*#Xc>shvlC~I96y?z8vTu{G5)j1w zXdP}eZVljJbQ_8fa|V4{OUty3Ik>{Qo$_NYfd0|HpE}ZPj3zmrl{e)$vWBM4kK5{;BXh4!(x zM&@eUVHu3Q7!iCDW(lG4w}K(~x+Sxe^1!jlv$% zE%Q3)J0fvfjBdDnpK~*(2K7;Wx8YP{O*jGU(L7TYP(+bJV`^wbfWtqEcwzkv%|Yx_ z?X{5zn?h;}2t0&QQ(I=y63o%j{vqyf@c~kSvoDCwc;p@B0Fmw>fYIe3U0geHRlr65 z!%CxMQ2&t5VBZnfkfiV};0K6U%n@*>m+G34(1cBvys&t@uXL?t53E{GaZ_vkvCawN zZJjtpKZ#3LtNyKPRsGht+5b2i0_TCJ@UIfeV1FZ5;-=;lB^L+_;P-KJ2Y)R2$+`mS z5od>wj5(fa#&&b3MqS9Buy#~;(IoE}XLo8tL@mw&HOF4Y1C$qR8=(o#d9tp7E}o#- zs+ppoYG7iKUTg7kb}7A9<7&JSH+}i+Es%>BF{$8Kdvi;>D(p8%ibbJ14w97;d&v)g^xlH zCNNm5gB=77cV5gw+BC{q!W{B!#s+vSs`Eb%MM6X10k9RJZ=rX=v3{T@!*;mIYh4pb zZ<|o@pygfr8F95_sB}o1yt7PGsT`pxw&YqF-cymI(J*Tnk`p@5E6#kBViu4H)fmJm z!FX%TACv`k0evQQN!%HPC6EQbf!mB|N83b~AXayPG#F~I#ZDVlJ?l5T*&89uXY zXMh#DVXM|;Dm9v(s(Rgh(*kEXage54vo+Wo*1JP#ZiLSXC6R_Z&l$S4{Q^Aan*D4; zlA+L941Eq>=e!rWk#-e2!#)i=lyU)g34H;-9dj463;Pi%0b$jDshYwZ+v&$1ONb!y zCg>+>p_<2rI*Y|jwT|IjL?$+`sNVqVOHTEQozwj9g5ME3m{=o0)mZx<)b1NsUf#BjTioWc_NKZ7(NC^;2s(0R+(Rd*{3C8^u3~c;k43CJ;6n z06Rd$zh*_~cpj)Id?*eWvnw(SYv5gGA*cuF_X#6#H;A>c-srJNFXTD+8<6xL{l|LG z1jqQpwhH~%nw91_Z*j}b%EK+f4qa=!c!Ok-I3T{DUZviqEjKSS3q9WeKfq^`PZIA( zud~i($TGt5yNG*n<0mW_8bBO^PeYvH{F8H=t%U;tw^1jtBN4mt-sBOWFQJ+AUWC!w zxw>09`x5`v155;zFgmw0=t+q#wQH376*vt>JxIU6xE*wwoS;#)mqZ)Gt83I&1Zbfp zA3BVlYp<#t+)@rVO4OEe=4g#Gr=|+q+n+=z9Ucn4_j{?TxAmU3mnQ`0p) z*8Q8R?itJ((g&h~d;xb2rK9$d@(zCu0=tR}g~-q@3g&_1>p19e#%QC-FAvJ!?d48wjOW zQ|7Q${wBjQpdf;Rrm^%yy$s(SmR6yfFg@`1p)Ao4Ac$`!pGVyGZ-;D?4~U%4%5P5< z2&hKz0!K9Yz3WtKfBQYmD(?de$$EhHjFjhsg<`R(W-5q9n+6*YY>nEKusT?dIvu+> zei7pzauQiaoI^yytSwe;(H=65vqM7Fu&GHD%=nNz=2+(QbWmb2VM*qp^o;a}*@swYQb|D^ z+X?H7XvEMka}jy4hsf!J#C}J^myeBfQT+)L->;jW%ft zNP@+9E;#!1lp2xP6~W8uL_^TCJa8>=CiuJm5cH=T3cUjjM<&BF;3JWx=(yOH7z2DR z`*!^N7$0X}On3BB_9pu1C~EW?HiNy3{3~HU5rF>(nd^Ke?Gqa3pDPsiJQej3pAlsV zAE=i^*45Sj`#-UTH3k3w*up-bS~dujkNE%Se_{(kc+mgW{l8u$$^aQbSs;V&3FHrb zkywiz#!K;?kiU?FEWgD3$TbBkMFsvaMZ@M(mt#shr?y<9zM?$|yiH2SBJVNY|3eB+ zTwK%&oIN~S#rw5!7+*NG#4UM1*+=^hZqEm$PEzeVm)n_?Ma@|OacE+7$=cQSV|Xm% zZs@#z6~Q&)6!wwx5Bl_Ya`b1)mDoN0|M_gTaYSUHm3v(H#b--ioHU6wC1GFelE8{b z_%2P{U22m4HeV4tlrma;u==cT8LlZp>E8UpQJ3q#>6i<>Mw=+gc{Kb%q3!}Vh*)m; zv$IdbpMonc%zy~Z)bsA@m9EBY?S?;-k857Z4r4RqWJpc=+QfsPh_%>RfY?nwo7g4< zyhWmp^XEC^@m1uH|=uX zK`JIQj+3biD;u$_6jgE$^Ar4Q?}DylLo>%NfK{lYt0CPZnKv?u2VbD^J5OBDY6j)? zi~d*lhcr{-F_tA+(#|_LJ%78=WHU*~EW=~Uj4fi~Q^IWjde>0rbqmRMIRb{Ez{IE- zse$>5L(xGsIT5g(NCHi2!@zx_Md@8PozSK%vIM>Gekml*b9iu@(A$sJj` z*N){JF(pQ^S~}6QAMubpP_&?-#kUMkvX?~N45}Xg-9~3_o`g()WW3pV4a|-Hjr{?2 z4~l^HlkaW}!>6THp=+b!iCEQQt=Zh6d4jXXS)35fuiP!1R&$#AbNvq8IR>8dHT1wf z?C0*VxN5w0coA(nDVoq49NGbH4iCnfvRU)&RIC=~7Z^{l2$nf9f|0m+N?~ zo^4r#dfw;X7_#M)^H1ADl?%ByYxAtaluGk$`F?`D&&J$pP85D`X{;Qr6FMsq`TUX!Z5ZXIRYAN@BTB)!A`(@#fP;1%G1AQYI_zo#ip86l1! zd;{_=D90%e-u}*qN~?)pXo6~M;JX;>Cd~e-luYOsBiWeed zaZMoZrghRfiJ34^GXA5lR{HEo{lx7Le5R}2pRQ^&;nDoUS`1popg1~5QN3?N4Nq`BR!=Z#7yqJWppI|7;E9~GhBK{ zlask=bN2Ob3`g_9fd!nW@#VBVl4rto(BEi<2%G=A>66xC5vQ$>EAzISiX!=%;o^+6 zN#pL@&fhlG3@Z{Y9u!y7R$Q*{nGLE*K(g+K^|H~zTq_TKH{&za59~ItZ5GCU81al& zZf>)r0io_?!SAsqybmC&0Bu6R111Ew*{;$*B@a};)@PCvd52M1zTHg|HNzMkr1j4G z>S^X2cVRG%H94;ahEO~X&}nyA1WF+a6u1j%#O9OJ^mfpqL6@j0cP$O=gz4Oe;r$|d z7m2&g@U~{OrWCor$!4D-JW^PtL0<>HFX5oNq-Bw&i zv+o5T&RCf+DAjXOfc`o`2hD^}=*_GOD{7^2x|~WL(-9^hy0j zi!WHApW*+Wcqwlh_;$;2+uxKsj8&n7&1A__^d_>PuT_5bJO|xnl(1J?W5q1b zT>2V%7)OaLGHTz2 z0ipqFYyP3M(B2S5&J^`g*#O-!E6i&LAnub1T#Q`SW>^+!Cmf^x1~oTxI$u(1q84eU%#O#o_1p7O{tB7m}3kE|v3!f15&=Ehw*cT&Ff=YB*~Fysq`z z(cTq!$p}l~1<&!ikstTSy606-+K)ckhSCg%bLn$j1o^Mt->IF>?TYPYho>^wgWi?G z!~D|P@ZV7Pl|C&zF}D`{Q2D;RD)@48NoIntrhaGp3*OwRP!#v`WzYDTW$7n@DSno8 zzOkNmFa-#oR`sIri3iYf?Mu%i^(^yR{}=?39ZKH|2BeiKZmXj*wv4^V zn6HJRcF;d!u49$RSKvud0z3*%_cwLzF=6SGP|r>C6?MqJL=)Pdi*6w^$2^3&A&h3gQG58<|wiG3yjq^){^=VI?* zggARq;gjT>t?OQ>@Xxndhd?Yi%L8aHjvl^huE#u$%L!wxvGJ#qXNOX&?np?5G~&GG zlu$PEM$ky!i+pW({H?KbHR1=mg_FSqMQT3gRgEb)H*N^L(fHs)2R^fiO8m7-TXzP0 zkMV)2kEI4?7Qbnj8*7}ti5=bE^*BTHoLM$P9zWK0<7VsoH|Wd1T*%v@AN?)!^D}i! zpYKx&SogaJi0kb~6St+lrY7iq)YYq3(zdf(hsr2V1@-UM{4nEjQWKJ)34)!(Y|k|R z5!5j3AnfVzY13?VK6++MgI}hdWGr-7g2)giWI;3`ew}|Ia2T7$ieoPzRuD`SJb8cQ zxa79Gh4+Fu7J4BfrMu#ozP^^B1Qc+ z?DzCfXv!;rZE?=R%u^~Y${}CJ9cjDxS%C2+9~zvEWmy6~m2 zoBFJ8sa{dbB7GR}f%eW)9&)qfF})-Z2F`p$Pf?wd?Pr$9Y$lw_QgcJbXVpyc+!#ep z2!V30rSWhC+tR>t$_OS8ZWWeyuR)V(qrEQga5GajL@kMMKy_g@FFT51LhIroC%CKF z3D~l5H4;uZYJ1TghAoWw5xEb%iJlSv#Xen`NF5j7;9slRnBCeR>zC@@fzHv+1#dQ& z>WFL=e5~obaiQI=|Efk<=laR6aUNyL*O;x}Ynp$}Zy$8kbK*&m-^%)Z!o`>_%RQ~R zbCGppbSP&x4s5$+YX;p*=kQXY2a%7dJd{9@=$n!VF09U+2lhzHgIwB;7$|$bd8xzz zdcx8MJT{e^01OOGP3PhA)Q5h++ZP9)b7{dLlG1P?>TkPC>TFsdqrjfwCfOPKgQU;Q zE=RHT9_kI|PqYZWO!X%nHE}BaQODKFk%1xc80LS$k!p}Z6~qSrr14`XfOnavbsjL! z7__C&D1-A&MeALfjTwvR>$>b(6%&iSYYjyVS{;fwnbqn`v=!nHL=h=Gm0Ust^EiLuN`1SXUrcKGJkKgjBh(KX zo%l~|g5|pbiO!8qr+d&N(bH&h>Ilr>?tThX>{M<;#y57f=9C~2c{$?=PscCtJnW<4 ztug^F3?`d2+#+uHVmpE}_z7B-*)IRwRU>EE!M4vDoNA%n13G16Dt`}^#Po~Q$U#sl z%Y)KF=Ckf}+>j><2{PE?vZ&Nki+#7`w(P<;eK#2-|M9I3V8rxHP)py!e|-*H`z zGQ@Z<1&{hOee1BNqD-#W;{QM}`gF!lY6c!bdrZEI0s#)l{%B{+1qu?g3~~%br?w`p z;~2Vf$ihBM?yJBIkP$rtk}R?6FXIGGm@-y*)c8g15bsr7)-2YH+lFte1 zIK|mgyR7Oz-B35B@33@tlo<}tk5Z1wOifn#ZTx}$RPGgNi{6Jk+9TH@qwEuR zQiq8)y=_o0rOkvKclNhFHB2+7dIkixac#IBUA)ByJ4Jyqc9E;0)TngQFhi_yu6u8G z>4;xQ1X}|L#4azeBo<=E6W2!}qI%dDnMUGK(#c@G)r+kr#jB^P{C;q7x%I84P%F`Y z&~Gw)vmHl{415-Bk7x)V!kgUtU_#sm-yLz#-N2ea27=U{47~^y#N|h4#61O><>$0h z!?j5-qBl}7EC*tcMF3eABjNN9e61fOPfDI$z>UJ7*R+mm9|o+BUz5nSpR>OPg`9x% zaOj$5gLpZxgS(wzm$*LP7Fi%2Fp2)2qQ^SQZVed8JKQN(`3%5t5`1*#LK$`?S9$ zFbpVC4e54;_c4cZB%+FM|JXRhU*KB&pzy7p1>Fw=Gf54QL_@#YjY4+J)xo<7|46@C zN2>?4WRPaAzL)(_{+hoy_`s^R1+qVV_j!9spIp`YO`(g>d-zYxCUi2_4+hnD3|F1p7ow^EGfkyV+0=dO(IOS(oF&$<-5H)aQU8hLr*RZNtF$Ep(TQG^bx_a`@`iUJ`$8(Iu4+A$1Dv;P6@Xnfq~rY=794kl}gDvsTe=I5g2q3ve;T zI2>*)yE&yV;=f3ScR~=0)1}-FT%g>h8lcEf86S`& zlHa9|4ZYQ@sQ)7S7n@JtK^`44+GZ=)$+vnpry){fz&!W#(0=HC!YA@4Jly57beTEU zSKz?|*@;&TGn$)Qp@#mvA)G|le#cVRYvU^OMep(mPkC6^3R;60=w%Bk_!6%Nywo+^ zz8cu%9qHmg(A3+w-63YoruaQpu5ahy-$&hxdI5clUdp{lJ<3D!N#wF#_Rp z`>^naorXO=-^zuZrS{^wEo9gAYz3k0qb!W?it?ke5u5XdDld~S_#&i^lBBss2R7YZH3-<|rg|Xgp z40M*zh+6_X3T$&t3gycp-gSf4_g!nv5mYyQG%Zc|HuaP5@z-+-EK&xW4o-HkWr@}Z zs03RVT%stE4|3-tzWbr}2HWWH(C}aWDl~`m5N6Dr66f~4_G(h*4gQ{*LY##ejA3(j zrbRL@1|<%1e07``u7Y60WBn^*2>JIt`=kNTdm5{1Csj=?{?MD7ke6lw}Qw-Bn z4TTG-B+G(88)+l`xbltu5cMK6=-%D)LUqj_8xT0Z1p=OX+IN<%zM;XTo;8jZ^B0TH zIV=1bIs|(NT;`0zP8z&FcCV%{g4B0m{$Z|(em80+ZznH0dK|CNGQhJe2E6!4tXOqJ ze^$2|yqFnF+!!b__6;6latN;tuWZ{*n(onx;_x&2o76YH6*b(49QiHwJjx~0Sn(in ztY(wFF+htX#&+QM$UAI*5H3-T)P2y1NK344)@UfH*Dxqvow~ zcDTa4U-ClnA;u`u6?!k@b^Ogl7kIB%9BYljLq3KVM*0V~P<9mZNOJ9U*H-uoq6{mD ztku7)z?!m=4FRe4rg*jXh=pM?Xiliv=0Qe?<+dqF??KO|#aXV4v-}3aQd&F4q(QZO zj?Nx-m4G)vz4PEg;d;*6A-bp&x-*tM_%!y)$j1(rfkkeOB*-FawIk7dRQK5;vJW)= zW8493ax-iTOhNOnwlN;NYqTc}>I5l$-*9URTbQGCn{l`DF6ZBiVQ^N*G(=IN5|dmh zmm^a`Kl*Q*|7U!h@s6w3egFiahq;$wI%~RTSwcJGFa2Y~Zs8$Shj%EX&G8~mkD1<9 zU7XmvkVB_Eaj#bmk@)3+ZJBogx-qE;HbW|LP9^?Eo=TBNehvNuQV?=vCB_|T)27`* zMfD<7-+Q)s6Q}2mXV+CSe{DL7d zbF4BgAAXG5k2nrubloZcAe;-oj5bNtN-{>vT zA>nM|bnH#|@yI$|0Jb>p1=$qZ?>yF>sFe(RJ2@+SO)R#(hOcHV!YP|%Jyj4EJX=$t z8EM>aWEdnSo^FSMDu-7lw(`UN!&`qa>WX5 zAL}{yUH@$t)|un_-S@Z8<0l5sf!$zL^mIDhi$Kd`KE%CX5gAY#fqoY;Qa>G;lroe= zf)xLp|4D&#@3#U+-#>#J)LTP#{Ap@DNdmoS^EJ)ZSCe^2u`VJStDf%A+gBQjb+atz z%>DI3Ka=gW-g{Xbnw+{Az0!^dwjw~P49NGW&y3d|rD|_Y6YzFYOVKm`KE*uG-;qS> zcJ?&G-gbjsj~inFq%Ty_W|T3{7^~T4&T?m1OEtGGy8yAtXX_IJ1vG|IZxVV5>~+Wl z(`3)dd>9E3)}*4co@8%MxDZ>A(wXK+<%g(@&cz91YEW;y>&f{Eop~_J2E`n7JNrm- zQFN7VoqTSlIuM6caPD+b>|0I79l5ZiU!@QF1y`$uXhWYxLrc0>-+OL)h z!#v13+OO1hoDp#dQH*#I`A2rGf6~N}zY55iT0HqkhjXO_8qY&*_QbiL;nqSLV%Q`F`&StU=5ASea#w8 zn#R7XRawSRE2E}jjz&gB4ntN%)tQCrlK5G!4M#la9clkOknK;L_lP2$KZH+=%R~WsCmE zIWY={f{M-hkS`9KKzL$ntY?ZRquYVZEo00;__|$|L zUetr=9~^=4f)$xKXMBY7Q9AGOn+^y)hE)iJ+KPX?7X8jEBHt?8b{XDcf#d=({>wI( z^o-gj_s9vf_uPBN{9aG!I>k(`Bn`)2hfD|}FhjYD*j;o#Ixn(Ocp6xqIw58#WQ9qo zsss4=x<0KmizdcC8u^m;H+Dhuylx9JL>=b*UH8dQ1E}Uut9L;t2V6tdjrcqBx+lxC8^1jEMocrg zKMD#v*n*YTQP;2tKAZBH@~Zur`+{quYo`0S<-XblU7464I^G+yY{Fk9cwt+?w_(J< zn_w0EH0d&Ys(68PLk@W0aPZjfDfNB$prn#fN;#>-)Upo8M_SCU1v5lZ+I;N}g zeLAr$Wq$1ZBwfbyL=NpPWehiomTT%XMduD0YQW#^IPq*5zXh)$bMy)Azt%9jPLkEM zhBEJ|)r}7^7w!8+qnq!DMk(gXN%DV;&wQnc^GRoP96KH#h=xZ6@de;{cvdtJbDr~v zQAGSHW*d-nCSw`W;mWg*3ifAR?jJx;(c@u@sDCr(vi2D)?K{CC)_KoG!#c|%&p*IG zC)U|yk8&v^TLW0fLhEZHA?`-VX5AB{)0<bavVWTsZSKY)ydbmiW#>Cc)d8 z;|7P}l}Z=X7u7e8#-5E^4_^xx+pC195d(M_@LSD3b&Hknn&H|Ni1l1Cynv<0#0Ria zmpun@8vg^iJ5Uq)iMN6iAVFLRc~dTHy^P5inMo1xpElobUh1Mvosg0KuHb&DdLxky ziINjL)1_W@l4hIwn}g+>Z(yrm*csMRnN2%ui3Zu3*tM{W+67*60H|Oniuty zk%nx-_Hcsi5?TqjfDOUTS6i^R^Xs_#Lnr++d~8l;-&y!;fD1F0HHbCa%@Ay`c^Oc| zc1uX{FEBlH#v2CqxdA)N&JGrWuX+YKJ`%QO6d=FpZ-<63HplegmXS5K*@|rB*M!5k z{^2FgBHu}9Ba{J(DOi&JNq^9Mi0p{Yw1oK<7Pxj$t4`(MZXbJPu_9jeB2I2(x!LT%J87q(32lWQr z4RVLt3@7WV^fL4t<6kW&nyl^Eo+Z5z!AHU4_9e{+d%sE-^%z@GlEFXw|6NMe+N?9} zN9nfMU3P{<rf}nRGFFK(r%P7`Hc$5_1B-HL{x4*zbA#c}x{35qz|WGSo+23``?j zikrpDpi;UkrEJ_o){9WC9-=)7JPuHNQ|#MJ6D=W!&n9sAfk_@H^91dQe7gpVh-NLO z9m2jt$9DZE**Nsp$i2dtcWetK)=rQ2?v9RP_c+ap^Wnj~&+Kl*1%xi zhN=a#yFKbm;5XYD`#HN=|5>|&e1uNdB}$LDUeYr-D}KV?4p;~LQ=|@UR%TvH`U`YeaNA+e1n=>Uo&Z1Mj%O_`d^f0dASM^beZ}aE8kW2$`C#hN z_y^>-h#Qy$`a715^cqGA?FnqO?)~vp{1^O*Ykc>ydRS9u`}59PAylB~qIdY(zja}| z7PS?3FOf^NCULvCO;c%v`jjyQJVaX)n8F$!-ySzPdPNk#9n4$8{mlCuD#y&uTauiJ zbApXv1oNNKi~^!(n%7SY#_M=NYc+pkXa@Tz^p!!So#~kDQ~S3#Tg^*McY!WfKA>^N zIAO52+#mo~E{LpPxY(;nlOj3%1mm``@EoJv{H#XsmAyCv1^Mosl$uC-t^%7MQ_`8Y z2!a4H;t70|Q1}SgH~bd!2L5IFc-t{+fqAg~iglbm5p#kS@_YZwV`jxu-yeqQxviP zMkTS?(eF~>u~*6SiCN^^nAeyTLMmZC^saxMr_ke2z5Djr(g)h6rqw+7cE9me=aSC# z-3O%G_!;$;jR$&u?K<7HMYK+npvV<$m7Os6gO(?_(vQboTQQbnx?5+LPKEpf;6U>$?GnflIEq}pU18+HW; zxl8PGtt#tpz_#E_@HA(>eOD@l-d{^FjKT}JpUKXUxO+!x)1W}OSsl}{R@R05J30js zcEoemMvo7C(hi8=h!%&yKkK#o>vV!8jqh5&Hwx6g~i*L;QsAMpU%jurk;Op{EUlv^M)a*BtjO z8yT2qzi!O5nw^JjdP|jOoNtrsx&5X0EVu}|lDlpY2M-3O5O4N53po`W7mp|m#ZMo8 zBKI4n98-}txxctzLdq%bLHf(Yr*SJe5ymz88Nz?qOu{E(0JRvo6ZTj5i`(a#BWmv+ z2wLJbcgEI%nkKfS_c+Dm-ns4mHhr73C9`8_k3lp|d{@yeu9NW97VEKyCIJd1Xr6>; z$8Jm79=o6OgOkX69laxdBSZz9J$K3X85+ z7i&;kf3ZH*F=V?e^OFw}+k39)7eU12e0Ws^jbBVEL{5U2z@BwS0B5jCq^cz^!D1DMx9Y6cSoVFk^Y}WLP|; zAL104>2=Crbp?tlh+ao%X4UR%>F!FDQmh?GMMXbJI;CLWAC zWjBT9`m;@T%(1wA*m1T~+L5M#AtwABsKRG(PBa%dp7;|W=K`I9)zRBHOLSK)w~6h% zDeRAs4AI!A@`5Nx_s_HXT*lFQ>9Z+cY!5W=@q+Y&5sxWOgX!j z9=Z=*qxFixP!VgPFO*qnTYUdc$*g^Cy@Sz8U*U8#B8}hoK6}Y6>%($mq9Q6S0 zJf$146ep!dpga6gpnI4yC>JQTWz_Yy7rP346MESVml{@f-;z%g>zliqpLSRC=d_RN z*(Fu-Z+Df8e`sA=vOHbi2x(3?V}t6)zV}hTCy$B$9R1UGv1##TNss9NxNh;%2BMO& z2)aLrEF~wCHxn3`uduGbNYHphCmbA_;hzu62p{m41c?Y&qLFU<_^)U~@{#1lxVLVG z$C4?_pMrVsgA$RP0OuM*NO?(INH|B_iLQe$1n%`hgC|*vfK1gcX%9YN!2-LxcB`iQ z-Jpejl@(A`@oPRHyH`Lax$kuM)X`f4qV;NovRB<9*Y@lLQaR1W&4S_H1BC79iD4o{ ziaLc~izOna;QHXF6HFvC=?Y=AEg7^vZx}nn64bs1&OO z=#=<0s?52)`j6Y{`Vq)!!H2T`?W-Gc-OajEyD{z^eUBnjk_ppuTNoc{jYJK)9=VB} zOasif9a%}7gl5QQ$2nkV=oku)5kM!gbeV?@`%0^vmTUqy2Py(C8=(5qw6nSMiLtGQ znweoBZx@>o+3j9ScrWT9$2qCxbG9N87w!Ef8sENK7s?Z-&YW3%k<*uF@!-LNqX(&Q)k#tJe=FUCBtLi*UN%&G63uzSL9i8NC z4uhLVX~xzfX@on}ZXn4{qyI>G1Ro5{H=A7N(Tnj*5XS?*rTwM%w63tHa2MjsLd!gM z`wa8lv_JZY5oa9JTPN!(l8)spL!<*3Pz8Kq^uxk?mdUOc!)l5~fw#l$jHOXw_A4BN zu*y**ryypK>g?e@nv`_V|Wk^vZ$PZ#7(jz(Zf;UHp|jcV!j&e&%su zebzsuT>S>?Qv3&YD(4sWQz{)z#v$k@gZIrL&b9;@66twhmU%AV$heJgYUG)Brv0q* zMkD}|1d9E?M5g$1Ex+Mc57GplTU#s(T#teW1J98M z`mUo@8=pkp#az#wlUh!0mh|!cllxanKOzo|MS;W86W66Tp@BE5bk;h1z4u=1$lySjI3Dy!*UjQty?Al1N96KUw6N}c5dh# zG^9}QYeajMDSEo0PcS?4E2Ud`&ZZ`g=8@Sg>?Yc3%o5xP7fFACs!FyJFL(#pM>}SR zOYn=(fl!TG3N!=Xyd#4}fqtH5Pe+*U-V7{{|IT}EKkQs&0m)mSXVT`A5cA;jrF@EBBF{_8@gah*W>{emdqeClSOsvW~t4= zqMsJgWVrKvwVsFzdq%3a>o15AvX$n|t|5*odYEA=D4U@+g+=SaVOA}f0S3V^I2V?U zdW~L;xB{O>0LVJUdGTrV(u7Q|FnTTcWl!0Eaw|M(2uosZ6_|Rl<|fB=SCVU$Lt@P~ zjk8>FfA+P22U4G97Qlr1fAAmEC*%%Ie#aU~{|^sW6Hy)gr=&MQA)!QgN9L=-3ie>= zH|Cw#n^82zeqt4VH>H>Ii0~h(2$hVP7Wk`!Y#Gg14SA-v^sbPWsM_$^!$!$eOA4sDrXd>d^hw0WzoQ>}4! zz||DvN)m&&OR9mBh&19Q_};*HIZi~i_JKhI?K+sSR$ge)SbMC!=994HjK4I}PNi=% zX&J2xTJBpMd<{K|AR}r}@KAa<4aW{VZtJjM7=BDc;$HY$-TZ1<;}+!H*t?J;(hb6? z@*n!c)@08pPZw}bKiD|M{ipvU=sW7aj4a*(lO%L0m7MoE-4hK&x5As%PYC(LqH;=* z0`O=YxA6F22D1-V#4{#+NIVt2pW(nO$-RsNv?P21b}a5+Vgfi-(r$kd)e9RTmkHve zPxWyw3#i^Qv<0DCPt%7l2=Q8MdxHS!J`XCf{HEL|gK4fiM+DEsPQc@Uan_5la;kwN zrmSKU=|=lh+kwJ6qYJ2^-p#fT)Tt>u+1tG!;3NER5v=Z{xztiyrJf39?-^b{& zi4k(}6=E@Vn~xwq=3PN0hZY;6RCLR6r^t5N+~)3rM*yKg0W?q!(lEYlI-B`sL`_(V zJpm;HL+pQHa<~`3Gm&>J(?oYrHDf2F=*^3CZ0iBc2%5`*=QGS(ks-%41;%*F=+YiE zMO!E6i!864Tdgb1|Cqey|IOxE2m;OAzIE-!)!RUqe)6vhL7>+^2?YX!=Jo;oZ{7cu z#q*QG;c)1GN-!7<1pR)W&*SxYeLk-faJqjo9*5oM4+h*$yV+!Ox&XVw@Ar5B0I+#{ zHj_cCF_>(CMW@qgb!wH~YPXv7Mw41;uz1`?BjEhmOx-2YnGHI<-K~*Gq)LTCqtqG{ zVx?B8H0tGYv0AUydb}Ei)gtW{$(1UHS)ns(RBFI3s%z{Ns*QHLOwdx>tx<|aDyKzl zGUyy=i@2+$Lk~EVDy^)gS*TL9^w}U#e4UjW%6dM{iHBSndtllnSHM zp^_@Ka-)_nR%sO-oo%gMT^fr-WH1OidwSK5aM-O-+f7|xzln4fi$dAkDhp^@gj%Is z>jH%}5?febRo*U?^zbEZP3>yEN~toMjQ~h55g2`jt{=60z24yxbqd8TLbco#0xTwJ zccTvMQM7;mA?EX2Te=l0iCCpEdr=ICrnST2QOWo{qOR`FhT0Z|QrOaA47$;5pS-O> zZn7BVG6lb@v7%Dyk_r?`o!jB{8MOSC_AY}?s?g~4J++m5lTjqnIQ<}u-{H}Se~w<* zC6cu?G_(mM9i3ghJz4-n0%SskJK)xJG|BZkL3=Y_A^g!}(%Wq)qPpgbFc5Nyx|J$H zLsf^$ByTUP>rw_V9H_LiS_8s`g>8JX=;v^IEoMP|y})1#vtj(Q?>YoM)LGl3vvxMr zw5nD0-t3j}X!Z|KlEJ<_f&xi28AtJ8*TZOt7rTaW>&c~K)b2Ry3oE`?WF{h`qV zvkJvOeIr2g)R(tvwOYAMDw3LnRWEBzfJvdU>Xj&(w(^@M3~_eX3wuo7w$kU4kjtpo z8|7v^xcyC~+T+&t@MTiK*zm4K@6@XRxKHhab-#Ed^dXS^4^?eyf5-bb9e_z?@q)ql zEL_|D*CqtX{q0S?#A~m8UZD%fI)pZ-9+~8=y7^iiq1qeDo3$X#PoV(JA{AQgE+$#@ z=Gu<{feDm<{-Fb!9=uTn0co$r=cVU>YVO?pVZhLgUp}_^O{MpmK)8TTsI$2kQP$>X zFIwG%a7SH>L{oXWM2$iR^?HRm#DqxeKU4_47*8i(ZZo|2w-UxdT0}y<2Tim!zJ1-O zce-Wu620lig=-ReEZnFtd7%_yNb&8XEF1~+iZv>I1g<4ZFdYN&tw z)fJP3a|oMjfkElkr&p^(u->ol6kw0C;e!~N5*O(0Y!fDr;*vKX7LE>+I=Xux&3)7 ztY4PBoi8)Tgol6&t|K6t4SQg?rD-(h=pmM2WLN70?JOM*#mfOA1WcE z2D$6`27k)PJo&{ltzM^04Y>VogzkelV{)9V*5D@h9~)hN_PN}l7g_9fZ#eYrO>kUM zs8!+f(FP6)JpQ*#`_uRWIsk(9yswX*9M#zbM!@1mWOZMD)T&Zz97d%b1m=Hsj~fA0 zi?Dc7&M@@5s~>umYG*{F45GXZb#XH|t>0Y)6suph=;HnIZjk{B5=$d+eXV2oSfEnG zVd9bp^1fYt+uSKIAsjshSVY`I8xh@F;f^9PvXX6g?>Dq`$|4APmkZ(&xO4k^%Q{Ih zwB#gO-Oc}6J35VYh*0eIYE;a=JXxhRhRQ973Ou`6*V!ZTksM-^$0GFi$$~UA5u!1? zBz(`+2aPQq3K+&9GI|WU*daV^wKjoGif4ctu7BbG5PNY*gH&&l1pDTNS{fngWF`xx zE4|(Q3!{|pfF|)B^ia@R5k$~4z?73 z5!4G*ZXD98l8Hl^SrN4epF#^-yw0j8t%6>a(no+fvwUyStgS9wDB=)q*W)kam~G780TJncbxTw&PQ+&c&~4$EFZq zA*m9Zn`ks9r-eR!fqTn7_uA~$<#J989%8NN&b2)U6P=V2?z+5 z>TdihgP6b7NiABX)(az(f@&2mfdWNf(CV66Ye-Phq||6k_7H>)cgo$o*f16Y0lMnC zeXjNfzCvURcs&qY$f3t_2nagDukQRIbn9AvbP1#pgx4BI1b`5e6~xi}W^qTG8jyCh zb$2?*7>CIV^ZW2LT!4gf$V8ody)@FKwwln%#R}ZMB?sVtx+dvtZRd2adjOU2$D@hfqgilu1C`O6F6uD_1`qHg^2DZ zD*_vhhx)u^XjgBq$gb9CIx3qX{quoZK>*3*BH?y0UEd(;)aZLv^15;WlJO|OK?(d2@(n;2U(c`XW)wynzIF#OoLE#? z7bYrNE`y~14x z`XC4b1PGA+7wOvtBthCM-Q6X*B=3^kG33nj%=EOcsxEKSdlQiv5t-qAq;ftd@Z!Z2 z=Q-#6kdgT$(74s?n=3rT{^5^J&={ec$YfOO1LWO3>#7OQUJv8c1sh{OFwqA2#!0=AZs^8=>ZfrSk1~%JQ)f zm;0}-aQ&^h1Yi80|28G5@IB(7W~gIh=M(7Q`7qqS2t=hn|HF}ig*UfaUoy~)rGB#A zfBM|StHUJP{Qa+L7P0y`07XE$zxMsNCcufsU-*x{x+INDGpQc^;ps$+J$^j>;tcjC z;Cqh--+ssYnHxONd-2C(&Mf_Wt@>q$R>jyS(fvOixk!VdfXip!G#Tj0-}#RYI7$K5 zKNOxm8~Bt9kz$mPd-uKo*IA_ew5$;>YYV*FLbznd~n?nmj3;A|F{Oi(9)j# z#nWB@JgJ#h^YpCNFt`3gs(jN!5n>~I`NhdR-TkU+$G=pIaIET1RC8`o_^a( zh7Z1On^LD=z2;+|+*fLSiy)RVXP>@x*Tg@4*EgpV=CZ0UeY_+LM34*=fiFL8rMz#>AlT4uYov~B)w?(G`%u=^X!uPkSp{$N%M@j%B=P9+lm-`+=$FL!n6EQ!u4ngXU8AC8C^vomMxqu4ikDytye|o{qDsRtPqx9eWbkl9yDPm$Gh#Ob}CWmJ% zcXCu`m9?LJu&(y!QA+|`7fPi(_M2m|{qB~P=DR=spg3#U0o8J4m(B&i=4UnW=Bz6j ze>7ZXzO&#Pg*2@>{-tR^jz|;=zaa{p}kMMx4IkOC<>AiyO6a+MR-Q>CyXl z;nNC?lH)!aPWr9Omz;E2?oWNmjlGBK;!7T<=WRI@4dcw)s>)n7T3V`bXZu0w{EZdz zGaVovAf57=VD+x59b#o;ZSx-ZZ7Y~?s)9cOLc&!?Q@b};TxR=D;qLOqOD&D}8g|O3 zy8VV=7~RuLZ*6xizl*-A22x6ELZ>uUYY(*f{PtBhxO*>KEOy>#OK78QByrA=dSjiO z@4u2u_ct;n{QM$N;u-@uB2P_mIE7;4Z_lyKz2!_?IAxYXm8M4i@RvILz>GvH&->BM zyV*E6sC%nQg>gwkbBs|RDL_YWV<+WyV=|wUly*BzrSQQ?&$qUo)Fg2d@NxCJ;DLU; zcMatdQ1=~^*k1E-nqW`>S81!DFA7`^{Q1QE>Xopvoi#W~h9I4}?YdMrKDm{ms|oYj z8*pzY$Z@g*8OG>l1P2qoZq3fFCHkMACm(Lj7h`cPQEgu*tr@wuQJo<5R09=>6ZQ`|N1w#=+*~Oral(>vMEY4 zjas99XYoO!DTB1vkTQ3I zm*ef91K+$c@o+I=bFK1i&5k973v>A{RP*jHH@+KsKp^jTCO20{HG0|Kx0diM=)c)ueELMN@sqL@;MM zh6V%b^*3KI>kq@#Q@8XaXIOwHyDA4kK$xDq`{OhC{$1m^hi$wUF=Wv|07gO#D2aEz z`Ip0*FhtTX9MVVF^(B=hX|&HO!khy>wuC`3(I2hm+pZCie1@a0$HYGP_7eVCt2 zK!V^xE` zPQdW=_5PI7z0`V8km;b`=nG^d?$%oZ9cjF{)KxvWv0@Bt!bhkRFBvAqM#o5c=dauH z1YO<>aSM@Bb5Re(X<*#w`C{zr6Mi(y?XD_!@ZYpn=R<>eN^;R(J;ZK4Zoo) ziVn^7>+jE6eBx0;wIE4WjPQ2GQB6U|0F8V1yv}$VcTm~&1W^K4mPx}>1SFu0doK?M zQgAnKOLKd|X{oiaXY0I_@%8(+FK#&_yB(8ML}8{s{Jalw6%I^Vt=`doPe#|*k%L+7ckul085DgBCEKpbqll`V7yGpq&sWTZPpok|CC@<5?nXpsoOdWRt zT0A#XaUvL#MMM+9^jg|KKI>|8i{sbYGbJ!xAC>;BwKJig$8qx#8s#$!r?$yjmnlB2U!cUf#04)jQ$t{vf=POeKQ$^}D`E zY^0Ub{qvUYU)w;gkL;C=bUKI#`=_j$-X?p8Z!SbTcrQ13eiPVRPbDz0_qr_LcM3-J z%|X+!;*b56=WOZWYSIT;XYcw(`fh-^d3DC9=K7{~cmi(i<|8P;9bC`w&1I{9c37JT z*j}RXww-yj87C00anM?o2s2%j)3Tr3VBiz&)zI|4af(e9W(WT`aF3%Ks0%zCeoUAmT zziyh*q}5ZR#Zugz>FQJttmUVy&Xu3PYtJ(oZU82VIa*gNX#qo9bf1^I=P!@@=ql9_ ziBvX%IlvwdP| z?T(rU&nEdII+yJrX*VCo`<$F7H{E*TAr-kFC|m4+09Vlhs~2W;#LV{ML%tJZ@|61<#Yt@lm&Cr zK7W0heiY|Ma2_1pwlk0Ku0(x$wJa**^1_LC_PpjSnV!}!q}}%(6nzkP)3VI|`Kv?x z!=+BuTl06XPw)>P-%p};|AMt<_0t#SyFbFt>;5&neO@X3#e18SXEe*Rg?#r9kPjYc z?}ke`srh#D_^%)30DECC_OyQfrk?-Va&=$K1;nct$SPefSq^l;Il8=z9NVC}4L#@?F2|2V%xqweZP%8EB3f>9@}xiC4t z(YBv#L_D0(d;4F%6CkSiILRKL8p%awiqestJ5cAS3%I(dM7LKW zgg*u`&wu;vEFH^l$AxNnVu+>*$BWURFBP+{KK;#!FB@N5frssuz|TOGiYNThXvWXK z`1QX{vP=2(xHK5`r+t~AsfaI_OvJ(4Pk*zIl(PACqBk6mCnMKS6Fy%i9}6nafB9)U zwVEj|nXS>78SXw-S7FFl_4q zmzR8{^`yg#SFh?qAQ)KN#D=ZGfF*+5NK4;aK{GO8`JGZ-tdsxhLT~UT^9U*F;(PSsMvXL~ePbXNw7*6b+9iVn$`Lq$o8(?H@i)4<= zwjb&i8XE(5x7@qVOTX(%+-ZWH+} z==5Dbv@-9PRZPe3-LonU4x;57zPKJ~J}c`hIi=izP@R618a7yyzy=j!XI*=J$c8uQ z_N{~gX6d0*>nk9x*O|;#sQjV=6qoetF^Cw>&ibs&&#^hva#r)&!P`l2IWnl*2q1%7 zA$}|)kk%PTR|BnA*I=?_l?4pa#NYYSC1lG-&~0=8WM!e8q-MB8D5M~nhmXuJ zodn61nM9TbOq+6AH9Q9Et)Vry4TXvW?JFaj2tdjllP-th03x@irsFtnBA{N?ec43N zQc!PrrbL7Aq%+f9*Fi&A|AvbflEln`l*SF12?Mb)0KlA%!U$@Zwk6!u z1c>nE@~|*mT!S#XDh~Q7UDAy1c}FMdR6Zn(C!p)We9I;A95LfX@$#Cr!|`m&9&rkR zLT0@~(urkvG!Z9fO#zK%vi`wLcKw9Kp9}H$T6{KO*!sm#rc;@u(Ngbb7tJm)G zk#O8U6Dh=ni1B&d-TR0%y!KUZz;v~UKZXcU7!pCCbJ>r6yfTN)^PB#JZF#|9+*LzS znM2iT)n0$#pHu8veJFR@0FjCsSORAhd|Y9p>jjiV>Q@~>x#=UJd}tmC$s@>ZHQ|M- zNZPDd`^xBiglBSuF9vowOdC!86ds~+wN)KSjT13^H$%o~fl*yWCNK>Rk(6GqOvdLI z_VRXOK|rI4q`M*ij3fO1(Cn(i_Ydpz!;PpPpRr?B2^O&a6s6F)0lsI8eg&Px`IP3jF9nXmMMGt<18U_^7Y=bF1RZ%VGIyoc_@!?2&-dI0ttM zMy(F!RzepqYVDhbv-P8-4f;{(v>M-u@fY3XT1orkNbl}oi)%#?oF2L@*3u>s)Lze*F@8e_MU^_34-u;O)&IwLk-J+>%l&@X=NAXX)DKuR1e{ zM_2L*zp0@h-|z~V**o^Zd-MIzjyTtneEDLLoGCas?vrV{cZ~jcx%c$jro7-GbZKMB zVNKX&^hn69*9#wE$6p+dK-wPT>)T;&WY6^(8UW>n_F#+q{%K93Lc%1mw+=C~W9bMD zs*_>(zW@5^tF9RiGFs_wT;nW7oJV}hgprFY&dJlWF%SnBdSjWI>gH4n#=r?H&I<|l z_4kYOV!9kF#^+OA97E~QLKYU8^R=HJHk4r0fs@IAA?p)0l$vvl;n5lR{PkJgO2i;C z6!I;0o<%c3dB_8fFQHx>A2*;v8Y4(Qq02)po|tnZ6Y)a9@%8ckz_*!!K_q|};}Mo4 zQr=J^0kfqj@R@R~b!@rZTuulvZxy|gIdsA!-8)S3yZ?YS-)k-q-C7hb(f z@w(sQ;i%t{c*%9F1>aMR&kxmjVGWQVgpngTToqUoPz`e)0gj)w;6y29xv1I&GZ9c_ zIS5cK)1{<~D-Moi0}i~fmtfLo2_qF!3|F^+Nwcp3fn=_zztLv>8H&(29a3km&CM2wZmIfWu?fDc#=-~4y{xsh*Sqyj3gY{!qkz*i-P3A-eg1;;t}J74aYD{n}Hb5%q9xw z!l2TZlFPAJ_fSfQQBcu*W}97b>J){v@fch!q{;JBFG~WZ3R1%gYpQ~Qsr*<>Zlp8% zel?VzJElhimHGmcCC6R_!F+i=8ErowEJYT{g$LLR*3%u?5JodAc4s+-UcJ)um}$%d zc(ts1pflr|LnpMdnu@8fPOv0k8*@s&8krzzOqw;pU))@Z1pD7qBT>(G0EFp?28~Iz z%Lcf-u^I{cDsM+2%5yEx7>l~+pASwixYV811Q9W>_NOt*HB?I%9o}Z`-EFOe8cL3v>I& zuFH>!LJ0HkW+$y`SCd%LimfJ%tMBUsEa>4B?qxm*4Z2qiiJuz8>Kazrf31c9(eVde zXJ-!^*WNTm#c=Ywx&EtH6)ftCU>KOuA8dQQ=TF=AVl(dUq5DtI)Kt>qP*T;4KixD= zfA`%8rNI2&QtOMayT0X^DAKkBKKaY+_=|shZ6t#9`X>DPkB4qzH84@;vX=h4kFk?q z{_~ZukX{s3=F86}{``tJR8$do^dGmFFaF>E%BHu9xr}-H#TzfZnwHueXQck!-(W|7 z_{VRJohQW<#vOfL3l>&_!|F)(KluB#?#s`9dqO|CpN7@m>t}MNv<%cP2gKT6|H3+Y z^Yrsh@x$GyF1DYak%hH{cz!PC-}^=3=IzP%Um16PR02h*`f3nZU-J!L)%^E<`cQj& z+5Gy5xVxK^MgHVUORgu()932y$4@f1hr|ANwaE5Ha4PkVSfo^-nU}Tb-h1o9n}*tc zHH@xrk>adeF+zo?d2wv4-rEb^-imJZ6_?!D0Jy>Vn2hG|{uvWl*;t)j^}zZ0i&^GQ z$(r^mCLM{%w{<6zUW>J^rKs`zg}!t@rA!8Wgbu@l1{aD&mY~}vnIC?2NNn6CC1oU_ z0aEV|fv7K>)vm-+=;*gMzB?&b(HW8OyBaek{YW&?uVZ)YKmBpCe8*?aO?FCvjy}|I z6iA{ishDg0`uq7t5`zhSIE7qXXDt};C6yt*Nxk{qg+K43d=%dn=P1REEfF3hx?7RF7&e@U7MUU>EFGzR_Qr~!cp~SP8!}ZenGx>=qJZsBqeov{K^Pic z&ahWqC7V!3^%xy=BI&=z4*mT%tp>*79pG{+gnJ*%mIX=1-kW2{R zyDgqridf|3QVU--7 z4p0y*tpyRidt8&}5RN%qyY8(Pz~(6r+Vt8=6l8BtMy3f+i$JJ#{97rja?Jy9e0?LV z)lRQfT?S~vY266vjgV5VPXRcyyWwN6Pur#-Vl*l)w6|0ur{($#AvPYbx{a%|u{N;+ zBs?q+$b1fBZz_@-eD6nj=K8Wcory>cwcA~ZUP^nz%ZdnW{_HVYZC=+$f<}ktN`q0U zm899btWT*={(5zC*14_?bRe`y5mr#b>mj~-*3gUp@grZY+P=6FT!M718OxceRgmkR zwY(4ienYw$RZea_j07A=6a=7@)TTFQ!{mSai*TzxIyqnv0<#c+=ce=uE^`-G;=TXw zp5E;?-ke*g&$elc87r{`ObxH==+FNqp$>;ZmeI{O!ZwY|wsr zs?H&I9;0Ss9>qOVpEULLkJb@(c=@KiFh`e8xzmZ{xy~Gz4S|il6^Ch^U9*Z}5Sf%I zjs-)p2xvS;R~}>+=PuMbo!aptX^KNmnGsQdVWHK%px7*zTO2zfdA z9t|5z{9eYHBJJF>n0xhhuu8`@Jb$O;BL?jvt>BF{)C>rL;Tw?^qvO#A5%JxOG z5kE4i4scqRZB^*E4LTK_SN2;3oz8?vt9`Aff|{VpOp}AdF;uxa(gKl8+J}ngRczTm z=?lVOIQK;mn?J80p;$6TK>hP+b_H&C7>-d1Kc*<-%TXv5iiS|_x(x56SID(7{BjtAuOrKC>Nn~=JozWxBoMil1udVr)dQ2VH2ipX|Wwv$n}ulf_< zxLK)+zG9fWI&7&%{vO4G>9D~=G(8*Dt6e9(;QNioZic-GddOU7UZuo-D+PAuezPv;~N%R*@+5jC{4}XxjALp4GGFegwFNC3j^zS zgEKdtp&ZK;rcA42lBxN)cXm+GqdVIOhh);QqHChewpb`gYLni{QPa)7w+?85rI0bx zWL509c?@;US@ZSbfY^GHwY*dgUKCl!tcWFA1@!C8PA*Du3n;RZtPY!(I}}9C znHd!dnQX0R;s~scufF|!kofRP5rweX6pTiwS-Z}me!}DHC*Qu)OONkGJs6l-zG!&P zlpAW$M=G7mgBLw?d#^;gpsvBuXuulW_Tfl?7+stm-b%5Z)d;+(0~VDCBU0mb;tz#@ z>ywM~A+S`66By#yZgdfwT(fS3BYtlGF zIWSk(LO!)sZ*`}x4>Kezj_Xv|M`IY;soP;hX!qL84D^9B-5>Fsh>r{eX}Lad{2n_V z4hK9y=`%O#*U$t)BofG|F_=>>KVuefj)Icxiy?Y|27{%fQg1T=VQA{8(Xw%KYWe+^ zOQTqJBQUDBCm`xT@}iEw@DJ(fvp^aPZ?9lRhO?<_`q&nq#BQt0=`%WYj$wVv^l~~qJEY0g3jaf{c zoHbY^8A&EU83JWiMAH$W!YM znyV&E`t$*-aEo{eK)0PxHXR4~fk}HhfWeT~7iQdG1V{KYEx)j6tv`ea*u^0Llvruj zZz)N-Q^zy$JU(oT5Do&cJqM?YXWtlNNvk8#k#t(CPb>(7P{0O(sXVH-+@xRP4Lnu| z4C=Dy!4L$^7ds)8ulR5rP^U9|DFswn*RWt1$K1KAw~wkw#s`?pBvzv3w&smZ4~gQ7 zgc_b7^RWbtPU~7J4T)oS#+Xhx1q1Np;;e>c)1=<4(Q7_i7q!kc#6GHDiL*S@;x!yoQy ztm(?9=Y>ZZ^{UfV@>{gZRLdlkSGwiiMDp*Y+f39aH2TpvEY<|opN;8!wJQpCW)rMIDVOQ!0o)x83@n-e zChf}9ni0k5gbjr>jsuao-WgNT5Y6|hJy%yF8Gwajh$Ki0-;-KeCQ53}W?P38Bu&ej zKL{wIrWr2V^cNyP@20}TuIZ0DGU}sjNmLZu>P%KkfraI@P1sxng#i#WX>v1J^Yp5> zUO*a$W!{5rGUD1O=EtVYOm)D?z`vE99Uc$Vg{y{x9)c19Z#a}($Zhi3J5>AonxJDg z5~UFY2#3Vl*uY4=p_SI=r~6ILLv11+L~JO5x2rRoqQ>p{YKnV%{)21GgW1?z@yGRx zhJnYa-jLoPZx70g24#BjQdqXr!T#|O3M7q|5Xl)QXSWItNa*qg%n~`|@}2HW`6hiJ zK@W~kyO>XwQumf7QY=1sQKzF3dpPxl-15P#763=i>H~ZXW%1iray|wKtVNOX+qYdh z$c+Mz)^#DA)81Us%eXW(2n^^wy9SbAQ!2d|mE=UQeIPHTw6O?NkpA*H6OT-*z|I|% z2Q%hni!Py~kr$%o%`eY^4BX|?_wwc}5N5CRR7!7-i6qXw_;wTx>OHTxnb52N*k%Js za&j|E=DmwAPJswI6?}yvX~2jy0^&5xI!ARc5DZ1<7^b?u5Qt$nufa#D!Lz3m#L#?k z$_IP2B_a{R^0}{W;`fNk=ZCh(gG+I6@gRMg?oUDx-G3wGi_W{xYrss1E!6FKG;V_N zC_n)hw_Y~IKl_%o`_A$PCh3R|v!S>T@lB6AaDlFVdn`}*#9m$%T%5!gVS-a=r_2*M z=j=suIsn)9sGhhG66E@$6sc9ZQZ&{-JnZ+R_};SIaZt(+Adwge&Kd(F3Dw`+c3Rl> zLtlUD&1uY~QUTZ&xqZT|e-GhJ(}Ynl zQt(-(IUCxPasIYe;aA>Ii`rtUAb=NBwqh=t9qbL?9oHK0{asX?tD-%}a%-fjN~#Ii za_!)%HpzXEFbz;vG&i=Ha#T$)F-PLB-q!l_?VZKAJyBNh%@V2`l7I&VW^i)Sokbty zTxsqIypi1udZsc~GI*<7J1kH1(q33nAdM4!TNwy+#4(yR>%EJU&J5eygn1j}IVZhL zE@FN<3x@eh^{UKjp`DC0MRi6c^HIo$sDcrq2i5EAx;W465S$KjG8T!zC=Du-6@+Wo zHU8XQ6gU?AvowW$}DYmM962^1&^=ex*RFfj+5lBWLPWG>+{8p_aE=1X3cu}={ zi;L(IC`)i=B|(l(`vzbO+=50GjgDk|oU(u6WnG3AXVEGUmc`8kx?iZDY-9Ca#(Whh*8=2UP(HF43KKW-Hb!w)g`Vjs@$Mt4LBMmLkH zFehy8X1cbMil$TA4Wmhu`nyAUvjDPkgpg`w;@);P5hX@d!Ib)EFUz?{(a``d&3l*a z{G;`J$nSO=GhM77Jexe&wrgBG&6UsOhYz2X6pUN;_C|}fpnjZAO7WDdTtuS316#rTJrjjR+`^8$<(~EkNxP!rJ&^*qe=Co z!tlNa?-N(AhQWY#(p>uSgDeUX#<+EM)RXMQ<2%y3*V7O_xz;xyu0((zQ26M@=@gPYAjsXj*ZK= zyeViJlqiG(bS7z?e*WpLKa*Tr0owJZCrLi>s=?Xil20)w-yXE>Tr9H@8rM4gmPxCe5?tR*nxa}hs0;pJXmte| z)cgGjP7a1vVQ(4b#=_+-V`6xAC#!X9ouM6ZszY-7L2SlOnXA6+x#Y?QE!D1j5*`?r zrNWa9Zy-pcx?mYrWW9t5mltC%;5BOCgNK1`&(N8nY3NXDBLnr`)ie^HHU`P}va>55 zT0CG~vB=U!OgldrV*#Z*G9K*At5r8(P6WYl{cG!3|FB~Ff$m6)JPCKsSURALN2+T_ z@2p6-=OfH7)J1Z0Wqe+C3bgRUyFyN8H`2SQD-_acAo;uK<=HT}0uIXxX+WEIj7pUQ zNa=>pttVTrD)!2fUhe{k>U)srmq!*3^(*M+ig|Fvg*Srznu5%g%w4zMmOwv{d?cotYrjM@(5Nze*CSqK79T9a_e*FLNw>4Mdi z5I~udML^&j)Ma~SCZ*q;P3U--8mrz?lN`)n)Hmk-;{I! z66!)M?vAe~7>&;af7EDqkQ`<&kaga#nQ_t_)=dPqMJGc~ZkcETbxjMi>J1_c+x?LX zSe8a4f!2kU3ZkAeM`o9UKmawmQ`@#2FBZ|RD_GKp87gcIF4S-UpLHeEbv!tXGdGi1 zCJ0R3xm2xS=?KKMr#b}AQPODF>{L3StDrtEw%HaVC8G*J>~f}3AMMAKv$WYEU_?IY=lV@kALpPF4Cyf4Rh9i(sZu#>viNlOW4vq`z7Xjll+DyL?4_YThVhU44Io|Vbxu=d1u{glO? zHSwKCNt5Yxm`Y`Y6>=G^t9u}Usm%*E`IAjl9hJNNTAd9iGl8jqBkmmGZ|dg#AB8-# zcH19x8*((1fyZtHm0Y)583aDwASvmzG8hkQb|8{=XMu=50pwQOF5L@b{=r#iG;20I zUpA(CQHoQ*QCkQWv%Vm9bKd8s7i}=K9JB)=jRmc42Tz9l!KhKL4wb=iAI%nVECLO9 zSRG1n5($SWsaj)a)k7h;oh3u$bga3u43uslIDd%3Jduo zLH4vWZNIJH_ctRHCNHXj7F;5R6PQj!DhD0*;)q{*u<&t268j8RN~psb5-uPI2TbeT zCHU}R2*y!^D~tIxY}A+ix#IZcW&iekkob5Tb4kQ#T*7yk^kxHITK1j4s5CAs*5-#v z2MQ4KStGd@7cYA8&7Ac8L92Q_@V&oBT4WF$oQX?of$oXDy5+n1`nXeRYWWWfE=Y&0 zdKFzOfrsVPgOdF6yX$U^!*_S6IqvfdASyvVl@bY(8Jk}wdk+vYuW@q^kdidE} z2BP&IxOqP@8w0S$qaj3V8h6&2Z~k;6Qh`Y?@L(Hfbk9{m3eg27uUl?x(e2sN zUe4rPQ*`{4Ipw5G$$a3pU{RY3}OqbuX|MbzLliTQif2iFSHcb984P^OEE~BOi@6#Obg;JZa6QH_SuLt zoW`@1H682tf}M5U95fb@NGB;A6uNLOwy2Xc&z)N4RG5uMl44=e0PQrHaL$M6QwvdN zt~C*+W7$+RG#(+vik?akkSx0pFIWQ4PesR^%E3&S?9_mCkeJIV5RpW(NqI)RkqnIZf zw9{inMVtYaG@e3*TsnAk1{5h*SC9Z(Srk*zmVNXNS`hnc8lS$L4U7|%6FSNolr7uzVLkkdCt5w$cgNY*Nv=gn32rZB1bl#r2_jmJ@pPF7@IMKPf;AX%>CB@UL z2c6`jWj_|4GnX|qpoudHg?&hOY>79Q=Eh!@4)~Sk1rr1o!}h|yqk=u|;(RlBA=VnrmIiV6$pfQ1Q`jZ%S)*tpy3Dbvx^ zNUSE!>Z=BhNrpd4z_Gh{uY1*4j9JH4*NN7r>GcTv{HqC_ErFb= z2;k$tUGD$s|M~qSu~Ez>&H6X*?AS_L8_Xtp@^5|)9{=lqd10>YE+ruT>RBt8S&ee- zi9+xGU9tZCzy0pizjrSME6mATDOM7BB^;&Nbc*bVJ`ur2Rj)xSCj?%YX;vQ(*?ky6yVIIuRJ z?D?XmOtv6WRwP&$3rpAOmA7xwDCE#mk_ zvoD@;v9*PvjGL-2ltf3DOk#7b$Q^fJ`|ZnVZYw(zI0o|jgG#OCWs}RH>V=X}pT0Co zJHbUY76~6cA2esdcsOI9Reag*pWZIK3lc2R!f8b5vq*Sxu5iYe0&jkI71>SbvZvVu zWht!aqrgb0T}3zS&;Br3+C~)*Pz>BNRmLJ9FM(G1%u@Z=&%N~w!X~7%i;_zu zqz+uf_J4C3SfVh@ud~{GVPK2i<%E3PG@6ya`bdrC zcATJMS*SHIsEjxoiw+rfbTa0g{`m$VhoM|j>ZbuK6Vm`}%ITC3l<9z)9yebahXj^waO-Hv53uz|36pn`6D@+;OWtOMvx5eBfYJx%BpJLGri;X zcK7ylxYHLw5M%%W!s??S>HiU=19ZBRpo8v4v$HeP+uhS$zA`I)WQKPPM+Ut&VoBfh zA(6-g!jLcD-|u-CtvY3hLj}vHz23XE zKsbeRQidzz zN<~r(1*+4LS#DsXR|5nBYjpxPdvAI^L6SJ2jD}IY9Jbypz>un!nRs^nPJ&>RrGQm; z%53NC4`-_w5t=nN$+b%__OTQd54%csn^n*6BmgPwHc09AT_13KCXG7XNl>lh;)gp0 zA-9g}QRnh}1=wJQftURyUMfcY_qRsOKRGGQu0PyqZoriAU^FwxO5T2W)6&45&kvz? z`?4*$U?vBc{k22XGwS`jhc)%Z*LCT7aMfNxWS$Q6rDmr$iBaoa$87x5=g32Mba`iE z0tfhtthj|Odwln%1AO@}o2y&#;j9gFIV^_ONq^Kc>(TqSlk7kL1=Z`!FW;zqyFh85HL1)ym4{tY!B@3;x9~v+8Ji@k)eAkV}bOV}AZ_cJp0HL{Rv|g%lY#Z)$7;PTb zL$QDTAe(N)ZR8z&v9=8(^v6@Eaagd$_QOEcb*Q#O2mkN2LJ;ANrqRX$t@hiUskTz+ z<4wq0_hyp9r>y=2+izmZxYJuMXWG`2yzfq0;vA}`msetTuLvvM`?0i`f=7F#t9M%? zIkSVe&#mfC7F^x7m#eW{d|U@@xpUtSHh1ioH$b(KjRt4awK#w_9&xrh>piUK!(#Wv zjNWQ+*42e1Ph??#3sL6FVc#kpBJUFm+-l&9*Bw1cq~cE6St!at3@aPb+X0y0DS4gq z<$7gM^(v$;409?$MQ)hbQ)P>kZ|+vQ335fsl(dhZqCy#@CwgonpLk+->4HR>Ggo>@ zCTbev?#zUXC1gGA4%R4z)8NN@**Rx84q?xXs2r8Nf%(X0aS)M5$+1DNuBRakfVjXq zb6L?uI1Pv1XpUrxX!4!{9AoJeyqZeBt}vA2h&?}5%6RYJN)XNSG_Fj?HmX@H=1QF< zUM!O1S2sSBDeHv-9{55v<=_0dOR$A9hiaW$zmn3m&|7q6vY3t6A6{#W zP%b93?Yzru)8fLmX2V!0BG%&lJ(kI2a)jS`r*7=T$q1`+ofH^Vot!W7xilvr%K07s zsH!~l*VYp(SZi9e@lzZEO_8NBkqU)k; z8eZKk&7QZDbMYJ{-)X`ovAX>*2Doh6dbrWov-|<7GZ|zw0gHK0yt!V`#R4?AXj@Wz zR8gFq;EM*4d~-h1w9->*1{8Ql18~}!J+#JgeJko;U5IP&@W7oD1= zpKS*=*Wk=#e_P6UXb^A^Sc9M5jLGBA3KmeQL89cw-fB3HNjr?J+wWg3DqkNHUb>M{ z`Z|be}8sKRd)Qt`7C)fj}DFo(EYT9BF6&`giEBep9E&tdJBuo&lx%Nenm; z=!k#%Uq4j-`il%k2+(L53n@o@(BL3Ke696={rlD7Z=UiH&gfGY7htL1agZ1cjp^I} z^A+;tH-|(>K$3ycDREqCNBVURl%GL#{rdy#I%#ts%wUc z+Xe(gls2eE@){r(LF)bW7(;9erjtGRaS@=Z-5U=T5F-fj{946h(*a1>4KaH25kGH_ zCk{gM*xj2u9|tT8pa46F|<%6KwO=T=k&fHKdj{0%%;rVBoI>R67L|0KA*Y84X8gd=8IMM z@w5h#Pk$``kJkz*NTVn}EX?I<6+w&pb*{(@q^2XVp}1t3oDcQ2yink{eFrp40&Oo% z5-?qeN<}kCmn6|*gX=-2n&Bg9?o+W1U>FuAeYBd)(e&iZX%q{LGF>4gvEaO1?!oF*Nc8@35PxmU?iMOiqY9USSBNVw9MCOxnsjx z7=Qu^A>jP-gZ%OH_rlQwtrI~n^U&SH#}YW@>)^&>d2zUq#6he-R}XUPq-Gh@ zSLc(`R|llkpX(n+^-p$IKVCcp+fU%N(tY36AAeai){-}W1spzNTJKuJ^pmQ+9^Kr` zh_6qbr4>1M?b2b%ylQvXn}^8()_xdjwO^G)l}Jq6JS<_O_Gk$2mb_J`GnL~<&+HbI zat59B24nYUqL!(n`mi-wJM3v`u*fp&o|NapRbST8JZ~>sLqms}`(YO;#miB^1J-on zz--!E4O(m0PHpDpRhD<8HG=wTXGQQ7GM{!vz8e%Pzzi-CrfkH4w`w~L0hK$wkqz2Z zgVjtn3!94N`ri1C-QfMsZAXQDUns;T%1hfA>Oku{h=h1P4$7o=y}Wi@Ve8VXFVf z8#$mORN!dTPiOSb!bDiFt<<-{v+wR@h>odThW6tEEp}v&Oi5jDqbU9GuB}rz#FdMP zL1(?&o(pG)(TLb&?p~aaK^g$_8#&j@GUM}k%;dbD#1_r-_m>KZImE^uzNSj>)d!o( zlgpte(37*X0i3W^{!vXg^O@C8ZB9u0a~V$sx36zaHj?4J$BcxQ@S7ivVkVLoK8dYg zyqVDKQp!Bvan?e`d3nP%aAoDZggY{ksoH85yq1&uXF0rdQWiKI`;mc!D(F{(hO`oDr~jT(Upj za=su1Txu!#YH;zp_h1%R6lP;PWhVi&h*=UHUiv!)@eh9-G8CYN=}INROV0`!1PQP2 zxMTF<@82Y46U0=y%mc7(0yJhL(vQ=FE#=R@Z2@oqadaw&VTcx{(ou{&yo^tT(f8lZ z5ywlHaEeGqNJTS*jo2?9%DceL@88+c3TqZ(EFx*!P3M6K?!Q=9s`l%@@4;)Wbi}&= zkj5P#mkCkttOZmulkdNm>|wlnh^}pv!F?o&7JT-843&t7A1*CP%0J&QrI?^ekKhq9 zez;u|MeFRRu{;J2pQk1|LU3q62_&YrhB}uTygr|g)WY+9a}>e^3&R{wgsb+%$@&kk zyVD`E|2!pXAVA|Fk)=U+{%SHl@_@(8t{_@h^CZ6dm?b1*KNsbo@7iHvzHpVnTKObo`EInzJGo`G4bOgbR8nn zDlC>0*h!=;onGDDU)--;{!zs+G56zY-rBzcfWP~1|L(u}AO7yY|F8bLQ{da=&*p#h z|NVSi(7ToV{`kND|AO93mIXduDTtwT!bt$m^9;qLFxLcG25=48V+dO@T+6f^AHghf z6+l27I!5v*N}IhIkV>PT?jTGWRBeogZ5MzdFTo8o3P1z`5sK##7vxi}39%VEFx@!z z0~q!l7+NoEF!og02z*BI1bKWKuji_ z=2JNqMhR!-GEAI|LjdA@%2!+zaIFZ2BWpebGF-6MU?B~Jp(&}3?fDnKe)21t>qRIHj&@`8vw)lnLWJRnVm08Kk{1IFPf z2GmKow;eB`BJM#c7Izb6%%O>iz#&}7+r2qJkqC+=M_01-p>4{&i4R+AUFymRq-$Pe zt&%4SR_h3X7&g*fIC(LFBeann2ARE_Jn=~s2oR17O0!W^$dYiNjhFc5ag9=kGLg>+<+SIA z%G74)*c1oTg-TYl)>QREB*oEyrTIjHq3@#^WagGD8Ei4MlilkesL{EPHh4wU z1KlY!+(j%1bizK^a*5?27p2zi-Ym}NVo7#@G^R{}3TJ5cav7!sl;$DLKudMb)G%bc zF4aKG^Bj~57CMBY5KP6IQ`_f!7}5QF)9v|9N}K>0RMi22U#wCko~B_Z1Z5Rt0mJu_ zKvC^%T2VJoN!0>UOw_rtXbPIWdT(ZkMR&#LBV}y>g-08JSJ+KY7es z9f_t=dcWpPR!kGu>=;O8!n@lr&w@-kkl6h#3Z(E9@tD z5{E9xg}wW@$hmq1n#l-1{dxZK8s6HjR|>_VxhVeSV|78SU(Yt5!{=9uuS~E#Zr=Cu z0uI=g6mA@C(d+Y8;j7Z{W~qmKfzXDl2vpZ(cz>hgkSU7`V(%bl&7900Ct0YcVMjZ` zWD=h=Et4>Arj28Nu%;>{jxYujXy=&oJiB+L?(74TM24csjzEY(^+nVyn|Jq%wF3mI z+I@L$?>3DYQWm_Aa)9*5*2hT>IQ`p25)Z`21~QZJ{ck?ouHYK9x24Y6S_TMWqQ03X z2y>;wfkkrA>S0pd@ju*1w(V=98Cp)Xi_T>@G$LWq&l0mmrEato1l9Vpxk|vZhcQ&4 zrfm~v2@)Q^=%9OF9h0N8CByq#Y<0lT9z(0OLzMRqx#_!U{^;o;HnI1Aewa&TGWNu* zm8?Y&o61_2VOYGMqnW5DHFm8rNIIsS2s_C`(;k1AMtLR%OM6_{{%Lviv!>qZh}v4q zY}4YEoURCXsm3GGQWj2f;yeb{i@3>jUp&BN7KC+0(SXL0|L)phadk117CJ#_lZm$X zd2S^Wg?v7jFWKWD$3qbT%43zw1AqSgqQEKbB^i&qO3bn(7$vPj7u>GIl8cs6%-WMB zzE#1JjCKs7R>9F~anTJMr<;gfcySp~#z4*Ou=Bngqh#jbv}j!4 z1I;Go>SC)GY?YMOLvL;%9Q1G*Y#dTjB6-N;9QeTTEoy>eKPa?f~o76R6`oy;?;hSDdL~E+33F zWG$ue`8rXUet#Xo08aJ(=a;x(j6!Ddhd)Y(&xq;E@7n3TjJcFFPge{Rs^_%!y^(#k z6Qv&2xk7<2pB@2gDX#An2we$MoMojRJrWjoAMDx&HrI?%cf8bGE;~Jwn4QmeF@xD| z7Ld4blp0Q{9PDO37heA8*K-wSsA$<8aG!Gblga_6d3Jw+Q=v&#sLA!ks`l4U zjf;-UHI9zG_m_5#2Z)UFul}{NQQ4^*SGU2_U+x=SWQ$*l^k001_2vB2y=)p?yq)fS zQ&g6=scrpLt$$}=a7cKdWV*yj zQM1$llzlTt_BU?PfN$tc(8V;ovbn= za=0J3gN|LS2+k7BasXDzKK$V!cS6sn^XpRDk$%iAp&g-S54704k~Va7I+DmcLPo z$&{}_nLKDKHo#^PP4|&V37gx<#NyLT|T{v?l=;GLO>YP!9kC zBg^dVPYVi)L4UO}7kxQl5W$|Qu<-b+#&V3;EBQjLu|+BKB~aO7mI_(SAWp=vp=K%T z5H?yjGs82+uU>X7v(qAufmb)RFALIQzK)7p8E<7Zo|O4Q<7Sc%6b%WbTXp4P3j&H~=0>uD=K@jAIg=)4$tma-ilVg?xgWoHG>zPHQv(0LFb`$UKr=Y?nrw-O( z0wXvb$YA-f1daP(rI_YZLHheI<<(*G>0P#oh-civX$wZ2>6Bvd)!zaM`R5;D|KCDwToUNs2 z?_kG(D9_Pe+=kzbidXlr2yYV<< zh`sYJ)5v*>G?(m<&-lZkhO(gp6278%L|XmvnmG}s5Af3`uuN=bOeb?%4Fd-Dfbvm; zUQac$z{CIufsyapQEaTeU@rQIrK%q&08c*eKmRE8iSv)d=~ zs}9QRqlm>x0#21U6b#np#%KBA3$a|Yh88NH4=E1CVT|EXX&z#%;CF8Zvevs_sN-22 zxB!S{m=LWMlUUVeNF&Ga3<4*5MC5sbpfQl&D(Ud4!wRIogC4LI&E)2t+ongs`&I~0G)h_Tz=3PYAqRFXfH-< z1X3IV)UbRx)w_&N_MwDaF+f#AqOybZhIl?j3poMo4-Ase(Q?~AIm$9noZ8*AR&Zsz z7@KkSa1-pefofW659bCbAd`oY*nM%s?13--c(tZ8@qBDFo}g15@X-?2Z_x+*w2#)a z5mejC38WpSHxH|@Nj&{DwY}1FKt_O(I84wx{Ra<;rW&-!WCYgSfJRBPWR?N-3~kM{$?OctF@Ne zFRg|F@Atb(hb;mreDc2M3xNI+`a_SL$AMO$B5HfXy+u7$MI>)+toQOSP&Lwkx z`>=u;7zV8Sb7YTAwgJgjvAYL+y9v!MS7mxdetF8e0A1N3{dC!vO@|hM=@P{CRYWj2 z2;j6kvL8Jq9^NjqO=viFWeFnusZQtAx3@?ETFxD&gs(2&FN%+Z*}WKMc5_~Q_;nM; zQkiO<|2T#G7^mq%1G|2smou(Ku^1C*D+8~lMrZen&Uh{LZg1{ZWG>HJy-854tM_Iz zD|RFwW03$a(f&#jJ~c(0n=41-APrba zYjYK+y~viC#l6a8D;4DS_tWFAc!S837@=GF{hT#kIBXG;Rt|#6AI?;U_wL^eh|N0C zdC)^kb&@QZPehgFt^2kL6?m`vFpW32kdj&Q!3k7lQ1R_8P_OxSuRe$&kN4YT6BF-- z+^5^(9sIa1zrBI#l-LK-p@HC@O&#tqF-byHt)4u=WD!}D6y< zLLkO7qc=S~1)Kf5kPq!dVkmrk)=%%VlXgN{;A{c17y@f+2|f8-@S=~4-2>G_K^ZHy z<$AiNj9*^h6+DqDCJl$hFONuPF-rgPYtPu)9A5dQ@+ZH_ORK)~r(VqGF!u(p#l8ZG%$Nhio2}Po`slA(0`#(QnG=tz0OybH2 z2!(1w(@JZEu;X(-@3ht&JQe}MS!jS8l}pCGT`K@Vu>`ucUmP1lFwuTH1aq6h&HvG9 z9;d9)G-&K`niS?rQEyIVGr;t&4}W^%wgxtxPrDEIL6Nxrvxp(`{pAz|=8CIGVEySf zZW8qk9$+@gwpMuFK#buOtz>{Gca#>TjVBo-Q%fNXr(LwxgAZeKbR*;H#re!#4!t}* zfBD^tN9Pve&Ly=k#t>4fp&D@Tbd%?gzdR^!9kT=H$)~hr#m*>c7NaKtppG7uk=${E zj6DY|6=`oavxSW^qO3eR%V}*9FY}0gdpD9|DpFR%yFpaTg)Why$$U}1Q=a^7xpiYR zg}v(hcW=TXGaIZ{Q+ewYNge=m2Pe63y3W-QFM@KLdEbVk$s%x+@n90LKtdC~yv}`D z9(CcIub>&sv{0n;-K@Fc4_mDnmdR4q-PMZOYN~(y$*-l%B~YtJixpa~R1Y6jv?<(p z`s?Re*B8opa6L_8A`$Sx#qClam=qjY3Q{N|;v8)5yRYODbKhc$kvKyHDwC4#tr9k9 zA-j3q+1&J&SQ*21k9n!3lnyopy*0@1`}YgB0IbD{%d_1-T`<*HhiTt(4YHbL_#oVP zR77(%3NNMQ?!ra5QXcBITuPsWJO!njx!5Hub$l*|fET#>%8S*RieOIf&M#+RsXc>v z9$mblU zN{m3!>P9v|ZeL~${#YIe7 z+1B885OBy^^OiUI=5`uFHlA;~(W7Iobh-u4jPf_1)(8hLHL}@KE`>n2c{Qy4T)3ZQ zQ`3)UI2SI=x;MA%J|)idWI$vS1JR-Gtbe*$+9(UGy+F5{ zL>M`AJ!MKjB?rcUwU{pEAHVFvnmu&qqk-d1?#2P_sxeOCbS9Vb;__xeU{ObucK+sg z@%~PO)aiRHPmRuov2icj4s-Ga`|ZCKcb->-=q_{*P>5x;S~ zyOC!>-4qV$i&sM!)8^8w-64MUmGt*FSWzffY4_n8*eg%o_E&Q^&&y};gTsU1-Hk@3 zkd*;iQpges7_7Sb-t%qmPv3?|JG32E_u}(D?2q80bJ+?}b3O?&LOgeNHmn(WxM`{z zPimV_w@{*b{PgKgIVlZ(zv3lriSB)p?BIcw-AnS)g9NxeL}+CVI0*$wb1`W@{o?zf zH@$3&gZt~ZZ@NYZ0<$SDU@!;}jg!sF$s;@{o*wUfvJXOydhB^?k0pywYRfylzR8n9 z*}Ql6N)MMv)}2j5cix|Cvxm7khnn!k<$5^{(@DX@zN<<=dAA14mvOe7WvuY%DeC}y zou9m(2t_AxJLPvj65F^(r>x$)4^EyVS<+nTPF(r=z*|sz2i)KTa8g;%!-OYEN6GG| zeL9oQZ&YbkDDG^zQwdJzwsXt28Au|Wjz)j}VGIF|+H?92g z*j)sO8*=3|MnQ^-lctB+3)#eLX=Q6sY%dWdWy?7z~-s9L8m-gc~BT`nX~% zSh0Hg3>NX{Pna;27cQOU&Ays1hbBlGGEm64hCW!AkJ6H;Me($!EUvrD+ZXqX>z{g_ zba&NYfWrTT}_O_4m1`WAb+xngGmeNcw>W8-JGzP?EQ<% z`9HRySnS&ewf^^4OWCFHW#6Ju{b7KX)4pc9rlzY(fENW<(ox8A)7xcVM~Ym8650|> z_&%Jgl@kFV2|LVIxnMdA8BG7-5B+3fkM7^TxC3|dlQ+w9X6;qVE>PLcp{`Hwea?z1 zU*fo}N`l}t5;)0ZEEiD45O%5@rp}|oFS5$Q7q-f=0l+{6z$j{UTPxrHxXKQr&lOcp zkjS@Z5BBb7RcCay;OdE;81s>6g1$77=&k6ghegYexA?doQOeCOfkzwpdM0p*;-ksfu zNn6*$vkQ}%*F3CxV}oWvw9KeL$`J7?aDQ*)o(Ypaz(6Q9 zYblYrw#>zJX(R>aX@jx zTr^$E2ci`6dDt`@*Ml)9Xzns5RIlRv?#Ujd2H9j#bEMjz4ktF7Qm#93<5Xzt{9pp$|8A^8BNHQnhNw z0)#Qq#kb?5zhrN2mdx=kJP>14pFAi;j*o0r3q4JRHxKgKhx4{ARO0g=yTeHoiyhGi zCf;DtkOyr8k}jaSR#80Z>MsSZy1 zI!Rm0wY-#9?Y0!8IQh*3kjqECDPHBH5F^%8>agItbhVL%{I$bvrk5rTXlvbAw5+4% z{Oz5Eql-!Am|NYxTJD@OOUd@MzMdj=Ne|NbOucSg1y4RJx-m!2MTARp)xDG-v6W_h ztCq|0h;LJ6bTBYSBP1>U?)#B4y*}%yjxl+7P*@7(*>HL@qicE6Hf-qy%7u4Igd<{>JlS2-JW1oDdb)C$jK(upG2xhJmIpUd@vC9YM-$wM>p1 z&x^IUfB!~YyGaSRTMuE0S7ffj+76%d-O}@oNU^fd_W5+al5&yy=YO${$`;4PF-D|W z2y({3)+VZ}o^CU=FUd%m^{JBa{cUEiM8gO+eYtFITerPo=k8|C(xbO`6LB~)h{o^o`=9(-Kpy74tOC?LIG?y%oDvC0wG+1zv2T^|UNnvAd9A5`!aswp`3?P+j_H zY%9G%T+JG1FGYd~q^k?1@eKP9e+Z5r7vL}?glzrMS2g)|Qv7rew>#(SjU#e7nEJc_ z$x-VExq7gjQHE}Yb{n69-~aD_n$i`)>R-3i$S|s(3bXNK=45wEIAFPy>)0vb$;h!|%)uVRsaPPt?Lb)5jjNgCTqw>IXl6{uC{B8#5L1mYk4|THE$Z*>yDa&E@PB*YP z#Re;Me*=^jqbahT^`q+3S`0QGlVVseW5(JBw5h|g)cjq1T)X>oRKuVw8`}DGW-acg z()sV-P8P1$`{9QbmaXI%_x8pw)pkFt{P@4z7MhT*JGL}eb>{iLJHj5<05UJAGq}84 zLFSSZV)Z)eGZ~QCDzhA5fmt4Kf(YP|;j3|0aBYsYC!L_2gR%|#HTbvBX5YRrf;!;kydJ=V5M2w$T9n09_K5^ zCykT>lxmFU`qI^nb^0~%_Kw~rrVEHq0gkE%pt01=(K5wLm)GmU9(-}(9eh$!lv?%j zA0``*Qugx2clSWE5NPVu;J4G`RqY5HQh)mkyx$|X$eTA-CXX&V5?w-#IL!g3itl6% zg@`&AlPKk0_i{y7w9>^Q4KpOrI9b0?cWQAI&Ge0JWHGVRwW6_xOWXWp-1wX0_CK!b zbx;}JXsrAIG^qL9_5+Bm7xWLS-6shKf*`2L&ge6>xbK zz>GjTw%U_Y``gh}6%IF=b;gQvn@>-Lej91j2wQbR(~Q;E?~PIocsQG+X+zdbRaxHM z$_Qn)ZdZwHqGYsQ23!hfbGT_EG|LtbnD(&z^_Sb(bUuq0zWVhpNjU4&Q4J@mX=gQZ zx0|s}(0;6ce|z{V?1yj9r>Pz0`rrN`JmlW~_JJr9tKQs)&8do64`YaqLI_Kxsp4V7 zvnzW?zy79*V*yTDSh z$oQul;vi$Yh$k9s292o{=9}2gq1B4Eig8S!K)8}YbnR!D<-mUO>yl>R`EtD?S|5Jw>4UeIOK)-a=1ps{oF(NV4mxWJ z>AvU!0yR5-@T)aQS_6ejZu86M#muv>>5=eX{MTRA3rYT`w-4!6)Xc_c3U#q+eS?ic zz13%$_d7URASt{;@`ExWU3iYK2R=1be3 z{P>thoIweHP8ThFG8fKCUK4p__K zsRk#`aM&^?|%V4y9_NJ?poKITg%UMYZH0PcNrT8e>E zGi|PNCtGQ4YBi4XB(#(n!uLQX!|{k~hAGasL1gl(i=@4?WL%yfF8=&xfwBZh;q4!n z{ALMQjYS}T)O`3!F6|b_rIlf4s1<<<*0U#%7=W0skY4O9&sC^-&^MKfweGE#hD>3^eT;!CY2?mzu%_nxQo+8uh33GUuXJN&m z(kuzstDc(K%*kGgLFnpEkzrUgv|{c0UUye9t=vwfj#=a^6)9$jRcoH~N`+W|ybl6_ zxMRNe5Ks(7#SvSoQexZ6@s1X_LH$W1?)8v^oHPPT&kw`PE78d`sKwQb+hn$OJ5Fra zK7SN85qOP+gkUPk) zo#+2@-;k*$u~19=dK$Alivh;4A2rkSsWbY+D+g1S;=^Fx>q?;C>8Or1x@h|XH0@u# z69GKNae27*K(4W$ac=s%|Kood-(~;i*N4sR&743%442OG)&Mv2x=%f?EoN+)Oy-uWs=cv|HGWmOeytTYc1i?6 z`3ARJ%a(I6y_0vqOg@9Ts;2p|2l|%flbd-!nHmt8%|O~r*5)(fD1G+b5b#%uZLFqi zZ}#B|tpdZL{P40D_#RGy;`uQDd2=-+KYc_6)o)G^=+UQj3@Yynrqg&ULjXFPsyyb`CY~)6ytm&DBX=a?VC#n= zCqTw%sV)sN<%tp)OSeiISJh-1h53?uAsrrsQcP3i`j5Apr)788(S+?1GH-d?o1jtr za@&?NpX{YkKwp4-JRVb@?0KSzXKD?weH(6M?Ukmwu{E1nC@`2JJgC^7crR!3+WlC( z@2X)My8QD{UnxfK!H&H!v@s!vlUtuXE>i%p{V6|`g8v0>X~ zi#%X{Tn}@Pj(`xW?baX{5$d^RXEO7)55u!}6R4h^T+TgRRo1Gynn?+L_}w;njCao3 z5x@0Me&)ZrXR0KXP3LmX^?=@~(jdzCdR*Q-Jgs>eoU2wdFqA?UA8*SpR^x}a9rk1k z=wIH;#tJ#ec7D8=2MlB^-+kvF6r`z7Z|=Giq@DpXyX1IDG#Xhv!nwsw{P+aw2IVpi z*S4G6tmIXX_e;^ug+*eXtY$05?L3@Ir33W(gT!;LUaO3ZB)(HeP@jE ziyz-E(&Z#^3`_ADV*LHB&z3SqSLb)CxlEd251#^k_t8H+(na=@?U>pqWBJ1Dr%}3^ zkGgl*KDUrjhJ;8A@ZoI1`Ow4iLJC#8_m)ti1JhJ>*Flk$=uo~2Ba*$nr{5`Tsa#I< zUe^<60!jl?(vc_nim>BI*84)`tUhmmglKc%*?Tp#(2= zI-9LlgJF2`M6eCEl4k%}qe}4Yva~6zM|efRNj8kOwpK3&`Mvbu_dl9dYTQ}cbV`1C z_wo9DW#WGX$_SM|T&>YkwGwyV+=K^*JICB&6jmC$pMB2VFB=Ceo+EWI8#t-b)^;k4 z8B`)Z|3vV;)!748M-(?)45heunCss7@(=g91G4k}Z20l(0bQ5zFK?kr4gmp6GEthV z!K40g>X4`+&aPi1+a*Dp(7QJ}OHf-U#aOaZ`Ap-Pa3wzaG!s|9I^mQxf3Q*CJg(qO zDTg?8z0Q~`n?_eRBNs4Mq0w$R#qjLadaJtp@yhV0oz?vAW)6X!*YVf;i(4c6{0ri0 zwXw@(5BG5uYV76tQUzQnjvYZTY%N?2bq(Dw@q?RiqYQK}mn0+^r7aQ;3?&pAS@V4x zA!p8RSu>owE2s9Gzb*DVt2OrMxUx|m{Pt4#`EL$@l>r(KlcOV7nW9@cZ!*y+di?r) z0ijZRg}8G)(kD)4yO!h+lX7ib$P&tUhEzG9+Dyq&Ef0WfnoRF+|34hP=Z<7amY{dF z*4MQbp(7(wR#tX(Rd>%!PtVNGVi)8PAV?748}L>52K+;iKS=CgcSo~TRhO>Jj0`P3 zTx)f;R`lHX8E}J}U$b-0_c_e%aNcN?I+SA?zxpBBDgx?SADz5a3kCh`dZgR7-oLn1 z_*A0U!J?x8Vr>)Rb`PxOFg$&DK(*9dBb_QETEf#pbD!#cu(l3_&@ga0>5dDB(ne9@ z+3h-2Ms>q7*R3IvG5>Ux*@mZGRcz3XSR@`V?CR4R*?GGvZ*#Hzc87Z1BeJBaE*^K_n zpDn&wafyu*2()_peudzCF6b{2iJ0_>y|USIwx2-nZ$U}Q6*AOvLhY9#JjLSt@h9X% z-yyRvUL@asHR1~J&80)hz^hJ5wR8PyVI~<4X1kIEX;Vh;Iqz1hphXHF+lq3$%pR-IBpCE zI*vH5rLlkZw`9jEJ~@!#^z$t!!6PJJEQqit96l>>T(**-nRFpT!XSz20gtRT2zF3< ze7S(oV0b^)MyGu~Yuyi*muK#F#cGe--1ABjb6En6Y|RRAS^4sN#qJD2E*kcTwBCmr zb!z~ZGy06#k^>w~c@f~7qLb8Wrs9MMiH1a$M`FvyV^Gn9wW&p2w{@WH>vwe z4N16t?&19?K|m}SygOSO6P59(1PH+Pj8`Fc-pn_Q-`okC}A;+L=7p?rYZksVcj zR!e~DXD?G|Zo8T)^wS!N<7OnLQ#o`oMoJtAz@@)wUY@cCTue)N90X{d^+O^YoDGPS z{_dNHwV^y-_Lb@5a5x6Cd>Hzc>41D%L|}is0x(LVt)3o-M8;i!BoIlP9U5R!kZY!4 z5?FY$$g)^Mvx`UkN!nQ3R2ugXXso5g$-LOGdlo`9L=To|P<&n*oat!^R7YANr{8xy zoWdTy(YaWSF=OTXn_`DL>cfyt6RCo8Jxb*PE6BWQs(t!NK8k5sG|wN2to}HhTU-Mf zt|%IjxAGW)Sqr4TlLaPgE=z@XA7=7KE0+KjuHfUR?xT^}DarB1@M#HEFVFkkQ9$~` z71+I*%$EtZ{L{PHVr4m&Y6=-_r4@hmGUc>xl9&HsYqlb2hWw|8jObH?)y^%R&JKN&wy6XBeHKk zuQ_*v>}SQ^BXe8E7upGaB z9J?Fw#^J@>$6;HCw+=E)VxYB}%rRhyqr*P2!*#CJ)Io_MaNovK+1$oY1|iQ88wlt7 zrz&aOOkx+@D4{Z3qz(j2x%_sK;nnG~`_mnmNkg;l*~yHpKsTeDJUzEE9JEnjFtNkz z)3UivKi`w8UmUqN>#bitO#xvTdvWcUpLE(5&7mNj*~qb&C*fLUe4-XNs6sb#ii$yI z%-AD`rvcCM5WW&hw|EZO)SQkHBn)GHfmkNOjW|{>6DSqq% zDpl)@=2rG(kYLR&v&Q8Y*kg1V7J)%t+rQ;0+cS=C!TW6Hy8$2+w~vn*^D=*i#IdMEdBH48Y(oc?4F@Zr^%dj6T{(7V~iLXgOkY+TZr=_v<>LNlKRXl= zLgM6|S7p8=Y-Uwu;{*)Xk9UfgWrFdHOU=&1iudDfOgn?&TuCY=y7faJrqLwu!^qHM ziUoCLFz_n%=?}}&R+&^D+G}}Bns3+}OC8dEwb0-p2zGrspOtbMjNU%Xv57v9>d&&; zK=rgyvYnb-I~f^Xb$VLtEKYyy+VlH|hnqzL8vUC&MHm1_R(8qRm9_Jx1^_!{V?}2W zh{7f#=HPfoFjQu{j3KqpcAQ?{$Q+lW={%v-lNOu-MpI=nQ(SMY2GRKKm-o^EeD&ki z3c!8EhEbf(eR_!cY`MO7+{g&}1NMA}j6gV3OmsTKhHRcn01(5Fc-g=1sHP977ytUz ze3P`N>v_wJ^|cc_U{%t)11q<`C4v4%0rxT-97j^KEM*(Gjgc0d=Pk?bzkkpol+?Or zU=RmodpuW(tpW%@+J_H1#lVqoA-vMUUsjFDED!`gC^lnVdiq?7u*!acOAC-iRB07y z>?M~yLJp=5BSD4>cn;C51Y-ld8SkB*k-7{Ci`K=+sk zvE3c8s}^6@00RttEX@T=B?O$A3Q^ud^&=#g@gDD^e4YwC*IHcM8eaRR-*2x#$Tw#j z2ew5hT5MlA*bDN|rL!#`Y&iCE4#9&7-)j#zj@AB=*}J*G=BXG zS~v)o&WR-AsnAvx?DxQWo+hby+3Bo99CAl@?e67JpH5Ne@tuZRdV<8BrX~zBy${pi zqjCI2YTeevGNqUVm)_0z8YtmTgrYE;58k!tIuB;^5Gb)=B2>#l6cE{iL%#dnFt;rO zYU{M^0qf3iHup$pY^NAg0eCUZ#Q|W9bc7%!HePjBrT^}4fj@lhZ|!E${vUp{xuD$& z3h>1Rw@sRGwp5X)S5~e@*fC%!elWP5I!KC}Kh6W3gz0CmsFUB%>QDJq*ho#g z;w9Ye1*z@N|E%b#BNc({ghWA*kYw0~3N;~|&&5xgXb`j9dXS{a`O-0`?W-9CDE-!I z>$!Vlrs3OLun6{opKZ_kNIsL_$_{^Y_7C6zvMp}%wBjVLYKOMv*b(j{b*BAD9p@M4 zU3M3Ic+^0Ddi!8)O7}bL80;?b==Lf)s0C9k*@V4({7KYxs)v>Iv!B;6qOw(BP_dFM z0a{xpX~|mPW!?>?k{FHGI2Wu<5?9BQ{@6qjTT|_z{qWAaT%|E&~*DEF@LUM0&*LBz*)Q$fJ3#My_s+T!v&Q zYngg3ZE7v+E!vmUIGA1xL`hQt*l`IdTj9swJyiZYd-A0QFWWO+*DX_9EAzh2Y|PoR zVg#o0MNC`ec0^Ll9~@M8w({!rZm#(BCHA{NF|Uu)YTM3oc3iBBG`gOHVlev1Y&eYvgv7-TUM(pM$3SMv8y!bHDR7Cdr>56eQnS)_10)5s=+p#vwL>$>`U;l_>!qf#nbs0f1sag2bD9phl-&<8>d}Nsku<>X`Z}D%HT=&6-K!p0S?NyU1fZM6(r5#Z*zY)DUu3+Uot4 zxaYq=(InQ0S^ND7z9X3(P2_#JNa`L5JBqVmo`9g`bl6=mnCpkWANer`>%FlDg>a>8 zwB6>bd`vuhU6H7W-Z|o@Q=*swJRk|ek4*<~aQNe#9PeztKvSosaBM~m=XD? zd)Z#afNJHcG7=HxO6mAb1*J<{jk*w_8}6zgGTtCZ%nWokFi#)E-6yi)PVS)Tsxp03cVlP@n&5mc@}3}bL3!Mcr! zXxG@=!)>1~R8o|Dbetp5RI{LV!HuFPfit-sh7iEg;bwR1P_YQ><_6OzE+^sI$?s;B z4NP?(Z##y##azCdnwl?e?GTeC-8k5gdS<6C6A{_0Gnkl>xHNS8$I0HldwW0BnRFTaLd>(XiRIgai`#`GRD(Z#V{n*19vhKwI3W;fH@D7{W2kS{UhELx{(Y;o zgP5@08cV-9GR@jCa`Mpl%R@9Ew|?_8u%9#z`L%;MQ>a9>?vna0gVGFaxcuQ?KDF9* zzGR-Z4Q+|>i|>B8pAg$M>*~SdD6e-jN93~IZe3kyjfU5ryRHG3o;C?1EFA6@Sa*%p z_~D(0fi$~1z4tjrP8Ippo!_i;R?kYYR)Bj$6WQ1V+w^#rA);h+1O2eJpC80?Zh{cR7TnWf@+f_5kK6zG^{D6A1YIKlU4Lt%PnUd zo2ccS{ya%GuafdS!sOGTLKi_TVWo7Ac3cPq*IiS}PQLoXG?VVXb5ri+#RM0*WZ6?O zIXu6#%Iri*jH_X(=}%)|v67!|E9WbY13)qBj=lQf;UU+V72mwr7^hbM&7Xh%Y2HJ( zo|I{pLxS~2^6_vXMFW&&6&*Ca~bPZ^=igNu=@-Lg=h-XkbRq$>QA_lU#JVLKytKU!nz`F zW4(dxLAgH#%x8m&X`oWbmLb8U6#AGctY9*%s z!$cCC`Fb&&E*?%gL_WBDM1;h_Ngoza!?GsH{&qB1Lsr!FTqBv-j8Hi!!7e0bWK^~3 z6nydR#F~xQi$+sjI73U^yp1~-3E`I#|xjAWD)W~ z4xY|1S;phQT1Bt^=U1Lz-mYY6I=8Rx~a<#&SHn zx^lr`OHUxJb+-o7Rqv;FRw_&CC#UW4ObM}gt#0H?E)pu&6k@cpCzuK>2e&D3LZXPOz*i<2h2MJfqP;AEga0g}tVDP68M0)ho{VHZR$<&-p0UlHoD}ns^)CJ8E zm}6%*qeM*Oo)bhEFEB`A>v4XES^!yrf@7jsa#gy%n~8za-hQJ97w@00}%UCzJMlsbt@hj=geoA7Y%o*zq^zI_>e!_O8MQ4*Q zOGmsqvNCmMty7p6!J(oDK(axwB00Xtwy^2a3qp3gm@KCr9y%~@U-s#YJDP+~KF2#V zI9R~725+l0H#(*N`o-#8O{If{jTb&YPVUvMBQ~}TqHzGX`{33-s6r%8GV`C*r%&d8 z_({Qt_4Vl(jUG;}7gQskc=p<7WiBPdD{XP|KxLiQ1d1kieIE^pUGeS`-QAT59D@{% zt>y(Xip7^tskvKxvR%pmUH#ytxWNOUm)|FFQx&BPcGJpGMCGnoZ$N??W(CV9$I=V z%B~89oe>0f&esT!Ya{+uaXBO^ja~lh|Ee`5WwJC#T!#h7PCZS{)>Jl4B2rF3q7cB+ z`}|7Xm-AtRPWD-SZj0|XNm$CfH%U#+7Q@M%yEU1E)W>!}`T^p1 z?=?<9{pHO_+~F2|6+j{*$_g8qnXdpG0BC=*W)7-mR4xDx-Kf)@@0I;mV(Z&W8)LJa z`FPrw|MHnPi%BH=syY0yPL*j#-Tb++r3kgSrx3CL4Z2u~R{BbzI{)pvkVWQ?^e3tQ zI9e|&pB>QdI>~W9T%z9n=l2Gmwr(Cq<2l^OjLyyKc0APl#gg0m_|-JDUCcDLfr~Et z>aVvPi+OUC!{}n2#RN%C(bhxD6KJEqP9k-#>w`5E%{5P(gd$=sCmtED-TG1Zu&D<; zxAXH|Z-VbPBw@p|WMl;x2E_>gByr+zG;THx%NctznW|d9ZvkqrH}k@EdjeaxW}4q% z+@P-jh%5y2mGGj8#4wV6dW4QG97(@=omsU_ZvXSo_NCd|7Fv1olzX_Pwka(r9Gh=P zyc9>#@a=0C^|b|(3InO zSHHa%_Zh{F<`WMAaoO&B6bkzHxAJpr6nZO%Ch&S0Vs>&#z!gfR6cIbaUh?`iyOUSdCe6C53;1>9Nz)n*AtXpRWTyhIjXZR;m(X15GE=4ut{KV3u2>Z+w8 z;IeNK0vVXZb_H{F3)wj?XDGub`79F!;`2;{iN!AcVGH^ zXM-5i6Km@bTN<&qY|kxAoAk%ad3Tv4=31pw;B*C(Fbw-~G2j12`}9}Ra_S<)reO0~ z8e(%PaA~EhaCen1LhH#4l6d{}WE41?DjJ&OcfW6!jHqpd*wDJPw3pt|Bkr&v%|-Ba`RD z>1=5@L>`$K?tC6mAhl0Cwr3mr$a;>9j|?*P5s%!-ILd9M{l&t8y>=&(DQz^joyRU* z%UBlduL2RbxLr}X9YGAnm59kS)@~+ZrThiFf}p%;mkuJ7f0{oGFSYrcFJac6D^)waQY7=oB*UB-^?9?HWfy z-%;iZGf752eOS5{A;!Jd<)y!gkl|$y-rAzU>~0<*N(WoGN9EC&PT@%9S3-9Jm7Z<##M>cwbfui}zAx^xi{Z*m%>GSRwGyd@&1Q)pN|Kn9 zXRXxhylbJ=9bAoMcxo_N*0n&`Fr^x~TF(YL*GP~5bn4-OtzCb2tNMXDcpT2A7E8IR zu8zWDDzK1h#qPSL8il9QP{^dh+fFQzuI*WaZoq(`NN8)@_n}l;q5ue; zw}R~*%ySp*HN2tJWHLo1(jNAfF~zWuFM&EqL|MxG}H{FLhMR~fq^0+NA#?!eBCpEV*Ck9Z|N1Daq zHv<}*osBb<)weBgy_9MnPoSng+j3`GkWi#%=2D%nN2vm4tA4tOjN3~v{p_d~Ubg^_ zEgbXxKEMfEyYMO?61MKVy^RqUf+02;P6%=RxYY4lMtOT<_?Ckv%4}t!&6+c?aS}`* z40lxS^$rrmWV$F}I7Lz%O%eoE-JxcyjlnR^*_A`a^NDV*hW#Z_&5ysjLy3>AC})N@ z>l$1d=gR{4@jyF64xt#8&a<%}u}?l>zx|f@ zWCyke59FUcP1bR~2)k4%jl_@dfR|g=LnnIihU{IuoyfZ>_2S#MAg!+ZdJ^A!H^eAt zcyeJR%l5=3z~05pD*u~baZBB`rNgxCbFpE;+eaB&=Sm_;;bBOnNNbI~e9f+Gf)Uu| zy@+v*??*~lD$Q|UAj!*adA;!?5R zsOAKL0Ql{FdU7)hB8SX}!%?g6k+PV~hsMV0pae`}7`K*@B)dQUezv>kkE4=cPjuS)DP;r>^ro59v{5emd= z>O%=#76AaKXc(4Cm=qm5;-M?mjkguP9{ErM&kvX&aw~= zt`)di2C2RJ?4PH<{$D>&hl-tj@jMH&dpr1e>cU)LIv{P{3_+PiE2-JrJD3dJ-u=Q{ zjVv+c5AO!b+$J~<(XQ`+da>4oM+zoy{n?u|M)NW&miKF*21ycSkC8@d^yNu^<@$?$ zr`H=RnrbckTCz!uHxmFh9GO)&Z;8Wzu*ImhRL)^mR6JxR3dz#3hXjwK{A+PT$wspG zNj7jmGSUDZGwpD6K2oOhh>J!;&2s59W$MySl~x{%Y(AN3)X^u%`KY|f`%!xDKn}42 z{y4!|497r(n7z}>nfcuc%zr9eTyZ->;&c(FlrZY{ZhZZyQYzR{f3S{e0pRR_J(6CFnaNV|L3=o!$uT9YXmk0}ZXXDi{5 z=-aXgncX2=7aii&3t|QY}03G@QU}%i*EnR*v%o zgV}T=1>qcpGg4@!kLdf3_^cdEG?I%zI#~PeY|y#sqvYg|U$4ld`_rw5Ozv#9*ks2K zUg7YwL)tMDo-`*=RdObSuv!S_st;#N5VHF`54a(>_pD3+5aKyFu(Yd9=i*+2(8yZO z%upT7!^Bobm-j25q%eI(mbeh9)FD0L8ON~u0}nDaumA1U2Eta8ndV19f4wG)pjMOdi1oK7@@$K=)qRlUJJ$Mo@}mdkl?vY30s+b7Sw&; z=PUFk1-hm>cm4LY;to&0|Nd&FwLhGmU)<}76Oc5=$1YUZd-03(DB$Janykg(XgW*MIwnEDLd3&UA z^~Tmt2^uR5&`o~+3u!s_Hd-;#HxRvCu~jKqwc0wHbH4lM-=3*>aQS{76dV4{OsJ&N zMRIw2HkS&<_osfQn%w>I78OvK7Eom#<_?c@G?!-*wj`kGqoy}>a!r8{{1s6tVeYuS z3L$~T0>wkThco}lljF+zd?r=%g)GaEp1xAhvNXF<#0<0g@Lny}!ihW$``PnZBN?C;8^zxP>Hl8G2$xbo8%8O=;p%f(j* ztDETHC(E=kkiwGiR z1cBR>$Bg^f4kiEQ>uW{pKir?b9c&~=k|*aYie+fO_lLIz1gPE1J12jDw8wac&c8Sm zF*e`W-_4}!wG_)_Y9&Cc{nerGOF2YWVm2{RYIXAc%|x~I$^G?xYm^iut+PT!ks{zl z%ghyE08}<%K%=f<7M%+E9W{X?RVoCyi;j>@Y)^`uUi>KgRF;s`IZ+qt_ z(+F5!eSM=Z9(pr14!Scb?P?%N3j%3REG~^Ymb$Q`W!Irl*V0zHxzrI*ovzszhyK8# z7(s}@9MgNNnO|dQXAZjEq&z(WlYsJ1*FmxiCnXkD(u!p zSU7&p1gSS)aNX-5mlXxf4^sQ&SW6XoK}0}!HBLmtHu@h1anS$v$B||rnN8iYk_5?a z%f3%DB$rFGgx$aH0}=^9Kn#Eglj1OnN&rDt|LGr$Ec9^RAJ55hvKh#vWoUMJAM%K{ zS`C)D(&!)GIXFScX?SVy&3Y+EgZyXz!>I-tO4457i>JA1z zzEuQ#(Q|42P9u_)4gsEHY5MSH2@1T`o~4S*TLmStc=-N--pv@D_AI6ll$B66Lqk$I zy4Olaf-$pmFY1BeLtHWAua;dEXIz~v`t30&Q!ZL-Cg1(*Od|WYE1X&^mQW zc@l^s&tAC@K=CAsIT}{VfT+l_Dd_GR-#^Ov)3py_jMG_E{^oe}uQ%-TUw$I{K$=(8 z{HJ^HT8k-qb#m)SRd(|3Z0ysl+qoH-k)zVD3pYO*R9fa@pJY%ZS*ZM8N;68kj2m%s zDwF1L0vz@X$MelmOP55e)6uZ{R`~Yc?okm~bRK)d>DruL-A`4|GqjjbHMY43&lE~& zA(iJ*rd%%&aHe4Pi3V%(fAt%7tO~4)q*!k?R~<{2pGlK(jD;bcmMJKj-Hjp=Ts?e! z4iNL3RnmL+Xu7V{nEm6~^Z)G^THnMg$It5`&1S2-9mqRnQrw^{%aUxV4t)4&xq0aN z*+2hi0ywQ*o(*-^cR(3>yna+-C|IwoC~?P^od`1~3dL@S7{mw)j|1UZbvb6LJXL6N zlS%e41;9LufEz>p*)zsM%Vbxr|M@S9fdO#@l5J!-IEtP7_litUFI$O(_b(>_3XHya z2bGfU{Xhvpk2VnYGE+yA;f_ z0G=z5LA)V&l+*o;(U0~W=gbk_SQejw6B&PwN>^`zaOJavc5Zce?Oj2 zr-N?yzN zC>{8BT^q8^7*4#{{qSGk+sNwV$3B_#CZKcu;A0?+On;gc%CKuIMgWsctS4z+Thm!m zpE93(QVd+OxVzUZAyYHeOtV{Gn6XrUMNM9?z!l=onqxP99W%zhF^nA-E3p7R% z7))i;-ZU;%P>4@qPK3a#n=wi(y24-O{_}q__qX)#->cB_abm9fD(3db5SQ2+So$;{ zLD_1xSxxa2m9D~VYikdhS@zV-RY-Nx9)hp`r`PJ$5*1VB9Jsb{Ff4 zN?CxL-~i$f*cfi02Q&dh-c-#t;}x2wKs;D8FEZV0`gLvDW1tCG|!9qN~MrVS9ZwWfXh)NX%7dZ;o4nxhqIeAmGt_X&uIC8ytjpVbiP>K-m1#M z49kEP)_9VhwW30f5_cO+m~1|x5ZdKm*H#*vVbSUL7m18adtna0`q54SXaDJ49NxaY zz5en2<6zJ_zixLmXd~XNtq>_rEZ5TMR4Rkq-Z%coKZmEl)^;{~&;+OG$MfN$t5W;N zlJCJZo3D|R@6VEY-n+RT_Iv%|Xt`LpkkVT^ju!!JhA=(8z#*xcXb;WQPLvRJu`)v!OgO8TZr`sq8li6)f(MXBpQlx9G zmGQ$cG7BiugRPWQWa60i=YG6eVyHgoKXm8nN=ahFQ6F2-lYL}z zKd{yL<{_J5I8lg=8Q4o-pa*Tgl=}FyHXM#|gy+G87d-_nicsv#N7oliUt8H`dxeGL zg%1bo*4HNv&w`^{MPfiH9cV}zPY{{0ET&OLeGoQ=VIxm-gr(zYG5>6zcU-#p^EYJ_ zr1SM!J|lzk)>3FN{mXgceEeNScRU?-yMy6q)a|)aISZ^6yih6>)3z?`*W_Zgd0fW$ z-3AZ{VoFpyUb9GMGSP`=&!l#a$;^)*3EUcN!&rv;O%?BkQc`t(4y;`VeUL^tn;p4Is<2rLJ2-~DNt+NtA;lAx6XV&ayH7(kaxLaIdRP)fv1mEX_V z>k#1%Uzbz+yAl+MdrzP4iS`P}W*HP`;<1jYmqQ|KU3Ny3(f#$K3K(}CGf;+89}Ts| z+>7U{m?k63umga}u)dYhw66uJgY?oaY>NQ<;?H&wr26czP;b}|{?2nrpUw?qIE_%k z?AV7-psD6WsVBQaxVr1WDbEIZpnbiG3oh`4lr_-U0%zON=;V_4e8*O(&FfQ5(a<0& zR@I1d?>mlpe?D;*qXe9tpRTdxHy_m4oDIf$jBD5G^Dn5O#nS=u>~HcD_!s}a5>q>G zw%2Bf8_uNXPgASgxRMij4hsOT@~r5&F-j7_syCaB-Ec9OjQS3&-QD%pDC@73l?tckBEtM8i%E7j-?r)ww>dMP*u@naMM`=$oRWI zes?}J)VtI3tGoVma(~kvPDV?ZSYCA4A|7}#!c{BGhM!+$Jn`ihTO?I(>^B!bYDZr* zVPzCmvk+ZNQz8N6w+eEpjJZrzn6^Dr^UQH?w2aW@*`w_mVf^sbFk45*-MI?_tEmSr zdqI9XyE^w@zWjLd!}OSRnoRUnSUI33=Jvh-Zz9X!cdAUNx7#-5Uw?nq@7#@JA@|ISK_<9Si&UNH^ommW+yJIk54?v zI|Tw~GNl}3;LRgx(36fUBwfm37|WZ{h?xMGc&da_m)g7`*Vme@4H}C?*Fj-?APMj!%%UnhIHO( z&E4p`M}H6;r`qYblW%Q z!&Yl%+lub$lhy#QW}s-pu!O7ehoucna@&#;mPBnGR<@O&=EbTAEJs{}^%1e$NK3`0 zNEal{mU4vWt{!?0m$m-sU(hGw!|#5Wn6tj;o&0`4^G3VXT8iTO_F-*07(7#nJPAsr z%HfWH=8uX@VW-C1PGL7gvIJMJ5(!goHVzu`)X6re#r5eZNCIztf6<$DZq+pP_&!Ku zhNeNq0=fFJ&6Gu8c78*YNyo#V|01Q}`;tbKu!JR(4Io#yax5HUr58<>%awC!W^p~E zWb5*=@WlN4f3X_r?w`KASJ%_Y*sw*AP5++%)%7onFvJyQ=?S& zv<(fUM4CvXW;4rje9SbPy?)#ks$c!C5~lH@vX{LE`>42XpxhgWAJ+00M}0d#VHXZ}Fb<)TBRy}`qmzk5K_ zNw+gw^dCkRl9d);|9+XFJJ&&JhcqTVo6ieD>pVEDt z6D@CSX#v;v`1TKz?5m0o1^tQeEVo)CEMVu4&fzw;(A9`W=btN)gl;B_e?MvLI@gnDQ80_p4yEi0A5PL&ncuA1|g8+X5 zc|!s_*qPnl*`5|t)m>GYm6?^18CrORYwf1BrX_jDKqy22;TFfv_r1^KZg!5eR@{Uu zliKLbWr{c`YTaG+o$ll0RNv}YcKcD;Sx2>POtx`EUs=KAbk5iD^rXPg9{^7Ff#?I3 z3b0b#7%yPbRE0^ucWGC*(thAhZ`NkaMx(2tBrA4?x_d3L;98DBc^T0hkAOlsA5GQD z!w$}*n6ky__|u#m62&;S9B#5aFar%Rojh8b8A+5p557*h&^gn&CXQ|=$ zYP({u-H<7|!}OOZ6j7Zr>`hZ`D`zoLaPAi%29vd?-9SQ`-3mj{h_>120fZyk^+lYu zMmj@jE*wlx=QN7~o56UYfw(**_sfnNF||%ShMpbLWC2|3K7f;eA5DJy%FEa3_4NYb zX(*}g;IfO+nLHOxu9U`O`u4`hK>(z)^oK>FDV8F;+X5Ka5nb6ne3D(vb+E8qjuQcO zA&%$Z#n8Y3Q(7!-XXCN3p+!KF+iS#=nN1Z-=-m$zW1rth+Q!ze&Le*I>efXlQG0h~ zvpIZvA+!p`gqE;f`Wug3*fU#T8 z9%RJ5$4!K49`3b-#+FDHDxsIF3JhqDdJ=-`lZ|wDK3tEciFftmt?4WGH_qPS?BBlt z3S^8i(R8p#ZKcG+z9xFL#6AUwFJt_UHc|N!EI2)$SbNKO59uppY@hBI1WU+wT zrW0k*-mxJHxUXnPr=rgTR?M^7Z3>XkGzHbw(s8bD^-Lk2E;c~5sJ|aq8tU;n%WP(0 z^`Jo{iRPvZu$zzRT3sLzvaw$T^tHuS^2!J@rVqp8-@fOcE`wu2*h%@>tMwqruS!DDUm&3a(X2%2BU=zCxf4^mb$bt%>Ex=P91kW=-=Ni z8POli>;xe=zSa~_5b%&%D@$?>!O$z8K4DF!*=-gHFA*ADF?0|Tj$+J`Tog_OTAmmn zhQ)?%yMF9Rqp6~*vd4t8kzL+zyJL%`a0+lDD8^e`gtT<+Z21aNYwd1{IN#o> zK_4~*Bw(hP!&kj!k`C-(mc+Bm^HER){?q^d0wd+#=?`yjPVTH|a&a>l&LlWbtWSSh zQI#@i1}JG?FZsvMN=U9I@H?MN7~4;pKYUyRYSoh_KUyh1p?~}PksnyfYLr%-t;|3+v```l%AXvu3E9}$Zsh6852g{aN@keewJ3L-sglpKICR?6oD{_RcUY&&5;PmyTe3WAA zB-2E11}G0ZrbX@U(dta4w+`x5tWi()QIB~13-Q$p`dJ&%hHg=`B|Bnkz~v@%oN)ej zoM9G2Ex=h~{-1wmwz}|gban0(8FQhkilwfiLOx#f)_fIlLp-Ix`6&BwirP^a!9?|8 z6H4hKS1q<1sARJlJ}WRhC!Yt89uVVS{*= zX_QF>WvW@v%cn<8_kJ**e3@BVSgVU!P-^HfIDbF%sc3v9bIg1cGgz>G@x7Og6lu}F zJ%7I_ZwKcmbAZdZ_p^wumFY05Kikdv<){b0V4*S}9A2Eefpv z>=(5N$ahLYo+aCRw1ZVCkSn)1-DYyIi*OVHxTU)6QL*r{Y$y7{mH++78X?-S_w zx8ItAdv*f@VPY^G<)N6$n3=%J^z5dIom`?p}|2o6nN;?=U>%jmEYRi->DUfrBbubHJ)}1 zwepKk@}aG4l2#X7DxT{Hv)=Xf1Qf0Fo5|%LUM_uCxp{eGnxo;yO3Qe-28&s5<Tv|IL&m?nH0pXygL8wWvOOP1Aly{z!c_A zZZ|PH{pQ;ln)JTE=0xLerffE5!Z4u|DmVU4X*z~6J$djn7iv~!cduQ}lLQ?{-0mk^ zu>&F?U9W|@(8)pM-ZS#-)FBbF!cN}anHUEdlI^-~7&4zq(>kDw4VMEzMF_=MR$#gW;C57q1F>lFQ%$FG$7K-lqII|;!F$PcG zj1zOICT4$QZB`JW_l9%LcXTVH3gqmaRxJSHXOCcuzzv}N{OJL2=xj>>@O-UXf~oFK zk;jq9jc6WHReK{x+U>bl5oF1b-hD3>%h6_h_IBii_VnHR{@ft_g~`LWXDY(B8;}w+ zV)vj7#4ySfM6vULQsB-u6~GLU+DovU*~M*2*+kWhY>MLa#shTKb2r1=VMI%(*DHCp zA=t!l^x+C5z$A%QgQ$DBl}Tb$s2n_e{3Pd*kG^`8Ywk8hE`Ri^18eLcxt)5bigoSB zQK6VNW5FAZS7ADK=QH0~U0>W^o?b5EY<~0o595d;wQo)!LRzWIJ4tB8$CvybVRGHF zV~~PSfCm?Hrbf(9r}amIsrYoMlr7aMFjHd?Z)I`?oGP=@KqqsBR%!63NxsGs(4sdR zPd$-Qr~Edfc=_6gwT&O-VIr5$5z|@ai-si!V3Mt-PPhtaHc=eRoa<@O1^|}WR^Z(K z{+201(rP(h&j&hMV5I(Xvy56LYqWHzw3;d`RcaOT1)eQ8%K1_*Tn7y3k(6>dVD@tB zE45T1AUdCM`{!z*omTq~ucn!t+1ntL_VzZjMX8GG0=z$%>vohj5QQmIF1ob`t>a>? zviDIFNqo2Tyt-Kfu=lkY<>Tu zjy$A3`XuM;A%VMALIJwAIJve8ow$E*Qox&kRGzn&r{j>6ujX)(S)UK-GUi4ASL86h zgeC-=N_^?j4x}bnj5Hdsi?hClA8sQXoz4gME1XYMNt%pS)00~m?|*Z=Hl*cjwqA^u z2u0B}3{r*0&cg@9lKAKW#}x93L*}_a@!5I~ur;^5lLr&${#437E{$K`yYhQUL}x?G zn@=^zG}(%GeLqtIx>Z&G`9+ipO!N7ce&rl~+O2=|NC2tE!$k~jGx6JR=g9iii+kUj-6-nWiOUh{^(D~cjE$VmbQo=HXS|zR zVDIB*xL)Xn4iz3B5-Ts@Oh4WWtyCu++HuGvb zLXiFX7lo8xsT_ zZ?O2VvVbDZRWL)4BoIJMsb1rJ1#Q=3pArR*@Z2;DP~YcRYnlDL1Gus$mJwg1W}8fj zh|qk!V4Z1&R)aKEb+L%Io@S-f*At}D|`vW9DnC9PHl=q;uo?u3 ze^_I(l->Cx?+Bmg-`uo*R`)y-F_e%aow%}FhN85qi;<=p5d<*|U`>Y$Bf>dwbUw3F zR?tVI`d67BUi!5rv6vw|xVagzUwwwkT%*0yDd$R!R;yKO?QDtTxAt}|rHp7ZTT@TB zHZR{RuIDok(C>dga$HAOR&tkn?x(G~U25zeztJy3inBM#Ej#q)+KkvJcy`1}% z4rcnOBTLldOyCo7^c0Y-=F*D=uQnR zI|x%Wkzb6&25B3_!$X4Tba}FP`0QyZb&8{IGp(|!SUC8&fg#yKN<4;}FL}2^RbCsI zdVYHT>SVq8Y4pg5|fPwqWS(T-rZ+cC$H~NFU zGN^1kNmU_REZ5RzRA@vhzuOcTKo07SwAq%j#w_FspKqcX$cy1v`mjxm3&OVQL%w97 zSZclwz%r2@XVCtoP7xTEtWSPiFkGYus4Lq5L}ocdMzTPE1X3}aJFNK{QSa_HNSLjZ z2|V_pY_0m?DZ>(mUvH zD8ZEyjHE0&<90X@6WTQnMG3sHRc#z>@m#${rPx^6X|4Zso_}1_l$3i%3d}&`KYTOt zy}@t)^O+aVE>7=bM4H2N1XM%|#AUXQ9#pM4T(50)dCvs^fS?eB+hqn<5?5q^kmkL!AMeuxNTX7kZq~9#mj&%+ zkbVa;pee65mSZe$Za?e>HJ)z_*9()xgX&elA!wA~UAy^3ZnH6fY>^;p?8$|=g#fi? z>EHn*1@)tYoa|OBk(2wl1BVb-+a_fN&#^{-1>>8a{&cZiq;%q4*z3nB`Hw#6{BA8!_E z(|-967icm%J-Z$Z2TPPurgrEC>R?WmYb|Efvnb31Fmb!!&cSN+b%*!f$z&=fGTlqcq$ps< z^~o9`B14vDgXG!A{&#QYE?wdL&1yV#A%HE(KlMCcH$npQ%>;+wdbgCAQT-Qx{g8&l z-NUU)y%2>wi}_9hS(9a8^=?8kl-BBIX_Y^I>i>94cB+6fS20+@OTctPqswK4@mR>z zogdDyT7d)Ph3caM3&A*vKtdf*K>^eex(wtss&{k$13HtC0gfUvC05w zmRXJc`qR9&T$_MUqE;7g`(CiRn>fb()lh~~4qr)=WPdBNQ9M0sEGLMRttEkhcN+{# zg;q=eML@d06`wx#mRP4o0_E)*1{EIdrk5u_et)Y= z7&wI*DMSLFpkI^b!?}y*CMgP;j>CQ+-UVEhRBEux#T5{8bVLV3balICI2T=i=bksCcu7#VI)hVI7!0xWC_qL2i*T~6QtZ^sPbl@wd&Ty z#xOR^658o3SA#W-x2N=8!M3^DR!78zdX>ca>eJ^n9Hz^}Oyw%@#wK{(aj9IT47HFpMHNO`w#>=LGZG;L;Xi+?gU{>OnMJ zmXG-PDj_gh$T8Nys5H^p)x-sD10x4-mpBt{G)SoCh=kZVYF0QeEbq33j2LSsRjYD| zAt!7pm-J8MN(ECFD|tGizS@!c8wUbRJqm`m2FV(|G0Z^_;A*xx*0?$}oD=oE!xAuC zAv+%xSLrlSCz8WIYtDX}GUcKGB?U6j-@i24mBsr_CdY<`6|-4ndTf0BS$KTqH9y)X zJkJJ;jqv4hwj10n0Wc0n$7=cEL;UiOn{Eg5bRWyW!+RZOF!Q=EK5BWRC76JOGMZJtj8S3^qn*~P|@ z28)QWB_b0TP)5k-vIiek+4AmIjz)xo&vt`ZSgLYR0-^{~t|4Xw1g;?u#~W$wIJ3*% zbh%Moj5O}_dINNkjQHWw^7VzDD`1*L31O7WMIOmube5x7Y}WU4S@Sk%h{oI{2uy77 zra=IMbA>I#ldG9#>VwO%Z7+sn3BYL<)@-gEt7s`lpiatg6kQgv@`FZ}1EJbcTVTSN zO6-`Ryy)snyNZnt6KM3z5oK9UH9JLP%Fwelgpm3 z4<(wiTspWsbMgfY1QTD^ph`6~Io8s#Vphx-d4@xA2BT=lW-4qHt*@P3=Hde27(^Yf zlHyhw4ZZamZa!?HL4xb2n|vB-()+uZ|n2J~~ z`~6`5C@+GuUi9>{Tud+oDl|Gp48T|#gDk~|A>SOIrstd2U;OcIJ-0|)nJf)A!BKN) zKYuK}nhHfv4`Prk3#t9*2;C`cwK|;=k?7|mx>Kh@$MiKNA<23NUTw&uCnaZY z<3CL?NLg46nKo!$%*894p#hjc0hrJ7lrxcFG}xG}zkDRW>czs&pMTCMl9JG{I+^)M zxSW`&wxL-rnBULMKsUeQfQxV0y-Ew^(|yFG;#+O9J1lP1IAsR4%?rief%Nb zn_{(Q4zTDh@cNS8D=WvxD|Bsd3 z5i(m93d30}rG;Q+Lea*s`a{{&Tqd}e3DgbYz;cH7fDmmQScC?*V7rE6CC->RVlzW^ zcA>HVVT*X2V0n>oO|JdnIW%OJ=0l{duEroD&)jI$o8Wc(r#_JdOh1g0#Mltqh2<60 z5@WEKCo;t>1`>s8S>TI#EbuIVZ)`EsvlT|e31G}8<5l(n*}GUdK>`GptYf)kInv`G z0=&)4$(3PEHC?h(gXi~?xk>ZEXv5@SC&8&=G4XIFg&S={q_Yp!{gkCtX{d?9rXLn) zbE%Sr4CD-Z{#FB6_2&u0BHG>R;9pb}muWrTZ|noK4us7^13CYxt^ zzh8)yGTUro!qp=~-sP{~leu6zoDOfU28-#~hZb)q#Xacy~*M;u}p_uXeJ)a|OGYA9U4lyh=?d9Dx^SrCP`c5iUqp@6i z(4w>@vU5Pl0hebWgrYvISc)Q;r+H{-A)Nz0!b)jc;2DvnDJ%pDd$@oozyss;y_T|b zQPgg}Kw}a3!P7rput%;K4v1NO-#h5l=qP2AD6=Pafw0?7^pXCoE)RqMkSAV3stOhBTH# zV|=p)g4ph-MXxKa>qPpSA6F5~w6{RTN5xXU2yAqw$QWkpv;0h<%Nc}XD4fDcwp8+^ zkY_-U!MxS|CJJ?FIldbV?xs2=z?yP6VLF+c`j)oUTkv9<9oE4O>k@|E-p2Wu}o_;mQ@|ZmA;#W6)+pzFCc-{ z7g8v8vaV#p*#}i+8VHqcel@`wB9_~&+Sj+x)))Vxbn;L7X9w~y6e$RZ=rS9{0EJAi zRk4cOi{n$UQS_G<7&=j?De^`Gu}L3dbv;`|06bheEUB%DR=X)80FgpKl{4VHecLVzxvCcRkRsW-Kw}V zcq`|@HF9trHk*jHv3Mb|bSDBh5mh$`3o1h?0WgZnQR6?nhf5TLudl}{z(LC(ZC?%a z?o7%a?lZHSF?w`J%9hwEvO=}NuI~J58Pw1^Gdo)$u_HV?3Vu4(j6f`g7w<+!cb+P1(8Z0aO2?RW?5t~UzOp480qNaqsgytKD^rKFLiB{bhe5_XaYHw zF6G?&DY*ZMu$B@$!(rYsBRp4pvVGXt#|SSKl0ipM8xS z-{M6A=c2g2<&FIui)0JVNRFYvM8EnO)Z6$#uA7}+Ej=&dIPL8j*rn$xOaRJ6#dD0a zL0dV)uXj9x;LHQ zh?0ywIipKBP);h}tWs<5O99<^t0Y8TU(nC+9-lrHqP?QrpJEW(!)Y6 zTP)}EH1xq|6A(%ws*yD$U5j=Oozp3nr>3VjieuT@==$wX=l224TIWApL-oyzzHe`k z3K0j6(5;Zd)_zym=pX;h0oVDW<2p=0(+dAgr$p7>!)d zT+O5Q4)0qbp3mI9(hH>KmJ5o+q*99VT&yJJCcJ`6=>eB0UG=a$nUX5kfHqDhmjte) zp;#nMWNUQn?+L>z6@-)7wa)OtB7FQ9nn64DgxKnOL$9*cZD%~6B9S!g8Bg+3NXttn zQ{=;Hf#LXejq;QyZRGV*_5xSEI390?BUF%&PXD7rNk2dGYyrOWMnzWw}@ zZ3ZnJJ~=wvD3bw^>*9DFxN{{HoFLoNf{zw@6y#bs=}hE0!`wXdGBv%B1%)i-XjTWxmW{wjaC#TVGo*^+5C z^Q5=xE7^ks;`Y5>+XCPI?iwKM@r(cRqQ72D4Sn9bxRw0a?wzX?g+U-&s+C1S*!uD@ z8T0#3tCc!~^0g99i2@6UK(;`v@3cZ4mZy@NRxgfuy5pLr?+xGeeaKpSfrVtV?#2Qz zaA`H4)l3!2w!4)qe07%nQs}QlAv8?-=@VRo85d}8!}p8Aw)K8WlBN&)n&Bt0He4j> zgna*MzPTO-cE3Mg{hNRJub+1QPXPGa|LJf4$N%+j|CfLFKR*SO{{sM8fAjx+5C91L zZ|T<$KTH09Zzar&aU6+#%M4%?@(j&ESe``!-*tdYmarycm&?+L;gKv7CkRe~rU#*b z>m(2W=d+<6(?poIqXdU^#r8vx#ytb6)ez0XG92uFs50E1x&=P{_xU`n-fS>9fH6-} zfqYejeLo>M0ze5*_dw4jIVcSY&q**m(xb%CAw01yJuEj+S%Wi}2WAM}2<-sJ-Oa`+ zf7a2`KbS92`a*UwA((7f(Un}PS@D*k5REjJPc|w`YfC5t8WEeNV9+t`gh3VAk7NmB zBZ5zR2*TxgX-N>%et?IX6Ndp&FD4e4FJLgPjMUWAmXl2i(**2$NJh+8`49Uu!%Sp3 zy2j;GB~;XiF67i(lZVxSK@Gno7$YNF17$0LJfz;TFAWwi3XFn zlraWIYo9YxLp!VjNKFWk?&oza+A0P8DUs7JmucZ)tMPE9#@$DpZAlA%?@>5dE8}Gv zn(Xw9{)ktiJbC@nd~}4W3Q)+}J?HV^=Iy$)T|y&__RnweCKI8dgI98hF-M>5`M164 z#P9xU>-HZmw|}_}#w@bbb6aIB4iLm-+Ied-bx{A!@2+j%idg^nUDy!i(>Z~x=F(>E z6sY;l)XD7%mYeI;37_BLqnIQ?N(hFwz=bsLOx!%Z{_guZlw)HGF$QPOSAWJ&hZfx} zMnJyEs*>j;pvut51n ziC3o*Yn^GB{Q5$drY@3%27sqT2;6)pcUz11ekt6zWc5jP{HNqEzAi%g!h)GXJ)@46 zy{S+!FYi}lx3L4heVcsti|jx`0*gM_LM-E^2R{3{`1*HIbN$cb{G)bs-9zZW&|nds z4;DsH|CpaDQ~@^eW}}=FNQ5Y+I;4)Y+=E?uy;P=s`>U_fvBcCfATYX3+7;`~-+vdC zf$97AMmcoX@xxXP>Qdc_FW#yN#+?Du96-?EJYf44xk;SJBgdS-Kx6 zcEFdA$h++W#NxP5Qqp(-uxRf>QzP;qg6CH6u5~J#-L1v45kSy&CT>Lov^n8|3QV-2QL=Z1a=-^b7R2-(nA$>lu&r&-*L*L1A(}GK8lG zq_$DOXJ2s__gEz(^)-sN);OgN7Ixza)4%a)Xms0~ujYym$zxO7L|g{-r!$a66AH6s zJwf;as>_c2-ErpgeWjK?XltLYRDii;YEdpprPa*R7>e*r9E5HxqNlIr4@>G^y!!qa?poixnCcrRPuse^ zzL%I{HMu%hag-<^GMYtU(qAc+Up+&IORlq5_f9V3Vsdg$W|yze4WvZ&=i3LAIh=UK ze3)_}etOb+5=}uu-6)C&n|7(2(e3JPr|7M0oB?9kPf}$B02kdpz)Up9)V|sVkwy)M z>ebu7KP&EiXa?%!d`vV5h|1AUm;g+UX;!R@3k^dlE){N;{Q&HegHj2zoxOgm=Gf`+ zihx{SKJAwpy2Mp>kElVogZ2DwEd(pOd2I;ov_28^8%*SL zm}Z6up9$oUW^$aqj&Z-Rn~~H6BY7CZ8IIaq%3O4QsfJJ{Tuf$G=~>NK!nu5Oaqi_9 zf6;q=JkeAe%N6|L+gaz6o&Ce&hqV}XpJ7w+0Ka@Wg)*gh5-}KvK^~N=3P_Z%Y}8!E zx*f|yg+VQgY9T%4qrYe%xkjh-z2eLq6#A3f%c%ju{8?RM{-k*^mweUHMkJN(9|?Nscyv!kCEuituQ zULFMPmiO)7y|K%g@#|5h9W5-bmZxE+TqKYv;mQ@7?_y(YUyQhV7L0s7#e!%(vfD>3 zVz^-A7e4^cwpZW3@$%-4yZb1kuS_Vrwch~KOs{{0|M4x^;Vi{+5{lw#tg&7#t=eJy z{)ZU^o_(V?wEy^n5zVgfE;H>X-LCoKUMQ${-d1@sqD4&=>V!6%LV27i=3^r)eDVyI zb(I&k+2ky>L~!&4v@`>wQh|9pmGCoLP9KXa?i^i?4q)6$ky&(?;9&&o70nG ziyYmX!&f5)J^i+?49`{vpBuk^9g>!x6YY2B4(dV;`fi?WGGw(|#~l8Pr-ckWA8}vq z;h<%>NKqL6$KUuxdomxLTzHUUOH%if@Ki~=*U5|Et8MvW*q;Xg-zlvJiHIS5{iuQ`kc@u$L>!KYlyU@WJeEbbE>A5WdL7K3#9XM*U~o z#d=4O$CD&4mUo%6zrWi4w1sH5AD+IC4Y38T9mIE0|NiB)`ODqmpH{_IiJiZhJo&d> zQ+6TTHK?7#Ek^EtxN>|m)EQ1WJ?pPs0&`O14 zwJJT_BG!8LLE-wlv2fT0r&Bj2cnROxAq{~`s;Q~}Wy|4Uw4R|2`0R!%q`fgUU+LYl z`td$IpWAN8xALTRCucgy67TZzED)2)3gRiD0-pRh6N>1%-y6l%VytTNTyrElh$-j% zN_axAZEIu~!L=un7w?Iu538i7LapuHgIc7S8?c!3)5j8V%ZFmPww+C;Z}g8o##A*q z_&lT2{%_v!Ro{#@TKZWvZ<)9T*q>g z*je>^cdP9$o3;|M#d@RL0oVOi=fD2%wpLetIrn(Wn@y*24w)`c${eq3x=9)iM(S%_ zwPSldpU#k$Cf9#?M5%Ue=a9V_=q{55Hp|7`7|g{pzl4sY?a%nd zQg~b+zcaI_nH47IYm6bHO>dsxrEl-bk20D?MVo~h5KsR#_4ofNc=)iI#TWNVZlAuI z=C}CN9Fa=a>-}^*H<$3ZhCLSBaqV=k54 z*GKm88>_u5ILk@ATbV9}%=vd~)C~&mZ+>UjThQnl|BFXge|OXQY6ml?cQY@E%76KA z@!R+K<6nHj_Rhn-Bf-(*;=`^;#mlHGT;Ji8k{*7Ui}7f*Pl zCCFPnzgA+s%PVCyF=AyBCzB~8?mq_K_Om-xW;*-q-|b9R3`@{R_Mj7`H6+qO?vR1r%yty`C0o$zo|mW-o;ra6Wf3Rrf#tSl9{1as-4?wneJI&VIRA2=0e* zrHJMC=+jqDs{yRyXthD|j4hkg#~;Q0jp=g*e@!xj53jPSS9hjJP42DOCtHH9I1$QF zh?u3T*|}CZEO7M?GRN`^zJ9OnZ-+}QhRHnT`Y=Pq376#%h(<2oIax5~1n2UFxw{)r z;zn?O>yeR*bDLLpL{7jUz<7TPv%z}Y_qLgrze^gx#zXzZa1ArLX4aj{K;e_W+S9M? z&Xe84&**>r4e>a)k;M+&liJ1GQR9$~1oq@N`q8c^f|tKO<65j@CVGE`p^JH@p3Dpq z19L6sO0GWWFlJmVFk}R@KQ1np{G)PcxQc=ZfE)<+`+I(i)y>Ywc~!GP7N6dDnPhe` z#hU2wVg=@^jGvYjUCaV=gKfZ)fiMh95%wy|QE9P<%L~2K#+SW;hTxk^Z?|HO-u}}C zw*Mr$1D`xct;C1QH5P@`2K$Gi02MMj4AM%n-JMgbjQVZsONN+^Xo6cfqC=kGo)qA5g> z7Neo)c(aoWBkuDBfQ915Dph$Dcu=CKaKi1%YmdT~Ck^!Y4qm%Z%ll=&3rE95^GGE) zmh#~UY`WnTwcu2bpuN%g-M~HE&>o5=*Z7{D9r zu;Hlo>f^}G9T#4$)Q|wNfy=|soX0J&K6|)U{m>_%>*L%*0iR8 znmrbQW;L}Eownxs)oZny>b~Z-a_o@Fp|bAc(#fk)E-B0{e?Tkw_9cw*? zC77lmc`<9<*}wer(CKyV=ZB1i#(Zx7-6WD^99h@>CE5zFZpOgjg}G6feQY=(TB>#Y zSzMX*_0(R0yOI*{*va_q$SQs@D<8xi7vL}F45KKd*S?jQWF;=W{g#hY^;ccOr_V(v zwR=ci-ce8g%+U1%#Wf6HC(e- z+CfonG}==o`iJ-CCtAucfaTJ%NDk2=)vB2oG4pn3qS*omVd}-d zd^5mf1R}TF-8tna&Hh*-@_weAGg&vcQ!!5`(Hso`;f<`V$4f4U1U(A`oyFye_p|5l z<+AT9Je~5Q3`}X8y4@Q=sfNrV^+IgsZDj11#im&!0`r zkA(-1BZF_>DbbLt8m4&s)wNDWyw3UU$Jc5elk(X`FSe0M77OJSx6W?-lu4<3r87gfb*Ifm^ z{{R(ecsQdE@8@xgh~m=`obWqx^Z2e=AE}eK-^~)Fw8SWW1n2Qvwpy0C;!hGPTqq&R zoRgGb7HD#@urMPwb9gG&c|Ffpt&cyn$ViZsJ5wwXio|C}{n$>_v<*p}_q4UGpeBe= z0Gx_GAKx+i`P;XgS;Gw>mnw-6BA;rL8pg@%;>mUbZ3e{{RV4#ozC5sOE6O~+mAbshz@T-5AudhJt&3EnWJw_mC_3WLHO32rz##X8E z;=HfYes^$j)|n&OymoabU_Pd>Vt4sqHWDU=>PBKQ1yd_I4=a}Qm8|LJ_NpPzw8jfx z5jyQgD4Spq+cNO`&zVlkyZ=-4yRRj8)af?H!o}~em=e-!p$B_|Z}~#r?W=3QUR_Lx za%_5|$FcDQ%p~2BU3hX3<0iqf(g8DshMRNPkHF&>x6w8JniB^aE?%7tOMmG5w-?c^ zD51Um0I#MrPBu&fPbP5}hVlJP;I0|kO2aN--E>1$crY~+pML_41Tt3MEg5q+R!vI% zY47aT7ZVpAVDjUo)^R4Y%*&H+hnv3+U%Y9dWkLfyO_;D65ikdn^k*y5-KAPMNQdx^LY9&LYW8*fq{p^6Lbt*rrl6+T7Wc)PR=`ulOrZHi>|F5qd zT52~3!&XnRERaZK(1n@aTa7r#+CF6{x&uNk1SsPvCwS#YiRsXlS+W@Q0O;=fR^f4h zWDv#Dx^gU^pp27KYGb2FE^bfzKs?M|-gFv`869<+SH0yI*Q?&`C2JxpkBi***LW^U z(vjRoQk-LW@X527rt0MSjt_}%$46{rGj#EyV}Oosf{x@r++`G#i9}+_1TvWk`eJVA z!^@l6)p@-;0jcp>PmPq5@>QLsqk&j5V$Urmy;ijww@4Akss*LPJkDySJL{+nq(TX* z_4`hkna^zpO~sdyjhG&lsKzi?mYP}9GW1A!oe#I_UTHW^+F6!r4$9cS6yYo5ZaNFH%QL4Rr^cKJU3*Pl6E z9>o3G{OrpHuAAi@|CEJLfu}3f`!BQ#etpKTZ7=@Y-}DlNARsi~-`SZWGHf)*Hi8q1 zvsp9^%92x`JxgOp=K*Hsn)b!*A zT#0l(wz`)eZ^whP?>gD|@U)|c3XDS-^NB*_9{+K=b*snI8S3V}U5cw+vHFbpSW7(F z41ora2;&eLV9bk7Ag|Tt>D9$|H*^|q9$(qP0C%e(52FyFO>4xpj0x zRVbb%6M$+0u*J{DCSU|M1Kh-pCzA|>f|`ma6W(}EU%kqb8*&J1IR*z5o37u=E}u&!frJE&x@S3elKkM%Xv&qe7-3RD}T7- zXX3>K#l$Pg_B%cV8(2Q&jK_8?Us(?;C-0>E3U+-ou=K0rzA$Em^Y4_cGEzI4Ko~!? zf|g)F;*faw*w0P$)Q=PE!ZB}R7I#V!f0VLkLNMiD#_S3BpvVt-I2*S$Ca#~4QNmUx zWB)GRVO>*3lRlYmTsGuXLbz(^jwqvf^5ZeRR}k-Jao_8I?$8Lhl9=-t7XQhi56uSx;_^4;6?FIM&T5UM^X+x4SS@sA%;qAajrZgV}l7`V*zy7a49 z^I{};`2x{$qq5Gk&tXcRzT3iB=0ye{{VHzxx4LD+g)o zsJUd%+0kJ06Z*H`1EmM~#nJf!iTL_gVBq%4W`2Vhot^#ouM^{!Mh*#@%v#bL9&^>z za3GG0CPm_*Xfhs{ei%lw;NYewiiRdw;UYPDU-NDHJCiW>;wzE1#&*7_zrT*|1cgQ) z@^e>h%T%C9WLbWsAcaEnA-KJl!<$E;16-gB`1R{c-LKuK+bd#SU%#J;RCYq50B3fK zgfZ1(DT0oG9Vr+u?y`g^Om<+f=%_VkNZsl%I2-U3aMs1^zrxlPb&Slw@YXXFqNcbrq(iHY9JRX zc4Gtufp&x3iO;8K5Q&r{mgkOJA|0g>+py84eI|CQa>H5MFGSJKv6dpa9*>fg);b%7 z%TnF(b8`k0B!9?}6%&Dpcnp(uQW--Lxx=w1(_CV7bp7KB0DSQJ?K~3F#(E^sYd|q@ zZn&+>1%X1+#N9sxCSWp|2&PtP#a9kl!TagS0Lf*8`TM@_|H-`f+0Ry{H|?nxN%~Mh zHV_no7Dq?aC-w!tT=k~yE=`l4(gylbCf>_bm{`)vu}G0ts4~HxKVw{kdFfU*R^SUH#ll_E@ssY zy}pPQ!=M{p#YY`-Ct<3ZFjY#QuZpMVdOSJ*$Q2`sV#yL1EIrE1+j=COOJZ~~2za0Z z;oXmO)EEt0$6W%FfnrovG=-^_5`MAcrhGcHQxuPD{)amu6hUx59@ttz9RvgMc!UHD z2SY)9{PovDlo(ysdehmA=XjhLyuU>Ygs@Ol38|E6h!Ebri~RXxN6Dlith}4j%vcfO zEzFT*ka5gJ!dy^U@zsrgwZsUG@Bdv`&+v`g_dk57b7H59rTOClh$jy>8AYV`e{~QH z`gAA0zMivRzJd<_VAr^CKY5Is%W^SA%8%AYKeXU%Xx5u4qLWMMy+t6icykpv*r0|N zcXtyY6m>yj@cYx)Ps?1V&$*$^%&ZBfl-nszd9zM;VgjZ{r!WZwIPAf_h`r#!u*z>d z53`LQI{Am>$+;b)7M-zX@XFe+S9lh|;Ajv@6iFfl-S&g&SSHH2s_aIJ5lB{(>nY)C z1d})fn4&UofhA_#Sw>g#`O=JVRbpeXTTgv1y$#JJ{Si5Lk$ zQUj}L*AeGNAV~OgjKC+KXJ;%DWaxO(=ni<3j)J4}lL=^#ZX46Y&YIV5f{*_AFyT#D zB)Yqkm^ZXUI+h60c#zVut({CX9HMQ-%|2S!uc!XxvK`N7;AYwE&Hz96=7!vi3@+|E z?4*Bp)eYbG{_Q;`ylwhYp%5VZLI|F%psn*Jxe*zhHUx20>p*#WF`Uip^))O|q~|j- zUka+NF%YB_#q~gQFfuIO-M{A(;QfcicxgQoS_W;bKy&YpptYDz$CRc}cvgWV5kv`^ zAQ0}&2Yes=>Kmz;b;k9Y7+HV~4+o2wZ=8!jSCz3QEfeXB)OcX7w{myr6c8N}uTC?7H{8k-(nKiq44nEe?P_@osJ^>lw(R6KMDjk zGbp~~S31k63sEyH7^EY>$jt8ql*C4oU=oC2F~zLXl@NOxShw${jwU;xAq~1@bvuo! zGE6#PERO5Fw|&nIrh#@_)X+Gfr7OVP4Mh{i&A^u;*|XD;8`;ZGPsaJDJ4@hgPu;NJ zo=mhwv%z`N@oC}!y=@t&AD^43%>=<#f>R zW90XjzTFk@{BOQkxcox2bvNSEEPqHcSBvwS7Aht%CTD;9Ve5a|6JNi&(nycE_xTXv{`)4aq%Be*J%*Ww-Q>d1V5Do<;(d{Md^s!sS`^88f8=qP&p#lRlj4S|i-`HRWsF6IVMFj7ci zcxk8NM@TYvf7@?+QAVENC31P@zSW#F{?J`y9)yoynfvz>rV%eiOeL_n0*yJQKrKXbc*PY;*6FKTI~}uo92FdY zkbe5d(awM=Q;N%&6DrPssF~qHE^G`JzSX2Zk&Y55y`*N)zUzf@+PkBnzz=Vib~HV1 z3D{0@)>VgHAcIX8xZh(ZfX<0mP{I~_Q1(fb3G&54&sFJ-!YCY*A0VhZ- z^u0e?S8rPA=D}`e{?!*V$TblA?92D!(_a!tU(}PoeCB;@nRLigEu-<`c0Ok+z{N#> z1n%wn`HK!wSz!=nXSyr8ywf!g02%eu(`^mYQj1j1CKBzuPj|Zu(aBMq0?fTc^hC=4F|M$OeF>rW0 z!NWq^!TY1=D%Kc7LBHB-wkPvB;&$&eQWr^FSkN0Q^!UC02K5_FFU1* z+G6KDDHJCu&#-M{etF~N@p>PyI9=@nr4-_MY?H%0vQkJ!lo^n#L`g>`5AWd@7iRwX zuQ$!3AGp#%+LhUf>gb}Qp1zyNvqr7Wxp;yZoenF1@+6?@i3eMd2eA!f_elyjIN4J1 zObS*k%OYq92;F;Rzp91yGKzxDzj$Q_jON9)m1p`*>~I5E-aUnEOJ^4=O0RHxIx}2+Zx`;&$RHe9%{wEO?avJC$B`F(S(Fp&zV^#IA`?wz;*`@L26wBZ z%3jpGRM47tgjm=?BGJfZiXB<%0t-4`X!?D7<9T**+VJkZXXms1&fmJwrjm;RuVIv0R}f}(r3`+xXB%zz?)@6tbcbr z=(MOc@9n#u=-JaIAI%BN3`yX!j3J`2zO}fOrFR$Pz0}~m!70$PC})F8uQiXX5E=k; zBb_d703F#+;prrQBgE4bo==I>^kK?E;+aft>(fJIWS2kr^-q$xcF7fY)5)|nAhFlK zmf9L>MI0Fp?!W{~sT!8W>7vub+ zWbOO;{ht$G|I0^(fR*_a@}a(Tj6_M7=Nx|m?9}bYpOZHoGM}Vvh=GPfmjPG-0i~&g zIjjhw=7MY0$)^XfF5UH`dk^-4EDMS(wUI-V_SqcMX6-Q*P-jMbD@UMIJP{>jHMpAW zecuX}spiqGV4J2c3vjjU^OohPt1uDLQEksMRY4?|v{?pf^X%bDEdOX5>5dH#fKhW$ zlYIf#&~&V1rdLM{u9~DmpT9DKwCcEVX#1PWsGd zXm;x0ot{J z@NT@{W%izKg&v>*VtID+=w4NJYDNErD#tA0KU#aDC02O<@Gj40S z?F{aY`eL9`pk`VE{P^#U$^-a|zrWGBDIB5I*>uTin@@Mf|9tV|1SNkpZt_r2*Vdi{ z-hFe2l_H9rC*FO7KHQA@F;j;^3`5IGAOUu-?|4wxd|>lN%|(qR@b=7=DkNLB4g1MJ zn&x?rF&DB8!$G!Pxe0Dv;jYDaJF5Y=v@hc_hn&dS8SHv+?T1@E8AMxGqq*rIFc)IM=Vg znC(|)T?AiDZ44rE6?)!~VtJpbniyrwGIl07Nl$ z3gsU@SY;N17u(}8oCs>j_mk+jZo5TPxzP~|oLyakJ0mmN~ zprDqvvChSZVQ@P#s!beNbA6$BjOurRSR%P(178MlK@CsR+LBo(9hE3$?dH21iOPng z+f%7h1Qr@WQ|jepYX|5wL?nRD#A3epuJ7L}pt8U%kjK9&2va0e&bSijLu}9+x7%ac zaMW?FInv`rT4H6L%q5k%;zTzSh5{mr#e{thYm_$3cJR|3y(#!oNpi-y2%Ol-4_>PG zH~2Hwj~l!JW0Th(@J}~{tELDVDjEz$<)eCdrx=8gR7$H`@kA^jo?cyi;Ig6m%Nb;W z0h&q|jHX-2>1}Q20XbFcBpCn`kasF zt@@jzDWDCz3CxZM(R4WCGkIg$34NBIwk4$SlQp+-Cxz262k&i5 z-&}+@!0RiZ44q#&Q5e*R9k7tFXOq#uj^cc`&(6m@y%Q5LdNFVl@qlO3L8)tIa%p1R zwdl~!9~?*xR>Qac>JRbTmL!?s>b-*WkN-z=XWyHTheH|8=IXySKHn52s<0VcsHw0* zXK^wTv<7{6ts;FmZmHf}bk%mBub=iIiZDh}AmZ_o@7YiIuj@c$?~tgm%<^7gAQj83 zh9s+eFVTMAMPoPzRjY%4`~aq75U)+o8wA6)6hfc#WZXUe7`Y!qicI6u%||iUtK5UH z8xu3Jf!BG$oKEKPEx0j7F(zx)%#=4(@WMuvuf4wxe7-j8*h#qg{=8)*Qk2j=9>=nP zhLaTOVfP-#T&kL1oOwUpH>X1X&2ZyU60(J>8W4ntJa%@BZWjPfFehyMUV3!vCT4H@ zfgB~OFr;&ErHXlQbCTP@R1||rWdsC$M*WHn#TV}eB!$C^C0iACBAU)l+%O5#xwLwA zP5#+`+A>DN%Sr6%r)kGDg}!-%}JF=%}_WeHlmK5FsPaq5#Tt6Ad{Tl)#^?nNWK z9+huu{fjFxz2Zy&yx*yOk`{pSdQ8_=o>d8sQ!EGfg)qDSu9sT_=9Z%yvpFQ3G%$K{ ze$^2}c|@eK5f>@ta{kFY7&X=O;$yT{epJIl^+)I^t$%)n$9!9wSzd<0rHi62=!1poQc|ZEhJ=dhJ1H61Q2a9TJRhz zVYq(&+gED2H2a5tZJPYlHhPVT;sz_e+4TrzP;zwx8CapzqhCK^cr5E^5C8g?VH{KW z)F;2#7XInTmxOeCQj-vvW(vm9^sME7S<-YIeZ_nvCqAgkrUjo%l&{w>-5nr0WYlqjX&{zVY^rPIO zt9kM5Jb)87Ctlj;5h=>%+wST?#J3V-$51j7Nzu#ZJ0G-Ef{DPxW`~cY$dF%c3jxyM z$J5RT3AhUwo%Vrn)DOeU>tIBJp24%z%MU$&8t7e~vE?Ks4)?s^m@YK8f_NvWnzr|?*L&yp1+BPL~QQIJv3GHI5H@3rTbZm zu;*4F7G~H%xEi9Ae&5ONtk9FIv4aCT5Km5j{{h?d&&G<%5f$Y1H-pMPa6L%hUk!mh zF1q5=5?e|A=EImyhDhN3-(KT|t;o2GhZHV!xZzvW(zz%spF9iq223UFqUGo75K!EW4{p7Ujnt9>Bb#XurAZuBcnBPRyb?WWW&xA8=gB?f z>Pk+g^??~sE+^t>Zm72}&U8w>I%{d+6f~P_zEF~$cL!dgNZVw>?K_YDWS4@&NniT# zuoxu$VOSXQ9)c|ooA#(&Dn^->-5W*LLy&Xx4`-Eq@XZT>)|!3A)XmX(8-ZIVQ(w}( zcvo92CUi_~2#J+Ulu`v136=L(k*Ra=C;_?T+GqEo{zR0@-+xlJ`+Wn10F7ry-406! z7sr=aOg%qs2%aZOrs8A{LcC0;iunNUi$`I|pDASgOu{_7p0FAWvRCIv=VCG&kuJ^` zOaM3Que+fzH}}-h0)Z4DznOzteT!mndUZoM=@O|#X^oae#fez{dm|9EBME@s+hTm#bh?y}=i`n>{P-rUNd(dPaGd_D$EUxW z1soN|^_!RHiytS@Z}{$BUJ_3qKw~e>*ug#UpFi&ZGBFxRK(?xW{mNO>{`sHBnO(9` z0}_4`7C5Z3zW6vsJ;j6hu>!cl+yQ)O?E+s*%T1Q7#4wVyR5|$B_Vh%|r2IB(R+60b z=qbZ1zFZ~65Ga)1jcM%16TMn;2gkoXW$te%$7~wz%B0kn2#meH#17N0p{sB#5zZ7N z6hQ}rp-46duofj=pYRmWe*f|Eq&`D`)q(p-uqc$bmK9$?$6Ql$y}$Cl;mtYpgDP&qd0+!Gbavz_xHCrql`5} znN9hH7AfWF#(7&|;-sJiiD_ftq+`a6%97ECRk81T{@i!faU8?ddNOHtN1PsxhZEuX zM{{d67)=8cmX7jmt(Y1daf#5p%XJ$-&N#j>A#KuWcBb?u-BF4uQ|3%29A^e6@>Y>7 zZxe8NyAV%TpZ%v)yC+UN>SG*3YO z5baMDXe7L{lLxHH(S-Cy17UJq>rJLS1__cP3$mBopiaN(g-X>hchy4U<&-#dm|z6r zv}nxLh%f^|$x;Z7CyAwf$l4NDgPr4nprv*yQLKLp96Zd}i`l5L2qyGar}6IN(wgEf z*Byl)7DwZ-k7cPWW6}|I$(#U3RWivK1~A3Fbw8Zi$_;A>t#X~yk3E1`oE*tH?MN&6 z2kuV6XxHqZ)DjUG(7P?&8wkGDGGogs5M1Ac=i|1!TXsxGV42G5HgtT{MJgLXcHksF zeM$j|QYx6=*r+BM;p?x!`WW90lvkeWscNk4pa$(yDZbih-5_SV(S4yr?*RR>a zN+G1OqqEb71oG{{kBglLJv%_*(R>I5{N>fCrbR0$M71nwGU^TL&EaS|X&irGp~?GO z^w~=LSWaOV=W`=r1DrhxE9LA!n1FWtvmJBgJg<^ybMEwxxN1ETAJ7K$Zc7D@kiq26dlq6t6e)ao#A|mx>M*G`K z5LVF~Sf56UF;ui8nIOc?W2<3#rUG<`QHOGHEg@gE+9pwvmPEAfAWGnul?YRc*T@ViT7B{Dj%bqAbb zX}SyY17X>s%il4gAx+*<{CUASw6 z9wlZ&6Na4YzkL%uC^)9gb9SUis2&BGrsvr5$(xDTZS>l$IYh80b*Q}U=lY$?8#n9c zZW<$Y+#hmaHs_4BL?r+wfBI<#F=u*aYa__ye6|-YgsH73Rm4l~tY;Frd?dPFS+v|l zVDzymigPr`zq!^-#X~Os?#05G++Lo2eD}8Ig+Pt%O_5A4vvHUcTJXm1(?5F>1Q>+a z_|5YqhK3UaY|K;)lRC{tU5ZrmW^?F8BUbHrhGANxYrBdn%gvY5ori8sz+p=?$p8@x z*ibTKwtFlP4_R!d&Eu5DDuK0>$t|0BE~*N62%emdGbL{(;fShx7y-*4>&Z>L(-suf zG))!Ggr;A=2!CEx79a}HG&iF^{TXu71S9b{z4Y9R8y$z_eg`c^lEt6{#LH`2MU+ZF zT{Rt1IB|J}Q=5Kv0;OX1l=ts$K-aI^Xb2TsmkmLffPQy;Sr=hM76R+p2n`IzOd-jj z5MbVX+1vir1NW|}`j_clWBnm;-e~EWOjsKW%c_GAq5P_QInD3H(Ll9C@Pa>|O(*;a zh)S13e{%3Iujg{_qUqoegc|*kj;C|A|NXz>>&V^lwZJ!P3plre^%vm^12Tt?;y*4{ zrYk>x7N05kqN_6N4s?1LK3dJ>*FXO}_Wl*~cqckJ@0;3S%A|MVowGR^ zi6z15tbQiZdToHXQu~^PeUPkJkbcoDK0vu6Tz|Ex^Pswexv>7uD zU)l%yBK}a!=ddCjy8X}JYsR=;zdkw#AFb8D8ZhA?c=hh$x~ow58x`$D?i9bD{*y-#9daQ)5N$V+Uk6?&@E{?VnOTr zoRu%%k4#Byzj|34EAf>OKa}ujHWf>59AraIK494noh$7N%=#1ZDwZulq@ULm7+}@KIe}2Y1 zsd~E8yaiHB>i&-W?Fn4X`+||AU%I|fvs-ywW(8I3-p)K|etE%Th@dRyz5>+em{i11 z#__>4y$3h3r`z^Shxh-Nwcq|fvs@Yxhr_|`MW6FX4^A?ojD@24A~r!b*1#o`#L$IZ zeG(iFbP%G}KB){(yp3`Yp58VFswd4seDLOy)eW7WF6O-nQ&4V=2+H$NFcG%rgP9Av zAnGUPGkP<8b&13%rceZD3m{l7#-o{B4(G9FzxkvPi6-)X1z(zEX$=s=sm|MZ(5K&h z@pmVBjBfn)D{gJqY4ya`yD`-NaLtacFKWGoI_%6eU0Sfb?^pkUd|k^vf3!j_)L`k+ zPts7}@abC0??R<}>jB=|+xJvD3`x4_*fTKdT)t^quqJ(Nfi_ zj~h*gAU?V5gZk8oBJ4=_+|WjDemqI7<=vaJv$mCp&j2!SCX_J+K%1?J;0Z6WI<(#Fi z`l2x(W_6p>>9TK~efz^C1fIU*vr*~hnx~v8H~si^CsYEi-rY?Wf}6;qvTw5*4KdlR zm_hHacv|HVKBo_!9u|C7>%@Na_{YWaNEkIimt`}LQ_5mC9t-3~_U_AD2f~Pu_`Cn> zb$FkA_fAk6H}iO<2y})>HkG@#>RQ=N#>KM*lt-#RDY=r)+p)Ox{@Z@OxcH%!%FqbN z_4IH6qXT~Z-G9GL9|i{}mz*Y;q$`2>bnOQ&jH`$bN9aTlumjoZMlOT`jtEya((=;# zplsCV*nU@a1F0xwvKMvi{;fI@k8%XXI0UnJk zMHnpP8I4Gy8nZ&YJC+>>^;`9ZWSdfOw?xSTmR#M=qK@i8l1ccGh3rM6E*ke+a55i; zrG)^*Q-sPYk)WoB*XiNS>r<#iPih~(Xf4l4Zjam~!OEzkTbd~?L|yBh$jNlhJ9|IM ztRS*vW3=BC3O`?WRUdAq?megk>3A4N@L+Z|;+O&$_m7%3$cbA2s%M%&9Boe%@%EWf zILNmD{`V5Cu=7E0xEQuNGuaE0I;-Gmq^a#ZBqllmK(T{QAE#-5VdG%0f^_B~pO-mI z&NTw{9J*SBG{~tBW6b%nL-lV1IsM};xH#=EyW!cLHoKD}__#II2Dj92o*)vQ|YEvRyaecuFd zf;MMPGzO{oO4*MkcGd$9WZKbE*aUq`971d=nT~}hDq!E-0>yCu<n+;#a-ZB|FhnO-cai``ThqD_ zNn@tQ&4bSmY}ua)`;$46?~m0b#mpOB1=Mna&~>&m^t;@=LoKktSnF zU^!J841avs88X?Wn1W<(C%)v8^(O_c1+H%;V2-Eb(jxtA1Dw|G0*7(X8GmRn3C0~B zv1^Awhdy9xO*(_kHQc-X$cIY@iJLdrK^nl~nV@Q5et#^^(B(Xd2SZFCN z!yUPSZWb^onIa)76!n<~5t}c`*=P0ptfG;tE6(V;j-_Ei6nUBZ@VY6uuxuOW@32Gq zmI5QrxM!!`i(6x9Vhj%HbNVm-s_b~MzgVOVUv)F4 zi!e>NfBF{Q$_m}vZ@wJjH2>8b(H+zT zXF7!l+)&GpvfRWM1rnQuK$OrlCXrpOB=n0DZLhkhtI>yh1gjLDKG@17v!DQ1_Np=M zZWJt7@6Y`!XpciEP~kak^J&I7`@jDgUZW->1u^g5Hj_Wwg-y(wjE*pS~{>5f@^lm}-o zUz!=1%EI;Yw_jfc?(N3;({}vnlY^okq;m<8i*JW}=XEhzp$E5I_|Fj}Z)rC_0=|R9?c{miyGW^U11QDl9z4zhHfT{40Ya!5?`9dV38O@hf^!dUsHOp8S>mdk6zF53$paf zzuXa8CP?Iq0lWFGX4)zoHoyIEokySJ*LB044h2h_&9(k_-AqZkow(C(a5uwGZE;Sl zg{DIXBytCNPlSCyGAEyoFv7HO2yrAkviEq~x|kL=qBw?vFzR&2R2-IgRpJeVuzAxx z`(ji{4=>b^AG1}%bfe7VP9{ykc2rrV^D!zOz&!(`GlhuLITy-X&~-zFAx#3a{`$8q z`e29QYD3T;E=9p*o62sdjM|mCw?-JQ&mSt?-weUHX)``xJ{Yr$#dOa0B*Mt^>Nm+c}L6PL@^>5N==BJ<5WK_S*$+%*;%Jy&6%8=*n6V(}_}wWU5;U zk}?JcW@)bJqH1?+x>zb|TO@-;(uB1%NXixrh7xZ&(VwnK*X=$}<+HG$B8XsBVw1b> z!cjhcGmOH$hF#6^uj;8yQh_&CVtL;}2=7-^)`=znFyxIFbQCtC+c|Z@2^LX33{Iym z>S(jssIB;7QTOg$J@%*!h^E1^Hu?W^^j2MtY-xg}F@t1cW|y-^ga_WZm|00x+1=GO z)T@WqJk8tuqInot)zj6*)tOm&EAwJ7dN_la(Ik_MWi*O<@kcE?$3EEG*Rk`ZpqrN; z1}kfJeKi`qd9f;`7WFY!N-~)TnckQsS9Cl`aPV@dk$%6rzyw65%c(>ztk)Wn7vA6% z3wCs}90%In6<;j5A8uA$;?^Ufai#M?0iMnvbiKX3fBBsp=Ulz}^vGbHkqUugr#oFm z;;tTG+C4gi5~*_15xrb8eQ>am%@_07O?~5kdgLx-&9w}ZNt!oJ6~x z#=>g+_WL0S8okq_>YPNRv1;k~-FrR*j?&GF@RK`yD5xvZ-ExAW1=r5+XGn~S6ylK0 zF_7&7ZsYI&=xqn;uNvB-I*M*X@7~tBbAF$#)#wfA+i#rh64>s*KIr4=LL6PmHWy0s z&FfVxh0j}d%B^%gQpg4kjS_GfF5QdiQ=19}ahEBFUB^{jKFHE)V-zWJy*E_{pU6S7 zSM5!_{p|3YZ-?0(%33wPs|HK>aGco&8#0O#5y5dWcW^U`?eo3LRF>`Rze~ON)+vTT z$d~3SuiEj=;A+rPQbkzC2pbMZ8H!JBh-Yv6k>v7fj;j?hux)+&!ll?CCas9!tD11TWHmZQJP*y0oh?kKb`K+_sCr~5 z;Ho^Q>Q=vL&CI?UFw;Arg}OBQG`Jj4n?{SN)UiFHvpPNmQ&d_4cjur>X2l+ z7l7Ye%-bC>A6Dd#S0b@-L7XHXN7_|8bwQm~$P$Ocfy~9mh{`xF&@@-Ns>t^hGeh zpMpeJ@XK9fJLlB;j@q5k#iVpHNhiBCFyam7WRg<&f?kL6Tzi_^(8j3;w!E7^YSl>D*`rndZx>Lm8%Ltpn~8sG8pDR!ZU0z>t7No+YZ z9!S7*(~liL9g?Vt0IlbjuAeYEHzSNk$87_JAxFpUrA7JIap(7Xy}%Z4=!Syd3H5tu zAP@`t^Qlpd+>3lXhef!ef|^%#GDBZ|-vl8W!{p9*c-a>=LR!7D4p0TVvyJvH#qxjn z%6!%JZzNcTM~Bzg&K9TM+{nJtL1J+u!Y&pKz=mep%5@V?1lIsfxUxxaJqizdR4VNA zDJ?4=2A8tCF6HxZgroYeT66>w2j{J&G{e@~V%sLTf{W3{sgybl^eU<~S^w@5-YG0z zzOz$7h|e(nxASZ{=&kj`n>n%ItY;SwBgz8C#W~{7lzh50bQ1+qoUd$G*ocffY}${{ zT8h_wT{l-6x<)$%VmNCKW-_#8N-`eHhe1^n=gS$8N!jgzw(JZv2%I&hU9y>Oc&REh2PyY1`wqAieSSnMb_opmc*rQILqpoMElK;$9@gdA2aRE{SX<9;M49Z zkwU4>RO<@K1@X{knsiZ?WhTYhBXQhrM9)17VQva17lm?wRg?`Nn7j6amYUzNxcpLwpKOG$pdu_yPH^s>ajwwfNh}Qa*Q;j!UeTcQh z!9<&ix{VNm`Qcn<(u}6hh8H6a12RPt&h93YY0l;2JP!<@+liAGPMS0!*uld1$Kz%j zPUTVwh0WpRsTwbn%|4aczE$)aTB-yZzCr|;wU-2r#DnXQnJyw*A(HV#gGGH&Q~_Im z|D1@;PnXc-^17u6(Xc!0%6Kpu#8<92o4X8;be=T*eox4umrr{B2-JA@{A3ITxBZ>> zO{Dy27g|eccAq~wAyTO7(MD$!|JkN80Wp-z7L)GrF_6y+j%~r~-oBe!h9La{laUX@k z7|8}A#*=66etGrwU0;z@NI5+nIIKNbqLIAMwtR68w-ve&gZl4oBA+K`5){dY5v25) zf31FK#2r?;-4;{~nuD%^#qQkR%?O@MY{YF7C4ugn3E|9$pbxU0m4!v}NtPGPwh{2d z^3~0J{KNMKKYjJ&0?Xp9it1-Tn@9!JnM0uvr1yv839xEaCX3$KlzT&2nJbVwhw1p; zZPHrHV5Sfzm?(B~iDb%U|FWavfnqW1ml|U7*SD3vJZV)%cI>mVJJ9owN^D^NL6LOU z3XJi-pxthoG2gsB1vsc%2MY=1&5?|`8VJmK-Dkh=W}@8}$0|6#?r2aX&FMNF4)P4= z69l^X-u-m9_I&1NVRP{8`ADCPG0tvYLU-;)IoR})xnK}eXM@%ZTq`R)o>>q^qmXZZ zo3$i(T~rNMS&^8>QHwFTlc9*zgH25iBtS5kS-fkk)^WV@=1YTwR3{uF;Pf6PI?0Gw zH3*WMy*qIdU|U43*2xT+RpvM_sE8|V+!;yYOzkyi1V+WQ<7tdMKQ`!S#=4RVo9ocG z(Vb5YcLI(Vjs(!LdGLs+Hdh46h6D^ih*e|6<$X8Ls+xmydP7QnUINw&FK=z6r7QPv ze}1#V)g`)KhBgo}0_7v51#!NQ*Kb>w*X!~N*8g~7TfHR<4Z6)re+7|i`nC8j zVQ5CT!`S7K9tit@PAC2IJpc?uL*WQX#$tn4Hzx0grYGmV0-e;gyi;Np0%`KN9e&yRt;|y(}2OG0%CsT^K6O$$p0`USV4i2Pq_sZi} zy}1Zy{PW4MFFZVmV<60CONHJ2O|mBCquS)-?I0LtOO3fNo1m@w`(;S04Pcyb`X8>u zwHIF;X};0(3kQ`)bB}-^6m$@lM?IACbK2C32K7m|iD#96_>Gi_EQS_^EF~MkW1sBG z4KEm24W*^+n9J^vzf&}8BP<>lNYFxfvp!%mA#)(wXyMa>IrHB>$VLi3{Y7!n)Tl^4 zi;e4ji-eGX)$Fc7D7PP-G?%i5g&E6rmhPI=uI7|L&0Zf_5&hlq+*U`OYPCC>^qZZT z*z3u|>)OIG>+f0^FIPu66}=UocF66`{jcr@>D;3&ZD?&i$^)VZmhzYp+l%Q6kxKgz z1UNf__af7Y?yN;@h385Up7JHa7(-2JaKR^aTaD(BD#ftb)%iTR5kQS*S6yfXy=*9! zq%QSf*m(QHkO?B<*jP#9`N~-%t2KP`-uG3`QW{rAJm!p-%~uuBZ{Kt%bZ!!CAn142 z)fo;Y6SO&;qqJ?1F>It{AAOR5(9HeAb(BuqQuJ1tU%~830t10$R1i483-1+3r155% z=EtICdGptoWYQcWK|nF*;zA|jRQr0W&16SEe{$&tac$ULFg|ca1!U`3pYh@Dbjc*(t`aF?-QJ2o?fFneLQz7NQ9m;34q;BOoex362aTHR z3dBI-7z+Z!>giZP=vBR@5~RLl^4RJ7g*h{P#I!RXoCEhB_~+vlO!>mO-H-Pv2g@Pd zrKSyC2*5a`D^MhYxPe?`Z7?dH4Roq_c{|BEI>5)%>GGYOWH4IVO{2$^*cXq|i=%UU z_fckkvEa<=n}%(VPd-Qj**`t4b|;g$VYVA$^UaOR(dhKa(*;kU0ZNlBc-;a}b2(F_ z$`D6xF37yq?n+R?r!GMP=Y0&zbJ4W%yuW)ee_vmy4!^aZS-h!nTiIxk&`iW5qd>Dy znmc}5Sfn#eX~fF z?WV+p(Ai+(;GQ|_jSSG7d%>vq!xLGY`MLG#XJG{cfnmPsUimN<1|11o#}@kPwePMxbyvqLPDeC zYr}_w#$>pFLqTwejapS zjE?x%;hRdPd5Gkkfx7v#+sjvV5TQa5a5S7s%cbVRG4}jFKgY{N=ce9nHAg@)Ir(tC zfPEp(>%D!igR0_a?S61CXDxix`?K)v1YoUJo^5dZKYu{ATCuNogh-Oo(MaarZtZuI zupdON;YiVCA|;G#*7mk~G!A802%NOXK<3bQ@>&Z;1F_AWWcBM_`F2oSKZv4-?`7&Q z)hIcdAcQ%c%-5vE?}S>v{Qy$x$cQDClhY|JaER2L*o3(-ApP>2cVjAMw#^W$O;$pQ zd;ND~pK>!}(AffwB6BxW2+}y=4|xM{dzYK`ok%*2&u*p^>n@N7J66{e5HMN@zzEG3 z9u$m4bUTKznaw0cCkolyKiTKkQKO)VHC@}brK=7Ik{`7U%qgS;z@9Ldev)8Y8 zt;N;V)J5#xcYpnwxy@X^?@LoFzd^57Ac}=b%!~gzj=>`ljV9=66Y%rFScGR80Ei{b zj_R39ZYv;G>a&f1yQMYWp3r~xB{W=G>t;znB)0D8IbR?^5P}d(WlQN~6wxd?9>>(s zKDv$Tpp(&;RL}OatQe%eOV%ZJj`S?zcb4>l6d$y_x5y#zW6IK6NN*g5d^P z3fkJZg52E)`=a9DfV@EW9$6=1Za@C7gNy@##p?^|)?Ko7KAc=stl}pH@y*F{^VfT) z|9Mc@2qTMm`0*xCZ?c&HgwQljQRIB$-=ey`#Ge$eep?T3Bp9vHcF5-6-o&D#t4_b! zUz*0?dhFkz2X)Dx6F`^wXgF*#jWp_5$~fwB+)^Uo`BXJLQhoN4x)+;vpdd8Ue3<}F z;ocFn~4A)OrqsbTLO+ier#T&m}?6S*Z(ozHlAgOC{R>a)~hJXgpso4Py9ok`M+L zU0~}Fx$by;G@n>Qn*mTX0-(y1Kh8tsxb1E~L|ZFvQYH2?vmak{ob2a2t|axu*!^t* zCj_eB_8o*JHAqf}t95ba!_xZ(o5WNDz|_^+bRjf+>o5Wl(T#&G77FANk%W7#+}F55ltuH~rxSBhuiR96gWhO-@!d4%YgC=(H@{cHX!C=_YS$eI zk)Zt&Bzw{Q%>3Mr@vw3=&X<)=>{DNJ9>~X8lIJEbMu8|O4hHRkjHVwI7e^;Iv-n<6 z?)N5SieD}f*g$Xn#UW{f1$|M;X2@>`+Cv+ArPvN2*=e}ARHj$@wu-7^VuhnM}`U&eZaQHR)$nA%ES=!(7n zzucO4Jv_K~nDK>U_8O>S|2lMp#!cby(0JG33fYif{JU=wKTA)$y8q55pksk}+BesI zF(Dwh)iX2$jsjn0Tc?sgMLI5^8zigU{P@ka3M^}{--%l5(_F0GwanaMT~*eW&2G#u?-BD(nKS99|t*f(5v1!l%``zVO9ffKPZKG z@p(1#(*v;G=y5wqM>gTWorgZiUphD_3t(z1qEu#_-z9eM({qRAxWrbpbs~kM6ktsH zV)eTpN6_r$*Y9QR`rRnJL(jV1B^e8QQyrmEsrvT)3|S3&lks@Dn8Deoa$bjGA7`+R zki7@&SS@TpBAPEIQX8@Ek-qm}I|QpL#;voO8J!Kt&4)Y7Km21izU^O#%>Es6VKV7k zo304QBG~l9HM3hr1`Ub+IOAljQ@F|B-Se8ykIi@-oK5Dv>cj)3p&s93MmJL;Qrz%) zo+;}t0JtPf&w~vNB1*(^$?T?);?0@X6iV8@YQw&#Mk;=%FNH`y#PCui9(W$PuGu zFsLpuMw=|9w}16Qn!Nn_tvJ1TR~Zjl)8(MiTa2r{#jM{QjYf97Jpb{Mh|$>of4}E~ z0iuh2ejlH~oA(1MwZ9oIlmL<3+`yXOoiPb-G#s>QEh+xcfAizZHiWE8LFcMHuboUN zbSff=ppT;i+lNt|*xKTjrjHZnnJ@SJpaJ;vrCc(W+Q@*086a17|MgqsPHND#teGgwPWFpkv*%?F4)RWa zM3vK;M29hHG8T!wFS58tMYC&u0QJfu99T{QcguE9j+K+aSji96I8oS>L+11$~p|D!qn- za1uUmg|_`LwT2~zGITDOqNgo08Uh>`#_83tHd`$mLcToh+Wg(0VrM;!bXSmV%bf`U zk4G9Cj0#ad%_O$B%3HVZm!!I}F3SRgCU(i$O30Q0*PjcFqi1_k{8_7V~-Vc{-iuDt+6;ERr=NeSNoOVWDglP6KYB{lj@wHg^?iWyqVm(Q; zgn&MpyL@c>i)~<){*y2Fw{{-?*-uiit$W4$VQK0wN3cMcg#Cq_e{|^<0-7D;>MwqL z-nOK-zx~Z0UN$E(YahK@@N(tma?T;Obv8`K-I`3Q?Xj$&kw}Dh#I}~d6;MHcD7O=Z zk;GOxn@H!NPTx?BNY=SL*GQ62peHYGjA+80EXDVi7&#ee;&2L;OLkS+eVp_A(;Fdh zHfFZBI88MSqx`@BVtHh3#D%R#dm#h~fPF0iygxVXLAQQ2)@@LquVBCc0>0JQ2nzih zJH?9PN;$fOS!Dpk7sr)euRd{Bt@EC2xCqI3OPde4kO0m)gOxuM(7LU$t{a&z4``2M z6Wh5=QheDi{mCJ<@IsMLJeQ8eV&OzCo7*mfz0m^VDaSP?Ry;E6!I*B);SfE4dCDfm zC$9%$?ZfNitD~ncE~av~Z803^=o+3V=Q+=T5h9Wgj_RvK0#G2ZBZqQ`q+^JM#ThGm zKQZi*r9yx}-BIK6Vn`(Ln{VEMTl`RAyuqA``VjGaU=FGa%A~K!tr>BcISN!9ld!!hbKS$_3xX&vf5hGPd~%1 z+IVb@LzLVd6GgJ!oO3aRP4ONYE9KL1h7E^thG@Q(x3+=KTpl)tp*#NSl@VZ-g?#n9 zSLh~N{o!{%Hm2313pc!Y)u1_f?z$Evq$7X|heI64^Sr?8wM#t~8ud(Xa8{eCOMVx- z&>tM4Q$4t~SMs?w4)xE5c!1X0H4Opu`9#MEzymE=VpC{y8VtAyrfZ4MA4d_U^zhd9 z?%kjLtU!n2gdHqJVU0N~%EQ=C_OZD{mbY=yBq(b(7OPKQb;gxfKfZ0&-n<-5>XYuB;@N@WSFU5D2P;oz^o8@2L3Jdm;=1m{`POLbNgUpXe(nln$83nhH;ntowD9++R+Ry4gmq4ED!#? zIGoVM-Mib+SoTHq^Bcuct<|6_i}l6UV_}WYo}wfk6s0Sqz?v2ea|zxu_36S^4Q%z| zAFoVJY+Z|X`^3%#7L##jNeA6dZ8{zpBrvRZhoX((Jn9hfG|g?7?W$2a@MFH%&Za;X z?v$eG^48w&-a#@_ez4K_ev#iTk%QA=B%Ua`XDuw~i+&u};j8}8G6tvTHDiF`*)KOEJ`gY5O~Z6L zq}^Oe2+8Hr@@30PZKctbdi`M*EjX{9HlI$U(AGxSxQSRCw6%l>{mi z(U%NVn=pc~bHB)tD3RFOyS2-VSLw~z@^b7svJvuiKh*ktxE!q<%~44E@K;|i!hWmq zFaPOTS9Zmtw=;rT)P|O~l;~U>F)Wm13%9ubGMP8$mNe2AgQ+sCYeBHvo3dX#z?Mi% zAPFj-B31F^bV1VU%n@j*az5a{`isba{l5m80_VA!>4OIoG`f+aRQlnA5R=@#`|vOs z%-{X|p!3`AtzYe9vxZc7yop#aE3jB#|1MtZ<6*yk{LQx&gdYCzyB8xGY`lN+10A-FaJC+|(3MIX+oH)?A4kBw&PM%YXi7HZjRs>oRKl)bR}40r z3ZbqkDpWijb}l~52(2=KXs2Iqb!T8C$4W!lgnllFbVHMXK#8i?_FPZYuBTdyXaguT}&A(t|Pg*EG${RNPaULf_nN_|Hn@d zul&o$`P|`8KfAM4y!Ghe-Mf40JM61R^mOVZiryr2D2Sqmv%K2Web{Pw^7sGc^?2U? z@posv({KLp?TZe+I{y9)E5el~h>2jBT$jz^dBgP!u+)9u46p6EO%=cVdB(=_`$dXM z?58}CwIwyO4z?xiqv%wMo{fO`Zi#LEzyGvK+EZ(BcG6k8!6JU~20PpUy*OSUh4%7+ zRlNss2pqe+sWgo2Zpt6ZWD=nuELx=@J~E%Eqnd1rfPcZ0)X+Z*LQ;_`V1jjfSV>(mEb5DZH|tPRG(evZcM!9^V}#O!hPs;9%@)Z%3; zQ2>|bN`vjj2%g_88K)~c^OKWFa4+IXk_Ja}5nSoPpFHLlVAN;#+}-@5g_faLHJY*3 z*ux9J~=v<1ito%8x)z>drSs8e$fdPLcn6A(5XB(ytF?5b-}dC zzxq61e7qIN-ap*B_iuilSlldjzsf2`vFMFVK3&R&5v|j5Q+ZOCW^(86{=Nr|YK_b9 zfAhoDbbNKGDktx-?SQ5ZM<&ivMq48F=RdB}goq~baa$HL5kC_x-6~^KCoF_AMb2K4 zA;DIOkdJ3&F|@@@CivF9!087pD!#r{Ty@$}*WkM_hE?z0wxhH3%Q7 zt%RtnB0P?U(#as{5z#0M0D)3O`Qu-AdF$r5q3Xl)>fAsmtu_yaw93_lKHO4YpRAbW zX-x&;$O09I-+FQ-Yzu(a?BE+E+zh6n@o0?g9uO)DqwxYU z*7yJYV@#rN{rcArHnO4k<6qxNY~IQzGT!Or&d&n%W-!zK%|&nns8t$`DY^LOA1~Ie z=GoDB^6s1OzWd?4cm2GDBF$G{$c)K9+v-b>r}qJdj?qae24#5qyUlY#ww zAQxA!JH=0Z@1M?CZ_=O4WVRSu3|1T$PvIuvBlU#|BZ^Bme}93qN~ck8*PnkN?+ER) z=EOuXioE*EAJ9BH>Q_%{b6M7v1+r0sBru-iEb{heG1U#FQ~5m9suNrLoMZ-qD9+QQ z-^Z7V@Xfgv-{1{Z8T7Phyz$THOu`;XvtG63?sm=b(j@?gby@|&%7>trQI{vGFaMzIX$EQb)UaQ@@ zs=2sshU4p^&4t1OI_>l%2xz>oDR?w0Pkiy^h}|y7X@}Y^A~weRe38RPK}9z)(gNan zR$h`JAE>jRerBAs6^9noC$E-}rc zXWw1*&;IZaFGo}7U_-qY)v@q+Q@*$yx+LdI1eWvgoxPNOKD+(P@@huy=K!4yB3|V1 zZU*s;(`z&xaP`SqoroiYzV6G0I&N1In?$2a zZ6r{Av@G3$F1vUnTMpVtIF*R;L?D15cIDa;-1pyB&?NBcHB(Z)Kel|uqWbpQp%Hle z`eJx>+MP8kDy_BpD-5Slj}esW7)so|h1QkaW;`vdYneq9GBm;CUhuPjQ)<38ckX3@ zo2nzQD`|-q!*jmnCwnxRf3y?y zC`QYE)UmdrSzxXP!MD{kpg<=NwijcAb zVz)Nf)E?74Gg5`HpPzjF(h2&btLp|tSVSoX>9WK6G1!~+rlU%2rcCSS{pI-dU*17J z8w-$t5b+DyEDxf*_Uw%vu}_Zdy^MGz!XTLlVQe(aXk#xbIEFc!&jqo>|K0^QSh3ZW)M?w@DLTUi?9DYcMCvv}=u5J2e;@D8B7gcH zKaU0O|MKD1{a^jX&mZg;C==bhog{2Gm~k6QEJ^6|1;i7!+Bg{?PQUu@>mMui)1#Bu zzyIBjuiqTqbj`)(+y_mjis}T2L0yDm)D*e*IW76_Zd*Nadm|2;Kx!{!IR02Rp9+VP zk@@r2;7&%XT(=~DnXi5``RXhA|NcMwL2NqJW{ttJcicu;&mVI{wnQ$8;=y)?T?xOwK>HTn_GS|mPzJz3z2NNePnWg0m`TEy8ISdZ333g(&j>30t__0sSl+| zQ_rgmO*IzuCiEx;JRaWU4h4WcD4u=aFdG1<35ay$0@=eWYLAjr-R_i zazl^q<#^ceeg4(qK`9)_Y!vtIZ?6q;43+~Qo=jY47}x~ zc>4DE=>5^<)x}w*R=H{oMk>dt6BDOV)EAF&Fv8#cZ$1mM8~Yr6`0sw2^w@wu9QUba zG#`L8J6_(-$Vc61*{ihXvbq>v-&n!GD-dnaR5 z#{MiJTW;%WD6gg1mHHz!x*w5Sa;R8{k`Rc~1kR)~gyKZf5y5Fmk%K(YsOt=+iD&{F zsD5au`FKE_FBG{|S72xG`spW@3TL>lPVwH z`}C{(Tlr2^uZX82dX49-Km!vn9y@VnCh0<#}xmCwH^448KByUSA86 zwfEN=AvG)>GT?BKVv4s@GV;k?t2-Y~;0QWvRoeUNG3dg+mslIcYXb&6|LrEbc=#$|XNUt|sUcreS zK>_alj}JWEcW}77duwNNYyY6g3FWkYd80v8iqShat?@cY4Q)DXH3pqg@920e_uhQ} zHLc$B)BccxQ9-?w6m&R}i1Ma~M(8a6ZNW+}<`d zHiEg0==eqs^7R)T*zI2_u&g2Y{O#My%(KU>=HTLagP^6FCAjmCLzJ*sX{%H?xEowr zn_G?@Cge5yA`6XL8(sP^>1Z&?#tMPq*$^6?b_}t0{_<_5T^sNj>FA;@0k*gVwOZ2+ z$K%9G?F@sru(9u9X87`kEXAxTR`QG09<`sg4Tgb8O4Vq1ffhGI?r`zR|F)^%cMh=H z8N62jRa3lddH%HDLxTYfz@vM&0yb5Oj{7TpMXkR3+mnS@ecdW;HUH@j(*53vj` zEWLWa#O(Ij6a#v7h4f?XE>j4@h9p5Ogs0YpLGa_0PY8Mo`rdZ)healZ_G)cp#}D|R zK~qwfSPWi!pMik=tLkL2w4w1Zw_}~(n2`clA7YR!cTUA*)WdmKN&a`gijs*3Up>Be z`|ej?rZ6P75$6)zbYSzaYKBs*uCGG@)duF;yN2eZK5V~v^4ssm?(og;zkT26^&GhW z>QyJaK@TRrj2}}*NG^_Z8NY!QGqWCj?Xr^m()Gm(NNzukV@gjwd}{gsrhv)QEJE>@J^7hoY2wNzNhWq6PZtIwOsdwHeX zyQ-|#iMLpu9xu(Y6#zQz%S!Me_NDFzn93_y#V{XR=H4xBrKIv5oA0 z`pJGOnk?Kp+}hfS;21*^?x3$hnw1KTPTNbvbPRDOEe(5A?Jbq@+3{Jm*Q^i5&Fi7k z`tI38U>e`O=}Sv4MKLiSL}w3f-Pz6aE?)lZ4$=hv;y(mGetZy#T0`cOTinXRDYOO^7ZS@ZNmMME3|^Z*!iAu5pE z-63CpJ-z!0Z?0?-cYL=tyw=6YLX)2#nAewcGMNeb`NabD?DQ8uzwe*e+n4Mg_I#dILPFR36AE&sg3ZoH`iCLEnZzUo9~W9O|bxQ1z`FTT2m^HYK^g{oV=;6 z!Xf$S++d8>^$bD)hFxA?Px-Apt;?E8r7}ssKDOCNf|6HqeGn{f1kGk|p)yHyrn}7# zV+e%-Lz%w&UZeG70A#Sfyt?8RP zw5FMEAWOM~)3*y{Sb^AFIfDD5cE`??60nZ&ey`PYcs~;hi7j{ci(Ll5VF~~IOQBu| zs7c4frSpcVG_P9=c=MKTI&g!jd=BX~O>oqUU_%Z zKkp;fSa#HfGq3ffh3+~U#<(VogQ6AjP1`z^d3+z6YQEdQcn}rx<*mnm^62muKP4VL zVhxByJlLWGPH!HLJHydJU#9@ztcCk#9h-9dvU&aH{a~fGp8WNbnKGI*Uw(JIHW0#9 z{ZV+`D);tc@_^ai~4nvG?a>Qk-N8fr74oB7-Cq9i+9Ry(Q2C!TI*fa zv5@}uWVRUfIu~LpIJg*lC_`GvXMehZuU7s@C>%?1)l)STA$%bgTFmH&pT__UgV|IX zuUBNq8@ELam`=wp|LGco#>X$)kx1v8=Odifm%N~KC4>p3(^&URO2ix!$1PpPlJu}6 zuX)&}knTIZ=x^3NfeTZUb8v5qlg8|?|KpA>da<4Dm@gPy(}U={vlI43{Ne28LDrYJ ze}FVwP$p!}Cas&s*m7qTi8eo6@_Fsmk%F83X1CXA^#}cl225+M`AV70`<1SyPDi8e z6yXVJNbRLp8kbI{VG(C zSS(r}ru(~g9J^$8#RV=NgY>Px;K3C&U9{`D?9A* zF%ZIRGRV=m2a}FWB#=SRL2P*UGxo_3Mk?xOP`h){(E$i1fEB2YvE5Cm-CnFa85Sso z-SwN{qNN9$xMKTLxlB}u#G`&Tvj2(&c=>8T3?A@DrW~dWH_s&c)M;8w6`_ zPFkIoh-lX*qTjqYIlmfc?H4E0!RfoRAqX$)&9P)d7>wq&>8@GWU}&G-l~aeCoP{LP zF~+3|1!tfK_O{TmiZYqqz+3`JUxesP18D*3zQ10Eg3A^K107O z%owm1DmxR?$k?|qV%-rulWNd)9+tusXg0jmD^vac(H+MD11{#jj_ zHYU@`=|C|66fhy$&p;sIXm~OXnGnH+*-0JVDH1kFDm^=%;O&W7uI(U&I4 zdqiZk6~e4Oo$0tA1Ec=I+c!;{BWCqxf7I>?dHbdZK>eo1aLVOTO~%7m z_q^*x!d`#Eee&fe<*!h|71UaBsMcV1o@>77@TQ=d?HlbPY2U^4hcorbwykOgBPbJ zu!PcN?OL`ajUfm1B^3f^!|HJZq)-Z(RM%_D!~oAnL)bdMrby`)-dVbai3b?ic=vUc zh~Tq!Z`|zIk%OqzRw-z1Ln}NPTd#)X9L>Lzat$;T4n-5uNHP`-rE=w{W|e;#zFL-Z zpv@Pe6d@!9I#P(Kjn1?`XV_VPR6nUM01oM2wk0c^TV3@X?d`Lnt9Q<>rNwwAOT($M zkX_Hi)xnHT2N0T;dJ8<63xF2F#5ZEb^5Z~yRGaJmy~9Ai1*P&)XXs|4;5r~b4lwX8 zK7d)`<84>WygdV10hyei89~lG{h=EF<@VsX2gP^G97sm;rI@Y+Z#~?Au4}RTJ{iwt zayb_E3I4cuHB9HbPp|tu5m?nu&dHc%v$p=LOav`0$7bJ-N3{6pfW)sg^a** zp}1gxxlez#&vk0PUwq-8%wZh%Z*Hq^dMpo;VQk!Jo5gL`($xN#OLL}VSmw&IJS+;W ztrj$h+nGsKfFt@S+bho( zAl7ZCakfgu?cNwpaLs>tYsa&A>$nB6tJWBc2JHG3R4Tz^Fc(^hZZgggG`rro<@%Q) z7|^uny-iF(qZr>!yvA=d_2ZdA9}aWjyfos9uYHVh9MKfi)}kUoF+V@v518)Uma zXG$9(E*ax;cf;#;h^Rynxqjc4)s>J%+ci7v-V77>(c`9&qCn;1%1ft!Ig=rVa=5_A z^O5W0nEIeDUuo}%Fm8wAV7qGVP7T%Qms}$-qW{e%sfW{0*t*hNg>FAgATNN09~9)FhK3) zEX8AjShLF9-^NrEVUWR<=EDqt^A@JAV~l6o&T>9@dF3EtU$;lEUTM50qUb^r4sr~P z2BX1XEKbgly+r#OEIj(`9#|Ovy||o8MIF7 zaCZO>t$_<%twTpfMrKx4WvS_|?jFS+Be|d%&BmHb8oA&<;E&*97BgeUQ9aeurLr=s zGBQKUs|9eOwQ{)Df(UX)m|+25xViYw`@Rp3AOA=ev_tt=fC;ip03*U76!E(aFOKw2 zd(2jP(H1NVVFCmbKtN|abj)FMWYGS*U%wbwYn$_Dbr*D`_Js(l!>&Z4{qNr>Trp*| zN9f01%S0>_p-DEHjX1o&es3d=f^;OE#ehg9&jN#{&C==c@MxUc@LpZ!?vVXC$iySC z3!@xu$>7qWSxS>FB82EJ4h%*LKexDu)Eo`2hJmon7SX}Xi)=rtnCHh+n_0gF{_*Pp zLXm}oV1J<42&kJlvY2ymbHH057J!C!Wo7)dicpYilR2vM_JdN~$k2{F;e9x~wIWsp zA{g}NGFOBJB1sAhoKst~=lA!>@I3se4X-lhj!lp|m5)?{%?IG&5&U(}FOlZ7% zC1jGoSV?D4fUD%g5x+LYU0$cvjuW(|CdRI8v(~&Wr)Kwbvme+&5 zUsNT)3moj}PmeSLF{vWismiY47L!Vcr;@bPhtT0778r=kSRiJrJ}?Q$ z(B%P-5{47b2Nd3bBb7C(c5O$vc*Q%a=YPD02GLOmD6Plrxklmh0aYG*Ef`n9s%Mg|_a#!-OjeUG^lp0L12!#XGN_0Hrb~1=#nWi7z%SrF9 z<>mez&zv@z3(pqWySd5xlfZVy5~*yQ3kIU;d@hbEj^pAC>RW~^1NLy{nuDenBtac2 z7NAaDB|Y6I&B@^E2D)?CuL+PLg8tHhLYv&6wzMQ2BOxZv7^feYPc}SWF}zd}Q;29# zJGsKQ_i}#cqy~l1K$wt+a5VI~&Ar#*Bv%)*Io?d}zN5_}R5dl$#fC^vUal3B0 zfFrck>#Me^GQq*~OBd0kNy}K>K(1d;Vi{*RnJ!X$!J(MT&0mf4>(&?#>cd6608jPR zgP1dKSu0x+(|{T4Y`ne;ja5h+_OY-x;%yUP)S9^xnbamavt5L3G`kZTE0{8)i!2xq z%A@OE@vB_7x{!t@Q^Y%Rs_Poaf2uOh4whH>HtXZb2nT8$D zgVhd^O`-rs!%p;zPlB3)CbRfNg82bVS)wRRb#5gG^C})ok$e-3yPb)y&UqA(hc1U3 zjw-nMoMR;mxd?84i7aVSL59Xf}c%H4i$OD zg`7FSbe@YV1W%`|As7u2^xBHl!uGQ|m`u_D5Z*W}>wIJ*phQ1A1g8qYIySj<+4CM6 zaC~O*^y?-ROh$y`V`Hu4OO`tqU@n4nzkO@6mJ}dbZ>_bwzYx4oEEqain_VLtYg{N% z49Rn({P?HLMK7_Q3WpZoKhrmpMzHL@do3=5RrksB4ipc}&Z@kwDhmTPWtbu$9Gy&{ zAZVhf=?0dL6L|D6EJ=8NvqH@lY(7DHe3!R$Gr)9z^C!Nvg`fR!u4new!g5a~F+5sG zs_(Bu+wqT!$}m9F;RJ1CCAL*_l5xsY6dMbwbGDp?C*7$FbXvN(;5BW~BR|~|F9ui~ znJ(y^4O|>gkyt8B5Yf%dyoZ%m(;>e*a8S_jGoO?P-!|i$+nL4t8oa)rLX4TLtF~h~ zt~b8u>gKpUH&jVl^v`R83t+D5vQZ48BF@+^<$}3YXl%w;SkpmB3O74aI*lgQ$ex*4 z22a-y5xf#jh(|9bxZgY*$vz&T)S-Y!t&#Nc6@OuFaz0}@1Or>w62pL|u8O>s+zE+5 zw(QTqWIPzXbwB0tU~X$I06@#=NMNBP1uflPne}>IF&YxiZbaQOb)U6QFP#7kr4q_u zG?+<1hEr~8f(>WW-Iv2~#Iw>x^9tNt2^79MP&#x$Xrd`-VMH(ih=m;m4hM{zwo9SL zTqZ;Ei(?0a@@1^kwxc1wwa8x%d5m-f@QO6W9C3^=jdWInc7DE zL!DRnUMKWv7d_2&7K7fjb2%k3xzik|)>N2|=T=~OVHlE$CagKNcRM(nqsd%I zZK(%e6*RYUcQt~;v9&U)`O%cuZfKzhq+b5!iAekH4<}0UAg8yluG~}}7Q&JnJ%{g1h*jWh%8{bQ zA=T$^N3b^^c54%qQ2HG?of)2tEDuCX$!BTIox}G(%|t6XDt-TxHD6|9zC}kMkeOYn z>D_`eoSRPkt77$rDdKJ*iZ+hUc&_+vl%pXLT?7noKXgUf{+Cx8)MfnkWdjpb*Qn|b=STeOtvvfL6nu5);B;NeZ zYnSHVykE-xo1?j*F(I=*1rpl@@ofiBMsd{ZonJ2?iVUjt+5$z4xqonv5QweKTxlom zNCt!l>3%O+(rV7`syFT!LDCpabyw?O-010uYBG@GplB>ZLVzh62nzauIi7@9kf9h# zVm26vr&5?`M&h_6!%qFUCpIp4{_OR6v&9D~{_5$ekzI))$_TuDn4m+E)XG|AeKpEe z){41wI>(6}q?C(C2@P6bqo(7)X5KXzqFOhUp#loc=IK#i>%Dq?r3K|zue$TWWIpUm z0BldkyiOxQ@dJL=ee>ZaxfMT|nSr ztvwo^_aYCXoht=`aRSm5w{$NdPTrgbZpSBmB#BIW669M%w#Y%21?IoJ>o4eHI$MrA zOLJT;1R%Xtm(c)|4V?a=5eS?8z8WH1r(%9EDxk@+PxsB61;&6Q9-LPPpgZi;|NQkJid5g6Ue_j;@&0$`WO#ORantP070pj? zMqQn$+_{~@;AxS=x`uV-15r+*18imXK7EA=!{OwaSOdKz=pogl>ItD;q)Z z)NV%P3DR?Y3^O{XeHd1|Hx???Tl~D&8!FMb`R42X_5()21FlOK3VyvKf*5Kq3>MNs z&@hqGor8!+tQ_85rGkaHt-_IF+?g!g#r6C4y!Q4|oSxToxjk9RwxjCEG7iH8;SGiW zgQ%)Cdiz}!ph?ow7Xx?eZU)jNFqKUvq5-F?W!FP|+YR{BC1DgpF3&rtry8Ol&BWlX z6?1F^LR>r%k8|-f>Oo}CX-}xQ>m!-o;WNAOswQVMzG#ui6s3#Rngid`R=C;Qp7{ zfA*Jued~|E1AxE#U;gf2|L=eIzx_}D>uuowT>dQn>i_!^00{h(zXtx_ZT|o7Lp!>M zkpXx<^9aFI2nPV)8cfh|xR`NTqgc|`aR#^bZaY{c#JMQxFz9(YKbbq(JS3Rf z5;5b1?*e$hIO}KDvB_8gvU^cgMq){hB@EdQvcSitTeNjmw@7!XCi-kPHzJ!cWv1h# zyns1e5#iz*`1S(MMsdKgJ-%s0u*s0QR~f$?#ZtKExG;_Yo(C}zSc5li$Ho&Z6+?Ug zau*8}mj-fnk8Qr!i^2G!Pi-Ab*e-08wWaR@>Pa6YoK_wI+f zFQHl;aaVn27-p&LzkD?erOY|#v@Uz9 zmq{u;*_j%tGy@CxZW)jiC|?4)GeeMcD?(kovm?_>m!lX*q!P?hAIxBgZ;VZF`08|l zQhdkyI70%~|o&jp*7o(gljR=u*z8+qh6%LFd9WOJP(h1(_hml-H%_%>-vm zt5r0veCU%)ei@}7a{`43YTu7CfA+z-~5EDjUtYVfJ;IBXDPc)+1DQb-(a8VB1E6b%=x`ze zE+hmsc^UM(KYZ{*0OUjp~^BDb@V0i?Mfz+Lm^_uno#$QztV z`7K;TbDIa7A)hW4y?PBuLsxGXAp$nrmjk%4LiaAwgAGDayyf8Sb!+Vd0z21Y`8%#$e5%Z&!Q3;>`yM0>$&o`K+7zR}c7_PjmT7p3x1A#;`~dCjzb= zI!KN6or5?RK`bm*D8-mq1*wixnyvt zD{lq5=xjdLU-h_^RDzlJjc}CVlK%UD^G)=tbmNN7Vh)u`$KosHl^g?wD_Bp@=ShN{ zJUP-RL^yBgv-%K=$D-=@CuAHDWIP@7RS<_mS;~Z=nN{8n^v5VJDEW187`qo=nAsis zKfa7@Stl1=#j!s=^;wM8+q(~q8$ZRubV7gk{bGB~pB(?=Gd1d+j{s{pO{{?pe&h2M zzz!eo2BspH=aBZbn~AZZXd%xzUNo1xe;ast5m?(yJ0~aN>RzaKG64Z<6?pXl46~g5 z{&l0)r#WTTKkayoCu^2Z1)x9-7&)1U$pe*jMpR-2K-S!4k+^usZ(R0mQoYb0ZqIAz zdICd3`*&mF0?#CjDUqC>4MB4<9F46I;gCh(sEMMw>8R7`xO4KP9}DywSMB7d8Oe?% z*B@madVM`Y1;V+UuVAz^bz-#1KKvvzI|J_jbUQ?mo?Kv$Wr-soZAPHv@@iagDRNyZ6`A+4Y^Z2tnXn zD$u@?nHZ_wbaOwwAL{@4PlHeeA6&I3=kHD~$Bo-DiU;FMdyt#$)ypEED z*5xVEcRhJ-^4IShZoZ(Mo%hX5)SUTCarZDk{ga>N^o|vxm>BAjBo_-tws#7QOC(9j zNu&|U4hDS{;#QNc9iS~gz!giR>41xOSMs3lQ~djvqtv$d>Q7@5s6YFMTCUVQr5T1EtL2FLz*gekm^p zbs!gAW`Xd=dK~Tl_Gs-#?DcP-4L$Y!RVbrhH>J)zlQU-@n+tb%%av?*+EYQu(gi-a z5m#qed1I?Y8g3x9wnn$xKqMrNx$QuA9IfDrO-1}S|9E7=bVPpn{ngCEP^D9cKYv8} znT@#T79K>ErJ+%_0H-z%Zv|Q-Fuu9Bp7aM=GAT~b3VZ&nXDsFj-m6NuXTqe@znKCd z#v7kswH-=&_g{W%e44-fwh`J`x)H)K4C*78tdLOMUd<~FC0SrhjonMl$H`B(!<3<6 zv3Mv*ew+wwg(_Dvt_lkI&?p{nC1erCZ06nTsbX90yk30yB(Fl`6y4d3f zso45fA;rXZwqYky-rY?jfdXrWc6X8lM6ts8jSY8ysN>GntLmhBdeOMKuGae0URi5S z&}h)I2~)x&_RWP%QjT7E8AE$sMnYNaT?lh(?^ z*CPUvYcto?k%)2KkR2eHBn;{5MHlBVCNz6f^`q%rF$6o7YUJ<46dCjey`BssbRwgl zx4}djno5ve9}po}s9)5_PJERSbp-dc!cXo7KvwJHhg-_;e=CMvJ?OrDF;dmk!^~p9 zkNM1}8<0j|jkoWobkrYR9ldIU7{0s_C}ddi-I6aY)Id5*wwpFdrgqo!A$>+~ZLF*$ z7QM(}c6<%3rQA-9M|_FNBF(dri)T0YkRQIDC2~ep4*27Ct2IYRUu-lw1D?G9vr0hg zO%q>yUa@QAa4{XmECUS?C=!U$Sat=+v-m*GreR}vGqtA3F8k)aXqy<-{PSy_@WBA& zxq?9vSb)}s28DsH(E7tmYa?;|2Q>#Bzg2U)>se9}+0|8a4s3k71)QI>7DUME^WJiV z`hu0dosos`YGPiKSiDh#Vz@TCX>=8YqG(KOYP+9BW-}-h4%1F^l-!G3o~43I>0A4& zO}V27R}Z!$!|U-vP~nhu`NKCS2JKHLzTEdCDK^3mo|<sc+pSrpu7F(S)RU67{O*4kj{x46Tu-QR%3z{aiHhvguX;_$>L zU$WOVAc3kbsP}tIKrU8XB}ZK&R#-`4rfc(hDDIwqn8TJ7$N}vE z6vibyPHR9*?gcwptu7PfE`Tbm)93_1>~OyN*C9UR{%IA~9sH@rS?w`I`>DRWjw3 zJ&sHlgQ5W&5VMTsZFS>uWFoWV$sgybR1ld~CxFtDx#cw(dx)atDvQ_MU>@(+1xFE> z=-|{|-OLAZGF4!7EVmjXLvh;u_%P^RcsS=up~;vmCQ%PzZ+{UT4MZZv&5y>^$JS?# zHM+SzuN&b=Q0vTTPPfg#OB=` z;AB79&>G;uZS31`0-vn9y&Lu6Uxr&XJHMOrs@HAFGp3yh#f-aPB#OTI&fHziaN;@o zvqS0askQegGH-wX6sUv^nePL|6pf(-tl8`)cl=@kfu?rx^#`XIo!7)rz=+-}EQUR-^D`lW_(ec8dWJi0K5=;ZP)ir|;b= zU;`ok;11{NAJ^Fg;MS8%f*dwgpRZ3%FkA}pCvUKye<{9@(qR3lZRPgXw7vmz<;_wm z#mvnZ;m1?6Yk-plTjrM<4=3TvwhQ>k{D+rdP#I4L?a^YaM&W@|NB~$06CEGK{qQGy zz5novDwKA2IQi;STm9vaH;a_+$71Ztrt|bTP!1@9>f@6Z%Gq<13TiV60Nby|C9e9k z%HB%Wzo{iZU4y3z8Kwf+IP6hDaA`6zus;UrSWvn;G1oTH>+eUg9B^~g0%)x{<)=s@ zz`F;J6Vo1c>t~P9n+rcf0DGUuMm-%{`|4J}gFTVjNJ~Qx?VopfaoW7P=!~yV+=rW& zZ@u*ujsve|iG(GjZxQFs*q6JQynxm|+gx1AVN#N*uv+h^%aaB?VQ_upq{vxM^213; zr&)ePMHf?4JUyEt3_Pk$WKkRpoZL={bllKNSSBCcVIej}8Ez;}SZ=J4BrH3+T877d zX(tm#Vao>>gO4whvyXpUPor-y_5S-|ByjWf3uu$>FMMfAs&L>mT=f}N2{bMt? zVobGBt*3qb2NZ;i%MWubQKn`)uieR?ZM&vO+U6#3G0pr5NS?xf|!xsAf~cMWDiTY zf@v(_NwyI1m2vVUJ$$3vp>H-p2oKW{jQoUuq4OP+{R{vE!{uN#Mg3z zYB1|A&>YZghy*5&d6N!9swVVRhIG{Ki|=m0kb3(3Vy?`ut0RQb8a};mty+O zrLnW+PKDW6TA+{r`B!;Y34HR^T5@%xk|#xxCNvvXhyBSs^y!{I$2T`~#h}o&mWpoj zeE(8oIjyAx$z`B{Api|UW+#0-1-F|EUE@Wj6rA_?4j+oDJQcSa%|&1fx~!W%;)zp$ z9KEPPLEnzBnwBcrud5pmgRhEqsw{^G2wJ}Ws?G<5r$1xBL1i!K1jQEYMatQb7ba9c1tP5FaLPuQ_-DG z?Q+1B7!`^ILB|t$FdPOOZ>tuhEv(*$)3Jx!XRikC;^JHn*zE@IM%H4|jJo&L7DE*F zl87N=*_~Yma%>{Ce(U}!g(WL%_aDZ{ILd?3*~>QK4NqPjwWc>0_4?^$bA+X!o3oDK zuu4@TQGKQBDF(L~GkKVI20c0j z$}YSR5(Tx|pU!j)LYNS$wA*$B8sYhz$18|8odJ5Y+7tLm_06fsqTS;~oYwHw)UY3} z1PqYseRC5oMiFJy9}Z*~Qh{`cmk88j)>dgxZ}y10tAbrg4^FgVE|mD>j^6>czIe!5 zc*5t=2-te^Zh@GC8M~S{+aie2sZu_Q&yJqV?mi&k1k@c#3Yf~pLKJF_RE!D+oc7y~ z4d~2eQHQK|Zv+B|oKbzr@g&}_iXPw7X;>Zic?X1X=wssxOoP_8Fopa4@k+XwBZ7B- z^+hFuqP|*}_P+>TcLPOKFar?`&8`xcmwq{I9v>+&|MdHJtp%){{r2lO9dX*PefQfJ zGBta7Ezes6!&8rI+^3s_B}oRD{o-Hz1<}&Vzx?liy0aPu!?zx+NBp4{FD5XbT7A3; zxshBc@A5Qua}&s^$9=H>_E;}P>%TwCZMz>%7rwf%tyXnTrQNxi;A{)i7f>QfrVe&; z;&CIeSx$0V^XzRiu+EN$i~ie}BPK_6&sBy{W!=I!)QhDkVs*_D65E0LwPr88Y%vMD zp_n)h-KofzlVxB<4ateIni00zdK#)-&mhd4Sp@&&rJRf`Z$>KQEQV@e=@nZEVQdGI zA19E^_|A3+Se(DQ1d4g{$?xjA)cDZHbL`-Tckyr#*KN;&XflBNUO48vJD;VEu~WRg zodg8agCHE0FBh5U_`C}xi?r;7sOGTvX@&LMM~lqv{epO-(@ZcKHK$-mX&bqecs)(u z+mhb31NmH#4Pzb( zC^#ReR6Lp4-evLJ=GI1z=JK)ipMRFz{Mo0RMpW(}GK!0juGQkI z-S>;z#roZUMrqb2$Q)lcSqz%_jI(XRHB^Hokn_Tj^rVZrhHhi>1C=8|SpEw2Y`(Cbevapc5_-Uwu@i)MD4_HY)$xCAS-RKPZE zh=gEE!)Z1ak)Bi|8F12f3yHiyqb9$?_{>Y93Q^A_Nd(owFX>J(3s}aCb{MG5eXYATVS5yog2#f#e-!&Lq=7%@U z8MKn(zdr(Z?s5{A3{#Qv7hgnL?!zDNml7VleHcV=90urI+#JHI+)QT~Q>Ir_rpiQM zD7sW63RT7i(*M(Iafx#m$472H8=SX|P?C$W%{R(=36w2<>hAuyY*%mG{8m~Qb&vn{ zmFNSc@aI3aeFC37zeHBkP=6ZEg1w=|Mgl@>2*=sQ#Q;r|3yD}ne_KsFsMrhaa9g@S ze)bEj4{z+2)9Gx;WcT+&77)AtMQSQWBHB{+VL(?SMf;+udgip(?Q3Gcb@Tikkkc<~ z0~HU<-~PECN%fvBa8uDl3C|V8R~O8!f)9lVYV*^A3*`2brU4UbYiy{KdZSv^NcZLx z`)7X@p6VEk$1|BA;DF0axv;`%^8&qHm|e~tx*T}--e5>v>LIH{t;4Nw6tS$^WNCw# zxY;lWSPCAS^%JY;h<6=xbbg~Lmt7Km`@2iqXrA;F_z%CEG5$gsRt0C$2T)x_vk6Go zonSuBgq8ps&2D}2IINO|P+)y4xBoaxL@>GZtDlsD5ER=f`wM!vWOaCUB`_Luh2b~n zrZra(S6@sN+jfn?)#X+5{D(J}r!Rl_?)Sfa^5WU)dIJ-2v>WF3c91}o*yo?7 z!|_DAvXUzn^PBq#XF7CaoHL#x;Yd7$p>!ymSt(?RK|i>eN2cwO>AT{|2PGB6yw?)>ny7g;6xZ55vP3~1bTY4hey ze`SY%QVZ^uC~?7V6dXHQn7cIkS>k(1Xk|4>&X4CNTB*C6EOgwF`H5 z3(<0W+2q!}%|z+Wqjelx$>?(-@fUv+?{*D1$Snt(nc1gae8We=`e4Ma!QcP=dEoXf z^5W?%8YLtFC56ty- zT(xo8;nnGJpY^Yvyq&lJ%zaNHVQ|L%tci=Kb? zrqQa`&!4>Ndr;@ivB2PpiR&-_P!AM>=HU8b2*y`eP#p$=%FiE0BkNnGLLuq4`(&Qx ziirTrqGWMzb0rU09v0-nnFu(ocV*Y)7bKw$#ukxCl5~`?APyPIEZhJ4fB#}CU%#%` zzW>9~a6XnS-;rGev|TvJC^G^YOt6)$;H)2cP(ayiDHCw1m6B1dJD7OW##e(XnZiYI zbtmb-rGu3)G@)o?%BpPv1}tVXY4xxA4(SPIERT)P8^JqYW@l|Jxx1OoZL;Uj z#8e?5R?ioX?JaJ)MrMn=xsZU#5M|wyU;nxen8Qi$zy?^eA>|MIWzQEK>LKbqaGBp7cXvBc@ifq?^qi+1fpE3<}=2U2i*i)g)T(;4Gt z0^7s>Y$jm2a3C1)3Y~jOu zlhWI#XCup&`$tE^;l;-l3rFXQX#oHc3R(l%0^>!@;vF?eoQb4kIV>2p0*4l!QMC5kkP!jy0o^!jf!7*-RFLe2BEwoME zd>DJysPW=uOA-6M0WXVFKb^6?+YdM(k%Mc~@*T$Ce!!{d{#S<)rnpnct?fLz9iNW; z^>ufQ7bBCl2IA>T1|MC{!^JFd{`L91KlZ%(t9Ik;hS$VN^Yyc?tu(I2RK|b%+qd@Z zJ-4y2R1j=50e31ovyNbjv)Nb$JtTE!opwPFUH=5F%|Xa=0oR5A(^&nd2g)@6w||v| zGe7^?ZYh@~I&waTIqRRrRJeSwvsz9>OFJ7;I$ostIZBxP_|1R$!`ttV6zTYnFE7qc zu6VWe-M8lo*8T29cl6>nFI8yt>Uqmf<&!iFe4JBUN#UwW<#x)!@M=D^`Dj0rU0dCM z{KYolmVf$~ofxDC!!QvhmZJwnp_`|@AX$Ak?!SCHu?BCyJ3?2nlb4OTL4@Fb&G4HI zop2|7Xg6>9ySHMIjk}Nc2(R+XL&~ckc_pHC*310G?#)ZJw6RsvJMc0t3m@}m>&2Va zLb!b1u`Ef!I4-1#NFW}APSlr|VmRz_FPFBY;%Th;TX70pqX z|NhTzh3U8EqN2(c;3Ao<)S$5fWAhLVPQMEO}r_msDYMYdiYGf1X#e z-r(wd?D&aweCou5P~u=a#RB{?i)!CI*OFORQ26=6W@#!ySZZV|g;I=i({ll3RDJsA zA71bT36(~ z?9v@x9$A34#PKol*_Z6;Rpjx#m2{SanYc9=fvfu&m!AM&K%c+P?Qk~A7IzZD4RSlt z8t1cOb8f?ql}c&#nQ5Z&kaG1yBYbz&ygB_i7i`$N3WqU?2Z9t0v|1{Hf$B{|)P`;I z$A80|w~1wLUbA05k=NFRS0}ykXfRb~jY0VCy^sL}Jv$Z+MoB>o#+KngH>txt_4(Lpywz9SHnzj;EqDg{QJO5-+p#&X00B`lJ8hJ`=g~qkFqsyZ7#|`bPSbJ?Xbk zMlkEkLgVN{A~+TtpZBz0U6`Btae~!h>4uL0Xof07=la-)Vt4 zyk8e}nM$*!qH1tHM@biTl}hig$Zy{ZbRw3kWV9)iDXp%rrrB_|6eYrO&rILVXc~kf zB!!@XU^Y5>dE_UPdFc3gS2F@h`|@T2MiRv6+kdD*gf+c<-3t)nc+_~?31=36{D4Qq z+EsHr?vABt{kkX82@XJ_oN1>@G)QOzGs>F1QRq&51{O1H`IFm~av@y0|F9fc`KioT9O|Cq=znU!XM(70Y#qS-^ zvVz2Xk>FfO=WEv|-(3&^y?6B8^P$;)_41-?fcdHmq9F`puUNrbnA;_Oy&%glf8bNR@7xtsQ7xmcP=whxc#xvb>CHt5EbK&#@ zw!6E3@AG}MISFs9C&OXXLee>STy4Rnj6a(#Bt`b1d9^WGEUI7sr+1>btb3(#bUuMe zPX!AF*haL8n=b(>1Oo^gVdzjOOk?o}xBX?<-ilHv0EQF394@e$PG{2MfBYu&d7i&` z`2pArPWywA5{)UNkG&~0dN29(cT$d04Y7|FS2&N#CAeg1b2Vn^L?YnGgNb3u+M<4= zp>#g!EqDN@7?Mt>!2ZBlED%KI!5FL>4ov$(f8hXNEU8|1OwUr6Qe6G^90FxBqrJPB zdngKr{1@K}>vxmZ;QDd~AVeUT48txFN$&pqzk5_E731mM+Yj~wcIK1&8O(=*iFoN& zLFf%Ga(n-?Xom5-@MRepBtv#8I1foY_bM z33aBz2(L?Zy4{PwyrW1EFTa#9^L{Q4UerU7x87a};?a`} zA&?35PwKK4T8YDGjOoo`k;0 z&1QyRM&mdU=X9CLZ>^^{cXCYh$N%H!sR&1KJGYD3LU_@~FiFr|U2z>tSwL%KZ|J}} zfA!(Cb~DnNZ%=Er>zhVrGVDwV``v$iBhz8IA(^A5NKq(cTJa)*B$B=p=D4-hQYizE z+g@&WO>a#du`90pla1N6%qEICmSQR9@jp+swDM|{i!%^NP$-+`JjIKmyg2Is<<0PD z9!ldjmnF?5J|dVrUg*Pauh*=1$Fo7J_TlLe=a1fA)N7q-=ej!4bptv%92JKZsba3s*cUTPQ%XfcOw*6GN`DWmd zBo~1M-pW0s8>8awr zmK|Tq(XA{vHE6v1Z~pBxf=nd!^2w{yPW8+pz5el8OD6nDYet6bi3E`VoG-&777bC$ z+lIqbF}&bY8w8K+?=oO=6>0O?d*RtanCqy&n0mN9=?RXhTS&1mdp`>PKODW+k0e=^ z=4VFTbos?4m^8CplU z*21)w^d#V~*WAtSIp_O+Zug#xT9JEwKJgJea&2kmAaL$yU#&2%46Z)i&F5G11jL!g z%Jwck9y#38r^xxm$AhBCQeM26lhIul=G3!G$(Bd6MIud)PBmjSQ(w}e9!FXx_wY{u9_Hiu5G@HyiHyi_OGMQNTCLGTd@c6^~yhm+)TJR%* zv|}p?&z!fqSV~B{r#Bu&vq=ICPX9EHLG6>ffuX+m_N;LzX3(=27y9a#=|BD-??8?q z7T`3LW&;-u=yWo%wTgzz4+@3dhZTzC3rqQQ4B|JlYD=f^klk5Hq|%(vO(8-%o2Bj4Ik_IOwJR=4a$U;RS z6szz)jLc<>7{0yrD<$L2AJ1HlWk|U@Iz99A=;ZGG%M;B<&6~H^6Fpwg-?tN+3ETAW zLM2U;EPAzjM)qp(zr##THZOXexSpG_4iPCETD z!bCz{uq;cBlC0xqkVZRTh_L(YXfo}qu+h9~T)eq7pz-BRtJ(DsYdm!@<->S+n^fbQ zC5nvYDyd}556XKbu=(t&_;`&nM|RS`37>96ii;GegG-v%=U(7PF3#$0{PTwl08H+T zOo>6+c!ChyDn&9ZmD(v;3S4;nxPapnm45Uj8`uU>&D+xm?0sl5Upx%2u9{OU{Pv%v zlyUU-hiA9rnJqS?NbQb#7Zcc3$nf^obTuGb&QbxIuL(k_lwDcNrT6y=`IXh$N(pD# z5Kan#?gzuh1mfMs^#I0<*=*K)drhV}Z=qZj|NM5UfkMhVcs}3-)y$`i?l`L7<768n z_%!1T{bFYL`rPJl*wtHiB7k{X7>zqK3lqE#-<}aUzjZU#T|A3Q7M-9{>y=VI5ziFr zpZ@(mn)vK-oMO=U?qB}8s$Bt}|9mUU#ZuT@TKy&e?!Ce@&TOIoSdQ!;^k72nqx{?d z{e>U)n$x+~KN|p;F`o6CQ_YO$wYMi=GCX=CG8_Vdt@rH+)D&t1d~;0JI4r%Kh37`9 zTw8o0fB$hcmrO0+Ut9TX%NZ+Ev;0|MJ|vdPz#!UNi&QQrbpg)!?hP1MPL9qSo#y-Z zS1pOl4*&663DK^H0VJOs&p$TCnz!1T8Ld2x&g66y3&&n@uWFAI(E$0N80%Li@VXJcYQY>9efx_*T-^pHRXz4c58)q6*K>IgT~Wo zUE+!)kt)T63X2QrOun$R%k}%hx`1*8qI+wzj5}?5>3CpTM#QktaG+cLNumf22mP6b ztkms;PH`(9a`(5eAhTM@Fm|;2S#CNAi`$E=3jB~xA;X~?x~?~Pbu5X8f4-%FBnPPc&cdbq_drvB< zwKbYq-%Wd7>i&L;0s3yYR>v9Q%veFUMg%PnNq7Onf|OXPLx2!5eF8}!f3dF(gI5xciejyqr(Jvg=?X)vD7`<)1H{?khzS7v(e z$I}Sz91SD$?D@HeO<#@5d2?(Kxkd0%S)NXiOeQZR?>}B!t9W)Yzwy=Q83^aAUq6Jq z=$CuCn5|Q0K%f9tOwX>d_2lrVwJ2yfI6FI^(s2rNPG7db+*(>~jeQW(Zr-(w2-L5C zI#nq9)t@IZ^Y-rWbne^Zv#ar}*AvB#6fdPy0wbj91%Z9C7L0(%i`987n}D!b{{Dk< zDrOtyPZK_st)wX!v{W#YbSL9E1j-HvyI`c7Bn`n*^R`1)IpyZ4m)Z!sJ`-?{p9+p2 z(500cGLZ>^zy)^x@BfZ{!ydH)eX46ZhR@%;vlvur&h*Q-ZFlhFxv-4&E;M`R1d z7qQ?I#Ru7uSlzEJZ{^s++UoLFfvoJ+Vq7wtFUJAhCMvN>*Qc!Z#OUAkG*`U3c5qD! zEfFqrb2*Bv5FB3`4DOMvJ5_9$OK_Y3D@}zH)MQyp0txK?{0yR_GyeSA{`Q5<@E zIB?)3ttsg_Zoq&-Mu<9n7dtHnfhD%mrhz zXg`0U36V6sJUHupJb9!&fbr?K|9T?Ly8~%{dw6&~)FDp4kU#$dYR}Q^#{G(P8Ehol z!&HGxf40;=GjkNQ{H>a1gP`~@|{7Sd<$mt$mEArwF!RFh;TMdKMxoU-6 z0tQhK!*mHPBv8$AHzK{vh5gl8SU=|Hr&$k_brbjO?0la^5H<`_6qszm$Z{;}HyS(m+v$sFZqVD_i zPOGiTUa=gGB;m==?Be{c6>P*6wB59K-J1FA|Hui02t+ zF6jnK=yMyeb?K}TK(qE>F^|pej9FqP9UT>N)KrF*u3KM8SR%DtrkGrsjc3yd4zLMw zI*b@l*1SNuefj!E#d+n~zr2&B*3G-u;WqGx-?bdml-ieVFB^}zN)cz*ca|zED`|{> z_=~iLtgn&S=KYusl#8B|PdW=O0(DQlI~m*KyNNU&FTABXHKG8j*5peGL_cmWNj=F+ zw9d}_A<54oHy>E~?QXRAv0`ZK|h}w?5f2qXc0)-Q1x8D$Bn*|aN zWmm{mR`Mi++5Fa8eYrxRsrvd>nJYZmPFYIsLCm4b+bh)RhmZ#%V1Bb844DmX&W3XD zb{;hUao)`GVvFxdY4EiYQA!IQuHWrcP+;Mf22&x!@Yq*iy9voxK_LqL)BfynWhG&*if zfk+%r<#*EA5a+LDyS|2`p6EfPg(=>*3QS z$mF-SQjAbvud*1ENW?jN7%i7T)rv4Ia@+`5*d#)>a2lUn8%b8|sp`<66B&3s1FJ>Q zf)^fgG77VC`{GS2gl1P)3Su1{2dFqQZDl6QowIlE8shZkebZO2+D0l54nYQ>@{okA zZ`5mf0gCPH)e1|SRTgw>fBP3p09VYftQQj5JVz4tDE6z3*1x}Vv)o)4pzD_}ZzO<< z%+5i_Hetpa*$iUL#*H}=PbQq3zUgz-oF_X0`)JE)Y4H*@Xn-kD^}UND3GqOG+?_Ab zISL$2aa>!sP)CjQa97n_3&*+!TV;ZW)b8o?$q?_H;WE(L(j{Uw)EM z^!5Mr%jAOILA5a^(Xj{bce%wPUZWqLeY002drC;eOw!mF&L;EDUc zTDK3L**jYZ{K;znhFmVtB#9FkIKL8^1YwO0HW)}Kq)jgS*=jVgB2%B8o?f5dgjDyt zA5Poz1*DI41PuTm;Xii7+em9~4xth*sR2>`bO}Zhwa@?K7y0b!?t^>Th^*FAw0P@o zeZd`k@N=w7-QPjy8sPh}eDvxc+C0#1wr}3Ondg^`vzDskYiVVsG^Ygbjymm$I-feu z?P*V*x>r^6NHr=&`{SDt zjGKdwA+U}FCesW~6z^}O1=7oYx#M2lDWdGUvzzm-*nD;9ld$Y#qq_5)9ao+KYnvN zQwI$*Lk&81Fb@O<TTq-tVwkGxk|s|qCj99?|JWZl+T;H9nH(oA zzJzOVrG(2vAc1)y*nit5vRSXARzE8P#LjP4q1a{_2>5)0M3L#0nv6NX^2eR~>Eg;K z+mxnY=^TfI{kvKF9Nl2fUpK^%APOr{L#dYKTPGDW$I8c^Y;Nm#h@ghU;gea&km^m} z55+-u48rrfvx{lq&c;eq6@K`?C!c)5&V#L=6-;F5;r&u9S1Y9}b$UDvF%pR~57%Z# zTE1S~f0VKL|;#G(H z?N^jR*VAOCTHjrrA5LO+fTvzm1VC$AeWFum4N@b#gH z!rf;d?390fgH#wzcOsO+0ngBehrd7Y^5F50NA2mjrDk(_kYr6uSYC^@52Cdi+CLcp z3}m_NQZBTxWT951ypT=B(J(?#=cespA-wVV8tP)T{fDbUqFPSG*B-5?-@YMBgw15+ zvmTTrCqsOd?f2#j+44?KbXxhRe^p7Nd2!Pat@&J@OPXc1n?pS?-8gSfT#jQZTkzey z^x6FcfamMgIyKUg`(M-n&1VG)F_FasiL!*I-5hfN;lbqCT;DH7VJwZ~`~uDv+SvN1 zH)uk=nqt~z2TNuWY%rgJMe@T>I*%Ia2o-)6o1R+HQg=eB1?+>ctQN z4G+fo!WX|@#^MjY++Tb0*}bKFAx0HLAci%`7wXg!jkWU*XedT$4b zI@|m1yHTJkv66RoV_`IG1xb1~g9tFdP`%l;Q4~c2gn>Nn@ne3f$10^_ZupNsfEBEB zdT=?KPbY)U(5~+W1CxqTmVsqRi>l{v0HK_|RokF-2O(L~9}Qzw9!tdyktpT-d63}U zo=OlvKo;UCLX%35`*Pd9lQ4z}r9oGRVW;=gyO}Sy?Q&{*Hd+3=&%wK4Y<0E35r{wN zMM>=L?ZC4~X0pDXbX0)K)Jyh7HzKj1_5G`fDtcD;{B|&vwIEZru0>&C-?8?yPVU|o z-TwX^u>7##k-z*)&Rzeep4@%9lFQY$_mQ4x$N^1Y>B96~GsxUaO?sYpd*_9k*uNbq zcb9|ib!*x?y_rgiJfB`a>%gck&Sb2X5Jy2Qli=fw9c1chy0BXzuvmSqR!Ao^@nni4 zXk66@-WvjI>E81LemzZjQziLi8AgP3I+cxijTXX>o}C#+UnEP;trvqeD4)duh(cA% znko?}zWw2Js!y)kAA1+ySztuwE0kxnZ=I6BeR(I(0%A(1&w8$woeENN`d>98;OgF05Y;qW(g_Os46gabt71=aVs__F2`?a}PF(g$g^KFy-iS!Xd+U$o2l|rywCJo>p8rV3P@Kcz9tmUjL?#WPp=%eEZWU z{KPMMK= zzLriD;F}rgNqV?onwTRi8pOqgd?8)fTH=x`HOS{l4<^0g*jkwO02bnyO;u5c=BfOn zZCC}1%kc=$m%&?+i=(rXAC7F=ZX6trq~RQL8n==mHt)1zd~{>rx>u}I*wPv@4dOz) zkfS}z1*t%f*Oj{vbq9CjAcjxJl9KvjiC|K}l~}x2o1H0?Kk6%YZ<|56EYNC8Vz>5d znK-Pt+4YiO^ffjXI)Hq1E3A_Jfsaw?44W#UCokO9oO}KHu%i(%XYp8U1;|$^2%QYb zM_&}omP+_az$1&)Q=;Wn)`Mb6Dqi1R%ES}Nm4}-NkjVf4-B?h{A0Ho&Evb3Y*ECmd zOKjXbdoxL9oX#ZB8a*F@W3^H+HMo+1GTuO@7$1Vqo{Iw3dOJkK%XS2*Q^~LHWMUuB zlwykv2%)|#e{4FbO++K$QYgOhARDSWx3!-~Aq0_|b^;z=_W>M4LtTqvNuGiLjP*qW zC)DOVzlmL5DKH~&Tnr;u_i~u9x=y?C{dGD-$;b%t$?<@sRK<{hGSe6*YqX57bRA>Kf~haxhVSxRXK>J1YblOK`Cg zeRD%3=ieP7TZzu`P@Z_X)mk&&{ZZzJ*LPwoC~b26AJovX%Z zeEfb$VUvapiO08CA)Q%Hk*Okql{RskE)?s+?PcbR+U(Uk;^!O9w=)>0C=4{Cy)R>W zEa4!6uJQ#!Y`2WSR7`bZrD7Jiy)NGR>1-?>7dXI0&Averz(Pwwr+sb}HmbPqhLMTW z_O#v4ZusAQKXfcVl+KUDSTVYqCDYbWi>=1hfoWT!?&>qm^W^TxfsyJ%qT@dP#dMV8kn)=1^>~dfuu-==6@iINv5-S;87txin zIHb7t4O;ZBFZ$xFH&eQ|1J#m7b4_PAbMoQ1v>pT0Zr1?A$ZFq81lSrTY9)r*SkkA= z`eto?nVDRA8#Ro~+PB)qrrryLbW(^KjUZDMrND^)T}pg=~RLNq`u}k%tjUop-7szv2u>_ClW}3 z@Y)x}&a*aO3=E1hd!i4+q2|Y^y90ggUQCt1T$WgfK^&KFv~&(oiS;sDF8O9=XQf;( zF6=_Q$?WQWo=z8jUruy;SvX>znmljhf zR(KEqVZM+=Y&@NTx|7&WHUMLMu#ns=L#}?h$&%?(I#XXZU!DOxZ28LN+q0SPnjzYG zHDLK*)E$^~HX*;d%72=ks;T7^LBtaPlqSPC+rOG~PoDy>-Zu@V5*;3Dz9uQ^;wP5) zn*$xQqcqs-&J5EdtGU6C?Q}f@9vw6HbEb?IvpkuZDru5ZR95leHVE9xNv z26&eB7MJU*bOIL#c$L1o0W-AU?lLt>)R2{J@~FN1m>jt*Y`R9PV}MYYT4hG3V|IC` zMDjTv(zzWkES@->E7O4jn&)joJ-(K-`MB3oF}r{9UM}s@?Vhk*T>wzJp4SIa zK1aZOJ?r(XBq;_N@WY{(B<7u2NHS34bVjGs%=~nSeKd=?oOmh#VK_KEoQD47^473!4*R;& zZ=77}(fsbtM1wHK!~FUx=i0Pj2W$7Ccb)QnF0&MuT0yCr!2Qu8mPpTaZa*N~$ze-_ zFf0muRgZ1wKW?|5KAwJpe(pO z?CH~Vgwt#}!z76Ll*qG#^IqbwA5WjRgep3rAJ)2uT_96W`lBCzoG=v08Uu2Pm#*jO z$B($q$$-exo)7rrJBQ(fBr`sjl9iYr#S{5bT>K!f?LY^oHWZrU+o6fj^kf8tcNcyN z(}qno@vz!`Jzz4K{m*ie9;+iJQ%#59%9h{;bgov2dUKFQTwQLxzGJw9Ka3E6*c(ko zV<(HAz0u2Y+f=7EWnT``Rj+l{$J3-ouciH{@G#-v^(8^mieEpZ`{zcvIG?5JdD57L zi3OSN0Yeq$v-sh2nE_^^XUrr+@7zgnDz3C00XH1m2yjpqxrdwjtA1_2%7iQx0EuFu zS`sLC64WZnVLwLc{jsJ8xbpUo@7<+D@6E+zWF*LD7sKa68)7PH9Dp5Z0shtXxW{E7 zbn`xkRZ1Lc0kJ$I_U8t^jGv!?MMBkmpDgo3HB%%amjfml@I~Yen<7)edv{`J+c5gEL!V=-;QBr%>mVt_{9(T>3rT;f*rxAy?t)5@ag>E} zxGWdCykO54=69j(Sz2vMD2Y?qG|!{MDP0%FG8@zHW;o(ngOkf>Id*k0BDlbHkcFZ^ z&{Qj|Aeu$5tm8L>1xYSkZzTf*LZuXb+~??dfHUf8{@tICO}BHdkWi;#VURu1Vx*U- z1~)Qe8YCiX#Ru4FC$Upu;?=F{(stPcH$GePt;Ewk@vUCWP?W1@t9Xb2i+J{JqFVG@ zWBJXqHj>QP@BVaQ1Wy0z&Y%Hl?qRy<69nvAK%qiSuJqbQ5@)GlGe`-sy+^D#9AKLp zF)+}kVVs8y_2#Eb3+2H{qdUCqxXHb`deqWJV?1GW!nKw0zn==b1<)c_%cxIeYU@>8 z@c@7oqRG(XsH^|-9k{s`p1f?J2~6+#sSKuSSb{ivXXj&fzk}76SZLnz>-+mD#mZI% zy0ppkuI*xp!eGOW*YnmGzW+(ewXgK%6A;qnP>>}V5>tfjpGkd6n*JRZ_Pvuy(ahRU!1?LhIQnJsq)l62QVzItMx zG!4n18CTQHYC-Oa4y1AMLkv^61+A?8AJUS=7{w8Gwd_GR` zg%k*}LadmK;N4#=fncUex@2h~+^}tUAcDFkXw2YJokdgN-IMk~zl9iQJI*Ko^#TC8wNmZN36TiHb^%R?0eX^S)%rKUSB0dp~ zCALaSW0&U9+ZVl9kyBp(>0FmasxfM`hc?Dx;(0gu$!Zi8mecXtass0x4JhobId2C- zv0UQ^XU1Y8;gjcM8lLo2rGInPlT4JKA6{r^aVIr8Xu3EASY4U$2hC~zfBYY~J7;C9 zwEE=BC0Q@;7EATm#~z-*d$#^br)8PP{1Xb_*xBvm_(A+rw+%v#~(xz5w8x11l&Cv zFnfi;^E-&7jb|S`V%Bq%Yq`E(6(DT;KkP{1{jWF5sQ@h(X_CMh7N&PrK$qKku%6G> zY8gm%@;l|m%WfFUgMeI!A+~Ljo&_-ZEQo6xsP+{Y;L)p z%NGd+Sz1XWmV+?BxJ#`Tos%<%@MXiC&P`>8B$0j>*(iaF5RXt$oCcVBaIB#I)N+jc z7d2HPi_2Rp>0Bk}^x?f4gA?xcr77?W%D^eBJCE06;>o#43bS_?bA5jHs-KBXyLx&h z>D$>~KLq^34tILTRD!NuCMF}g9&^~A|FVc>i`AV<0Ol*nBq@s?nk|4s31=azD{^u1 z<@=8-elAhzpxq`4u$x~OknGkfk0;l6YRMSv3Cr=`m7Az$ z{oXXcLa3?^a&fTR)&b@Gc%+Msi8mR*IacyEALK}wudQV{+G=$G#xr0>J?Uc%yY?U* z*c!0-zNuwA%Jk?X`NmGx|`Eesz zwCAxB9g&5V91J8X`8Wg2y*S!z+Hj!EEE+mLBkD=3b9@`ogVU~QO-^24j%VZX2;Esh zglaKa+<&;cy_QKc6z7Sv#D*Jzq&Fh z_wwIec&;>#NJgpgq8O&kSLNFICE`rF89+FYc!&v)mVtOWZ;y7U%)DTZ_8v zp!U=ZJ;M#DJS69yq(#5DRE(<^R*CNQ)LD>-WRjBFMs8>6V`HOSrck7e*}$o-nLi#! zX=2*(X={j-lY0B`HlT6i@b^DW?OFTXA78X2$<3!BmV=?(-u*SwpendF2U$;=`&=Sf z;{!Oqu~MKD%QebQ{`{eOHlxYFHBAR&ao5&#HZ%G2Ym-Oj=O?{czo`e^BLy&fBkt2Z zXacTo)vD!ewz^zOuz^JvQtl8;t5+Ql9A7tQ>Zm#-{c^O}WI%!=0Sxb4HhcT5&*zNEEXyrVJv%*R=NC#1OlU_uqZ! zO#2N<5Yz_pXp;y*kV%AYa*1g5+<1TEy=%1?j%=}LFUXIFMIpAP31U0zwOr%9}whH;)o z;Dv}ISbim$+S_8l^!|hW?X>G8cORBeKY$jV57Z5i2u2Hmd^?AxfBNI`)y1N6jL%=6 z4Q`GbgJ#>Jyv9$h#Lk1PF7wqS73VZ3Rmzd(d?fia2S~ls!zq)?LZdFeeE)t@*6QDE z)3Md9G(nP}kHlD5*j`d@!|HNAnXM+Fh~goa&NK2t)eHbP2NM|pU>+VTiM-#LpMHNG z0pr7O|Mf^3T;I0GO7BujuJ5gYV@rsoHdj-a+8BLon6sLq`P9<=^?YUf$Yti8OZ?>%`^cgEPt z&PFwZ8(?NRV@`V`uvRhNoh)pbvw+;$Of)f}n$hlLp;ldwHD3+=S=S(|CE)VZNfdKT z5RnuHK@nX~VVH6DVp@Li*t15F z>UWznb~)j@p5q0*MwG)QbBK>orXFF;=5Kz+&7!5PN+wgxXLyz;eJq{KtQOU&i7-4N zo}ZlcEW-)m-t+gfk89Gj`Akt9dTSF`fpiIT*m^$D0Ft1P>EW9xiAWmQ`mVt;##GS_ zMWHrp&M>MiB`8q#X;PUwVlT`WbJ0{p<20R$qYICjNe}?UV9J{#n`JXe0+6RpqF#to zaFXf$@r1~Soui-5hvR0Wc{Pj`ps|F<5)6#3eVy-Kpu3xtVltZ#OTG^0?>{b)Y_Yz& zzEmt`F<6M<7~DPRM_e&{`7ez~naG{v>rSgR=rvmJzI%0k-Sv3=-RrgifzstoP$(_5 zkBNxNS3lb*EoEV9>$45CJLXpN1Zp*BH0>G@;20KF0Nd^0{;yYz8Ml%!=VUz}b!WM! zE0K=JgiIm9u@uhL@@VMHx;+=8OSQ1wHVKY`LC_80z#3m%%^Y*`?*IJ9)7Ih3XMcY6 z@wlVGVJooDKTw;oaaVObK%bDCyS(nu0vK-m>WgJAv9!HXd+@kktd=tQY8fBRVvlzy z*O^{S*?9DE&79i#@%2y~CCFr&6pGc&DwE#*{Fe`?v0VA=UXg(4s3RpROc?*-3u>a96Ti6dJ@et% zKr*b>o|u*m&@>0RAfMzYl8q%WONY~G`TeQQt$(vNK2c)Da!H^V9OIJ--n+b7sPydo zqH}w2J#AeB8T0&dteIW}ImdqFB)^-4Zp zVof*y^G{PC#aOM6uY=U)?bHt!)_n1N!p23Xbu-0)qknucw+1a@6FGV($5uafz{dGR zR*=u-e2tl%H#H9>VN24qamUc9N%bUMDBFK>u%yG%Bo%yZ*6 z+P&pKi4fcJ0))ZbLIH68G}|It)->eEDye^Zu=x%X|7FzT(A?$E{pV(@C5$T*kBo!Pk8pPD$(y_FDrde8_EsVAYp@VX@#b`UP^%xJV0iDF1v>{q`{ z4Asp3qlcT-Qj-7JGp)m2n>$if>YQ2+Hii_-KsdVMtXk`+cX0XHl!lY@6nyu{3IPR|G8VBr`1G&5_= z0bZbRlJISiq|Cz>nSgyd91I-D!B(r@)FRW{_jB;Vz|^V&Mza{f^1$h<3C4g7(7$TS zFlKj}!$1xv9i^;(`zUQsOer5 z>eGqhS@ThUyihVYLCyL)jNoiSC_defp@qE%yG1s)wOS}F0uH|Y5PbeOwb}Ke`fOyd zg)oz3Xn2r!@!gpfh}Z94owPfbhX*&ks~68NhwbaDi?i$gY;^pgZ^~oclnj(W5E4h= z#FMY)n6*sXtT*>)_2mmyrUg$_`BNG!qMs&(Ja}iJEFylZgppkSmXdGt~}+wR`DN+jU0X z>LYeC%l`6bu_&G|lvnGum0Fx(`BW}VIT6jkrs|;-j)JD0uF*D%_D>ax3e`#L@Sv;A z8yA<|Fb?`{p0=1aS&`4A|qZ&0s( zr+@Z2-Mv2U$Ch|QG_(P@^O$V+HP2^~lr`v1f&{O1=K&F4-_N;DVr!Y8ik0-owW;d& zKLUG?s_My&FYqh{*hsaE*-^a4UjAek1^MQzrzxF_hDs(Wi`9AGXIcNq0S?G)^zt%}&6hv(_|XX()g&f{6NmexLawV~Epvn8aoVNkLAK+1u^TUG?;7xj+&T!PTmRHn&{}Xz@;7qO5*5g$QPSm!ych=L1 z+}h?^m2n3xJGWdZ(StLqxL_v_A!DgT8XvU>QJU^w4fRR0Gn|Mn1Q3`j_4)v7U0<4z zHs}ndgW+81pQyzo;OUZKNH(8KlXPSV54HpGowKZIyjx~=ju(oKK6E73*y}Y#oTb)lw zW6>rSreS8VMOrpv%d6FmI!_k&?yW7?%e9p%MI~ZR$Ej6lJ0x7m=Qv*l30LKJ^Wt4! z?T$cyHdxe(o4x{BEs@AE%GITnD-yP0d)8nC#o)>p{OAEhsU zK~G(hRV^xwQaM2yLb+U=!YGDKmj!^%^C7>x z%3^$qg0;(`kcWqTNf|Z95fYfT+SupFZ5K6_(c4 zw<^fR56ahnmC$uY@}maR&fX$OmW0eN5y6_U1uZa%1>P`bXf zvYd~nSNE4OJV%D9^^7GtLFlNKtIZ^b5l9B@ydEZV;o>S{rz;2kBA14};bbP-R`cDE zQ4VhcRBxTPjL?K>b4q21&QH@g)b9oY=a2dp0>|$?is}4=$II#5)+Z0kiP~lfPp~I% z=)e6uoQANgd+EJ(O!ZwA$q4htsPX0wR;-;P8X5a99M#EZa1{`5LF3PjPoIa-wa zdOnl`L7?NAY&DatZ05>KtH}t@t#9w_)_FF!yt-U3<_a+<$_e8un}zxfS#6!%%%rRL zXT4FYJMA_M8t%S58V3Yv^)7E`mLIsvs59|`?)j7erz01%W!+KWxOo@WlD#tpnzbYd zc5HbxigJk{%C9Any@9DoBO1nT_?yOKqtPO1=Pz(}nw5RD34{eV5(eCM?&o@mwaBCJa&as5qvpjxoL& z0&us5aQ0+AZjCHAbm#qv?hFnuWLN3jHu|y^8Z&gK?06erZDdlJ`l8a`-^qg9&ONZn ze7a;gr4nqbCd|?-<$Y|eGHMPDV{mnTdDEW_8kbF*M#g6yu1t!JDVY)f@am(&dY(4E zyO?+(iUqP{g~GiJ<4oIol&1)CVL#J5U$4g#`K8Uht(80@Y&=db?gdZP$?Ruw+qJ&Ms}rc=^MqREMu#Uju~iU&vI;x#hj8kl!o- zN^HFV`Nb~_%{CtM!Tkrs+#sNvgBgaoz0-r+xin}rhO(^=dUI3k^+gMfr^SE%{Uo`R zWFbX^1wu5^yN{EdLFubCX+l5vBHJ5~rL2%?N!#b+!6Nh)x^^pOSMt89cxYyQWl{a-b82(N zeEz47XNujX=jLh_6a?=u!V4fej*P~H6OtNEq*UHp5btRN~Z|Jf>5v9lnq%K zzPka5;b9X>VanVJ9V-L_4~l0z*_oZ(t^a}>lL_h0UtR)Ch-Z<^auPssrnXaKP=ZTl z1h)EciNfQBLK+N(`cf5p{wF=pYYG96&i_A(-t$M2B+b)vt+j{NDkF84uC5ldGrO}l zi{l;$P+-Y_jvy!i9swS>;NGq1nd@mWU0P&TY7rS)OV`=}UqGP0on9Xj2_z5!OLKdF z@AHIvnBD52J?lAy((0K|axb~=bk`9rGN3YA1-|E--4EA_t!+B5-?!H&GP_qncfHW5 zJ$|gpS$lAMXHw2!2njfd$uf>_{q++TEj`%HQbhGxF_QO54P`C&=nthuTVq57L@d=c zTGwmHn_m9-Q%jlMoQ)w~Kfh8zAoQ(}XHaLp3Zz0ZNiNJ}xw2bvrdX}A_3fjm@8-5@ z%?#*9R3^(JC{x`@qv)4&G*T%x8nuPY*}t`-kgsU}`2W0HLPmcCp}o`5dP#nL=ymQ* zIfs}4i&=`|QIvAgG7%DSZ{I2j_eK$AT%ae$_M!LwifERj?%SBG!1+z|+h?0kt8_kf z@T`Q>rEKKMrCc1)_6)ApA-(>G^y`n*^CQmMI0(Hyz4uYAef{Zdu$;|o)R~ND4ncZr zgQVSA{2#7WIc*G8g5$~c<%mi%A)A$wxwM>4DmV1M`Mra+-c#Myy}`0R9uFm`Vcvg04GK%9V`={U@8Vf|68bI^EdOgl4U(&wLK zR&$SJ*xa+ne8i=~pm>y4%*OLXr;FA1w9m5JW(X7uEh~1B-IBGB8p0X9gqTzU^fn76V&;{=Ax$)A{;N zJ=^@M9sx26hy_xQ=C?Dz->jTyGg+8{Ia{EQ_QJbQ10*ZE!`?)*Iv?-VRr{{fS^B*X z7x$MN3h4B3c+dxV&h1XZsC{P#29*kWGk_7x4Ni#dp)4cf(W9h>KL4A#F+sL=%h~Gg zR$Wkay0*n`uCG^dTOPJMQ}y(p-vT9JcyhUfXgXMU1-|`ZDx`21FEI0o1rkzL3>6jS zr2PhN1IZjSJQx44v!3`UN^+^BIugp5O*X2uznFxAf0DdSN7LzevZj;KVD5uHfIvoXgL0thy2FkJhPq*n+Dq4%OjYB{ z^N3#T@xtR06cG%Qt|jk3`p+MUVZ_TcL>Frhz9|}OIM>M9i^P)(7(_Od%c=vbS|@Zx zozArNcrxu@d^$e6pN#Kc{d{ZKo!1v=(!T7-b!IVk2?Sz`GK>crTqsGL%xCrzQ?>fH z&k~_eL@LtUAuPE}dWe+Z^Ls^>p!j4iMS%nXfp|Ec7@jrneLS9M^FgoOnanH_T94PJ z84{7{xrQ4PRscD@!I#Y)EW;xJRh!*RZJSJicN3D0Kt74hhF~qx`@GruhHp=k+nf(^ zxr`{rG?+m`{^7F{E#{&by7zc5g-TmBp2;`F<(tbuLdRXzUA0fnZf1eiKDi9a;-=TS z(>X$0uEzbvMp?JoXp#E*NE?;A=$L~BjXp@XX>lL&8abtu?uU^-m(m+o{f z73Tl+7qls?;`&$&EgV>m<@%TB>=?lD00Oe1a)UB`ieVDFRVsj`W>aKxwIn4!{Y{e! zZ5v6Y%;DTN$F1)8{{6MOXvnl`XK)LfWc`>!SPfvmE z9f?gy9Iegp9J0o1l4}?qN;5R#SZtjhk0J_oV~o<~v(?7Z-v4Fjn#(8}k3g1!JuH)k z9lWqpWI{Mq<2+?y5)2eT`cMNQ}usHM@jOoy#)gDKfyO|G%W?*ZUGx>P!K(@=XIH+`0DKB!k zVFJEG?tKMc%@VZ)l@uJ)N9%`Kv#qjeF7)XXVS3r4vi6SB z#_Y}ll4F6TfpR>@!G08l5bQbWL;iYo@Qj%o>93w9Lp)i2{9R5pvs=Yfa%-2GTZs%O zh?Bou0aWB$?dy%To~})+^F}Xm7eCzwu%{c|thGi!-C3_991fz$H5|6IU0i;er1#21 z??WGBLtO##d3b{yK1#S??%>I8nqmY-z@|N@Kn%JeXZQL`!zT+#XRHtjk;aKs9$P6` z=~0u`O&^nTiA;g8Y=k0#D43tz#K79q5Ucb4r>ie#I}OcZX7pjkvY@NX=89pdx9`<# zk+ByhCeWnZ`1-3Vyas9y8a(shuM*RN#pfD{d0f*@Jof2$=|R2YY3_kM{^Nh@ZtcKv zTlD%L`%*C)4HSQFn{x;@MFs_|KD1LoLw(q9# zgkkP-X)>i8CFc^fP}+NbkYQ0gyH|lm6EqnPMp!x;jxFo}iJl9$cXR2+? zCv)3T*LuiO*3yJv5Lk5$`0RiGk;yGT^&x*Wuo;oW9aVbJAR#`*Q5ceLVk1pV*hBZb z|E@6FNVQt?@HfA$sY>q2QL~if83aN@H*$spEf((SCNerVBVAdljy?MD!ApU?n+0Is z{BjQy?(Fh>xUtc^sJTRhR4RJ>b}3P2?EcuJNH~#2jeyOjB(eGUu(6c|pxoY06+iuC zq`o{ZN`m9A35{-|JT@451O*vO-B^s4mSbr;m}5pWI*B;W%*f{jpfJ&o4WJ zX&lz~?Tshy=FRJlFQwVYH>bCK8;SeR3P?$gNhajX_CYP1=EU0JUKvr)Z~rbgofEvX z@nFz(U2QtsL=I-W`Z<7waml*#>qWU{ zj408!XfaYugoY+(9S4}+T;FyT5}UV%E0e62%f;a559~J&C2uh|r*~F8ySg$SKlEQ;J=va}%)fk`YYbwwmJrpU z*wBU8?FQ{ohX+~83&=tPi@gBB3CPr3AToi*i=4W^cE34HaS{QiDyX`2P~4tc60uoq zR8vR=Uyiplw1pD-%l=(Yje^O?b0u5HCcR~dQ+VjQ0pQ%ezA;@3G;WT&y6Z;-HvDLO z_lLYS=y{n!f>b}Ah4m`A_}oj>)730w3Qvw|&E|GffYXmko+B1_5BbFeDN^^>$hNp% zTDG#b5rpEDPj|^3T!rY~$pk@W?eSu{S)acgrqi2~;|U@=@l00A`Y&gsFdusUtlOIz z#@getHJEHXdr=C}`q%qO#D^0(nE>hL78S4IoY>f7R6n;@;rLu4*jNC@u;Ae1)ld}< z^Xt|!L~s5-}DKM~9f`nqfB_qcH1s(=K$0G!Z zSzNEHU!_gO4iH*Sla_9~4w@7~%?p(k{pb;^g<_KDWdYmt)`=Ru8ZE3a7I=F#nyDMF zu?KxV2ZYdxl&j;;S{dJ7&t1z?M*}CD0$r5hg>*S(_KifIM?oSddxN!auRJLMEGA3C zfw^SVU5c4p3buvA((2BT^IQ}Jj^QJbrH5pS(1UD_gh+c17lg_A90AqgRMoXObLMO0 z!4n}ug!;j59`yqh#Tk(XP!0<*f#Yij84whba)MJv1_Zn6bh4V9zdsx30Sxp{J4WO# z*S6L^y&lcFcl~JdTW?%<5b&&Xb3M=*5u9~K>y4=mdZQ3sj@b&*A7ga?{Zta>U1jq6L<8;7 z{m^ez-1fxfi{+$t@nJ%zkeDUsODlvtkIO;8{$H0gH_oWTwCO+qDREMoSZ&A@Co~#q zG$z+lMxa4WG4$aCPJ4IvdN4S?i^^rMGc;k45b@rhKRW2u|JSPI`ahp8jF7Dx=NmIG810Ailf z6)2fy8Ps$V53`0PO4H++DC2=OdHHgRg`Jc6&Qtee2T8>Bbo#Q3vhMwLXE>hBr*pr+ z&lglo8<~upPXqzO&`gY~Yjpoe^gOEZtjRM8SfX&7%CI7?ccu1+APuJlI;i*RYwLK6&?7Hpf~Sz>j!Oh1&DoiE=3 z-~C;7z91W0=y0OPT>w(%oB3pA#~!HhaS{_{%7i&EcEps{H!)DP(+5dqhBkM08fiXR zuLxW!gHC2J6^o=dpQv{4&7}+bxOerc4G^=Rf9`7i4<}b=L)gA}-}M0B-i*nuoU0Lh z2r#5_r*1W)-keI}0YHnXauNm;PycF5PRSx8q$O4oG0%n(6L?gZwtzI@gD?zx5NIe7 zfs&P`?Dp1tB`1n__lH}mDrl$w{L5I^rS0(bFT->L9W7RGf8FrGsM{N^HuL3LJRzo~+INrBa(R2VRyusKFL4Qfjg^wYYPlYChpMCW?*<^e z8ZIWMm&1#f$2ZqAz5DvzU2nR$o)n6kn-xa$*j#0j^z8jbkQMa)rCQ$#r%^7&h&#VI zNal)ia{ovsC6P|#WyBgRg)Po<0MOE0l7nK$fGgWc&tSH;(qbVGMG|cQ2>}Fx)`woe zp@z2X_R%b51m4-7?x{q0`p5a51Zvo<>1l7{j!*>)w2o4>rDaJGwtcyj~m3Db~;02_Uo(e zw0-vJ{l@`l-@N`jH9g-@?N}iT)dsEDnZun#pkoQq(V}ESGIg;UD}$JqhR2)H*;|o+(2Xq3F4QH2`p(#v;%p&$xi3ieC$WFt2-s8qgmf7 z)r{jeeM~~vGesMJJYM6Fz8H;xbV-DL5Cy2+Z>4tMFFxHS>{zW}apz%)AXByN$1fgK z5)@a+0_x0Sv2}lV`|;jVdv~q7>+2Oy-u~ye!(q33c|3`u zpdZ0xDkFRM9sI>_ld2h0RC)i=PNiBEne_HSCCRZIF9~$2M6Z^b0?A-RMWdk&Iw31z zE|p0$w8Su}G)pm3Lck+sa5-{}<;Gg}FXcd6Z=JnHIRV81X!+E%?XU0K;cRS z_xW;);YFSSrgMxL-&%g>2H^C&{+A~lVL`whm!ufng}7of&#-bry+EJs`7;ZF0Luud zYz9>aD~v?pz|ej3re!cWVtNz1OJD|I5JAq>g~cNl4d0zlF4T{ zXTIT|93?;tW5jeZ#}i^Hf%C;|=n4fM44tsJEyWxG2evWjOig<}L(u8fz*Hwzu@sD% zy&Ab3hNZ1?j&?#?5K<`;Sauaofc4?sLT<#VI87z2;c%|F(d4pcKvblwarJRxuOq!!mhU3fp8rna~P*S$Ad(el92hd@Vl}$2SiaW)XUi1E!4!oL$OtBBQdMi zz>VAO`0QdS<_6#Yd^erWmI`3r-5Ai_PfA7Dj7HaO&GD?;x0iNppY8o}1B-NW|6wr( z{oNRN4tMsCzWKY~R;2R7r&~0Y->T+BbrSFl3G_^plEM=-9aP)iSl3dEr>)iQ(l4;U^~x61Q8&?U0J* zgD)B~(L<+uu?WqP!QsldXK;eQh?;-Za2LSSfB2h%ytP-U@9mV+iA*t{t< zYMpS%6hn#$8pSY-65wt>5}lLJE5PhrjzPkhEPWh}B7`)p2Y+b7Xk|;{)79;wB(kPf z`CUCwdLvLmadPl!p!RxH;^yDpj6lR3cl#q1HICcz7SJAQ9_$R~rsDvJ)jC@g%0{30 z%`;-5(T87s^LLLZu(&Uh)rWi4vLxhdDac>Xv075QxtXi|i;J_jZ>}{{X}x=MJy|Qh zd;j{?r#Tu7?m^Dz4i~x`L5YJc4B%@!BDeLd78hD7UrEd9S~V}n9V{MeoQG-i?7~g5 z8_YlXOyqAvTpxaU|(?wcRJcNjo4&!W*4^JinfV zp|5F+{xTxeIP^8!-Yj)zdfnGn*Qf1S+!*GuMgoaSH7#41(CbkUtX2UIsP`9RbvD|l zi+TIx+9?)5zD%#&R54p>zWAn21j6>=qu+d06Qc9s9zdPgx-;+%q%{OsB!l@s&;Zx1YzR+HYw`e_)UAa!(G^>p6Sy_y5CF|4OMn zjlEiW^f;xhgrlQ0tlTUZYCY_n+|JJa^@?@g{ps~h#Q7KR?iQA{a-7R|!@wT)ChN)2 zP2kgBwD&j#(B;O~ZoN#y`9}|`>7*2c= zlfhbnig|ea>c6~O8hW^R{b8=JL)tP?B*dcY_e+MHd_3;Y`<=;Z+J5&sc={-6&k!kd z_@ch-^LrBBe3T~hdq>arQpx&`C^V0@(y1?JfWnYw!t0yXWV4#j*Kuq>+KNj+hT;xC zwamcoynnah)|VFL%xz3nNkMKjbIGtbPCwsEQc*}IQ|aVnudVAwvrJT#~17ij8|>gcouo!`**>~jE076b zWCEXbLsmcjICk{j#o1+R%`uZt=jPY{Q@JxvHasKuv>CYk{^J}~|L#C8J;+4t&VG%L ziy|4^y=&Rt)tk?)4eGRye?AGe#Lm^EGeG!Yy_~dr(*V#kgk7F(in)l{-4!u9zuibh zK3m+%kzbC{!MS)TZav7WtqV;^(ORcBoAoX`^YK7kwJe$NwQSna+O@nikVb4 zpO%4*u$v1Yfm|MUT; zX$}{1xJFg;uvhx}q2Pq&zxnqsgqhbkO2@Q@hp<0iOyGS@?L%rqNPzpgI zIFc-+SDIz^QHApn_ zZKT#nCXy6a+baOKpO*+>4>~5Q-VH1O@YfS1h$09KVH$B95SMDj#*4bPE`NJaD#t{{ zvE}Wu9IXJ}Tltv13?bV!ukRef=__Bhw9-RwJ_$&@w%8ZWhZ{ZLHxroRFt?xg8MP_n& z{Oau_v~@Tpit{%&Izzd$1xqh`8qUQRC5!^#%T3ye6{0-ru7He)tZz2i9FtDX&P{M0 z96d=o)0qPBc<=qK!|?3-{L{e2d3ZIoEY-;!;5RK>%*YZ6B@fa8lq{#ySy>WDDpgFn zV+{-_aPs9-H{W+Q7D~mMXSB|)sekwn=-YpK8GL=v{?px;!&la15>SvNAy*PWNMy=o zZaIjWk22QfRj|EFF4rD{E+-a-c{eZ56?fga9Yf0JTOtRqO+o-%g0Kwvo9Dnqm#i0g z1j1Zs6vJxLbhrDd4fT7l_&f%SFM&|Gh|0*laJewZM>x*FXN$17H{ zhiVi7h%#{n8S=l}Cq^kbm!c4y&z0oJ&wX3j=$!ZNGWk%recQ4Fbz|xq+ity|CAQG^ z?aGfLvoj0=4aD4tA%lqE_n*r%Grw2QNxb9_gXTlIf2*Y%9Fe4#T_>4hk;z3r;=;)c zK$rI$46}60?B6em6uenFk_gBC7m1{$g9L?#K7b1xT$r+Ey(#QKXvWVnE& zEVfWZ5wOSYpeSjdU){OjdZcUPxLk%hig=bD4<#vKo*%(dhNHz~O5l3>Zdnx_Y792Kb^0kxH6G4d^;qQa+2%6>q&UXarKM zGhXpue@$MT+3CD&+)fcxU0RMU63XbNZ{g9XW8@06Vg8QD1d6l_2 z2QG=~0+9;^cru@j6a-xA;JUxEOv816yr9gZ+O7zSyG4|1)X;!Rh$NfLnm@hs5`s|7 zua5_O+ShRbHcr2PtI>IB`R3R5CM4iRf3Ebe)ReS3zT8Aoh3;HC0-~udE>M9TAOyom z`ww`4PNW&vR6_(2dA&0xc1nJ$2T2qNakY$oHD@`**Om3s%oW^0+^N5Wg7f7j`s5x+ zB1E26U7F5*`%RXSQ78HIP(%G#HKUryR5ue$h`jj=<+f_Wx%F}c#rOS~w?73@Zcr)g$@V+eu5kYz-CDvPb{LR~<@ zwFZQ~Z%ii2X12Dp&05>E?;YN6_rvTKy;O*#L~~oednV{nDxIlTB?!->gE=D@cBSrJ z-Gf-?vzDaWKOB2J1e0cW7QvR{@O4gEMLb8N0U{;w(dCLyJJ)vx0vYN?A$NBD+XalK zl8zF$9iUbOkVG_((kYQd{H2Ne?Uo+-c(6gS8JaCMQn<144Hcwu zSJNViwwBBF*snEk55|cE*L|mEGq^b)=yE2D+uf0p5)2UyIscj^whuxLs#`WbegJiY1s- zb*se9J6>EWx*i1M9+rdKZ2+H+?Qn1}e^(xTnsDrT8DQ@H`;-1!b^Uo~F*!cnI2y#+ zw=Fl7Wn3#n#Qi-I*?X2I%8z$R1owR^pKzvrxrjir6bwh`{*yf9PVD;QB5IEA6%3E; z#bna$Z>;sOd-l^^6b?IsUe6H4Xsu!O$0a6Ntv8P1qVc(6Hc`yXPr9)|^;N@h#<%U8 zR>+0(rM{ZkWL9=&iW_liF`4gu9uA-P$^O%7{>l6Q0#=&6`F>EYX^{*#5X$&_~ zEsvUp}2rC0~8fAd{s)$#L{e46%k3yZ5QNxF^)G6ES!@hWoyR$yspc6zY^JvD$fcW?jC ze_0~q3m0j>xt=Jx1HfXlMhDE+UKVDzk19!WZkK8#oY<~z&N^6z^b7+PF&`wr(GaVp z%(;tUFiIef4i|H5GDn6~DFtEfR7FtRWM!axyh`#b1@$kkbbsa@KEm#Abtc8bVBmuI z_dWj?y zNX48;Q9`!ZEUzxY=X+kn1d0n24A%Pb{nP;c`=8$qEn_onPpLd@#v6Pruq0ll4S=t&@x- zL$=XsQ#%Q5I=Q}HaoYv;atzR-=w4kKC}fX+`R6mo>YjZ*?`X#D%L^0mVx=-{WliO{ zxTTAQVp>RH%b@gl3$;SAl33lFwTH6p$^}f-sqJP04#~6#F$s|sdG+RcL(y@2{Fndr zl*Zd<3+49pM-^M&46ypcLS&M;#?gbFaw!2})uu%7B27fP**cqJLbMq4gS>1_mUwdg zVO^~8=427kU<5eWgXf|;F+K6?-zD!(&6I>i2nu3EI2gb(;@EcJ`&dj=;BJKkAc8`D zh!<%4_~*^hu6l9x=8`NxgPV3wOU3VeuEnh*03g@0v}HiSp5-wTs>}nH7Fb`w9_*8r zxr&4KaoSa=XM2lRJubz_h_kCuw*LIe-)jbU?_Z6D45h_d5x0rlZiPj12Q?fM zk|d4j9!?U3bMj`6v9vceWf@i%8)kQ(cia#}Ndko+w6Il(7EY#F%Oe_`O`teWdYbBC zgg<@%Zpm3!w}bXfEMkjcY>9=Pm=QEBZh-1yJ-K>wYiPr92+rH%^_og(XLlyM{hOw< z1_*Kgw-149_HN1Y;xaTc!c0y{rTNu z`sQPh-2C|c$B7AI-lXTG1w<$p1*u%GRjRwYSq3&nRw79PtJlADzzjV-ANerNJWw&OQh-1qLi-hrPedDlEiQt@!bH1p$IDcW_$2X+j(41Vo?zCJ2k?G zpha&p>a2Y2{_OR?y&n0YGdwx&j;^n#>y>TVP^jpbEP8Ei=ZN<(fr>e=6zicZa;fU> zPLaWL&5F$Ol}AO_PSol(X?4D&6B0W9e7Dl|#fNJMZN0x8^#-%i)Q5~^n38c6qgjT9 zfWQfmc}GKy?$YVLxlyfItA`y**Pm5ds@3#iT?c&bs%PCwG(K*u^7~1s#GKoOyW>meT&* zVX|`ngIYOA`s-CFrX)Tl3?8;aDp7C9;Y=Yi)lz~cNeGl0J87fW(e0Iy!0+DNZ8rVZ zG$06Xa($&Sd=Q7C=Otf!CAfGxQ*7?#tn0I&(cnDIaHh9&QZQOGCY$h9>seUd1=|aX z2MpErVjd{eqP~{^m-L?O2M7ehZfu??YA$pzGSs_U_OKY!8yLeJ{N+1woa;hlx~%G?z=bpn5aH72`0RrhH7F+U{KsF0kn`zZ-*-A~!<%*&>T0gRrH4{HEC9xW zSpR_KSVeIAW+LT4-Sajx{>2fbr?#27Ti7qe0!RrWFC{X$Vlm&WNm6~cK)|$|U`Yyz zaMWJR(PGediV0oEaAU5sb#c)%0Oj_5JAjvGfBwfmwL{G9oZKkU`fNxclg?li6qELH z+%`&&OOUF-xs067rNo#NEwJ|8Q!bKfNf$5VWr4%iv(&R%xBoqFid4-|tdA~jL(BS@TYAr8sHdw-Y`NIH(7NeCOQs|d(7tsKdV|uU^1K#q z?Q;0mH|#jt`|VTxpI(#M2qWh`)0nhAox=(BqPtlv){BYiA(@1;_NAjeA)>d^(e0 z7P`9+gjBf*D;_11F8c7Rq&@s_&u_D>3I%Zs_1X-5XyHPH&rKYPS>O; z=MPHG5-x8Qa&nx%6wh(l0=_U97QlHtbmQEG#IyiRjz1|maeZ~wpRb3XFGs!4_v3zh zuo?{`$Xcy+56v`FkwK&oBvH&s0%$lOmCVQjGd*1-iTL&)+x{+*d zHIg8buEaF4x%kina(U&~@89=T^XlLJG$MfZyU!}9FHF!~&YWyLNx%@Dp!sTI)v?3` z=`iX z7<66;BcV~^`N~cyoh|Ji?N%h1+Wl@nm1^#Y1d-ltK*NC^q6x}b_2-`Q;a|t~`sV%H z`?V6Jl16VCLYSNuMFQ zK!eZgt%@~{B@*;>hafQoa6*y{-N-f4yWC)$KTM*iSjZ-Lnjqy`&YAS@N4_j8=Pf5# zjg-h$0?|6YbWwY)woeopoAhlgMoEaF=|WzpJl@i$!lN>gebNL?s#*XyP`;Kzv24y+ zkZBO+gZ^EoH&Is8_5II3{Q9}uKYMk%S>K$j>2TQ7fXJH8IU57Y?xjQ5(Xj2W z(&Ia@w$-S}dS@e*nE80xyZqGESHp4t^B;d5I_v8%8zbDl`n-t1&DqOd=USGu;ke}B4k)c#NZ*B{-3 z#NFHWQt@yshIS8&S%C)3i1OAD4d{^|qEwQDF`7hBR-#m$l=yTCot_Q&N860QX^qKJ zjt+DypuhR8Fj)}k+D?VT0YuDZII&rkdDI5-yIBH5V6L2kl!b{C{S&ohnR)p5Aqqb~O8VX@T=4%dWc{0L3UyU?8qpr>SgCN>v*R^Lyz81L=n#BjoV>=3{bQ7%9?+EeKNMq-r2k3g+AyZ#Huxq+bkTnh0QuR z_-p!lTKTJk$dC>Xvgvd>mn8#!r!v3V;D9AR67KHd2m4g(SWTB?baB~>5Ldr_cex5B zZhdyMHUk`p(-9uqY%nz_ac>)2t|7UYqe#~Fk~MMG3mep@(@!*0KK@_Fj%%hlyS z{n@IPfN8s@e)&ieSWZ0x@ochICIhA!tKk<)+r{^MQe{QFaF@awM&Snbc3n~f1dFbFY_6;hHY zr&EPul0>-bRz^zh9VFQl*}0_-c1!qr;p1j^jx}rM+h2wl37X6KN?lEs@}ru1HKz)t zqKpMt^GS(exm0a?XRjvExoV-5msl3@alyJj9q3B$u5T%qAFn#sr|t1zs?9$A>ErO? z&8O?j)0@qveb(8G?l*9#8uD%$1gK=Oy8rZHIg#JmIe2`ywe#1%r_AzEru>J0pU0}t z;`X=*L>{nX;alIljBP0wE^copYKTFO&mdPP76(TOd^Cedl<=lZJ!pkryakPGyr;#~ zL?N^Lg|D1n#!F+^y1Tw#nx?j#PFh!PvtjpFU%qCPg$)N``113z2{rc8se^LhCUze` z-A%G`EYAeIS!~8r$Dwk>_|5TJtn&LG*eQK z3K4$vRCXgiTPWmG0vKfvs3G1=xgqJ#E>7pc>hdb)sLA-_PoIVh&$)kjE#_lyoJ9g1 zb885ew|FeOTg`3l)k>A-!w1FUqi2aIh+-9BliRt_3e^ReO4!r+W_)(1+Ujz2cXik4 z-Vg91aC56d?$R!8qsvh6mqOrPi6;M1;s%GF#$D+N-Y`%`{**fl5vyC#dST0yC zEhrkiJ+Wwibi2T#$r;c{G083@%?Cz88d;*y-d8@}s|dLTSCJA zMvIx^nE}BPk=RW6E>o{1QkCrjL8nBF$rmZzL_`4raj}Sx1`dw+DEQ$&{i;*A(!KBA z-%Sm5($ksP9fK%vQ8_K-c5>E=td03xQYN^Iu+WWTbuEqq4x#z+lyqDrrI=fIGW9jNq79D5M!k`sQ2WYQklz znf{xL-ejpSTJ82_Yr3?k$uI9U(3qnKsjFWW66M7U+FmWet;abOOYZEH>fe30mEC%N zL^$$;JvKl&0wHP72yoQ1K*a7&wAkiXqrr6C>GkgCzU^S{WD&u{)(#J#Bv+{AM22J% zJPen1a_I1EOc&F@`5!-Q%%w%!7w^s%@=p5t`|FTPX2Gk=>B_<2%~;{f+^lbjX&%Lk zFP@~x%)`eA+Z8#{XrzR6v6vIs(oRZW1S|=IUhgkIoR23l>;C2EpHG(h;OgS#4`-Xz za5TQV+K}e?1V+}qb)rEpbS}ZA>$Pkumn-i6{_l@Svaoyf_$cKCQmvX!K&A_$2o!W) zbpS{oj^?xRaG_3GodwF1`u%`^vWwYdDj|J&JU~v0LiKSW^7%q4kxh!!^6jit82!{q z36nF8jpprFuQbvhzWd{!Z_L5T$J4W$&o6Jluy=LanfWLZ1`rODJBLNF@c2=!P~Sh? z+B!VkYCe0g_0?B&klvHvS{*T0y>KTv?mNbYE6jhr)&pxDSMPF0$cqnM6!+o+j9HX_=1Rdomad@5DQL5FjalBmt5jGvas7`F_4+#5uyC+>x4Zj~a8ab9+_Q^Leu= zF+3Z*_u0BN^KM36xw|RYj@()Cx`U*}WFpE0asj5%x`mQht*S?u^Y7anCH2~cqpD(c zp1m1Ly@52UHba{GIJMfW6= zF{E7{QXX9F_ugOcXT1K~3&5-_0O<6zQ0ug2Qmdm{2EG)B0SoY@7|B_LpryI8ArPYY zAb3&pt%kL+q;zK_G3^Gn$i{>O28(nzWJyuRQ`@W^-psrStn{v`h1a5v1&U28yOxb{ z!BxLaq!!$i3)7fu>+#ltH8d|WcIf$asnf5wWDdGI>T8pcHoEFqYU}3m__kZVC`!_N z+O7^YgIftJYIHLf4FtpapM1RGu^>LPwUP2tZe$>3A4R4!h<1Z>d2reG1jS-|*c(Zb zFzJt=%%*3gEv*K8=}gcc4xly@_2RxXuPRbs;R3k2aGMJV?RWc=(IP2tTeeg9q0l&b zTIep6r*L$6d_44kHy4f3Oc+meZ_=f9+DK|`WAj1IwUDnr`gAoEN<%aQf|LVWm2QL2(08)SY zfBz8x2>j>&0{ExLod4Gb{QqwM-{=3IN9@J+PtQOwf%=epv zVBq2wLNJ_MpgMx$#C+NUSXM*Z7;})gB*mQIWI?{5K6mTEXz<7&A42PJKU6Q4AgZ) z5hlX>vjk?-@pw9$36t?e5a)AIl>X`SX7#2F7~(<)W!u8V8f|YB9YC|8WxU4a!V0Ex3EbO2V@Kdr7dx$qFfN3jx|soNL&QH{qbS} z6E3Fkn{(LZOpm`W69Mh|@Uk-p7mlPk8c#bnbIvQ)XAq9V4r~qDIsqt<&#lNHPP-sQ zoz_K$61%+-8pn#)^7~)d4ZszkEr%t?eJ<~n$51A%cJY-2^1f*;CpMID$^#+65TPS( z8fE;vRv94Bcpy{T8*rm<;j|mpVWfB5geb)5yn5A?B}o^{S6$c*2_lFnb3RKp$F8u8 zreGwvl;9~>EWgA6?#yz`>vntm3`sLM0)wXExR60h#t39#x!+Gos@l9IXzH{xwH;jt z!0MML5bp@OQ16Vot*Ovz58JKru+?%=d;0v#Tdg6rXdi2Lz-laz?Ft?r|EFJa+ zS%~tImhME>eZq|O&sx~#3Xe5ThOQ6`s=`pvQKWt}V-S7Ztlhr5nY7zP3Oqe(NRHjD zm5*-Od_?Y!1v|DI9+!;}H!95H8(yhaBlmOT?+RE@Z*)YH#_ER`ZE|;~`w#EH1+)lb zhk=2}W>~I{xO^_?WhI>s&Ctdf$yLJ)#>;M%IAA?iDy|vzNei)K2vsdY~ zudZ5Jh-nwP02zz-kKjAIL30LpXdMsIzElv_`(ki2*g9>2lu>AsXs2zOveZ*3Y=NIM z$sJ?$Ms4O=&7$!8B;ftQ5Qp+h+-PD?i$#eFFL?3ebbV=7)%=vA z)9BORj(kp~GN@gStXWlFTN+=@SRWr?rvnwH35Qs|ANul3Wazd)s-liTlNS_D9JJmnaHk;>7vI=1s+Y}x@mdKV8ew2Okr4cQYC zU%oRlzWR%6Fyb+08e}VAX5Ujhzb(x-AG=?F+57lkaYs#0E{ZiOfD5r<3v^_~(B>*Q zzr7xSh|r#iy(tpfh*!U?hT>N7x(@}ZesxAAeGuSwcYgQGN^JNiZ(lSm7}FX(E+k*p z4ObMbiRrX4M&5sI=q3i^<*XJ&exb1*`fQDK)P zd;MBd@ZpsX?gnSoKRlcH@P(Q=9#rl<`yTzX-Py2zQFnzr5J6LpM6WPYz>gLC=?BX1 zU*WO#>scxdjQZW0w)Sae)FI<>zd6I=LByByYmxzbmJ=Qq!tXsy8Zwt+WIV%m7UYd1 z-3F5Y`Z7US<$rwcgtW7>*}PS&P7tU5?FpYyugeRo1L+gpv2_&*dd!ZpaR)69X?$A6 z_ArFVrDX@7Le0|F;(UO6p%Ge2p%{p}NqZLYLQ<==cC*iJs z|7Uk&F309~_ERhjaf!_4s#X{}X!f4FrMhM>k0+*3E(}lrOF*>0;mhBS6MXyZ^6*XD z263=k8VHg#Dvglwo9|!TU|Sn@v9j<4R`hD1yoEtTU#ABD#oq@%a#o z%#W@W&-;0UwAf~U_IU(nd6zGYXs~UXc?!|R@?cx5N)d25L?R~h004&Yz z9uTE23L)7&_PXS_BM0k1t?T$!mZUddzZ?PG!xt~V`TC@ITQ43yKaw}rl#{Yerk<=@ zQ#8yQIunhN;}Puf2A5Kv`C)DA^Ng(_6v6xaoHOZnOj5I4TDi}}Jd`7|yD14tg;6@g z$tq6R{kCAEPUEr%+TCgo@!DfN%2V|Cv;nfABv!p>$_QhWe*YHQjtzdeA-ot#6Php+ z@O%b0W|vpaat7|#1;(rP=w**Z9elp-qM~a{?4X6*zt4-kci$eWm}=l!yVQ7pe#y=r z+wQ>0DCx+$T6k{lW3OM;T0o4KRRCNpZhP+YBf({6*q)d!4j720s)CS>k+!n**^1E} z1U`5aP!-v7A@2vNiW8xD+7awTZ1}S2^#T?wmZv6{Ae$A*g_;D_Kk7lfOJFbDU!ba+ zCc>K;942gN_ff!sC|n)uE*>;IT;m3bFq#g9KHQl8;T8MY?#ch~wV{;GE48cBtHJSC z-QC^si+23+eeZaP<`33c4UPE6T_hIwvB+$QB%(ssznk_Vreyh6_Tu8ZZ_f=E&T`u6 zAI^=~R*I6x3Lnp`t+2P>b=`NAd$ zPm0>~{LIKixQFO^&M#_6lBKQOy3pIvgB-r-e~ z3gCn5lE&J#A%xhvZQMRDQ~vS!G|k`sD1P=YvW~h4f=r%KHIk>_&qfuwsLL??0Z8HV z?&}x&W?E`=8a0E3rOx5$NYgCkX1KjEuH#`EVf_KT(_o_nfa-NA%F7B938Hf%>$7wU zpY%b-s=O>wF}Qm1?s_=xI;7rhOu$f>U)f-qJt{;@dJ}m67fYAVl=UrCfRpaSKOpzg z`bd^#B6G0DHmCU~OFkb*1#@BX;L{gnju~; z9u@iqmfrD5BPf4=iABU2o%1$_p5-hL>F?fPPY#&jc-9>Q9H9!zyiqoTz;Pk4OD*h< z=uOhIp$NEQ>s;f_rAdQGblEvBScymbyxO1Pkr)@*%TWZN5*Z&#FgV2fP+<1r#RNB- z$G`i-2&lX|ue6$tYDH#wyIoONKVOlXR%(0AC-jIU(kKj3hGMh{n+Z^fD~cGaJqE=&;=M6&Tvgvl=PXDM1 zc?mmsaNt!`F8An3(z~>T1BnR2rGT@Nj%RY{^_2*MgfA55ST`_p0<_Q>DzJ8a4u-TB zFS@!kl$_@AIKCTK26E@k6`EeSGO^v3f@^VfJi$WjTq3zZ%4;YN#-O?am{2ed4ax%x zqud_j-MPj_*S5))9TFN)ETD@thfeyg4eQ&lM~n*=JEq(0PGJ;;gDXLOCN^KUS3ipn zui9d(;v_tZAWu8<%}+DZNE^0&n?Y?f?DaL>j%`Mr&MftK4TGZVAy34o&Z*pr+Zt6S z(VTm@@KeL)6b4#{FD4Ox<9QqCUNoGbyYuy{F=mMh;DSay1pz0fHxq#_e|PJPNbTsK z#w&e3gN~@RZMHcey&eyr38|;UkN%rKg-R1Xy|JA&hGr=3wR%GvcUrYMAhjA23>mYL z2`FZMd4AI8LuTu?DlYbgAsWxBY(5t@I)xtQ4aPz)Ycg_HR^^uCW*IjQW3tS}X;Vix z_KbIRf@5&0c68DQ7Dzs(t!7XI&nlVxjZARspI~n2$bq=_B#GW)~e8z8# z8mDbKinYG^ZR_s#@Y#vsAr>596%G}@H74>qE6qW=4R91Tw?bT_9L&rr0Bs}L zG=-w3fqBB7(I_1m%sf8Gg|sKAP&}(js8MNJT5G5%bA$z_!%_e0R7<$0QhJjZnDMQp zU^JhgAsFJf4x%vakHmvKPj+tXrI=K0bf+M($R^NbbVfKSmP>$EVZZQZP%%<%T;S>X$SxHEaxe z3!lOYmnYSc!N=ixwR`ef<@zOV9XY!cQ3j};RgjGw0(jkv;Lfk+bJ;|YQ3ZNy6S!#y zKKt1G?wH7UgfU1V1UJ3v!88pPes>e{4_`ko$;POuc%b4BSELtGWl1(s7(k8N3+>@A zV%?^Wre2|1iqO5dN$Je)f%HcnhbN7;N z;Ob4EW=R4N7civ3x@8WET_8ynPP7GK$}>soiop+-22cANyDnAK$c(R9aN>+KQgoSm za?iL?vUy@CdE=ZnPAhOYjKQu@gx7B`tN^VF2r>~^KZcNAUY`gQ-YXAHyL(-o>CIQ~ zI-{{+^h(u^77nZR3CxhFD;+14wzl`h7B+|A_YF99bF>2iaAuDjp$V>WRI>;YNA*r^ zqSS7upra|HR^Rl8?Bdx3HK%jbGkR5qX=ee#ty^<>)kh|yle%cYe4L;4K|en{7dTR} zJj7I?JT!(fi8Zn#dN)#-jwEt^LTj`pP&x;9MqCo9HSp~vquzA_iTU+_Vxa|DaapWz zHbzO<>NPad)`<`{m0>#I?G!{;GD^t?>WoI}phqQ45nw|iq zlx`FkCV`%QQD!kwk*bwu!`_SEoGZA6qJthl2g1^omWYF`zH5sgjuwYCj!i{~4n))! z$Iwa~)^rO}^!yiFO5buNwxW(n&Chu!?{i28VEa4c}Ng9rUiv;Mx_ck{3W zgo5^=s|0v_gwJ*xJTd0iWPPr{vdbc`9=up}STj%IaEpJ54#DD;2}(L=dCoi}^4AvtY4}b2O@8 zA#!GU!RE-b98e0^3dVcvTEim8#j#}uBJ+!er43{ns9yFBWyov?+n0Uc{kuu0TGf3a zhQJ-E+tmmHMEz2s0THIf2mJxK+a-Ori7BFGbOta~`tC}#KwPX;h7z%wF~**U@zOPv zTj7z|2RkgCP6xAhS6M1d&OIvuO=9v(*ckP8zbPU%Ub_gdk*K1tV#br6}3 zr-IZSp>VIpE)U-hh=psvecOaku~F~$d%|Gq4lfF@4l~~1`_b-1BnbAE(85XFaifRjbVWIpgh(I|wNj<)XtI8M6)LSD1dM(vh}R8;OeCZ65G=wWMs)2ZP5QyUk0iNBeueB#;*auxjKa+Z20edG ztoHu9e^bGg=l|gk=Z)H6TzhtMecDv#<@&UDRhg=)JJJ02Zz8)s_I;-!+_io$i&WT#Yp z{#`$@Y+PS=MY(=EkVTb2Cli9GcgR3G&&kC8qxH?@(hKURTZ*{4OZU2v-%sKM3I*aU z9ghzCfpuQ9d^xWb-H$6!b~#8X8Z6Eb#+sSveAq3{lH2szcQ*!XPP^r2-``Abzdvf8 ze|2btotx7dkVx2Qk=3MM!R_9ntePmSg>WaUzekQ38G z$(3s`8HFdcD)afS)|x0b8*qy^o?vsfn-#t0ml3hBp@xlCdpt&de|{Yjuzf&z>?%(NT{=*~a8i&;!C?DOw_ zoCih|oyn}E?6dEyqR<}}kGs>$qg#cT7tiYkM;g;+M+b`k@Z$_sJMV`C&P6c52$EK- zI1wJ2SI$O=sqtjDZZZ(DeK!$Uy&IZQfBc_*zMc$mzRk}+Sq(=*43}PtgraeurUzG} zkd1pYL33EXZcss^S-HIFw_p9;v)Wv{{QKXxjOwfN#%MCEU){DwCbK3kR!R;goA|On1oH1yrK=-PvX_Mig3$HBE0PE*M4?kIF=)}%y$Q90paofFq z5U5?K$+eAe&FLO-4~_xPGyS1`gB}67op+ldAs`MuU?Pk!O36$x-4}rj!xUQ?MV{t4iJdCgo;EF zU@$J%`+(bB3+E z?W=0H*O#H$#bFIfxa6TQmmmhQAV&PVzY!nrl>XiKLw!CK1OV&|61xEc(e2=JJQVR! z-elTi0nvQKg_&0N!+i71T8am{bB zw(_Wm@82N>GPAjoi-l6YSqEEQX3S}8xL8@==&B;&VCi??x8-*AwoyHM`bK4?+nZ+p z?0inxgW_q`!E4Xw+X+#CF>~QVm_@mvDPJZN@`R$kKrU+wu8kExDov(fAWF@KqV7w? z$obqINv^MXCrWC?%ZB1)dz5*YR4OHrj>hp(bqEm<0L(An%@Tf5P-O+g<<`VlX!Pmn zcy{)-JuVflj^7sB&D$3*@z0lUe_H^&$+%Oi+wptbygC)h1t+7l&qcCq;?9!Xu%q#4 znvuv<5XQ4x*@&00P>z(yd>oKW$3gIUwQh!)Ua`*xt?L(0i;64mTs*s!A-#LqF&ZzQ zUe7VIcRHp3Y1|v3OBq-+h@e|`B5+%cB-mKq>p=dcNHFYoF|m6qEb2>!)9p-tCAWG1;}sXbyuB1ouVhy8 zAevC}>M?xbg{=g+Dr zYgXP=5Z)F8tK76v8@cY@@#%sfYciVHUXHU$qv74ldr8*Au`JH-ZXsjW8qw4IJWOR4 zYv@89|CZxIo(d-gsLLg-|WcH^yuYHyDNzOx`1>3 zg?9zq!kM|U%u|pc`&Uw41oH$v$-O0-iLY$j-Chp%UyfI|LjKLH+QD@Ff_nR zwV(ai!_3K4MSxxvjt42ZbUkBz5w`#1%Rc6Eu3lWv)M4qOE=a^ia^9iBH0`n-5;sjY zm0~5)mG;7H%u50az(%+K!s^bV=x_co8|UoVMeY>6K8tV0m657^11BN(#FAqy_L;7J8Rqb4mRVy4;pq|FeBsM&qeS>cJP=as}Spj~YU~2QR`25#|(BJSr(M&-LGYRhlY{^7QNL zVYktn%qDMse<@k!^!D9lz0#$F#_8KGL}IowTPy_}h~XB$8Wv{$yQ`QIhF` zj%w13ERt0HQXuuKf}Y?y!+;x%WXv8A&fvKO7t6ym)eYJJQFcQm0>dem+th#;Kf4 zJ$UiiReLms>GAQIKx4WBh2vm%N~}N3Kqj}Hb?c5d9?5Nm5R+VaupLf)^d!lr_U~<_ z!_g(*T=qoWktoy`VZ)9m5p}kJ4j-cq8nssKsw51beN*U`&o7#Qb^YvmrVP)^CUX0m zw-`Msm)nZby>4oto0J96?c%&FpVelW^r`QEO-O ziGm>7bSh~8%<_)P$GzeF)wSu!e1F0kVM1Kc7hL(pFIHHViaq!+4hQc%+3`=x=+=hU)|u?W0hz3uqisn7 zqxZMwU%hegS;I;#o7V-A1v_H|R>rewe}XgSNMO?;pf}V=Ki(M;Jf`-mC6z>#URMMc zFg9XhShq1TU?#gAY1e!!K?T_TG}*19+0}f`PZGS}8`)TKX|{WHJ3IjX)=ckSG>mP1vh3nFI)ag~8zkYi=n2tNe!kZVx{#KMT--P}sJX=kDb zqNrpcpe^?m3Ldq!03+6m^-;Sq!N8d`czZbWQk9chuiKx@y5(De2XD^jk(e<=ckXy$ z@5aFj0!DW>GRcV76O5;$nRT`|!~=xBC{NR)R$z_m)X}*0<_d5j($%|xR4a5$cye)c z{_eOv@7`PwKvGsv3I?^Q2Aj$Pbmj}D1Jv6l1T>pu8mV;17!R_^fGLv8`3Ub_-_P=q z)qFI$wzZK@yS*FxE2}$6GV?*+vV%c=;<){!ESga7_kUl|cvtnW|Bsiodac@1>Mx(2 zUR*Q=m5XAtUYStBt0T$h(#8`L)it+Ixn1N1Y>U&mX6iFN8rA!nJG{1^m`(%R`Cup! z;aD#6_%BioY3H+@OfneCEG;d^UG9}9D{4dY2GRD=n?-Afrz46IYMuJY@$JpiA8$qB z{Hw1j9;*2AqB~Wz$v}r4O;vl%nW@P#7^G%eFm4a+=uXbdxH%tdU#)Y=gw+k`SFKQ zf&A>B??(cDZz!LE(fqnw(II_m`}xK@J1ia-1XC5-*H^X0n|}ZGS)=fxvXnafAAi@E zXBOD}@kPtD4K@M1`28i8L;Rl!4u|U`LqZ3=5}&{_~vFVpYp8y@-Neh>*Ig< zlTjD^x3eVq&oCg@!DoT2TZJrhlH!hFHW62%z z@R>9*)xDb^>;;so62A2(KhMmCQB^B(4k<=KU06 zu~)w=)O1=dyf_<4ombE20rlj?>+`w>DS%aYdEM@eWUQHVdrnFhD|WQW6o z+5Fyq2GEG?W|p!7`wwCy<&Q*Tne~+rLwVMA7ycGN!1q554f>;*JgZG+lrd6$ZoS@`%>dS!O3HX3&s%+I zwvfkWW2lL@S5rj&{r~z}l5d_qefs>YuT-DCDvyLgtvQ{GbAyNkUC;vOe)_Kurslz) zfBxv+Qe^*6{^ZjKOQDUQe)i$#pR9(`dk6cwNlcyd_xDIax8HY@?UeiD`p|@Cx8MK1 ze_aMT|Sh0a%}p?L3n3Su0k2`Z9Y zXUz0n-vrDgywMcg9K}C<#LqQXJQfLsV*zvK@GJLIx?oRl#B{=$%;#enMr;IB8z;Ad zE?Pn2_C>|^1hscJCOWTmA&+_XuB*t?ZmHNA72lk-CMpWFFKz|^Ppf3a1>s(|E55tt zrCC0nU)}!fNtn$({Ka27V5RKFiD`U;khjq~rnteNw9G)wWe;IiG+*n$U@{R;j?&aNOHub^XWMb|9hnpCh z+09|_NVZTIA}ErJ zEk!YiOQd3ccPJOL$?RH^9A1i%2&CgYu3NC&ozbj0MFNa6mSA^?zJ1<5j&FF@w$#pX3xKABMS}DsRhI_ci3T|8OtA^SdQk-_K$WIb zRhQdsZij7+Tz(FBl&L$t6<6EN0>q^W5(z+(;aZB53)hp12C_TLv8~+*m)i2vp@f%V zXp*LM2@T?!XVWW8(Rf;WaR~Utlapelba{37&37j^mxs?@on4f%c?E4oAuYYA4c-}C8N#WJ^|L{YHFt307{;)DMVu9+@qM#sQ zpEVV^T$Q~?0)~`=W?YF=Av3PU*;`yt~(dfF=yZ!d9 z8c8zqZmSROeU#Si^*h<**8S~tJiBxM;hnYRyB|N;+}`#f(T{$9kEi1imwzcVxz;_z z;PulfF5TW%>JvyVzAbe7gI@V<*O^|Nw1X6gw5JlEl0U& zIP*$J9@X08xrtels>midyy}oidOB3}R;4GI=6u*}n>=29*L~k30_#=a5bHoRO;RMw zu?v`Vdt&*mjK>?x=duxY=cm#;MsIUh{~S)9^Y?9H!F zF&-%YSd3()tF|oaldF?yd?Q$WQDPFoWQyWaF&DG-7e7y_X6Esy4?;+2_w$cdBgvhQ zfBtz)Wez@Ek0$f`c}mv+#t#&4Ci8Z&cJ=MI7cF^OJicnRZVJt*P_GQ9$Z_Z9@liqEyUVHVt>!MqKcv{EOA+6PG zoHq~#Qikn`((2P8sWzq3yT112z`eE0jRexYNa%&40EWXXuSZbaAEp9#K6wyhe9=TQ zoALz%EbWh=%{IQA#uQgBXewlQbHgP=9%?kS&FW!E7+pU9@j_Nh-#smjJIAk@s9tz+ zIti=<%C8$Xgb@18t?CZ24w7EwtjMF?rTv4|?DjU}__z0$Tts9wX?L_>IvGuv&z}o! z)&@asRIN^wY2*5=Xkvr2i&9H4uz*Vyw7HCXI1=ifwQNWkw5F(j{ALI^cJpOHb_|*v z)g=f4N0%K4C0SaN4F~myT`pgGc{QI-F5Umx<9v2)duMAU6pO>QC*gH$doIk?#X1Xu z;TQ}4q@lttZ)ZOj@NIs)8Oa}PM*{hSPd~jA_xgQqw=cGu9=|AKR()hm zt}ZTLA4z%ss2qV`UV?S|M!18ey~0K?s-vQ-D;`OTx6;!Ps`1@(ztA*Mx$Y{sMr_KZ~&EM zHXR0acK^@r(g?<+zxX8VTVBg8kutxNXNmXMupy>{N*&o6wsaUqgcq;$46n{+BQ$_b zwb*9B)QNzPg)zny5bLIvx`TH5Q#cd=G{*)hvkz{qnYG3Q@j2J8ZfDwbsM$ijK2h3@ znPxCvp#I{dYq}Cl=d_{{E<%za98t%B2kG~Td_Kj@>r*D=fxuv%9N5djUIp+4Ny|pV zQK#N>D7brGna#R0V{p@y<<803$dWn}HxJqff_q{?3}B)G-|9|=o$JAaNBQ+TTaP~3 zU)}roql1TcH#gQ-H`bR^34G87eYDoARodfGr&=l&FJHgxxX8k<|M7YMkGhu6GrExTF%S=OL^KyRNB&Q?LDd}z z#lx0>Co`!KL;3>?D;@GDqgLO_93E)T{9N(;Ob;DngYnIQW1=4vxm6VqaW)SsG36k^0*=cotM{=P<(OJwe?EP?Ww-0 zO+>}f$Gv)cZq6seRTvLtElTu`Z&NA%VMxNswao+$d}>$0f9j0ZGefC$8r@qpVM ziThlv%O8tklFhj-2}teWQ}22r9OejDED;ZCb0$Pe(*;(5m7@lqFpHI5v%FZkey!SU zRZ7jlpmKD(fc4RMGPOt)K``1E@VI;{TXFB>f4ManuKXwe{BAaxU)z5C$yP9VH#hA> zK7AO0=OgKTzZhXW>6NZ4jYdbFmtMcS8Q^&B`@`$Er;-b-z53x@--JMW_~vj5y`KlH z>$d4YsL~u`V81Xisk{duS;CtP(Y}M9Y;v&o-lLVw=1L^Iw7QhSL^v5n zG(%SOnMkf~;pN(NEE06*qV^tR>$OIGp_i4Dn{Msd>!xhWbDJ?6U6?d6MrbL4jSQv$ z;M7bk`*9S4=s+~Y5fta8Wr51AEbpdGeeI*QU@+hb8CN^OKiPU%Wjl-kjewntf#v zOd=G>_;nG8v`m`r`seWl_NaD0rpP(FI22)5|j<2UU1R~r% zxL=uhBIvl?8;b@W;^vL6j1Y@ewkM_TtZ`YNS)^XPoIv(q;?RqFszpLtq z(XG_0^>%;It~3O30@HGPI`51SR2sC;ugAJ<;Cj2>RT1%~4dY@@)O1x6W!*63Ru7E? zjdss;c~}a=XsaiZUeYl2x#Zc+P%hS5l-@)>wjf^%%G}3Ki&V;o*{1Cvku)XRJ})S1 z;;=pdNU0-H;HW40Q`FoJChVSsW>zQ}aK(cZgar5YGYmu${@sIRyw%53aSFg`QX8Og zpm1ZmaI<nya`oF}rtT z_b=K{_siY=uo1JnGjnI|NG)|sZK}FVR#tkSN$I+I0Fu$(iT8(h`DV%jFPy;0?z=%>SxCzgtX%mlOARWtJP|a z5sVD0?e6)RxDf5`6?6haFcS?Xqk%x$(aC74GzW;4FlM>|<22fz&fi<2b;$Q*lTztu z#Amm=0}Cq=+8W>9nh$vA*Ovm0(B>zPd<1C-SR{aHiaZf`6;=zUd)NG^-W1F4_A^ao zba~J*%nNMv4a`Dn=^|i-Cg$KMs;X=9R2y~8>l=0jMQc?|bscv5ydVgZNj1|})e$cY zc-|C0ekhFw1KF6#G7(yJtFz$!2QgQ8J`ss6E+)OhhCoLH4CRP2ieYndR?dc70Et&E zmeKW3Z~87;xH(RDbr?`5pjK&u6fE%?6LHGjp*hny0-iz+W<0=r9HgKjAEM4+jIvS~ zFtc%nJiBd7Fz7=Js++S*MuS1iM6(c>#cCtvdZvd{6WQZMMrJa1I_$n6aCT~hIAzeP zwc5Gky-d5^Zl%vME%SEwI=zvF0>I#gXVMv{zBNy;1v5BC+U-`(jZS=@e6Zpqn8@AD zSis{7`W+6J*YA`>9d+FODke@)%@T}qkT%TxwA%+e#|LL;=e0rR-Ep;Z^?auUTF0k< z{PT%K>-n93`{QY+TPEn(0#Oj^(ur;`{9FIqB@el5p zvndc-@EI_nOvtE1Zr57_Vc1FSr(2yyM`-2>&3>y?9!^`?+vSkGMqcxwm3((b*lplY z!oqjw5fyjZtqzW1ScV`yE_IA@cACP>h-mlOMgzz{2WM}(vg1y)cGNUboInsz7Ioaa z;F&46%Y)Q*4fNuf0oNI}hw@n&10I^i$L5k8k9mN@@`Yn(H+cgn}XVcs_&-I{Q zsw?B%&B&IBhMdX(p4*D5jjavR2#y1s+f+39Xg{T?E($4!|uPO~Fv7QVE0ztn& z5G1=b-r}4KK&^ULQq^I#P{`*iBh;c^pNlj;(?Qr3B()hGU9i+zwyh{6O$-ZTCBUh! z8=8Vx)feAZEl~5-pHAe#`QgRk-c>PmblO437l$=XQwSQ6LCQ*_SmI8Iv~k_k)bFNI zl=C7z^>)8EV)dEk!!2${SkGL1&SkptK&HGlcvxyqp$X3qx`M??NCQE3fBqEA_O0=N zA(0U$X?3tPMWC{X`naiR+e*xuBF4ELlS|2MHxyaH>=X#}kIn>0pNO4Wz0n%*rOTGo zHzIVSJe!t!q!p2hl`$x*c3Z0`OpQtQkf*2RVoM-`U^+E)Y_DP>>A0wtMOIw zswobJ?DkW8<^~J~J@GjQX+p9$Y?&ggl^}3RefyITVEeqoJ2*J&n;*?rb6uL|^ODCk z-u+97{*N8EJ(NW>S(#1vq1ct(Zps(8stRHYZ+)<#6{#m5Z!RPP4yQjF57_Nahtunj z`rNXk+kh5UXudI-!45m5%A+1XG1X@{XrDj7RMg^Wrd~KZxhZ5j;dtpEe-If&8?_s? zjyM@k;7PgyQ~Ct=(PFLw+t|dtCoL;a(Gi==Ez=SO5Jw(noXr% zyW8dE>9{vQ=H1uN>kfy|kP&nW#2*LcA-S*=Gz-;b)~d%F@YxvF>WPNk-jH=9TP!p= z9S%Ch66jE}sj4vQwhub{kKmUY2jOYZ}uLv3h>l&uk8agD)Gff`muB(Eqc2Coz?(@G^ zCymRq^UG4ZhepX86LxJjnm_=MbaEDlM`|E{-7_uOakQ>)}109=n>Hs`U9n^HKTWd7iy>2sgcyfH2DO|sMy}!S^ zdvJca_d2huBXHWP=`J(vQzYw7%o7?FPk8N|E&Sel^WON@W^C@kZ$6H>qRY!`TWe8= z)fsRaQl;CI=npm_5hmg{^?ydUu^g5SErM>wNVlc zkajy50svVvL%Qsdds~sfe3AhIcb6b@-rCLUm4{>9kcWae(}&0$*Ka|r86ccAVhk!G zMZuaf7KM=ps>3lJpa)HvAm|W~ufjHTC_DYL+R%c7C~7Dg3=OJ%05ha^vF%Dw-TDY| zE(8h4!Uf$@4GP%-U{<;jEMTL|E8Uyxrp9?EW!>ep42wN3?m%Xv+k;RzHsY7s#KMx_ z&LAk`@!%8H_x?6m5#93((c6>sxWLA8AnGNVcmxC;910^AE2H!cD>0kuYOTNo9)hjv>9~yeKyJ&33;3@j&-?!z5vi9OmOCiTf!kHQb`RQ9(W=S`hWu;i?9_a z-8msOXpx6SCEB4YCQqWp&68NYy!lN5*St4A%upfbg z-r-J)oDb@4)q=Bu;O$9Il*?z8Cae?fURS0#C<(oKv!}3x(4M;3>2!2?)D|kGLF?u! zmChEk+3ElUB$&et@BJl?VL>YB)Md);vRQDe&Bn2SeSOgyTn>=F`|scJTBzWh-{o;| zPM6zE1VN9~1pO>DELZ!TMzfJVI=eXBdGq$<>iqEV05h@aWcqI1YOgEE<0D#a)-h8e4zx zc-3q72E#%B!di%=91ftbVnV(LO{&#yzf;epv$|AAB4GAy+g$7Y&DOj4$Z*1~{$K#=S_s#s)|h7YDH0L0C`#08k4G6Rv<8Y3JKh z1ijs%)$R^!N3Ski%d%zYKYtx$V9;COl^QdJBdlFi!aU@Ls14u=JuQF z5NjeUNJkc9Zi)zR&bvv%AM=wcNYR$52BN^Q)fOb$NbqeN(MhN2Bb;fHI?LqdtM{3GbwHzt8A5Ex zu|+Sz#uhxRZ+&|y9=Fdd(WN;D3|Pj^!DMQiBMLX|iEaXni4lE~=kW;3=ToxH9k8iA znRPqOl60|#0YUx+*LXC85yFC?@N5Q%@edRGKFq|QG;4EE!%6(1uUFG-Zfp0Zr3@yBF-4}ORA=T%+S>K831)Clpb7jNvfj^#|wHHs+J}HoT7b)}75|2SPb+n}0HfQ12*HX(+U7 zoyNsQQqZaSW!pke6EbX8VI-Db1d zGs6C18C{xVNz&%xNP?j)C{EMkTy|u^nipjQ=+I}db zj<&~qbZ{kVPyYHh_Y#TK#~(jS_~sJv#pRWR&%v^G(^^=iD^znGWmGPRvyBI~Z*r$*Dlymt(lH}IzZ!LvL zBD69eaAFF?u@r4OKcJvq$4s@yTu`e*EGI}{D(f_h%=liXKQYNjMu!E}XOsA`fr?## zgC_&;&>|aJd)gYjzs(X`ud#9?GMIQ*OwLoBpHg+swFXJ zkwH`%%t)ox7WwQ^QR=78Gnwm?@4wr?{EL+Z=ofTw@sRi|6@bR*ha(DvC zwWXy;Up??y1KXdz?~%YrG8PQZ$2bFz%||113siT=g{=nWcj!Gymm2&ipY4sx=~6A1 z$`7@6Dm}ob=LdDE+a8VjLbuqV(N1Ry$fmIo;200v)zLH%^Vw*J%St-}As0h4uBa0- zC@YE6Br?-9RZ%7in$e*Um{o$~Cc2YG>N13)uEs=7e6Ir;* z;d7kY>Bw}%Hxp)7J1R-mC^eq3oMS#=C+xvk)aP)8V)0l27y5J}X0-CfzBCd?y>b(n z^?J}Wbv3qNIEM;defiTZSk$bMQn(bi}5+2Z{~SSr?>JEa}?{ciKeA zO`w2c_>y59q-<6vr^yJ|YmIdXg>O$pp(f{-8V&Xv_1b`NLfulWce`G&p0A5yHPamO z1I17U(I7la2`fgs{ITstuiN7c&L?A$03s8?jXPe`gd<+J-{W?>>@0ziR;$a30Oojb z$q=lAvnfg-Fwi|S1+!f#*P0iHRjHLqm0B{;&D18n*WX=9)BeqO|GZPFXL9vsvzpG! ztM{$FA>npgV8US~*}(QPqBs(6)(ow8LYzCf8r0O_FP;(|C>cjZ$Q|$!t;T}c=ej?Qw~o9lF@Gy>E{siWe-7%dKFG!tG=Sce@f zwlwGQSaGWWQVkp`X4Nw?E@Lk8cPmv5W5~8$qe4Ud4Sr`M8My@te)$Z|mN9+!X zX``(GpkB{OmPxVF6GX&nr1qLPD)wYuku-mlnV}40b2(X-!fCtDXD4yaW2Z?1!B{sl z>gkLvyy_YApw&)mh{p{vaa+4@u@WdaHKV%>A;Vfv84G;3QY=@R{Sn`76*6^x(5%*5 z+4D9s?e#`ONuQ2219Zg0R-Cd267kT+C#$N!eem@oo1jNGmZG$-Onpf=WYE#DO>glS z3yXrHPWf!UmdjP@)%?*9FH)6KHhq11aemQ2^wQalz&gXxU;qZ93}BcwNJZRC4& zGC0-kw4{3H!+5i-bC%oA;-ZcKQs!#Fa@y72b$u{%7T#by~!3^g|qyq*BDI3um^4T*wr|VbCf|ZZbUi89gW3Z zD3iFqVmEcnWe>!H1ZK6O2xX(?))?YVY8rQk?eh$;D1&-2U*aiCyC_kRG&T@>+)omo za4-~!EylbakHz9kMra5k7}8>bGDN_A(PG1AvI$b?wA&k+aG%NYVy)V!7we|*7_)w} zKbgW90!$|=N?H&$7Q_LZbNNDc*u4~`2%FpE_fWEkxg3b9>8d0Hu*IUAjM1zL`na!y ze5F<#0LGx%ZnmURs&gyG?Y?dq9sG1Yg0yzNIMyfpSXETS;iWWyfkikRbrMsVbWA$# zyD>|506N{Ae=Vp8NFW~Z*$5Q2g#s*!;uPm{P#Ec-51OUtbUADkjJdrOh8dH-giz41 z%d1B7-Ib(uO66iIb#~Z?dKV`**-}Rw*V8!xcjEF`MI&2LqcdLkXwwRluEjfcz%}ou zSZDarJv+$w=9X6ixT%O<8w%l8$joBubTTk+l8OAS%fqXygM+K|)#c62+kgM-WhHlh zdVXm)htfoWryB*$PTN`FcCL^6b&K)0qgP5NjpOE3{cgtuf{DQc_=~X+&;`7Hr(=^o7plalYFg z2(^p1ug>bc*v*~f5lScvt^hL8FkLZG6*LLHpKicb!jK0;h_nFu42FT}pxU=DIfSlC z*ck72u-hU-UQf^t=JPupz`FbIcT zYjh2z+Qn#nFkx7&RM4z?xsB@Cj0*J&<+dNfQXoVuU+9@4;z@(@L96Vp6u598kyrEy~r!$f9>!&8x$U zVy&Fo`F`i>`tt1P@aW|DqB!VOD~&o2>Z9>gLzf;T8B^cqaWwhZYe_s>_9wUOAQfF- zx%*_*H~-+lg3ljI#yk#}9RX?Xwgoc^>$0i?INGXAz;UCJ+S$(*uFtP8cmDFnpKtQF z)^>4pCBS^@`l5`^bKMF*mUIYb7!1bzbKyWJ0BiP@mASCrWw#i%yZ8N=V zjfy=B3r#=@7f;Oj}v)SD?lCe3R97_-kOA|Or zG3LD>N!l6qV9IbtSO9efsRG}x4y>Nh;aMhElO~;FF`vm+4Q8C{gVVl@;2tlkz?h=g zLQXRtGG;(@yX_n?9w82^(I_;BLbH@9mh$yc`|`Zph3IL$HpabPrxjIawjkLn4L}QG zboSHM2-2GvQ!~d~8AF|+7TgrXsWwAt8rF0aHc&H9<8}{&*jEyyj=19-gxT!~Kv+4_ z00@SnY)%ty36?>P83-GitW1rWszIPORjOHmV)guK#egQL2PzfX24^#>1zv-Z&ULyu z7{RvIoAWU&4Md3_Xe=(a#mEOqK*6n)XFd@NSSh#96Q1)h;q7Iglfw~H?`%dTH^xWB zkwq=MJ*Y~fdM&qiRB4u)!^Xu~I$NyPtJTuU^W#45$C{OiBOY{l!V#A*xt??~vE_&h z0a!mRfqpj(lf>--#-!Ee^m)-n&%PE=yJJU~QfIJ^Mpu0d$6>f7x9d=!$)`Nxp779!zV`0Ec=4fKt*sz)T zU?8hz?jE&DCG+OXl1O^cN|{><;If2pHri?l7|4Toi7qoE6eF z^L{}PtcW^}2+e`PD#aqN8?wj`1YQ`8ByFaRy8m%n$Y?keRjUUbLTekgnGCwjd+4=d znAL8xIo&uvV%&|F^+a%79wEJaL&Kp#qbmqQ&Cua#uWt~eY!k9rC`95#V>%wIVj&O-b1Kq--L7nLQpe5*jMIl){PJ5l^&9e0H{A`gJ-6xn_1d0e4A0JMlM7gw?bec zNb>f;RyN>(0M-hFRwp=6u>NIHLrwop}^8Eo$z3OGXmst!SzmC_(au2>fRnyAh& z&qBoRSX}mzY;1Kg#IR1w6!*AT!jLosMc~W(0fXH*xZQdOfZa;wl7 ziZV1S?PnA#Gw#i1LR&^LoHEDR%q*NaXY7pC#&RyV%fTo^m=dZZ(uMTWMU`>{nHl3_ zWFxQ`ahMs$cW0d%w21|Gze^_^GC!EW)@Tq`IX9Hc>TZ{oxfwFk{LR&InwQK}lgU-< zeNn=l-IqH9Q(p!q-ANNwk-EY#e_D4fTid0MZm~dotuwPsyWN@B3-pFCO=Gad>Tr8W zY37alC!GZeEFt0 z7)yg@^Hz=fxm2m%sl453v+~J)uGQ_1QN5WT;8?4wyJ!H%F~1*^Es=#pEE8nlbd~mQ4$6&szy57^d*Rf*Yqvd4&2r7FnzgI6vI&p)QN+Xx!Q zVzsM_9ho7;revWpCKPdvJG#T?vXKykLRj$Owi6`1(c6WQZg(K$m`>!|eYcZ*rdX(T zdA@XT)>VZ{A(tt%dyQhgT&vYura^ba+vcNAyDCs?%PeF|EX90Ir`sQnhTJ&FCFVGc z3a)JjaLN~r#pXO1I2@r)wttoFi9)j_8?D`)Iy7tNvgIKP(@47@adr%$-7ZMQt@_j& zwDwDV!9-Prgn)6QETDc5aJxLs#!?nY((FNes9G!*aMZ2|Fs$@itxB=p?RD$b4gd}s zy@{flv&RC=%)94vIXTX~aR2dLKfo+Kx|57Y!trFp?usw?Z4Bpd*a!qMGx}8G`9ZIB zdm`D%(M>U*PF)mXxmA$ymnF(^xA6rB8M58>uK)_}9 zgu(%@Kbna8&A&WcY(44>-hKMfgNS?a{@s;iJRFKFu7xN^EIbt~J}(VSBo&+~;-Jr) zbW^CxP-*98P&s{jQ7l}a-V{^jhnP{dTC3G-jsCR#`gsiky47li?p#`9B_y`F zXnNU)UqA4=qHA}z*B9aoORFpKg^iV1G(MkP^eHmVk``FZrn*wUc$3bguCkNK$-n*U zQKwV7IXg`aF|cxQE-Jmjc+B&nI97(uo4g3m#^zA>#KBOWQ0swiacU-epNq5E9A2+4 z7!A1Gv8P`@brZpRU;fRbXfU2!URwzGf{`FG>L3A5%vDUtZP(iZ$dbkH|D4gMwezFH zy~Bb`XqD^Z(=N%Gn%?CV2#4FpS0h+#Rx9O-36xy7hz6}N<92z20gvD3H&xW>b~t^Z zV9+YnXTG^)7#WBVWs5A&(_@tlI4u;5!VC==lV*9On9;sbZ8nOze9;`u@<8ohTnq_J z8xF<>G;Rz4GXtw8r68CEHXw`9Hft$PRj$gS+~cRSvB_=xXbO^cNScx+ezPQwLFnyV zfx6(mFJcD7F`k9xI}hhsHoUmFGVe99+~xJyD4WMl;RHbd-HrxLdi=1{?zU@{O1W4l z6t8~x*WGgI^el7wW19t@nSIX(ceCFM?d`R z@ty7U)%B&h@LW6|a*-$#36aw&c)Km4m%3_<`Qr7JIjX1M|I-gA$FF|+;m7^-@ynfe zdsoHmWwBc?X`z79o{*d;8jt&C9n11o)WI?gtiV1$1;QBN3gCif($D4^(1n7LfY0j> z`JJ9%D4K{kt+h~WtW)C! zGt*~yS?G4^mG?SeYUnR9}WBcvCVr+(O~lFlQ?UOEX7F` zph0n4!sl_nXx zou17YH#*ckTrAeFf7(}^dc9aEb`?l%H%HopmyBuY`Q8AU zG%NXRty$-XwS13Tpjx%5!)L0GgR^-ebFuk3zi)1S<@5jfi!kE4`~K5M>zj|(L!Riu z;_8CS>hSp797Rwxfq{xRnE^AYbe7}IPtT=Jj?#_d<@t5CP&xhgKVG+rr~5~zS63J5 zT&~itmumxYBn(D$%r1+N%^QwK{T^Rv{{GjWtwh(}d;0X*`;Q)NZ{5GQxxT&_^oQeX zQ5(gYWz3P#bdb(;#BMQj{L@aVu=C&kj~5pQKm7UIKYV*pJo)~4x}840sjuaX39@ zRDuz8#NY0kRkQ!}uS2hL`1;@?XI6xnxw5I#^PKrJb(3zYV!6;v9q^&R`22EcLA5Cg zNMju|4Ae3cCKydvXx5huQ{=|~@(-JVwNHNW$;Y35_}+s@&)(Zux&L4_x#*Dv#BO8! z4l!RDL$|FM5u{VBb=qyy7}}MC{Zf7RyZwqdDIJ~U8r6!atc^xJvv=8Q7IMYRHE$=I z*B#t$wL3jtht+PH;^wmr8y#9%nqOF1Td-5Ug@staMw>e5c4I0?Alg_I2E9htf(wnd zD7Q~9dKzCX=dZK1LaNfL6t3Q$)Vnp27++s^G?+q(pbvq(3-j~y!O+q?GJq)y?Xu1$ z%0w}=(Qq^xiDSrPlR7f)US4D58RK-Cp=B-zG-mOYfN6h##cJm$1frH6x!Qtb&N1$& z45f{y>O_$gryu4e5QZ!yf$3uzvSGbSr&(*ZI{c_pu2=VeJZm<~xzpEg&(ryADp$HX zyfhG7k4H?p#pj06Hccf`xuye=F- zaZnpe;}JiSh0BA&Ap6Z94pL|DUjF!(A6~xQeZ5=n9DVmPT~4KnRa5Bt>UbytD2kw@ zJ^JXgHA~-E`{KjRM8wOvBN5-qufMX6*!2gSD|hZK1wzS%NPP2d1l28`sB1dbP1Kep z71B#*w{23|`I}s&lu6|qg}?s4uZrDXZvWL@x|BOU%C^fV=ec6BITU;5HIK!S23s)L zz_$O(-!Gx|yI=gxSD$_K{`;SP_4!BdZ!T{?dAPYeAM*Qsp{SR_2%2Tbul{>wA>7$J zxJ;P|GW%}#DtmpI$()^Bn)Q~=^gwYgBxB)7!aYM1>&a-q$-0-9Lw1Mj_S-^p%5qi|V@O~MfKyc- zON!n<-xKXfHI>QctF2DET&xSA)u`nM01P6=%uuH&%V5A%M<^PRC4;hC8Ygwa3HQsT zT4$)}qjs}93wgAT2;-EE<5*x!1Vcd=W{|!}z-4o;JbMzh2A1NXwKcK>u79wAX%?G} zvD&SKTJM1Nh+V2QCG|fRE1H5k9v}VJ|9U8OkAM8@^OrAouhM7l4$sam^Oc%t$c5sB zX4P^^4S0abj9uOgkoLLc^7`81^2Yky(kH)tKN?7`u5X)svNUi0^U~^aEEEd)d_KDc zBS~mH7))l3pMJi+IJ(N6zkc<0_vrB5yLUS~?+)JWy!`Ix^XucIbnf)D(CRc=gAou( z+6^+2H1THX!7u;QXX|tEdtd+dlPB-JzYz#;eemqzv!_Y_+~(~f;_#B!^ne+J@rQ2; zox;UMxpV!^A5N;ptIMOkqm$#)^V6f#%bT0@#qTtnv+;Dx7kTjI-~Q_9(~rLV@)y7O?Bh?KJ$mrq(Y-tCOAE1B)TV=WuhUA+ z8l^GX+xzaFpj`ano40#AdwaV(uYZ2|_8{Gpd*|;87|S0YocB@}=_AQF%f%D^K+x&*MdI^Y+w-B=!eT7A_~>EWW4e@YF61!jb~+<4W#+Th-(AVH zW!!2sD~(>aRFM#Pbn)V(ZRY!Gt!@4pn9495f|2N~+QnQhj-glv5xWi5X4Opk81)L( zktzxOTDh-{JH6XxF@qiu@ks57g>|@1@Z%i*`K|Xpz2_oa{>7&stZg z*l-I1pp3{7B-5u**8?0XB3vCRkMChYC!R=1(*fv`k^v;YrLT7u+b}UtjeRv_I%_ zN1{Prz)m`2ai876q86z#r1Z152mN3TxG?S8+K?eQSjM`q+2RCm64d2xC4X0I+} z-X3NP*di&4f}<|v{<`Jl~YHjH@RB9 zSgclSyp;OkhM*=wJ6GVRQ(YbD6xic2r#a9#8%~C~z`eU6n=>3s#G^rKsJkq!;*14F zzT4#`MU_Xwl%*!!kv5%b6ImH`yTj2?QcNI2yb*^Z=)mnu+shHJFB10qf+jPW6YlmQ zqTR$4N&|gluQq|FLZ^IrcHL+fuC8|e@ZCizeR@)?r}vI)f{CE5Zl~Mhg^?%;Lk)HM z*%=hQ6ODfSEI>w|eEjtO<^vNG?%Z9!|K*1Xe`0ZQX>Hj|YCgZ$?RGgmAx>%XFahvq ze}0`kd-42W@5gWc_20hz@vlGp@ZC3mG9~ZT%a?n{Cr5{;DKk@;w9q31%tR*K!RWmC zuJ3QoZT$Yfe7d^+{%61V?89eI?mv3^WNZD-_SX7RJQ6ZPjNRt26RI#VW>U|r(?+$N z-FtCdDjoje&zCoU`oI40djHMO-+%kV^H;n3dj}_{XIEFd`-S0zZ*>GkH!$}?gh4Fs z<@Y{&FA@Fh@4x=lufP2KH-Go{zyHs_`_13}?pI&^`s>d>eEQ_+rq`87M%;F=-K?jN z2b_NX;?2?d)%of9@y_daXE(=t*_u^S~i`pn1(fx$9yi^8Ba;1 z+hD?YyEbMcAu9qwgljGyu%f6n7@G^aS$5%0!eRFYT$C;7*97;6_wBgbj?~iwgAjz}2>A9PC~ZN&L6!O2UvhmgzO=BIOeRf$4%yuCrGy`cZ0=b@plp~~ex1=+ z>emXjz90fdzuHqYUA}#UsHmDUku?Jr3*`w)BFdoG7c>-}s?wl0Qm3le?+>Nh`6#F} zV>S^cfLd+p*x)ohROKOGz0M9*)s59cd_FwqA2RH>RheDmh`CYL#RZ4&QwzLL8%DPl;0oo0V1!vtZ0K#bwc z`OZ0l!C*8N54n90{{AyocHMn+XE`1YN5XT9_qQSrS19Cm`Mg#H#&JlWPL=Vf*KGC# z-UPeckKf<)>!&*h<@)}=|9F0N_?JKYuz&dKg&6@4k5BjZF7o9{xm1y{DL=6#qs;AN z|K;tq+4GmDnN0dJUCF(Bm+f}z&1Rz`%Hy$)pfHR>yl7jBKocaq5VU)? z?j_v5SnMx$_j)0GG1Y9Dg?t(pYdg8_da5S-h1u;OLi3v0_O%Wx}x1>$ivb;`!UX{_-u!UX98^=+4Miw7Mj9Km z8L$~#EH<}Osf|5e+~RRr5ci|^;+!+`=pTN!>R)>H`Qz<-kDuJ%y0f*hwYe0XTV9zD zxjpl%5r^9;6~}HOca$^Z@4J8b<8k`v_3pvW^B0%J>)qYwf8Oh~&v*CVzH5s0Z2o5V zY%rBN9VBWW3l^`}VRtwgPc+Ec{Yy`tEx9A>ch;7dSGMo3F05@PWAkypGY|`!R!vd_ z0-5Bfk9i%_2fd*<6pBAR&v#CKcyVyJ_wt|r+rPcp`T5n^@vEQSoLn96T~%wjbY&n4 z{fXU;Dh6)f`1Ib=*4?`gAAkJYzx#4&;mP0p=8N|qKYs7Q-TNj7t!#bq#gZ|k7FWC^ zjn%S444w>byYDqx%~G~7=od4kTK+6myEW)+zF5qc%9TdD&-c5geoGTkQuR@(<&0VS zL)6A#80)mr6hm|Kk5?TO7nqx$^SXULkHcz)W*19SBt_#0Lf$UE!GW1r>u9Ep)ecS? zgGRY@^zT2U%17V*`R)11%NNI)>w~?MRKAo?7e|0PymiNgFikiD%U}G%mn(^TU;Os# zFFyXoufP1{qsRB2zPGvg{!?d%xbrZAW0(b*ftY^#cw-1q{KZ8+XVz8z=JL8wx;neg zl`7Tj`E|KoDOXy9PWs(-SH@i~Y&4uPi%-`*B*sOT=FOSuaCk#LR6*<<20|d^ri>X3 z>QiM33B|^E-0$>?J8x25UM%nL*C1%vtXB$I-tLeJO)~D}|VoS_`iF7*EK- zg@f+M=HoRl=U-a&q1O0<*XnjC`3~tYG8Yp{D`m~!sG3QYI)iqpDfC+=GsqxqQw9*n z5vmH=94Kg+c7~)KhcWXt5?mWTc}&eEgRbS(fHk-n4+XuRu;0qqJsxv3SnG7atS;e_ zIu#~nx*xYsPMZ>6E2iK6cwEYy?Y{Ww&5wWGzuf=v&B^|ocY81gP^4I9C6zU{An|3CfyVe6BXHD1BNgzj>LeULWkg`0?%W;aTePwA8GWo9$LlVPY$GMPtH?tMg9A8Hz6? zqJcnSW0CWJ@KMrrOBpuBvUqpP4{D$`WldZS)5G4BHY;^nEaLO7UX`C3Qu?Yh?pF($ zbh*`THCuyTwb^T8 zdSZ!0+}UqZL1Homr;;!N;Py$XKkT;Zm4P}CZLHW;VAy$Q#Rij3e=M1ZxM zlAUN~XNd@jl9W9hb=jB9m}H;-=+lSm>vz_d?>yLCUfNhsCKAcTc)(?MczmwgzHPVb zTQyy&7b>kzGk<(oR9pZ2zkid>9lUw{!epVN>(h6KC;Pj{sbZ~?%Tx#Bu`rl0eny)T zu26i=A6)(9{l(b!M;|?XxVmz8d;1rE`)p}-`_98>kGD3KBH{VP#rcrk=Hw{C%1lQS zO`C}3t!NeAyu2vqPv5=y*@U|N^ZnOXg`I!;(~DR8r~9wooYm^-^NWL{0xy_DQLnaU zghiKt_>voELXW<95Q*J=eDA@tXCFMhzwzMd(+@s+Z#@}beE(PPMg6gr)rGJx81+&X ziv<#TomO{Hd-Lsnp?LBy|K}f%j{f?GZ~pz?{`}py-|t`Uy?FWV^ro)Qx`q012BYjk z((b>r7KlIo@c#Dw2k*UiXYIYuABG|u5ANUHT8hVGkpN5Dy&Pibnksg5wQyB#l=H<* zs%Rzx(|yb7Y+K?x?RKl(AC3l{4lhb0#pXtD3*Bb7TUlH9-j;`SneUa1S`5m~Iij9n zLm?>?1SxjfleBuy^pke2#*Z86hCCaXhBj`eGR=`{a(|;YRA$4=*R_;YH#0H7H#bN27YB)2-x+ zUBQ%m)0xNWXaG2%N=>7!B#K}dgwfXclXVLAEF_oL7U$=q(Fb4L3kBwr@#tJ48S}fG zu0Yt!5EMDAtwA71S29UeXZ=RX~$t`DDo zzhlD0MNJ+z%bf|txa~B>1t0zW7g6`xCtrQEcK09tw~yEEeE8enef8|=S6^+%*WQ12 zZ}t9H&!Vg?K0AUBu?`G_++Y|<>UBUx2IZZ5_GRCvjpHOq@j>s$9f{hMb=clhC_Pd67A;*sd><9LVN<#*dy1|IYc z5*BYe(e%c0{W9Awz1hh(v->;mj?RwXzS%!AXVTU6^>w;f&Ai^p_nWy~?&Q4Ghft}} zkyL|XEClEB1^nTMUp@%VefoEwZ>&H1^wSUDe`2b`lc(=Jynp|m835x}`_jWWh0=B_ z4gwH3E*DItzq(3an;&wp`|9=X-u~{+yZyt%VCel5AMvbMQ>XKiV5?e6{6#VA7tlXGqxV|8+d1Xwv-SFFo(&=_V}inbDbeF)rs z13D~T>GV>mG*fuT+$8B%f=yf1DUE1Ig~fsI9ToV*?yCCJ+ykANYM zbgvg2>b{5rv)CMjg|Sg2G0BtxYFf#b8l6_7esj`fxN+)T3iRWhdT-F{^+z*Mld7dz z$PbNmjOI)TW;7+R>C+90A{d6GEQUeZZD74Vvyr+w)BCyVSQ7`mMyb^3^W8?BaHuzkK`0=SPQce*Ag&I)AovQfk%9 zr5dm5imY=!7U4EmeeT5i+RDbGU;XE=9zS`sy7J*~zIeF4vYL#?;_*npW1|?m)sRhE zoEb)E=S^AWGiPV#C$E1#ygJ)^b5L!ikJFVZZzdL%FLyDHWoe}{p!~Lp07TzkV}r|# z%ssdp^*Ee9kKLb4I8C#TJ$V!$oQb&A;*QU`SsbzuxEV{Ou6nzHY%G-O6JW;YuZz{= zo$J!Y&dytNroQ}_fBYfex!!qmaGowVs^x~P51T^(vrz7(WgqK_Z+!OE!&r3n;YXi7 zxqD}Gef!b&>c;jw!$g-9KLD-`v;Q1XmhN2{4+%A+c z0mDQiYuKX*5HaSbs4j`3G!{o=VMK???#)S!NO(tQ#}#ch9`+mccAF>t!kaTV%84Bj zf;0nG`GKtKAjqfkDm`mE z5guCW6p>n1maak-3P1zhKzE~Orgvu6mcv<+X5&v@<@JO^uHe#K zBpCA$(Zz*i`o_(fKxBUF_QvAe{OrukR3e>m0p#?WAze`oCvs~}g_751G z$rtlSxlZx2)~%kGS-w|qjzr!Fg}5?pb-CRRD-p(6!?{nACg*%=Im!!d{?O@|S~6qs4d z5{`$TF1u%+Jh}y54<6iq^udQeyOo)H=e;6YS|LCV5fB5L(yYD@^mGOqNiy4o_WVNCQG`Ki#i(IdkKRq}&y~69IbTDK|U5K9jyILLA%3aDSZKVqo9XhUVYhpjXyIGMs&9fuIJ33p}E zga*4jW?O15Y_SF6p%CC@n>P?iC4Dw4;dZ;6F1HiaFdQ+=e!p1-F9-)F6-EXn$%zh| z{mHgDwn4E6skN$12uG*gQNPt2wDWI|`evwkQ2;-8SyiGLiER!YVY>oF!JCm`zkBM# zpUv6H?Cq_UrRC+>WF(cHjb>KnT>Qu!OZo_lPPZ9F<=J8V>asx(YWZu>Jus@5Bwe*NtZZxhNj3Zz_t7erN81xB`|7W@VtnM#C0v8lC(>+$f+#*MZ4+4<%9 z+1Z)w^3rtFWg=o}A0o>Jri~ef<}kgPs}D!RKJZ8NYMW{v?QQRz7ccf+zkFM+pKkB& zALpx;!gVfJsx>K=sa*GUL=$-tCG6zfM#2H0Xa!)=#{2JXF09^uur+_<@q^Wc%?FQf zFRt9!$j+}WXOkW~>2+C97)BtOtDhFf7}VYUir2uSL2q)a^XplG_ zwkkD7V~Q80cBguI-E37(zy55mQ8{|Mb6PGO9b6PE^=dxXLJ6sQQD$)u2}!CsvlMd& z(^Hw5%*>s4w}R%-`mL2D=y(oyEb6j4tt<^W%#(G^3~)$8R+k2ay>m)YrGBy08&jpT zil8!u{k>eP+o%AaT*zH_V7JlkBC#}pX(G6AV{2_?`=!-o3Ffx3Ii4zjbdR z6wAbdYwu+Z$p&;q(h0NBtqpYc?6ARf^5-W=dXU;-v0LMm%DpAdl!38Uo}*^ zSZR0qw4fTG!|R4;A!R{ak$47})>LYG@!>BX&BUhHrjm;{7woVr9(G#nc8sHBOl4V~ zV`z%exJs@eyUfE%SAyhvegNrXiXJu^V^sl>G8po*X2{GKq$7i>jdX|%;Jk=ffW>#3 zCB+u>;|6T9TI{j7T{WzrpZg+V0w%*gi`DIQyHG|3mL*PdBiqbU2t&vqU?~elV@{J; zfAze=4oX+2!1VwRSiXGy_4j)f2)g>_d9gRf5USCaOc-Q~r`$GAI5oF0lZYl~78a6j zPbTfM2V&t!BI0$D{)l5V#7SHcSehC4@*qo4_3QkQFm=m)8TcPVYo9kz0s=55!txkM zFe>5UM9|^zM}f5YeO_N65Q%slu4pD1@_563bgX(KHetwsW*&{HR-;j`R$2-)$Q8R| zNfl^XvYExPt_{Z+F7g_rDe7d&yN)2LLQMHY7PgwL4m(5}UN5j4GHkUVFbqMHS}VB0 zk2nQVM?Gphc?bq_F2@XLRveWmi+R-QgM7=gAj&uZeY|2|X1z~Y7v~8XcE=JikjK;a z9;BR+#nrjFh532lGUKV4u$7ozP5J$93kGnP5P1mGB!OzQhQoflQ7M+nwR)|Rd-dHn zZ}#8p7mmOE;@fY(eSLhe^XiA^yC(p^3i)cgM=`9Z!S2~8ZVoRj%`H9t^qt8+zx?>) z4}bFEhflU1|M{Q4d;9jCts7gn@2pQHGYNkn8nlcl5%?RbQ@$<~a_2`USEpb7zrWu* z+xh{D<#%ipMYBT-KV6R*xPJDK(t+1F`Z?J@{Zf8kyO+bNBAu+nXDA z?rm;7`Nfm9)vcvad}Vzh;dfera=36+75iOI8aCU5@{1p@RWbke?f&8EbuoYX-S3{2 znbt+UbA6nrC3e_nl*z*#U@%!q#RL|zn#6Wr!(rKgB|R9%IL!$HlXNqbE-ZA!t%@%LM5NhGJ$DqzFSEx0@_B zgBhtXq(lBGYj1!|YFA+};z|bf?hu598CFEOe_oU2ZtkMoY&Xi~tCOMz=fD0wKO8hl zr9LyHK%BwJIK&#x;QU6??oQ5R=Tc4=;LuRON5CeZ2Z1bR!{W0egcFsaN#QL6G6V%T zYmx$#{HiJ_gO((B8iVHHX_p_I@AkFcMSd{sjX25Tvl)=Z9ZDyH@pKyayF_B~$-}wC zY{I+n=w>FfvY44l`O_P581ZFd4qcRWMUq60W_12y`)b6r%Y}Toa{Bs*%Te#-)h^)9 zT%l4bUw!|ys_~^`z)=`T_Z5GT-5_)fhxdOqM!$4hu$qZi4)N%}WEw3g5(L_9! zNH|2<6(LaoErwxenyToS$BikIeZ0M42V$t5>n3D_=x(>$>s}uh=+V`yy<(%9zdAmw zqfWJa(Uvg`v&XX$Cz;5`0`cs^+)O4Bi>I^Mv=?_L(_yC#B&N{jl0(Hk(M;TJb;PEV zUYO!-Zm%5@_{rWk2E>$~f3??aT_0_~+B@EU{$~H8k$d*lPN_D4_+q{<$z#>wvja~b ziiLpd{cli0A>bA zpQXA+lJIyiCL&IdlVFR(g1b{O0x|odu>e7MLh*D&EbytNFxML49y1S6S&&>e;)B8n zx7(dIB4CHjK0hp*JwB4~IE-;$C7p<(sd`{i5>hs4{AkE=^q|j(><9`fXBP|vas76G z*eukBqS&uidgJkE0HBWJfxIe;jtBfE1p{biH(N<>axP5O@r2F5?U<_Y!er`2J=ayG zc7?X%!#WLw8^aJ3GE9@baWcy((ixiDNE40(@G^dv)9VjL{0=7x%)+FAh#hFY)oL;{ z1LChQD}{WclRrFq_Ag(Z=8iA(JKw(8Kh5PY&o9nTFH6M^PH+v{L;@od2!|u_^!&}+ z>)Gtm`qtf>D|1U9{Q6NQbN`c{Jl=F!ryt&1&cs3i58-m-nkEe?mZRGBa=BV9UK{`y zd42e1dv7v}?#<5W+5YKu?)dquvr6gmvH$|P+Ek*RQA-a-g5g9aP7v{II+jRHp6(_x z>1b&7{TnttxUo5xjs}B)a4h2WIL$!yOfUj-tYJ3k`~**cPcSqYGpP1>QZR9Foo{t& z#bWNdaGkH#N~Ln8)~8yf!-LAOUoB2%UNda-suxV59SY0d&e%gMOMqv9XI{uIWV5SV z>zfa6FRtEu`0(z0YT@R*(;mr0@z$hZd2iS`_#Oo1>D#^2vy=UU(~GmS8q+*G?{dAi zY|8gvov*ic}5Unt7Eb}sK?m?NWCtAz}G}p)D6U!@T0KZ7Xs}X^LnGnNNnr&v_Cex zxV*A7H#Zx>ozu5(Bw@yIdmJ`Q<|SV8M!3R2?_PBju~*6!8?{1tL`|k7Rat0UZ!xMO zGK|9HN`lH#!+sCE|7bAQ&5)$&z-pUukXWhvo(jch60zy|DG-~%a5y?M9dh|XL3bQzSumS+Ih?Y9`v_%B zcl-S=HK-o!UY0vt|LXL*Qt$LTt!AxjK;4=~a=F8bfGGW1cQWkA@B%kt0T4)*kX44r zpf5h3@|w{=HXVq~`54(BBVh$0y;i_GAemwi_*=~v#5f5xn=L3t*kB075X^$n(^N?mRjY}e6eTrm1XpRwz|gRwECI#=cN9^~@em@Tj){U= zb=~4kO#2ap2n0hjiy6P$A4|v01J)jJA+_BLMga15dT?1DJM8tR&#R&$jj3)OT<^F) z01(X!3{X}KH87Xc=Ja}9uH<6I2M!rEaYi6&l@x>N4>|*8G6qtUO#Dcd`+W(tDrCU0 zZkd`UAR-XSZq9l=(S_9rHSo>_QAiofkOrX;jANQ=ve^PDH&d5AZdBLDjrOqLXb-xj zv!l}Y@ZnfB^X-YA1r4pqgxY?MvI2%FQ%vPtz{8xFbcc2_7CA_;dmY(nGN zpq22tNbh8X9V3WI$txX#RSw)Kk!3)B1=z??yDvaqd&oTmPbock`9NVwu3)RZuVSUuEUSAh#?M|oNtd{HD{*VFi#X#<) zA2F=H$;6dpJih#JAv6svh)p*GbvX~H4gWRo$C3? z@!`oyPIZqDUOqb-pen$=To*S>gWgDnVFN}0@!0J)+r;zxJZ3>9Ga0`bF}wUEVsJyp zLWm#gCK$y{(4Q*OObVy*qH3GpAO}KfE#vbA!;wfd1+sf22!4n~&F#ual(tb>8 z__0v}`L$6m=gW==(>!sWE0aB#+tz>aV{ z>LWbP3zE1)wLL zR=d$N6p9j|$+BlNK3Q?%AYFuo@P)%Z7YR5b9tnrS>D!N%aM8Uy9gL(?A*aO=j5^qH z^k!0KGz``dOlUP|fdL**V;c3LAV??zoQX7Q1?&~I|Sm%T>CxT4S zEOuCchQk5PGks1G$75OMnUSEYJa2J9BNnn)F&(nnaI?i?11dteyfz)Q0yskg$9+De z*+Cpg>x#D-lHJaAc^CpXZ9)_ov6(@R5@<>3cUf>?VchGphDm2Ru~Qji>Y&G&+%CHT z#cr(yfm=(@-F>t*lUZ0_Ut3#U1p1v^Sf8`2sL)fq1fa26WfJy{>+|z^uYOe!4>(yGb-R_)*r**A22{5@ zkn}OHiDT7fH`&}SH(|1d=B5Lr)91p;cq*uN1g95VI|LXSHo1bNZL;DTM7XG8;20Ha z1g)2vG_NQCuSbyI#nlk&xFLj(P^CZJQet zg;DOPIAVumy52Para)Q0ly0>%Vi@3TsaAV9SnL00ayi0{CA^R#1mCdYSZjfn;pQNyeRM^ zR#8P6LSe*&17)&JjIu+ew56Y<843wzT(ai!*sPPXRUnJlt#*eEk_|IqRh!i@Y_Q!% zlj3;H0gcA81``pV85V{*;RiWQP!Je*IdO3A2xv)-Rn2ByQe=_m6}`W=(~{Uut#q9$ z^Mui?^g&c<1ZglvbT))zj&LFw4=1wOWFkG4&dkn+2wytkA)HRajA3f4XQ2FGP&}{n zTBTySbbWquRmz{9oL}aLZ0+>AOM{G0Yi3xUY^6dvZEl~}QIJ)p+Ju}4J>&$*K*p7h1_|_-V@E^#oh5Cc zyS$-vEa-K*qNzkQ6!1r*PT1`65?0WAfUmGShLj2FQ;ISijA()HH#@y9WmvdsS@l|F zaad_-xXzCTK$|2@lZ9TnkKjU|8ZjI%2$MMAf#icTnUn>WG(%I6*c47{q{nXeMv3YP zv@(rw%4A<goO%{I;2$I!9 z2(*z}a?9f$gZuq9vuRLga0iZ&7GWq_9A;=V001O#pex8MuNnpfluZXc${LT^;K?)Z zp%L};${dgYw_67qGqvQ^Aj~qg5(V%p6M>M&s)~pWYF$hViXIx7wS`jP3WDjRpmqIo@Vd zb;3gir;~nfD4Cg_PKErjY&H=MBLW^vdH|BZC~B|+UM!!LyY*71w)-~Uu3etx3Z-J9 z+J|rih=?QOHxPFy5)JvnvB`9WL?)A-nV(5duisluBvx)MI4z-t8PiC%TNnz$m3{^A z3)QZkzkYpGr}8gfHQCbsNuk7ND#+7&*6 z>`4X*BDlC5;HsiOV1Xcw?hbi@9S%CJR;NFpsBXJQ(L+Enw9eLR6w7ifO;6ma$_W^* zia_t24h+Gqga=qm5cm!c;7`BT7a$Qlw7lp+-0QdEjzA`D9_ir(iNGo^PYQ(ayd;B+ z1Y#S=9zZmj0>IrH^g2Vn`sH_ZwtZb{mai__4x(S|NvekEk_r?a2MLOBPO1o#zECI> z2?sr%)cQhz1Zg@EkH*3tZy+>#C(VnI`Am?64cwx1+Kj}uN`*WCuww2aS1Mc_pBHP@ zQX#j0Q0djKuS-2cs1`abKjuJ}mo*~n#jQb~49(w6J6(ZrdSz)k9*+NMvQ8p8sTLbg zMckfXI23ZyRl!N9^q|+QwvD zP{a^<6~;`MTyMyv7w-3DrAwh!xyuIACKl+p0YJn#DO_s;;ssO(>b4XIX*FS*B1 zRuc~boqpjKs|IP98+LX&Z7 zL(_!(K~(~pUM-iZwZh4Hcig%>1x(ijQD19zTGdLA=Z0NyHGwIwA&n&0`a4;Np}Xgo z0%qsbjX9qyktJdG^i;$@nH&Ucr3*uVfg^EMK`fZADH;U2tS)w%Jci0+s(xK(nP$Dy zuGbnMS9irsLTFAFDMx*t_+mB|PA@J^X7Mb|&o9iRrj}P{qS1H)-1UIRiHt?FY1C-< zTGh736%NkJ>ia!PZ|>~oYR&GD>a|;);c&zWK&*?!p|0~Z zU{qd}6~v6eAU8%9!l*eIk56TyktmRzczR|on38rvr%t0+e3k8cte{kk_GyWp^kvpiaY#~$YgUJrqNWoo(dK*k|%K#y6? zY~yP^%#MomWHm4^jcRRs5EkrCh#4dPbkGFA(_)Nf#13LBUXh)NnW{oGY+Q2geLqk8Vu_pf)~eEs#C{TEN) zUY)*u^ZIZA56`dKV_wl|a*OCEDX2 z6?>@LYnF7!e;ctQFpD>wTwI9yrtaR~T3cLNy?Ouc#zJ;+eSL9eHoJ81?o=SPlz`#H za@qy~QpDi){(gh5f=+RG(rRCv6pOoi*Bz>IbVlpFLaSRWP!h25gUdIUtj=}om131r zWO}kkNzjXkkUQk}1Y!}NFL~q6OmKE!!iy_Aa{&JL)vL{mE#H@TZ0!lXFp_Du-e&tBrILb}|?s z9S(;bx0^&f9mO;&fmz+QQCC0^l?Mo3?+gZwTwmtSY4rQ;X6<7C;Bb3;XZ!GC@9EQ5+pphjzxeJqzj;(UawPYH?+C zJh*fosNw>BO;xx01u!Gn8Sn~#3_aCK>QZDo07aV~7dAVj8s{?@OK z-@JHpSjxS5ae4XXhuz%OtAG3If*T$^eST7!tkwXgzjAqyr$)U-t==9o-9n*f3Y$As z8g&MuLDK1PMc3~vCt}H&xy88@P|HMmc4H+S@!&*!Dva_9Zc-(A*eK-+&33JrJ1tP% z+*PeZF=L7zagL~!w`7t|6t?}TuDKt0=#WLXr&AXkBw+W=ez zd~RPnl}e{m$y6ehU0KK^vrDt_^y7c`B;idhEiWz3&88#4P}pzLQ396wMCJ2#d$-+6fJ!Jq%t`?nu{^yyE3@$vhQ9zA*Q@!j?H+gr;^3w{;$dtu;G=ytu? zZ57Ur_YbaXr{8}2dUyNn;qj~Ae|4OH{x4tbA8x;V{p#hL-NVDf^W4r(nbx^hy(f{G zq}%3=XBJjAZr$2k+j{?R{-MmCjjNIK!N>B6wp zsFzMpuP*jq>@>Q^|MstM&Q4B__qX31Toi$&EY(1Fmk^<+_${pB@aVib;J2Z`0Fi-^ z*XeY*eUY%&>G8SjzNw_gNsu0YFz82yfUbb1aifXr0v3TD9zasBRWB5PZD`iY70_KPwOXTH+&*aZ znzd%V285CWR(UM)B7}jk!)>I;<%uUFOHXdb!t-~3{vSWx+I;xoC%^jW_SU0c{r8`4 zE^NJX|MsmL8_U_Lsj1m))CvRCGi!9c&=};u`}Qce{g40U4`2S*e}4M<4}bR$|MrJJ ze*OFZ^q>FuJ;+CAZ@>8Lb-tW0cYBTINKrMD%MBcTWcBu9Jei%Jn%jEt_?^x9g^fG+ z9zM8t=f>LF*6m04*Jk38#LR5Q2W#ShL9ANs?dy}e#OB{_pI+rl#jEqv^UL$oqc^V) zu8V-H&tJT$@+?&^*T=dlNfOV?zrqx<{RC zAHMivw?{Q|dv8xm6YrUu?Ayi?Xul)kCbQjU113D;@u%ijmgc52GxN)fv$G5HGjl8R znaor)7|qNi@uBDn5(a2vRuuciYQK7VQL9~@o}B0Mm$`f{S8X@y?OuO0X2)Yr)QO-I z;rgn7D&?`8y<6`s2SVA6Ezl0@GwH<}o2$$7=}9@+rP-(za!oDFcqW_Kg;Q=tLM?#! zjp0>^Q-`%`eSnU4UR40GRPtp($h|zM_3EYkHPHQLw_5CqY*KX`Z#wD9WkG-(eefT=_3_)c z`$wne$Dn`iAD*6_*V)0|x91|nbvlsWLIa;ndIO~0;SELtUVk|3^Z3KDm3Nk0uH@Xz z+}-<&;XovrjJpZYwQxw&Ck6XNmI4;FP^=!lczb@a|NOfzzWw2cS36(*-9LQ4^X7-& z{L@#vyDwjXw0Ce)WcYTe&5A~FC4s`e+2tFL-@Ute^U+T~`Q+!n`1mJ3`Pt7w{QUZF z|NNuB{_j3{=e?hQ^3(V4Z{51J90%>12`FtA0p_)pKRr1)+J5#Nyw4Zke*L@OefGr{ z-#q)>|M`FYcKiA7fBT!?KHZy4xj(wNyv)}dJ=BLVvcvBU#52>`m5q({oA)2wdFLEUOZ_+;KjOpg})%6uXx0gRW-`juw zPyhLM&!2ts)z@Es`Q4AtU%uSl{`~jP&j5Y(0BUquM)JojvMCTxPR#>jv$(dgcH{m# z?|%5fyYD`E_rW{wzyI#N&DHg-n>W^%d@zxo4&hXXgEe*}LVUg0r1}8cmC8xJM-RHd zmA3%`P&CJM+XH$;^@g33i;m zHIxuoK|M|sb$DGC-5iX%EoQ4Dn2LHl$=T^-YI-(1mz`ew)h8?Q*&Da++`skU<9Fs} zHb8E;y|%J-b9r_O*nxDy%avQYiM>8PJwF5f=OfEN!mMWn!_ZrIn@ZbSkm* z=w^rr1MBA%C1*I`V2dps5l5|Jxlt`m3NaNH75LH*bpdtE1CgK3@PH2BhoJ zhy_^~F%i*}8}Z$LvYedRc<(QM`QgXE_}Pa)|BJu;t6%@>=bwD?@y8#%`}ose+y{Ml zbpc##Sg&|NM7<|M^+( z{PTZ(dUTmD7q0X93TH#Do-cG&H<+mks+ zoGI*qR7)%a>}e{U$u8fxy}q=%b?5f&yLazCdi?O+_wH?M-udX4?<{23=99B4QFJo& zgD8^JKE13qDTuw8Jby3jy{L?~|Mls?-kXEnm#^Pk4jKphg?6=AI=gC8-C9!?+m-f+ z5iJ&(=ByqYX7hvs{-C{8f>R!*Jz&NRMKP)ky4)6#7Es~f;*+00p8m5>e!20#{@)Pv(*nVh87Ke0FL{XB zyuPG65RSS`SiR9~z1=%&_No*dyK!@QA+-=rSS703AF*{qkw%K9La@*ojwB3ZZFua! zaZ~l?~bE(w!z~JQ|H<)GXT_9xsXXC0ZFungqKsr(%O# zW?gBS1v4#~a64}mWX-}%$|yprf%1^a4mmXx!u{6C4w7b`qlc}*NEBfi(T#9~^w@DH z>9yId5X12Z-7K>}cMGg!A>BZH>|xyL6S_lsEZB8s=!gU&=E;tnxT0&%0iOU{_)75x~=k&(q*W&Zui?^okyIcB@ni`V8f6oM)SKNwbznm zNsy4yc&I=QLQ>35jda>cuj;f|2^Ao+4%hN+&gr77W7uVt4Bdj72sesgKxr_^A&prp zt{@hebXxggmq&YWm+2uYBQo%KjQM6FfiX{d@5L;J2{K5tO@j35uy%5;$(?}}V>+F_ zJwD}YwjkGh%)>h(L}Uz3B519*&bs2T(?y;9u+M~iCKa>B5;z>ha3tU|*ujvqnvFrF z-82!BS`|6jMgRyIYbYKiI8MT+;*x47L!uKGFO)!7#E2?~j&)17XLI&xO}9983Ku}q zHH~evgNoJd)T~xx4C9IoXH1keVi|M>oHL3suu0N+ESv~g)dJ^&H4NN%sM}Ud0pYwV zYq*=V^UgT}3UZVrx*^0k7m|#iN+hO1ec8z34$h>u8jw3}N0^p|Vm68MC_LRT1-y-N zM_%^Z5gHB#5EZhDQl){r!;-{_oe0#i8&*OYm=V8!R4MiRo_VYZTwKbhnURK$Ad#po zpwgP+nzoxd-9a0m1j~;)4vg#Dn2=dxh6tGvF*{An+xanQ8Q7A5{hikp-LopU4y%iE zlSyw#sbh-T7Ky?b8{#RJvN4w;8TJU*Jw9TY9u;)E7aG>xZokOT5)R=cWTFU*XI2^0 zwk`v?VHxgpOuU|OoKYjhEU%~z9mIvOV)2gOB4IVSH2|c9z^K#G=%N}5o5w>`>9MJ~ zu&7n>d(-2m_1Q#sSS~vkhSg&kcRA#tSC^Z}&9G9db*Fxja^XFfoo*mAUh3(k;gBt_ zdhkGiElw}OIjoUooM1(tAB1qBGVD5REz_v03B8)v7n~2Dl;D+s-S2dcPDkR6RiVB$7#^lKyB=%qU--jmd%I?_ zjh(}0rY%AuZ4Q}uGi(gTYp&`TU%`j8mO{QMnRJ&8l8-nf=<^XKZfIC$#OHj_OKXwzr7*O3@6HeSMn(3_n?-IvA>`Dc?gW9`jALf=Ku^^) z&Nb~Dac9!|sj1v|SJGoQ#_e0)Hb;v$EaDjiPcfQ)*IOJ@7R2r}jRy5u!gbP4;%!>k zvJ_)2N=DZRtzLGQQ>fh^E!AH7;|a{&ZgPm()2k*)s$fch+hO9G-KnKa=|`zCwIna*{7O#5?juF1r+U`FLSY}nr zSzB9vUpfO278+;4wR9yCb>y8KC)RJq>1H6*DdKKoCfTajIJd*zzEpfBpiM#=B`R+} z*f5(94KkU&F!+{(=(VPy>F-KcKAC;raaQXG!Wlc{(N3^n!Y56$|4^F>7$bDlYxm}6 zq+w4Sd|(?BW8T}xd1^MMos^&{PT{y_Wgp>>l?4)74}G&N1egb{#SvUQxzT!$F8rFt+nX6 zeXzUeGmR^x0S#?aTHAL~Nt0Squ6!Mve_(rUY11y7)_Rz}JPE5^mpbUOv#eo`gc}t# z=D&T;r6|ElNhXUg*MFXelJCXOet^B*54ENe9$Puh3EzaSDy~o47frtv71hBEt-)_J zHoQ!mE=wf2yr$Q8-z;MMJBi945rux>!q0~Uwqn_R;=CBOSL{|vMe_90fIk;Qy1k$d z1b;@b4S$zdj>q8^WfSciP7dF-gvUOqRBU5jx3wxGEh#kRZ7E(${{op^wtl-4!}Z$6 zvQ%-sQtrY76Sh4&%QsMx>orkjc7gu#;L}gr<14-sAeV;Yp-ze`!#Akxi`t`wAL$$8 z_9F4T)ZbikVAYa@K_BaSv*Cg_vt|9;`l?Hzor6ntWRut6)5>kb4^gPyOg55TiZomN zys+K>A5pHzTrMnF>f7UpcZ6Hvp)^2aJmtxqzg7JjwR!8R*wuUQ#mK_5kPBiXr$u;?@qV9MZ%=;`JbB?ulTj{I zXK8)bL3bFg;0WcqHcgE75r#;WIeR)l_MKt?@XwJd+d`J#V{51o-pq=bVyPSw)3owT&!#f5y<>keYHE{5#680A6zESs_>OS>EE-%+>xaj3aLPJX&qfX;*yF2J z>HbfeI|HjPydr(>SMc_VbIf*X;{a=Fry5i?<6v7gt7*w;-Y+^LQ}I4saPde`^dj|! z%VbsAlISPSZKJl9eXp$-OY-eyJaX!yyo{+*RquI6|?$SI@%uD7JQ!aF^AV3H?io8s(Q!k?VWMK)gV=&_|c-v zFI*ka(R7mfhRwzduBh79HL2-C;qtsoZlvY%IrbmntAnA;Cga3$(e++~SG<0sXI~$e z+WIKA7Jd3}uBdzizUEDu&7&#alY_MPw*2zQwvmhuzB+e#W*{n zLm$N{Dmyzf;C|@e`6zVR;t$;mH@`EZ&>(Y55SW@1-;qWnu0T*>|`Ogn)IjfQsbQv4qv!hyx^~?r#7aIK@k4F;; z?2B`2=2w*`FAqsx{n=H3shNrqC`WWn!`2h?VWyd~t(%ob)wboaw9mBOl=Ee<(Xg4O z`(3UZ&BiUCb>|{B``7_M^o>WKGo1;>VW>u={i>tWa##ghVsTt9aPagRT|)lp7U`mn zwrbr#37)d;vyO*BmL0Zm_qt*_D-)v+#%+NPQAuXNw)sy&cz*XRa{HZ5Ezh`7vl4XW z8t$@h=7##amOHUjyKcLu9i5J&q1qK_s-e0#8`+A;D6NsI6qodp=Qj6yWxV2AJ}4n9 zhD7mdW9$}Yb=hj>JejlaW|uKdGv|~{kCL)5l_w=`NtUn7vjO>%x9ij`qIeqM%y$&Y z9yvciZMS=U70!F&=MFFBp~AvIRs-QS@lwQQT%6u3xR>dbz)Mw_hkbKzFFQ-*QM!6L z#Ao_llOmB$Wr0FD|7bZtH{86_30iyDpUu7%J9*N{&CFr{W^I#8VgK-rEs}(kJQnlN zy(qssumz{|J<2@V2ywFgIr3ycsezI^1-(M6x;DQxB5EzH^q1p-nJ*GN;V_2|sqC0x z&4E!Qbu8Btr`g#9m%TDJ5(r`WBb>GZOVAocqb&<0U70hR=MJgNW@m;qp6FYFxiF`s zPFgDAOuU`8?iwXHly+XYp3j+@StM`qbctj<&!?K@sf1jho$j&SIBv}1tZN9BG1jvX z$OlUn^9S9!v+F0UD!k|2X;0m8{Pt+Nx3YdVrtzVbFcQ<(1n0&ev*u{52A}#&UEW|i zBv(?!w5_iAEsS>KnstA8i90&=@hwI)6P5BJ){TxWd5;|mO4W7{B^B%~lY(#YMa#>^ zM?RAxUzQ$)S*rk3%0PTlBbtLbD~%SLR%pYa3y{Bn<8#qDfZ5trZq)uk%>Xy> zW;t20kGQ2ft<#F2u0xnME{)||BIAUQ-Hrq&I5b1I21*`Hv_&xb%yx;)Ly2O(U_3N6 zP2=VaHqF-Jb!)=hpSf!KQn+_#D4#yGO7=mypG^?Y2nWpLw|ZBO0sk`@+Lk(*W$$H4 zh&c*YtHt9jZxc5FJ^kUaE!wMHrcCZfm;0K9*YD3>i|w-S-q4})=CM-^<_mp?KMY@% zyx2k(KCbp%^F60woCT#oOZ(!sr=B6ZJ6Xv69>na;(4^TFq>rukQzXKjNAucaVc$+` zTfUjbjssinLJq9}%SJGk-*5WEsX_&+t!}!QcBg84AB_kVNmvGtE)-(N!dWP_KY{~&KHr}Ow zAc=sHJ>T~??W<)|tXT@UEPCo&G3l^B#9llPZmimVUy|DI;~)`SIs-%92_SKC6&@FL z+Q{B-UIebifUS|b-hl$1hNB_|;wU!?Dno&I=x$g)LrK?W;>TnEROrk!=!}9$R=9vh z_^seIcDb{(s(8vZWL=>a<#Splv#cjapKmUTyIqX45Z-bVnMYu&)9@duSt{(3)IINv zy@67f8Mi^c&BacIUzbNmRA$v~CTLE^6J#41NtRWftD18BCg6aBX%ikVYQ)lorVY_%LEMehmf@rq0 zb>eYjCmQdXFwEa+KgRdEeV0A$+Ar8Nn^(7&g+ZL0wboc06$rz4p_R>fWWRhkB8Vt; z)eCzJF2E?BI-9XNkz#+^@8w%LM+D|`_km@1+d_?&V4_!|MWYq)qHgj{7eh(A zf-}S3J1<*zi#^5j*M$zS z{P!ykRCQn`1^)lodb4IplJq*v-D8hjZ|2?W*4o|G`%KR?fgxr9LI6mSFq#OOQKkp! zL8d1e^eB^lke*~RJ&~f3A_aj22mu3NmY$xT?&|K^@4n^|`{M38pGQRItpR(cyXs~} zgu8#=`OZ0?N8XG*F&{W8wVXx1(f`#~KJ)G^Quj;mgV(*S^xB)u?&+=bt7Ub+w>kKK z(t`mDPt)_@e!-9JVQ@0rXJ@@hknJ1|uSWes+WliuPJ6?zzIHwT_p(`ZG`yGoWV~Bt zm-g6QesX*|4wlZt!(h*HtIvY^<8pDFY@L@6o^Q++H@_ROi}869ew=T7Q=V;nC#c6K zpWR!Ye`3G5VUY@=WuAR+JhQyZkD{@NWYQmTeIY0LSz!-nXPy{V_v0B$Htn$!OV3~4 z1RKZBl+v2^PM;BM_$BvtS)0^L^#@5ZL zvu)Lv_Ea4)zjv_p^5kZ|KN@~>5p559qO1UR9&^vTH@E$l6LHT-IyT%-u%t{&kqA(J>EVXTVINPxPMwl_bwcN;9OZ(&!frv!Jm)q#~W9# z-SL?fa5NfzG#EZ#ruo~W{?o5#pZ=q(_~i@x?O-r^J&rEKox4{{C3_n=i)O`W|2)5N z0;?()=lZuIJ?kyYl7HyBH}zrl*3MS_^sDTLnI0_0Unl9un@5+w>MQR(6P)d%jiE1l{{Ziv2n@p4~A zdEcV;CK+Ynhf$d_xh2l4nSU?;JnZ*Iud1{3AJ3x2(yum?+<~L;gVG^ z-SInf_wy$|c<>}Sczqgg{tml(dUJPce3>~Q2 z*F{|&?d{53Ci7r#%*u1$U4c#7jO5} z)lE;oduEkhFSe&w3(kbIeDESa8gB*ml?P+`I>`BQ@NRUTUETGszZ0E~fAYwF`Cu7L zUnTmEVjrC5=`4O*KPsLcv+?5~f1RG``(Zt~PR57td=YrZPU#MA;>kxpK8f#*Hv1R# z&p-TwtBvEdf4LDQd-I7tO`>!h?xf3muNKVPvI23DojmBx_}AX393`)(Y&t!6EBCFz zFK1Qw8yhEwixd9o*;b4$>$(c<>9upwv!A@BABp^@r|GA=`C%FF`TLdsbro-pt`9c9 zOult`n-;U{)4d(tTMkA?r&q!6moM#aNB;enQF>~B`r2MTnM~YK95T5*@n3t)4kNJI zd3iaq9~D1QNj*LOU{vsDNA=zxZvA=xDjWpwU!Fkix3Ynk{!$#w?hHOV+4gc>FE(Az zs>SkP>$_jfZrI-T;%viyUiP9?j>>%R$-#lc`e&!V^~*fo)@ zvbtBl-t~6xK08Sy{W55JS?_(B9Jsl#EaQgY>{+9oo`N7D}lE=IJn`iPnLy>>( zJ&N~U>Qu!?A8j3l-=^E=gAJzb(V{;nUp_e73BGyw%gLv?_}e7tZC+H~>7&<2^1ULx z$p$a>?YoX83c1`}9*h=#@VcI6+s9vwEOF=Jnr%IFo}RHEsKam72cxU#S@d8L-Ye7T z$vl2M&F}we>1@9JB8r{gxV~ba|8Q;(Z{j3~Pu_jLvwwQ{?uj>9?7kRI#^J?8zViKR z=Erq%|Ia?2gqMeGzO^s2JR26j*gyQ#J3{xEKfU|1+$`#Gb~efQ{YT<_`Sag?eEs&1i(Y)-&B}Ok zeDU4Wz2#@&XltJJuQ#0|+jhTya@f=3!>xs-UkurN(6`vk4pPfY!$6-7dar)BmilLd z4}>*%5e0o%_IR4X-{rvx_5ZL*7b|u zkD~ie`Gx*~zetOFv&hT$XX#)z&5Mn4AdVj?zKHjqe=xu4-ISwi;apZ@`+6RxdsDrv zyvZHAn%zq_!_TM8{Wi#dX>DET*TaQd-EeVd5_^MC@9!>)?b@$iZq>D8Ke>GL)wFl% zpC8{FN2RvPUB1X4Wp?oRnciG3F67|q2VY-o{Bn{;&K<0`1$nX|8O8OF&NkjqBPLh6gdcJ#dG1zABoQQ|7@0|DdBR|_J zgm+!DL$_dyqmh*Ne`%@G-LjARVf@%hlWjlJ#qiY!?#=7sy~XU=`TL$!#qPyca5nb8WcJqBPG_5gMAZvV>tI<_m%H)Qxu>6K&w5uJ#Z$pE zek`oq;rWFOa{10^o*YgX{T_|nD$gdT`};F?B=&kvU4OH0UroM#=juW7gil5?*-WoT zOK%d)J^#`_oopW-kNX81K9N_0{7R?3~rT#RuQa?xuse|~z2)J`HNPPcjP+z>m%dB*Etr>}*54?r-`V*OynL{QKVQDnHwLcQCiarQ;mT zK6@m-*;hpvePPL|&99ujR2P0P+0w^**F&pUp1yy~GnTyi-q?~)Lsj~B@_Fp;GMQgx zN&ixXPXD;r(bmOo`23-NGqU`BQ9gTduP;1To*hmjN1TVtjh=t4?;Y>4`Nqt5?c8yH z^&nC1(MBeg?t{x(_Okg%yYX(-`>J}Rba69gdeXm0ok6ix2d`!uNwj$$yDzq9=7ho@yYzF}pFKHR#B>dj0!>HX>qMsk317$(UbE!1K@xr(GL z$5&1e%x>z<=|*0io$vPg*6i76>*ZeX>QQ+!7;io~So(KPNBs3(>Wpumis|uqmY?!R zH`COvv-e-^)$`Y$ztJc>f>H?Hnz9@`K&j{ucz03Wm#AD?zO!Ly|Q>)E{0xhANyO3y~^^p3cG*k zm&M+7lJTv}{<5z619S+%ywBw1a$Y|e9KQ4Ha=#juRaTbQBUamwE*E#d>TeW#M{1ZJ zFCRKC%j(MwH4IJx-+`PhIlEV0__OKuwWy@Gqh9nE#T`3&@93|8>vc6MGd4KocV3K> zV5`j3v9&)wiQfO!i+9v$5VTY;mvNmybC%huSSQuAC1n+XWsbIvt7F$ z-srJC*sR5ie&|#|Y2`EJOYMHXF)R}`&Fy^DW3wP(52NK4OG|wbq{F>mG3UjDskl^S z<>xi+=y5`x?B#j z@xix~%Mo$qBswb=P$Uog#2g7vX4Qvpx=QtbnuO7ITZKYrA0ZT=%czIA#{UMpTu^Gnr^6-69+NQMMb+ z4uX7CMf3N(bdds_@g06;3#)XTrQ^)|(zC0;y(ok~(${%B2&Yx$6_;wNFZ#}Tkmo87 zW_?Y+&oz#Rd;W#%+IqmR1UP}6>$-P3tGzntr8Re~ok9O}DMrCS$Hj$1bD3+)iY5b= zrM;eF{a|!j2jW20hl^2h;XAHc)J0is*RS1!XxzVycY8%G9nBnTQS`IdchWRW7URu) zl&PQ$Wmxn^%WF@b3D;Xlwv6_@L$A(8RypFHBUGi_YNXRT?z76F?@G$1?#-y2$<6-d zy=V~(y-6BdyjF1_t(0WuoSZdnd}{Nfq8_@iOpt3(GD_{xawl7xp~h{oboVJq%G^r!{g}_wT8n(S`y{r8X?<{^{l07Q4ORC> zr{x`4W%e?U?fI2&r;F_blDU!Z&1B!*u)OfvXM-foMC8cJoQ1FJoke~Cl@?CLCT?AM zyu5SG)XZf`o^8juwGe~c&BDz(%Er#}@q7lLx^}XA!%zs7XQ@0K&uY6acf#Y^s&`^5 zAMw(a3tq*pqeU#^Ip0)QTXh(elVZ!)RUVX?Z!MLarJO$<^r{3+PQHiKx|ZeSQ!BNd zZ}TA`gU2$%!?OX*s-)kUb+5!oEM{>9bPOq^;q9< zS1x5wckDE^ceTZMZH=Q#Pw8Q#7b3TKB&TQ&DwbGV>7bXCc_@RDxpUzqj$^aP(_+SQ zXX2EpOv6eBI(8TwS00bcRCt$al7}qYirwwF(n47FO+Jh!#i=J^fiav?x{h=d8jGH5 z&#Fziv}4a7rLpKQausAASLwvA3+b_5?=qI*IJ~L{%caAVJ3gEH{#@3%91fx-+ftPi z#$$${*sidGn^~=L8xYB@NI7+e`bYkkn6Z_Xj;;e-G}KqNjxym5B3GBPXG{2I$#&|< z>77)YGtr+73(K<4!k%4On(2N~EVe|=l3C`vGk*|8Oxhu{{BUlCa0S+Wl0)%wD@9A4 z*)@G>#bQ^Nv~a=3%RU*3R=~Nk^`*OMJAu9~J#krK!h`avaH0S& z>72`PxjFM-nBA%usPk0SVKytgYFA$m%S=y#iI-J%IAukVrB3N8nN~?w0d>Nf_;nB^ zQ@59UG9qbCoW;B@JWG^lU(XR)Ib@+P+%glPv{)Qh10+JsQaoX&@pL?j zqe;nGc<#E3LT8Ee=gM^~R)%%Ct(2~PUVGB7xlZ`xCKgJ^lhf4puer6s;16YQP^g_G zapRqt@a+Q4+}!ESovVPQ+dIfvvN4<{wSS?i-eC7zNxRZ-CsIkUH4`jYNAsf%&$Es3JaCFj#n%12R?UirZ`y#CgU%r&knCIVhogY`iQu&)iZo&rbBsr~+#$ ztvqFmMD?t~wv$rvF<3FLGgQYgpKG`XCn_Cix(k5oS`~I-4QJ&f;oJt?M46ABOnMcn z*HVh*@rcg@Ka$%;x;ytZFCD56=|rrLv<6^8C2PO0vuoe-2I{7;95=VC(no>GU4It1V2E7XR+8(Y*eJ_oQ{c}prs?$-Ta12BzXArGG`Frx7mWw^ zc?3xrZd?hAslJ+x-6V{zCxg>121&|fk!e1-M`y)Z!9$ zrX2FJ%mU>EQk8aCh_Fm7UIbN*;t7&!T$(RkE`7;z?Q3a^vM+J~8OkeMG@HU(C@bP> zD=ZTF_@tW#u3iF{dZ1;(Y&RDcPK4PAGE{PzD;4+a+T{#Zn4?9_<9?~Vw4Au<@Gu=` zCES$)2f{BVA`DWC1y(*SXO_iS4^hUlz-&9flRVt1>~gDUgVKscVzVbxFJhPPO*qQzjIj~6Ltvhs8xh8A}gfwkeV zUareH+fGxRM}kM9E^FU*D%)|>O`i9i+!?Smb-0f6uwM2r0f*|w<*sc>)RoU|9$T^R z*v{Z;&gjeA5H=s3jsc>=NT156%~ zwGF?eWwGqn5`Sh%e^y)2Jzco<7>X8THcnn7Q|E-Uq8?t!AQLXUL=0C_F&~5!_mp&s zG`DM*SBND?BgeHhOza(Qqz<4~WcNTRM~u-x(Er!>vn^GCxWc$M_5G zly*@$8>!{{s8(M&z60FRb0uTRrl_nejrzN2wc^C_O98#%%$A7d~II-Po0bts7t>I)zwREhx z5)j5k0D}WK)!gNtmxWddYRl04SW@A&MON`pg7KE`6JUQN2R;q`krBAzzN& zG%l|^yRfycIZ}<#1U@VvL@5Bu6IF4?6*DPIE37l&_fYI`=Lq-=9!EHda=a{O%=H3U z3o8QqO@lI4E?2ySjVw6)JlwiwzFuUmmk+qCp})3=zN%0f{ezPffzEwq6=~07X;FEb zaanULZsZh|yVSOWIIy}106trTpF-Qxi*Q&+%vXFUP)SmQH<+l!JPQT$Jll$`qV8=- zCi6&Pm4&*pOIGF16gpGI-l+B+)Rj|}MGZxfA_|>Y2k0qs7!1FVfd}a>=(osX$+h%R zcME10Q$NvYf^^jn3PdLfy-Jc~Y4{e}E3}l9iiI!=rSi(UhmNu0g2m8FRwG4P>p*EY z(o*+E6^{y=)o2w_tU(bLsV$b0ZB$Z9pxVo{XHzaYiabK!qU<8C`qEMbRH467Ah&&< z@zBO96_5Q=$&we5SNL{VC6x}La+Xu4wvAcX5HpYvJRc@omR1o$8Z`Ja)U20!&e9ec zrpMSq&F!9D2GPtH7;TUW4Q~umRe~Neh=R~w%?cQKz0G(j17}zyzN~_!tdMk;!c5zx z3Tt1*J`VxMB@Z3Ar`VR2?au4|(kcpH6)vy{auL+?a81|aZdwIVi9{(Y6f%Mj#F;?^ z?QopR-0!LyY6$=MUsoF0QF9$kM=mO;-rOiB;NmMs|-fCa((D0}32YGzZk`+-3!03kw(kXbjiElpLw-3gQ9TgfVuQE};E=3#ZB4 zsvWlm2ME4&gG5xS&Rih_TSHAPq``$emAG6=|=MkcqYvk1{k}|VAF11}b%0a`V6BtXbeFOruR#e(zo?m383zpU~$-a|o z7h+Oj6fHt8ix5)bMzs^yswYG(D<%T`+vDJRT+2~WEiwcKuCvaWtN|;m#~J0ks%>B; zUnn6(1*;5yp9Ty>W~23hppfi3tE=3yyrp0nLkf8q1+HgT6?#(} zp<~kHGp|H{SckbHV55ItR$2s(!(!M7L0|9VGASeOT7V2%1Q=XNZXNxKF02r06X~83 zo?B6cf}v9sn#2ltpenEt+%9~I_H$7oHP8;op#rBNvNcEo4g%>z!zEyTfESKyRNQho z9Ba*e<$9T;Aa!YK@d~~qhb+22D{mZbdjMEZBkrMJD9qojqOA6uq|9C6fLL_yA;e%A z7ovr%yRy;}wCWV_OQNjmo~E`6R@zpfr`-kmK=?gYa#eyDRa!WRrqY<-2*i}vqTfSn zl=PV+BM%*yQg)bDOllw{^-zUafL(y{Ay2BRgESf9O>V*83RXdhp~ac@YrtCyYUrSu zSx>@rqwP?xVucpk;$;lg4?w$FAS$cS76=Z72ZzBl`q$b;Bdv=O{G@_#F?h=w1>n+? z7D^Xtr_qoCaGn<>XqF^|uGEVAFj$uDv%K5N3c~l4+yg|vbf)!rCSHu404kM#3P#z1_ zxBBoOT+|Gpk!fX(dFe)ogv)CM*gK#LDh*Z^=on?q0t{?}wkiv4r?7Q}Hq5TeLU9(j zCHj!k1<|s~wtdNSbdjRc^k54Hgu+l{tY-EwU?n}a9>iJM^ju@kK((m;9QrP7bdlU< zmBRv58t@6Wl&~x%40g!pa7?xgO9dn5_8i2T+iAgl&?h61Zx)vk}OeQrVLa+Uk8 zvi+o9)}HMPo}>8@zCc466ofBWUN}k2fjjU73_YZ!9ne0+u4H_j&mHGXm z$Q_Fa!wtEtfOU8)4K1Le&y(8YUJikk!gie;GlvpD){$H=f&$#oXiAB8n3F3(6QK)f z0jZ!WVaH-nEFjWemBw}G*(^sdlxapda1d->bA<(=KsXY~;X*WN09t1c#tLmes3@;f z$3?~y;3e>i8cR$wcs4j6=7$k_I4Of`x9z$%D%0@xr-5M2)N zB^k_4o&rz`HY~6?+IfW*K)YEDMlUV4%q_^2gu2n!br)q|*)ZeWlVwhstTa8IDFZ{~ zg=>pImbQXnL7UFAj6qRV0YUYlmx!JQ^I8%_1-k@M(%=-(NnTZn3zLiX9290-0=+E+ zQ42poJW!#q6c%;2V38WA_R#}_;-b2bM8#GBXynQ&MI{`@>0~sxsA)zg(9iVU2%tCk zXR&0ig@g`89i!$g5P#`aFaaN*`P(wtN@c%Ffa5P|7PJ2KNDF`&0yZ~i_V22>8OxKR48w}78ungh`8naklTaHy`AOZ*e z3lwdG8_;QCYN)VMIs)@AERu;DVhzoOHG^b9OFSD*0(U?>sqG@6;QqYg3=LTgHx+;a zYgidjSH&?j=-kEh9gRR~0ZOX`J!ZXBkOY`WAXLyJO>273!6Yirv8sjb_=$oG(JIBr z4o(FQbF>x!Gh8B)8vsp~Qse=oRpdY?77R1TOR$fGN?Cxl1-gUjb?Li7L{Uo^Q&1YG zFRUo(A$^Jq?jjXn=~7x28rF;nj#FRVCDSB$N09`tWF`!)+ zj;~~%(>KsUbg_75OPfPV!8Z(RLu9HL{9@Gw(I3*u;en7NcoG;S2@j4aRaMEsrU(uL z6cG6ep%5u1tKC9Zu;T=3FoyQv=?eNTk+OiN#Qc4ZG3gl{T7XxyCUb=q)Hz%t(G6h1 z>Iyy@ICOA990*u4ZNc+MVhXx``~l>qUM@5a0>?l4?eR*t>Jq>JU{~6KhC~Hmz62mi zjY7##4J8tZaFS_8`8(i^63VZjtw30g76?|zap0tC>C+`J1nB|Qw{i??V?~$+0x6(V z^ab3hOA5;voCCs%ZXQ3vXjt@wjk==0qb*b(AYOu>kUlsFqSz9}1ZKm+A=&_vW@xu) zF9VoI_vqjRiB#ESvmk6Wd={Dl(78q5q>Y@Z+=8Lkj2GKf)t`g94nWl+gDgU+Ra)+s^KBP_cl3b&@fa(ORqxH zSYv4(yiTrt7>x|t=2PxXK>3DF`ifjem z1f8MZVW2Ef3Md`uL0LLzrHIC;E2SGIKmk~?!ja_5ZJYX4^z0ZEZ5&R*>WdT|B!ch5 zypZRI*DYZn6;6e9E+Wm92bbsY8z#EOOu36tdfu`&hgMqkP7LjBI^cMpT^|E9Is>Y*C>(M8+-CU_h>vAtZ9Snt+c{AxNlbhU=m+b28!xMdFI$ zfECAhwW8fzbd`iTyOt?RTvO?y_MkNkD+f&wTPl+>{2hNO%=;8q>cdbpG%&mip+}V# zdPQB9LJ;n$J%X$=N*>S%dLdu~vmkB+hpYtz7+3+$Y%1hR5b=6K!pWfikQ#6#94%UU z20fsHK>t(HO+%_INE5mNPTRSFVeLo~c}6i3g7`tvjtUx6=HUm;$`Z{Cj5^fY1}R~E zv{zIUAkeCi-3I*7=$IQEm3b%u%1+gY9C|iJMFPrzgupw%s%m=ff@{%E3@*kH~+<@O0BbIp&rs*c<2J60S>KApE4yA=3;;Ra(;%?vNPUz)jO`C>A70u@G?l z6%}Q=J_kO{au7r)1*7K@mV`O{Ods|@TZaE2a+NSiteh#6=F(W5VH2HV3v()U_Q zda{K^h%r7u30n<%t4jPFkltcuoE|5EW)^1xRwi7aVGBQ@(kUCbC>BC464G8WSu4o_+&IMoG684E%C34e|CfR1$q zLj+m^i$N@)W)|h8hTc$T1qsn~9$I`!>}#Bci#C_sE(SrA(Joq~V3;ep7RM+ixjgBF z03uliPPn0G$QVzEKWav*TnPh9MOA`}nrA1%#*@^LNXZQ05EVH_K@SW;%Rt+V(3_gJ z-T)N%Tx#nXa^^C+CxBN4X;VevBd@>-@emX$@0w(UgTARbL^F-)f}*Hq$xqRrM1j=r zVe-U?KrPgY`YQw$uR!h<<^uS^>Jfw_fkM%P!huaHeYC)WJQQ3VN4pQpO$ARI=$vW? z;i2vYi~;BofnoZD=$h2Y?5xs_8tQxiUgR6lqh~vS0wI(ryc$!d{#(=TJ#q#%LMqUt zfppNbX!9fpIVb~woT;T3wU1wCm46aqI&cj0aNxCH`=_o*!4La7sh(a_Z3qVOO@%%P~2 zrU*#KY|}(yj-VT~HOhci6Xnxm)fl-xdZdLm&l9DQO_xCXO{hPNL~b4lBN!-J9^|i3 z^!Qoehd#6@sIsZUl7tLNJ&Hv)KItYenjpZA#2a8i%~Fi1Ea_t;xbgm~aUzgnY7)l8Qi?;6g=-7O4Tjl?0tY_%zmEF{1(0 zi2=v-7OaRYX(xa>ITBAv>7#6K2QrvghG-2LSv22RWt!b zIkSjiY4ZVBv&|D)MMD!cby&b0*%^{eK$UPsHUp$yQHzh#=j7lOE#0E^0ge=IUXheWPv4no1wRKZHP?KqYXuK0pf1@=z{so z6b?Xm>4QK9J6I$6T52K5%uyT8O%)n$F({<3q9!TSWC@5;O7j24YAU(}GlFE9AvrS& zf~+g*6fjlYFoQBiQ#IQ_7)6?Ki2jUHz&ugBIV}@5sUi+0h7!b=iguzXFpMfjnx{5m z4#F}UBP7_8)bR9YhYS0+AA{15Btr@_^9eie!$aqbNO+M3cfo z+r0Eu^Qd?@i`r}oV0p9x5-iLQNRY&?lwyk@O30;8=1C2}C~78&cSt-?BnBF_X^QBB z%}6uFL>ZuwrlG&1g&8@Zy@|$Y(+?8X5aGskXdUFN$h(4 zS~yVf4Un3O2KMN=aK;K6heioC;9-q%kXVpS_@!-KN%Lg1*G%i@)c(*2#4E^-xwk-I zs6ba_Sr|8t9MT3`L|%hF$_NWf1&64DdKr-rsEtUcphq_;Wz>eAXH9@+RKUO$i55`{ zCza6j(GFviaHP>73K?}@L_6e$jiaJ^0!fOdhbNw+52G4jYnl#i!_Xi|7VRz2ENQEo z4$d2%R!00Rf;Mtx5>4i|K^~DjX})<*tVL*{Ej2;i2(`tM&NqD?Jua?s540AeQBY4! zx7N%QEy4x04ipxWEQHQq17YX}+3g#G2~hbbUk9 zjizeHCisw3CK53pPar2w;bY{^(CLC6&^2M!22c*kG;LN25;NThySc|oJXV_;pgN&2 z89Pd9Lx#?bOykhPi9tsIlvW0}#hVttMdb~k35h%^iJXurgMp$S-y0B$p zX?l)!4UIC|*}pIZN$$u@mAHp&jj;q&3yN|=f2S*QA{s)P zB>bE4&1#6{>7rC=c4N;epAZNzfFUSu>d6EdHOb7_Mzjt806TSK!VL{H_$I&u#ilTf zpGERo)KLYSwa|-XLAWV*CYtkz56!4Fpft^pHl#^}Y^H4@CCPNtEX-@Hn*dQ4$q0qs z*k$VX=*|l_Kr;y|%=PFwr!*$j34H)tHzU&P+OUr>_@``Y)=D>Ps(>z}8&hYtvrKu@ z?2WWht0O61Mqfj%v7BFEX8qiWLlk;S{!Mu^;hM60pFg~eqKpkKk z_97S=8zGHl(k6gi3XBCXmV}6)5pT^Ko2yI!NZ`%n%_3SVZ2V$_Bhy*6kF9Q$wkbiu z8v|urmNJNt?YrjrMyvs7qwcziK5MzF;U2oMGz&38W*i!4ZC|0A3U0NcA(N&;srg|B zNVIxmR&|pivqI5|Ro4hLfoihB8*S&!A<9IDnJl(pAs#UXS~ojDh5>aWZ6uwd$+ekp zTT7j>q1c-+w@Tiw+618)y&c;8LFC=oe&Yt3j5L{R*4|WZ%NJ}_#jM$r(=AD`W}Yo1 z+J9IxcVl+ULK_lk4>#n_8icYo%B=mTy=;peQ)x}PQ7h2!KWnzH)%pK=uJyICMnwBpSMFAG%6$grbpx*C3Dt#yymKe@8&YRDK53TB%>{;R!|Kv&31xl zlBYWl%bE=^6C0+RHqOMw+zM?9o}`MmMA1Z@KDj`Nr~jJxHTu%dp=mx%)TL?}#Gs}{ zG;gESQe1<(Chpx`fW{=K#*Z{?YK)U=I+>QQm&5F^2CO^vP8f)m1o8mD3*K9g8 zB-6A3Z3QsZ;l}igG?eTpR}cP!Cy3ZMqz@ zkw!|;)iDj+)PY&BVN=l8M!zTp)UV>+RxiZo_anl_g1xis&t0BfktY*{s%-by!}Obb?n zJKeI2(HC?3LpIE#TLR*pQEo5W6#I(lS~}&TZDE^WsHP6MY8g|von=G!WILMftmzk; zZ7S6nJ>3=*1=<)_)<|F@zKz@Dt(|SAv?6}vHJYIswQeM{;hr{Usu`>CA`LsUm0uOC zlLFn;N29AoAv)nVb8i^9qh-~~R8w&+@`Y)KJ2%h@A=hn7#oG#Py0?aJ+apc!sy2vS zx58H3VfeAJt;~R>U8tFgiK&@2Z!*!k^NvTFS)0OA#;!Crs?}L;ZpJj}Z?4op%IyEN zBHIGLNegRzMz>edP*GzLShH8x5Yo!hH0s!a7W6P4bKmu?CmT{f#!_x-BW)mcGf;x&di3(K1;J1_Lh>1XHxl4rrU^)=tp^gt2`c zQ5gkMyi;G*aM>*sa@~fb@egL5-L@KMD_hp|L>-m3;@y=&gRF+*n?#vRcVj(K#a*!ok#76u32M)dEM?ZwT7c(7~Mj8-3>I`_=c=` zt2(OLgVT-WXiz1ZJ36c_=XRH`Sy9)MwC#y*x1c)yZj^vGO;G3P%^Y~kAYGT-ImWhJ zS}row(Qa*-ayOE~TjJCW<(V`#(#TtWW-aHe%9OXDXqBO3t=51x@*!Hxx1EH#rTk6y zTaRr%^2%=owexo!D>sg|>sncBx7bQH8VO)6N$X}0sWB}kY-**l&BshS(P-R2!+q^= zx&@hTh_9PZ$31M-qBM7Pgk)RZ?SSGS)}?7F9B(B^v5 zGzz+{sK)DcC{w&MK&D}AyBggfuA!+G#ce;{ZfcuN(*`NDU1fHqTbUNTCHIv_VV!(6 z642TbGfCE({0>MhwKgio*Ae0C*tc|JaM-eYCy>qgqN5$w$sp@m`4;tbmc`yw%2iLk zqO=ZQ4P13+lUoAi`gZEn3Q+Ba3R`7obvfSgcqd^E-sFlxTg%z)Cbr8k*W~RoyOnEG zBW+`(Tj!~pokhKx(Awd*hKh9s-SS^Ehc3ZvHM^B{X&}nmZCu@KtTg4`P$};ya`j@P zah=e%Eldlh)`PTmv;}#SV9`)OvpLo3c_Tu%C0=)Z*NWR%V`^4|tIi29wpQtO2c37T zY6+0HN@McDJ0|V8sr?km+9YV*>{7I|Q(Y)^YaCX^(qd8FPFZ`*n=|Ddwm9!ft08)+ zyM4iyU3rV>W|-FKH*(iv-0($5e5$K}m0Gj4Oexjv1g8$| zWu{}C75_F(l-ajyd#k4An}X{cGw<}1bvyp5+jDuN1XbsXTBx-w##j4Utc!(esi4(+ z)rn>caJ61eTL(?Ab$e}Hq#D!I+Ow|U+mlvIx++DzN>ihG>lTf*5bK;?vuD>*eWM3W z#91ra-AvkPuD#g`TAht({d8-sTI{yL(yOk%Td}&8t7f06;~>>-q`n#XmV59)>w1X1w?wfRo?`o!X7^_8h9<#NCt@%+MyQ$S1t-|PrmAaMc)eWLHl&amt z)vdZ~wjQUwJIh+V=dHM}vcyps-uRLqIKtY|Lu5TWsg^(Z`;UQaA-Gi z8-%RRT%}syzQkHp*Sl`rXx+uukZN*M> zJH=CLkJ>I*-`c=yr^(mc+Rk7#cxxfnG~eN~?Nqu_Z4YR>rZ(+eK-&wfH~H84&by|9 zty!tTB=7piHKuM8^qM{1@DF+&DRY_5O{w=?DhjKxcFekBWY)E2orzrimE8vWici^k@^6%JH!!<3=IRDQJK)-m zb!q6Pxz@Q3Ft;Y6*N1d%-)h{|)YeE@vw6EeyN-9q{w-T~#mjHaM0ZZKy;E@uNpH-m zGt145kG2>C(cMS6XKZZS=bu8Mk{uvHFL zXoWOgWjTyE||B#v91W!9n)@kt#o9yo>f%V)pDyc*s3(! z`d`g=e2rdYawLyItZph)u7j+Fa{a*Si{^g<*HyHu$_N zj0Q@pB3iLY6UX(|hF&-St7+XDrhTi~mh5Wg_OWVJO`Vvp_;CgIE~Kjk-NMF-8(Jo6 zUFt0+Zs>7UO}9>OE4xc{x7)i~&8?epdbOH1r)%!&wg;Q7$@bjanO>FG>LPEzZYs} z7WiAI)NRq+9+k0fnYY8X=F(LQbh~igIJUzA>tfBitab@q9oXf(4fwkDT70hvf$3F3 z*{xjY)kRmhUsau6ecYnM(yG8TTWwk1qM=pPyY=6?{_Ue~M}_P4nX6cL>FBQ7{f{*a z+WYs%@?(RrBl`Q1X-;Ad>L-?W;e(r?zqD(!l;h+FtwMX5We z%U8Fau5MS;>$u_e3RV|b!&06o zq~084J;E()sE#$eErAt#cZgdTwO+wlvsE*7JISl_SBvTnXSZkmM(S3Gd?U6iNZdjq zTa$jb^>C{Y){|UQ!V2`=#a3{617mO07`rWazqWjR`^8^N$2wELHm6&#Sf}C^hSnpm zMlvt0_w3$)+#AuoJ*CzE*A;bpPTeaj_jfB&>x=)|30+Ox0{gAQ)-}f3to+)nf4zLz z`uuee-Uz_$z1Lm#R?PoSrQMqJ8-ZWL zY8}SgWw#FT8rrub_C_$)x#>o@l?}aW%T|Z0)!(}t;q5|J!ThyocC~Vwa&J}2t$h6& zmi}&7x*qjS)UJ=Yjj3+*?%eebl*7dWFgj%h#i|Os4um50gW@mMUb(U|3 zekIqpAaQFkx9aB2p;lR1mFGH_Z)RZq!y2L83vcB4_C?>wz#D~hJJ+k^bqnbJ{wCJC zbi9GKH^*4NvrgJA`dOp+c6HuH!0OO74%@|b|FFONk7l<JpR^HwEneYZeQ;|bA|QcZ@hPF_;pm+zxc2I`S+jy?~MKN|MbWIv2S zneap;$0N&flIPb!zc@Xc-JD;F{_<&YFv*u}v^BL~A6w(-G~xLr`}q6Ti<9vF;N;TI zPG&;QmUVJ^bTfE=&Gg3J{HWhgJw>AwH`udcQS%X-&2O+5Sf zt1HLO4qsecUESD^-XCPwi{Rj`d&8=n&DdbN6W%<#;M4DYfAQzv`g`wwZ~x@~`ggO3 zkJa(ftBAg_a9NL?i|C#A!t~@ic2Hn8|#zpum8=@H-32c%l{bt{vYkV`sovS_k;Jtqo2p`OrAX3 z`1JexC;#@VyWa_4eLWxhhrc+=gK6*L$sv3D?fO6c`P@4ET0ML?`~QyK`JVjci=$a@ zT%W)G>0gxh-hOX0xd}e`^kI(&`)^H_@mPHOy#L|7?a|SnRzLWTeti}Tx0of~_rH7f z^Js6A&tD(=o6rC9xtwlX{=0u||I;7xzx+RbQVhgGY}T(|B~~#!NdM}m+rRx*@%(x3 zhwsyO5e~ldqn+cgFY589|NVbA{!f4U+`aqJ2fO9Buk82!!Gr6UJHP+n_1}Ckcaqn= z2lltW{Q9VP_eWbVew_aPA8gqJ@zv?$-`S5&4}Wzii)HV1aq*Tva#>yhV`wo> z9(X$+ZC{>g&zlC(x6iL?U!;{CU!|i5gXLMex075w|H*U5`}%KQEIo1hjqD{)=lkD% z5c2XeIrs-3U;f#%!Q%&SZ=65lzxms{Nv7ZX#~;Pn(AT@~?(*8byqLT_$fB!X{rKji z9}S;}5y@9lr_I(d1Ijp^rZXtowRuT$=2w*|KgAKzj*PPxhYv z#mSxD{jR&nxaZCe(~Xg%&R;LwI~&>Q(XzOVC%yA;U(VRZ!Op9H^|Sta!>2!fp^EeH z?`?ha+3Crjy}q+^`O`1>UjNm<{P*>)eDTf8rzigV+n3MPczW+((|!5V`MrS}@?H&1i{?0oh-G1PF`?IUP-}}SClf&(|2Fe=kY&xI)-|>eBiF$Al zKe>MN>EI^XIH)-S170{^qCS-??}3?d;~2 zet+}m7mJU6xLroYEHAU|fA~?ajI+_ZTZcz_bnmT=?EL9xHy{7N`Ky1G{j-0P{K?;_ zooVmUfBpMYdaS}mkl2szxyho4zWUPs;cxU0e{ufcQ|HuvH2RA_xn||r^Ha^U8`)>2 zKMA!MY~0;E{`}Hy7*?*9ClD~dBxi^`A{(?=nfMT`(@!)5FoAm7E@%;6F{43`z z?|23sSR7t#|6psjP=0Uz)$87F7$2SQ{=Ij-^O^PN_x{O`9{ShUJHPcfk9d4IbMG9~ zpPzo`pMRo$@|piz|Hb6#U;pH)Hx?Ja{7UZVpZ!_(S7HpjIPaN8>9`^H%LAS5O}=%5i@q_~J#MKUMl2tlcI+|p;0OpH ziXDS}VLx0QZag+$7IB8aU5s)AEJa-L2oiX>Wm9oaDuGz~<)@dBG4(E)Z(gtu|I7C< zmaXwCcQIpJ?g3(L?AAIcUVka=1e zgocf%UXR5=p{Ak=7*GmB0)t5cfgzn6PA!*98Bf^~pU+Od{N%t0+B$>TsM3RW{^vi& zs#IC9er?fb4ab1f>ot$gO**h-Z@2NdmvI`?@q`;)zF-5k(Xd~5 z{j@6eubOhBWO)Kkc>)9yp?Gk5$pzf~(pXakG)j#-qI>yXa@0Y6P6T8^P=D%Aefzvr z(h-Oty(ztv0a`3V5ugHR>@S}7x!$<(`dEaA9iCulfHSFZX8Uf!7>pbXD`5wv9iF0# zSsMpqhK%?rz+~kxI&wu@UzACsLws+&e>jLP(QPgh7g-QC)#^!AQgC|w!nIju<+eyan^sVHjI*~Po*rK;nr*0=)e#fwF z`jg?w@s&g;BO&XotdcHwz@>|zI~{I*{A7v=mrtMf9A@RL3C31a&3}IGe1FHTj+*$! zLTF))(P8(}PTs}0dD9j5s5htBJ`9{(?WoH8zD6~u=yaO>w#OhLdbYB5}mGb zlNCjPRN(;5vJ&;^Ay^VUfrz(VL6E{J+d8}&)NhL8#O+YK2t}6eEKqiWaCrRwAX2`z zvU$783ubt8Z7VtX^vt*J7wV-EXz(+kQ3!YC5+Wd43&j@)C>c5 ze^*&1=ngi6ia8l%Gs0W*oXH_^VU5= zz)_L9eaAX3Tf#{(aTh&39~yx;`-@Ne)?|dB?V2ZtRR>FNc|}DR+KL-L-KUndgF4|Q zVFOQx5Xv|Ag@k(4aX0`FamYg}gmwp17P=?_Zc^7dEUh&a>`MY6@5;}!=F zrNcgl%LA~G51gT{$w@)b#UXZg6KGX0dxTRLCa?anyW|Dz@SwxXy2}lST$|7R=&@Uv zX$lrf`jqxmtKQJxf8O`c%Asj?WisWxPjy0;Sx)+jAxnfI4?3SXc@?Zc{-LrP& zHePG+>TEI;UzOB`%9BcPB(~er&7W*!MzYPL<_MwD2B38+xJJG)uTxYvuek+n>W|0*P(H> zis0IQD>xi^b6x}$T7{YrTnj;3ryF{-LC;YgNn`_rscDd7HUjPDsCqSo*n@&P+CNso z&UNXgprA9|KYUqL4u2;sIrcv}3jJ)gZ^m6fbvHAp71Kh^3u4BEr(^< z7ZY2S2Ob02qvgbklo{) zNxmG?DM9}9gSR~L^t@ufzh&ooeS;2xt)461KdujIrwwsjySnO($B;F`R)gHg=JN-T zVjT@Qq1hA*VVa$Ec|43S6x53&%1e5dV(o*rE$n7{5W}5bNx0lB_2G!4b1jCVw#je? zN!_W9Rw{Bjih&MWhfnT=H4z00O)7*rVjlLefW3Qn^rRA9u~j-M5Jq7+|rfP0_LHZ@n>%=$F#15{rt(b=T1nNkq)`sBGdFtN4f=KEeRQ9dNqS| zlu$w)V{X(Y@9$d~TIe+fH=4YJw7Z^uSX*6QfI+c$7f^ z2z4*M|87jLw;US*LBIdU>*J4p2flZY=(UQc6Q6U^9ILbObSQcA@a5|l4J@GcCtR&G za0CcpAj76fQ~hbkF*H-FX{~83gsj|;gX8c!E1DHg+e9>(p-`ARds7SCpR?a5|5oyN zyD#=iY@fB(6gEC>Zt_&9)3+tG9w;dpdxEA)3&}bUy3}g#3}X9~ig6c|fgB z3B;LXxWaW`G0{Y5bXJ`wPP+1s`{@l2TdZl}FzxgPjZxuv67=x{yVIl>JvW-EW{`R#K&=PbTFojN17^G~jv>#jx%4co_N3Y#FSD=@2L zPDECC0kBO5-XFf#{o9Xh+j)|$+x(6>EuV3!9K&L)X zD4H3)s(DlJPz=Piiz>CA0Nr=;1WECnEXb~Onxe>2u}{#zlv9-9<=zMfhqBu#adP{7 z%#dB(XIx$LHkU8qPzO5WBEdcjuiY7adK&)Yx11J)JL$mc4;K5QplgOj)Fv4)x#{j< z^v{-Bpo3pNsSPir-RsfPE%DPY+0=GOmiR6d@#)1{_J8=k-JZdR*v`Eeo%U9)T|fN~DHTfJ^PC<- zu>ffd%Tr`hkh0F}ddPe5QFnQb|NMCP{I|n6QstpZZ9=&9AsIBwr$a<+n#*@XfD8j< zV#Tem{^>(SjP0zXQcGE^&`)p0h{^F`%OGgs?5I{buk#$>uqqdw+VKDo2la-M4Dq}# zfvA|<2VGy={F4f^>i2qKmC3kybLo~faO7gXh(~M-fz7zolx^0uH5Ns6RGT{%IlN{e zh#y-ds%n<12kAz^3`%V}jn-<|!o8e+`T9onuI(_r+5k(2x#Bqs>TG8$OQVZJ^Y#P( zpk%E^i_fNsw0&~+x^99q&x*a+08<Hh*$TiF@v&PkV__w*#VFvDjhxzr#YD)cLpN^v4=NAA43ZmF6w7A|Nwm~*uy&MHno=~vyMQ7~?+itsEv$8vB0x*Ec zT*i+M;{W3h9GZjjEG*h5rNcUe4-4gsvr4B?yE-c9e)X$QI46Ny(+J+LiFz zJ5Fbif(TDMnM_3zZo^1@_mQL4h6teqK_R30ZgXyxmBt~x=Z$@wZG@=4FXJT<;KD(Sr!;6>SoF(2OUi|zQHRk>u2Rjgzj=J#uwN5WHw@Yt2h_xE-b%znj zQkHjpDVt9_CRbHQ&egx1lL2|QXSs!&gPLrNI(FBvT9qc4HAemV!DjzL+A#9ds? z$U8@zX&}oRShIAcdx5&(sJt3dnA+c~E{hs*uQZpHAFRcfenNwbu;(Bv)$yPP-?PeYA1)H^sI4z{xHb3qsRgUm|E{ zDy_AyyY^T*ruB6anRNvSFhUu)#`^rGVRtxbk_0#@uuRTfuiYn{li|FzdV(_;w%6M> zXRkOlCITplp8E_J{v(1rZ)_)KYD)^R1n>Y zE(X)-%0HaM-rb@*AAL5=tz;9}pjI!ALaV}ylU}D*uUG4x9!4C0(#6#o=`@8}4NL@; z;b8ue8E3D=+E7!sW$y$eTO<}tFM2@0w{h1GFdNIt1o3C?+zo=H&*8tjQa;3!&2JjG zQ7jY-tku1^eEH=SorS6=yVn!gg9E8W`FxsN^?8Dc*ys)V;hp&^1rgi+FjlTQf`CQa z9d3NO|5?#VR!>zQikgip!5Ky+NUquX^iS(#vD=_L@`Dm}JU6QI(ro z><@N~hM7)^)9`~Fi7^2WfyGwv(G(_Og$f({UlpSZoo5BmWO=^Tk^;fm@t6DU=}ZIo zMy)Y+ucT2jhgP-CJIIN&@-R0&9WuGZ!j7|Rq!*HjXdsy!lnAeh__Xtr7POilK0BC* zmlqRQIr{pT08T)$zjNt@21T@ld0oukz30vvp>diw@7H^(XWo=E1BaR=h4#$#w|{-o zb<$#cFmAQ{Yp#)q+AKT}@L(3{XdEH8qL3y^SR%}XQ33ZGqCJF35ZrGVZg@PibpGaO zc<(2X`ds)jSrE)DgN1>~kwL54!jiVVuiC+^&(veV-Y)B-L4Ekmr^I*T)pM4K+BIx7 zEm?^qDVwm@!=8`4S@5(H+VIPqL6Rz-WLg7oaIW23Jo(q&X1@H%wG9{!K(Kny@_Gt{mbsBUuo(VRtb zN9AM!h=5%wmg-kkY1j}(?VFx&iG2NW3&YIu=l}ONWJsDBgYp!&GbyUuF-azs_7ZbM zO8?n|<|(n2!17yB+_$01RpT|xmkpTLXGlJ78wxbWsi~YpV=LnNZH71P4$^epem~d{q6s?y z7=_PH?2q#0Ip(O;?PTe9Cz1uI#odD@2y&>KKiC)YYi_nQ23G$d)!3gzeV{#4e|z z3dQrG=5Ed5h55oXh+h;O0cpf`_-VOm0nMi`tp!>{Vhpc&V>C!*a`t+IjN{E|FulG8 z)CYkra11#q8%#j95G}*uIi62+KpwP=5PJP&wiwV9!;Jo5p?GRglMcdgdq>!+`}`IC zZc5-Wve(g()|Kcq%WP!TIxpFhOCd-E=GeHsT>qET)Wf(qQZ$}VJqnc$xL`cs21Zvc za$Xrq3WI#a)xUk*as=(#Y*60cD@cTgV2d;3=46Hm(mVJaH62U|`o()lK zFaE%L`dY|r=J`_d?90J+wtg@H1fIx6)eigZ5U2W8dp7H~^?1gmjB5KeM-Uv`oK=p$ zzNVA>%U6@lRjDvVr(H7TMRkbr48Eyt|6qX%I1MBkjIHPOKICEiVW&Pp(rJR9#nwDr z<@FVowTrq`yXlA!it&3-uXsQiR4ZM{o%2AX%kJ>{E!B>~Bo2dEW`$7=ig9|w0a_iI zKDbzh5*eB;^qoPP1}8H+jX{`NtJV5C?cl1F;$^A$s%)cy&c#uMSqQkp?r~WN<=l;? zGf1G6+%;AouX{<~_*i-P5UX63CkSi{+D%X%YF=0QysMewXd<-gGgPXSjN2bLFK?iD z(u-pu&vfeA`C!d}B3UN%_V*GqBbvmB{4I)A0Nr#rqZ&Lp?wA+Gyl}Y+1bvXu?+$r%WfMNH zJEK0wxR26-bkYs5gBkAjM#E|sWMIqbcHvYw=Eo_IC!9eWZJT*@(B{}~qtcKdKQlh4 z2BEWx-7OAqm(eQ&TZ@or`f1ARBe?e1=5)kk!joexOr`F{CT%^C$wu53$Im3zT-h*B zuXz)I{V{wn>b@DIqGC;(_sVG#fT3{K-hR4oyOU&_6ARP!UrDyh-R7{`cPFP;215ew zg|yd2=hEFX=XaI|SAA>o4>q-~8OW}z(A_>nO5;wcqhXT~B9%L6GQGO!kf{oD(sO%n(JY=_P&J7^FgjbtHDul|ChB4AK zn1simTe#}earL0!@agT&NTovPs5t>*S$yVT-ux@OnTNQ6jKjiE3Vi2n&xj@6QWs37 zUCLa?2op&r863fVskH5Q7f4YvQLMlD{B>(KZcL=>XNPi}8i~;uX5zR#l66+jt%H=ILolb+iyqwm^ozb+ENPPl zv*_pxbSx6dZ6?_svy~BQ*hUVPgWGveXdw@CdVbRjDza+n0{+fjqjc6m{bZ{tTNW^F zwWdm|+Lc`3)phi~y~vZ(f|^`O3wzDwA1$N7Y`_`a*jlAZY<4HB`|d8C`UQiSf+kK~%uM61Sl~bDFq|ot*L* zVO37J1l_61J{Ldgjp%jnpsKhisX_eVBd!d_{h>@U$Ta|u*&hSiNTUc$8n7(3^}y5X z0jd^CLdO@r49ar4G-d}J0&;UA;!Cfuk#%pYI1vX!2_}OH8qi1A!_aMesV0jPUZ|do zbiUrfVjgrn0$c$X8DH_JvoUgOo2!k6)5LqrUZ*a5^QhpCz?M~eeSxIO?$GV3A2lK$ zeAnCS;*Wp&PEcZbYH`8m4b}I@4oud>f$mbpaLD8#g6+*L#H^px5R`4+Tu*K4sIR&3 z^6r=-oOXn6tNCR!OQY+Siin3@&-9OJsE(J z?bMvy=;Q*?1lLy8SH`FzqEvpKmJm$4{N!m_7*qta^!ZmUh8mvLP=_f^1t#UwHE~9e z-5bGSwL3Z%%zDMsQ<3%%LQhZ7rB5$Orr!=_<-$1i-4B2#-L3bQeJ;`ln$93sF&FMH z0utsWEjqgrDSkf4FB8+=)!Bf~r$*l#NS>^tSMLw_@Lgzc>Lp}m(Ia)mrJaCz(hBX?K zxd5X;I6A$YkPM9iHdrSRj`xL~IE9%zKfdi4b{uzZd$Ew;R3Ilq zjTbMV^-yWQ-WR}G{qVC&D$#mVnST$FOezRAx}w9|c?NF#b+KB-7m{w5($zdP?##IR z#fo5)dPgsMnT%~bFoQ{EHikUdWGL7I;G1V%KxWZ(_x|s@3(GFd9db?ww){di47SHa z(1TkB#I`k$2P|A7YoX>9@i5)1DS+jK#zPGRrbkyADGkvCHfB4WDW3LMF2nb{BMAZR z_x`~4Prs!eZn}fF^M;uF)1TZ8)oT9t-jB0q9Z%xhNmQ-`Ip#pnKnU)vZG#4-CU2u! z-<+!a(X+FG%hh_dSG9u7c<+3I2girTqU++z-L8%(Bh&BH$Ja$A9J38)5K7v+zxc>; zKg_Fve9Yr;`STlLp7U;O#sb8+2FJZq=70JL_vyLst@jqYuWLj)+4-pPaJ}+k61GoA zFg0vzYNri)8Ss2p%iqcBCl~1Qk`Jlw4eToq7GV)A{Id4=zw;bkAPhLHOh5t=iC7Hg zCk=j%h>pfL*EkIYwwIXR@ll5er((5#_;~8_+og6}v^njFam?JX^{43WgieR9PFe@n|F(cBz^_XCDqsLX&)} z*3(1Z!$o&GE_`#f{k?z=B9=wEbK60Pa?a+R8BG(F>G}rTESt$l>p)bu@^Euw>|X+Z=gawsUMm`xP*=FQB3Te>|H180om;?i_eOxoQ(GqZPp^rOVg%0y*w z@j(_61|wTI6itxLn&~1*CV=#t1~a>2T`{*%zPTulP?W7#PEWhMI35f}y;e_QZ?2lE z$9VqBBU#sA`?ps#_v?x~M94F)!&z+4TKzCK!-7F?>fH~PqKhk&SI{5+YyrSiL5;(g z-@6_6I6-7kaeZe+xM4}HI8PG3>B;FpAC1*%lbvxKS9~KbI4{mrP!<$>0(`w|#v*pY zj@YbmLwC+KuG>YiUJrCa%AEIrdbvXc@aY8gB7$sbmc!`|qi4^it81kE?X~xYGBGe5 z5XPbfNT!ppe6ClYDC_Ia_E#^=7=L_T>gnQGN4ycrf^tisvGT*jT#TBIt)wut!Ga#X z|6XW1?o_$#I}2uKVCm(e>dz#|_Hj4zPQoI>UZK=+-G1n14F{%UJ}3L)<&=P_sQvm} zAt1~}yMaLmAw`zuv~j&Y;CgKd*LB$71QS3gze|;7l0E8dP9h#|Y{Ap^L`Nt>D%X(p zG&`Qx${Zv{H3OPxxvX+r3BA4AKj>LHOc8-a;-UbC*Vk|R=4t2^{;rr7;{DC)$h)lBnW_QDSm#@Li4GVInTyqSC)I6B62W}#6S z2Ujynp{e1jm|O#kdks7mR*p-eHW)cWvtrY58Wu{K7ZrEHsup|5?R$8=3)>`{vw1y+ zwGJ1}4Zh-TZvzVBF7tob zVioI|%lGm@KkkU+7sD=xi`It|HM)#7T38gFa1bGZ>kDW9RB-#vF$?gAFYEk}GmBqe zt6J@wJp~7#09iS%S4#?MbgqjH-5v`}o?rVH__Dz`_36#4Itp_$-&Ua4)I*ye{&0)^ zsIvKk&83{9Uj{br#p(OsB@ep`nSMW#r)0zD0U?ju!_cW^*68UHE1J4BJ}NQ^Yse{L>$R4XdW@eJpm-v%E z%{cQ*z{s7P_lL|*$<4bNGL(|Ot}MMBg)m}#)4{y!@5PFHBh2MnSt{TjhMj1E z8KyhNgZgD1^2sM>Ml@zL8)N4FEe5B!mnY1FZTMpMvN<$KhuxZ1-ZXp}2j8qnc25B5 zHt8%-A5B>mH`>i%eXpe0AhEA`@lnr&TG#5Ww}g+6?K|%;jc!~Yz72PIB;Y5h$XXgz z09S4$1VOZejHX-=9?rQ39Xt$kye!M=Wbf;1Nh%!_xIb7)iNQn2)-Xi;;~m{q>oqrSsj zoDBbcW*QN~;Sj0&VoDp%XUOW;7tR&8U^u|Z#JQeE2m0N&Bg)L~b=V=hOJ!9U0_5F~ zW-H-IW2!5XV%qR%c)k`_r5)MwK)B6hJT|E_cCCa|G!qA8*y(b*U^3>%%yu2m1Pl#Q zyS3`XFeHrv+It6WL#~|`bfo|6MXSI2?A-Rfo$j-n5nJvlHcW1{L3q*{DErmyx+x8L)4BY^_q|=#oj~xVHHS#Jq$ad}FD;9(-5E$Mq&&8v9$SuLFls|- zzq)^7`ptUv;-F`f2fh_?w>%qYv9Jx%W&n<;;PUt0vb{OCCBu}HR)>mjIZoK@PQEC5 z!(qSCtnPnRvAe;3x!bStUeAcb9Uy=3m9)4OpFVpdGN{0D>~J*FwElS)gr~!a1Z(3l z=B$5pjWSm2Y6wC0RE)3@MEWOxmE^#Md$-d_vEg|8&mV_K8yfUmB6 z0@X(nlgq=epO5kBm9jYd=a0y=O||64i#^ssO{=A$H9c)wpki~Iy&063FCTgQj~M8`G;9 zw?7oL@iRx%9|}1=eh2A|MtvB*_9(%Xlu&x{UW#klQqBR3xZOfyqVbozMRwHV5K`-& z6bvWmTwjBRW-w;di!%cAc(h7kV7Y^`z#bp;Kws9?J*|+7F196-h-SgFlPf%78zOl5 zfOU}S*z_ZfLV-(fBS&SFV#`w0H||nf8J(R?b!Wf>a)PFbs@G?#C?cue%~eWLQCDO+ zDx<48L>%?!?uKO2;_*>8{2)}RD3e)g5ft6lMGeiaP^0?Hj)H2dpWQaDdlrgORCw8A zqD}?c`R)=8Ow8OJf4c=Zqe_t~)o4@Zd|`RRot z29$cRvU{j7n0Wd(zc4rH@_Dg2Flek_9GlIHp(7rFYF8#{h1cnceZ$$eE!|p6FRpE- zF)WnG-@dpr2!0zlFmQ>g3m;x zoBo{kUL4nzNC@ut#xw3_>Y<7+uO=Ymh+>5c9>5|Qd%su!lWuVF9`N~zH$zI3Mqe@& zLDJOz$wfs9EhDE-N}!AO1|8Fz8xFM-9v7fnis4}3X47yb*6u|m-oLXIwa2%2mU4+; z*el8LcYeI>6k2s)@m3I!hC>Z#7X&6~jUbz6#r6H14* z*Ej3mb5@m=bw_JJEk)t!1oAMBSlUBqb8ix=vP+*kp*@MzM+C)eW~GrM6ASqb9;ATY z0LClNTOqG9=^UO60d08kqLrd6mpyj(X_s=7v+C8$H}G<@yIYh{mu+&eJA$PNLE$#3 zFoa~@wd|5HXZgt3d2a!nNU`mt1IJ8e>$|s>(-A_E9jiaREmWbEcOT(}VRFIeSs>3Y zRY+O34 z$Ma}3g!{Ksn#@GG=jRqB^`_mkt9qXfbLU0~VP(WdicjBw5u*R>=l^E;W|zmOwMpY* zfGL%7>G|2}ht$PsfklXKr{0I-lVkDme_XRA-d-ea;kDcO&R4>%jK=G5Bq&M2Fowr6 zZh|1gEBIIo`d~Xf>|l8PNPn<6ZKK9i_XO<@uhdm=r^9gM>Dq-Fc1>$_8B_;-DDBaV z-hRyfbn1K0&+?G+@6DWLH&ivJn0Pm3jFHPE;MeKg87Zkqgz6GXnYd!*pp z>5G?ad_6EO*LsK-VVgV%gSF3(G<4DwG#D#=as*O5D=PZrx*}ky1*+emHlrjR^bm>L zd0%9CAr>J)|H69@+@@n8VUzInJNYc|;>fdOZ?f`W;&jQau00htdC|z;4|iHbEC`g^ z(Tp*)8Lv*AOYT|crtM6vhU%A7n*|2qTC+6((>ZEx??P}nIGM{O50QGe^y-sK0-O>^ z{ZfdyO%?P+)Z+q?0uP@ye3AC^%W<#N=DLORvOUjzd68J`6z5AaK(NzRgCBg~R#(FJ zzW<$^do~pvSz1Dud=ntzRy3P4nIbGINFlIh5pEYM@_5>7Y2%TVOxP3~Iz8c5clej$ ztvJUT{wOkFqxTY+*dFVE+8b($>V!*Qm*~Lcv>Wv|PKw9v+(!5R`5m$2u0JoBwr?l7 z$#SnLCGvyANto%M6{d;-Ffmg`aSIkX(9Z;t2}kp3!M&1=`2{`e6R=0`(?HonX1?43S`9F=%!h*5ca%0rcD3BWEfE z+Xxac?6>bsUv=CbJBcf*p>cx=k+kaVZ=^E1@CJkx_=V4#rVely`YJrwN@ zwQ$TreBZGim05z(mDuA=7lPoqb^To2{P8V(WctFsaKxb#Nsp|%!QQ|m!cm}6>YC|1 zZ5YJTJ6j~jR%0)>J>&!o^)-6>{RpDFcm(9=7eS2NkWXv?}mMv>i@ zqMz_!X`Gn)u9(6^0QBip&a+-<;`R^=246*wxNhw93`1< z9rQW?HS}PCA9)|&&4)cI2#z+}@)5HGG90Pbhcu%PE#R{k_(B|*aV)dB;?a7BKfe^=UR{t*PNpdC=Cq8iMkg%}WMcMu zn}mn`#_23!D~zmO-Mi@p#A4&ydB_5vXI7PPMwZyt1Ifk2@4W9jS~Tf zFsFCMu4;Piu*ME;F8St@FFHinEnFS!ov}0{)-|_q(;C3}oX~d1)xn@U3#~6Wxa)3c z5!an=%3+gbl7NBk*}3XLCbf$q2V(vY?vM7x>{i~Vni#BcpwnSZdR$=pL4w;W`|oYL zb(Qpc?KapIuwOoh-pX?g)e&CL+A)_Ma8R=8_mJT6?=LW7*dGg^a8oh8G-|N$-7T?L zE;f;DTo!b$KeNVw7a0sSQzBv>OR;cZG#Ix!#N6;|R4`!UT0@(2P~|L(XBFZ4^Kv@F zo>XM<=vkd0h8?jfxM_LHcm~t>*4>~Wpy6O>J#TXMKx{GL&EJX`SZ@2?yQ_c|yS+lO zyW{nZ;hVBLxv9xEit;;04Iu5g-mfbF-=2D~?m!uIZL6yeanQA|--_Tit}WQ@^KC5# zvf@cmQpo_&oNu%XHL82Z{2ZUoz-4di>E|7P!XaCB2O{?7!n||0^G}DK7zwaf1K)OL zR+C(y?$3q5*$_>yZsw`-fxfjFLUfP{$AXN@keJID+z7NC^Ae@q zMrp5MLmZCrMF+%P4v0znv`)D-lS~AqJfqJl%UPi@cVW0Xjj#J~NEqpM0#mNOywE(< zxLi4%lZ^Fs@`I-5>zZrZ(GpH<;enM3G=Te{hA+7qc%)YRSKK!92M zv;Pnu$RGYMKU_*~eE63?S@5mji{Ob{o({{nW~^+E=20;9-#=#ep1foetK{{QlL6nY z)yI-K9z)plvP1a@qj6RNEcoIdU%NM`lV5#&RBrW< z6neHhz-S+1DvA4fY*^JXGQ^C|YhdbwAN#8%D0A zrWP8+!se|dtvf|RiA3CMz5Z{9ftXO}O`3(PK_ojp?^vh{uC$zCzRKc3P-5(_zm6)X@5__U#fkr;$Uqlk?nb&1lH1Utt!hSA+$lZN)_|Yf7+;&9hp?fff6o~@FYU=*<5w7f4^OxJrVA{ zkKWWRbT;DIA=`icFS~+JK6w4Qz4Vsr{6)_l57XSMSGFxjts;ZU@Md5ShiFZ(#a43m z&M3J~*%zJ12f7osjPjF;FRGS11_rkZJbmk-vv4lDeKdF6qy5Hs+*24Av+!u$1z^6A zCwq6r#{?sZTkAeR1HAE6%uit?vw6!oo#ETr(r+q>HS_6jPUp|v+b^3~?Rhbn19~GB zB)!%z{%d(9@#b${`L@h6!DXpTP-v4`pUP@ZFCotq%MR`T>qTs_`Rixh`G3t3<-@kk zfneC|{PPn9l{>X+ofQR6qrN@1<@P{|DhSdXm5`+e?t%M1|5YCFJ^G`cevrsM{Qf%+ zfAH5oCFSVj+o|+obn>hn3Ci73ufm6@^MAa_c*m+WEVOk~l?PYHM=jJj?vu{`WvSkn zfS@pg&1rX_Vpj3%k|%Gg)!4Bxt4=aG{&#GVx?*Dk31nAUKc*fCN8*cWJi>E1!$*uWp@pVFWXJ~GO z(e}xcPs^}ft)JC=3FWM4&~}iYVdk*WZipe@xNa^aEQ$0%W^jEW#;pecmvqcUH0IU!jk(7)~c* zE--R8eDImLo`ZRHa?NM&Z`14mi1`MWLn@i2xJGj>wm{Zjfid;1jm%}>!=)y1s!9`Dw4)l#Yf;b`8if(MgNYqD76`BEMTQo+r_b-7| zM%+8BPx(o|r|`AwA{$&Mi!aY-zLgd9=)hQ7a+(Hn=ld&m5DMS=!H>4$kys+N_V8X> zn~}*m{&+1b{ph}DCQ&Z+o8NYDuF~(m{`i}(UQAbVjo*A(v+ORS_W5OMNB`vadkqtZ z5UW2UaT&r)(FCx7Z!T+d8xKhJ3Ctcf5e6z=_GKa+2P!X*Ca9gZD;FPqJ;F(S+$=Qb z*|34QheZj;2$*l{cG$}Q#gAyvw|3|53G8&+&Ohrdtx8{f1FU;4n}9sE1zgrl0BHjAVxtac z01l$ISBE`lzg_#c|Kp_t+5hd=uU@@)wO;_D;Iq%TAR&ppj^w~6T_dsK;jNH;2rVtT zY&gKe@BaC!BD$jK_04?PAq=JDMjW!O?@)$kIU9)Idu%)}2a-7EF&d@oqDI?kTDb0- zWOmhl{;ca?#xIMyRH=Brzs6qj4#u0rhfq2#fBeMrCm%Z7C1VcgI!VtNT$$CX&^&tm z^6$>I?ruGmt9;$S%+8F)#~lvfj!)ewqs^Pc^KKxElq$iUG=T;ELm{^oFq@Y63PX6~CqTb$hc z`R70s?_HjkiPa!i?Lkhbi=t>sEtk=)hra$ay6nXW6!*FW0g_8K-58V$rOu!^gxT{F zH|gl9t>CBzhww3wPT>IVusd9_+wZQq+;h6VeJhtVDJD#)}8V$)eW!M9-svDp2CjRXa867Y+ zS+&_ANyR9k)fQ|{wEgR^vAe#)VZF~eDUEGh?l)m*+7korvFZ=cp1$Vq{v_Baa;dkL zY|zGcS1>YrXDjE{@%;AMQUbCqynAmeoZ{I?UX;JAD#;iALY$@J5Nf^bYiZ8(x@?TEN1+R zYxvn9|Na&Yk#4C}m#Ac#X&y;_r^1eVWZEyW93ET9Iw7ff%}Hn`rt$(iK;wSI<5B^; z+(dWs(x1S4-X;%WFmFRuIirQ^kQa1 zX~qq|3u#=EG#eY6)|{H@(v>=a1n?l9mZ7zda1Ynoosrzd&ae32bAHF;`n}l|Kj=UV zn}jZ3o;Ouz=dd=el_vtvcBP1KUZ)LFLc(_ni?^puJD*#0(3QyO`A_-jymEiNk`b@<@NV$GJ)@h{}AJy!jhj6=n-o?9T zHH)+-)dAPN>Z_KmJ5jpag@U-thb;}IF%8`H)oOY=hsdzepHNZ9Y}mf2DhOX|@QY@d zj%Vyj9q=c@@r_ltWP4B|nN00w43&V9jg8Ppf9-4AyL&rN?j*vV(4%|skadP&!yU3} zU08nic073bT}>40wN|&=9kx3&%a~eT;LTfPI|B=PVTa^hDUZu1-^|>8*c8D4GMGRV zfx|MdsMP+J^~2X(nEUF5gfaa}14R1g9f3zPfoY?m#5dzgci|*;R#qU$f-yXEH)|=r zjf3@-gM!hK3wy<+mr4~wWN7=tyHO%iEUa(fG_4}AJiof^463hRjWFfyI>Wc1|N=rKM=R zCeN@3dHQl>X-LoqDcclvF$?t8zQwbm_ zU2$RkcLSG48QWpFa_M~%6Kr*^7oMzIBP32Ku+fI@rLRw;ALNw5g33Cz>^)Dtg@%Qm zj`hFq?R^xaZPHM@>l+cP*)~Hd@BFegJ3n&e)U)ep^Hy;Y$*9)r^UgazON$aew!++H zz0nk$Oj*Q~@eEwurg+H{C8l(I-ObJohl_MmTxW(5ZjwH_P?C@DBAtPb1rlN4%Ap0AKc#vJAHl!==XHKy9MI=yZo`3@|)Q9ehQ(v^h4;yF_I*^hlc~L zf3moHUpYKS*H)q-h>^%hkaBRRZr_I)F)A1mB zc~0g%t?!zFl22q8lm2a6b1oQWPOAX@?5%)>3!ceUAHh9$9*}b-kV<%Db_q?7f4S$7 zi3h)a7)x#K?(S`D{^E12V-~iu0ln4N&}9zn-Zp18WiAIuW+kI@-dao=9f@t+^4=sV zE#OEhQ^*H!w-2Ocr!ZC^%aW&4EQYePAs5}l>H~dA2es1?cl@%_>T<2;)s-E+&y0VZ z{Lv}x4WJfDL43EZ2IBxNC7<4*02mA2`>bTzD=T3SiY`O2DnjJmXZM{vTHMJBWovWI z9(Ja@JTD)%C2r6iPOtyV7h`SO$BNeR^B%d9^%x39P7hzV4DWmIgJ2LisaUwn>35GBB0}Y35JVcBGivsDr_*MqFli~musO0p-Gszi2goL(G&)Ky-bnsvpOx$o$ZWs zdMoDcjx=r8RpTnU!4q{8N1vx%=-1x zWzU`;H(6Vib&5WKE3M{@a>;}z7k5NqO1Srr`QzCtf%nF1VD6N0wKhsu< z1oPbsEs6E3^~!a*+=qP5&a-pJy-!yivI2UN*@(-~dv7QA_lL(aH0enYjw|>ITJMo5 zN*f%#9!kQfb$qFMl+HkfDO<82VGf5pPPH@erW}Jg1nCa1+3xw?zvlt5P$ZVl#pHom zOmI`w=L*D80WNJC`g+kcB1I1zDn`UMx|ue)LA^#>v)iiambz$2X|VnY)i|X8T4F2-Hn08g(^a$5tz?ja$1MK`pb>aGqww1F>4V;`_&w*f6 zzd32ku0$!=yJUTS$d&N%&H4IIy;V9^jHWaEt5*J3Tf=MBOIRRgbq1Ov|Lae|ww@~P z{M9eenS7}b2)TmM!1?5k5F z;}g3xQvmkvx`oMzb0(wVpnBEyJh+2%0%)>So|ukJwl*~_k{CXF*&5umCd_ikXb{sD z9IW2dRm2n**MELBl4;sgz(f%wV2N`SKimYDE3Mu1Y-W8+(;ppQUgc3vsZy+yxp`??}h>2%P^)4UPCpP_4(-|0#k zZPtN%y`4ikmLP_&xqJJ1TXJIR&Bt!W z(XZ3S);+RTo9NsB;l9|l!lY)R9-mVhb9l(3HJbwAb?OoiZ`=#BG?6c5Lbyij$tNpx z9}Tii$5u+GB}k?+?v?E1YBsh zH0dT?^7WCJ!P<3Z(d&<=gVR?%*cdZTbIh24W`$NLn&0}^$NRRtf~!=DaM$Dbhxe0U zXXMWXJ?sAC-!=0e=a>fLH*RlTE1v7G%i%|*!6_HOMKDD2okcW(g^Ls;c=IKapAWi$ zUp>{Tyh?|6g7Siu4Zyt}IzNt-YX3O>YJ%I4)>ybn5kLMaN=mZNS8Vt@GHg1CX_g3hJS=ew78Nvry zh+#yD?wE-C5xP6li=S?|KO0wXtt3H@IAJOxsLe2@MRQI4 zj=TH;3bQSTwD3n%b9L413~7tRRW#yPSwkGiq3oJZY}PqE>Nc#nUlWyfRiyyl5pd04 zy@T^^LGuD|*vni^yh%(nyol8L!yD7@M+ara1B>9I0^ZNEeb&Ii*I%=KkRH{p_<*`Wpd6E|Ob86xQdo#1PGUAhQ5oBaFklSpO|l=a$Xz*% z8dMDLcVUk-rzbPn3DA%~L5Z9+tzAn$o`f}!F`J%I6*-PbQNA9Avb}+MNP5 z>w>w2+r4&>aY7D9&1{qXlXWT5~{C0n)B_i3Dak?CQ}txsEef!tWr0Bworp zESDwdF2a{dF5WgF7wE|>wSO)^PS~L57AkeRYSef0RRaZXet!t(!B>B&yR$oFw`+SS zls>*{pIwfDfUEzm1`#NQo0D56QgGXD)LF`E(&~rXVSlK!i7TPalrOXIdUHl>WJnYY z?gn_l7>?%)M~s-vl{sC!gAe)qy>#<0{Zy8~lI|bhGniIB(K{X!5vx|_0%1_KwSH3z zq(j61_IEchIO|@YT$OL>gI{}Z8$hZ=ouA^He$(Qc+>a;pvT}CEdHh40_~0S<;tCiAWM~P7z$+Y0gugZrv|l=4&3s7Yk+1V~gCuKCYdN(kdI+QL;5XSWUs4Kya@t1$8&6}64 zajVklpS%_x9|+e>c;i7{q{-|Oh#O$ktt!FI$ZUk>i-}k^i_Czv-HrWqaA+iVOVLao zu1&Lh5vL{r6lJuAa6T}bBOR0un$Yz1H zy{IN9N`cr1AB1cI58nTHH|z;}ZTIfO9IC5~=1+w6c5_5ao|L0i?JcOij5Jz^nmeHO zB#%aeewQGVgr>Nb@qE;xA;^Xi2#y4sUpI(+p!}?&y8_ae|CQcdQ96AN0$f?|Y=#&k z-Hp>{uRBDtj<=15@e(~K}M^9T30+}db}q>=%fpUP4H zY?}LIT`9j?9Q^HpLlHC&HSSY|F!ScOM`#x3Ml|N09P^Jp)=qBvf;)g2iY6(``3?9` zS&$r=IG_OG?O?BFB$80&WR8nvJ8KRAs`oAZ!RHZrsJTNv4E1J003%?yB7|3@ioU%H zEDXd3f*CK<$TBAK#0jRO$22caovx`VJ*IQ;B8qb)+c?R;{V(6lBSmMc=DC+J(ReB33Z~7Dlqg0iYOP4hDwSR>hEYb0W&}PE zusvC*F+-iQj;UY&=c=3RUJXapqthWfYW4d4ZmZgw&sxoaOhGepBi!$WKmPeTn)|mu ziTetVKa2>D_kOzL#q8MvBIg}2OU(zYB8>Vn1nASD9fqoJ$`Ula=$KM#;EhNFI2ul8 z!+_w~^;J46zg}6`QE<%1o;*lHIu>5Ln-j0P02K_&-+v>R<-R(vUESPNIZ(KIH}|^x zFX|wo&Iaw~kW&qDVZw-hd$9=JSqFQ!6WF_RH{x_y3nTa5y_`cfypKP9v>NqC^Bbi= zq?l80rlj8N8Q|!w4gixGuGXZ+%vj0cOm8BFiZq95HOnfAh<(GUNJ&#_h=+1Yftvc9YDx|7xnP;2kT zI*TN|?97$*%xNqYb*jvSHDGNZ;^S|t!8qwgW-J!;Cjz42&Um<9zuK5f-FFp!Oy(5<#rfao>Bo9d~FJk=%QbiEM0!ed*m_{re}u z@cze-a=y&t4W}JWVGCKgy)oUopy-qHFJCgk*{Nz>{OPdP8~3Y2Jj9(GP01jExFAMx zXZ;qK%*0C@Nq4{xQ0p6U5(UsiX=Nt`+Wxp7lmx{Xo_8g#-)Ps%jdtrt<*C0u>36>S zrp}D2x7XJLM1l zb&$L6>)!3i&CA8XJ=gH$KmNhk-ooY`88^h>L2OBRkZDaPP&kiNFDBvLL@?tKxZwTW zd;w?FL_%Q!zC+WUe*fhA4zQR*#Q0>2O;28x?T}SDywoF6A9FO0IbXjJGFb;h<3XJ_ zL1*^lD?FGa(!Lnyrc}cbS((g`Ap8qH+qPZXm z=ZZyK6x&01>p=oosL}A!dGPeZJ*+#5{D=SLp#zGp-~Y*DKULg}h4X2LF0`r)q6{X2 zK9_;P7hkhMbawHVFRzAu-r;2~FRLv*;D=|oZ|iU=Ews&4G#JY#v#a@#FPdFXNsNCj z%MBD z5!bxk?#+3L7nXh-)W@<@Sn_Fvq+HQVl<;Nqv1F-O%w^K{^RJBE^y2Ck4v(H+qh_Tt zT`Z>Kal2zA1C#2Kw4_P3%+9VVB5q#4=~Dh#$N&DpkB3cRG1BEP1Qv5NnNMW5GnuW; zLfVff57y20++D~K!}F%7NutS>kI(wStlez!HfZ8#=h+e9R~s$YNAFvGBYf{ypA_O- z8zCyc_uyVmy5U#1go?DfPmYvK!qNj#%B4zZkm5#M>+k<#Cz+96eD$sXVL+b0U;g6N zVi_9F-aUWQG^Mj2u3C-8c;31+A7vZm)GzjZfz0aW=ADO+i=dqhC_M4-5k9(5mR~IxaS6YTAhApz;!PCae+pdb zoBQbyrLZW_9Vr?uCs!k=I34g#KLRS#4jW%_T|OJQgYf+1-2j9Hj=z2}Pi1}bpf8e6 z5eY@YHX}u!?mIQl%HBpU9$QK4)45rA;O;k=@ylmJoao=Of)emfug4(nb6x!FYt@Z% zouIyzjaPQ~qI2O9|Hy@Mm%F{cJk(JI<7J{ht zmp3L3^lr-KdRK^qxSPsU5C*Sb3#cLlO4MX#5V2$;LgL$pyFr1Y(VDt(~H9*-$KJV#W2t z*UCy7wGq<@?C*xH(NP6S$L#VqC#ok^fUl1FbHQ+@!^T`*R3@@@tN(Ovo3noH_;$LOU~#3~mKL4v>t}P9*z9x~cGwy&RK*OI z((>6PR&a$s|7%~litpXuDx?Ackh!-W^;-3%5I!KA?WK?!4vVK}%GS4T%bym<4c-(P6V(Kj!K#RH^rK|2%080jyT!pmiz&ld~n zaPiUO@L*W{F;0us$HvtR>?iKsCV+xJ) z@=!x1m9UOab*TO9gaHk}Nx(D>#j<`Jltrd31`-Yi%CDfb6uXx-6?ZD+jjykhqlGse zRBpbwHJubZIlUP2vcc7^dhq6!)|$_68e|UXUtPAvWpXfiVB@Fn@!wyE9u{%P)+~gG zq@*7X_4Qr%=tA9lk|SNda3WJ!@s8eg9f8!w#^MjptW46WLuTVO{od!U_C(=mzHvQ} z>B^-XMml8<006{^m^zWWzu`tbvCP{2oe)kgRrb**39g~$S25iQ)XUh$4nFC!064F{ zJ!75V;Ih)Zt-zU3`45+idX)#IZlm7k0V=$ml={ngDz0S0iJhGQk=@@}jk;4M=Zq&p z0YaV61Xr}=nRR89a?Xzr-&Mxr%DY#uj;63stF-!zp@3%n&B9~MRY>Gqako&rX;?8L z_~B1WvXFT1)5q)gesM>W!goJ;92dmsx}RkO+jm0ja4yI0#TU(`X-<#-^k&ACpa1!b zqsHlZU(|7{RfiHz&=d6#s57<^P$7TV>jEIswj%3k%#>B%*3QER9>$2pA&r>=q}o2Y zTDsh5!i;*ffkpQ5-~4^q8K(5!#c>NLAjjqShKq%>YjHBLvb(qG2Eqrc06iZ`9#Z1S zI~!0}*?$^$XQGQSwOW81=hp*?2R{PPPW ziLn#b88o{*rp^Gjxv<@yc+l1@cWVF99derZ=gfn($O{vW=ZIdGZt#F%bqHxSw{ z2(x95as;yxlJL0H1-VuThP~3r_p|#B8P8??L^x)?{>`Z!gj#P-=HgQIrk#n?=}3A9 zO+&tI{P;})R=*m~SsTMbD?vO2E8$hY=8DBLyMgLagC|qS>qGF#FLT{n=>BIvxr>bF zk^*^RUW8XHS#esGs%w9pKR#(V4<7p3M^yn+PL78QanWIHo!0=v4!B2ie`#&60L+0{ zF-K~M8+B$@@S%ptb~x(tg<#Mha3~s;^3wJ5!&}9gT^?VI^})47@aMOp3oO4_dhk>> z=JlTFd+^lX8@X3D_ny9=!#wNnzrPyI-o4`^{nNM1{wHxmlzr)dCmO}<(5kQgyRR>& z{Jeej>Z>n)tkJ9UkwDK{17S}6T^8hYI8 ziRZ%?%C-ob& zt7F64`M%04?znmRvSBzN5@D++Z77oTFX3&sFsfkh-|+E;F&n?4YF-yR~Y&w-oQHvq6l|KKw?|LHFI{xALi!07rTy!CGx=_W@fEBpmRgF`w z{@-uA3zT3lTP~9D`v64=+}$rmLOur)Dy-(hR6Ii&?xYJ2-Ti><_f#?zCbi-5cU8;i zo}HXtRBH^m5iGwN*eFVPamZ9GhuUW&Iq3Rajzpp8>xB%tQ@t zI$^==8h=)qg0VC@X|)F;1ha3yX~W2@r$Xbd?RN^(xg5T~iV8Xr_8<<7GS4gFHKZ#h z1DYPpd!YDQIuLW$ZoKzmx8GJoMI#dUxT7yY*Of>)6&ST3V0bj}de8s*RQVI zy}p3k)6uZ41u1#SPL3!gaPIpLv$!W058VITpX4DVlt>kKil`({&8<87Q8oV22XR9& z@zh?yviuRs_2Ui^_V`&#V_VG`yJXDEsmrC$5C2dNhUf_jwr_@t3unIis;vh?^Rp=& z-g_FTcZju;8&GW*chrq#ls@PUM!hyD1jXQ-@F07jl!sp-^0|%>Ly#aQzTzk~*q26&n zkeVKLmdh{7);oebo1U zkI#gVIkr3mAQ+*Y6@S9-A|vtQ)Az$ba5e3g>O)VQJ?i63KR&21Fz$4sFq&WYkJ=hRxI$UGRc}f}=|N(4-6QrM=6x`uW_GawGjGnl+-9?!eC)oy=0n+$tphH}m7i%<+=W!M>d|0nBw z1HJ!rXZumwg2K6MDi-xYR(Ol-4M8vIJ9rdbV!=ixzP=e`#857Xh_AowI4xRazxxwI zO^+r%e0156_*R(#=J$Uz_rl%pUtA8Y7&WhVT0Ik8T(lKSU=%c-cAC`ogO%9IgNFyZeh^9SA7mVk z-22(_Egf22O-5FBqUaKniiMyrNwu#Q1kydOA@K0Lviv#a5*bKb!j~7j{)ew+LTyjk z!~f^^QXK7eA+T{X88Y!rXZz;l*15YH&>1tdR&+t`R56Z|iIQ6}sEFSsjd%*ITsO*1 z#g7Qg#GqWd_sLz1pDW7{!VUmJosLB!;aW^+M#6l-z56+bA#(2R{USP$_Q85d5bqM!tnR$by?1PA#mI-iD3 z2t!!q?gze!mivhW+kBX4dq5deMZiBE>;49zTxYt;f*;bOT+*;XFP=JtZIp9(Q$Qa!`C;ck9+>*2;ol;xpc}S&Eaqu z?9#Xo)?8@ix9`$FFN~V#M#h^g?7qJih;C)z(0VGep3_=lY6m-gNk_J$di!>4xDbUN zwpBMYs1M1cebEHvneK{i#HCi1i`>f&Z+Kr2o!wl_K&R55V9tddEu@#B(vyn2JjsL) z({!BDWpjL09dq%gk@MG%Ef25ZghkKBU0PZ;9$(BVFWyZp5MB!RutB?`{Q29KsIr2s zNo=1BWGUOda(|UV6L)rFgg+g|$XqfIOHzyo=wPtu8w;sY1V<3xN?NM+?0{$fvKuF= zuN#aJ575;~{9&j!b|Ay5!w0dmX|*<#QE)gI&js7$OivJ3&fW?!Vj`^EkLtZHv3F4P zA`lggC&Q*fgh^dA5mdYW%Q;m7ZrV2PMdwZ0|M0`KB0-u#kgzFn^n&4BK5be%ny)+v zNRr|x<{hKPJoI#}d+gfq+UVfz<+6WD;-D~j(U^7F_&QPhVM(pBH|wsSN^9G33L|lx z09oEye2|70b2C^1FS$bC=#S!F)|fV$#N%}Y_sC-IgO%xvifqX|-7B++ZEPS0a?8<% zumH#t`)ekH#i@(mw&T(9H#Nd~{msB`9kHZb9=Wka>#`$T29|R4uWQI|w%6PFRgzY` z@t6m8uHN%Xj(F4`PmnM|t^E9xnC02n-%Br}SyJpTJBTrr%8;H8=grrry_vuaISt`z zRUS2$!p1BF(Gh{B4CKW{4)hR~GfB!i=0+IK8=AdsIaeOU>An_7k@E%S1s1g74+Vg3 z`LYdp2LJFc4ZhQs=$?BUU*=>E4Y}qsS??WpsiJ4ncSOD3T-Hn7|Al87`RmV$v6wHI z+swEj6$(ZXaXgjdd(hV}>?l0$D?az|hastlXncsF#_{c`mT8OeB8q1vQD5g;u_n-!ZJA?{DEEx?J2DRH- zqc!1XG^E^?k#+fZf1D5iOE)iR1QoCA#AaM%&|o|f$=th>4hMXmcp;k(VQ8>WAj>Ce zHUa6OwUENPN||M-S*Tp+l=ix37e{AxGf!Ne3!om^^lS2*!LkLkQJL}0y7xZu`WW(C zQ^`}xBh7&Ww-hM6z8VsFXDCS+sGmyj=Kv^9EbL4k69j$s^#z_Zs!PFxd)H$CLy-7x z*2$h$~u5++Mn=`YK;X-kIdOGsO5LMIcKnT|*AiaW?Td0@q z3f|2uFyj%J7I2?SRXve9%QrX63$ANe`O=$y@n0M56&OO};`0s7rnr<@Dd zr!!|3IlERJq4yuT8206F=DVBDd8MM_ppJ$qQ$RQ0-wHzd64*0QKL#z)9U)wR!|j~c z87D;ry!wKO89jC>Ui|gRMA7xx4`0`iu#<21VRU$SVJ2KG$Id2_%P|~~d9yx(6Q6w^ zhdtTVo%L8^vlxn}e8H^a{7^}Rwf;~E7M8lBW5FO;y%k*Sh?a##`H#=d4YD)PrS9DK z{>ES!*-H9^Hsf|LiQl4y$w&`6WdrjdEa3q_u{SdT*lBd?x5MCmto{57c=A`_dQ)}B z)B3ly?I*rP^Lj)iGC_UL`_crkEN_7fppY$a3J6SxMj~f3zC6Luj!^dg1M0Ty^v|!l z%v|+5&j01PW8E*nKFo4wVs1|&t~6aGvpF_YhJ*Z=8BBp{V55Yqj&$B*f{+Qg9MX7f zh%dirsS-VFmpijjt=7kV%<-EFqfOp)JYjpnM(_CNa&D)%vYsp5Da1qW;!Zvk$`+Gh zk1v@`#A9opJ~G<)ir*F8+Hf?EXCBhv$2TW6oj*IQ%9K2Y!}H%i7fDcJHJk5>Sntoh z?K{Tt8_w+s1V|SKYe;G(KzB!?jS!Kv-I`)yOrG+vFX@_&0RmC`_3HUmcQJ2Ye)*RM zP$;U`udj?4H7*-T=WHg(@)AK2M)oAV0I|BC!t+157x3ka(P(MA=tqd%pN3AZ@KVN) zv@b^XQaYgtCvIuOc2va1UMmZ(6SIQM5&dA1UDxF%gG2xTn-8e#WwKZeG2qE)2WLW^1eh>NM z?{0Vp#=kwMf{XfCq$h?ix0;7WG-MFzpiGCik(=8E9&iCF$FQ!b){+B+#FMLm)(?Yd z)KE=s#71@_%CeXPxs4#sCzB z`hv>Hik6ZjXvEhe;?2p8NE(fkAzQDrnlp$A5*m!gL*C*lFl8ZdNJo>4w-=J`DD4JN zb84hkmnF7%+jZx5V(e{K1=K-n%*cGVNiXL_8(++lRO4dM_~C3c=<^b?l4Xb9y`7C5 zf*$;L4+4r3+JFDO{XAm0qp3_G6Lfn**uZ%51cP%0ZP;mQNx#^=IvseBX07wp7iLS`w3)@=+5yPGHQeq2$gY@Pz$`7AIQNeB+{me;`=K94ve_Oj9t z@x$E7tFETb`n9)5tyag3nqT~uPlQq1FoW*n7j~XnASE9=6sUN%6mw%#b}bQ1F6G}B zOvQ6gABJ@}mlWCH-f92`8?TtPU5w^ADV$_qJ?okvVlR3EiijMLz8hXF?aV^Lexo~t zy@2L%bM3*X!i1OnJ#z#dgWhbu)MK_i6qUhHv@}kUFP_)cC2>QDQ=QqV6ox?4w+(le z9MnWq>T{v|=4!yQsMRf>Vn&wuz>dr)A!?ogW~gv!zYvS~a8G_c;l}X6KmXSH#Z&&P zfBG|BD%th6>O^!ivlEkU>juX2ia<|UUFGI#APn**i7n;^jsY%@!TSsRySB>z@Ft=G zk2iqK2T&@|I5Be(TQ(hqA`W4oRr)w`eZe`s`d9y@26Ir1KSmIC729~PYcm9^4O|GFq}p@+ZttEWlS;ZCk^ujitEZvZzyw;PQ--ZNkQ@dol> z2!H#w!S${ilgU8Tr?svlsCE?}e0kbtOn`2_`-kUX5**J&9S_<9;11%lWK-c%==d*m zCZUb2Oa`K5EOP&2|3nN2Ck>5qvNu;Fk)MqFeG5@dbDAg*6zkwHnf_7c;CZab7&U#l2UzS622d=vId;;P0y17ug+O_SUEZuaBFUd?WyYa zI6Ub@2$enSt3d=NvX3{ot{wG(5X4+JonfOZ`sAw?f!9wb^7OVn>DOCRdNP`opSP*7 z+!$j7YRowc#z_(tYLz|*VbG#0hT@(?-pjH6txa!lm|T@^^u0{CZhAZ<>7e_8|M9;M zwibcX=2ocoO25BtT^?7|!ZzCP%P4F)OAj-$NX2sddsyYoG@L}sheOQOJMN|Kpl2sD z3o>=W$qrddXC{K7OnS}!T+-pdX2u+KXw{34dr-uhG92y9xJEMrcDQ|RA3T!^pWln5 zS7C;CY#t#VP8iy1e$84C0E#NdYQ^RfV{h8LaA9LcmpCNcq*4-`vr z+~FfC=XM;Gf{ z>6ficynn9xTxiHK;v*{*z3>$SQ#R;1`PV@z*t;B}5vYalC3qJ1D(#s~IhYCJ9{uji zG3v04MPm^NyCAUq!-TSX&0)V$?fbV};C6+ce72H$?;zqy z6|?Dlu9Wj>mVX%+T#DkL$VHo0mDz|H+%~7QV9d)`y+LPc_+3n`qZ2-C{`#cT=?Dma zeal5cVjo?_x--HrHyPC8TWtj6+dat+t&&{eQI6FL_q-0DtaaDGzNQNa{B$68?ztf4Mh`i8Ty%yG&X$GcISxZx0lN*`#|}J|2$1bTokJJ{_<>2go)YP?{9fU7oebn7D#G14!`9q#cnh0x;r7a0-^oWZar%7Xi^7^JNTKz#Jp(olLYhr@y@@cSE_#FD zPIy-D3eI%aqz%`P*E^RI!#91@H6J+Ltl}P>O-*L8^SS@_yUxnbJ}-scrsB>}a~>Gf z=Imr*Q!_bCNgB*IwJ5k)VjnPj`+CH72ZDpL+6_1ZowkT1Uitob4rmhw52)47LJ(wC z1C}r@J3jrNACV4-+@reyWMWPEw^RKl1!SUNRbpNQXm8ffB*pyARut%IZ&yJ#gdBT58rdn=YS-T zz+dk`Z+|am9>(TpM4lQkd+jijLxu;?`+qq%eAb{B=LOVm)C`aj;pV+>ZM3`Ba&gLg5ay&tdCMNmfTU<{i$Wx7( z40d;wGfk(Vjel-p@bTc)=7Fxr{Z@Y@X_OrfK32&n>Gksfm=dK{K>0&=dIs5V1XGvh zdEYrb#+RoJ1#(X?IxtU^er#saK0bvBx3a%@b7aqDT`m7k${)1%&!RA30Ci|2Z{E2w z33}Z8@}*0YC!G_LM$N{qM11F_{_xeY4wtSbTL1Kgf&%72_0Ut>!DO(uc03BSb`CuN zL6z6_*XxQHKUn+vBu6)@4jvi_A6gLR%1@Lho<2Av&u2#Z+v-(hq7^Q9vkhA z%Bh$%w_kRSPEiIrJn(4D#iwWICw*e!<~ws@V*Z`kM0$2%K21fhbBaQ7hVe~s6g2D@ za9GtB7L9LSDrbY8s>wzF+TT}H8y$CEofeY5I}+CSg1J@f_0wGsLq;>a-aKUv|LGZ9 za(Akd&1Y~`He;!I_|X$bU{E;bTDEx<6sGKbSy_JxWw8B5>IaFfXJ?D=l&CY9$9?+3 z=;08VnoCUIoNG!C#oTT^_#DxIDNEx z7VQZcoLS(5b3$BRO#-3to$oJDqlv=w;#*0_V<*PkS5+)^UTY4TExEJtS|{TDFTd=b zogQrM=Pt*#*QFTAM9~29M7K*{o-yi5@#k+HbIli41zu z>z^m5V#jC4uR9RwR32`Ii#bz1>{|4gvtQoRdJV}tX*Cb!p?uJI-BANq+B-1bTvH)t zX^}6d1TTL3qr7d2?|yLots6@$UA&knymfgJhiQ=8)JB5Wb z;|BVrgybj1(GcSa+dJ#-pVNM)-l!hNd3~d7qv3I--18^mTmQ!w z=puR0iGIx3=!hTAUmY2Qw2;j~2f&3CXoDh8a*pNl?(NGbo_=_8+#r3YKYaGub_cJ@Junql zdq#M4jF5Q5H`(dPM4{xBMe_9Q(^1`JlI(hBRw55$kd3Qwg$vpk4k0P=eEL){5belihM>(txdy*A;~ z@BP`^xeD=I1n++r+H9w;6-P-Cl|3Gk)G%WH-s@L;z0S+s!~LD-JMCUi zIkWe+Rr2spUkn}fEbeKcRq3Ef8W%6EWT}a{ne4*N!f+S8_5I1#o2GEy5k_0H}1i)vh${pEjN@W@No zt}l(Juf9Ew@sktTTx?(ClIO2qb#zZ}?+$D*HQwLYYeng;KL4h&FP$E@hR5CZ@ZBuLa4C}cVB^q3(^oQs-Qj*)IRi)R%|Cv!b6!eG zUv2n#^7YdLXvA0dwxpF`3-=xqOF5PsPhPw{4YujO`LENhs6@@ZvobY7o!HF$!o+E- z|K9Ys;8z!#2k-yg2co#RdT}y0KQ(q?ISl|PLd*~kelJf?$^ZDf zJ;<#-Z;nm7-+t3Hywf8W@y{L21bjahhflmXgZSZS;obO?HTa?!Kr9_IPw|)&VBYBn zEfglsZ68fcx-Y5#xW7|rb~?M|@tzLuRHY zxTz$@UPv5lTC=(8<8X#Wg`$8FJkO7h;#4vPzgkx(im~0DcITT1YwNEi_-yOm^IpGk zG)5k*Z&$wAII@(k>RbJ;?t{YBCB{WA%$154-9nb%GmGq&|gi}*IH451wmw=4( zxPNdI8##Wl_PW;gq4tBv{Zmbn;1tq70%ATeHhz9=#u#b@Ai0tF)Sd5LM8o_C?`OxR z<`=Ji_?^=EwtnTmxPErnsvMGO`s}E0oSzzwx?8mv`N5-(saEcNSv!rtIpD01uz(H~ zie&w&e4ejlR>G=yZLUGym-W@rjFJB_hskzlO%wHO}Wng@gCjl^K zr~nr~lUi+6ml~B03~v6%M`t|LukCp(c%(bJ69doBdt1`TX;V!Ul7!~ZEQuolH1)&p zU!W!mOL-K}%_RAe@*c~-Ibj|e4-WQQN4VGc`o&P!3~BujpSMo+y+Z^HMYP-J7L%ts zG?^J`zBm|5lLQ(D`5~NJOO~<(r3{=1$*L8rAK`4>wxvH|N9J__n^+=tHD> z_mi#aUTiAdZ6AlJ0!#9!9KQW$SJD#`;UIS7NAs{38{qr~8gw=5 zsJ7Q_Zar@i=>Ch>`&}o^=}~wCCufO;Nv#)5bOWv z;D_~ou=3+~h@*XQ`GXQl3Wcjn32rhy4ujMbw)xyo#@o-!5{#O?#@6#!l76sPeSM$~ zYmXl9jbED>_WCL^l|~b}vGnW&!53#HVF#O8xWG;>UQU57lbD>Do`|_VI7*B_C++@; z+OBnvl;)$T6AoTg6k^nrOnqO)C}^*Dqbp)F=6J?GzLyB zbNdJBB}&mPj3teR#Ltaa{?~u%d&huwez_ob zNc89|m1ac|9Uj8PJ0F)4sR=f*uzVrzsoq#3!cqT3K01_%8U9@A2XTL6dn5Qr6G1G=9e@20{Qmdi`ofQ< zj37IAX|6CaPEljQDLe)p8VJFje7h!tz9w}Vt;Sw^_tnmB^~*0S2WFPux;uz+T5tJj z(wY2do}@ApF)Uf&;jtUn#L5y0wxN z()sM-Wx}6$Ytpes#gs4#oJrdFq|@wr7p`1%Te9)>=fiOU8f-n?vroYEn0j!c4ubLQ zH0K}!q*x@2pGRE9#c`6JEER+^BRB^qE--4lJvd_stMj_8s7IsAlZQ10Vnt9isrlcIUPbZQ_z1}#>FTS-boS%!i$PkJXG?N#!hquG4j4Pu@9|IdBtT&p0daG7e zPY*WNTlo0?3kf=FcgZZ;?gZ)igdJq^-tL}5xWo7*&dtBW42hMcsT6BRH8?XCgoLx_ z7c=Ioj(2`6JAht$)l~-V_U_jGe|gp0-BDBV*3*rXsf2of7gE9)%3mt5@i@s%rP;}u zB$t^fO;67)&n3q2fSA6Rq++^(QjqH$_Yc&Q{a4C#!84Aw?>E8Vx0eD~P#52O)T zJ0EdnEq3ucg;Q-bkxXYevvokPUQbv`Ac_RdqV73DBy!I0e&?)AHvjaranR}>4a%>c z-s?aoFTUJ!lv9d0>Fyneh8v#7dshRVdsy}va8;X zGS0dumg95p6u1ArmYMSpi5$E?_On}3E6S`C7J^Un_Vx`W<3{m&whxs5@M%lgm2gx#gvThFq7n;>aeMUgYWzSGN)w?!F+=%SDut=% z6G?P9I2&b9rE8eV;o)I_fA@7C7>~z{V^1$1U3xo0#OHD<8(IXPzMO$ZXD_1kY;kJg zN*X1S#iVbI&x_9S8Nke4y-|evhoiIeNc(66K0Y29=|10XuYXypeGpA@UR5JwynH*o71h^lIKa9~a^Y_UstCxHREAF&u)$%LQED**>BYBi6BU zxK|sv&Y-qi-CqCl+ui!sw~u!m{`A{tL;8Z#7`eF|m~nzKWcV#PyBmd)i3c=?`5-H2(M}_}bJ- z-$03TD?Xott@gp_1=R3(9swuv=rO=&bn*7g2znN1 zsl_zphVjJNv)7?f>)1y<5Axw~s0N_Y_mI#()2rLsC^T%@#96yGJag&nY17W80w*|E z>qoRWa^_hoeqkIOotjE!$k6e~Y=MoPpGzArC0p%F`}MtkCqhgTGt?8~7@aS`XUK&g zeUI8{Pu}{;jRc*Wog72CLXw>S#qzNPF>#Wn__!%q0D^c?F=*(a(dsF^ovmF-J=kxq z{mbKWS81+4-spKDbS7&UO%U8TH8nTG;s~H?%&qI>!H~>mCLqO2Uz~st3K*L7xLvMB zh5oSLKRO#DtRu^F49Ps%YqHD2P>KfGnt1QKW2((uxb~yln4bOM-Rabb5nfoFW{%YS zGHmd9KAGn{Hy|dMsKq*+t^@WS{PVZV79L*HeK0O`p58{_^&JpPN7&cyd`}^-@@Ug=D>aA-t*_jfHBrjdy zaVO#nhUZ5h3~|qc%2!7$(20Q1+1WmgI(FzCRE`MvBp7uL!z8X9pW~42j1WFZ*)4c( z8Lu}+vK)*u6b?YyOH{w5oT~?h`TF6Do}xItCyzF^8lKl!tHOzsZ{=JP@Zodq1Q?rS zW2nHL^zg+5nJUsgR$9#RVtSGt6U4$h)92@@!h|q$5i?vq$Lzo8#t0JZzSuc%$Kt1h z&exx|b1R}&tsf!rF=iCTNn?8tnR|;oG6FChWk%@a?qe zc!}uNk7L0>MG>b_sehtdLCin%&(EB*u@bwlr_x6+PvU{D4!mUA2Pndl&)Bp82l3on z(*k^0QO9#&XML?{83)bXsuVkZ_HwB8kI6WQ(eO#%oxZk`h{2<&%a@B6rf0IG;Zg|l zy}!xq?9vyqX>KIu+dc@!mu8$E7&|a1RFzC~Z|imc)YD%5>F(3I0y*u*zG0o{Mi{ZZ zA0x*zlc!xYiTWs=;A2M$E?^T`(ho_F9UFy5$B6DHkNk1C*N9DzzWHDtcJla%Hi{hW z_fDyF>~JrbqEF%ZMIoM;z4p$+RGJUbnbnIdk;*V*lca$bM`bTNja%Tt5~{__ri_Jy zc7OLprGK#g#g6AxzTMp~zuc7#b=WKKodAw=1vcWHKtK$Dlp2jv3?gwF>%|MF=quwOs<=9}kR&z@}T9krjY`*}g{9TVBJ ze<>#~XW2MJCYaGg>FqmjkD=4omY1(CWhZl`+38dwIUa+@a<^_KEQ6rEp^jkv?LFDE|UALv#5{)W2d$9Yl#-^-MxdoiajZqyG`vJ#z$#xRNm>1 z-Fz$DGx*f_g~_A6Ff|!Rp>rUNdJ}1Da10zL^aK4|-&4tqe(xI#w9arII2yR4wv32W zaOMT5a4~!O#SWVYh~n7Z^WAfXWI6v78VN_1uaGCf#KlSDWMVpKnB-Zvad_ORn#9TG zdcEB{3CyEGw`$BUgPlYB94+0xgnJ{o#(_j?%`Zv{?52t#s_AM#OBGBpYwVDTRJZQK1+xgChF`1sYbn8Nl zTK)Ly=n%U6@wKSsW-rpOhS$D}Y6$LAZ!Oc7IsVfh{$%;z{x1OV=l|8e`fK1j(T#_H z`TzZ500@NtKif(M)EV%Z_>%|!{=e-tJsc}{Z+=cg8d_%b94>1sLFK1An1-jDz+wv` zb<9}0mj)%$2b;WZ=PN8G`H8;A>q&*0{VFwIHm|s{Bg(AIC=k`2+2k^xFM%zg_!xS> zf}muGnFGTzk$-jB12A35PLA&a+#K295-9@qVuGG|N0;{lfDg^(>Y6 zj7Jqz3TXbTn`N9xtj|Dn1xV7(`O3TjAqIu)Tx+So!sj%-Q&74o*EcW_F+r06@j7OT zno(-OXhlG=^;uKN!1v~IO?2_z&-*=&R#_ZqXQ?*G1ue0k8#q$3C-i35ZMO8Ngu0YL z_GcRwL_u>cb^duK^N608*8cJd8Ol`V*)_9)r6mpW_?{bLP?-gS`OQLkacd#$7V)8* zQ3+flF>|ri!D%Z1^_Bbj^*XjC`q9%#Z>1sCbpEU&B}fF7*>sN$@(*&9sT9?kE3*u3`JEd1=l-lLDYZC9x9=qAa4(7HUA+tz<}mze#0k-#)F zrQaU>{@;9Mtm<1IZ`PN?uYO!NX>CxD4L`z$%;z^-p>|W{4Jjuf4p+?tfCo``OTyYu zep^xrdFcxwTTMX_P@6Nie(}3s{JT{Ue00r1LAU%~tGwLp-x@yotN-qoLAUn6!~|12TeV5Y+kSS>F<`SoV+<1M=I zX^Prf00*6)|DF}@-2px?c_~9u(Cg*;uh#p2{l6twjAy@mG`DhZ@VAeozy8d;QZJWW zg)X;0YCpcQw)yKv>SEUskmd~Rg@U_?|MoAvotwxOb?0{ril1;E|5&NyY5+w*y1#2z z(G7@smIum6%5-tB=m!pwY`w4A8Cq?;_t|1co9*?oRd7M8{A{N;FEwXt%a!~;{HlBZ zL){zR`gE3gT53`^cUnKIfQXjx#VVa@&wX-5W97xFbEWKf>6S@YszMu^nUGa5JHPXB z(^+-Ue%3ABPnFh}#6KjMpq7_0SM@zef@+Dt^Q2-sWCB(dv?OOGl%QY&ROtJzJR{Rj zpw;_HYHbOqzh7(JZ1fiB-~Q5iFfXMx#Q^7;cp!9P&-(ZY!w!`N{(dRp^l%#PvxAIV z{`fbn52n9BO8>AJG@V=b@DJ`sT%IUBTS#n1%~k!u`p$LX;gY__pqBaQr;mjuE39M1 zhqp6p=^@XTxm<-y_hcb}gKDXfw1!r(HuLbdZ4c91KW>vyPe|!Qf!i!}i9oz3fGTRU zPv;EJYW#4gziI)gYC37Lhz(@xj41|>SNf!F>@4(qE1#3e^#Y(#Wa6ujJf>-#ry*fHIp@cWw5jIu=gR@Ov_e^u3xF;ZCb^$m4FTkJymEyxU1#sm4EeF zf7N|*El>$?XQiY3pkd7T^&34mZ7E5ewtH#@dw5GOqY1nG)5p$7b@jb97l2s65`FB?puLM3=1vLupE^H|a9qHQVp{RNcP<|i$ZT_Rr(y7mG zW`3XG3{8B#1iC#sNDbEi^>4)7Q#@_=3f=b41{w&d@Bi<&8aUOZ`YR2jnZO<9iTPpK zTj{17V#9wJwn?TWOnZu)S+ih_Eg{n5}sw zTl4b+Z;&sCOP?e%>kQSfmY*k*RUurvDmEyDDKE?J^-XuCl_TXkxAn`fQu_9lia|ke zC%-wLtk`U@+ESDsS6k$@d#m(sm&B*}7GA6=d9ZS`Y0tEC@TS;L56NCh*0I?>sB3ww z#(5nctj{1rSV`IdzlBFrO)E4KEL0J;6BuxZS2TNm%Sg&tPVN6<1GftemhUBDg>ie@ zuOCV2q0nm;J1qWWIaE|y)_-_6EE@Dzi}}i`WL^u_KKyhU?hcle7X9FT+muV29A>nZ zz#f-<_Ja*aREtVz!fpWiVmo0Q8~|zqmNR_`Ep0V^41D^r+`0KIJ^#r1Nx6EH_#gfP zeXzQNBWN^8QF(HUt+WaW9jNrlb+~GY;Cc==8*~27m9|#22CHT0=H1|iv;G6;QRZ6D zE;e(aGSnDs!44Az<9hefYN1yQE2Dk zHQ~35fl0vN_RT?p+xCAfHLg%kOU&AW;zs&TNuFnG0o*A#&q_gkX&69a?Y*-9Up}h+ zH#KEefry^7{O^{C2e=@2(!ly{H5wG%NY-b-0Y-1lg;4j-CcIEZIoY|s$?}iidt&k| zy5-WT4M6B~d><4fa)9y!!qq(w!dgh$HbhOnsttst4U$v}{?m`D0@<>XZevys(@(Ox zPp&U{7N)=sZ1{y?U?+!Ru9I|W#?|oDR@$%3n&6|n<55k2wn3N+>pV&5SeWQTy}$T` z?-h*NOf?k%)l|BHA%MZUmW%uHu;^G0k@7(p4=3&Nlo&J*jESIdJ01|qDoJPzJm8oH2VQ8f6EB9vT$3NcGmZj&*gU+(t zSZMZUWSBBSJ(E?Vf?6=oyp*$S@(j^^_foe{ne(rS+3jO#lgt|o?Xp{~wJaN*&C4&{feQP5G+;@kl-NUA~m`e)fb zvw5vb+o@0gtisa@apgDj^dMqJ%MKRH{k#vGgDn3A#Cv=-6l$}C)8m*yVleM*%)mX) z>MfL0Z5g@pxv}8sv@7R8pD~v27UnmcpZ?#ez@^A9pzOL;+{)^%lrRPI^P5a4)7k2( zWUR8!{Ohg$tqpzYvAgt-1*a0s-JjJPvpYrci(-CrE*PwcPw@qfLmu61Auc-b6TsTa z(r*|roY{gcnE2{%|HsU7`{~d1jpdg7k=&Zy6ml&$3sg!n-dO_pk4^L8g$s%gKzd##qt{eA%<>%n3j&HRz2f>wS94xU4EmB4=TH~Qx7 zp}tzrT>t%i;qEF)w1CyMROu@u)dVoBef{?$Spx!dnz!nLrDcn4=@-rVOkr(y;UC@`R_BPn zU$NW84WB|)V|GX6mCg;jf+Sm<6NWaFuHk$zSiFBt9WHDGD-zuO_>UPHY9iOW&4gAQ zR7zGj%slZ@imQu*)N|_3{*j&Cx;elQ1ZDdL{P`{G!AJ7I6}PztXI0+&_a&m9CLX7V z@|`B>Er0Se)e&J$NbY2~-_OCtukhmCqQ`Wc?50QSY_s{p_RbAW<2|F$#(avbvuU~g z^G}7$(?#&Jk5xn9>cQ2zo|S-PZIELhM`S?uG<%`pQl7H7?%!S`n4Mp5fdXE+&2*8< zRk&#0_+P)?09@-nT^&NhdFAG(%<`@Q)mC>2OlLSaB_UU%~ids&f1P0H?Ead&QgP8H2I z%G7S%omF7l#RHYE3`(U3NxXF%!{^!o(&WU?fBmTUtEIIZ|3m8{>aK?M~i`ZVYEFpO;qK_?|t>nqX2 zb>=07gfrWup7hnZc7(cE$W;npTMP!UhLBAR4|IZHx&k^BRbQ;*tQWNogsWr4wUTbC zxxUBu7+Vo7E1_BpBzj$DbyI{?%F~z{CO*l)jjZ2F5gT*FKmLWeS<-D5kxGj1BMI3} zm>3ASq-60L60Vo}u1ED@LRqdNNw~U*HCNh=qQuO8k{9Z9TCtb`PHGl__gt2*0O;1O zrjcnexf+ym2?NRbpWjgRq$>$S3{F)L76RJWo@Xpg&=D&)7-VgCNCr*-1MNlCoavcG zuSw+lKUybEeBk@=7;HTTvS_@gbIMx&$S`o{KVuhjz1u zBj_CeIFqjtg`Ff~nn5BQVEGM(Y5`#g8xGM2Q6=Trw4A3a=wg!t5d)J6IFMO`?&n)z z$^p%Q3?$U!hZ+ou6*6Gz3#yg&1K0_(-ND>e7HII06=EL7JGLqa9UL+;8={RXkgp5D zfWQbNzz9r9N@7Rh=$>G87V7q**3PK_-OgB^mIi$Z1HmA)IR!^MvryO1X&TpIh5(p* z<}BLX1hP|9fw^G>3)g!vD?>`QyxNO;yg-?UjvLI+V=dTyeb8M0>1>?R>VY*AJ)|CNoR zD(D2*&@aGSS8L7o=A(jNhJ# z_`H#iTBGZ=vnDqvs1Tyf_hquj7%SdiqqQ}N1+f0#|IEj zI5J4;pkp%~v2Lz3VU>UwU&{dUQonOU>7``-TGYJj2?`iyfi*FL7K2#(u-(no5&-~M zMrl~N0ajSL$z_J^ihD)8j0J)9Yq zR|m-a8cl?#Dd8q*VRm4HW{NE*8~`cYOL0An@9}8YJSo|?^$87qv3v9wrqjuas&1HCP>=>`exPHz{K-v zH?M@LE`(UHnjNr_ANih>Z$d^S3P+C>HsioAV@jEZKW}V8M+ke zD-lXs8mZ&pfc2DQmkaF0Iy5H@Z?+d*k3 zX@F>u&}@hb?YT9P>scuiHB1x;@T~;ZV-<(7TpeOC69ApG?4(_%xE*r1XOKP*Ng%&{ zrE7{cjOZi6cD_q79mLl&n%HDP600uMVX>0-OvH!CAYknt#LeuvtGm2gXNj4}YkWm++6bzPVP3W79f*UF!?x3Js+=7{a zwC!lr5(APUx6&bw4)sLj@Q}>uKtl4OY_bpqv;@~9EG%-M8o*UnjF9hR5C*r>{$|={ zv@if+h#HVEYU+U43th-1Jq7Vom7*W5a*`%Y9dmfHjiEZN+iA)1y&~8Pw3O}39&O7w zCA)+}Mw4RWsMzLVE#Y9@q~BUv6r?Z?}kE?wKILLEh4RSWK~+g zt4TEkHPLbj8||e--3VC_^n4G30A3GM5zc5n0N6NGOQ}lIz>v^#3PU&TX<0ks7K7*^ z>82;R-J*daI^i0)=W7UN;R_j zbi#jg!4_U;BaG=TJtttD^F7m}ToXYc%z{xbyMty_LbX$R6pS_+$`mq8bOaAk2m{Ca zxJfXshQX#_hN$HvG#B+SlN7pyiic46rf5)(#M=PUoVR-1FdOBFjbH{2xdsLeGTRG% zJAPG8Qfw0Bcq1cWTNSVA>PoNN`+o?gqG;z-XeGKVCHf`lwTh1z&h25C=E4=LQ{YY818hrpY6 zw*t?@yATCwHi?Bg=>tL!3qVqJc@*ig)R1xzNFg;CQDFzyiw!$d5$sS<9Mo~Sk0;Js5`-obg!ANe324N<@g5MnIso ztm;$Uq=BTKlDSZiCXsM3#Q_9&z$FbAL^02o(I{7qD4n6`8HKi&a+Q3Qr2|MN0FALs zdVrtVy+&r zfDI2RuESb_#(6!-N6B8j9G2$2N(C3=KKA z|K?3R9VQSn(jgSR=;-x20Mjl8P~ZSm*df@+xj+EG25L@4Y>g4NxMZL5L&(8A4d!H+ z9>RqI=(34n6ilL+lVYXgOsXtU`ey zHS`ft4m<=@Sun6E$4ck{VDbvg*Q0Pl+z30PmKqI_WY3u{Y@}Qm)!6~*0k8)S0>+BQ zks&R}0Es4x7;lcLWo(P`5RFI-JfWAef(U!OKxF_;ra)YUF`W(_KAO$GUr+*KC}NHZ zLIgN~C=(h`l%cU+qJ>yqM!`%3@>#q-Sv4BGyo7XQ>H_~e#p8$-Gy>}4YHGOE_&`piu1h?3{5)lH8R>+YBVG^ z*T)HX2u5&a>lsf4O&nASwnlIc>=G^#MF7x896zl=k(%{{Yr_WV`H@LMAb}$5OiIQ) zTa0K8B^4KUNvO&7a6$nLO5OW|MW+f`J z;tE7WC$Duj@xELk$?ZM#{r07To5&=f?$sAI?o?t%tt@K`S* zB&aPwLlBGnTLS>}%?(WRslc+uVIX!{f55pGiwsc&h*AR#{U~Ly(4|}$k5-X0&;b=C zs2PdFf=DGoBPL`FpFkPS2sqs+R9U1;MQq)Mt*q_>lpT_Rftjd+;GpA0G65Yj80I{) zz1mX+DY6on@_h)@IfqqAH5cKcNd*#^Y7kB|GkBY)O;!(4AC+d>E^m5l)W2{u5w#uI zq`KG(9M0V~L4TZCH zP9Xu`wFtsPCDa9@W|i>msG~8CL?IqJ3>dsqRB*(xNf4GHCq$IYz~rJtA-W72dYOI* z+6)}wHvrSNO1=>@3hD%Dnn|NVrv{*77IY)3L{MPAIq;xBtflJth}Anq2eASG&TnI! zMt3n$_xsrz$qpcgz)Uj%H|7T}9dvly08=d3%!(~KkZ(o7>;o_)QIHj_mB+a%6+K!+m=>)QFhq7j zR;31<9bmdy(hYzKqd)AEDAY{5fq_ScsGB5f!_hQ}G87r8YKk`C;E`QNCWY|^K-XzR z$3P8%9l6jIT@OVFDey>KVQ~qe6j(GAMu*U-#{eD;G}9U$1)zZhAnqYR7~r_+hl~=r zT{O5J61qqbSplJ0gy#pi9Vr2!bwASvc_)l!n1mydcYFejsu%4*s2jB^)1f1{2c!NC z2R0x|zNn*+OZd^=`hUrKv+p*NHBT%enaRv#f&d5*Btdc2zDp&QO0`$rTle-|rn`MT zGoG>iHcvk7M<4rNm`A_)$@beU$2~sXGu_k6U246h+O+SYNJ`u{5Fh|%GBcUU2>-r_ z1juUFDp3G3;#+>p7eUF1Qkyp%4khmaWQ>Arn}r&yz7B@kDfc~ezQJW;wM$Vr)Cw(W zi%^!@$>=&O8nKmYrgC^KmxN<8MtOx5+c6Zq7dIzc2J>ZZIX$@+RKs9A1R6oJPOp1r z$~G?q%|gKQ5A#DaIb&_qj@M~ivn6fWYLz9=y}lIraJ}QvW)+rZtq?gZE-##|-8dd@A?qVh^vwi?s23CJ^-b4ZoZ5MJ)Z89zR;P_#r4 zaig&48n$Sg`I;N%!)SVrmE173gKDEz@N@03z>~lc@o3<)>9sTw4u`;D-e#QlLNoQC z=GqRA4M&Oy-KRFx%~d6aflY=M!BZUn1m+G%Ti4dQkv@!d2R3g55|p8=R#Nf~cPsnw+=3k_l9LbqX6 z{9H5F#IxeDdOOd|)mAC37tNMs#FZ99kRt{e=dQELB3|v} z8V+Ct4D3nScH9;-^Y!YA99|cW0lM584_kp#+yXvY*k>itmR_54ya$`* z(p@q0mXLvCx1}RYtLebS<$~5^yJ_T?;qHRbP1Cge#0lL{+HD*9JY^PQltcO=ClZCU zB|wdS%WQWWH3qHLqMVwUPsLR`mCpW!fD95*+s=1Ni29E7+HVP+U1FZ#`@^xOFW zp>UuK?SOl}iIPgK(3PnZzI+mm%0Sc~YTagJt`EG?!@`g4WC&0o9GdhEFquFSyq%LY|gaWFdk31Kb$G<3?cSx1=e3Cy659RZ#gJE;gELdTb4|6hR29OyQ!hOeU zh+He5t8>d}*#d;Qm3pXg8%{J2u`3ecT20e24IhjHneG(*mYr{#5+d18SY$K!HQqEB z48Ls&76VnJm$Zv!)1%BJsUcf74^8X{2moqLL>|utU&q3(=b4}65?`7g{Shv}e+hicz;`9huTZ3k08RL5F=QerM6g|HY$k~#N@>lteM8W*T!06@nqw`? zgg}%=n3!f5HHR8WrIkQ^xTS#QWLTDT3R>MN@U2`LS>;BHyQv?VLWYLfC}4|joJa`q zGzXs@nMT?&4H>&(Yzygz+^(}6s4_+PWD#yA$%!WF(~eW_v@I)uNAh4m1P@VcX|4^^ zQ*1?O0hu<7h7k1a621jCMP+$4UTn&eZ@JKCFk-DnNzyzqCzc&T#5BjH={xx?2vNg# z;mtr%xg5#~+-(9YgUE4MBvV_$wb*H6$ZoPUHPNOXz*Ab4hG7Q<2O=vm(cD(xqPg0k zW%B?)Wz?Of9dbkF+ro+qNELTbf1@>7Y2?y|lj3=%5Jn`5O+zM0Va<+B9}QMUHJQ9n zw~X>k(H2%9IhQiVVgiFFsRfK}N6bJG*?>`eDyt18v7JC@`8L=D=`O~_Ij0g5xWcu@3#AB8#Bl`Rtuor~HzUbmcFJt{hW z-dLyKz-h}ZZY{pkZkTwzXV$r6E}VHfEy9$IuH|dR$PDsZaLiU(2tvo3pF)M3o6|Kf zOknB)38$1t5*uO^lBw=`i}}(_A&niGikxVSLp{p4&@jxkq4LwRi5h6T`PV}s12h2b z0DSEfg4$jlie!1QXj?5CP{>dUt?{kaaH~BGCTw|D)ArWIT zVLVK~VOE1yBcHDq!ge)iR%|DYdCrw<(Drd;_>RxH0cY8EJkc!pA{RD?7}(v0f^1H) zSU9F=RzN#4MB6pE%rBQgzDewuR-CZO1rt4N8g1zYLYBe^^zN>eWYefF^3l0`Y0E0L zCGZ-=)+)wE(~|*}djPv@BPtNbjOQ9j$r5G)=K}OG+Mb`}jdy zL6U}~@mdwMTOAgTb00#lux!KmaG;M9+f1~}K~z9XZsmmg6i4Nv7HkxX-p|?@nSM@&ZMhZ#Ht)77(BNvJ6UrawL6`rnZgcQVj%g zX$wsU=uT4u$k7yI$>tfj{bm9b&$YP+#=<89{iD$4b}Uk1i@=h3{M3w{TF#I`NIp*>t5G&^PtFm zCL))$xx-oAODq$_!4XsgI<69>P&dL0Aq&#(whVdMiEvZ9lcTpM4vqu7E947uaS zmP8mJ)NQY!G(ZtD$SA<^Mt~60jMIdpS>T3&UT)|Yu{2;=x$cq8s>>WyH}ZhECJq!a zIy?}jfaJn*w=Bbn0Ng2wP&@_y3vzYGZswpykaiEQwSkyHoM3lh3g0N&4g!qwvZ4Fn zU_&FZa*5<|E;K-90jS4LLK7<`-3;IAn`WEA30UYODCZQ>VrCofLze7@gu+HvZ6h|}xsYH)71oR!h>v9nWZsSG_mc>1BjAu&K?JNa=%h2@CVVuMuN9<@ zsg_423u_HLsO2F$0!QGvvVafBM{pYkv(UYGoJjJd{SZ+%&Pl*iA;wn=G0NHmz`-;M z85;lTs zI}ZtnQiVqMM2HGNu^Mz+#>dV%a*JQXQ-xpvTw>nDL8C)c+rWl)iXS1MB-~>oiKqxf znnNEVgQ*vraI5W{30-5OS`rpY*T(~lz(KnJNdf9;4F~?kMf3^(m;vlSa2UWgm8gGw zuFr~az$rc)G$ca_@@|#DpZH}nA)ktpB<`b)89-FPCQoy<0y${p&5<&)O=g8|iedy; zGy3y75IIOZ>=MeIvy{uk=1IbHP&kG`4kuzZFq6C&p{2z3@gf8SgaCKKfD^V%J(Qi{ z1xOO26>|%Z1BM2YahA}5S{NJHEl9>pV#psB({D&_qFxZ0d>TnRF(cu%Op(|Sx~O6_ zvWW&Y;obxkk!46Aq_k6N%@}?j9glax?F&E*b*CZ%V`nnaSjsZ9W!2!tfP3#@f zK{ue1fI^99K=yzLkR_AD&HxkfU$dQu&oon5coK`?D1$c1(SwHLV+ z)lrGg_+jNE$OrIxK51JZQUC@_CY&jHm4`+QTtU<0afu^io6ydPz|=lo3oznv1bKR- zlYm=HW>6tUrVo;hxtT&@*djsAT0X7z zOU+;?ZR2GYJ{&?Az3)R|`#B;&6A}rDw4jm!(q<#_4Ek*{Py`8NZWDY&^HLyozJ>BF zq>!r;;EzxVPW39y0Ie410FMy9SiAuP5ESFslTd;&$!<4-e(<2j3_a}GEN)o^z&=VI??IsgJkd~qI3KzV4?>qi*3!@oz9dyW0PI7> zk}i)>icm*wB-R4#^E6J?lmjmVAUJJCvH|rDftsTHp&vogCLOqP(iX7b5^um3A`bhJ zHyboTWQ2iU5+E_a>j)ra2WV3h`?LkI6_id6Y2Z0<7c`*Fd`MLj8X9&2QWd5IIdBEd zFn};{q^J_Ght=}Dkcis=;t-Ls2n;f`rEeG7)kO%!twCoQHTojt4d{j09NRbmiDKYSdr> z2Xmu4nITDQ0(MeDnFM$cSTx8D0Kl{cU<<0nK!q_PWF!%e5n|A$YXF8FAUaq+pf5yZd+HG8LCOSH0$a<-bR+Ttd255B}l>plmH!j1J4cGu`RF& z4xI#71fz-<(lHNBL;+$dSjY>u2w#TGAQI?dusqZ=IW6iOh8&<+@NpC(Y!V(7PeaxO z8BRu3h)+UOK%xNW@gjf}R0b#6Vhj3ycO(x5U_moEN?r-jV9cRfg!&|!(xGQUR97AV zWRchr8H}_Yhz5iB6+c768mScnnP|L;rU0|kG+9y!GH@Fdgm3^vO}ZGb(uAM-)Hf1R zC*(FB$dC;X6zY~DMG1g-fhz%kQ*q`}Kqyn&11!R)5Z0h$;n(mbusl5f!B$+`k7 z0DO2lnt~H=(0)zYGN~|5<)I>t;G%$mrXm*;MkG{Y2&W)1jQ|9~CRs(xAU+2YTM2V$ zzD=7)8t_5|k60Yp9YOqxwUcf^KQrG&^F!bw1e7JT719Im4RH)5Wue(Xpva_;zQiKz z7!(9yWKyJ4ups?dM8GiWT@*5wgZ=^SBgaIAoWumm$fRDy|Dc?G7oe9=6o5x`s*of$ zd?XQ#K?n^Io)VHIbk^n@CJ8G})eQ8DO#B0=K{;8p9=sf4n|dGc0+)ooc4CD?bXOBf z92FbDOF>&f0Hg6xONJfiL%bNU&FG|qf`*8rVkr!0OSm~3avE%pl;OcZN<;-)M>gOr zun=f{6cn8U!myC!fj^C~LqU3!tSK6lb^^SUko9y6ArCJJ`R`+?ST#1z=%ASkf>rP$ zcTtrFWfxy!G{{5PpvHVMf>85FH;4?yp9_GI3?>TkPpHpin!@BtS}d9cNdcSEIT;!Y z0FT0jP6QS*C&5nexX{5P3`hauLSo>=0e4$mSwC=LA_x}|Y=a~P0z-99AD(dhgGWXr zT2Q{q%Fvh}Z-sEoQO#h-_%);`C540KaaHn`;jJV?VJ85B78wkb zD0(DueUrG4r8dA6f`SwQpdOkO@I|L=76b|>IZ3~<4kL1bXUESi6se@or2rVz6@u0z z!JEXv45&czCWKH!`9U}!X`CL4umI3gLNX*#^%vG;LeHq^ro>NDEeX{Nuo84sB}j|G zT!6o6(_^~gJTkSY>P8VX`A>NyT^Ce#&IYIYP? z48N?@JwBHcD^l|dS|ni5@lh|aMR|`@98sR6CmeuET!6YGsRBt0=})SS)6rv;Pq7A+ zTm+#=v_b?UX%|q*B#sQ9ZnEH~AypfZlO&;Lv6xaPY1|_ij?y*w}*r29J=O0tM=gNqRM!QRxiWdAyWNIkS|?jFsL)O$UfR1hqiI zAQI5kuuY`PspU{J zR=)t{M>BJ*miU%%N>Kv<47-JzqiKsp2QVl#EQ%xuAx&Ue@LP#VBPu%g!J0WKFO)tO zf+eM>Nvx8`EF6&h7-uv~)Z962GGM8=W?w`E`r=m>+j5F(PEm&W-R zs+@2?1P^KiAS_M@Ta0J*oiV|3g4~Iek?*N|& z>J1;tS8)pA3e`K}$cY)4spKNDJ?TW0z0!OLWei9G8LOR=957*pVh;tcvQAtQlWqaW zladGfa$;BumX@f)p{=9Sr2_yqr6M$@nkpvaloDDibVJ!u{U8Q-6(l5<52ixbppXR> z6#W=^5Xu&s6njC-)`GyKo>ryv)_L-v%W>Jc<^Vq#g~DwH!IUNJv` z9Qj3nG?4;Vj|4FQE>d+;0zHGO$C^oAtG+;vXrmT+G?Y0bmkH=V3dzclSV4jvnp5FR zbeKb*z^EmZmZC`nnL9e|Qo@otLlEkbQQx6k*YBQ9o-U^kUWd1!H7-?Mo~oxDJz<)r52b- z9nK?w1XA=3gXku8_Ce;GoH03jM%s(ns-+o?zzEzKom$|zq-2$#AZ!QB3X-sdzhw0k zYmtW_Aww<1>4u`9=@p4E{FlB5jxM4ZjB8^}4NoS5PSwx|NWbb3L5D999c4%wvBYjn zS!Y}sqBJs<8#0LfsJ)xvJPQii{D0whe*@YJH2Y44NeWpyEt4HCen= zH8`3iV#*&-auNlQLOJIQtyK$A+zG1y@zfeLE%KUE?U%_1n5 z)MY9xoIsUa5y~8(LiLm=Lm`O!Xq8knlvV0x>Q94ek z*(-uiMo0l7dMf1!Z4`Y#!KH{pThp6?1H^rXk~*|+d<4pkYLF|K;_4BK?^MwcSaJ1C zYFNRQo1tnqQay|l3O5y%8A1UUs-4p9(lCL{vLOD4WHl1?IO;q`8c1sS1)>3TE6+|U znFKq{2I$(Zvf4D@B3_|;K&l{+avDGYJZP{%@|)8m7`+kZkd6+i(@FP|9I$CfPVuBd zk!UoE7rj_vF5S?fwE&n2s3nPKN~<~)AZtz_L;6DM%C2bk~RWLQ`}C1KMt6+9VhVdXya_V4q5oN1`ay5)0 zpT)3gx{}7}n2p9LWc@ffSwafD-oX!mMg*}6HK@_(7>vMxf=IMvDVQb{BD)G#jZaS% z6zOp`Bl1oGm{3P)m?Qh3cSrC@Ay!R9tOsa7rE#Sf340}t8fel%&n7)e_Cj+pxf}(4 zjHVjI|1{uHvj}Pmva*Wa5vy1oQwnvnK%p+>ks4F+fl33h7-FSHKnmzoLYTU$k(%nb zj_$`3Pzt(CMHY=T0_lI^cA7L$rO^zN-iSbux1;K&3PPSkGQJU4N;am1JU`~BP4nduHqiGHL zeR71>OH@Q8@JNlR;FG;2t4r4gQ~?pxlK7IHJQ+&(;gw1@D=k3#RwZSr5ud6PJxd__ z&O<{bSDld1c@P~wCTbW>g+d`E93hD*6z3C4ne-Gx*=-t=Vu@URQ?8N^WWmt(a2#|T zjwgW?+{mKQxe6!+p6*|fWT$OwA*hZ|R9`7jO;bnN3xhJN6hutYn}+;`LfTZ10_X~j z4vfLnpi}vbj=u%Qr&(pv42q7y>1>nJVUS`z{kv|{K#G8nR2y|CjrK^~Dd?lK5*p7) zI-DXoO5#T9+J+ycX$;{pZImKxDeu7*9l(#K%Kxa>b1EbP7@|9Mw#OA-k=nMjd!nu* z!XuU>VNOz)PW@=DhB~)Z(_C7nLA1$YJ#humPy!8wScJ}6gBXBCsqYR_STsdZTj9g$ z$ewya5vdxw(_ge8I&mVkrRLgF?|=wRpNgp&rBp3MvWEhh(nS%XTTGaxFgasoYpb0d=EqyzR`hC!O#@Iw)21!cLtr`}Q>LWjxDm_KQM-7ZA zH;H-|wWxXkQ)M7SsyI#|Qzu;N?3FI2s171Ok&vlJE09M85+x=f40%pcS!B7@MM&yR zp|lfuCF)LMAb@IMOEt%#2?)dyY1NcQqBLkyXrbf|O->ahFiI2E7oDo9i&5$n3*ZFM zqazeDIS?lL_>l|XorkHVk^CtRI5 zs>)U;I8xsh5SoSzDrBk?p){%b2u=daP-2kj=n$u=DpF`h;~EN4sxK078ZDBTC5|Lq zP?K3DWfFoxIt5U6N?`_#nJF5yNp(cbb=IXCWsoT7iqL#ZGogixz`fJC=u=%~Zc(-o6mNFG_)7JZ3G+huBTRZG-=TwiU}10SMOlkTdJ ztkv@~@(iY$osjyXk5cz4)cVw@5J;EMn246FW)5Vgh<<25*m;$qN?I`&8FSjPRPbvk z)uQy0)T1y%UzJhF%2fTSlQ4P|wJeRFd7CaH$whEiZ! zebU@T>f;E7@+zz9&V;1PEQ&|fS)0C3K-YzYY8iS9jR6RumARpm>F^VvX!4+QYf=zO z?k1)_JW-D!0YFr$>VfY0~XuqIReIjJfc^~qB2P~kBnlI;vngc2-tx&)FSv8kMa>NCBrP9!vjbG1CC zB@Mk$=>aO~MA=cMXMO}7sh+zlucOQqMNfSmmsu^5isA}(WTIP`Ys#QmDYX@;SVQlG z#uwB%1irLAq0d!Rl~HZc@rUL(u8tmMrW~|q&%A?F3PzaOzW~?odO|Gw3)$?}{dAh5`hIr^IUtXjG@9 z-9}6`GI1rY)R~r6CMikG?!lCDr&68fs3a&xRhM&=BvB}-K~i<9Vn%gBqgjfnK$2tQ zx}Fr)>e0Bem1-eEnH`}{9n}XBRvOt9QB8Si>lzGL7af>XGGFLGDU?%dQL_ep*DlnBmeI_FG%_;?KEQ`J35_P{) zbw0HM)11xq_`%Sd(DPhsL@jqxrVEsAld){T&a_EXs71}GZcQjjB|3T2^rWskY1C84 z+%mg{qnS|&6`}B7%NSJ}LP;#;kkl<4U3cn?!q6g+>&GMt_jQKTEF2lts(GEE4<9m@ zr4fk!qw7<9arGrVfKlknh!m79RPoZFre3Bdw4Dyp#|#Q0^qCmV=x7F|h)uml$v2%> zgXyDO6$y1dkj+Fi$!TI#I!fnDKgv)S9Ml)+yO@ODq+)kN!3=3Fsa>9aqS~lpE}C)Z zHq*m-sfSox*%vLfH5V%{PEI)^J=OS$swh(p-bpm5lxY_zb!e1R&r+;dUX7YHd@5a_ zEuC5tc{P8ezHSvZTGSx zi>$u50x+S*-)g9)07PHcRQYEaAa{JIo-!yVQTQly-!eT4(N?U}u`(O9C?HUCd%Y-@ zX)6UZG|WzUCg;?AQ_-i$%}#&2*;JS40&I z>V6S=IU&Cb^`?sLGY6&wi-OBc`mhW+l>blwt*csVf4y3k zRaUC0izgij?EFu3ma7L(S$?$o%qk{>TCJ}#36K$>rfa78hCHVJW&zn1B}$vB#VRMK z8BX)K5+^Fo(#Rx-nqe#UQWrlu^{BR~gC`XRa{YEKyS16j1bW7x+WE7rU$Tl&e8cp~ z60K1OOUwLhsj22S&FI=oh^{rz)?G7^{&ek4Rne+1W_y&Gl+z5M1&8KsC7oo~ou?UZ zYN02XI%~@0fX+t7%0eGHXVWOA|7BVy5)CVk*2I+!Yh-30RUFeSC~C|jRJ*Z`RnNqZ z(84tPJ~DL>CbAHc{W7$=%;X!>Fst1M*U`+>UG}j$daAS3hsHc>Np*2fW4+XnYUn#X znHCk97t=MOAlJx>lVyfVmymXx8AK^{re?AolI)JBbpBNc*x_VE7jJeRuk{E&(xRQ7 z%*wnYg*w$p&oo2_iZi6kWGCy0f6d3;e$yu-M#?%}sX$&wk@lDcpkt7D$82O%aXqF} zV=3hib)~7(!yd7V9*RT1=<&b;~HEnJi zv9m#eHtO1&tM4l6DE6+#l^yq>OEUu%u2QLyuG{FEri7lmWwUneqm`f2kIXV5JN`kB zK4?K|D5Gq$)){(`tUFWB>vUab@uDcx9U(OrQK~naJaFwQv=6Cnl04_=%(wo zgXWnZP0kOK+Cj!_#To$g!EA@~kF=Vu+QTWc%q$w~^jqe{S#}n#>rZwxiRkEVe%PW} zV`_hONN9Tbx?6cxkvh^Esb$BB=%49Dc0s-~d(8B<>~1Y{6)a{ z*)y{r>RTV#%&+q+ogUHhpxZ;do4+G`kfq^}13DVGv$RaObbgI>!Ac8zjTqhjKMYFd zXVp79jhQt;m-#wn-Nh@}QA?c#W~b3V0!r4QovbA?PLrKZliinP4Uj2^&M{j?Mx8#9 z+2_lQru3MqBZg$RnzPx3-dYEiy8YGBaypw@JLzB?zV;CGv%nfh8a^wFE`W$kPh~YH zGvU_(e#yEaLle)P!V* z%@B=se0!$bGRc+|ww`zhZAh~`WE_yqhz!x;v?IHf*$Cpu?v~rqedMhglby^t}COvX6lHk#~2O z-YJ$tFqIup;9Ze&Sg~E`;GL%69Xw};y(_x$`cbG@x3@bwGV>GN_RkjB(GQ0!?rg6M z8L9R%hc&HXfwRL`W%So=2OYJJ^vpoXbb3h2j-%}~yzF#!ckkWe>ZI;ywRMx($$$1cARHFa(Y$A?$WD3mxVzhX zoqt95L7g{o@lO}gNwvuQb@$Ud;gng6b<-*{4C^9QXFA(mDL)KlM_Pyu796(H(W>pJ z&CcJvV~o2AJ(3@GMw(^f2yS&3aP%qJ=;biu-34{laQKVz@DoHgWQY0h{FEK; z=WzY98uE#5pkYFm+3>`>?~}?YuMF`qAS0asK{E=Vo|vv=P{k!o+{H?hG$}#Fw&Dsok%# zPW5-|{4hVVTZ>0`a2TF$ex>XvhaY8DvLk4oMZfcgqmk+C^GFCg!9J`%`Qy(%tVPic zbobYeeAuDlKU%B*^apyWojCreNRO1@kxuEx_y5-e-4J#5**$+bER1d${HVVUE1w-= z06S{Mj{LW?$HStLN0xKA?88brtf#}DijG9=K7+}le|388FsPlsj#Sf;@JM<1vZJp) zOvaD9;>R!fr$6p&s8f^w^bK8n`%yg}_8vQo)sH^^u-Fb4L|^|GfA*VeU;bOh{^EcB zi~s3=`-}he-~2Ccv;Q4Go%(bAuLI+7>`$2bn*1k!T^t!GmMVkAe7;Z^7%24j514J? ziM}yoN64hNhuiLe-R2diZ?Mm_t7GY2!Kq%!Uph53a%QZMbNXI=mwNN-wYzuk@15NG z%O@L;H~jnG%`TbNvxVr+KW_8Q`IWU-&*t-|cb>%7u79xCW@Eqpq__Bv+56|eoa`UC zeDlVeSKfPL?9wMU`;61a_~`i|D>`7_h`Iav{^KR)y}mm$vrtR69z6Nx(@p=6zkfP= z_fhfKy-$VzeXFwlQn*IqT^~x`xY>W^{n6an58l2odFA@>*wrgPIrVa9+BK@-(?)e% zt}Jct_r}j3tp0G@-TP){G41`^f9#$8$Gx;xa$EggdvJ8%N~JmVexYqmUYZ_ybMWrL zxmMr1rLy}#p4pA6z4>FkPQ`rjeep)$+Tyz3ezi3|H1mqh{(Vr{T=dskJI~hIpWg9$ z9^8KP!w)Z7x#RXr^ZagfWprTFIdk(X;bxu=L`z@jxWbxnCY!-(4OzHn{Yht?JE#)=2wx zVS4b?+E=|}%lRwz-CM(d|o#;_|EH?88=dSSn^XK34 zwobg0KkErY)rCLYmdX5s zC-?7ePoG|R>=x#q?X))S^FymE6L02ZH6I+f{%&EQ|E=jp{^pQ9Ji@KF&amRmk57eu z-_X#>V~>CDO)bRz_wR*P{PM}>7k}4kef4Px@Z;T{(9Bz3sglLw#?bYwYeHoS)w6AKagK^W5pB&#f!dW4Wd=c53wg ze{3Gx+`1_LkI#q2_rLq@_y2J#|NH;2|LXt#-dy~D{!9FJ-`yJHXRh#29f7B_QnT>P8#iWX1;%auD1GY!|yQ$hPGc7 z2CUI?Exmp*%Doe=UO&C!zMX%*-Xk~Xw+?D|w+HM0{u_U_CR@u3ORvH!XQPdlD31?M zj76>K(N_QaH;Vh^Q-16G@Qdc;NqarMG#U5GW)dc2)6zT6>eX}N+rL|o&9T$p|K9gk zpWfNn`Tgf>`)z-;dhh9F@wei?eWSm0JPkhl&4sh+`r99jy?3FfzcO`lS;o@Tb?cyK%K3cs~F2?Te z)46qL)Y<3x>Ok>q@umFmy(!l8MvnjVY}%N6vVJhxS8MR*XA9G{e^^U}9r($E?T^ns zZCxGNcFs>Y#zbYYexkbD^y0s}d(6JSur>2+d2i!~{cGW~oYxw?c1&8=|0LJ*r$0@q z|MJ@Oa5#F#zIyga(|w+dt}fN@ylyXSZEWQ%F|u{5?HoI8g?;Ym5$!O`>Zr{EA_pS9u|7YW7ytDD2UQhK@ zukOBnZN4`lPoELdv7i3g==_V(x2KMmYx|QE=cfI7uXW*Od)W{p-t3}OZ(>e=<# zv+w09?u)g7(^Fz0I$zl<7B|g{!|Pig|8u!L*scwi4YNMG(cV~&_P+mg%UZm>xb*Cs z$Nk1vFIR5u=J+M|OXe&bzv1%>XU|O?^p|Tx|K@l-VeYY!{q@%L&!!*!F&R4fr&s3} z-D77gIbqlRmp^i!K24A1 z#%{RF^K~{b<%IoSGFUByi~fm|J*{T{q!R_}eWP|^{@b(1XOkg+BN`rW+zX@S;$#~5 zdu*+Itv)xL-nXyinrru>G0~2VvT60z2G8&CH*I#d>f~~Rww<>;wz!kzF2}c5wwL#L zFn?bh-~4UhKD;$B_59g*-_upb_YSU&&K#UI#(qB0THlVGn;-CPr_U(%y_g%DK6cSu z^^Eqp%f`g;T+hj*RNZF%d^orMVny_{_ga7aVrOr0Pp&+fZ|&{$RCb^2o;=;Z8xK@^ z$ETvkL2;}%$@5*FYi!z9Gu;m+F3Kglcgy<8)xGt$Uk@jLa{Tu1t*iaJ3oqA$+~Cd^ zcSB>Kug#+ccRXyl{r#0(4`3r58exs4_~R3sW`3#nLNRZAxq5M6&n&siwTW_6p5U$d z?U9M${m(XrYR*sCr=QN{OO2hz?fc$!^M@BveYbxgUJn}Ljp5bm*jzAGwQJ#M>|7Ao z>bWa>JtKR4H>P{`({j}-pXg5)=hL43;bZL|p7$p8WBEV)eXFM(7Ug$$?SY`xYPRw0UE9u+My*aTbhX>tadF1>Evvd80QYj~WV={fbZ8p=5uQu(q z`Bt#=;89}k1ksK!eBY{0wI7=k%pJC7SB5GFMs6aX#M@q}VHI~z-Rxm`J2yBnUh;%= zy?lxO@Up@5&Z5otmpQlnX)dAQgkl8b|jLA!CH?_N~c7@V5fJG)=H z7VjV1X&xIsbJZ!GO1;a&SI*2w@0#YN){AnFan+bN+qZ&aTVFf~&*bi`vgb>={e{h~ z$JHx9z3nA#;AST{yS5?QONsoGr}UAA5heQ0VO&%^#e&o?qvuMt4Rl%k|j$ zuyVUqSXk)Wy0z6CGsDY2eLS3>^Bu9e)YB&~O|12lR)fLTZr@IHrEeqN3~szFzMUO= z>rA!Cm;K{YXC`-h^4o=hZ&xptYH^T68@Z`lpE~iQ`cCmZw~>9e;- zf0cXam-5Fdg&}J@%A3*UbM3Lo$Noufj`^F$-o7387nW-MYcqqBNwobcZLCz%JG*Q% z?u&!H$1jGbgL<$PoytGBvom<6$345dHZhi~c*T?M%k9B|6Ysh&tx?f4Y`bi&cckvy z4*hvpJ@fWO#)s~I-9IXJx9VYYFK2De&eacmFTd0p>gf@GcyM+y%^!0ker(9jPaWIe zlcD#~iIs((;l4Ou-Sw+%-F7#<;a1Zf%P;Lz-S*0B;RSxWx@w5+-OZU=?a9KrF=cPn zm)W#2-}LfBZ%l>0bN-jpQLo)wcE+woi(X}9%G?zP-X;0ljmlnh{$}!2ibi?NfBvF5 zP>MEs%yz~8cfT9WZLB|ek(LHFHjnvt`lj0Ja`4je{oWBSPoMX8EpxN?#>mEsm@c(N zX+Id6+I_NZmQNPE%IbrGO3NwCzOYBE4QuM<_m$?CX8HBg8CjTFf6Jch>sif}$|pA) zzrNHc52wQyu2vr}4kpgc;$|%wC~~K7cfTs1FN!l~gL;p%@;aZNZ@aR+R8O0|`I#5S z?9<}Tqu%WogS~rw&Fx|@y1bYM)wjnFLi_BQ-h6RsZ>ry_rmZorQ5e|mAGJ4L7EU*N z&$pL(YcIdM&6>MrYa?C0=Z~_D*2be{BlTsgHjvxt$tOmkGMwzWao;=D_JN&0*4NnS z9UgE}Q7-g&{o){hZSYBJT8cCM3rnoGC*9p$Z{*vLHa1^1_qesbvHs2OMSt#~CXQSC zLu`Mze|WgIUG29<3Ms1$nvv--vzjxG4Ibo*qW8qxy)(OI*U9Ch`DV_JcGfp{H(%|w z=4u;rOMAV=gD=0bWTS5{9@&p3`=cJ~*ooHC$o`{KKMD4Z347Yxlf8qZrLn58j~Du{ zpW2RcoSDvaJj3|feoyn>9~+*(zBPOQ>0;&Q{2!M1Y;$^GZF%rq-+sT5vYz9oZ+(8u z+c-bEmCx-APMG_#H(9VI#(So3xW?&mxv@K3=^J$y7xyfC`PO_?Ywm44eX;b~I^nJ? z&LHC@c>5?C-DF`f}W;*UAH7^}N`tjE@Xe ziap-+S4 zw~)_ucbqS*8m{mr7QPFb4X?k?pV>~C-6z_SHFbR`&Gq-6{^f=Jft%w-dg_L0y>ooO z&w2W+&ug@!+N-rzJ!-r>C_MPx*6w<|7f2-EBwuuGb`;NuD|w<2XoD> zg_<3F_aY9PwaU=*SABj^uH>zr>YKwb9`-dj;lZ=l-MyRdb5E>JPHk_ltchl0xaWr# zJ?8$xT+hMNt%L2__D1tysQ1yA3$0YlfAxB|nP-a!VS2%O$_KrvYX0pHiX-Pwy>k`+ zz4%rkxi<8ycyYUNuzRrmymw?_Mx>itjc{ji|77mrt*vA)@@Id$P!W$_%|C5ztwxJK zM5BX)J$pTQ;a&XTMBnI{OFw(7XYjonZ=9{1$gd9GbXtio%$-)>&hu@N?kulvYzwx% zH@N%A;Gf;!ef+FF`*^oGx463HuRVCZKQvSs;BoQtPsZ7a3nxDKU~=H>d)LoioH}r? zo=sYz;ka^_?XCFDrrCV9+Sm#A)>hW7iR9ZS(X0QuWIq0OWATUA<>ZeKw`*~a43ZOP z@~5wsMkXiUdFS$#(cw2f{PlFrxjH^EVeHnTVj>x%Jk1+jgyMpA@Wf=TDt_HO_S+P;l{Ie|%%uy?E}@pHH>&L&t8sKb~&xmaa_niPkm>JlNe_XtJ%_x9>bynVsAG z`fr}y`)X_X^JlLfK6}2>x4Td&t?-fJDH4_wV^{4?Wm4qspb} ziP7rx8>jLU*CwXUk5`6A#yAHMtI z_VXuSeDUD>&%V2V_s)}NZ8`J2TxyA;S3Wg8Fg#Fx^WCY5(bB}3sgY~HcIbU;Ab~e02ZW?JxfN56k!e@%ESh`HS249(=PH%{*zXzc$WR zQ|H)FuN-~z^yHcG!O4>+#)sej)kOKNx6Z%&C-0sf7`S?EWW3r}tdwOVSeo10e){6c z{U^`9{q)Q4Z{NCg_txKi)rue9U7wq6$3biC6F8Qa<3E`=I~}qU=T8hC`{a^+>dMHC zU%h>0^6W=L;@q|J=w!dqO#8Q9?ruGuoqc-$-d6hT-~Hw7Cy!_EeY?7Ne{JjeVxt-D z`Q%8_r^fs9Z~c5?;Ov`MPQ3pwP7Hnc{^^Tna;4Lg6V)&Y76Z9D`|RQK z$M;Jmn^ZLPqN9(P6dtS3coE$uJWpd<` ze|56*-pzA2E}uPjyy_JP^VZH;UJq>x;F~&|-r%zW;of-e&*H_QH^=H4n za^aKrF1+>08xzxB-JNz~e|=?fZf@<>x3^wC`to`3;`7=0-+teK>R4*lZ$AzxBzLPH}MJ^6}$8xjA|B7uPPo`^#Tkz5I)xpPj0XoVrxnZF3QZ%MVv-GcOk( z-l^|Cyg&P7Vdv%7k5<=r=09K9`|g|Vm1py>wtIJ8ctf?G6JCGCyZ-A_r`|bx<<}pc zyYSY({_js7J3Dyt<1^KYz3)q-zRNcrz200+_n$r6c=@unwZ6Xm@Ws;y+u@y0?>~Pz zGyCH4qvzJt)^qEiSsbmN8!5c;?)f)woWAtIPd~hV>C)Kox2_&PK9V1*^flMxK4W*I zE|c|IdvPrYYOh{5qWbq=*J_U+-TVH*;}_5GeD|=PynInepC0s!=@WgE)0H=Wa{lzS zci;c;&AfZ_H}9Mntqe{~Rr0;jet&PX_jtMxhV>wd!bU4y`-i)t`RK)WzrXw9`P1*d zz(?)ef3opxb;$Gk`epUpejRSYUWqsw5bJwOOF28%-azA)$ z^xTQUz~IHJmaMYf{=u;+p5}xx0O&Zd^3A!(-ETj?bN}w^tta>IfAt_(`|O+7vvVt} zwLQNrjveE@>$Qe2+Wz=Sx3B1(yS8t>as1fj$$`GUvFU-r zKzV%n`g{4Efz#EA)8(G=>la7XW=dncAf7F()zZso;=u6W=;<+U;LOiI8XSFZJehubZ0OYF@f(BE3ipd<*q)i$ z-hB4eZyzq-{qnot{m_2-&4VwW`HQdjwnhIwo|P*e@Z!kX@gBQeu9Pj&cXBLu_fOYeKieQ~ulDZp z{?sgc-tcg>vjpZkQa)sxoir#RpvEGW77usu|{eCCeYN4LJ1Yc0(#zkt^ACJt(QJny+O)w{A?1UcYws&9^RH z{ou`tJ#}$_5G;w0ZxJ_kRBmGqYcR_s1{Scb`9;d%oCiw|mOl^LcBd zJQVhNePb0fSL`c|pE>!~C&!0AeEZTz?_B@*lXoWU>37dgO!rC7dp4hME#0e!Km6g* zz1u&0@x%AOy|vYN^xdmBu% zn`y7v>n2g(P^FMNG3{2~egDd}8*g0x$$#^Uk1mg2|Mdsc1J#owuIC;szu2g)1h0Po z-Mz1$&ffmwuRedh^76r*r_blMYAf~iZ=!R1cm0Ea_nOJ>L8Z_$eW}+vbM4$4AH93# z>aTwDi+4|5_{C3eesIzpyU_0pA3R-XwR)OgeEs6q?WHGQetrAPKQ64^z4P+LvxSXz z?dxyFWb$}5s;7AtA|a*T<8Qe9`kN;|{?+A+Kl%Be{>z)=Z~o~g@4t0<+8a9A*CSuO z4tkQuUp{{F{hdb-zWVy->LT!wahQ3|`@GNZNo3{;#43q8vQw)y z;W7;#N~5dRmu42`R~|lF9$UP-v2$0JdsLlwv(p zqg-nd$9OOTi6CFOw>oCncxW`hO4?$@uMwKhs6U?B!Gr38_^p$Z-LL&Oq|D^N&_^D-ZPAM-S)LR+pD_T(N@BCBqRt zguHy1E_;gk8>`b5xqfYp2YfEO(;Z1iZcm-b&M@N4L^Azevry-7Mr0NgC)O_*Cb#C~ zlZ)#c%PT8W#$_Fztz)36NQj8!@>Ns$TF7R1$Ky9|&k||B)9vuam zs{_wkn`~64zjkLGv#m#<%4dJ2gfe==AjprUSy4o_Cm@uIPDg>-dW zH?gSH-T&u@GX3_raCSv2604MK`mj#HrrXUx-tjRMJ2l-N|Mcf~mp0G-zyEx3ZOS#Q zr?G0M?nyHVZHkD_;7Ao>sZPDLGcKFo{>_eIbyKHVxjU`VPw9AEzK~fi;yTUV^=T$* zcb⁣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⪻u9o_zru+FdI;X48h7Gyn8dl<+4~h6ivu0Mx{7m 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%0D={e#qh^ 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 z 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 AZU6uP literal 0 HcmV?d00001 From c918ed3449042d9c96fcd0abe6f31625bf793cdb Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 25 Jan 2023 15:09:05 -0500 Subject: [PATCH 091/121] SoundUnit: big-endian again --- src/engine/platform/sound/su.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/platform/sound/su.cpp b/src/engine/platform/sound/su.cpp index f7bb24b31..9b7145b6b 100644 --- a/src/engine/platform/sound/su.cpp +++ b/src/engine/platform/sound/su.cpp @@ -391,7 +391,7 @@ void SoundUnit::Reset() { #ifdef TA_BIG_ENDIAN const unsigned char suBERemap[32]={ - 0x01, 0x00, 0x02, 0x03, 0x05, 0x04, 0x07, 0x06, 0x08, 0x09, 0x0b, 0x0a, 0x0d, 0x0c, 0x0f, 0x0e, + 0x01, 0x00, 0x02, 0x03, 0x04, 0x05, 0x07, 0x06, 0x08, 0x09, 0x0b, 0x0a, 0x0d, 0x0c, 0x0f, 0x0e, 0x11, 0x10, 0x12, 0x13, 0x15, 0x14, 0x16, 0x17, 0x19, 0x18, 0x1a, 0x1b, 0x1c, 0x1d, 0x1f, 0x1e }; #endif From 2c368a0ee06797223b5fd9eb7fbf5c153bbeadf3 Mon Sep 17 00:00:00 2001 From: Epictyphlosion <34047941+Epictyphlosion@users.noreply.github.com> Date: Thu, 26 Jan 2023 20:00:39 -0800 Subject: [PATCH 092/121] Add a demo song (#949) * Add a demo song * Update credits * Fixed kick from continuously playing * Some better instruments Thanks brickblock369 --- demos/opl/e3m2_opl3.fur | Bin 0 -> 1959 bytes src/gui/about.cpp | 1 + 2 files changed, 1 insertion(+) create mode 100644 demos/opl/e3m2_opl3.fur diff --git a/demos/opl/e3m2_opl3.fur b/demos/opl/e3m2_opl3.fur new file mode 100644 index 0000000000000000000000000000000000000000..63d4751ec4aa84b9d0b487c142c93787dea17b8d GIT binary patch literal 1959 zcmZWpX*3&%8m&E1OCmz4wkWYyOj~P8Dno6xRzpb$weK`9a%hm+5}8seGHMBGZDXgF zlrc(cDQUW>SjTvFwUxG1d7U$F-po1g?>*nW=ey_LbBP5XupSX7Eu;@eseCd&p$JY71PC9gDK5<1A3aC}2s930oxFn#c;;C`K zCkXH)x>1KD6Ft=#51LNby{DVlshy5_KcEnk!wHBPDKHA?;^kr4;j0hw6gUzK=Wp(n zR5^s9J zq+n=gzCt)4dW?>Y_SJubFgkA^HK9xNx#j=4w;y-3*1H)PAFP7x%3Aq$psNfXZYd5b zI%gO11393&pk(`=(Cy29iFfvZbT=`#d_nz|V+dFNudV`V?~lzH2&hHyO^+NqGbMaG zUSv~TZ%ZKMsP$ZT3PG_$ye$Y(zh#EA6seDp-Fz92TXXuYkJRlk)tx3n=IoQ}B>85L zLI<%Y4389W;(Q?){3kQ`CSD}IfF)K|CUPO&$D6wIIRcdq{LC(~0uuDgy54ULg9B4O z@Hd;@`yr;Tw58Ob8(cRbcQ^A9?3kN)mbdH6G%M@dE)z|fB_*y~k2qi3GqMd_mYB2R z%apG&8(iAJWr8-MU|39HDR^eIi1+FZ`)K;^TK{UH>PeN=&JnH_3Vv$c@XM28C#oa2 z`h?3>O&Pj6{RG{RE=X6QOVgn)?p0;g$0XjxRCWEhd+O1KBPneK;WAUQ|9?=8M|S5_ zW-G)`H&X^518dMjatU~UUtYUpr`oST^)5b!XF z=rC#el$x7dQoih_cIq7FaAPLnuxsai-|?YR^GAUxnwb*Ucj^i+8JnIb78v=K z(iN8P;}r|;fLDn^U8xZkj>354y=YB$^AuLnPjmW9f)sqmf2TUv#smb*R%8W7#m zpdnmD&?Z4TcAO`t4bm~X8yHM?iVe9@^@-$Q(TJHzvrKJzGi}wAxOxt}ug0SA;vRL@ zp8xFI*N-0-AIUg1kdgZ^60qD!(Ar6Y@jC0!($3-1HhGh=K7OX4?q}smzc(B-Khh|&bvw^>=%0*E9 zfI4LJkJn-5^EIj4W+_n5@UgRk9=h%ME90(!Bn0H$sHG5Rae40oPWSL4&9g5dYF`vZ z%nz=C{q+XJ*oSb{n&7+lMmrXI)VHh!m<@Y04?>|8Eq1M~W2eP>Y*{RVU!U3kxE27{ zJ2qCB?4m^^JiKvyJ`4@HV|#vDYDfyhPhEI?l``mHn$wc{qEx;(9+9Xh@?5`*LOUJ}`-3(b=Lp=5QHT0zKd;>4)RI+Z}aiyMIbuM2O zfQxC9K)E>s!B5Jww6!~WrLZ>Ds`oJ%5v4Ik0wi0wap~&dv()0kwlYFZqJJ&dnQzw_mVhTo zxJJiHD4ICnlL-nHDJgQ%dit`#0kB)Xx!1Mz8pB7~f1<8Lf+()q$Z>8))1^s`FcsQ7z&tiuSXRIm;vNhXHheM7Pm$ zFZ}bjs(Vbaz~$24Ip*ktlr#1F$&{3A(4Sr*J6>-cobIHX@)l~uh^}bQcnhS$pojcc zQE2{Ctu#vjf%FfrbYvl@?axdB;50ZHQC{C;=A8)wev$ew42&X~4&`Vbo*^rVCT{;y z9r^6rXFygm+$_f3J4N7oEu1%1BP*rRhU#lzAEDd8KUyIn8kZbM{#$K*qb~L@JpfnK zi$BK3J0+>dROx^@uLn{VVaTDkBu{)z-b~1CMWZGq9r95709NWaHIft2TzF+Q4e?Cwt>;d&``$oE0cV02ylccB8D6ws4UmjQ2?(>xkFXhSM}v3-6;f>JDk>HHvq YMXqfD$K%I7%Hoe?FC8LB17J4)0jXc2Q2+n{ literal 0 HcmV?d00001 diff --git a/src/gui/about.cpp b/src/gui/about.cpp index a8791420d..350aba450 100644 --- a/src/gui/about.cpp +++ b/src/gui/about.cpp @@ -75,6 +75,7 @@ const char* aboutLine[]={ "Dippy", "djtuBIG-MaliceX", "dumbut", + "EpicTyphlosion", "FΛDE", "Forte", "Fragmare", From d856ce9ad35f359fd0bd551dfac33ba365aa8488 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 27 Jan 2023 14:52:11 -0500 Subject: [PATCH 093/121] SN: possibly fix Game Gear in VGM export --- src/engine/vgmOps.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/engine/vgmOps.cpp b/src/engine/vgmOps.cpp index b603b1ce2..28dcbac44 100644 --- a/src/engine/vgmOps.cpp +++ b/src/engine/vgmOps.cpp @@ -29,6 +29,7 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write unsigned char baseAddr2=isSecond?0x80:0; unsigned short baseAddr2S=isSecond?0x8000:0; unsigned char smsAddr=isSecond?0x30:0x50; + unsigned char ggAddr=isSecond?0x3f:0x4f; unsigned char rf5c68Addr=isSecond?0xb1:0xb0; if (write.addr==0xffffffff) { // Furnace fake reset switch (sys) { @@ -613,7 +614,11 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write } break; case DIV_SYSTEM_SMS: - w->writeC(smsAddr); + if (write.addr==1) { + w->writeC(ggAddr); + } else { + w->writeC(smsAddr); + } w->writeC(write.val); break; case DIV_SYSTEM_T6W28: From 444510340892485072657350a37278f03f92a8e5 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 27 Jan 2023 16:49:42 -0500 Subject: [PATCH 094/121] SN: 0x200?! issue #945 --- src/engine/platform/sms.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/platform/sms.cpp b/src/engine/platform/sms.cpp index 6679eba25..518dd6e73 100644 --- a/src/engine/platform/sms.cpp +++ b/src/engine/platform/sms.cpp @@ -22,7 +22,7 @@ #include "../../ta-log.h" #include -#define rWrite(a,v) {if (!skipRegisterWrites) {writes.emplace(a,v); if (dumpWrites) {addWrite(0x200+a,v);}}} +#define rWrite(a,v) {if (!skipRegisterWrites) {writes.emplace(a,v); if (dumpWrites) {addWrite(a,v);}}} const char* regCheatSheetSN[]={ "DATA", "0", From dcf06445ba852bb23100d3d8bc8ff122c3dbd3d4 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Jan 2023 17:47:21 -0500 Subject: [PATCH 095/121] fix volume macro + vol change on delay issue #946 --- src/engine/macroInt.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engine/macroInt.cpp b/src/engine/macroInt.cpp index 97ae9cdea..103d9ee6b 100644 --- a/src/engine/macroInt.cpp +++ b/src/engine/macroInt.cpp @@ -56,7 +56,7 @@ void DivMacroStruct::doMacro(DivInstrumentMacro& source, bool released, bool tic } if (delay>0) { delay--; - had=false; + if (!linger) had=false; return; } if (began && source.delay>0) { @@ -523,4 +523,4 @@ DivMacroStruct* DivMacroInt::structByName(const String& name) { return NULL; } -#undef CONSIDER \ No newline at end of file +#undef CONSIDER From 47293decd34813e84ee4cbd1069df364594abb54 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Jan 2023 18:10:25 -0500 Subject: [PATCH 096/121] OPL: fix missing ADPCM channel in per-chan osc --- src/engine/platform/opl.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index afaba9f94..ff57f9afb 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -1555,7 +1555,11 @@ DivMacroInt* DivPlatformOPL::getChanMacroInt(int ch) { } DivDispatchOscBuffer* DivPlatformOPL::getOscBuffer(int ch) { - if (ch>=totalChans) return NULL; + if (oplType==759) { + if (ch>=totalChans+1) return NULL; + } else { + if (ch>=totalChans) return NULL; + } if (oplType==3 && ch<12) { if (chan[ch&(~1)].fourOp) { if (ch&1) { From 1b73f18019aec72e9f821439f53e097c3b3faa29 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Jan 2023 18:36:43 -0500 Subject: [PATCH 097/121] GUI: fix all files not working --- src/gui/gui.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index e0c458b35..2e9a196f1 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -1427,7 +1427,7 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) { hasOpened=fileDialog->openLoad( "Open File", {"compatible files", "*.fur *.dmf *.mod *.fc13 *.fc14 *.smod *.fc", - "all files", ".*"}, + "all files", "*"}, "compatible files{.fur,.dmf,.mod,.fc13,.fc14,.smod,.fc},.*", workingDirSong, dpiScale @@ -1493,7 +1493,7 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) { "VOPM preset bank", "*.opm", "Wohlstand WOPL bank", "*.wopl", "Wohlstand WOPN bank", "*.wopn", - "all files", ".*"}, + "all files", "*"}, "all compatible files{.fui,.dmp,.tfi,.vgi,.s3i,.sbi,.opli,.opni,.y12,.bnk,.ff,.gyb,.opm,.wopl,.wopn},.*", workingDirIns, dpiScale, @@ -1560,7 +1560,7 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) { hasOpened=fileDialog->openLoad( "Load Wavetable", {"compatible files", "*.fuw *.dmw", - "all files", ".*"}, + "all files", "*"}, "compatible files{.fuw,.dmw},.*", workingDirWave, dpiScale, @@ -1604,7 +1604,7 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) { hasOpened=fileDialog->openLoad( "Load Sample", {"compatible files", "*.wav *.dmc *.brr", - "all files", ".*"}, + "all files", "*"}, "compatible files{.wav,.dmc,.brr},.*", workingDirSample, dpiScale, @@ -1617,7 +1617,7 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) { if (!dirExists(workingDirSample)) workingDirSample=getHomeDir(); hasOpened=fileDialog->openLoad( "Load Raw Sample", - {"all files", ".*"}, + {"all files", "*"}, ".*", workingDirSample, dpiScale @@ -1784,7 +1784,7 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) { hasOpened=fileDialog->openLoad( "Load ROM", {"compatible files", "*.rom *.bin", - "all files", ".*"}, + "all files", "*"}, "compatible files{.rom,.bin},.*", workingDirROM, dpiScale @@ -1796,7 +1796,7 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) { "Open Test", {"compatible files", "*.fur *.dmf *.mod", "another option", "*.wav *.ttf", - "all files", ".*"}, + "all files", "*"}, "compatible files{.fur,.dmf,.mod},another option{.wav,.ttf},.*", workingDirTest, dpiScale, @@ -1815,7 +1815,7 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) { "Open Test (Multi)", {"compatible files", "*.fur *.dmf *.mod", "another option", "*.wav *.ttf", - "all files", ".*"}, + "all files", "*"}, "compatible files{.fur,.dmf,.mod},another option{.wav,.ttf},.*", workingDirTest, dpiScale, From 19e3019e4fd465cbbcb2f5d6a267db71132a86d1 Mon Sep 17 00:00:00 2001 From: 20Enderdude20 Date: Fri, 27 Jan 2023 11:02:28 -0800 Subject: [PATCH 098/121] Added a demo song Surprised I didn't upload this sooner lol --- demos/genesis/Plok_Beach.fur | Bin 0 -> 55809 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 demos/genesis/Plok_Beach.fur diff --git a/demos/genesis/Plok_Beach.fur b/demos/genesis/Plok_Beach.fur new file mode 100644 index 0000000000000000000000000000000000000000..3c2fd828859aea180f80d315723cfe2d1fa99fd9 GIT binary patch literal 55809 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 literal 0 HcmV?d00001 From a08c343f6dba00dd905ef7e339debf0ce6d10dad Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Jan 2023 17:17:15 -0500 Subject: [PATCH 099/121] SCC: massive optimization --- .../vgsound_emu/src/scc/README.md | 4 ++++ .../vgsound_emu/src/scc/scc.cpp | 18 +++++++++--------- .../vgsound_emu/src/scc/scc.hpp | 4 ++-- src/engine/platform/scc.cpp | 4 +--- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/extern/vgsound_emu-modified/vgsound_emu/src/scc/README.md b/extern/vgsound_emu-modified/vgsound_emu/src/scc/README.md index 2a66bd8cb..6ce9914d5 100644 --- a/extern/vgsound_emu-modified/vgsound_emu/src/scc/README.md +++ b/extern/vgsound_emu-modified/vgsound_emu/src/scc/README.md @@ -1,5 +1,9 @@ # Konami SCC +## modified + +the emulation core has been modified for optimization. + ## Summary - 5 voice wavetable diff --git a/extern/vgsound_emu-modified/vgsound_emu/src/scc/scc.cpp b/extern/vgsound_emu-modified/vgsound_emu/src/scc/scc.cpp index 07cbb60e8..7b0246a10 100644 --- a/extern/vgsound_emu-modified/vgsound_emu/src/scc/scc.cpp +++ b/extern/vgsound_emu-modified/vgsound_emu/src/scc/scc.cpp @@ -10,17 +10,17 @@ #include "scc.hpp" // shared SCC features -void scc_core::tick() +void scc_core::tick(const int cycles) { m_out = 0; for (auto &elem : m_voice) { - elem.tick(); + elem.tick(cycles); m_out += elem.out(); } } -void scc_core::voice_t::tick() +void scc_core::voice_t::tick(const int cycles) { if (m_pitch >= 9) // or voice is halted { @@ -28,23 +28,23 @@ void scc_core::voice_t::tick() const u16 temp = m_counter; if (m_host.m_test.freq_4bit()) // 4 bit frequency mode { - m_counter = (m_counter & ~0x0ff) | (bitfield(bitfield(m_counter, 0, 8) - 1, 0, 8) << 0); - m_counter = (m_counter & ~0xf00) | (bitfield(bitfield(m_counter, 8, 4) - 1, 0, 4) << 8); + m_counter = (m_counter & ~0x0ff) | (bitfield(bitfield(m_counter, 0, 8) - cycles, 0, 8) << 0); + m_counter = (m_counter & ~0xf00) | (bitfield(bitfield(m_counter, 8, 4) - cycles, 0, 4) << 8); } else { - m_counter = bitfield(m_counter - 1, 0, 12); + m_counter = bitfield(m_counter - cycles, 0, 12); } // handle counter carry - const bool carry = m_host.m_test.freq_8bit() + const bool carry = (temptick(); - } + scc->tick(16); short out=(short)scc->out()<<5; buf[0][h]=out; From f33564039aaac7c65c4fa011b84b28b15abc3415 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Jan 2023 17:34:50 -0500 Subject: [PATCH 100/121] SCC: tiny fix --- extern/vgsound_emu-modified/vgsound_emu/src/scc/scc.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/extern/vgsound_emu-modified/vgsound_emu/src/scc/scc.cpp b/extern/vgsound_emu-modified/vgsound_emu/src/scc/scc.cpp index 7b0246a10..8c88699b0 100644 --- a/extern/vgsound_emu-modified/vgsound_emu/src/scc/scc.cpp +++ b/extern/vgsound_emu-modified/vgsound_emu/src/scc/scc.cpp @@ -45,6 +45,10 @@ void scc_core::voice_t::tick(const int cycles) { m_addr = bitfield(m_addr + 1, 0, 5); m_counter = m_pitch - ((tempm_pitch) { + m_addr = bitfield(m_addr + 1, 0, 5); + m_counter+=m_pitch-1; + } } } // get output From 72465cf09a07b2fb6fc5e55cde184f55d29458eb Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Jan 2023 19:34:47 -0500 Subject: [PATCH 101/121] GUI: improve drag-and-drop, part 1 - BROKEN --- src/gui/cursor.cpp | 15 +++++++++++++-- src/gui/gui.h | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/gui/cursor.cpp b/src/gui/cursor.cpp index c3745d616..bc2d81375 100644 --- a/src/gui/cursor.cpp +++ b/src/gui/cursor.cpp @@ -50,8 +50,10 @@ void FurnaceGUI::startSelection(int xCoarse, int xFine, int y, bool fullRow) { selecting=true; selectingFull=false; dragSourceX=xCoarse; + dragSourceXFine=xFine; dragSourceY=y; dragDestinationX=xCoarse; + dragDestinationXFine=xFine; dragDestinationY=y; dragStart=selStart; dragEnd=selEnd; @@ -86,6 +88,7 @@ void FurnaceGUI::updateSelection(int xCoarse, int xFine, int y, bool fullRow) { if (!selecting) return; if (dragging) { dragDestinationX=xCoarse; + if (dragStart.xFine>=3) dragDestinationXFine=(xFine|1); dragDestinationY=y; cursorDrag.xCoarse=xCoarse; cursorDrag.xFine=xFine; @@ -104,6 +107,14 @@ void FurnaceGUI::updateSelection(int xCoarse, int xFine, int y, bool fullRow) { dragDestinationX=lastChannel-(dragEnd.xCoarse-dragSourceX)-1; } + if (dragStart.xFine>=3) { + logV("ddd: %d",dragStart.xFine+(dragDestinationXFine-dragSourceXFine)); + if (dragStart.xFine+(dragDestinationXFine-dragSourceXFine)<3) { + dragDestinationXFine=dragStart.xFine+dragSourceXFine-3; + } + logV("ddxf: %d",dragDestinationXFine); + } + if (dragStart.y+(dragDestinationY-dragSourceY)<0) { dragDestinationY=dragSourceY-dragStart.y; } @@ -113,10 +124,10 @@ void FurnaceGUI::updateSelection(int xCoarse, int xFine, int y, bool fullRow) { } selStart.xCoarse=dragStart.xCoarse+(dragDestinationX-dragSourceX); - selStart.xFine=dragStart.xFine; + selStart.xFine=dragStart.xFine+(dragDestinationXFine-dragSourceXFine); selStart.y=dragStart.y+(dragDestinationY-dragSourceY); selEnd.xCoarse=dragEnd.xCoarse+(dragDestinationX-dragSourceX); - selEnd.xFine=dragEnd.xFine; + selEnd.xFine=dragEnd.xFine+(dragDestinationXFine-dragSourceXFine); selEnd.y=dragEnd.y+(dragDestinationY-dragSourceY); } else { if (selectingFull) { diff --git a/src/gui/gui.h b/src/gui/gui.h index 5cb28b8f1..722079a3e 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -1453,7 +1453,7 @@ class FurnaceGUI { int curIns, curWave, curSample, curOctave, curOrder, prevIns, oldRow, oldOrder, oldOrder1, editStep, exportLoops, soloChan,orderEditMode, orderCursor; int loopOrder, loopRow, loopEnd, isClipping, extraChannelButtons, patNameTarget, newSongCategory, latchTarget; - int wheelX, wheelY, dragSourceX, dragSourceY, dragDestinationX, dragDestinationY, oldBeat, oldBar; + int wheelX, wheelY, dragSourceX, dragSourceXFine, dragSourceY, dragDestinationX, dragDestinationXFine, dragDestinationY, oldBeat, oldBar; float soloTimeout; double exportFadeOut; From 311c66ff9f0aa310b2f931cf95cd80aac016ad60 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 30 Jan 2023 03:43:46 -0500 Subject: [PATCH 102/121] GUI: improve drag-and-drop, part 2 - BROKEN --- src/gui/cursor.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/gui/cursor.cpp b/src/gui/cursor.cpp index bc2d81375..e2f68d6a3 100644 --- a/src/gui/cursor.cpp +++ b/src/gui/cursor.cpp @@ -88,7 +88,7 @@ void FurnaceGUI::updateSelection(int xCoarse, int xFine, int y, bool fullRow) { if (!selecting) return; if (dragging) { dragDestinationX=xCoarse; - if (dragStart.xFine>=3) dragDestinationXFine=(xFine|1); + if (dragStart.xFine>=3 && dragStart.xCoarse==dragEnd.xCoarse) dragDestinationXFine=(dragSourceXFine&1)?((xFine-1)|1):((xFine+1)&(~1)); dragDestinationY=y; cursorDrag.xCoarse=xCoarse; cursorDrag.xFine=xFine; @@ -107,12 +107,13 @@ void FurnaceGUI::updateSelection(int xCoarse, int xFine, int y, bool fullRow) { dragDestinationX=lastChannel-(dragEnd.xCoarse-dragSourceX)-1; } - if (dragStart.xFine>=3) { - logV("ddd: %d",dragStart.xFine+(dragDestinationXFine-dragSourceXFine)); - if (dragStart.xFine+(dragDestinationXFine-dragSourceXFine)<3) { - dragDestinationXFine=dragStart.xFine+dragSourceXFine-3; + if (dragStart.xFine>=3 && dragStart.xCoarse==dragEnd.xCoarse) { + if (dragEnd.xFine+(dragDestinationXFine-dragSourceXFine)>(2+e->curPat[dragDestinationX].effectCols*2)) { + dragDestinationXFine=(2+e->curPat[dragDestinationX].effectCols*2)-dragEnd.xFine+dragSourceXFine; } - logV("ddxf: %d",dragDestinationXFine); + if (dragStart.xFine+(dragDestinationXFine-dragSourceXFine)<3) { + dragDestinationXFine=3-dragStart.xFine+dragSourceXFine; + } } if (dragStart.y+(dragDestinationY-dragSourceY)<0) { From d1d92ac01833cfeaafd51c90af23e4a3654aeb71 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 30 Jan 2023 15:58:59 -0500 Subject: [PATCH 103/121] GUI: improve drag-and-drop, part 3 --- src/gui/doAction.cpp | 4 +- src/gui/editing.cpp | 143 +++++++++++++++---------------------------- src/gui/gui.cpp | 4 +- src/gui/gui.h | 4 +- 4 files changed, 57 insertions(+), 98 deletions(-) diff --git a/src/gui/doAction.cpp b/src/gui/doAction.cpp index b857b17cf..b9bb58417 100644 --- a/src/gui/doAction.cpp +++ b/src/gui/doAction.cpp @@ -386,10 +386,10 @@ void FurnaceGUI::doAction(int what) { doSelectAll(); break; case GUI_ACTION_PAT_CUT: - doCopy(true); + doCopy(true,true,selStart,selEnd); break; case GUI_ACTION_PAT_COPY: - doCopy(false); + doCopy(false,true,selStart,selEnd); break; case GUI_ACTION_PAT_PASTE: doPaste(); diff --git a/src/gui/editing.cpp b/src/gui/editing.cpp index 556557a92..1350b3569 100644 --- a/src/gui/editing.cpp +++ b/src/gui/editing.cpp @@ -358,66 +358,75 @@ void FurnaceGUI::doTranspose(int amount, OperationMask& mask) { makeUndo(GUI_UNDO_PATTERN_DELETE); } -void FurnaceGUI::doCopy(bool cut) { - finishSelection(); - if (cut) { - curNibble=false; - prepareUndo(GUI_UNDO_PATTERN_CUT); +String FurnaceGUI::doCopy(bool cut, bool writeClipboard, const SelectionPoint& sStart, const SelectionPoint& sEnd) { + if (writeClipboard) { + finishSelection(); + if (cut) { + curNibble=false; + prepareUndo(GUI_UNDO_PATTERN_CUT); + } } - clipboard=fmt::sprintf("org.tildearrow.furnace - Pattern Data (%d)\n%d",DIV_ENGINE_VERSION,selStart.xFine); + String clipb=fmt::sprintf("org.tildearrow.furnace - Pattern Data (%d)\n%d",DIV_ENGINE_VERSION,sStart.xFine); - for (int j=selStart.y; j<=selEnd.y; j++) { - int iCoarse=selStart.xCoarse; - int iFine=selStart.xFine; + for (int j=sStart.y; j<=sEnd.y; j++) { + int iCoarse=sStart.xCoarse; + int iFine=sStart.xFine; if (iFine>3 && !(iFine&1)) { iFine--; } - clipboard+='\n'; - for (; iCoarse<=selEnd.xCoarse; iCoarse++) { + clipb+='\n'; + for (; iCoarse<=sEnd.xCoarse; iCoarse++) { if (!e->curSubSong->chanShow[iCoarse]) continue; DivPattern* pat=e->curPat[iCoarse].getPattern(e->curOrders->ord[iCoarse][curOrder],true); - for (; iFine<3+e->curPat[iCoarse].effectCols*2 && (iCoarsecurPat[iCoarse].effectCols*2 && (iCoarsedata[j][0],pat->data[j][1]); + clipb+=noteNameNormal(pat->data[j][0],pat->data[j][1]); if (cut) { pat->data[j][0]=0; pat->data[j][1]=0; } } else { if (pat->data[j][iFine+1]==-1) { - clipboard+=".."; + clipb+=".."; } else { - clipboard+=fmt::sprintf("%.2X",pat->data[j][iFine+1]); + clipb+=fmt::sprintf("%.2X",pat->data[j][iFine+1]); } if (cut) { pat->data[j][iFine+1]=-1; } } } - clipboard+='|'; + clipb+='|'; iFine=0; } } - SDL_SetClipboardText(clipboard.c_str()); - if (cut) { - makeUndo(GUI_UNDO_PATTERN_CUT); + if (writeClipboard) { + SDL_SetClipboardText(clipb.c_str()); + if (cut) { + makeUndo(GUI_UNDO_PATTERN_CUT); + } + clipboard=clipb; } + return clipb; } -void FurnaceGUI::doPaste(PasteMode mode, int arg) { - finishSelection(); - prepareUndo(GUI_UNDO_PATTERN_PASTE); - char* clipText=SDL_GetClipboardText(); - if (clipText!=NULL) { - if (clipText[0]) { - clipboard=clipText; +void FurnaceGUI::doPaste(PasteMode mode, int arg, bool readClipboard, String clipb) { + if (readClipboard) { + finishSelection(); + prepareUndo(GUI_UNDO_PATTERN_PASTE); + char* clipText=SDL_GetClipboardText(); + if (clipText!=NULL) { + if (clipText[0]) { + clipboard=clipText; + } + SDL_free(clipText); } - SDL_free(clipText); + clipb=clipboard; } std::vector data; String tempS; - for (char i: clipboard) { + for (char i: clipb) { if (i=='\r') continue; if (i=='\n') { data.push_back(tempS); @@ -562,15 +571,18 @@ void FurnaceGUI::doPaste(PasteMode mode, int arg) { i=1; } } - if (settings.cursorPastePos) { - cursor.y=j; - if (cursor.y>=e->curSubSong->patLen) cursor.y=e->curSubSong->patLen-1; - selStart=cursor; - selEnd=cursor; - updateScroll(cursor.y); - } - makeUndo(GUI_UNDO_PATTERN_PASTE); + if (readClipboard) { + if (settings.cursorPastePos) { + cursor.y=j; + if (cursor.y>=e->curSubSong->patLen) cursor.y=e->curSubSong->patLen-1; + selStart=cursor; + selEnd=cursor; + updateScroll(cursor.y); + } + + makeUndo(GUI_UNDO_PATTERN_PASTE); + } } void FurnaceGUI::doChangeIns(int ins) { @@ -926,72 +938,19 @@ void FurnaceGUI::doExpand(int multiplier) { } void FurnaceGUI::doDrag() { - DivPattern* patBuffer=NULL; int len=dragEnd.xCoarse-dragStart.xCoarse+1; - DETERMINE_FIRST_LAST; - if (len<1) return; - patBuffer=new DivPattern[len]; prepareUndo(GUI_UNDO_PATTERN_DRAG); // copy and clear - { - int iCoarse=dragStart.xCoarse; - int iFine=dragStart.xFine; - int iCoarseP=0; - for (; iCoarse<=dragEnd.xCoarse; iCoarse++) { - if (!e->curSubSong->chanShow[iCoarse]) continue; - DivPattern* pat=e->curPat[iCoarse].getPattern(e->curOrders->ord[iCoarse][curOrder],true); - for (; iFine<3+e->curPat[iCoarse].effectCols*2 && (iCoarsedata[j][iFine]; - pat->data[j][iFine]=0; - if (dragStart.y==dragEnd.y) pat->data[j][2]=-1; - } - patBuffer[iCoarseP].data[row][iFine+1]=pat->data[j][iFine+1]; - pat->data[j][iFine+1]=(iFine<1)?0:-1; - - if (dragStart.y==dragEnd.y && iFine>2 && iFine&1 && settings.effectDeletionAltersValue) { - pat->data[j][iFine+2]=-1; - } - row++; - } - } - iFine=0; - iCoarseP++; - } - } + String c=doCopy(true,false,dragStart,dragEnd); // replace - { - int iCoarse=selStart.xCoarse; - int iFine=selStart.xFine; - int iCoarseP=0; - for (; iCoarse<=selEnd.xCoarse && iCoarsePlastChannel) continue; - if (!e->curSubSong->chanShow[iCoarse]) continue; - DivPattern* pat=e->curPat[iCoarse].getPattern(e->curOrders->ord[iCoarse][curOrder],true); - for (; iFine<3+e->curPat[iCoarse].effectCols*2 && (iCoarse=e->curSubSong->patLen) continue; - if (iFine==0) { - pat->data[j][iFine]=patBuffer[iCoarseP].data[row][iFine]; - } - pat->data[j][iFine+1]=patBuffer[iCoarseP].data[row][iFine+1]; - } - } - iFine=0; - iCoarseP++; - } - } + cursor=selStart; + doPaste(GUI_PASTE_MODE_NORMAL,0,false,c); - delete[] patBuffer; makeUndo(GUI_UNDO_PATTERN_DRAG); } diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 2e9a196f1..279e3242e 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -2303,8 +2303,8 @@ void FurnaceGUI::editOptions(bool topMenu) { char id[4096]; editOptsVisible=true; - if (ImGui::MenuItem("cut",BIND_FOR(GUI_ACTION_PAT_CUT))) doCopy(true); - if (ImGui::MenuItem("copy",BIND_FOR(GUI_ACTION_PAT_COPY))) doCopy(false); + if (ImGui::MenuItem("cut",BIND_FOR(GUI_ACTION_PAT_CUT))) doCopy(true,true,selStart,selEnd); + if (ImGui::MenuItem("copy",BIND_FOR(GUI_ACTION_PAT_COPY))) doCopy(false,true,selStart,selEnd); if (ImGui::MenuItem("paste",BIND_FOR(GUI_ACTION_PAT_PASTE))) doPaste(); if (ImGui::BeginMenu("paste special...")) { if (ImGui::MenuItem("paste mix",BIND_FOR(GUI_ACTION_PAT_PASTE_MIX))) doPaste(GUI_PASTE_MODE_MIX_FG); diff --git a/src/gui/gui.h b/src/gui/gui.h index 722079a3e..1b53be44c 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -1889,8 +1889,8 @@ class FurnaceGUI { void doPullDelete(); void doInsert(); void doTranspose(int amount, OperationMask& mask); - void doCopy(bool cut); - void doPaste(PasteMode mode=GUI_PASTE_MODE_NORMAL, int arg=0); + String doCopy(bool cut, bool writeClipboard, const SelectionPoint& sStart, const SelectionPoint& sEnd); + void doPaste(PasteMode mode=GUI_PASTE_MODE_NORMAL, int arg=0, bool readClipboard=true, String clipb=""); void doChangeIns(int ins); void doInterpolate(); void doFade(int p0, int p1, bool mode); From 1a3648eefdbae7c0e0edfe00f3f1ab1654a90ffc Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 31 Jan 2023 03:25:27 -0500 Subject: [PATCH 104/121] GUI: improve drag-and-drop, part 4 --- src/gui/cursor.cpp | 2 +- src/gui/editing.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/cursor.cpp b/src/gui/cursor.cpp index e2f68d6a3..09da1b257 100644 --- a/src/gui/cursor.cpp +++ b/src/gui/cursor.cpp @@ -168,7 +168,7 @@ void FurnaceGUI::finishSelection() { selectingFull=false; if (dragging) { - if (dragSourceX==dragDestinationX && dragSourceY==dragDestinationY) { + if (dragSourceX==dragDestinationX && dragSourceY==dragDestinationY && dragSourceXFine==dragDestinationXFine) { cursor=cursorDrag; selStart=cursorDrag; selEnd=cursorDrag; diff --git a/src/gui/editing.cpp b/src/gui/editing.cpp index 1350b3569..0d8341b28 100644 --- a/src/gui/editing.cpp +++ b/src/gui/editing.cpp @@ -947,6 +947,8 @@ void FurnaceGUI::doDrag() { // copy and clear String c=doCopy(true,false,dragStart,dragEnd); + logV("copy: %s",c); + // replace cursor=selStart; doPaste(GUI_PASTE_MODE_NORMAL,0,false,c); From c31d143783add59fad216c966ea6314592790f9a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 31 Jan 2023 15:11:02 -0500 Subject: [PATCH 105/121] TIA: consistent pitch macro --- src/engine/platform/tia.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/engine/platform/tia.cpp b/src/engine/platform/tia.cpp index 7b29524ec..d46a2b67b 100644 --- a/src/engine/platform/tia.cpp +++ b/src/engine/platform/tia.cpp @@ -138,14 +138,14 @@ void DivPlatformTIA::tick(bool sysTick) { bf+=chan[i].arpOff; } } - chan[i].freq=dealWithFreq(chan[i].shape,bf,chan[i].pitch)+chan[i].pitch2; + chan[i].freq=dealWithFreq(chan[i].shape,bf,chan[i].pitch+chan[i].pitch2); if ((chan[i].shape==4 || chan[i].shape==5) && !(chan[i].baseFreq&0x80000000 && ((chan[i].baseFreq&0x7fffffff)<32))) { if (bf<39*256) { rWrite(0x15+i,6); - chan[i].freq=dealWithFreq(6,bf,chan[i].pitch)+chan[i].pitch2; + chan[i].freq=dealWithFreq(6,bf,chan[i].pitch+chan[i].pitch2); } else if (bf<59*256) { rWrite(0x15+i,12); - chan[i].freq=dealWithFreq(12,bf,chan[i].pitch)+chan[i].pitch2; + chan[i].freq=dealWithFreq(12,bf,chan[i].pitch+chan[i].pitch2); } else { rWrite(0x15+i,chan[i].shape); } From 1dec8bff40d8c924e8ce8f318a34d3b5ed10c98a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 1 Feb 2023 14:16:20 -0500 Subject: [PATCH 106/121] GUI: prevent user from sliding macros out of view --- src/gui/insEdit.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 4e4941efb..ca95d42cc 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -1782,13 +1782,19 @@ void FurnaceGUI::drawMacros(std::vector& macros, FurnaceGUI ImGui::TableNextColumn(); float availableWidth=ImGui::GetContentRegionAvail().x-reservedSpace; int totalFit=MIN(255,availableWidth/MAX(1,macroPointSize*dpiScale)); - if (macroDragScroll>255-totalFit) { - macroDragScroll=255-totalFit; + int scrollMax=0; + for (FurnaceGUIMacroDesc& i: macros) { + if (i.macro->len>scrollMax) scrollMax=i.macro->len; + } + scrollMax-=totalFit; + if (scrollMax<0) scrollMax=0; + if (macroDragScroll>scrollMax) { + macroDragScroll=scrollMax; } ImGui::SetNextItemWidth(availableWidth); - if (CWSliderInt("##MacroScroll",¯oDragScroll,0,255-totalFit,"")) { + if (CWSliderInt("##MacroScroll",¯oDragScroll,0,scrollMax,"")) { if (macroDragScroll<0) macroDragScroll=0; - if (macroDragScroll>255-totalFit) macroDragScroll=255-totalFit; + if (macroDragScroll>scrollMax) macroDragScroll=scrollMax; } // draw macros @@ -1839,9 +1845,9 @@ void FurnaceGUI::drawMacros(std::vector& macros, FurnaceGUI ImGui::TableNextColumn(); ImGui::TableNextColumn(); ImGui::SetNextItemWidth(availableWidth); - if (CWSliderInt("##MacroScroll",¯oDragScroll,0,255-totalFit,"")) { + if (CWSliderInt("##MacroScroll",¯oDragScroll,0,scrollMax,"")) { if (macroDragScroll<0) macroDragScroll=0; - if (macroDragScroll>255-totalFit) macroDragScroll=255-totalFit; + if (macroDragScroll>scrollMax) macroDragScroll=scrollMax; } ImGui::EndTable(); } From 9bf38e02cacb1095caf89f4449337d358976c18b Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 1 Feb 2023 14:33:41 -0500 Subject: [PATCH 107/121] GUI: ins edit disable scroll if no scroll range --- src/gui/insEdit.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index ca95d42cc..1d93cb671 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -1791,11 +1791,13 @@ void FurnaceGUI::drawMacros(std::vector& macros, FurnaceGUI if (macroDragScroll>scrollMax) { macroDragScroll=scrollMax; } + ImGui::BeginDisabled(scrollMax<1); ImGui::SetNextItemWidth(availableWidth); if (CWSliderInt("##MacroScroll",¯oDragScroll,0,scrollMax,"")) { if (macroDragScroll<0) macroDragScroll=0; if (macroDragScroll>scrollMax) macroDragScroll=scrollMax; } + ImGui::EndDisabled(); // draw macros for (FurnaceGUIMacroDesc& i: macros) { @@ -1844,11 +1846,13 @@ void FurnaceGUI::drawMacros(std::vector& macros, FurnaceGUI ImGui::TableNextRow(); ImGui::TableNextColumn(); ImGui::TableNextColumn(); + ImGui::BeginDisabled(scrollMax<1); ImGui::SetNextItemWidth(availableWidth); if (CWSliderInt("##MacroScroll",¯oDragScroll,0,scrollMax,"")) { if (macroDragScroll<0) macroDragScroll=0; if (macroDragScroll>scrollMax) macroDragScroll=scrollMax; } + ImGui::EndDisabled(); ImGui::EndTable(); } break; From e6dfeebaeed066185188bd1de273801e68e03dce Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 1 Feb 2023 14:39:35 -0500 Subject: [PATCH 108/121] SoundUnit: emulator license MIT license - I am the only one who wrote this specific piece of code --- src/engine/platform/sound/su.cpp | 22 ++++++++++++++++++++++ src/engine/platform/sound/su.h | 22 +++++++++++++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/engine/platform/sound/su.cpp b/src/engine/platform/sound/su.cpp index 9b7145b6b..9033a0d79 100644 --- a/src/engine/platform/sound/su.cpp +++ b/src/engine/platform/sound/su.cpp @@ -1,3 +1,25 @@ +/* su.cpp/su.h - Sound Unit emulator + * Copyright (C) 2015-2023 tildearrow + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + #define _USE_MATH_DEFINES #include "su.h" #include diff --git a/src/engine/platform/sound/su.h b/src/engine/platform/sound/su.h index 528d545b5..d8e0f2709 100644 --- a/src/engine/platform/sound/su.h +++ b/src/engine/platform/sound/su.h @@ -1,7 +1,27 @@ +/* su.cpp/su.h - Sound Unit emulator + * Copyright (C) 2015-2023 tildearrow + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #include #include #include -#include class SoundUnit { signed char SCsine[256]; From d49850f67fa5f0b42dae534b633ae686de2d5e81 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 2 Feb 2023 03:16:10 -0500 Subject: [PATCH 109/121] YM2612: fix per-chan osc overflow on ymfm --- src/engine/platform/genesis.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 777fbc6d0..239ad5f7c 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -225,6 +225,9 @@ void DivPlatformGenesis::acquire_ymfm(short** buf, size_t len) { //OPN2_Write(&fm,0,0); for (int i=0; i<6; i++) { + int chOut=(fme->debug_channel(i)->debug_output(0)+fme->debug_channel(i)->debug_output(1))<<6; + if (chOut<-32768) chOut=-32768; + if (chOut>32767) chOut=32767; if (i==5) { if (fm_ymfm->debug_dac_enable()) { if (softPCM) { @@ -234,10 +237,10 @@ void DivPlatformGenesis::acquire_ymfm(short** buf, size_t len) { oscBuf[i]->data[oscBuf[i]->needle++]=fm_ymfm->debug_dac_data()<<7; } } else { - oscBuf[i]->data[oscBuf[i]->needle++]=(fme->debug_channel(i)->debug_output(0)+fme->debug_channel(i)->debug_output(1))<<6; + oscBuf[i]->data[oscBuf[i]->needle++]=chOut; } } else { - oscBuf[i]->data[oscBuf[i]->needle++]=(fme->debug_channel(i)->debug_output(0)+fme->debug_channel(i)->debug_output(1))<<6; + oscBuf[i]->data[oscBuf[i]->needle++]=chOut; } } From d546d135b9137ce4c084a45bf11648919c938fc3 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 3 Feb 2023 15:31:02 -0500 Subject: [PATCH 110/121] GUI: issue #954 --- src/gui/gui.cpp | 4 ++++ src/gui/settings.cpp | 38 ++++++++++++++++++++------------------ 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 279e3242e..ed21ad994 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -5357,6 +5357,10 @@ bool FurnaceGUI::init() { logD("auto-detecting UI scale factor."); dpiScale=getScaleFactor(videoBackend); logD("scale factor: %f",dpiScale); + if (dpiScale<0.1f) { + logW("scale what?"); + dpiScale=1.0f; + } } #if !(defined(__APPLE__) || defined(_WIN32)) diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 43adfc85a..50a36a9e8 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -3334,6 +3334,8 @@ void FurnaceGUI::applyUISettings(bool updateFonts) { ImGui::StyleColorsDark(&sty); } + if (dpiScale<0.1) dpiScale=0.1; + setupLabel(settings.noteOffLabel.c_str(),noteOffLabel,3); setupLabel(settings.noteRelLabel.c_str(),noteRelLabel,3); setupLabel(settings.macroRelLabel.c_str(),macroRelLabel,3); @@ -3539,21 +3541,21 @@ void FurnaceGUI::applyUISettings(bool updateFonts) { fc1.MergeMode=true; if (settings.mainFont==6) { // custom font - if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(settings.mainFontPath.c_str(),e->getConfInt("mainFontSize",18)*dpiScale,NULL,fontRange))==NULL) { + if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(settings.mainFontPath.c_str(),MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) { logW("could not load UI font! reverting to default font"); settings.mainFont=0; - if ((mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFont[settings.mainFont],builtinFontLen[settings.mainFont],e->getConfInt("mainFontSize",18)*dpiScale,NULL,fontRange))==NULL) { + if ((mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFont[settings.mainFont],builtinFontLen[settings.mainFont],MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) { logE("could not load UI font! falling back to Proggy Clean."); mainFont=ImGui::GetIO().Fonts->AddFontDefault(); } } } else if (settings.mainFont==5) { // system font - if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_FONT_PATH_1,e->getConfInt("mainFontSize",18)*dpiScale,NULL,fontRange))==NULL) { - if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_FONT_PATH_2,e->getConfInt("mainFontSize",18)*dpiScale,NULL,fontRange))==NULL) { - if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_FONT_PATH_3,e->getConfInt("mainFontSize",18)*dpiScale,NULL,fontRange))==NULL) { + if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_FONT_PATH_1,MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) { + if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_FONT_PATH_2,MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) { + if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_FONT_PATH_3,MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) { logW("could not load UI font! reverting to default font"); settings.mainFont=0; - if ((mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFont[settings.mainFont],builtinFontLen[settings.mainFont],e->getConfInt("mainFontSize",18)*dpiScale,NULL,fontRange))==NULL) { + if ((mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFont[settings.mainFont],builtinFontLen[settings.mainFont],MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) { logE("could not load UI font! falling back to Proggy Clean."); mainFont=ImGui::GetIO().Fonts->AddFontDefault(); } @@ -3561,21 +3563,21 @@ void FurnaceGUI::applyUISettings(bool updateFonts) { } } } else { - if ((mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFont[settings.mainFont],builtinFontLen[settings.mainFont],e->getConfInt("mainFontSize",18)*dpiScale,NULL,fontRange))==NULL) { + if ((mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFont[settings.mainFont],builtinFontLen[settings.mainFont],MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) { logE("could not load UI font! falling back to Proggy Clean."); mainFont=ImGui::GetIO().Fonts->AddFontDefault(); } } // two fallback fonts - mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(font_liberationSans_compressed_data,font_liberationSans_compressed_size,e->getConfInt("mainFontSize",18)*dpiScale,&fc1,fontRange); - mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(font_unifont_compressed_data,font_unifont_compressed_size,e->getConfInt("mainFontSize",18)*dpiScale,&fc1,fontRange); + mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(font_liberationSans_compressed_data,font_liberationSans_compressed_size,MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),&fc1,fontRange); + mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(font_unifont_compressed_data,font_unifont_compressed_size,MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),&fc1,fontRange); ImFontConfig fc; fc.MergeMode=true; fc.GlyphMinAdvanceX=e->getConfInt("iconSize",16)*dpiScale; static const ImWchar fontRangeIcon[]={ICON_MIN_FA,ICON_MAX_FA,0}; - if ((iconFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(iconFont_compressed_data,iconFont_compressed_size,e->getConfInt("iconSize",16)*dpiScale,&fc,fontRangeIcon))==NULL) { + if ((iconFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(iconFont_compressed_data,iconFont_compressed_size,MAX(1,e->getConfInt("iconSize",16)*dpiScale),&fc,fontRangeIcon))==NULL) { logE("could not load icon font!"); } @@ -3584,21 +3586,21 @@ void FurnaceGUI::applyUISettings(bool updateFonts) { patFont=mainFont; } else { if (settings.patFont==6) { // custom font - if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(settings.patFontPath.c_str(),e->getConfInt("patFontSize",18)*dpiScale,NULL,upTo800))==NULL) { + if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(settings.patFontPath.c_str(),MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) { logW("could not load pattern font! reverting to default font"); settings.patFont=0; - if ((patFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.patFont],builtinFontMLen[settings.patFont],e->getConfInt("patFontSize",18)*dpiScale,NULL,upTo800))==NULL) { + if ((patFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.patFont],builtinFontMLen[settings.patFont],MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) { logE("could not load pattern font! falling back to Proggy Clean."); patFont=ImGui::GetIO().Fonts->AddFontDefault(); } } } else if (settings.patFont==5) { // system font - if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_PAT_FONT_PATH_1,e->getConfInt("patFontSize",18)*dpiScale,NULL,upTo800))==NULL) { - if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_PAT_FONT_PATH_2,e->getConfInt("patFontSize",18)*dpiScale,NULL,upTo800))==NULL) { - if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_PAT_FONT_PATH_3,e->getConfInt("patFontSize",18)*dpiScale,NULL,upTo800))==NULL) { + if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_PAT_FONT_PATH_1,MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) { + if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_PAT_FONT_PATH_2,MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) { + if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_PAT_FONT_PATH_3,MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) { logW("could not load pattern font! reverting to default font"); settings.patFont=0; - if ((patFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.patFont],builtinFontMLen[settings.patFont],e->getConfInt("patFontSize",18)*dpiScale,NULL,upTo800))==NULL) { + if ((patFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.patFont],builtinFontMLen[settings.patFont],MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) { logE("could not load pattern font! falling back to Proggy Clean."); patFont=ImGui::GetIO().Fonts->AddFontDefault(); } @@ -3606,7 +3608,7 @@ void FurnaceGUI::applyUISettings(bool updateFonts) { } } } else { - if ((patFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.patFont],builtinFontMLen[settings.patFont],e->getConfInt("patFontSize",18)*dpiScale,NULL,upTo800))==NULL) { + if ((patFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.patFont],builtinFontMLen[settings.patFont],MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) { logE("could not load pattern font!"); patFont=ImGui::GetIO().Fonts->AddFontDefault(); } @@ -3615,7 +3617,7 @@ void FurnaceGUI::applyUISettings(bool updateFonts) { // 0x39B = Λ static const ImWchar bigFontRange[]={0x20,0xFF,0x39b,0x39b,0}; - if ((bigFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(font_plexSans_compressed_data,font_plexSans_compressed_size,40*dpiScale,NULL,bigFontRange))==NULL) { + if ((bigFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(font_plexSans_compressed_data,font_plexSans_compressed_size,MAX(1,40*dpiScale),NULL,bigFontRange))==NULL) { logE("could not load big UI font!"); } From 43ba2ff8f216138485e485e600610afe266a53bd Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 3 Feb 2023 17:00:15 -0500 Subject: [PATCH 111/121] OPZ: implement LFO2 issue #831 untested and I can't test now --- papers/doc/7-systems/opz.md | 10 ++++ src/engine/dispatch.h | 8 +-- src/engine/platform/fmshared_OPM.h | 8 ++- src/engine/platform/tx81z.cpp | 80 +++++++++++++++++++++++++++--- src/engine/platform/tx81z.h | 2 +- src/engine/playback.cpp | 8 +-- src/engine/sysDef.cpp | 4 ++ 7 files changed, 104 insertions(+), 16 deletions(-) diff --git a/papers/doc/7-systems/opz.md b/papers/doc/7-systems/opz.md index c7952a55b..555df814f 100644 --- a/papers/doc/7-systems/opz.md +++ b/papers/doc/7-systems/opz.md @@ -45,6 +45,16 @@ no plans have been made for TX81Z MIDI passthrough, because: - `1Bxx`: set attack of operator 2. - `1Cxx`: set attack of operator 3. - `1Dxx`: set attack of operator 4. +- `1Exx`: set LFO AM depth. +- `1Fxx`: set LFO PM depth. +- `24xx`: set LFO 2 speed. +- `25xx`: set LFO 2 waveform. `xx` may be one of the following: + - `00`: saw + - `01`: square + - `02`: triangle + - `03`: noise +- `26xx`: set LFO 2 AM depth. +- `27xx`: set LFO 2 PM depth. - `28xy`: set reverb of operator. - `x` is the operator (1-4). a value of 0 means "all operators". - `y` is the value. diff --git a/src/engine/dispatch.h b/src/engine/dispatch.h index 0378eba26..32540db2a 100644 --- a/src/engine/dispatch.h +++ b/src/engine/dispatch.h @@ -103,9 +103,8 @@ enum DivDispatchCmds { DIV_CMD_FM_AM_DEPTH, // (depth) DIV_CMD_FM_PM_DEPTH, // (depth) - DIV_CMD_GENESIS_LFO, // unused? - - DIV_CMD_ARCADE_LFO, // unused? + DIV_CMD_FM_LFO2, // (speed) + DIV_CMD_FM_LFO2_WAVE, // (waveform) DIV_CMD_STD_NOISE_FREQ, // (freq) DIV_CMD_STD_NOISE_MODE, // (mode) @@ -215,6 +214,9 @@ enum DivDispatchCmds { DIV_CMD_SURROUND_PANNING, // (out, val) + DIV_CMD_FM_AM2_DEPTH, // (depth) + DIV_CMD_FM_PM2_DEPTH, // (depth) + DIV_ALWAYS_SET_VOLUME, // () -> alwaysSetVol DIV_CMD_MAX diff --git a/src/engine/platform/fmshared_OPM.h b/src/engine/platform/fmshared_OPM.h index 02c30b7eb..e922e8abb 100644 --- a/src/engine/platform/fmshared_OPM.h +++ b/src/engine/platform/fmshared_OPM.h @@ -41,8 +41,14 @@ class DivPlatformOPM: public DivPlatformFMBase { 0x00, 0x08, 0x10, 0x18 }; + unsigned char lfoValue, lfoValue2, lfoShape, lfoShape2; + DivPlatformOPM(): - DivPlatformFMBase() {} + DivPlatformFMBase(), + lfoValue(0), + lfoValue2(0), + lfoShape(0), + lfoShape2(0) {} }; #endif diff --git a/src/engine/platform/tx81z.cpp b/src/engine/platform/tx81z.cpp index db728489e..80e69f195 100644 --- a/src/engine/platform/tx81z.cpp +++ b/src/engine/platform/tx81z.cpp @@ -26,6 +26,8 @@ #define ADDR_WS_FINE 0x100 // actually 0xc0 but bit 5 of data selects address #define ADDR_EGS_REV 0x120 +// actually 0x38 but bits 7 and 2 select address +#define ADDR_FMS2_AMS2 0x140 const char* regCheatSheetOPZ[]={ "Test", "00", @@ -139,7 +141,8 @@ void DivPlatformTX81Z::tick(bool sysTick) { } if (chan[i].std.wave.had) { - rWrite(0x1b,chan[i].std.wave.val&3); + lfoShape=chan[i].std.wave.val&3; + immWrite(0x1b,lfoShape|(lfoShape2<<2)); } if (chan[i].std.pitch.had) { @@ -177,7 +180,28 @@ void DivPlatformTX81Z::tick(bool sysTick) { } if (chan[i].std.ex3.had) { - immWrite(0x18,chan[i].std.ex3.val); + lfoValue=chan[i].std.ex3.val; + immWrite(0x18,lfoValue); + } + + if (chan[i].std.ex5.had) { + amDepth2=chan[i].std.ex5.val; + immWrite(0x17,amDepth2); + } + + if (chan[i].std.ex6.had) { + pmDepth2=chan[i].std.ex6.val; + immWrite(0x17,0x80|pmDepth2); + } + + if (chan[i].std.ex7.had) { + lfoValue2=chan[i].std.ex7.val; + immWrite(0x16,lfoValue2); + } + + if (chan[i].std.ex8.had) { + lfoShape2=chan[i].std.ex8.val&3; + immWrite(0x1b,lfoShape|(lfoShape2<<2)); } if (chan[i].std.alg.had) { @@ -286,6 +310,12 @@ void DivPlatformTX81Z::tick(bool sysTick) { oldWrites[i]=pendingWrites[i]; } } + for (int i=320; i<328; i++) { + if (pendingWrites[i]!=oldWrites[i]) { + immWrite(0x38+(i&7),(0x84|pendingWrites[i])); + oldWrites[i]=pendingWrites[i]; + } + } int hardResetElapsed=0; bool mustHardReset=false; @@ -405,7 +435,7 @@ void DivPlatformTX81Z::commitState(int ch, DivInstrument* ins) { rWrite(chanOffs[ch]+ADDR_LR_FB_ALG,(chan[ch].state.alg&7)|(chan[ch].state.fb<<3)|((chan[ch].chVolL&1)<<6)|((chan[ch].chVolR&1)<<7)); }*/ rWrite(chanOffs[ch]+ADDR_FMS_AMS,((chan[ch].state.fms&7)<<4)|(chan[ch].state.ams&3)); - //rWrite(chanOffs[ch]+ADDR_FMS_AMS,0x84|((chan[ch].state.fms2&7)<<4)|(chan[ch].state.ams2&3)); + rWrite(chanOffs[ch]+ADDR_FMS2_AMS2,((chan[ch].state.fms2&7)<<4)|(chan[ch].state.ams2&3)); } } @@ -528,11 +558,23 @@ int DivPlatformTX81Z::dispatch(DivCommand c) { break; } case DIV_CMD_FM_LFO: { - rWrite(0x18,c.value); + lfoValue=c.value; + immWrite(0x18,lfoValue); break; } case DIV_CMD_FM_LFO_WAVE: { - rWrite(0x1b,c.value&3); + lfoShape=c.value&3; + immWrite(0x1b,lfoShape|(lfoShape2<<2)); + break; + } + case DIV_CMD_FM_LFO2: { + lfoValue2=c.value; + immWrite(0x16,lfoValue2); + break; + } + case DIV_CMD_FM_LFO2_WAVE: { + lfoShape2=c.value&3; + immWrite(0x1b,lfoShape|(lfoShape2<<2)); break; } case DIV_CMD_FM_FB: { @@ -810,6 +852,16 @@ int DivPlatformTX81Z::dispatch(DivCommand c) { immWrite(0x19,0x80|pmDepth); break; } + case DIV_CMD_FM_AM2_DEPTH: { + amDepth2=c.value; + immWrite(0x17,amDepth); + break; + } + case DIV_CMD_FM_PM2_DEPTH: { + pmDepth2=c.value; + immWrite(0x17,0x80|pmDepth); + break; + } case DIV_CMD_FM_HARD_RESET: chan[c.chan].hardReset=c.value; break; @@ -880,7 +932,7 @@ void DivPlatformTX81Z::forceIns() { rWrite(chanOffs[i]+ADDR_LR_FB_ALG,(chan[i].state.alg&7)|(chan[i].state.fb<<3)|((chan[i].chVolL&1)<<6)|((chan[i].chVolR&1)<<7)); }*/ rWrite(chanOffs[i]+ADDR_FMS_AMS,((chan[i].state.fms&7)<<4)|(chan[i].state.ams&3)); - //rWrite(chanOffs[i]+ADDR_FMS_AMS,0x84|((chan[i].state.fms2&7)<<4)|(chan[i].state.ams2&3)); + rWrite(chanOffs[i]+ADDR_FMS2_AMS2,((chan[i].state.fms2&7)<<4)|(chan[i].state.ams2&3)); if (chan[i].active) { chan[i].keyOn=true; chan[i].freqChanged=true; @@ -888,6 +940,11 @@ void DivPlatformTX81Z::forceIns() { } immWrite(0x19,amDepth); immWrite(0x19,0x80|pmDepth); + immWrite(0x17,amDepth2); + immWrite(0x17,0x80|pmDepth2); + immWrite(0x18,lfoValue); + immWrite(0x16,lfoValue2); + immWrite(0x1b,lfoShape|(lfoShape2<<2)); } void DivPlatformTX81Z::notifyInsChange(int ins) { @@ -958,12 +1015,19 @@ void DivPlatformTX81Z::reset() { delay=0; amDepth=0x7f; pmDepth=0x7f; + amDepth2=0x7f; + pmDepth2=0x7f; + lfoValue=0; + lfoValue2=0; + lfoShape=0; + lfoShape2=0; - //rWrite(0x18,0x10); immWrite(0x18,0x00); // LFO Freq Off + immWrite(0x16,0x00); immWrite(0x19,amDepth); immWrite(0x19,0x80|pmDepth); - //rWrite(0x1b,0x00); + immWrite(0x17,amDepth2); + immWrite(0x17,0x80|pmDepth2); extMode=false; } diff --git a/src/engine/platform/tx81z.h b/src/engine/platform/tx81z.h index e15158b7c..d1ebd543e 100644 --- a/src/engine/platform/tx81z.h +++ b/src/engine/platform/tx81z.h @@ -45,7 +45,7 @@ class DivPlatformTX81Z: public DivPlatformOPM { DivDispatchOscBuffer* oscBuf[8]; int baseFreqOff; int pcmL, pcmR, pcmCycles; - unsigned char amDepth, pmDepth; + unsigned char amDepth, pmDepth, amDepth2, pmDepth2; ymfm::ym2414* fm_ymfm; ymfm::ym2414::output_data out_ymfm; diff --git a/src/engine/playback.cpp b/src/engine/playback.cpp index cc231817a..485a020dd 100644 --- a/src/engine/playback.cpp +++ b/src/engine/playback.cpp @@ -103,9 +103,8 @@ const char* cmdName[]={ "FM_AM_DEPTH", "FM_PM_DEPTH", - "GENESIS_LFO", - - "ARCADE_LFO", + "FM_LFO2", + "FM_LFO2_WAVE", "STD_NOISE_FREQ", "STD_NOISE_MODE", @@ -215,6 +214,9 @@ const char* cmdName[]={ "SURROUND_PANNING", + "FM_AM2_DEPTH", + "FM_PM2_DEPTH", + "ALWAYS_SET_VOLUME" }; diff --git a/src/engine/sysDef.cpp b/src/engine/sysDef.cpp index 0fc35f1ae..154ad7eb3 100644 --- a/src/engine/sysDef.cpp +++ b/src/engine/sysDef.cpp @@ -504,6 +504,10 @@ void DivEngine::registerSystems() { EffectHandlerMap fmOPZPostEffectHandlerMap(fmOPMPostEffectHandlerMap); fmOPZPostEffectHandlerMap.insert({ + {0x24, {DIV_CMD_FM_LFO2, "24xx: Set LFO 2 speed"}}, + {0x25, {DIV_CMD_FM_LFO2_WAVE, "25xx: Set LFO 2 waveform (0 saw, 1 square, 2 triangle, 3 noise)"}}, + {0x26, {DIV_CMD_FM_AM2_DEPTH, "26xx: Set AM 2 depth (0 to 7F)", effectValAnd<127>}}, + {0x27, {DIV_CMD_FM_PM2_DEPTH, "27xx: Set PM 2 depth (0 to 7F)", effectValAnd<127>}}, {0x28, {DIV_CMD_FM_REV, "28xy: Set reverb (x: operator from 1 to 4 (0 for all ops); y: reverb from 0 to 7)", effectOpVal<4>, effectValAnd<7>}}, {0x2a, {DIV_CMD_FM_WS, "2Axy: Set waveform (x: operator from 1 to 4 (0 for all ops); y: waveform from 0 to 7)", effectOpVal<4>, effectValAnd<7>}}, {0x2b, {DIV_CMD_FM_EG_SHIFT, "2Bxy: Set envelope generator shift (x: operator from 1 to 4 (0 for all ops); y: shift from 0 to 3)", effectOpVal<4>, effectValAnd<3>}}, From 070c0559cbf1b60e3283c81db6af18d6d0beae19 Mon Sep 17 00:00:00 2001 From: nk <98922449+LoKiToon@users.noreply.github.com> Date: Sat, 4 Feb 2023 11:48:47 +0300 Subject: [PATCH 112/121] Demo song. Cover of Tim_Follin.sid, originally created by Factor6 (#955) * Add files via upload * Delete Factor6 Tim Follin TSU.fur * Add files via upload --- demos/specs2/Tim_Follin.fur | Bin 0 -> 1139 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 demos/specs2/Tim_Follin.fur diff --git a/demos/specs2/Tim_Follin.fur b/demos/specs2/Tim_Follin.fur new file mode 100644 index 0000000000000000000000000000000000000000..6eade6c2762381f799abf88b8c2d3a21749463b8 GIT binary patch literal 1139 zcmV-(1dRK5ob6akY#UV+J#Ri9d+fHU0^%PmDpf%uQ6Qlb6(tFwMo2V4Nm>vfRa1N1 z8jn4eKNQ#i;|l#ThWo~T<7qMzcZAV2Xs&aU zGjHxa@4WlowI`k__1aCNY!(}KrDvHlTL6j}+6$|twJ#(Bn#O?EvrAB*Ok}-#I{DW) z*p^1vh;-~oqayxW+pIM%mTb$aHD^1u3Q9(~Yqw7or_1)6v&ClpQ40BW1(L*gFk>Q( zvDanbC-Tz@@FV%FD)1-yP6k-ffN#iupbGwS1o(Xd_-hi#-vc~&KQQwU@Jta{I}v0Z zvImU~ZPZ%cTl9JOk0L1hsh`rTZ{3fDcPQVX ze24NK%6BNA=MJp&;_~w!(%-UWm+Kp*b!JX4_c~p>vBC%F$}C^8&r}VoV|ws8(=y&3 z43|u^a>?+c*3FJ>^}02?IT*NLbGlZgG05*2jh1DeGaDPVcTBp|xoWh|4(X|PHlDal zTDCBS)ny%xTGMV9jdly?mRCSMG~v3Cse13a;K%%gC}hk zzuZ#`St!KgyV7q1r${R10`>XCSCm1gX|zp}WbctQc^dwE9Lva_qzfd6-ddJUlCP7$Ouoq_ zDncR@RTHAB_s$>NF3jIoopu+6tm;9sehw7MGK~tU`ZlPl_qo^7PYYFYpK9`9NIc}$ zvvC|>(m@@}mQi@XM|ZKC?o`M=R>?o}kl1)b6M^9X=A9DRU z$cOs;VAv4MZ-`8c1yv%(Ze+o~ZFK{^-U^^(U!6$DiLr8zp>QQT);I z;rxY|{4AoLenW_7ZSyu3o#GV#Z}G4phL22YNav`5aV;X|cCZ?fdjsnjm3sr{BV%&^ zLeIExux@6=IDbqUr8BHPL3|S%h~f{%2j_~4iMwA>`>xyp^&fjf1pcp1UQ~)xoD>!f z!M|G)mbj=Cr#LAr8p8WZc3_E%N^y#l!lEHE7+T_@Qk>$XuxJPkLrYv#ic_2v{s+x) F*I|fbKyLs5 literal 0 HcmV?d00001 From 31ccb58a483ec75a25ef728fc398e89b15d7c5da Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 4 Feb 2023 16:08:20 -0500 Subject: [PATCH 113/121] implement tremolo --- src/engine/engine.cpp | 3 +++ src/engine/engine.h | 2 ++ src/engine/playback.cpp | 23 +++++++++++++++++++++++ 3 files changed, 28 insertions(+) diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 38185aaa8..17926e0ec 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -4470,6 +4470,9 @@ bool DivEngine::init() { for (int i=0; i<64; i++) { vibTable[i]=127*sin(((double)i/64.0)*(2*M_PI)); } + for (int i=0; i<128; i++) { + tremTable[i]=255*0.5*(1.0-cos(((double)i/128.0)*(2*M_PI))); + } for (int i=0; i<4096; i++) { reversePitchTable[i]=round(1024.0*pow(2.0,(2048.0-(double)i)/(12.0*128.0))); pitchTable[i]=round(1024.0*pow(2.0,((double)i-2048.0)/(12.0*128.0))); diff --git a/src/engine/engine.h b/src/engine/engine.h index d0f6f98b9..fc552cacc 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -413,6 +413,7 @@ class DivEngine { } sPreview; short vibTable[64]; + short tremTable[128]; int reversePitchTable[4096]; int pitchTable[4096]; char c163NameCS[1024]; @@ -1158,6 +1159,7 @@ class DivEngine { memset(dispatchOfChan,0,DIV_MAX_CHANS*sizeof(int)); memset(sysOfChan,0,DIV_MAX_CHANS*sizeof(int)); memset(vibTable,0,64*sizeof(short)); + memset(tremTable,0,128*sizeof(short)); memset(reversePitchTable,0,4096*sizeof(int)); memset(pitchTable,0,4096*sizeof(int)); memset(sysDefs,0,256*sizeof(void*)); diff --git a/src/engine/playback.cpp b/src/engine/playback.cpp index 485a020dd..abcb8dc56 100644 --- a/src/engine/playback.cpp +++ b/src/engine/playback.cpp @@ -689,6 +689,13 @@ void DivEngine::processRow(int i, bool afterDelay) { // - then a volume slide down starts to the low boundary, and then when this is reached a volume slide up begins // - this process repeats until 0700 or 0Axy are found // - note that a volume value does not stop tremolo - instead it glitches this whole thing up + if (chan[i].tremoloDepth==0) { + chan[i].tremoloPos=0; + } + chan[i].tremoloDepth=effectVal&15; + chan[i].tremoloRate=effectVal>>4; + // tremolo and vol slides are incompatiblw + chan[i].volSpeed=0; break; case 0x0a: // volume ramp // TODO: non-0x-or-x0 value should be treated as 00 @@ -698,6 +705,9 @@ void DivEngine::processRow(int i, bool afterDelay) { } else { chan[i].volSpeed=(effectVal>>4)*64; } + // tremolo and vol slides are incompatible + chan[i].tremoloDepth=0; + chan[i].tremoloRate=0; } else { chan[i].volSpeed=0; } @@ -838,10 +848,16 @@ void DivEngine::processRow(int i, bool afterDelay) { if (!song.arpNonPorta) dispatchCmd(DivCommand(DIV_CMD_PRE_PORTA,i,false,0)); break; case 0xf3: // fine volume ramp up + // tremolo and vol slides are incompatible + chan[i].tremoloDepth=0; + chan[i].tremoloRate=0; chan[i].volSpeed=effectVal; dispatchCmd(DivCommand(DIV_CMD_HINT_VOL_SLIDE,i,chan[i].volSpeed)); break; case 0xf4: // fine volume ramp down + // tremolo and vol slides are incompatible + chan[i].tremoloDepth=0; + chan[i].tremoloRate=0; chan[i].volSpeed=-effectVal; dispatchCmd(DivCommand(DIV_CMD_HINT_VOL_SLIDE,i,chan[i].volSpeed)); break; @@ -868,6 +884,9 @@ void DivEngine::processRow(int i, bool afterDelay) { } else { chan[i].volSpeed=(effectVal>>4)*256; } + // tremolo and vol slides are incompatible + chan[i].tremoloDepth=0; + chan[i].tremoloRate=0; } else { chan[i].volSpeed=0; } @@ -1239,6 +1258,10 @@ bool DivEngine::nextTick(bool noAccum, bool inhibitLowLat) { } else { dispatchCmd(DivCommand(DIV_CMD_VOLUME,i,chan[i].volume>>8)); } + } else if (chan[i].tremoloDepth>0) { + chan[i].tremoloPos+=chan[i].tremoloRate; + chan[i].tremoloPos&=127; + dispatchCmd(DivCommand(DIV_CMD_VOLUME,i,MAX(0,chan[i].volume-(tremTable[chan[i].tremoloPos]*chan[i].tremoloDepth))>>8)); } } if (chan[i].vibratoDepth>0) { From 9c673d6e714d570476603ad718d5f5a837b540dc Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 4 Feb 2023 17:01:32 -0500 Subject: [PATCH 114/121] GUI: move speed settings to a separate window --- CMakeLists.txt | 1 + src/gui/doAction.cpp | 6 ++ src/gui/gui.cpp | 5 ++ src/gui/gui.h | 5 +- src/gui/guiConst.cpp | 1 + src/gui/songInfo.cpp | 126 +----------------------------- src/gui/speed.cpp | 179 +++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 198 insertions(+), 125 deletions(-) create mode 100644 src/gui/speed.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 80e2c2fde..458cd448e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -613,6 +613,7 @@ src/gui/scaling.cpp src/gui/settings.cpp src/gui/songInfo.cpp src/gui/songNotes.cpp +src/gui/speed.cpp src/gui/spoiler.cpp src/gui/stats.cpp src/gui/subSongs.cpp diff --git a/src/gui/doAction.cpp b/src/gui/doAction.cpp index b9bb58417..60511f09e 100644 --- a/src/gui/doAction.cpp +++ b/src/gui/doAction.cpp @@ -193,6 +193,9 @@ void FurnaceGUI::doAction(int what) { case GUI_ACTION_WINDOW_SONG_INFO: nextWindow=GUI_WINDOW_SONG_INFO; break; + case GUI_ACTION_WINDOW_SPEED: + nextWindow=GUI_WINDOW_SPEED; + break; case GUI_ACTION_WINDOW_PATTERN: nextWindow=GUI_WINDOW_PATTERN; break; @@ -274,6 +277,9 @@ void FurnaceGUI::doAction(int what) { case GUI_WINDOW_SONG_INFO: songInfoOpen=false; break; + case GUI_WINDOW_SPEED: + speedOpen=false; + break; case GUI_WINDOW_ORDERS: ordersOpen=false; break; diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index ed21ad994..67df8c87e 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3729,6 +3729,7 @@ bool FurnaceGUI::loop() { if (ImGui::BeginMenu("window")) { if (ImGui::MenuItem("song information",BIND_FOR(GUI_ACTION_WINDOW_SONG_INFO),songInfoOpen)) songInfoOpen=!songInfoOpen; if (ImGui::MenuItem("subsongs",BIND_FOR(GUI_ACTION_WINDOW_SUBSONGS),subSongsOpen)) subSongsOpen=!subSongsOpen; + if (ImGui::MenuItem("speed",BIND_FOR(GUI_ACTION_WINDOW_SPEED),speedOpen)) speedOpen=!speedOpen; if (settings.unifiedDataView) { if (ImGui::MenuItem("assets",BIND_FOR(GUI_ACTION_WINDOW_INS_LIST),insListOpen)) insListOpen=!insListOpen; } else { @@ -3915,6 +3916,7 @@ bool FurnaceGUI::loop() { drawSpoiler(); drawPattern(); drawEditControls(); + drawSpeed(); drawSongInfo(); drawOrders(); drawSampleList(); @@ -5245,6 +5247,7 @@ bool FurnaceGUI::init() { patManagerOpen=e->getConfBool("patManagerOpen",false); sysManagerOpen=e->getConfBool("sysManagerOpen",false); clockOpen=e->getConfBool("clockOpen",false); + speedOpen=e->getConfBool("speedOpen",true); regViewOpen=e->getConfBool("regViewOpen",false); logOpen=e->getConfBool("logOpen",false); effectListOpen=e->getConfBool("effectListOpen",false); @@ -5619,6 +5622,7 @@ void FurnaceGUI::commitState() { e->setConf("patManagerOpen",patManagerOpen); e->setConf("sysManagerOpen",sysManagerOpen); e->setConf("clockOpen",clockOpen); + e->setConf("speedOpen",speedOpen); e->setConf("regViewOpen",regViewOpen); e->setConf("logOpen",logOpen); e->setConf("effectListOpen",effectListOpen); @@ -5865,6 +5869,7 @@ FurnaceGUI::FurnaceGUI(): patManagerOpen(false), sysManagerOpen(false), clockOpen(false), + speedOpen(true), clockShowReal(true), clockShowRow(true), clockShowBeat(true), diff --git a/src/gui/gui.h b/src/gui/gui.h index 1b53be44c..440581a7b 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -292,6 +292,7 @@ enum FurnaceGUIWindows { GUI_WINDOW_NOTHING=0, GUI_WINDOW_EDIT_CONTROLS, GUI_WINDOW_SONG_INFO, + GUI_WINDOW_SPEED, GUI_WINDOW_ORDERS, GUI_WINDOW_INS_LIST, GUI_WINDOW_PATTERN, @@ -439,6 +440,7 @@ enum FurnaceGUIActions { GUI_ACTION_WINDOW_INS_LIST, GUI_ACTION_WINDOW_INS_EDIT, GUI_ACTION_WINDOW_SONG_INFO, + GUI_ACTION_WINDOW_SPEED, GUI_ACTION_WINDOW_PATTERN, GUI_ACTION_WINDOW_WAVE_LIST, GUI_ACTION_WINDOW_WAVE_EDIT, @@ -1462,7 +1464,7 @@ class FurnaceGUI { bool waveListOpen, waveEditOpen, sampleListOpen, sampleEditOpen, aboutOpen, settingsOpen; bool mixerOpen, debugOpen, inspectorOpen, oscOpen, volMeterOpen, statsOpen, compatFlagsOpen; bool pianoOpen, notesOpen, channelsOpen, regViewOpen, logOpen, effectListOpen, chanOscOpen; - bool subSongsOpen, findOpen, spoilerOpen, patManagerOpen, sysManagerOpen, clockOpen; + bool subSongsOpen, findOpen, spoilerOpen, patManagerOpen, sysManagerOpen, clockOpen, speedOpen; bool clockShowReal, clockShowRow, clockShowBeat, clockShowMetro, clockShowTime; float clockMetroTick[16]; @@ -1818,6 +1820,7 @@ class FurnaceGUI { void drawMobileOrderSel(); void drawEditControls(); void drawSongInfo(bool asChild=false); + void drawSpeed(bool asChild=false); void drawOrders(); void drawPattern(); void drawInsList(bool asChild=false); diff --git a/src/gui/guiConst.cpp b/src/gui/guiConst.cpp index d31291703..2ffdbbbc3 100644 --- a/src/gui/guiConst.cpp +++ b/src/gui/guiConst.cpp @@ -494,6 +494,7 @@ const FurnaceGUIActionDef guiActions[GUI_ACTION_MAX]={ D("WINDOW_INS_LIST", "Instrument List", 0), D("WINDOW_INS_EDIT", "Instrument Editor", 0), D("WINDOW_SONG_INFO", "Song Information", 0), + D("WINDOW_SPEED", "Speed", 0), D("WINDOW_PATTERN", "Pattern", 0), D("WINDOW_WAVE_LIST", "Wavetable List", 0), D("WINDOW_WAVE_EDIT", "Wavetable Editor", 0), diff --git a/src/gui/songInfo.cpp b/src/gui/songInfo.cpp index fc25d63e3..6a04b7783 100644 --- a/src/gui/songInfo.cpp +++ b/src/gui/songInfo.cpp @@ -100,138 +100,16 @@ void FurnaceGUI::drawSongInfo(bool asChild) { ImGui::EndTable(); } - if (ImGui::BeginTable("OtherProps",3,ImGuiTableFlags_SizingStretchProp)) { + if (ImGui::BeginTable("OtherProps",2,ImGuiTableFlags_SizingStretchProp)) { ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed,0.0); ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.0); - ImGui::TableSetupColumn("c2",ImGuiTableColumnFlags_WidthStretch,0.0); - - ImGui::TableNextRow(); - ImGui::TableNextColumn(); - ImGui::Text("TimeBase"); - ImGui::TableNextColumn(); - float avail=ImGui::GetContentRegionAvail().x; - ImGui::SetNextItemWidth(avail); - unsigned char realTB=e->curSubSong->timeBase+1; - if (ImGui::InputScalar("##TimeBase",ImGuiDataType_U8,&realTB,&_ONE,&_THREE)) { MARK_MODIFIED - if (realTB<1) realTB=1; - if (realTB>16) realTB=16; - e->curSubSong->timeBase=realTB-1; - } - ImGui::TableNextColumn(); - ImGui::Text("%.2f BPM",calcBPM(e->curSubSong->speed1,e->curSubSong->speed2,e->curSubSong->hz,e->curSubSong->virtualTempoN,e->curSubSong->virtualTempoD)); - - ImGui::TableNextRow(); - ImGui::TableNextColumn(); - ImGui::Text("Speed"); - ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); - if (ImGui::InputScalar("##Speed1",ImGuiDataType_U8,&e->curSubSong->speed1,&_ONE,&_THREE)) { MARK_MODIFIED - if (e->curSubSong->speed1<1) e->curSubSong->speed1=1; - if (e->isPlaying()) play(); - } - ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); - if (ImGui::InputScalar("##Speed2",ImGuiDataType_U8,&e->curSubSong->speed2,&_ONE,&_THREE)) { MARK_MODIFIED - if (e->curSubSong->speed2<1) e->curSubSong->speed2=1; - if (e->isPlaying()) play(); - } - - ImGui::TableNextRow(); - ImGui::TableNextColumn(); - ImGui::Text("Virtual Tempo"); - ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); - if (ImGui::InputScalar("##VTempoN",ImGuiDataType_S16,&e->curSubSong->virtualTempoN,&_ONE,&_THREE)) { MARK_MODIFIED - if (e->curSubSong->virtualTempoN<1) e->curSubSong->virtualTempoN=1; - if (e->curSubSong->virtualTempoN>255) e->curSubSong->virtualTempoN=255; - } - if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Numerator"); - } - ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); - if (ImGui::InputScalar("##VTempoD",ImGuiDataType_S16,&e->curSubSong->virtualTempoD,&_ONE,&_THREE)) { MARK_MODIFIED - if (e->curSubSong->virtualTempoD<1) e->curSubSong->virtualTempoD=1; - if (e->curSubSong->virtualTempoD>255) e->curSubSong->virtualTempoD=255; - } - if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Denominator (set to base tempo)"); - } - - ImGui::TableNextRow(); - ImGui::TableNextColumn(); - ImGui::Text("Highlight"); - ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); - if (ImGui::InputScalar("##Highlight1",ImGuiDataType_U8,&e->curSubSong->hilightA,&_ONE,&_THREE)) { - MARK_MODIFIED; - } - ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); - if (ImGui::InputScalar("##Highlight2",ImGuiDataType_U8,&e->curSubSong->hilightB,&_ONE,&_THREE)) { - MARK_MODIFIED; - } - - ImGui::TableNextRow(); - ImGui::TableNextColumn(); - ImGui::Text("Pattern Length"); - ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); - int patLen=e->curSubSong->patLen; - if (ImGui::InputInt("##PatLength",&patLen,1,3)) { MARK_MODIFIED - if (patLen<1) patLen=1; - if (patLen>DIV_MAX_PATTERNS) patLen=DIV_MAX_PATTERNS; - e->curSubSong->patLen=patLen; - } - - ImGui::TableNextRow(); - ImGui::TableNextColumn(); - ImGui::Text("Song Length"); - ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); - int ordLen=e->curSubSong->ordersLen; - if (ImGui::InputInt("##OrdLength",&ordLen,1,3)) { MARK_MODIFIED - if (ordLen<1) ordLen=1; - if (ordLen>DIV_MAX_PATTERNS) ordLen=DIV_MAX_PATTERNS; - e->curSubSong->ordersLen=ordLen; - if (curOrder>=ordLen) { - setOrder(ordLen-1); - } - } - - ImGui::TableNextRow(); - ImGui::TableNextColumn(); - if (ImGui::Selectable(tempoView?"Base Tempo##TempoOrHz":"Tick Rate##TempoOrHz")) { - tempoView=!tempoView; - } - ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); - float setHz=tempoView?e->curSubSong->hz*2.5:e->curSubSong->hz; - if (ImGui::InputFloat("##Rate",&setHz,1.0f,1.0f,"%g")) { MARK_MODIFIED - if (tempoView) setHz/=2.5; - if (setHz<1) setHz=1; - if (setHz>999) setHz=999; - e->setSongRate(setHz,setHz<52); - } - if (tempoView) { - ImGui::TableNextColumn(); - ImGui::Text("= %gHz",e->curSubSong->hz); - } else { - if (e->curSubSong->hz>=49.98 && e->curSubSong->hz<=50.02) { - ImGui::TableNextColumn(); - ImGui::Text("PAL"); - } - if (e->curSubSong->hz>=59.9 && e->curSubSong->hz<=60.11) { - ImGui::TableNextColumn(); - ImGui::Text("NTSC"); - } - } ImGui::TableNextRow(); ImGui::TableNextColumn(); ImGui::Text("Tuning (A-4)"); ImGui::TableNextColumn(); float tune=e->song.tuning; + float avail=ImGui::GetContentRegionAvail().x; ImGui::SetNextItemWidth(avail); if (ImGui::InputFloat("##Tuning",&tune,1.0f,3.0f,"%g")) { MARK_MODIFIED if (tune<220.0f) tune=220.0f; diff --git a/src/gui/speed.cpp b/src/gui/speed.cpp new file mode 100644 index 000000000..1d09331b4 --- /dev/null +++ b/src/gui/speed.cpp @@ -0,0 +1,179 @@ +/** + * Furnace Tracker - multi-system chiptune tracker + * Copyright (C) 2021-2023 tildearrow and contributors + * + * This program 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 2 of the License, or + * (at your option) any later version. + * + * This program 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 this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "gui.h" +#include "imgui.h" +#include "misc/cpp/imgui_stdlib.h" +#include "intConst.h" + +void FurnaceGUI::drawSpeed(bool asChild) { + if (nextWindow==GUI_WINDOW_SPEED) { + speedOpen=true; + ImGui::SetNextWindowFocus(); + nextWindow=GUI_WINDOW_NOTHING; + } + if (!speedOpen && !asChild) return; + bool began=asChild?ImGui::BeginChild("Speed"):ImGui::Begin("Speed",&speedOpen,globalWinFlags); + if (began) { + if (ImGui::BeginTable("Props",3,ImGuiTableFlags_SizingStretchProp)) { + ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed,0.0); + ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.0); + ImGui::TableSetupColumn("c2",ImGuiTableColumnFlags_WidthStretch,0.0); + + ImGui::TableNextRow(); + ImGui::TableNextColumn(); + if (ImGui::Selectable(tempoView?"Base Tempo##TempoOrHz":"Tick Rate##TempoOrHz")) { + tempoView=!tempoView; + } + ImGui::TableNextColumn(); + float avail=ImGui::GetContentRegionAvail().x; + ImGui::SetNextItemWidth(avail); + float setHz=tempoView?e->curSubSong->hz*2.5:e->curSubSong->hz; + if (ImGui::InputFloat("##Rate",&setHz,1.0f,1.0f,"%g")) { MARK_MODIFIED + if (tempoView) setHz/=2.5; + if (setHz<1) setHz=1; + if (setHz>999) setHz=999; + e->setSongRate(setHz,setHz<52); + } + if (tempoView) { + ImGui::TableNextColumn(); + ImGui::Text("= %gHz",e->curSubSong->hz); + } else { + if (e->curSubSong->hz>=49.98 && e->curSubSong->hz<=50.02) { + ImGui::TableNextColumn(); + ImGui::Text("PAL"); + } + if (e->curSubSong->hz>=59.9 && e->curSubSong->hz<=60.11) { + ImGui::TableNextColumn(); + ImGui::Text("NTSC"); + } + } + + ImGui::TableNextRow(); + ImGui::TableNextColumn(); + ImGui::Text("Speed"); + ImGui::TableNextColumn(); + ImGui::SetNextItemWidth(avail); + if (ImGui::InputScalar("##Speed1",ImGuiDataType_U8,&e->curSubSong->speed1,&_ONE,&_THREE)) { MARK_MODIFIED + if (e->curSubSong->speed1<1) e->curSubSong->speed1=1; + if (e->isPlaying()) play(); + } + ImGui::TableNextColumn(); + ImGui::SetNextItemWidth(avail); + if (ImGui::InputScalar("##Speed2",ImGuiDataType_U8,&e->curSubSong->speed2,&_ONE,&_THREE)) { MARK_MODIFIED + if (e->curSubSong->speed2<1) e->curSubSong->speed2=1; + if (e->isPlaying()) play(); + } + + ImGui::TableNextRow(); + ImGui::TableNextColumn(); + ImGui::Text("Virtual Tempo"); + ImGui::TableNextColumn(); + ImGui::SetNextItemWidth(avail); + if (ImGui::InputScalar("##VTempoN",ImGuiDataType_S16,&e->curSubSong->virtualTempoN,&_ONE,&_THREE)) { MARK_MODIFIED + if (e->curSubSong->virtualTempoN<1) e->curSubSong->virtualTempoN=1; + if (e->curSubSong->virtualTempoN>255) e->curSubSong->virtualTempoN=255; + } + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("Numerator"); + } + ImGui::TableNextColumn(); + ImGui::SetNextItemWidth(avail); + if (ImGui::InputScalar("##VTempoD",ImGuiDataType_S16,&e->curSubSong->virtualTempoD,&_ONE,&_THREE)) { MARK_MODIFIED + if (e->curSubSong->virtualTempoD<1) e->curSubSong->virtualTempoD=1; + if (e->curSubSong->virtualTempoD>255) e->curSubSong->virtualTempoD=255; + } + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("Denominator (set to base tempo)"); + } + + ImGui::TableNextRow(); + ImGui::TableNextColumn(); + ImGui::Text("TimeBase"); + ImGui::TableNextColumn(); + ImGui::SetNextItemWidth(avail); + unsigned char realTB=e->curSubSong->timeBase+1; + if (ImGui::InputScalar("##TimeBase",ImGuiDataType_U8,&realTB,&_ONE,&_THREE)) { MARK_MODIFIED + if (realTB<1) realTB=1; + if (realTB>16) realTB=16; + e->curSubSong->timeBase=realTB-1; + } + ImGui::TableNextColumn(); + ImGui::Text("%.2f BPM",calcBPM(e->curSubSong->speed1,e->curSubSong->speed2,e->curSubSong->hz,e->curSubSong->virtualTempoN,e->curSubSong->virtualTempoD)); + + ImGui::TableNextRow(); + ImGui::TableNextColumn(); + ImGui::Text("Highlight"); + ImGui::TableNextColumn(); + ImGui::SetNextItemWidth(avail); + if (ImGui::InputScalar("##Highlight1",ImGuiDataType_U8,&e->curSubSong->hilightA,&_ONE,&_THREE)) { + MARK_MODIFIED; + } + ImGui::TableNextColumn(); + ImGui::SetNextItemWidth(avail); + if (ImGui::InputScalar("##Highlight2",ImGuiDataType_U8,&e->curSubSong->hilightB,&_ONE,&_THREE)) { + MARK_MODIFIED; + } + ImGui::EndTable(); + } + + ImGui::Separator(); + + if (ImGui::BeginTable("Props2",3,ImGuiTableFlags_SizingStretchProp)) { + ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed,0.0); + ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.0); + ImGui::TableSetupColumn("c2",ImGuiTableColumnFlags_WidthStretch,0.0); + ImGui::TableNextRow(); + ImGui::TableNextColumn(); + ImGui::Text("Pattern Length"); + ImGui::TableNextColumn(); + float avail=ImGui::GetContentRegionAvail().x; + ImGui::SetNextItemWidth(avail); + int patLen=e->curSubSong->patLen; + if (ImGui::InputInt("##PatLength",&patLen,1,3)) { MARK_MODIFIED + if (patLen<1) patLen=1; + if (patLen>DIV_MAX_PATTERNS) patLen=DIV_MAX_PATTERNS; + e->curSubSong->patLen=patLen; + } + + ImGui::TableNextRow(); + ImGui::TableNextColumn(); + ImGui::Text("Song Length"); + ImGui::TableNextColumn(); + ImGui::SetNextItemWidth(avail); + int ordLen=e->curSubSong->ordersLen; + if (ImGui::InputInt("##OrdLength",&ordLen,1,3)) { MARK_MODIFIED + if (ordLen<1) ordLen=1; + if (ordLen>DIV_MAX_PATTERNS) ordLen=DIV_MAX_PATTERNS; + e->curSubSong->ordersLen=ordLen; + if (curOrder>=ordLen) { + setOrder(ordLen-1); + } + } + + ImGui::EndTable(); + } + } + if (!asChild && ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_SPEED; + if (asChild) { + ImGui::EndChild(); + } else { + ImGui::End(); + } +} From beed67aaa11b063fda4bfe0e1cf7b3131a5782c2 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 4 Feb 2023 17:22:16 -0500 Subject: [PATCH 115/121] BubSys: optimize --- .../vgsound_emu/src/k005289/k005289.cpp | 12 ++++++------ .../vgsound_emu/src/k005289/k005289.hpp | 4 ++-- src/engine/platform/bubsyswsg.cpp | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/extern/vgsound_emu-modified/vgsound_emu/src/k005289/k005289.cpp b/extern/vgsound_emu-modified/vgsound_emu/src/k005289/k005289.cpp index 464ce5bc9..13eb70838 100644 --- a/extern/vgsound_emu-modified/vgsound_emu/src/k005289/k005289.cpp +++ b/extern/vgsound_emu-modified/vgsound_emu/src/k005289/k005289.cpp @@ -8,11 +8,11 @@ #include "k005289.hpp" -void k005289_core::tick() +void k005289_core::tick(const unsigned int cycles) { for (timer_t &elem : m_timer) { - elem.tick(); + elem.tick(cycles); } } @@ -24,12 +24,12 @@ void k005289_core::reset() } } -void k005289_core::timer_t::tick() -{ - if (bitfield(++m_counter, 0, 12) == 0) +void k005289_core::timer_t::tick(const unsigned int cycles) { + m_counter-=cycles; + while (m_counter < 0) { m_addr = bitfield(m_addr + 1, 0, 5); - m_counter = m_freq; + m_counter += 0x1000-(m_freq&0xfff); } } diff --git a/extern/vgsound_emu-modified/vgsound_emu/src/k005289/k005289.hpp b/extern/vgsound_emu-modified/vgsound_emu/src/k005289/k005289.hpp index 2c2b0715a..981af8897 100644 --- a/extern/vgsound_emu-modified/vgsound_emu/src/k005289/k005289.hpp +++ b/extern/vgsound_emu-modified/vgsound_emu/src/k005289/k005289.hpp @@ -32,7 +32,7 @@ class k005289_core : public vgsound_emu_core // internal state void reset(); - void tick(); + void tick(const unsigned int cycles=1); // accessors // Replace current frequency to lastest loaded pitch @@ -63,7 +63,7 @@ class k005289_core : public vgsound_emu_core // internal state void reset(); - void tick(); + void tick(const unsigned int cycles); // accessors // TG1/2 pin diff --git a/src/engine/platform/bubsyswsg.cpp b/src/engine/platform/bubsyswsg.cpp index 782ee062e..94202de19 100644 --- a/src/engine/platform/bubsyswsg.cpp +++ b/src/engine/platform/bubsyswsg.cpp @@ -44,7 +44,7 @@ void DivPlatformBubSysWSG::acquire(short** buf, size_t len) { for (size_t h=0; h=64) writeOscBuf=0; + if (++writeOscBuf>=8) writeOscBuf=0; out<<=6; // scale output to 16 bit @@ -332,9 +332,9 @@ void DivPlatformBubSysWSG::notifyInsDeletion(void* ins) { void DivPlatformBubSysWSG::setFlags(const DivConfig& flags) { chipClock=COLOR_NTSC; CHECK_CUSTOM_CLOCK; - rate=chipClock; + rate=chipClock/8; for (int i=0; i<2; i++) { - oscBuf[i]->rate=rate/64; + oscBuf[i]->rate=rate/8; } } From ace214228620ed092f46b45bd6fec2d42fbb5064 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 4 Feb 2023 19:09:09 -0500 Subject: [PATCH 116/121] GUI: shorten title of song info window --- src/gui/songInfo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/songInfo.cpp b/src/gui/songInfo.cpp index 6a04b7783..0bd94fdc4 100644 --- a/src/gui/songInfo.cpp +++ b/src/gui/songInfo.cpp @@ -29,7 +29,7 @@ void FurnaceGUI::drawSongInfo(bool asChild) { nextWindow=GUI_WINDOW_NOTHING; } if (!songInfoOpen && !asChild) return; - bool began=asChild?ImGui::BeginChild("Song Information"):ImGui::Begin("Song Information",&songInfoOpen,globalWinFlags); + bool began=asChild?ImGui::BeginChild("Song Info##Song Information"):ImGui::Begin("Song Info##Song Information",&songInfoOpen,globalWinFlags); if (began) { if (ImGui::BeginTable("NameAuthor",2,ImGuiTableFlags_SizingStretchProp)) { ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed,0.0); From 7e1acaf9d5d7f09b61373e9c5fc253eec9abac42 Mon Sep 17 00:00:00 2001 From: cam900 Date: Sun, 5 Feb 2023 12:46:23 +0900 Subject: [PATCH 117/121] Add define value for number of chip defines --- src/engine/defines.h | 1 + src/engine/engine.h | 10 +++++----- src/engine/sysDef.cpp | 8 ++++---- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/engine/defines.h b/src/engine/defines.h index 0f53bd777..9564f418d 100644 --- a/src/engine/defines.h +++ b/src/engine/defines.h @@ -24,6 +24,7 @@ #define DIV_MAX_CHIPS 32 #define DIV_MAX_CHANS 128 #define DIV_MAX_PATTERNS 256 +#define DIV_MAX_CHIP_DEFS 256 // in-pattern #define DIV_MAX_ROWS 256 diff --git a/src/engine/engine.h b/src/engine/engine.h index fc552cacc..89251a291 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -391,9 +391,9 @@ class DivEngine { std::vector midiOuts; std::vector cmdStream; std::vector possibleInsTypes; - static DivSysDef* sysDefs[256]; - static DivSystem sysFileMapFur[256]; - static DivSystem sysFileMapDMF[256]; + static DivSysDef* sysDefs[DIV_MAX_CHIP_DEFS]; + static DivSystem sysFileMapFur[DIV_MAX_CHIP_DEFS]; + static DivSystem sysFileMapDMF[DIV_MAX_CHIP_DEFS]; struct SamplePreview { double rate; @@ -1162,11 +1162,11 @@ class DivEngine { memset(tremTable,0,128*sizeof(short)); memset(reversePitchTable,0,4096*sizeof(int)); memset(pitchTable,0,4096*sizeof(int)); - memset(sysDefs,0,256*sizeof(void*)); + memset(sysDefs,0,DIV_MAX_CHIP_DEFS*sizeof(void*)); memset(walked,0,8192); memset(oscBuf,0,DIV_MAX_OUTPUTS*(sizeof(float*))); - for (int i=0; i<256; i++) { + for (int i=0; iid!=0) { sysFileMapFur[sysDefs[i]->id]=(DivSystem)i; From ac5986e44fab92230abee5f5df28242072636b7f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 5 Feb 2023 02:56:39 -0500 Subject: [PATCH 118/121] dev139 - groove patterns! --- CMakeLists.txt | 1 + papers/format.md | 12 ++++ src/engine/engine.cpp | 26 +++---- src/engine/engine.h | 20 ++---- src/engine/fileOps.cpp | 134 ++++++++++++++++++++++++++++------ src/engine/playback.cpp | 34 +++++---- src/engine/song.h | 15 +++- src/gui/doAction.cpp | 6 ++ src/gui/grooves.cpp | 154 ++++++++++++++++++++++++++++++++++++++++ src/gui/gui.cpp | 34 +++++++-- src/gui/gui.h | 11 ++- src/gui/guiConst.cpp | 1 + src/gui/speed.cpp | 133 +++++++++++++++++++++++++++------- 13 files changed, 483 insertions(+), 98 deletions(-) create mode 100644 src/gui/grooves.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 458cd448e..f994fe8bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -596,6 +596,7 @@ src/gui/editControls.cpp src/gui/effectList.cpp src/gui/findReplace.cpp src/gui/gradient.cpp +src/gui/grooves.cpp src/gui/insEdit.cpp src/gui/log.cpp src/gui/mixer.cpp diff --git a/papers/format.md b/papers/format.md index 389b6e61e..3f93f451d 100644 --- a/papers/format.md +++ b/papers/format.md @@ -32,6 +32,7 @@ these fields are 0 in format versions prior to 100 (0.6pre1). the format versions are: +- 139: Furnace dev139 - 138: Furnace dev138 - 137: Furnace dev137 - 136: Furnace dev136 @@ -403,6 +404,14 @@ size | description --- | **a couple more compat flags** (>=138) 1 | broken portamento during legato 7 | reserved + --- | **speed pattern of first song** (>=139) + 1 | length of speed pattern (fail if this is lower than 0 or higher than 16) + 16 | speed pattern (this overrides speed 1 and speed 2 settings) + --- | **groove list** (>=139) + 1 | number of entries + ??? | groove entries. the format is: + | - 1 byte: length of groove + | - 16 bytes: groove pattern ``` # patchbay @@ -472,6 +481,9 @@ size | description | - a list of channelCount C strings S?? | channel short names | - same as above + --- | **speed pattern** (>=139) + 1 | length of speed pattern (fail if this is lower than 0 or higher than 16) + 16 | speed pattern (this overrides speed 1 and speed 2 settings) ``` # chip flags diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 17926e0ec..34e7c6b04 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -60,7 +60,7 @@ const char* DivEngine::getEffectDesc(unsigned char effect, int chan, bool notNul case 0x08: return "08xy: Set panning (x: left; y: right)"; case 0x09: - return "09xx: Set speed 1"; + return "09xx: Set groove pattern (speed 1 if no grooves exist)"; case 0x0a: return "0Axy: Volume slide (0y: down; x0: up)"; case 0x0b: @@ -70,7 +70,7 @@ const char* DivEngine::getEffectDesc(unsigned char effect, int chan, bool notNul case 0x0d: return "0Dxx: Jump to next pattern"; case 0x0f: - return "0Fxx: Set speed 2"; + return "0Fxx: Set speed (speed 2 if no grooves exist)"; case 0x80: return "80xx: Set panning (00: left; 80: center; FF: right)"; case 0x81: @@ -1959,14 +1959,12 @@ String DivEngine::getPlaybackDebugInfo() { "cmdsPerSecond: %d\n" "globalPitch: %d\n" "extValue: %d\n" - "speed1: %d\n" - "speed2: %d\n" "tempoAccum: %d\n" "totalProcessed: %d\n" "bufferPos: %d\n", curOrder,prevOrder,curRow,prevRow,ticks,subticks,totalLoops,lastLoopPos,nextSpeed,divider,cycles,clockDrift, changeOrd,changePos,totalSeconds,totalTicks,totalTicksR,totalCmds,lastCmds,cmdsPerSecond,globalPitch, - (int)extValue,(int)speed1,(int)speed2,(int)tempoAccum,(int)totalProcessed,(int)bufferPos + (int)extValue,(int)tempoAccum,(int)totalProcessed,(int)bufferPos ); } @@ -2091,7 +2089,8 @@ void DivEngine::playSub(bool preserveDrift, int goalRow) { lastLoopPos=-1; } endOfSong=false; - speedAB=false; + // whaaaaa? + curSpeed=0; playing=true; skipping=true; memset(walked,0,8192); @@ -2439,15 +2438,14 @@ void DivEngine::reset() { } extValue=0; extValuePresent=0; - speed1=curSubSong->speed1; - speed2=curSubSong->speed2; + speeds=curSubSong->speeds; firstTick=false; shallStop=false; shallStopSched=false; pendingMetroTick=0; elapsedBars=0; elapsedBeats=0; - nextSpeed=speed1; + nextSpeed=speeds.val[0]; divider=60; if (curSubSong->customTempo) { divider=curSubSong->hz; @@ -2647,12 +2645,8 @@ size_t DivEngine::getCurrentSubSong() { return curSubSongIndex; } -unsigned char DivEngine::getSpeed1() { - return speed1; -} - -unsigned char DivEngine::getSpeed2() { - return speed2; +const DivGroovePattern& DivEngine::getSpeeds() { + return speeds; } float DivEngine::getHz() { @@ -4234,7 +4228,7 @@ void DivEngine::quitDispatch() { clockDrift=0; chans=0; playing=false; - speedAB=false; + curSpeed=0; endOfSong=false; ticks=0; tempoAccum=0; diff --git a/src/engine/engine.h b/src/engine/engine.h index fc552cacc..b3604baa3 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -47,8 +47,8 @@ #define BUSY_BEGIN_SOFT softLocked=true; isBusy.lock(); #define BUSY_END isBusy.unlock(); softLocked=false; -#define DIV_VERSION "dev138" -#define DIV_ENGINE_VERSION 138 +#define DIV_VERSION "dev139" +#define DIV_ENGINE_VERSION 139 // for imports #define DIV_VERSION_MOD 0xff01 #define DIV_VERSION_FC 0xff02 @@ -337,7 +337,6 @@ class DivEngine { bool playing; bool freelance; bool shallStop, shallStopSched; - bool speedAB; bool endOfSong; bool consoleMode; bool extValuePresent; @@ -359,7 +358,7 @@ class DivEngine { bool midiOutClock; int midiOutMode; int softLockCount; - int subticks, ticks, curRow, curOrder, prevRow, prevOrder, remainingLoops, totalLoops, lastLoopPos, exportLoopCount, nextSpeed, elapsedBars, elapsedBeats; + int subticks, ticks, curRow, curOrder, prevRow, prevOrder, remainingLoops, totalLoops, lastLoopPos, exportLoopCount, nextSpeed, elapsedBars, elapsedBeats, curSpeed; size_t curSubSongIndex; size_t bufferPos; double divider; @@ -368,7 +367,7 @@ class DivEngine { int stepPlay; int changeOrd, changePos, totalSeconds, totalTicks, totalTicksR, totalCmds, lastCmds, cmdsPerSecond, globalPitch; unsigned char extValue, pendingMetroTick; - unsigned char speed1, speed2; + DivGroovePattern speeds; short tempoAccum; DivStatusView view; DivHaltPositions haltOn; @@ -730,11 +729,8 @@ class DivEngine { // get current subsong size_t getCurrentSubSong(); - // get speed 1 - unsigned char getSpeed1(); - - // get speed 2 - unsigned char getSpeed2(); + // get speeds + const DivGroovePattern& getSpeeds(); // get Hz float getHz(); @@ -1065,7 +1061,6 @@ class DivEngine { freelance(false), shallStop(false), shallStopSched(false), - speedAB(false), endOfSong(false), consoleMode(false), extValuePresent(false), @@ -1099,6 +1094,7 @@ class DivEngine { nextSpeed(3), elapsedBars(0), elapsedBeats(0), + curSpeed(0), curSubSongIndex(0), bufferPos(0), divider(60), @@ -1116,8 +1112,6 @@ class DivEngine { globalPitch(0), extValue(0), pendingMetroTick(0), - speed1(3), - speed2(3), tempoAccum(0), view(DIV_STATUS_NOTHING), haltOn(DIV_HALT_NONE), diff --git a/src/engine/fileOps.cpp b/src/engine/fileOps.cpp index e2629dfa0..aac777f34 100644 --- a/src/engine/fileOps.cpp +++ b/src/engine/fileOps.cpp @@ -83,7 +83,7 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { } ds.version=(unsigned char)reader.readC(); logI("module version %d (0x%.2x)",ds.version,ds.version); - if (ds.version>0x1a) { + if (ds.version>0x1b) { logE("this version is not supported by Furnace yet!"); lastError="this version is not supported by Furnace yet"; delete[] file; @@ -219,14 +219,15 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { } ds.subsong[0]->timeBase=reader.readC(); - ds.subsong[0]->speed1=reader.readC(); + ds.subsong[0]->speeds.len=2; + ds.subsong[0]->speeds.val[0]=reader.readC(); if (ds.version>0x07) { - ds.subsong[0]->speed2=reader.readC(); + ds.subsong[0]->speeds.val[1]=reader.readC(); ds.subsong[0]->pal=reader.readC(); ds.subsong[0]->hz=(ds.subsong[0]->pal)?60:50; ds.subsong[0]->customTempo=reader.readC(); } else { - ds.subsong[0]->speed2=ds.subsong[0]->speed1; + ds.subsong[0]->speeds.len=1; } if (ds.version>0x0a) { String hz=reader.readString(3); @@ -827,6 +828,8 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { for (int i=0; idepth=DIV_SAMPLE_DEPTH_YMZ_ADPCM; } } + if (ds.version>=0x1a) { + // what the hell man... + cutStart=reader.readI(); + cutEnd=reader.readI(); + if (cutStart<0 || cutStart>length) { + logE("cutStart is out of range! (%d)",cutStart); + lastError="file is corrupt or unreadable at samples"; + delete[] file; + return false; + } + if (cutEnd<0 || cutEnd>length) { + logE("cutEnd is out of range! (%d)",cutEnd); + lastError="file is corrupt or unreadable at samples"; + delete[] file; + return false; + } + if (cutEnd0) { if (ds.version>0x08) { if (ds.version<0x0b) { @@ -876,6 +902,19 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { data=new short[length]; reader.read(data,length*2); } + + if (ds.version>0x1a) { + if (cutStart!=0 || cutEnd!=length) { + // cut data + short* newData=new short[cutEnd-cutStart]; + memcpy(newData,&data[cutStart],(cutEnd-cutStart)*sizeof(short)); + delete[] data; + data=newData; + length=cutEnd-cutStart; + cutStart=0; + cutEnd=length; + } + } #ifdef TA_BIG_ENDIAN // convert to big-endian @@ -1742,8 +1781,9 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { reader.readI(); subSong->timeBase=reader.readC(); - subSong->speed1=reader.readC(); - subSong->speed2=reader.readC(); + subSong->speeds.len=2; + subSong->speeds.val[0]=reader.readC(); + subSong->speeds.val[1]=reader.readC(); subSong->arpLen=reader.readC(); subSong->hz=reader.readF(); subSong->pal=(subSong->hz>=53); @@ -2231,6 +2271,25 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { } } + if (ds.version>=139) { + subSong->speeds.len=reader.readC(); + for (int i=0; i<16; i++) { + subSong->speeds.val[i]=reader.readC(); + } + + // grooves + unsigned char grooveCount=reader.readC(); + for (int i=0; i=119) { logD("reading chip flags..."); @@ -2289,8 +2348,9 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { subSong=ds.subsong[i+1]; subSong->timeBase=reader.readC(); - subSong->speed1=reader.readC(); - subSong->speed2=reader.readC(); + subSong->speeds.len=2; + subSong->speeds.val[0]=reader.readC(); + subSong->speeds.val[1]=reader.readC(); subSong->arpLen=reader.readC(); subSong->hz=reader.readF(); subSong->pal=(subSong->hz>=53); @@ -2338,6 +2398,13 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { for (int i=0; ichanShortName[i]=reader.readString(); } + + if (ds.version>=139) { + subSong->speeds.len=reader.readC(); + for (int i=0; i<16; i++) { + subSong->speeds.val[i]=reader.readC(); + } + } } } @@ -2956,7 +3023,6 @@ bool DivEngine::loadMod(unsigned char* file, size_t len) { if (fxVal>0x20 && ds.name!="klisje paa klisje") { writeFxCol(0xf0,fxVal); } else { - writeFxCol(0x09,fxVal); writeFxCol(0x0f,fxVal); } break; @@ -3435,8 +3501,8 @@ bool DivEngine::loadFC(unsigned char* file, size_t len) { ds.subsong[0]->pal=true; ds.subsong[0]->customTempo=true; ds.subsong[0]->pat[3].effectCols=3; - ds.subsong[0]->speed1=3; - ds.subsong[0]->speed2=3; + ds.subsong[0]->speeds.val[0]=3; + ds.subsong[0]->speeds.len=1; int lastIns[4]; int lastNote[4]; @@ -3453,10 +3519,8 @@ bool DivEngine::loadFC(unsigned char* file, size_t len) { ds.subsong[0]->orders.ord[j][i]=i; DivPattern* p=ds.subsong[0]->pat[j].getPattern(i,true); if (j==3 && seq[i].speed) { - p->data[0][6]=0x09; + p->data[0][6]=0x0f; p->data[0][7]=seq[i].speed; - p->data[0][8]=0x0f; - p->data[0][9]=seq[i].speed; } bool ignoreNext=false; @@ -4343,8 +4407,9 @@ SafeWriter* DivEngine::saveFur(bool notPrimary) { w->writeI(0); w->writeC(subSong->timeBase); - w->writeC(subSong->speed1); - w->writeC(subSong->speed2); + // these are for compatibility + w->writeC(subSong->speeds.val[0]); + w->writeC((subSong->speeds.len>=2)?subSong->speeds.val[1]:subSong->speeds.val[0]); w->writeC(subSong->arpLen); w->writeF(subSong->hz); w->writeS(subSong->patLen); @@ -4531,6 +4596,21 @@ SafeWriter* DivEngine::saveFur(bool notPrimary) { w->writeC(0); } + // speeds of first song + w->writeC(subSong->speeds.len); + for (int i=0; i<16; i++) { + w->writeC(subSong->speeds.val[i]); + } + + // groove list + w->writeC((unsigned char)song.grooves.size()); + for (const DivGroovePattern& i: song.grooves) { + w->writeC(i.len); + for (int j=0; j<16; j++) { + w->writeC(i.val[j]); + } + } + blockEndSeek=w->tell(); w->seek(blockStartSeek,SEEK_SET); w->writeI(blockEndSeek-blockStartSeek-4); @@ -4545,8 +4625,8 @@ SafeWriter* DivEngine::saveFur(bool notPrimary) { w->writeI(0); w->writeC(subSong->timeBase); - w->writeC(subSong->speed1); - w->writeC(subSong->speed2); + w->writeC(subSong->speeds.val[0]); + w->writeC((subSong->speeds.len>=2)?subSong->speeds.val[1]:subSong->speeds.val[0]); w->writeC(subSong->arpLen); w->writeF(subSong->hz); w->writeS(subSong->patLen); @@ -4585,6 +4665,12 @@ SafeWriter* DivEngine::saveFur(bool notPrimary) { w->writeString(subSong->chanShortName[i],false); } + // speeds + w->writeC(subSong->speeds.len); + for (int i=0; i<16; i++) { + w->writeC(subSong->speeds.val[i]); + } + blockEndSeek=w->tell(); w->seek(blockStartSeek,SEEK_SET); w->writeI(blockEndSeek-blockStartSeek-4); @@ -4840,8 +4926,8 @@ SafeWriter* DivEngine::saveDMF(unsigned char version) { w->writeC(curSubSong->hilightB); w->writeC(curSubSong->timeBase); - w->writeC(curSubSong->speed1); - w->writeC(curSubSong->speed2); + w->writeC(curSubSong->speeds.val[0]); + w->writeC((curSubSong->speeds.len>=2)?curSubSong->speeds.val[1]:curSubSong->speeds.val[0]); w->writeC(curSubSong->pal); w->writeC(curSubSong->customTempo); char customHz[4]; @@ -4865,6 +4951,14 @@ SafeWriter* DivEngine::saveDMF(unsigned char version) { addWarning("only the currently selected subsong will be saved"); } + if (!song.grooves.empty()) { + addWarning("grooves will not be saved"); + } + + if (curSubSong->speeds.len>2) { + addWarning("only the first two speeds will be effective"); + } + if (curSubSong->virtualTempoD!=curSubSong->virtualTempoN) { addWarning(".dmf format does not support virtual tempo"); } diff --git a/src/engine/playback.cpp b/src/engine/playback.cpp index abcb8dc56..823b2f8a9 100644 --- a/src/engine/playback.cpp +++ b/src/engine/playback.cpp @@ -400,11 +400,22 @@ void DivEngine::processRow(int i, bool afterDelay) { if (effectVal==-1) effectVal=0; switch (effect) { - case 0x09: // speed 1 - if (effectVal>0) speed1=effectVal; + case 0x09: // select groove pattern/speed 1 + if (song.grooves.empty()) { + if (effectVal>0) speeds.val[0]=effectVal; + } else { + if (effectVal<(short)song.grooves.size()) { + speeds=song.grooves[effectVal]; + curSpeed=0; + } + } break; - case 0x0f: // speed 2 - if (effectVal>0) speed2=effectVal; + case 0x0f: // speed 1/speed 2 + if (speeds.len==2 && song.grooves.empty()) { + if (effectVal>0) speeds.val[1]=effectVal; + } else { + if (effectVal>0) speeds.val[0]=effectVal; + } break; case 0x0b: // change order if (changeOrd==-1 || song.jumpTreatment==0) { @@ -1071,6 +1082,9 @@ void DivEngine::nextRow() { } if (song.brokenSpeedSel) { + unsigned char speed2=(speeds.len>=2)?speeds.val[1]:speeds.val[0]; + unsigned char speed1=speeds.val[0]; + if ((curSubSong->patLen&1) && curOrder&1) { ticks=((curRow&1)?speed2:speed1)*(curSubSong->timeBase+1); nextSpeed=(curRow&1)?speed1:speed2; @@ -1079,14 +1093,10 @@ void DivEngine::nextRow() { nextSpeed=(curRow&1)?speed2:speed1; } } else { - if (speedAB) { - ticks=speed2*(curSubSong->timeBase+1); - nextSpeed=speed1; - } else { - ticks=speed1*(curSubSong->timeBase+1); - nextSpeed=speed2; - } - speedAB=!speedAB; + ticks=speeds.val[curSpeed]*(curSubSong->timeBase+1); + curSpeed++; + if (curSpeed>=speeds.len) curSpeed=0; + nextSpeed=speeds.val[curSpeed]; } // post row details diff --git a/src/engine/song.h b/src/engine/song.h index 6aaec7c12..72fbea0ef 100644 --- a/src/engine/song.h +++ b/src/engine/song.h @@ -127,10 +127,20 @@ enum DivSystem { DIV_SYSTEM_YM2608_CSM }; +struct DivGroovePattern { + unsigned char val[16]; + unsigned char len; + DivGroovePattern(): + len(1) { + memset(val,6,16); + } +}; + struct DivSubSong { String name, notes; unsigned char hilightA, hilightB; - unsigned char timeBase, speed1, speed2, arpLen; + unsigned char timeBase, arpLen; + DivGroovePattern speeds; short virtualTempoN, virtualTempoD; bool pal; bool customTempo; @@ -153,8 +163,6 @@ struct DivSubSong { hilightA(4), hilightB(16), timeBase(0), - speed1(6), - speed2(6), arpLen(1), virtualTempoN(150), virtualTempoD(150), @@ -338,6 +346,7 @@ struct DivSong { std::vector subsong; std::vector patchbay; + std::vector grooves; DivInstrument nullIns, nullInsOPLL, nullInsOPL, nullInsOPLDrums, nullInsQSound; DivWavetable nullWave; diff --git a/src/gui/doAction.cpp b/src/gui/doAction.cpp index 60511f09e..83ab4e37e 100644 --- a/src/gui/doAction.cpp +++ b/src/gui/doAction.cpp @@ -265,6 +265,9 @@ void FurnaceGUI::doAction(int what) { case GUI_ACTION_WINDOW_FIND: nextWindow=GUI_WINDOW_FIND; break; + case GUI_ACTION_WINDOW_GROOVES: + nextWindow=GUI_WINDOW_GROOVES; + break; case GUI_ACTION_COLLAPSE_WINDOW: collapseWindow=true; @@ -358,6 +361,9 @@ void FurnaceGUI::doAction(int what) { case GUI_WINDOW_FIND: findOpen=false; break; + case GUI_WINDOW_GROOVES: + groovesOpen=false; + break; default: break; } diff --git a/src/gui/grooves.cpp b/src/gui/grooves.cpp new file mode 100644 index 000000000..560a09e68 --- /dev/null +++ b/src/gui/grooves.cpp @@ -0,0 +1,154 @@ +/** + * Furnace Tracker - multi-system chiptune tracker + * Copyright (C) 2021-2023 tildearrow and contributors + * + * This program 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 2 of the License, or + * (at your option) any later version. + * + * This program 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 this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "gui.h" +#include "imgui.h" +#include "misc/cpp/imgui_stdlib.h" +#include "IconsFontAwesome4.h" +#include +#include "intConst.h" + +void FurnaceGUI::drawGrooves() { + if (nextWindow==GUI_WINDOW_GROOVES) { + groovesOpen=true; + ImGui::SetNextWindowFocus(); + nextWindow=GUI_WINDOW_NOTHING; + } + if (!groovesOpen) return; + ImGui::SetNextWindowSizeConstraints(ImVec2(64.0f*dpiScale,32.0f*dpiScale),ImVec2(canvasW,canvasH)); + if (ImGui::Begin("Grooves",&groovesOpen,globalWinFlags)) { + int delGroove=-1; + + ImGui::Text("use effect 09xx to select a groove pattern."); + if (!e->song.grooves.empty()) if (ImGui::BeginTable("GrooveList",3,ImGuiTableFlags_Borders)) { + ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed); + ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch); + ImGui::TableSetupColumn("c2",ImGuiTableColumnFlags_WidthFixed); + + ImGui::TableNextRow(ImGuiTableRowFlags_Headers); + ImGui::TableNextColumn(); + ImGui::Text("#"); + ImGui::TableNextColumn(); + ImGui::Text("pattern"); + ImGui::TableNextColumn(); + ImGui::Text("remove"); + + int index=0; + for (DivGroovePattern& i: e->song.grooves) { + ImGui::TableNextRow(); + ImGui::TableNextColumn(); + ImGui::PushFont(patFont); + ImGui::Text("%.2X",index); + ImGui::PopFont(); + + ImGui::TableNextColumn(); + + String grooveStr; + + if (curGroove==index) { + int intVersion[256]; + unsigned char intVersionLen=i.len; + unsigned char ignoredLoop=0; + unsigned char ignoredRel=0; + memset(intVersion,0,sizeof(int)); + for (int j=0; j<16; j++) { + intVersion[j]=i.val[j]; + } + if (intVersionLen>16) intVersionLen=16; + grooveStr=fmt::sprintf("##_GRI%d",index); + bool wantedFocus=wantGrooveListFocus; + if (wantGrooveListFocus) { + wantGrooveListFocus=false; + ImGui::SetItemDefaultFocus(); + ImGui::SetKeyboardFocusHere(); + } + ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); + if (ImGui::InputText(grooveStr.c_str(),&grooveListString)) { + decodeMMLStr(grooveListString,intVersion,intVersionLen,ignoredLoop,1,255,ignoredRel); + if (intVersionLen<1) { + intVersionLen=1; + intVersion[0]=6; + } + if (intVersionLen>16) intVersionLen=16; + e->lockEngine([&i,intVersion,intVersionLen]() { + i.len=intVersionLen; + for (int j=0; j<16; j++) { + i.val[j]=intVersion[j]; + } + }); + MARK_MODIFIED; + } + if (!ImGui::IsItemActive() && !wantedFocus) { + curGroove=-1; + //encodeMMLStr(grooveListString,intVersion,intVersionLen,-1,-1,false); + } + } else { + String grooveStr; + + for (int j=0; j0) { + grooveStr+=' '; + } + grooveStr+=fmt::sprintf("%d",(int)i.val[j]); + } + + size_t groovePrevLen=grooveStr.size(); + + grooveStr+=fmt::sprintf("##_GR%d",index); + + if (ImGui::Selectable(grooveStr.c_str(),false)) { + curGroove=index; + grooveListString=grooveStr.substr(0,groovePrevLen); + wantGrooveListFocus=true; + } + } + + ImGui::TableNextColumn(); + String grooveID=fmt::sprintf(ICON_FA_TIMES "##GRR%d",index); + if (ImGui::Button(grooveID.c_str())) { + delGroove=index; + } + + index++; + } + + ImGui::EndTable(); + } + + if (delGroove>=0) { + e->lockEngine([this,delGroove]() { + e->song.grooves.erase(e->song.grooves.begin()+delGroove); + }); + MARK_MODIFIED; + } + + if (ImGui::Button(ICON_FA_PLUS "##AddGroove")) { + e->lockEngine([this]() { + e->song.grooves.push_back(DivGroovePattern()); + }); + MARK_MODIFIED; + } + } + if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) { + curWindow=GUI_WINDOW_GROOVES; + } else { + curGroove=-1; + } + ImGui::End(); +} diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 67df8c87e..5b20c47eb 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -988,15 +988,19 @@ void FurnaceGUI::prepareLayout() { fclose(check); } -float FurnaceGUI::calcBPM(int s1, int s2, float hz, int vN, int vD) { +float FurnaceGUI::calcBPM(const DivGroovePattern& speeds, float hz, int vN, int vD) { float hl=e->curSubSong->hilightA; if (hl<=0.0f) hl=4.0f; float timeBase=e->curSubSong->timeBase+1; - float speedSum=s1+s2; + float speedSum=0; + for (int i=0; iisPlaying()) { int totalTicks=e->getTotalTicks(); int totalSeconds=e->getTotalSeconds(); - ImGui::Text("| Speed %d:%d @ %gHz (%g BPM) | Order %d/%d | Row %d/%d | %d:%.2d:%.2d.%.2d",e->getSpeed1(),e->getSpeed2(),e->getCurHz(),calcBPM(e->getSpeed1(),e->getSpeed2(),e->getCurHz(),e->curSubSong->virtualTempoN,e->curSubSong->virtualTempoD),e->getOrder(),e->curSubSong->ordersLen,e->getRow(),e->curSubSong->patLen,totalSeconds/3600,(totalSeconds/60)%60,totalSeconds%60,totalTicks/10000); + + String info; + + DivGroovePattern gp=e->getSpeeds(); + if (gp.len==2) { + info=fmt::sprintf("| Speed %d:%d",gp.val[0],gp.val[1]); + } else if (gp.len==1) { + info=fmt::sprintf("| Speed %d",gp.val[0]); + } else { + info="| Groove"; + } + + info+=fmt::sprintf(" @ %gHz (%g BPM) | Order %d/%d | Row %d/%d | %d:%.2d:%.2d.%.2d",e->getCurHz(),calcBPM(e->getSpeeds(),e->getCurHz(),e->curSubSong->virtualTempoN,e->curSubSong->virtualTempoD),e->getOrder(),e->curSubSong->ordersLen,e->getRow(),e->curSubSong->patLen,totalSeconds/3600,(totalSeconds/60)%60,totalSeconds%60,totalTicks/10000); + + ImGui::TextUnformatted(info.c_str()); } else { bool hasInfo=false; String info; @@ -3917,6 +3936,7 @@ bool FurnaceGUI::loop() { drawPattern(); drawEditControls(); drawSpeed(); + drawGrooves(); drawSongInfo(); drawOrders(); drawSampleList(); @@ -5248,6 +5268,7 @@ bool FurnaceGUI::init() { sysManagerOpen=e->getConfBool("sysManagerOpen",false); clockOpen=e->getConfBool("clockOpen",false); speedOpen=e->getConfBool("speedOpen",true); + groovesOpen=e->getConfBool("groovesOpen",false); regViewOpen=e->getConfBool("regViewOpen",false); logOpen=e->getConfBool("logOpen",false); effectListOpen=e->getConfBool("effectListOpen",false); @@ -5623,6 +5644,7 @@ void FurnaceGUI::commitState() { e->setConf("sysManagerOpen",sysManagerOpen); e->setConf("clockOpen",clockOpen); e->setConf("speedOpen",speedOpen); + e->setConf("groovesOpen",groovesOpen); e->setConf("regViewOpen",regViewOpen); e->setConf("logOpen",logOpen); e->setConf("effectListOpen",effectListOpen); @@ -5835,6 +5857,7 @@ FurnaceGUI::FurnaceGUI(): dragDestinationY(0), oldBeat(-1), oldBar(-1), + curGroove(-1), soloTimeout(0.0f), exportFadeOut(5.0), editControlsOpen(true), @@ -5870,6 +5893,7 @@ FurnaceGUI::FurnaceGUI(): sysManagerOpen(false), clockOpen(false), speedOpen(true), + groovesOpen(false), clockShowReal(true), clockShowRow(true), clockShowBeat(true), @@ -5898,10 +5922,12 @@ FurnaceGUI::FurnaceGUI(): latchNibble(false), nonLatchNibble(false), keepLoopAlive(false), + keepGrooveAlive(false), orderScrollLocked(false), orderScrollTolerance(false), dragMobileMenu(false), dragMobileEditButton(false), + wantGrooveListFocus(false), curWindow(GUI_WINDOW_NOTHING), nextWindow(GUI_WINDOW_NOTHING), curWindowLast(GUI_WINDOW_NOTHING), diff --git a/src/gui/gui.h b/src/gui/gui.h index 440581a7b..ba8dc933f 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -321,6 +321,7 @@ enum FurnaceGUIWindows { GUI_WINDOW_SUBSONGS, GUI_WINDOW_FIND, GUI_WINDOW_CLOCK, + GUI_WINDOW_GROOVES, GUI_WINDOW_SPOILER }; @@ -466,6 +467,7 @@ enum FurnaceGUIActions { GUI_ACTION_WINDOW_SUBSONGS, GUI_ACTION_WINDOW_FIND, GUI_ACTION_WINDOW_CLOCK, + GUI_ACTION_WINDOW_GROOVES, GUI_ACTION_COLLAPSE_WINDOW, GUI_ACTION_CLOSE_WINDOW, @@ -1097,7 +1099,7 @@ class FurnaceGUI { String workingDirVGMExport, workingDirZSMExport, workingDirROMExport, workingDirFont, workingDirColors, workingDirKeybinds; String workingDirLayout, workingDirROM, workingDirTest; String mmlString[32]; - String mmlStringW, mmlStringSNES; + String mmlStringW, mmlStringSNES, grooveString, grooveListString; std::vector sysSearchResults; std::vector newSongSearchResults; @@ -1456,6 +1458,7 @@ class FurnaceGUI { int curIns, curWave, curSample, curOctave, curOrder, prevIns, oldRow, oldOrder, oldOrder1, editStep, exportLoops, soloChan,orderEditMode, orderCursor; int loopOrder, loopRow, loopEnd, isClipping, extraChannelButtons, patNameTarget, newSongCategory, latchTarget; int wheelX, wheelY, dragSourceX, dragSourceXFine, dragSourceY, dragDestinationX, dragDestinationXFine, dragDestinationY, oldBeat, oldBar; + int curGroove; float soloTimeout; double exportFadeOut; @@ -1465,6 +1468,7 @@ class FurnaceGUI { bool mixerOpen, debugOpen, inspectorOpen, oscOpen, volMeterOpen, statsOpen, compatFlagsOpen; bool pianoOpen, notesOpen, channelsOpen, regViewOpen, logOpen, effectListOpen, chanOscOpen; bool subSongsOpen, findOpen, spoilerOpen, patManagerOpen, sysManagerOpen, clockOpen, speedOpen; + bool groovesOpen; bool clockShowReal, clockShowRow, clockShowBeat, clockShowMetro, clockShowTime; float clockMetroTick[16]; @@ -1472,7 +1476,7 @@ class FurnaceGUI { SelectionPoint selStart, selEnd, cursor, cursorDrag, dragStart, dragEnd; bool selecting, selectingFull, dragging, curNibble, orderNibble, followOrders, followPattern, changeAllOrders, mobileUI; bool collapseWindow, demandScrollX, fancyPattern, wantPatName, firstFrame, tempoView, waveHex, waveSigned, waveGenVisible, lockLayout, editOptsVisible, latchNibble, nonLatchNibble; - bool keepLoopAlive, orderScrollLocked, orderScrollTolerance, dragMobileMenu, dragMobileEditButton; + bool keepLoopAlive, keepGrooveAlive, orderScrollLocked, orderScrollTolerance, dragMobileMenu, dragMobileEditButton, wantGrooveListFocus; FurnaceGUIWindows curWindow, nextWindow, curWindowLast; std::atomic curWindowThreadSafe; float peak[DIV_MAX_OUTPUTS]; @@ -1801,7 +1805,7 @@ class FurnaceGUI { void pushAccentColors(const ImVec4& one, const ImVec4& two, const ImVec4& border, const ImVec4& borderShadow); void popAccentColors(); - float calcBPM(int s1, int s2, float hz, int vN, int vD); + float calcBPM(const DivGroovePattern& speeds, float hz, int vN, int vD); void patternRow(int i, bool isPlaying, float lineHeight, int chans, int ord, const DivPattern** patCache, bool inhibitSel); @@ -1821,6 +1825,7 @@ class FurnaceGUI { void drawEditControls(); void drawSongInfo(bool asChild=false); void drawSpeed(bool asChild=false); + void drawGrooves(); void drawOrders(); void drawPattern(); void drawInsList(bool asChild=false); diff --git a/src/gui/guiConst.cpp b/src/gui/guiConst.cpp index 2ffdbbbc3..0445704ed 100644 --- a/src/gui/guiConst.cpp +++ b/src/gui/guiConst.cpp @@ -520,6 +520,7 @@ const FurnaceGUIActionDef guiActions[GUI_ACTION_MAX]={ D("WINDOW_SUBSONGS", "Subsongs", 0), D("WINDOW_FIND", "Find/Replace", FURKMOD_CMD|SDLK_f), D("WINDOW_CLOCK", "Clock", 0), + D("WINDOW_GROOVES", "Grooves", 0), D("COLLAPSE_WINDOW", "Collapse/expand current window", 0), D("CLOSE_WINDOW", "Close current window", FURKMOD_SHIFT|SDLK_ESCAPE), diff --git a/src/gui/speed.cpp b/src/gui/speed.cpp index 1d09331b4..796f0ec19 100644 --- a/src/gui/speed.cpp +++ b/src/gui/speed.cpp @@ -31,19 +31,26 @@ void FurnaceGUI::drawSpeed(bool asChild) { if (!speedOpen && !asChild) return; bool began=asChild?ImGui::BeginChild("Speed"):ImGui::Begin("Speed",&speedOpen,globalWinFlags); if (began) { - if (ImGui::BeginTable("Props",3,ImGuiTableFlags_SizingStretchProp)) { + if (ImGui::BeginTable("Props",2,ImGuiTableFlags_SizingStretchProp)) { ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed,0.0); ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.0); - ImGui::TableSetupColumn("c2",ImGuiTableColumnFlags_WidthStretch,0.0); ImGui::TableNextRow(); ImGui::TableNextColumn(); - if (ImGui::Selectable(tempoView?"Base Tempo##TempoOrHz":"Tick Rate##TempoOrHz")) { + if (ImGui::SmallButton(tempoView?"Base Tempo##TempoOrHz":"Tick Rate##TempoOrHz")) { tempoView=!tempoView; } + if (ImGui::IsItemHovered()) { + if (tempoView) { + ImGui::SetTooltip("click to display tick rate"); + } else { + ImGui::SetTooltip("click to display base tempo"); + } + } ImGui::TableNextColumn(); float avail=ImGui::GetContentRegionAvail().x; - ImGui::SetNextItemWidth(avail); + float halfAvail=(avail-ImGui::GetStyle().ItemSpacing.x)*0.5; + ImGui::SetNextItemWidth(halfAvail); float setHz=tempoView?e->curSubSong->hz*2.5:e->curSubSong->hz; if (ImGui::InputFloat("##Rate",&setHz,1.0f,1.0f,"%g")) { MARK_MODIFIED if (tempoView) setHz/=2.5; @@ -52,40 +59,112 @@ void FurnaceGUI::drawSpeed(bool asChild) { e->setSongRate(setHz,setHz<52); } if (tempoView) { - ImGui::TableNextColumn(); + ImGui::SameLine(); ImGui::Text("= %gHz",e->curSubSong->hz); } else { if (e->curSubSong->hz>=49.98 && e->curSubSong->hz<=50.02) { - ImGui::TableNextColumn(); + ImGui::SameLine(); ImGui::Text("PAL"); } if (e->curSubSong->hz>=59.9 && e->curSubSong->hz<=60.11) { - ImGui::TableNextColumn(); + ImGui::SameLine(); ImGui::Text("NTSC"); } } ImGui::TableNextRow(); ImGui::TableNextColumn(); - ImGui::Text("Speed"); - ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); - if (ImGui::InputScalar("##Speed1",ImGuiDataType_U8,&e->curSubSong->speed1,&_ONE,&_THREE)) { MARK_MODIFIED - if (e->curSubSong->speed1<1) e->curSubSong->speed1=1; - if (e->isPlaying()) play(); + if (keepGrooveAlive || e->curSubSong->speeds.len>2) { + if (ImGui::SmallButton("Groove")) { + e->lockEngine([this]() { + e->curSubSong->speeds.len=1; + }); + if (e->isPlaying()) play(); + } + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("click for one speed"); + } + } else if (e->curSubSong->speeds.len>1) { + if (ImGui::SmallButton("Speeds")) { + e->lockEngine([this]() { + e->curSubSong->speeds.len=4; + e->curSubSong->speeds.val[2]=e->curSubSong->speeds.val[0]; + e->curSubSong->speeds.val[3]=e->curSubSong->speeds.val[1]; + }); + if (e->isPlaying()) play(); + } + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("click for groove pattern"); + } + } else { + if (ImGui::SmallButton("Speed")) { + e->lockEngine([this]() { + e->curSubSong->speeds.len=2; + e->curSubSong->speeds.val[1]=e->curSubSong->speeds.val[0]; + }); + if (e->isPlaying()) play(); + } + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("click for two (alternating) speeds"); + } } ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); - if (ImGui::InputScalar("##Speed2",ImGuiDataType_U8,&e->curSubSong->speed2,&_ONE,&_THREE)) { MARK_MODIFIED - if (e->curSubSong->speed2<1) e->curSubSong->speed2=1; - if (e->isPlaying()) play(); + if (keepGrooveAlive || e->curSubSong->speeds.len>2) { + int intVersion[256]; + unsigned char intVersionLen=e->curSubSong->speeds.len; + unsigned char ignoredLoop=0; + unsigned char ignoredRel=0; + memset(intVersion,0,sizeof(int)); + for (int i=0; i<16; i++) { + intVersion[i]=e->curSubSong->speeds.val[i]; + } + if (intVersionLen>16) intVersionLen=16; + + keepGrooveAlive=false; + + ImGui::SetNextItemWidth(avail); + if (ImGui::InputText("##SpeedG",&grooveString)) { + decodeMMLStr(grooveString,intVersion,intVersionLen,ignoredLoop,1,255,ignoredRel); + if (intVersionLen<1) { + intVersionLen=1; + intVersion[0]=6; + } + if (intVersionLen>16) intVersionLen=16; + e->lockEngine([this,intVersion,intVersionLen]() { + e->curSubSong->speeds.len=intVersionLen; + for (int i=0; i<16; i++) { + e->curSubSong->speeds.val[i]=intVersion[i]; + } + }); + if (e->isPlaying()) play(); + MARK_MODIFIED; + } + if (!ImGui::IsItemActive()) { + encodeMMLStr(grooveString,intVersion,intVersionLen,-1,-1,false); + } else { + keepGrooveAlive=true; + } + } else { + ImGui::SetNextItemWidth(halfAvail); + if (ImGui::InputScalar("##Speed1",ImGuiDataType_U8,&e->curSubSong->speeds.val[0],&_ONE,&_THREE)) { MARK_MODIFIED + if (e->curSubSong->speeds.val[0]<1) e->curSubSong->speeds.val[0]=1; + if (e->isPlaying()) play(); + } + if (e->curSubSong->speeds.len>1) { + ImGui::SameLine(); + ImGui::SetNextItemWidth(halfAvail); + if (ImGui::InputScalar("##Speed2",ImGuiDataType_U8,&e->curSubSong->speeds.val[1],&_ONE,&_THREE)) { MARK_MODIFIED + if (e->curSubSong->speeds.val[1]<1) e->curSubSong->speeds.val[1]=1; + if (e->isPlaying()) play(); + } + } } ImGui::TableNextRow(); ImGui::TableNextColumn(); ImGui::Text("Virtual Tempo"); ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); + ImGui::SetNextItemWidth(halfAvail); if (ImGui::InputScalar("##VTempoN",ImGuiDataType_S16,&e->curSubSong->virtualTempoN,&_ONE,&_THREE)) { MARK_MODIFIED if (e->curSubSong->virtualTempoN<1) e->curSubSong->virtualTempoN=1; if (e->curSubSong->virtualTempoN>255) e->curSubSong->virtualTempoN=255; @@ -93,8 +172,8 @@ void FurnaceGUI::drawSpeed(bool asChild) { if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Numerator"); } - ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); + ImGui::SameLine(); + ImGui::SetNextItemWidth(halfAvail); if (ImGui::InputScalar("##VTempoD",ImGuiDataType_S16,&e->curSubSong->virtualTempoD,&_ONE,&_THREE)) { MARK_MODIFIED if (e->curSubSong->virtualTempoD<1) e->curSubSong->virtualTempoD=1; if (e->curSubSong->virtualTempoD>255) e->curSubSong->virtualTempoD=255; @@ -105,28 +184,28 @@ void FurnaceGUI::drawSpeed(bool asChild) { ImGui::TableNextRow(); ImGui::TableNextColumn(); - ImGui::Text("TimeBase"); + ImGui::Text("Divider"); ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); + ImGui::SetNextItemWidth(halfAvail); unsigned char realTB=e->curSubSong->timeBase+1; if (ImGui::InputScalar("##TimeBase",ImGuiDataType_U8,&realTB,&_ONE,&_THREE)) { MARK_MODIFIED if (realTB<1) realTB=1; if (realTB>16) realTB=16; e->curSubSong->timeBase=realTB-1; } - ImGui::TableNextColumn(); - ImGui::Text("%.2f BPM",calcBPM(e->curSubSong->speed1,e->curSubSong->speed2,e->curSubSong->hz,e->curSubSong->virtualTempoN,e->curSubSong->virtualTempoD)); + ImGui::SameLine(); + ImGui::Text("%.2f BPM",calcBPM(e->curSubSong->speeds,e->curSubSong->hz,e->curSubSong->virtualTempoN,e->curSubSong->virtualTempoD)); ImGui::TableNextRow(); ImGui::TableNextColumn(); ImGui::Text("Highlight"); ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); + ImGui::SetNextItemWidth(halfAvail); if (ImGui::InputScalar("##Highlight1",ImGuiDataType_U8,&e->curSubSong->hilightA,&_ONE,&_THREE)) { MARK_MODIFIED; } - ImGui::TableNextColumn(); - ImGui::SetNextItemWidth(avail); + ImGui::SameLine(); + ImGui::SetNextItemWidth(halfAvail); if (ImGui::InputScalar("##Highlight2",ImGuiDataType_U8,&e->curSubSong->hilightB,&_ONE,&_THREE)) { MARK_MODIFIED; } From 1a24fbe35f022883c709f13237d6f69f8003b0c5 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 5 Feb 2023 03:50:32 -0500 Subject: [PATCH 119/121] GUI: add ability to change sub-song comment --- src/gui/subSongs.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gui/subSongs.cpp b/src/gui/subSongs.cpp index 9801ab57c..b6e49e5b2 100644 --- a/src/gui/subSongs.cpp +++ b/src/gui/subSongs.cpp @@ -106,6 +106,12 @@ void FurnaceGUI::drawSubSongs() { if (ImGui::InputText("##SubSongName",&e->curSubSong->name,ImGuiInputTextFlags_UndoRedo)) { MARK_MODIFIED; } + + if (ImGui::GetContentRegionAvail().y>(10.0f*dpiScale)) { + if (ImGui::InputTextMultiline("##SubSongNotes",&e->curSubSong->notes,ImGui::GetContentRegionAvail(),ImGuiInputTextFlags_UndoRedo)) { + MARK_MODIFIED; + } + } } if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_SUBSONGS; ImGui::End(); From 3cacbe44344b92a9e4f3fb148ea4c18f0032163b Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 5 Feb 2023 03:54:30 -0500 Subject: [PATCH 120/121] TIA: fix non-working arp macro --- src/engine/platform/tia.cpp | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/engine/platform/tia.cpp b/src/engine/platform/tia.cpp index d46a2b67b..1e6db02ca 100644 --- a/src/engine/platform/tia.cpp +++ b/src/engine/platform/tia.cpp @@ -135,22 +135,27 @@ void DivPlatformTIA::tick(bool sysTick) { int bf=chan[i].baseFreq; if (!parent->song.oldArpStrategy) { if (!chan[i].fixedArp) { - bf+=chan[i].arpOff; + bf+=chan[i].arpOff<<8; } } - chan[i].freq=dealWithFreq(chan[i].shape,bf,chan[i].pitch+chan[i].pitch2); - if ((chan[i].shape==4 || chan[i].shape==5) && !(chan[i].baseFreq&0x80000000 && ((chan[i].baseFreq&0x7fffffff)<32))) { - if (bf<39*256) { - rWrite(0x15+i,6); - chan[i].freq=dealWithFreq(6,bf,chan[i].pitch+chan[i].pitch2); - } else if (bf<59*256) { - rWrite(0x15+i,12); - chan[i].freq=dealWithFreq(12,bf,chan[i].pitch+chan[i].pitch2); - } else { - rWrite(0x15+i,chan[i].shape); + if (chan[i].fixedArp) { + chan[i].freq=chan[i].baseNoteOverride&31; + } else { + chan[i].freq=dealWithFreq(chan[i].shape,bf,chan[i].pitch+chan[i].pitch2); + if ((chan[i].shape==4 || chan[i].shape==5) && !(chan[i].baseFreq&0x80000000 && ((chan[i].baseFreq&0x7fffffff)<32))) { + if (bf<39*256) { + rWrite(0x15+i,6); + chan[i].freq=dealWithFreq(6,bf,chan[i].pitch+chan[i].pitch2); + } else if (bf<59*256) { + rWrite(0x15+i,12); + chan[i].freq=dealWithFreq(12,bf,chan[i].pitch+chan[i].pitch2); + } else { + rWrite(0x15+i,chan[i].shape); + } } + if (chan[i].freq>31) chan[i].freq=31; } - if (chan[i].freq>31) chan[i].freq=31; + if (chan[i].keyOff) { rWrite(0x19+i,0); } From 1fa45ec57d9a88475d55c2b571fa35356d6ad658 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 5 Feb 2023 04:09:47 -0500 Subject: [PATCH 121/121] YM2612: why --- src/engine/platform/genesisext.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/engine/platform/genesisext.cpp b/src/engine/platform/genesisext.cpp index 5c9d986a4..cc763d098 100644 --- a/src/engine/platform/genesisext.cpp +++ b/src/engine/platform/genesisext.cpp @@ -589,6 +589,7 @@ void DivPlatformGenesisExt::tick(bool sysTick) { if (opChan[i].freq>0x3fff) opChan[i].freq=0x3fff; immWrite(opChanOffsH[i],opChan[i].freq>>8); immWrite(opChanOffsL[i],opChan[i].freq&0xff); + opChan[i].freqChanged=false; } writeMask|=(unsigned char)(opChan[i].mask && opChan[i].active)<<(4+i); if (opChan[i].keyOn) {