From c63cabe6e71a1549c7311022634dac15ca160130 Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Tue, 25 Jun 2024 00:55:10 -0700 Subject: [PATCH 01/20] wip --- libzhl/functions/Music.zhl | 17 ++++----- libzhl/functions/MusicEntry.zhl | 6 +++- libzhl/functions/SoundSourceBase.zhl | 38 ++++++++++++++++++++ libzhl/functions/SoundStream.zhl | 10 ++++++ libzhl/functions/SoundStreamSet.zhl | 10 ++++++ repentogon/LuaInterfaces/LuaMusicManager.cpp | 6 +++- 6 files changed, 74 insertions(+), 13 deletions(-) create mode 100644 libzhl/functions/SoundSourceBase.zhl create mode 100644 libzhl/functions/SoundStream.zhl create mode 100644 libzhl/functions/SoundStreamSet.zhl diff --git a/libzhl/functions/Music.zhl b/libzhl/functions/Music.zhl index 2247442ab..26c39b8d8 100644 --- a/libzhl/functions/Music.zhl +++ b/libzhl/functions/Music.zhl @@ -5,7 +5,7 @@ __thiscall void Music::Play(int musicid,float volume); __thiscall void Music::Crossfade(int musicid,float faderate); "558bec51568bf1578b860c030000": -__thiscall void Music::PlayJingle(int musicid, int unusedInt, bool unusedBool); +__thiscall void Music::PlayJingle(int musicid, int unusedLength, bool unusedBool); "558bec5651": __thiscall void Music::Fadein(unsigned int Id, float Volume, float FadeRate); @@ -40,24 +40,19 @@ __thiscall void Music::UpdateVolume(); "558beca1????????f30f1045": __thiscall void Music::VolumeSlide(float TargetVolume, float FadeRate); -struct Music depends (MusicEntry) { +struct Music depends (MusicEntry, SoundStream, SoundStreamSet) { {{ - inline void StopJingle() { - *(int*)((char*)this + 0x348) = 0; - *(int*)((char*)this + 0x364) = -99; - }; - bool LIBZHL_API ValidateMusicID(int id, int& max); }} unsigned int _currentStream : 0x0; - // i'll add StreamSet later + SoundStreamSet _streamSets[2] : 0x4; unsigned int _currentId : 0x30c; unsigned int _queuedId : 0x310; float _pitch : 0x314; float _targetPitch : 0x318; vector_MusicEntry _entries : 0x31c; bool _enabled : 0x328; - // and Stream - float _jingleVolumeMaybe : 0x360; - int _jingleCountdownMaybe : 0x364; + SoundStream _jingleStream : 0x32c; + float _jingleVolume : 0x360; + int _jingleCountdown : 0x364; } : 0x368; \ No newline at end of file diff --git a/libzhl/functions/MusicEntry.zhl b/libzhl/functions/MusicEntry.zhl index ddd2d3ad2..494955be5 100644 --- a/libzhl/functions/MusicEntry.zhl +++ b/libzhl/functions/MusicEntry.zhl @@ -1,4 +1,8 @@ struct MusicEntry { - std_string _string1 : 0x4; + int _guessingId : 0x0; + std_string _name : 0x4; + std_string _guessingString : 0x1c; + std_string _filenameMaybe : 0x34; + bool _loop : 0x4c; } : 0x60; diff --git a/libzhl/functions/SoundSourceBase.zhl b/libzhl/functions/SoundSourceBase.zhl new file mode 100644 index 000000000..51a56a877 --- /dev/null +++ b/libzhl/functions/SoundSourceBase.zhl @@ -0,0 +1,38 @@ +struct SoundSourceBase { + __vtable { + skip; // Free + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + skip; // Open + skip; // Clone + skip; // Close + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + skip; // GetNumChannels + skip; // GetSourceFormat + skip; // GetSampleRate + skip; // SystemSuspend + skip; // SystemResume + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/SoundStream.zhl b/libzhl/functions/SoundStream.zhl new file mode 100644 index 000000000..28bc7fd89 --- /dev/null +++ b/libzhl/functions/SoundStream.zhl @@ -0,0 +1,10 @@ +struct SoundStream { + // SoundActor _actor : 0x0; + float _unkFloat : 0x18; + float _volume : 0x1c; + float _targetVolume : 0x20; + float _fadeRate : 0x24; + bool _playing : 0x28; + unsigned int _frameCount : 0x2c; + //undefined4 _unk : 0x30; +} : 0x34; \ No newline at end of file diff --git a/libzhl/functions/SoundStreamSet.zhl b/libzhl/functions/SoundStreamSet.zhl new file mode 100644 index 000000000..c796c7ecb --- /dev/null +++ b/libzhl/functions/SoundStreamSet.zhl @@ -0,0 +1,10 @@ +struct SoundStreamSet depends (SoundStream) { + SoundStream _stream : 0x0; + SoundStream _streamArray[6] : 0x34; + unsigned int _layerBitfield : 0x16c; + int _volumeMode : 0x170; + float _volume : 0x174; + float _targetVolume : 0x178; + float _fadeRate : 0x17c; + bool _playing : 0x180; +} : 0x184; \ No newline at end of file diff --git a/repentogon/LuaInterfaces/LuaMusicManager.cpp b/repentogon/LuaInterfaces/LuaMusicManager.cpp index 472c64cf2..4750e7de1 100644 --- a/repentogon/LuaInterfaces/LuaMusicManager.cpp +++ b/repentogon/LuaInterfaces/LuaMusicManager.cpp @@ -50,12 +50,16 @@ LUA_FUNCTION(Lua_MusicManager_PlayJingle) { int musicId = (int)luaL_checkinteger(L, 2); music->PlayJingle(musicId, 140, false); + if (luaL_checkinteger(L, 3)) + music->_jingleCountdown = (int)lua_tointeger(L, 3); + return 0; } LUA_FUNCTION(Lua_MusicManager_StopJingle) { Music* music = lua::GetUserdata(L, 1, lua::Metatables::MUSIC_MANAGER, "MusicManager"); - music->StopJingle(); + music->_jingleVolume = 0.f; + music->_jingleCountdown = 0; return 0; } From 9b1c0ee7f0f67f248c86839f691a8d17579714ac Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Tue, 25 Jun 2024 14:47:28 -0700 Subject: [PATCH 02/20] zhl wip --- libzhl/functions/SampleSourceBase.zhl | 38 +++++++++ libzhl/functions/SoundSourceBase.zhl | 46 +++++++--- libzhl/functions/SoundSourceBaseMerged.zhl | 90 ++++++++++++++++++++ libzhl/functions/SoundSourcePlatformBase.zhl | 75 ++++++++++++++++ libzhl/functions/StreamSourceBase.zhl | 72 ++++++++++++++++ 5 files changed, 310 insertions(+), 11 deletions(-) create mode 100644 libzhl/functions/SampleSourceBase.zhl create mode 100644 libzhl/functions/SoundSourceBaseMerged.zhl create mode 100644 libzhl/functions/SoundSourcePlatformBase.zhl create mode 100644 libzhl/functions/StreamSourceBase.zhl diff --git a/libzhl/functions/SampleSourceBase.zhl b/libzhl/functions/SampleSourceBase.zhl new file mode 100644 index 000000000..51a56a877 --- /dev/null +++ b/libzhl/functions/SampleSourceBase.zhl @@ -0,0 +1,38 @@ +struct SoundSourceBase { + __vtable { + skip; // Free + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + skip; // Open + skip; // Clone + skip; // Close + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + skip; // GetNumChannels + skip; // GetSourceFormat + skip; // GetSampleRate + skip; // SystemSuspend + skip; // SystemResume + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/SoundSourceBase.zhl b/libzhl/functions/SoundSourceBase.zhl index 51a56a877..a534abc31 100644 --- a/libzhl/functions/SoundSourceBase.zhl +++ b/libzhl/functions/SoundSourceBase.zhl @@ -1,23 +1,47 @@ struct SoundSourceBase { __vtable { - skip; // Free + "558bec568bf18d4e??c706????????e8????????f645??0174??6a24": + SoundSourceBase * Free(bool param_1); + skip; // ApplyDataToHardware skip; // GetHardwareBufferSize - skip; // open_file_dunno - skip; // Queue - skip; // Deque - skip; // HasQueuedData - skip; // Open - skip; // Clone - skip; // Close - skip; // IsOpen + + "32c0c20800": + bool open_file_dunno(int UNK_param_1, int UNK_param_1); + + "558bec8b51??568d71": + void Queue(uint64_t UNK_param_1, int UNK_param_2); + + "558bec568bf18b56??8b46??4a": + void Deque(uint64_t * UNK_param_1); + + "8379??000f97c0c3????????????????c641??01": + bool HasQueuedData(); + + "c641??01b001c20400": + bool Open(); + + "558bec8b55??85d274??8b41??8942??8a41": + bool Clone(int UNK_param_1); + + "558bec83ec0c568bf18b46": + void Close(); + + "8a41??c3????????????????????????8a41": + bool IsOpen(); + skip; // Play skip; // Pause skip; // Resume skip; // IsPlaying skip; // Stop - skip; // SetLooping - skip; // IsLooping + + "558bec8a45??8841??5dc20400??????558bec6aff": + void SetLooping(bool value); + + "8a41??c3????????????????????????c641??01": + bool IsLooping(); + skip; // SetVolume skip; // GetVolume skip; // SetPan diff --git a/libzhl/functions/SoundSourceBaseMerged.zhl b/libzhl/functions/SoundSourceBaseMerged.zhl new file mode 100644 index 000000000..df87c0570 --- /dev/null +++ b/libzhl/functions/SoundSourceBaseMerged.zhl @@ -0,0 +1,90 @@ +struct SoundSourcePlatformBase : public SoundSourceBase { + __vtable { + "558bec568bf18d4e??c706????????e8????????f645??0174??6a40": + SoundSourcePlatformBase * Free(bool param_1); + + "558bec8b45??568bf18946??8b45": + bool ApplyDataToHardware(int param_1, int param_2); + + skip; // GetHardwareBufferSize + + "32c0c20800": + bool open_file_dunno(int UNK_param_1, int UNK_param_1); + + "558bec8b51??568d71": + void Queue(uint64_t UNK_param_1, int UNK_param_2); + + "558bec568bf18b56??8b46??4a": + void Deque(uint64_t * UNK_param_1); + + "8379??000f97c0c3????????????????c641??01": + bool HasQueuedData(); + + "c641??01b001c20400": + bool Open(); + + "558bec8b55??85d274??8b41??8942??8a41": + bool Clone(int UNK_param_1); + + "558bec83ec0c568bf18b46": + void Close(); + + "8a41??c3????????????????????????8a41": + bool IsOpen(); + + "558bec83ec08578bf9": + void Play(undefined4 param_1); + + "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????56": + void Pause(); + + "568bf1837e??0074??8b068b40??ffd084c075??ff76": + void Resume(); + + "558bec518b41??85c075": + bool IsPlaying(); + + "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????55": + void Stop(); + + "558bec538a5d??568bf1": + void SetLooping(bool param_1); + + "8a41??c3????????????????????????c641??01": + bool IsLooping(); + + "558becf30f1045??8b41??f30f1141??85c074??51f30f110424680a100000": + void SetVolume(float param_1); + + "d941??c3????????????????????????558becf30f1045??56": + float GetVolume(); + + "558becf30f1045??56": + void SetPan(float param_1); + + "d941??c3????????????????????????558becf30f1045??8b41": + float GetPan(); + + "558becf30f1045??8b41??f30f1141??85c074??51f30f1104246803100000": + void SetPitch(float param_1); + + "d941??c3????????????????????????56": + float GetPitch(); + + skip; // GetNumChannels + skip; // GetSourceFormat + skip; // GetSampleRate + + "568bf1ff15????????85c074??6a0168????????6a02e8????????83c40c5ec38b46": + void SystemSuspend(); + + "568bf1ff15????????85c074??6a0168????????6a02e8????????83c40c5ec3807e??00": + void SystemResume(); + + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/SoundSourcePlatformBase.zhl b/libzhl/functions/SoundSourcePlatformBase.zhl new file mode 100644 index 000000000..c04e6dc98 --- /dev/null +++ b/libzhl/functions/SoundSourcePlatformBase.zhl @@ -0,0 +1,75 @@ +struct SoundSourcePlatformBase : public SoundSourceBase { + __vtable { + override + "558bec568bf18d4e??c706????????e8????????f645??0174??6a40": + SoundSourcePlatformBase * Free(bool param_1); + + "558bec8b45??568bf18946??8b45": + bool ApplyDataToHardware(int param_1, int param_2); + + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + skip; // Open + skip; // Clone + skip; // Close + skip; // IsOpen + + "558bec83ec08578bf9": + void Play(undefined4 param_1); + + "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????56": + void Pause(); + + "568bf1837e??0074??8b068b40??ffd084c075??ff76": + void Resume(); + + "558bec518b41??85c075": + bool IsPlaying(); + + "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????55": + void Stop(); + + override + "558bec538a5d??568bf1": + void SetLooping(bool param_1); + + skip; // IsLooping + + "558becf30f1045??8b41??f30f1141??85c074??51f30f110424680a100000": + void SetVolume(float param_1); + + "d941??c3????????????????????????558becf30f1045??56": + float GetVolume(); + + "558becf30f1045??56": + void SetPan(float param_1); + + "d941??c3????????????????????????558becf30f1045??8b41": + float GetPan(); + + "558becf30f1045??8b41??f30f1141??85c074??51f30f1104246803100000": + void SetPitch(float param_1); + + "d941??c3????????????????????????56": + float GetPitch(); + + skip; // GetNumChannels + skip; // GetSourceFormat + skip; // GetSampleRate + + "568bf1ff15????????85c074??6a0168????????6a02e8????????83c40c5ec38b46": + void SystemSuspend(); + + "568bf1ff15????????85c074??6a0168????????6a02e8????????83c40c5ec3807e??00": + void SystemResume(); + + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourceBase.zhl b/libzhl/functions/StreamSourceBase.zhl new file mode 100644 index 000000000..c049d2cb1 --- /dev/null +++ b/libzhl/functions/StreamSourceBase.zhl @@ -0,0 +1,72 @@ +struct StreamSourceBase : public SoundSourcePlatformBase { + __vtable { + override + "558bec6aff68????????64a1????????5056a1????????33c5508d45??64a3????????8bf168????????6a046a0c8d46??c745??00000000": + StreamSourceBase * Free(bool param_1); + + skip; // ApplyDataToHardware + + "b800000400c3": + int GetHardwareBufferSize(); + + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec83e4f8515356578bf9bb04000000": + uint32_t Open(int * param_1); + + override + "68????????6a03e8????????83c40832c0": + bool Clone(undefined param_1); + + override + "5356578bf98b4f??85c9": + void Close(); + + skip; // IsOpen + + override + "558bec51568bf18b068b40??ffd084c00f85": + void Play(); + + skip; // Pause + skip; // Resume + skip; // IsPlaying + + override + "568bf156": + void Stop(); + + override + "558bec8a45??3a41": + void SetLooping(bool param_1); + + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + skip; // GetNumChannels + skip; // GetSourceFormat + skip; // GetSampleRate + skip; // SystemSuspend + skip; // SystemResume + skip; // ProcessData + skip; // ActivateNextQueuedData + + "558bec83ec1053568bf133c9": + void Update(); + + "80b9????????0074??33d2": + bool IsPlayingFinished(); + + "8a81????????c3??????????????????558bec6aff68????????64a1????????5056": + bool IsProcessingFinished(); + + }; +} : 0x4; \ No newline at end of file From 8338d3327578fd56a4a9ad51bb6499ae556137ee Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Fri, 5 Jul 2024 15:46:08 -0700 Subject: [PATCH 03/20] zhls pass the parser now --- libzhl/functions/SoundSourceBase.zhl | 6 +- libzhl/functions/SoundSourceBaseMerged.zhl | 90 ------------------- libzhl/functions/SoundSourcePlatformBase.zhl | 4 +- libzhl/functions/StreamSourceBase.zhl | 50 +++++------ updater/updater.rc | 69 ++++++++++++++ updater_rsrc | Bin 0 -> 552960 bytes 6 files changed, 99 insertions(+), 120 deletions(-) delete mode 100644 libzhl/functions/SoundSourceBaseMerged.zhl create mode 100644 updater/updater.rc create mode 100644 updater_rsrc diff --git a/libzhl/functions/SoundSourceBase.zhl b/libzhl/functions/SoundSourceBase.zhl index a534abc31..90a0e77ad 100644 --- a/libzhl/functions/SoundSourceBase.zhl +++ b/libzhl/functions/SoundSourceBase.zhl @@ -1,7 +1,7 @@ struct SoundSourceBase { __vtable { "558bec568bf18d4e??c706????????e8????????f645??0174??6a24": - SoundSourceBase * Free(bool param_1); + void Free(bool param_1); skip; // ApplyDataToHardware skip; // GetHardwareBufferSize @@ -13,7 +13,7 @@ struct SoundSourceBase { void Queue(uint64_t UNK_param_1, int UNK_param_2); "558bec568bf18b56??8b46??4a": - void Deque(uint64_t * UNK_param_1); + void Deque(void * UNK_param_1); "8379??000f97c0c3????????????????c641??01": bool HasQueuedData(); @@ -22,7 +22,7 @@ struct SoundSourceBase { bool Open(); "558bec8b55??85d274??8b41??8942??8a41": - bool Clone(int UNK_param_1); + bool Clone(void * UNK_param_1); "558bec83ec0c568bf18b46": void Close(); diff --git a/libzhl/functions/SoundSourceBaseMerged.zhl b/libzhl/functions/SoundSourceBaseMerged.zhl deleted file mode 100644 index df87c0570..000000000 --- a/libzhl/functions/SoundSourceBaseMerged.zhl +++ /dev/null @@ -1,90 +0,0 @@ -struct SoundSourcePlatformBase : public SoundSourceBase { - __vtable { - "558bec568bf18d4e??c706????????e8????????f645??0174??6a40": - SoundSourcePlatformBase * Free(bool param_1); - - "558bec8b45??568bf18946??8b45": - bool ApplyDataToHardware(int param_1, int param_2); - - skip; // GetHardwareBufferSize - - "32c0c20800": - bool open_file_dunno(int UNK_param_1, int UNK_param_1); - - "558bec8b51??568d71": - void Queue(uint64_t UNK_param_1, int UNK_param_2); - - "558bec568bf18b56??8b46??4a": - void Deque(uint64_t * UNK_param_1); - - "8379??000f97c0c3????????????????c641??01": - bool HasQueuedData(); - - "c641??01b001c20400": - bool Open(); - - "558bec8b55??85d274??8b41??8942??8a41": - bool Clone(int UNK_param_1); - - "558bec83ec0c568bf18b46": - void Close(); - - "8a41??c3????????????????????????8a41": - bool IsOpen(); - - "558bec83ec08578bf9": - void Play(undefined4 param_1); - - "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????56": - void Pause(); - - "568bf1837e??0074??8b068b40??ffd084c075??ff76": - void Resume(); - - "558bec518b41??85c075": - bool IsPlaying(); - - "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????55": - void Stop(); - - "558bec538a5d??568bf1": - void SetLooping(bool param_1); - - "8a41??c3????????????????????????c641??01": - bool IsLooping(); - - "558becf30f1045??8b41??f30f1141??85c074??51f30f110424680a100000": - void SetVolume(float param_1); - - "d941??c3????????????????????????558becf30f1045??56": - float GetVolume(); - - "558becf30f1045??56": - void SetPan(float param_1); - - "d941??c3????????????????????????558becf30f1045??8b41": - float GetPan(); - - "558becf30f1045??8b41??f30f1141??85c074??51f30f1104246803100000": - void SetPitch(float param_1); - - "d941??c3????????????????????????56": - float GetPitch(); - - skip; // GetNumChannels - skip; // GetSourceFormat - skip; // GetSampleRate - - "568bf1ff15????????85c074??6a0168????????6a02e8????????83c40c5ec38b46": - void SystemSuspend(); - - "568bf1ff15????????85c074??6a0168????????6a02e8????????83c40c5ec3807e??00": - void SystemResume(); - - skip; // ProcessData - skip; // ActivateNextQueuedData - skip; // Update - skip; // IsPlaybackFinished - skip; // IsProcessingFinished - }; -} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/SoundSourcePlatformBase.zhl b/libzhl/functions/SoundSourcePlatformBase.zhl index c04e6dc98..2c2652c46 100644 --- a/libzhl/functions/SoundSourcePlatformBase.zhl +++ b/libzhl/functions/SoundSourcePlatformBase.zhl @@ -2,7 +2,7 @@ struct SoundSourcePlatformBase : public SoundSourceBase { __vtable { override "558bec568bf18d4e??c706????????e8????????f645??0174??6a40": - SoundSourcePlatformBase * Free(bool param_1); + void Free(bool param_1); "558bec8b45??568bf18946??8b45": bool ApplyDataToHardware(int param_1, int param_2); @@ -18,7 +18,7 @@ struct SoundSourcePlatformBase : public SoundSourceBase { skip; // IsOpen "558bec83ec08578bf9": - void Play(undefined4 param_1); + void Play(void * param_1); "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????56": void Pause(); diff --git a/libzhl/functions/StreamSourceBase.zhl b/libzhl/functions/StreamSourceBase.zhl index c049d2cb1..0b6f0b0aa 100644 --- a/libzhl/functions/StreamSourceBase.zhl +++ b/libzhl/functions/StreamSourceBase.zhl @@ -2,13 +2,13 @@ struct StreamSourceBase : public SoundSourcePlatformBase { __vtable { override "558bec6aff68????????64a1????????5056a1????????33c5508d45??64a3????????8bf168????????6a046a0c8d46??c745??00000000": - StreamSourceBase * Free(bool param_1); - + void Free(bool param_1); + skip; // ApplyDataToHardware "b800000400c3": - int GetHardwareBufferSize(); - + int GetHardwareBufferSize(); + skip; // open_file_dunno skip; // Queue skip; // Deque @@ -16,34 +16,34 @@ struct StreamSourceBase : public SoundSourcePlatformBase { override "558bec83e4f8515356578bf9bb04000000": - uint32_t Open(int * param_1); - - override + bool Open(); + + override "68????????6a03e8????????83c40832c0": - bool Clone(undefined param_1); - - override + bool Clone(void* param_1); + + override "5356578bf98b4f??85c9": - void Close(); - + void Close(); + skip; // IsOpen override "558bec51568bf18b068b40??ffd084c00f85": - void Play(); - + void Play(void * unk); + skip; // Pause skip; // Resume skip; // IsPlaying override "568bf156": - void Stop(); - - override + void Stop(); + + override "558bec8a45??3a41": - void SetLooping(bool param_1); - + void SetLooping(bool param_1); + skip; // IsLooping skip; // SetVolume skip; // GetVolume @@ -60,13 +60,13 @@ struct StreamSourceBase : public SoundSourcePlatformBase { skip; // ActivateNextQueuedData "558bec83ec1053568bf133c9": - void Update(); - + void Update(); + "80b9????????0074??33d2": - bool IsPlayingFinished(); - + bool IsPlayingFinished(); + "8a81????????c3??????????????????558bec6aff68????????64a1????????5056": - bool IsProcessingFinished(); - + bool IsProcessingFinished(); + }; } : 0x4; \ No newline at end of file diff --git a/updater/updater.rc b/updater/updater.rc new file mode 100644 index 000000000..f460a2935 --- /dev/null +++ b/updater/updater.rc @@ -0,0 +1,69 @@ +// Microsoft Visual C++ generated resource script. +// +#include "updater/updater_resources.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Français (France) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA) +LANGUAGE LANG_FRENCH, SUBLANG_FRENCH +#pragma code_page(1252) + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "updater/updater_resources.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Resource data +// + +IDB_EMBEDEXE1 RCDATA "C:/Users/nami/Documents/GitHub/REPENTOGON/updater_rsrc" + +#endif // Français (France) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/updater_rsrc b/updater_rsrc new file mode 100644 index 0000000000000000000000000000000000000000..e9e00fd17bc2158d2d170e13032a39b982a03920 GIT binary patch literal 552960 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

WZtXZ*|Ac2`(CN&n^H# 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≫fQ9?iaqI!uB)lJhao|jY zdSvu7u(QEA4xGc`N6Dk^$-f6DlU^C*&A^Q&4|fimbET86@R}pG))9t&7y+#~(XGpi zh#9FtNxZch4Z*fmWtZqMV*K|^`xuJfY?0P^DlPW_z41U+S7nVSU_+aMgTKMgCj5}t zgW;L2oB&VXFmv#oim(ZxE(bAHKcmHF(&G;Ui*zF$8k8?~w72sk-WIED)UP0ph7Hp( zIz94jnCT;amp(|Yk^*2}Ljr7tPiqkEwH-z%mOT0?`c*%yJuqxz+a$2rJ>fr+*^a+V zl^-Q-@L{a6k3UaDNAdu&o$pWmA2z`2uxC4RGsP_bdzz2ctFXGXze! zDoCbGmfM--PqZ`fB3YTy#kEMuBFAtiX z@HzyBS$QEUq2d%Ptc3Fh>?u0?n+YG~SYEqWauc$aAOetdy` zB5|+1Ws={#5-ss`h&*<=xGrS<5!8L7dlOTp8Lz_-8O1_Z-J*~1d=C3d;KB7F+8qB4 zPYqR{2N#9EsMErK#v2U%UgELSj|y!)b1r`gI_Q^_P8T5k^H6a{;I74}yGDZJj|&vQ z*p_1BP(4qTslRan73_#bDQw6a?&{K_S7P+6Wd&;yyi$`OlL&+2&4dr+YdN?4^5i`w zftXzNs!+3!Q+KDDI`Gp~X=x7HY}OL!7F4Qz28JzpGyR&ZW>}dL^j3RH{oQ14fTJ9N z$_?X;(91;gs^Cz|<<|;6mcHJd!6;CNCi6P!5~e{N&s(Lo9!BG8^y-RN_)DcXa|+?v zs=8+@CZ<2}QzBkP_+@t4u8$2}b)i10IZ!DdL-?qcrX9#>$m)cRWps2u{KpGLB?sh;Kk{`nzp6NGl z!N?I-&Tsw!PK5Gs!6Jc)IHI0L%`);fS=SzP1@e0j1FDS)BN)*H^4hb?=Ocs{0?_Pe zD-daKUA7@)cTSA==MD3QvCH@#;dY1#l3LU#{pqEyxK9KUhh7DD;?Kg%erla zj~6dnkeE`Ms6P?d1eVcfzG$-hlr}~t>W>GyB=M)2#NauBZlw6lkA5QAmMn&Wg$3+j zTmjoa$O`W(y_`{8j&=-d1tHz@sF>e;1QDBn5->D{cl@`+5CbQi`>_ZrngXWOKl|SR zW-s6jyWf4R37kr%7TMSSRqAkt*X+l_d>F(wyuFs(bgy?ev%}EB?l%)$CR^%|Zmi>1 z7%8prrT5`<-8f<{#YZ47a6fuEz#>+{IW}Z%1-gf{Cfo{dZgyq^C27&0kfvcXZ_2SK zR^|_od9>M{pIIke)L#oFUqcrQ^r=R}fL-%B#eiVfY#6X>W^&^S0(3&z^a7<|XgM?AgEw;=8{^<$3 zEma8w9)<^0P8Wpp&}1&h{#=wOE&5YTXL!wSa5`smWDVt^E}3C1V&Y4}yB{$M&R;Jz z!6EKF5=tK3S{7i+TiM@@Gw8!rh$izk&ELu8z^$|k&TQZT@aZqI?w&yDUPiUcY0w=jW>a*>!@sSpo#62@Cl`=OJJhe{+wEJ+T&x6VzGT^nX+ z_=>q@14Hl+glS^tjBI1pex*g8LTQ|cOAK1{_VH}LpCscN*vNj5wodc22H~sk(%g-Q zAuuStL2tc-#sZ1C722@Ir$M9HLE|k9;c-xE>1Mr~vP*BhNHFpGa)cnbLmLT$pLgcE zt(z#~*Pq^d?`!e;3V7J-uVogCaO{5bT#0?hCC31?e)H=R)36MyE|YO6xy4#!lVwK& zP}*!BhA0AZnYzN~2a9yEgYum-H7Us+A|F<42_}4$O6N*SfitS!Gp%vI_Rx-a<32;* z2U=h>?q7o2@p?de<-qissG<}?55*pZwlz6qLMT$d`Fo%p8pCyUgH&@=g0Zz{x!9pO zgfZFx-J!+L8jTg8c&HEo?$ApF*+&dmXy%tYyMWed1iWOR`#?Dsh}b_qDQimN7mFSQ z%IUAI1UQfOR`?V%2fa8(RHw$XI7qeHdSZ5R!Ga4o9`mT=#n%cokuq>KU;0 zF!qc<1(C40*}N4otg$N=dM)h?+G{&JP#+!si9{2sip z`wL&D01J*hBhivSx)x-fD~}NguC5VAUyIP5XrPGgZm|a{F=q4MQH9a3dXkuDhiU?q z6j_y2lF#7@PfN7z%|9R^!pYb!aoyfkl)t5-qT5&T#}5zJ?KY3m7@ooP?uU%X|S#CJ*s) z`~%cKWO;l}<3^XUvve2wMg6#OucPWS+>Sl=gKL!B|tu41TB^H;%p#pCS z?*?qKS+#)nz#2(>DSzM99ta>2k$bvo!E(au$C#>lcNvSi()X140&|27J^n+?k@um1 z4Kt4T#!#UlJdyP_18)d0LbUh+fS>TYjq4qVAO-sfgp|6sy1U2w8a+D_iylHKslxs6 z>_GJ5J}_%77bm>0`4BRO>{`p{l$Mv^Aj@D|RR{!eNdr6=9Ntn8s6!a-CbRt$HVP9> zh=sFQOOrVPNtuJbOAk5EzVvQ`#w|SW{*GdunvxHVhN{k?F=jNu6g4Fnobk zGW-*d$?$z=G_6eFT&0jh)DKVksY0r9H0C}VC6Iaga_12K2MYg9j$rv zJA8Ob{`{5$Rfi%Y)HPqXvdMvXqVa8>2P5_l01YmU_C&ULBO?7FycMoLDKqA}J@2o+ zt988R(`9#f-e(wZ&!;O#8NPDh-$Dd7IiWqZgI+fV3d(gUS|r5BYuuij%T`ZlEknU^ zcx)||l7l?=m9N!|lK5Ol_&$dX7trnuHW>@|AxdBz7fseVu$0^|6uHW{xeRqoTjW|j zs`Xsd!N=A!q>eJwu||W|J?;!ox3Snx#9&_d8n_PBXX~4V4Fy#iIL3n39UpK9$}RB{ z?04Ai8sA3K3KBQ1wE#wX?=5c@7KOLP7>bbD6PBx~IEV zH$(m0I@+^iS>rU_#ZAq#VgmQZr{}ZaL=_6M9+Cv^Qiphf@ek#tnmEM7 z?>*>MMSK|O0C!1bkwch4d0iC*OsSSFIjyN;&pjm*9UiD3xM>Ad8o&Qr%t5u zf#*WfU$Ht|vs;TiA0&_i{N14q@@DC)AMfd0?iHU#YRLmo5d4PVrnrk z6wwuNQ89jfaAc1Ull(YC#eoLy6h!PhNntCwdAyLV%yS6pp$xFP(XH}jEtUr22YpGL z=D$6FVvTN4iMSnxE_NEb;UDn5CCfqMBib$&$s1QlL-i|uDDhYYh`9ONp9}d4CHFxc zFixj_w%NRY``<}<0H~~eLEB;O;Q1s+>`k1#(HpQD>D=BMU5Y1UvKfoZ5!+bn4DTV& z2ub@wMxCDkJ_0QU&#Vc5gugnR!|(?N-$J$i1A0Q9n;O!sre?(AKyBu-ON8qL;z$1k z6Yk|=9>_Gx9z_An?M)(vO&^p(@iG+9}i288fMR9OsDEVh* z=_1l0RF3-OHPIH6n}UXng#VA?^_Vqr-4=4xC)yNmMTJ1g-BP&P@wy5 zJi&a`-HGI63^N{GjklWcLG&T$tO@@CfAyMa5-&)fd@M$v0f&D6v0{gQ4pJe?>u2=D zCLz^6zo)?kn_OB>g7xbggObL2=7-J=_lu0jlU@{G&%Y89esH+eVbcrY=os3@=4`=+ z&^FEw3;|l~2u>Hl)zIdv*Ad+1s$Uq*`Ds0*8i8XMx{9WvI{*>bwZX{SFA*1NQO#`X%K*-G;ze+=!KD6man*>z3N)4?Vg6PDdRWO!tgjSvG22{kjL-a+?&Q~i&5i0JQk^R&H0Nhe` z7=IzWoduC@1w^_xmoM#&@f-j3#`u;0LdpN;h_uN2Kxk_^v?zVXVF5L9C|ix9RcTX; zeuBA4cRrhi2cUp@0+W%?T&oMG7LW0BpMe^}$-_Lp)_)Y<#waE#(ok?VuYo!HU$LCR zOa&5kvNP#Ub}s#V0BKY@ft1{Zk(r-Ah@A3B-V;0Nd+aW>A`mp@a_Id9!SR8Yq^I8n zT?GN`Is;j8wfRF>soUt$j%Nh0dCQSK4?D+j?!qcm* zV`H92IOf%fR;On@$Gt49kib}fR4P7#Uyzym7lE;96$YXSPgT;vc#L1i$^^$HKXN`$ zjqj_OGkO7@0yaVCmh}oC!_j0GAjg9WAPeRP-WIUUkzDS9V0+8TMbyF?Ma%%2WVQ?m z%#kun8?#8U5$X9zVXSBWfZ^ffcuu?V2*=bqe)ZsRvXTkQ$1Ip1?z4yAx1kF+5O-!R zC+;Bbrka9MK~Ez|9BQvING>2BJSBJVyz_f5fAinH{3K#U1zn++(x(i)%A&jkD6w#R)Qd?%pVA`weIn6cUI3d?Uk< zp|V4a^(4HqAL`giL;Pq6(L{lfh}()wRo0VUDrydm4Qk;YqB6dOFXCww?KXako7{|; z4?AM~;W;w0;BZzj#1OV1?v0Qa!fwr?7Rf^GLTVJ9z<1P6ilJ&}G(O|Fs=D8ZF@PU% zfvs$^9(RXd7S2Z<+IR(`;g?BGaj3kR?2&v?Tb$;N@(cIR%^X5{GrI|M1#9Bdo7uD< z@rO4PLjpm;gMU8=+~}09Ab_3P-0ON{OyIwCC%dISq&KrOxDYV&&B_kbGZnvAu|>z~ zuCwcxhqe)k%a%`4{9j=X4ZejI1r6-k~&&qN6@& zs}B!pz1@IDS-)SLtkU`hpW%HpJtcYrz9qcRrS*r>m-+)oQDKV@_G#atfc_lxWn9ue z^TQ9-BAr4AUyLN{13h?WVPR%h>2Q2A669+YjfPzsHcD)_gLJt2GJE)2(oF=*$nphIUr!myl(W{-F*hW0991^~7GN9BGs{>WA z8;>xNyE(IAH@}^CjvfUuYBrPKW~1({bg(6AAGi8wFP-VoYkinVmI2d&-@v0nTE@mP zb6K6Dpge%Xp~*Cz zuzzy5n)W+36!guq9WitNAII|n{15qtatw^}%8m6DV~p5p{Px5y0$YneGx#UIj$DBe zdktUW>&Oj&1zwq$S?e?JM`Yv-*|l-@yomo!Dd}e1Ev7fstRs7(Ut1IV2AC#&wz0k& z^;NCkjo-1|h3g;1-x0CL@e8||31Er#=;Hz}fXHLM*Wo;}z;E97IEU-*nu1J}|EQSE zY3Z!~gJVHdn|a6zsY@Zif;B8xo|o5>=Wsa`qiHJBD_EQ2y26<_U_2EZ7TOx%xd1dO zZ4n1Be?}%0@Wr7n#mG;vvKVa>0R%^P-IX6n0`E9gs{5Y3}ubfd+St~P(iRH%>Tgquj7Sq#4uSMJK&1K;8)R~BPFyp?a?PPxCo<)a2X&r zpSZaH3SSe~r>ja6&FLP;wCPnN3g4x6U^&u_YR@}3n_`XE*b!wfc#g#98j2Q6q{X4N zLt01io3wTaEs{7!7=sd+P>t;n7hFK=Gp&mxJ~$Q(Y#r8qvl)DqvjbJM^3z6^P#1;E z0(~s_nYoh3m&@~8z$2Td5VsU&@=VI*`47o+D%3@3#TG1w0CA(#0ay6%F+%AjEAP%6m)3gt$DzxCJKJTJ#XKQ3kG;T-aX+ z1oG_E?%#D}nq9cx&i-3gR^dr160x%-U>aLM|9P7>VKR8O#>QDOT zr#qK|ku!TJ|31k_z$*?VD{7o-B&F5fY^%fAstc{YyP~M-MB&L)fpJot%}T+ku-bmD zp&vEVyB}5SmCa^R2d5i{hewEjrNq`XAex>vN3{m;QLqp=&9A8HZz*Ut$9|7lv1j1Q zJ8uQfq5QrU2kzfg$q4)ie0j`nA2#2?Hnqr~fnoOKM*M~!c^bc<_WYx0ezW=7*NDil z;Ba|%;UX)3fy?85^93AT(LrV(?gq z6nJqcI~nuH4w;+ZAC_RGgt?DOydxqDkg2XQrhTv z1z!u_@O-g+it)Y4U@i)Kj7i|j9UBbVp(m1Q$*-HU81&NFr=`GCW@J;5=} z^8=0%bk@D3P3EGj2AR1DD9^(@ZJyF^@;nH8TBwUkGMgWCJ*nur)94hsUSxEVeB(Up zLf%-5yCj=%)b#rviw1zj9opfTRy!S})q~Tk6*wZ)Kd|h?5ocq^Ed%x+Hs|dgm6?EmAGhGP=)dVeaZqEBP5sQ4l4kQzUV;lY zGjHP^pFu4al~;Y?Ik{{!96rjL&FV}u`jC0`o|DV_By1`DGB()<_7A6F602uq$3FPq zBT&zD5bsQ&o==*ZBi(*jwP|yXcNBj`UmNTV&^V#5e)DQ}P3=Yc*)1i0vnDUWjf3rp zx%c3up3hf|Mth7GnH&3{>ph>ZOjUhek1!jcdlR`A?FW`I7@h@S-r(>X2)bAzJq|?J z#)t-vCwy4qgXi||qq2YZ|Nq&)&C~Yp!-!dt+rLeat_As{9%37`-~7t8S*Q(%i-D08QY~6*-7H_1H_*>j&G7}oZsHgd{Z0wA0wHKe54`pUssR-opQ_W+~d=<4pRP*K`y zV#~n8E?JB+LX%MmKI=|ZS@6!b;|v@bbl3cVY*O%+w&RoVcMZnWpAbE=&kRfh;u5Xf z^>pNz4!MFY*r7UtFyPeB3vDN?OIMs3cziHyU(^zfa1|iQqqQfcZc&p|qYTJX; zjTrkrgXkO7YMzpIC(Mv$&q~CorEl5pGd}}W?;xs2-pn>xvk0PE8ww+BOQp zPf|s%Pq%8jtRqI|5#(!P?V#ZJbmw@yWdi6q;xRXx=Hh(-6&?9DK0q zK$i?>&wYXx+Xzii`&|OYYy%Z&puFbEKM|-5S98l{m?Drcm{aP%O?R>-OM4)l=#{on zQ?@(KY*HEP_tPWBfqHOr~AjU2VSm4s{~rJJOw#P))j%xth)I+y|?{ z^?c?QRR$htEaJFZ%xbSx#SVyrF8nsvvq#~i^h=BU5?@+efgAsq0SbSI$u;CVYjTCJ zb`_vDcer;*=&DM+q5;3b6EI(v{%;Nb1uCsoPKV}w!#GZ5G~rJqDPupnL-Z*sH@3+xsh+$N?Nyw=`o$pe-7hmU1Y+{1**J(p&ThZN!^ ziFg=;w(bBZPgC{LsKFGJ=<31e6cXo7^fm0qoAT7f;jj}VsU>slkx}_I99MVLk+O)v}Q<)d>6FI0@5Y= z>9e%s77IwZ+4$!X)0KhWS0Lti*&G0gfr$C-y;(q3fi7q1+uy1)a4&DUG*BzZ@Gp{A zfSJbd6#TA(YS2Q~kCAA^RskuwHNkipTJ!@TaW*Y_36~#EleGsX;Ayq1?JDfQ2q4LL zU|EpcbM-%ks%nHHA@IT#=}uPKWFFiDAx?ux33TBhIat_(eLq73NZdiJUNt|k6kUbY zZws!I{PZR&V-Lfc%g=(?iV=8JUyF-IbMaG*;;OyXZx$ksw6rn8?`UGZ3lEyhtuna4 zOsA=sTAPcIindXi*DMGxJjjp?li-*F#A-Z*?w~MKLaPK`m*(Xir1Az4(aqRt*){y` zCN(GYb_v%zZY4X=w+CoceW2#a-($6Fk!SE`biROR%sn&>yk0JINjh%2z8CIDf5uHu zf7mSW#=yS0m97OwkJwNDlX1$bx6-U1fr|c_{OybS(TtSiS zHJj%nAGTwoe>OcGkSjO}B{Ebq^PL*vuhQo#77bSWNeUYfjzio3#0NbP7*7j>p4d#h z+RYtzs|9+x^~s%~37hgDXc?U#J@e;T9WMDj5^smNvW2Mrms3LP?%v+JbY#VmJWSHr+|D+H@zi2F>OZ zivNSk<2-Q9flbnXn;qw0=-6arF;AjKHoaUm{S_*|e0l!M|PR9Of9B6|Cl*V2lkvJo;@i!EKmfruxuCvp<#ha{PCLwDUPQM0?Igea zR5CCHUz*Li(%sxBR9&U{bqxyC;DWqtU7a82>asVP>sZ%qQrD?F`Q`MwO7v`Z)Cmso zBd-c{XAY}~NEKU8s{)&~G@dCrEnBjzrJ%_yk>geC-XuUei$XsE^er*aZ@#dJ{Q^@E zyardNHVmi7qgWy-eh8z$PmBJyJTtfzs3M+QFu-S8S=!kXn}aO5Tl%b~bPoXY zoB+8o+sye`K|m)g_ZB#P4?}zNv+YIhMZFosa0R-h=$Qw^i0=6uP zKRFS9EOZ1eS&;#%_TyT4$pL)I&yxjYHvu^`uur;qr-V2q)FRI!y<^_ca4&BHs^sxz zoej4h@iw4oYu)(05Q^)0_69j?{8OlJGAs&T=Oz99*5lV6= z#|w!X&J?fvh*!Km_@5SvKoyLy#(Hk?2ycWl?jqybyBNet%xa-DfR`laXujI%`~L&0 zm^WsVi&?5Rdql4eA&2ds+P{I7)6{;y>z~a(xX0^+@hzIggY5dv<|dF9;6kFI6yySZ zhjS=(NuAvIo6R?W$c-QNoI-%6WQj)xiEqOcACxI>$9U9Qxz5@T^ueLzw@HhG(-RFt zedZl9ZIE&a!1yEFA*>8qsDf_y8i{=KN+;2R^{%HbXGoWN{qq7=8GJ z9>XC|8v4<5nZbTdDNKQF@3SuRp8QrmLN`H(CP|rZqD-{ACp;5-rQOea9Kv;YWT5xJ z6y(4$(H+nSXIih!!deaGBI-n;6xP-~###plZkJkzWqP7T+K?Vjx{%GLufqM!e`Fu& zin9b3UHXXJ33RsRP%_B*iN{z-iuCoWHBpS|u*V|pNMn`^g?~koa>YAFs z{Q{6f-(YHvN{5phrSk8B9eY+PAD*rJn|YPrk})2?qxf$_Yt$!3M^2>Jhh^jt7fzq2M-t$-VvtR^+R;;syIopJe0f=J%Qh_NT}brBRXVyBo=Hz&TX z9j~cE_H@f8)TwG|aRj=dzx4O6V;cXNx1K8m(K@{PJCdwU1jmw{N3)a7cICLh7HNkB zPRD1y@)4E<&Hx<5^cRuJaP|6N%M~v*A6M#KAYo3kp7@EGxXuNqdd=oY2)r$en$0oz z3l1Sw+A_V_bjb_QBv{yk{%#>LRK1SNGh*p;w|Tvb_96c))f$_qALI*6f(p<4{#=p! z;xcr!k~<*D$3Y`z!>TnF-vuB(TM%@$B?(=c%mjx#YY*0h<=v-W(y=~;#20y97TMFq z%dl{Hr%$f7YT{F%hK-&jjk;6SdD+vQtn#Z1&1Ip!2KKbf*!?0SIK&^|Tw&cs_bf)m zLQL{FT9H5D^n~zlO_4p@cvwQg0yKgMm2gD+IUav`;m*h&2CDP+zepDaZO;4E-G%>y z14d$X)D5Cp*o)AcKo~8u5k){H4$Emr>Sx*IMKwrA{a|o(<%nTghJ#x-4y|3d%kTa+ ze1fUZnq#w_4tNgktPSB6Uf$mD_ zEfiTSl;4tnNCT|rC*oiUN967AS;tc+TQ9c+Ti*u!0=@gC&sSvn9Q;;CJr8io&|lsQ z;X;3%FoarwzFv>MPDEdC#%U<~dOd28zBG5mFS0JXe({+M(fS51yZ(yCuSet8pz(s>h`{|YW%HX?{EHB)zE?34^M_c~ z>`xLeSb}Uf>?}Z^Ampr%WGCY(jyj4T>=NU}AZ}*1;i``ML0{2u85)KU6{f?E>g<>f zduj&yJxPieWQ#X^b-yR0_#_^>I_prp4#n&Air(3zh_=A(GLXA(lYywIK}-a6VuZTE zViH)h`pgX$h}XND;cqlD*n8oQ-CW#O1L1wtP#c{MCzfA^IVS z6RuPwTIVB_VZ|Fs8|aM$QyRJQQ1gpfaxTb@HL)&;*YSS+YZ{>llO&?F6q;bcJ90>Zil?TB#eHa~qKq`9b zUDp13n&Xjy$g#lbwc>|VpY=nk?+`z+>D~&67EoxELo3pZ3k9z#C$`h}5&PI0baTFW z>Khp+qtTX=kp|5j+fALxW>X(f2gwRxGXpu{6rw;-zqeZ)iHhh*1gE04a4I@Cv=&Z9 zX9CXX(gW?$pBgTlYYI`wm! z%*jw)HQ~Up27mq7w+@crSju=8K;!|GLc9`up(5OY0Ph_o@KDeqGcgmPV6v5&WuDNkBG3aP0sjXCDsA~r! zz9L!$L3P5ibp88y#;6iWPKDq6^jF-+9I*TO+0)1Hc#5dp)YylnY0~RJb zqikigN4nc%WTo5sUPB@xCHCE}Us!tfiFnYI_RCyShj zFhPG&Kixo;N0gVHYJyq8b&FWjME2;Xs3|jq2`sq&71V0%+fKVpEbPL)o_CjDhqGeB z=aFuFE8GbK6THPGr{|58!^K=vi_KxDc5kQ2re7IrHk;o=^Ux|;#+t&{Vk*HgSHz_C=Ge}$)6$qk4ZjanX+TDXJ@aKq1v)n=_|H)4?)s}!VpV!SHO+e9$ z)B+fU?>N2-!qT^r^AEvz(-3y|Y~Mr$D_p_y+^EMyW-@$gB`kbT4{oc-vAe#e(4Q)C95p zf@R>gAXD^_f#+nDr-opG^!rPd?P#>k#d7=g? z>BXK-Xk*T{v2gY?wLEa73p0_Q^H-L&cE+Z|f3C!BA*LOnc_^Y-UfY1kk zK4F@;t{Mq;Ss^cSB^AEvd4KuUMpBm1lig^f@MK)xtYx%!rPh`fv*+`TH(uleTrg?y z+-zP6m$$E2L-4OhHO*!kYY{zyG!bnFHvm3^IJ-x?+ZV!>vhk>8ML4oL-6d9pkI;$`SElt*HV!8hOIqB%uoTSP-EC*&xn zGH*7d25-hsTbhcfHS^{tEJMO^@VM&OjlHqGu@tT$Up6F^y(4ExsA0Gy^6TK2g<)q5 z2^Xe2b}G+(*b)lmXge+w=dKa%F*x2bVywtn6F%)GXkb2-Z8fx})TXx};g0HbzN+^H zjG#t5{NZujIt_mBY}gE*8A{S- z(1w`$py%8>!MTbj;VUTh|7JKCxgSNEO&jWy=|9bY(Yb)&b8Y8D@?7=n$elOh`y-eo zS-CQMKv=wImT|O>FRH6rlvEBbgOsr5iaFRhNPsz5;Nsb^=V>;-@Cos>oYS;uAwH{? ze$0~55PD!4wFFlhv5j~wjXjNDeM~q>S`GJ-z#&2P5z=XAYC@o_jHq9TcT&LbLh}iT z9mRI2tTm$li*jlTdSV}-XRvOhUQ(G=CWKIfncpP{;7TnIC6@!0ZNUozwNmjf<`X(j z)xK?QleH`4wuDq&ARswI$jL7BL)VzC_fDx7W+QsQa@MPf(P{@&M4a{j>kRy0w!EzZ z%P$=q8F)x)yx3}6ZA3JM1~rd-6R^r`#4kOAjo6EL|Ip5A(Gh>mvm1tWKuZDcV^x~Z zQ1W383#wVPu;h+j*$Z=r839uo{QEo^tb_-#M69lF;yR>K2U8bS+DCb7&%N#i^kgC2u&%%}$t4`H-0p*H0CRZ!(8lPh_o%t``E8)s}CkCNFzf@3#zzLz2rS1l8&p z+)Z$UxEtq_PqSW;^UkCzs<%8VnrhL(NNF-3L>7vtkKr%HQ%atecpCjPR3z}Mb@{Rr zZ!Y+{Omzk?qOTxJV3I)Z^Tsb>!7nbHZOi{ZqjH4&P5T0vIp7Z9@{Dr2BJ)tG9uoEA zedgIsc3Yyp&S#e6AseIZG>1#n*TjSPZG;d)`06HzVW=xYUw-PO~ z7uf(ISQ_q`1?iqE0YD0lfX=~ZYFElQ5K9tCQ{axJzEt|mzs<0|FzF1#J05=)rS*wE z^FZcHC6??p|F>rnV7FQC zb$nlmcNRH-qNkV30NVOX{g6@)L7i)?+l@Jnb{jvScn{C`>OIkJXmzzY4^$$-(iq|3 zP+hHH#SYM-Yk|t?E!+;w4;}y_X7u(qBi)#N*RzkdV4Cw9%A~hQe{QAv{C)8kO2xfuH}r{%}|14%+#RVa+{SkfIEsA~wFU^I-jedyA_Xc&ujT?TWT zEEZYo755vEGJ-6M1*v|8Atu~V{=O~B--VDq)k-=SHme^X4R-B^@yBOQ-$P))pq(X^ zc@4v76(dH?h}FYp5Y1PX;N=j!v%8mnSdF+H+;y?L{}{hk5D#^40DIpqy{D$^d-$A* z=b@KEdA4#WN#vqk;E0^H1cstc*GO0DY*~ABJB|m%a*G3d1k1QEdGO z@F&Nj{swPkQU42nEl&a!s{j$RC4&S%`g%#+dVG+_36SkBlAxB~0WGp(G znva8LvU@9Q!0MGxg<^c5qe8IKc#`2{RA3yd0(t2|`j1c;xMSq6h zCZ2vA#PH3&8&xcFhBSyC1!z$^yb6a+x8ai18^hb>tON1Ch6Kv6uKng?SfXlm)ugvP zjgFuq9%)%T$rk1hybbu74_t`#4|&rSe}MTI6RsNdS06(Q43CDB45qC>nmXBq55@#` zVBKzH@2kXPxZj~qps79@;Q^`Nyb!0~BadC*iQSngHoDJN}axoX? zXDdM51s$>LPaTEH8+>1!`(dhZeaF^9frP z8!5Km94$_bqHJiuhd8dVe}E&1>-}8}R%2{=4ZkVRv@Mj|wFsrQEI6;h?jqpSq9vKa z%*Mimnz7{-{tkwpw)d!jDat7wkEV^Cnztvq$H%`2(Y}c=AA12{jw2FReBlu~sZxVx z>`mO0@n==^6Mh9%uls0QIe&p^eh*pH==J-iK`V9!FMrSYl_jw%ZP`r{?(SI|3B5m} zY<#;MY3l~{E_UJ3iReNjZjkSfTk-l(ikvcRTLxB5CNyiZliw)JuJ5#vq;Dx0=ju0A zSOp%+d)1-5v5rsz+u_|8Ij~^<)>;6hYYKkE)_4vc{O0wu$;!LYHbO}D+eY=_DU*nAwP3u&%MkW8kl<7n@B@aU0$^rQY3#d9&T1; z+^4i(BA`K0DWbS8o~RGPh(S`;PPQ9{n``d-W%wm{!o*=Xr0fh%jlS7>8A77Iv3!!J z+0lAF9)~VJ+c@rrc{dLmJEs=f>}$b|yDqpATG7Q03XrT6deoxU_mI7Jbi+Y4Ab;s8_;-lhW`aBx-W$`dQlZ+kd`pHXr>nkxp#H}CC zKdgU=ilu7ou!5^HEi-6qya=q32`O+X!#Lm|Xk3WpC9=S}n8hFbzeEBMVmc_r*l8Df$o%MG`dPx1s0JDM&$Q11VcK#7HX2@dWvsgqPnoMI{y6gsbc~k& z(Zk5=PdvqXK}SvV!q*k8BmIn~@G;;X#kFz{n&&o$|1g@5xtfx44aEs}xK_ZFOAyJKAjyF0ZH=##xmPu@38PIb$BS6@k zntqFSXY4np;4>U*7{BlUto+)s?V}Yp6sh?#a@8dZu;@^dS#e&)Tb?k=xBo}tz^a8Wenv%Bc^)@MCju7Rmfnou z9cvDDO+%0SxP`a7r*(kM|Quw?}%toMW(XL{pr(Qx((P6nGXbCcH;_ zyhkLaWUm)&V@oNb*uUfb)V%IoZt-x4njddGRQTQn&P3yp`LJR8(Pb3)D#L3I+HlUW zow#WOJ1JG$u$v2pvwx}a`DSaVsA?}RFtruJ4caet!0F=?yVWQCMzuhErsMlWa7UFa z2YqHHIq|Pwqyw7-MA8EGR;(tj5&r9yHNvN!b#-XmZeAo1bfqR3yQ;j0*i(+(4h7*s zR+7n9qyQaS^N9_?&a=0VRDD|bA?8F}sp93;zX5w_Za+uOwndPH9#n|DaM=MWUT_T7 zzKFp{waB^XLOON?yFxe(lV}aEMvQlpkw+gjEyl>8tB2C(WjhjWeSgJIT2e#FdpRU6 zauC0v(Gb& zWP}dr3!q0BOfjxMmP?$0M0iQK&5!aDCsO0U#Mko@M}WOJ>I2Dfo1;S*6Aaq-^W_(7 z`65A;4xm$D4cL)=e1s{xbXIlLo?+ZpwWGf+%cCb3+JT z!@!;}OldIxp2pqnW2guBOs6g|dXnhJn|DcaP(EWV>OdF}j3;^}sCT|X0!{+Z4rW^! zgef4DVSC~;YoxM_g=#3d0v*M=Wu!L26Fz8LVgdZQ10{xplKVNML5I?O&_k)|1 z;kqzf)RtPz0k|1?TY+g#t{weRPHPyqd~jMZm-LZ^k&P$zG-}f#qwtCxu++tC-~*|4 z^E7TY?o7*N=}t0p>NVX-hPPKjLSvX#DmvdA;|Kl=t?3t20f9p(`H_GFQ6q@PnK}_E ziLd;J9UE4uXJGo`lGYPr3A=d-dI4D)&)DiNx`<#FM5IMes5 zg$WEr3iTn!Vz*+t9I&Uv2TPqTMrmC%Z0nJ;8pV>{#SWO;gk^Ba$#xzD9DUq!INi~4 zc%ZBSkG6QMQa~6&-RVw}hJaIQ*?a}3#np8QK3H?Ax|r9sX{u`lsWD&rbe8(WGus=a zz6t1+)mH!-PAP~y;4`<6p?dH*&aHp~S?M>!YRO;FH|nRuNk#>;>F2>n+`&1R2&@A- z#A8ga-Xo^9z>PV3VQQ9%z0L|y9{M(;?NN+P3B- zt1ony?!+}C!9{4@NInZfZ}b{ZK8L@!ab#{@T+LCKM17d&t<}{CN%qFFivn{-L*~~! zZ?&F7)^=q@pd1O!<~agV_yCFh$z|OD>zAT8Nq>cy`whV)sFx`3`DMcixXlYLAJ6wKMiBRM#$uib0_#)+#ZN z{0@6NXo;MP4n@W3PNE}XA7D=7vJth5b3uFTT}%!t|FzV#4=+aSE>52uJR7m4cMKu2f@I=t*ozvi@3FSXy@B>m6t{Kh{F(Ca5Q8;`nxkv7RG0Vj=!M!Xs2G zpF~ndn6gX6?n0lK@4gzBu*VK`%tYV>h*Pah;F(9?TS*&A*nhH#8(weiCO(Kzdl~Amwb)tTmhCzQa1o z0MjJn_}YRq@+17`!uw5rpHAWvSP81yBO?hGJnLWm{&BR>Z3 zu4YVcM8s|RM55`#eOV6EY;r$Lbh^=F{xhF_ zfq3Z{s2H`Vg77;vdGSneFT}z!NI~kFp7^5u2r+gv06P+oh@}^M|d|75cRlFPmjFV zQdb%CZZLL?A6aV$q4+*eXH$jn@DKg|!Vs?HfzKCJen{FaQEPlH=>_IDFTh+jnw+YI zAD}-}LY)`bP%iubWsnT6K-aJ?^7^v7T=nHx!wvS}WDH=^g82#WK_5faPsEZVQ&rAD zk{xIbTy9Od7HyTsL&l>0=QiAcVV1K1^8+K9-^KhlBNMOAGlxgXX#?)$sWrD<8|FQ% z-yLoZ*!6|DtmDS;VYl%LesI@|@rr!6nd@0*zp>Yd)u0dH#~<_TU41_2;QnQ2hv(fO zrdJIC0^i&<8JzQTGQ@HW5d!cpOWa0lndXkw z6r;o7gXhj);BPu@Y~I6c?N<@5jLHSRK=&a!^!|7Y@4;MDMTVmNHbs}_DR zcK7@Rf!74S{g`#W z@FLEVwy-Wfl{&w8X$pNM-2MlM0;TMh#CwhC4xWM4ial9J&zWys>r@hJ-Fg#oXnK6{Qis91(qCZr9 zl-jur52~+xN?kPAcm`=PZydBCwOw#fH9>C|q!mL0@C2D1c&2ty~AJNM$+` z5OFysMNaq-1lRm)PVsBpY~!5fo5=jZTdjA-)et*|UaYB3pUtrKt; zzh*r9p38KT!ioG!S!U=$F8d*Jno1JlW|7cvYzJQB9&^)UaZRZ4tG$bFwRTeSkk%;v zGSYjate1E*@E?`4WqQ%VJB=kpj_5>Tc=!%lVJ@)E>fX>u^oQVcGVbr??^>%m4?~Qu z46(zFaqZO)2#7G^_KXO69={zllez(2*kc%-$MD zWXQK_wi?lEaR=^&UEaGq(|Q#+$2Z1rb$f;a;*DAF&9}i)fJoV9{1Ur}QpyPPHKo>BG6b~J@M zfJ`~3NR^5w$=z)P?DGQKV{GO@#9}Yp-9OCC*q@UW>dwBew9< zF8`xfI`orzgP#`pxz*IA%KLHf2er^#8VSLHyZ9c=#shJp5 zeErQNjwsN&LerSbR|th@5&$}6J$MnjWmtoZeohfqr*G#<#npKw$g75`POn+F#{35y zIJ4yU)nGc*Uu)m#a~yLT8@wuCU(tySz|fxzeTCH}vgD@IT?)z>7FQL{&SiIi8&z2^ zdy&kz-|)*)v+v7|c4T2MJyTT~Q9)?BH749HJIWlJ7Kxc2^6mr$za5Kcd;9+n#KL!t zaIJeUnj^$BXmA7IoSfBOxS^dZxXZ65m3F&ELUbLq_OCBhRXd#)#YSQrJ4OOeBYH0z zQw%O&JuBsvQBR^ek+TD2U6#(;wN5oqP~tDDacZ1`9_hEVIXGf41S)TO+!tB~2YFYd zvDdXaur@2wXuDS2&P|_MBR8%XhA4)Oi4<&^W6B;>VbvP{*c?()Vc^T zoTV{R@adq{apr|;bxa#cGV?S-r6#&p7!Tt?|A?4py17moAu2x&zoIzn>v;SWe7RjB zgoy{8%Z1?jeX`r*Gn!$vh2TGcD1?S?1OmCh#)ygnE!?j59GsgC*V!6eSL(vuoai6W z7&&q025wZ`^4>y)S%cl`14keJMx`M&_T}d)5Yi0mmD2vkyVP}61NS?qezfLhbH<4} zG2;rAcX_;L&eY#6xfxE&LKCeYDkGYm)}u1K7wr~0GIs&>12oOwbiw2v#+)R^NQ;&WzvjopQyxfg|D=< zyaw(KddfMr_7+#5gP3RQm_P=)@POQ9NYp{1M1TWZq#o4!3Z0?Xyl|x>Tz>CO${jU8tt#msJVpsQk)-|BnzpcNQ)5jpH6o zzb|oSD$rcugP(bEM7JC+kzp*_RqKu`NB*T0<$iRtv_x5^j{ya_Gf{<@D#RB2q9okk zr5&q=+tp?lMyTr~YpK%j;KNE~C{;QhNX@qep&To5dkV@MRSIfv8K%;B@aznQ+(mJX zxdSuhf1ch8Spb|_tPvru3Z*UFvXOAK83ouiD?eSI*4a;;DV$mPk6xz3KQ zJx(rF&E*AQ%2M&+4K-`6J>+^Up~th6P6RPk3uO`IFrRF02Z?O(%}m z{^jS(&jV`(sprqLH)XqB^>y=W>{B_&-F?={#Fc!`v;V=TlkdFM*;lJYNVH)S%Q;icI8CaEKO zZ1qS$2h;u9vSE?#^28`?0wafC5PQHJ5e63Im@1+9J!y;iTWQB2F+#UDRbRIx*|?9t zsV4mo^%Xev{rL;(lYW}Nl|Bxw4|}r#eV=Rw=!GeT8}?V#eQaE&%ZwI5q3IXW(T!lh z2qh#5`9ayk6-R^k@y0Lr4bb$&m38%>!#wZ+(s3xfIH>(2GCXYAmEY*U2K|8*Yqp zM>y+!zwAbHCv3s(71FKQQqO=k?2m3;7cnKoI72rm!S;a!HxJGFQzxdapWY-cYjY8u zxTMW1kAgOzJkANXYgCA~GCI2OjJ7;-@^_H3?9EIKfQ_ET6|VF7 zeU;zs{O;s;7rzj{9AI}1&$s!dMn%m}fD2Y zr`kT=^=)8sFTc(F{*&K-@!QI82fyop!S{Hc%X1LCBE4m`b!ZGg*^zf?lf&Yw zt?*X5@FQ?c2Mk|i0)TPaf{Gmf^jv9YeaH?@eex-pqvmsm`I~%7k>aP0@NUa42y5^!WN&N_KR-|+tZ}hsKQ%7b4N2k?mZ5mJTGg|Kx~$OM-4EIxAvlcq|lKZ2Oo}uSeY_nnO@yzHNPyaDr!D0 z4{QC)($sP5Ps?M~)zGM`%$cqgQ_%=@+keSmMo6yy4~2KNU+4QnW6`j~`BgljfqZlu z6FTi@U2cSEXU#?gdLo&Ld4PDbWw}3dm>b|uFzY5Bi^wX00hn+ck>@r`tAgJZ!TOAG zm~cHMaI_*4oP0_KF8P$KO!x^?e+9mJjFV5v3YmOLR?Fm5hb8@fL}t9>cAhH`nA&uj zFr=3^sQ{j8WT2ZC*V?stO6*8mhDM%ySel>@xkxkaBfIqjX$Gv2Wl0=m?rU@sqf#NcQLK5BK=YjTh+CAD%6o!;P0>9W-gY%qAMolrIONB{;+HLMWi&I>>S={4=2MaC&RxD$xvI51h+v1CcMF8 z5LcdMM1IUy(>r*mb3ONt&vmKQX;$|g|BKc6f@_tl-1_kN->rU*eiU~Q)@|Vr>{$sv z{;vCF>SG=vVY*MS#zbC)J9NLvOd8YSe$iUkH)em)n{AZs8n@GUa#zNywnTcz$cL}f zMnd=J(A?bGPCJ+OhMo5Q?i1-?J_vlP>LPZHYtK`Cbh++cK1Oor3>(SNBL_et{pT1P zMCZZ2+@68%B(Hf+{C`MyPO0wX(%n>d`UZ7J!avuYzRz~&)c;R+&h50%b-Hst-8rA` zJmhreFDHj~=jz>Ttgk&wuBcotqjkPc{y53;Z{YG>;^MfJL~{RVr|rd_Nn%FG$LN|s z8y`Sj5TR8S3?eviO07Kl2|hLT3QPuAT(x-vSB{}Zp!`|`p-5H{7-n^~ZgQKfFTy@= zl%U&~lk((B9`(F~r+tac?MH>anNhjo-Q2W_zs-kMUH`eO$;YAv?Vz!awikvTIjveyh&mo5Nc($3#po4 zGq2vZAjin~3m&r8Nldh3^>ohQB!MT_z@cNfgYyn|k_NT^HX(k=ZHn^UB-t7tG8e2* z)RHG_ts#1OtNK9+tX`iem8?T@{O$xfRPFQXq5NY83cxKG*}~Q%0yNXV-tuqM;%K?) zZ^09bYId(Qdz~#!NxoGvP32~!>W zvb2u1=mAnn$JFw%O{lbeFF~gNAF zL_CD<=|wAE6cZ#Gr>-wb$Qd$0IF(NoW5wjX26KeI8v89~a(&EyknI=Q&`)j^%){C% zxmC)jv3JN!|Dm8#WOw1Qop@!!;U!;sq_`>G>Tm$@Z&^|=TkKjs#Us?_6MgJi3Q=r6f%sb z_ZT=j!*=KKOwKa_*q5Coh84v#9smqmY6b$ynEz!4_5dwNZrjga`?V9YMCPb%3IM?K zAiv!tI;s-&Nupn;6Fp0W;9PQ>;GF$nI^q{Z44Me{IuTsC9FvQe<+kWS*l=4qx;f_G zk_q6AkKV$>0|UtO6igu8^9HrEDyV97r%sp-Cn@{lB``r2$rmW zY!3H|$qh!lV&eu|m(P0fk+Ei231s6|47W2jm-E&#(<}L{&S%H;z4WW&?^>PPj@5q9M&huFnoLaF?IV)Cwn#7;dD^`y62}J$``V`ivxGY#FWVMQq z=(I=RYDYUi-LRgS%6<1q{Ny(A3N`hO6sFsL=wmweVo^7vTQ=^)x_S2TlLQ@Vq>K~^*GCTj4>Hf&-8gtTm#dxgK(|Ooa)P;yUPQEfb4`-s*@%zSg*3_}x z7di!(8JI=a#jx3HZ#XK{w9whDuy$>K=6Z7(o!#|9mjAMysU@zT0toygFaQD)Ba0lJ zNOfPdh0x+YhKqyA+c;)NBURg+evjLU zf_)?%h5m&4>jO8ZTiNrGTKSw-&aV#y(orv~sMLnHAOhnL%f{f#i623L@kqkSjOBT$ z#Y!B3dhIJ{02|OU`lzP-a6Vs0`Lgy)=+utgvj1MCij%bsnmC-KYI5BT!Pa@0fOpA^ zl@!bF*nVj0wl}Q!@ptNwv*OR*_x897a7kDlg*ggtxlXXaE%$SbPOhMh!0px1o$rn2 zf_U9X7Zq~0Us|~s^DHj2NUl|1gD_sL&l3Uf!1@fXo3X>EFw@2q;araX$dUixDDB@Z zQr5{`5ap%2mVGP+4cL+9iazq+C_$`}X7SYA&m`UgUt-luj@|JeTz}S`bga(a{!mZ5 zI(C}k(O&A2f5pel=lhXMieEFgf>p`bOpm##k4SUV5&0Xn`OCS{;yp{u*_qbtQ*1#R z%_E_^Ug#7(9 zU-Ea6zl;2*b$$u9RNpFf7ij>LFgT0MuLZ|C=c~wnlu{-CPV(<0|4E%+f-MD-Yc*u7 zL7mZkW~{83fGg7BovA@)s&D*b-M5o&!Bbqt(ZFKtDJF4p6C(}#5GpkUu*AwigSB|k zz;I3aKo1wmW6=YYO{N+DM?eeD1;1iEGw1a2P8T>5^tQ=k$r)M3GyLx$ zR4{vO|E@9*KUR6#7xXNNjP%7+-&Eud9hoXwbdr?JV{pkHT`~_! zUJ{w%3T9MAy1bDDJN_Jp#tWJdB-Ocn|J0pBH+t4u{O2W?8QTFCvqL&7SjjDgM>ea~ ztGGjK&3^3UaOhS3;K`dKD;LDe8)2v}5lf{DOWzEgubiCb+P#z}o5W7l^PGZ;J4hWg z%*G>1<0nVzm_4%1f2Mik?~lZ1{ayu>i@DL6=50E}N9W3Qxvcz0YV6;zRStK}9{8%d z;$u?cMOO8Du{9Y@@3;Z+@i)iqIsT^gLF8r6asPXAB$PoGEsL^fy3ly$rcd9qUXJYX z9^Wa+jae^O>BKvowALS_{&S3HZv6DU$jh0>umhU);qlIFfwh}bMHuB;CV|kZ_cct_ zdhQiEmBWF|5*CyTw8%3E-9dIF*wIgYqd#&)h>*Y z^?)!&ST?MGnw-c8dyM;@5O}xefE>^wF|DxHi3x{n2(Dq@qZ@MyxC2Z|F>v zmN}>=B`9&XC>VJeszXo-T=qw|pgvIrTL-@xmu(+wuVbJ(O&O>bv%@P@1#H+M{6}S} zv1t2JjC;yu5VnTVq{AF>9@tFfy{0YUj}aZY)&2bbp<|FJqB z3uRhYDX+~Js1vHQD6+i+ce(%mNv2@A7@~<6XUuZ`u2eP)ci}TUcoetpW;UlQgX1IDf^DE$&}K0}iF%E4wtf7=M|!;@-O+Z?vAWGuO<80Lq>>PI{(F(TI?^A&|S% z=*2M5+5}2cX{6-BP!30ve!CDQVvl>`*C+6k%OBf?Ge8}$+1tTdK(-kJ8{+M=`kxP=P}b~l^2*Z3#4gn zMbtUC2^mCwwm!-c@a$wvFA$a~_$_-q;5&P>xA%lW?1p0x-swULhfnw{K+Fp3s>Hjz8_lCg8folHh8A*Ka7FfW z&F7&&$_`!kTnR5?QPl@OXN|$R!c1;N^Xm0H<)5b7Tlz}KsOJ*Fb7w0#6Ex%eZeL`V zr(CrB{n@K`0~L8~L@HVI+)WfpJzN03Hwh#XH%ekGP!2Py?&DUY-I~=i7J?=fpW?J- zah=_v+>$U&*be|3RLLMk&g#Rew0E)2D~-Y`r$)T5*}Ya-m@Ld|S*eW%=abIz@3%g{P!0@i#SngjqcFUke9urd4WBNqu4aFPfPz*=}X z6yU&dmz*nE+?139H^znzz%nh=ZA8R6uysx{e4;3b+wDt@=r0Ip8y`)~JO0nklf$f? zo%VS5&X_0MdDvalZ@nR7z#ka{@)*&-lKl7|`RX~u8;&?I=~>V(wRuB#2tT!WTJ@>W zEv2u9>e_y79ST^lNVz#qxlF}xc8F4}s9V?Bqw2g~RSN2Tt|8VN-|D!dh>_|~+(kW7 zU+4%++XOI={sZ+`RWj0l{>n2I$yf6Kkwiti(0|EvM&vXsCbHRf;4l*Jj1;-_NU}6H@N1J~MQr)op#m#1OJq{g$<`7bJa4e6PL)8^=X{1cz*x zv(q?KJq?2>PyfNtlbA9jr~cpy4z^}lGIMI&FAsLt%8!ac@*zWrzgP@8S95h zg2w*w#)eOz&5@HMj13>k%Zam%4L$PGUutX+ZWrV-HoUY_ZsX{fy~F0PbTC1;e+QTz??De%cLeUS+AHz>WA>^{I(0W+qGi!v`}isoY>|@U zWA^^Y-8W`$)B92f;ElW~w_{-!4=er&uzQh>MWmfQYp#I2YzM8^7Ilr=i(>NPwb>YV zmv*lh&!PZt7FT}OaZDm<)Szoc!x5t0AB=fpu{n8>S;JEQSz&(2%B4Tl`oXnEC@*FI zw+7g7X6uT_Sk07`xW6y?2NrG)G5>)%Y4za^66U54VFR*QZJj4#hs<01^|_3x51QJm zt?XF-*zT881R3_76stD7SI$_b?dn!u!Aa-W2NxFHZk^Z6%!kLws!zVoTt;Nhs#9+R zOv`_pWH7@sxSRB^skfOi7%T$$0F<%<^A;a6s~>DXTg~I#z~&2ZH)Q%ZqEI)_vA@PO z0ceJW_;GZ_X#N4CAFF-{hIDM9UhH|hSrIF*5-*keLI0x{yV%XW+7$+`qsrAw=t2B& zjJ<#Q{c4ZD9mlqrZ#IW!*fO_XQiN+WK$^yEUbC)|6z~ zq@YoD8%I3e&j|f9!PaDOT!NGy4mAv{XGU}< zJtp7zoNm|kJ}h0gA00@snG~sv+0vXoH6$E6kO=?&n!3PaPHn&oA!k1+Ppvp6u8zdII33&SOLzRDQJUBn}Of}nAPo#1%RqHIkrZ_Ho=`5 z>&-mPDJp^Zxx-p`Yad5jNGMe+%`Fn1*4_TdNg@218fo8l;k=N&nt#X>-JqjSQD&RZ z!TPv_Gc5hYxc1L>%cFv>T_6jvAL%g$b=hyck?G=o z)jg4SGV$Hg5t;#Wn#lj=ux2uRXHM75VbdnNT>n?TI=g+vdoa=jK1NH{+)DP$ko7}H zB?z)Cy94T0kQ8I*AhEO`d0k8vb4VXtj6k7HO}W40kyJZF7pK~I9WHZ+HgT$MB1UeR zG*C>rBmJkAKUe(P_8D~I_y?``ZDAZ+va6&ykKy25&9;TR{+mvSooV~P45NLJ2aZ&u z^c;gs4cwGfI^Te&?GFk(Qn%AD(nor48$21s*4OkujRm{u@3v;bX|&Pf9BX!d9Y%&` z^^W?;J$N2Pm)^+1kKLgwYJT<*@NDoT@Ag>b6O;Q92J)>1-6O=uR6O%4I;GVno8Hz~ zVpZ>uo5OZn{@tbb_>8K1e7HY}yJzMwedQRv@HZZ_x&uA_d6Wb3RRsxd>4I)d6@-n9 z#TvOU?w7?9>V3doKTe3mZVn|pZH;m-=z!U={5#@)*#~0zJ#3v}mBY#$nIH2^LuMSnde57Yl--2b@XrM;zBz>4tq7zW4`4zQPc6b!8LJCggY zZt)p(n3PuIzT#u<#)Iz0BS!Pz34s4Z$Ir|=Ya~macpH)pO7U2xl@AX{ChSG=FR(|e zf9KCbi{EDdEg_hNJ5z48wzvO7GGkG_YDRD|n<_Qzh;`AB4!8VmtEDw|s22)Ry@h0v z6Z3*ufRe?r^z_Pb;@fmM1(>)?=@?7{N>3ZJLIU|>Eq_1@0ld=>?f zp6-_AAhv@g(5lWgw{DS_75QfLNqO<-#lGiaJj_jPe45eS{EgL3FgI}ndeY33`Ds4i z!8=OvFO?2oIU$f+EPj%Tq$g2H6q{2nYe`HJ_3T5`(0Q%8a`d}7rY~?K8G52blq{MR z93E(q&lP+!zRhwwSIHv35f#0NRhM5>SJ-q?+Oup_Y`Z+Ct;x4k{b-Ep3S;+4SZP$+ zYEXgrU$rTgLm;}LOD{74fBsA4heFL#;lOt|pTi6Imi2-Opc{yz%Hk-gx2dt@PXB z^xKj2o1K1R7C1Tj(r@&{3F}Y4NzJvjDUCAPYop(FkN|8V1STiB=y!2pLXfm4% zynw4;!oghW$rWF+=1jCYi+0ZEWWhY!M+Pe@DadA47ACSCk8&C-b&rgwa1Vi;sWLN0 zeI!UG^GNs{K@4uEo5!(z+80==lDz++B-ug|eJvh5FUSX9@(e+&zcg1ct*f#!!~Pva z!iwqQ^2`jvT#;$OZn_k=Ly9XtWIsZI)YkKi$Q}-Gf5m%vjo;N(IV&SHT97SZtJ;_9 z!~?UpF&BdpHQ&`F*0h3)QDt;WT+V0oV_GQXv7gi|WpVh65^mn-j_?`bP#w9?1(%IU!i0kVQG9N zmHyC(c&31*P5wYLJmzra@9p@(#pBo!VI8>N$uhvYs5iyG_z*_)mgslRm0{tYyi_vc zG3*drb5h)(Q=}Au#LM}Ea{lMz)YZk!Z>uJ_&~~jVbgdX3=8SB}Bfe!*POM2UCj9W; z*GDSzP#P)PgCkiVbH7p)o1H zQ0@0L^_GDJ1M8b`Q^G%bttzjzG+(?&26K~3OOi{yfhQSF?jQN5jJ}UeD5Lpn}pHm3-N4)Z1nc;QWmuoPpJ zPf(281qx$hu~VuD`~3}qx3+53l=l_hT5~*Xtr2aVWh&|&S6@;bJYhVVBCp)VS{7HE zh!Ry3Q`i$%e^r2j^E@^Cn1RU^C2=*Ar7_86XlV21%~vhTzFJ6bXkjcWWW6T2Rq9S| z71~{!TT@ z&QvL!LEh4Gny1!&=X(NRkK^pKaw0f(5g6vg$15ia+~SqOd!@XCLWDq$$)p@VI3+TU zBq`933GxumxdV}nt+q2?*OOIEsh(S*wyDX*)Be?K2q6c@b(HHV*YhpD2gNgA0yhFW zXZBtFnt*fAHW2Z8Yr$T|-64>nfvKxXA)f6qrd)2FOkrdt8k=Ih`vhgpP_8}q z9kuSUVGt;Hx%wKg>rnH~r8FMFwXy{xL4lkwh!euMn^(tFr6`10!Hmt(fm6h*TOR@$ z9^^bK!lNV3DGeQ6#=)wXKNq-8}Rx_Dy{%n7gZB-`Q{*4it=b6(LY6h z@^M8iUFTcqi&cr3@8lDbAqof?Sn(CBUed%vye|xeH|GHchzEsh`oVc&w072WbUP(6 z9klK)R91-ht`@=i0_KvncB#CIOS%YGV;aqJowgO(2zZ5}oF?GVW)dLr+8mjBbL z5*3>k{A%|*%gl8cc?D-dKLP61|KerMq1?emc~eCV%!`j-88k0aL!j`LE0Yi?z4oO0 zfVfDf=&LXej_WOF>#K!UTbTAM*soHs-^r)7aw%%z^BM|R&Bm69V2jGeYf7lm{4+^_ zJMcrnOB)Itxff+UL`7c}(NIvIT<%F0+b^P9mCJ(V3bq_nFEd#Rf*`57bI5U46s#*w zCOpMSyhZ&_cqV7n>}N`48f9m)Q zSF+Mex42=X(t~pzIWU81O~)eM2d03ok4nyxN=B(lMyN`L(e@;sF$U7gn32Azw*w>} zm@?`0w%&ZCjdj3U>9xNR=5CvMGrFE{yM&Lp;%XTbE+Dij^MT}6i4)%W5n*Y~D2b9K zi>3u{ZJj;4-GiA3`mVj&Qx*7NHVEr++g?Im=Le5?7;8AZcS*w;BYt>X^+tLyiGK|}Bc;E^Z zHni1g#HD{=(=?SI@5jOMRgH3!^=* z9?=-p2WkdK=cEcB=1MH958U>JaapcJU47t=FO17}C8pO0R)1lf*OfTGKJeh6I6S=3 zhE$zrxU5G69u*C@p$8TarQGw491NbsH@J$)>UISGc^Ro){x`NH`Lc~%GVxFujKcJ7GrX#MjN%zx>=UIF7@|ILWUMia>9$iHPgc-%Fx*1)~ zM@$7NMvE{wrG^Q~tum`vr)Z1n|FPhm0~Mjt)RGXpK2oQ%TtC*WYlN**CDsH4*`V|T-H`0EmlnEhrqr> zk~d_`qpEUMCVG7~dW8$46xnT}Q{m^ObdXRyFj$)QJfca|V^W&JB~8Mtu-NN?eq*iv z*xU?ff21|L3hSs7MJHk&aSSCQsM49Ic7x=q4dEdY#Ocz=I}i3{i8L_tQE8LWEORU13geOcNmZ&$aO-7L_q-!?RSjORQ*Z=u z0}ye2B|_k5rs0Y&~PetE_J=o;OM zRGFIx%6vkX`QJ>7$xh*V;T*(!#=^8s_)qpuL)Qi-d_{~57g1Jf!U-=eV$My18izzy z0XQP7(0WlqJCpjA-MY8&@;p!te%-t|*LpN>&<@rwD zTK_C3s$0|q4U6P5o%w~YMI&}OFAdY{?LDuFEb2{>ieQ%2S9Clva;ODfBz*;46lbr ziaQd+#&txxWyG?lBzwkDYFM?}rHk1}G5@OcbLNzPwES9n-1A4^99CV%m|a@)`2V7q zF|DeQDX+C`5}@_`KozElTChqA>;7L9c2=t@WXc|0XiH4WNnD53;|EXD4ZYYdQOc&t0we%!E*s0Mz zaN|J20+rA^G~sWYgr9E>gFmhLAHgda?8`ChyPR%b9w;nI*Zb-prQXjJce_&@*B5)p zuq>|dy}(t#nkv*;iy*gAik?KWCYb6lTwEOqlQ|k!^T&(-|9JE^X3%OZBO$DlcvP5c4sX@|;+uH&#?cEf~ady0?^9sUq_H7Ty5&w^a%e6OZqY zE8+&7W6QWVcvejBmPBuI@|e+^CGjIdjja)AOwo)AHSF=xD(hZfELzT2Ly1tw+LysO zB>}SHXudYCq6JQ7OqyXvZ|AR2H?fBKB{0W!Hjp<_i2F>IU+^h%Z?20ATOLMaMgPZX({TH1#f()#(yu@7pR$-EtD<^E|hMO1JE zW>;c_<@wV@z95Lxt@9*R!>B<2m)HRjyChMujcOPh$U!_w1%wtfDL~1{=_NkFa-~GW z=105?dxh?^^rdH?qVLfTXoWGWUnm3{Dj=SuGar$GGo!chH*rN^!lmhXd(InQ0Mo~x z*D!6`BQ@*6a`0sUDP~cYAd(rK&D&6<5HwKgamTy@hBaV=qL?qB+1!tPoaUSdE!xL| zU)Sn;rDf-M-K15bzQ1{(sdxQ>Qj0au)70hq^w`=se3mTF`H|BjSB}J`z5NTNCwPko z3;#t#It%|FcIX}rvisTP1Px)@mMW&rLrrO>n~N*cgmi6a6Tc!y+53&UX9 zzzJQ|fbnC!eRZ#-6o=pITWJGk9UaDfVcsa^XFO!0FndHhpx1v?qlgLEyZ2|xb}QH7 z?4aekus&t=;aG{3>f$(}ayf4*TV@caKkm>R49gvBdMRMmLTsWlQB)hV{HMZ=J_v$i zGk;W@t722qz>e~=7lj{WSHftK$*lK1#ZhdnosEveY3Un8m58&$TIK+IKamq$6|$4S z$O&#tl4IzR6Es>jGiBri92ohIrjQRgkK+{beMz>)GYp@DmHF{3D4ol?A!jivayB$?$%OoeT^Bdk*T^S-`pxQ)XsFg=1)bmuANOVZoo6T2Z-9yT<-1OCX4*i6~1zVW2~0ZF*IO zr?EhpD*8BFqmXOsD*C5OsbfQEU5$MZSu)Z!JXU$E#=Zgrm?d~9;M8HHBg@=6mBc7V zz;bPaX-3Obb{$^GyQNmRbLwN;8_vn={bSiB4!dIywE8lYaB@ zChd$@mE<=GM%>AT^n5(bM}ut2>urqv0_}Qn@?EIpNbK46Yfy`vm?q#q-{yeYh+PYt zQ&k45BX!lxFMchipi@%ME}f{Z)n@Sg`N@?fZ2Ttg_HiVd6|U*@XtB0w{trrJt2ZsG zJBPLy2};u@7Ik*T-K=#@r^Og8$n!#Z76y71Xji@>&C45#30Y3_0)-e_;s3}G>fhQfG7{y<{2KW9oBqxl+1UR!8YQO{Yzhf%WpoVL1R{6VJ8I*lY-2O{K)gtAvdyb zw40Y2sjH%p$3!;|jA}gS(-``g#6m%_z%iPa15Ys$6>sL!t!sE@R20&ijmhPOc6T3` zu)I+2p%>j=EGCCV%&qEg>_Jryh8Br21M`EgxufBNkq=M8qBH$*}HGTN%kj{-jW zm|Q-w#$GHkZY^7!IY>l8Dk_9jNN%;YAB#$}(`+!=22lxgZbVvr=2jV%0TQ9WAq{Fe zE%sU%Y*Jy<=>kPiE~6EixZo3>TS33fH@@Sx3Mk-HGDFu`Su7;eVrtabtX|>8`bo;) zDtIn-l(}d>7*4S5c^O$0U%RPn+DOg6F)_$LB4tlfp4`t_a?I@At2alUmw_3kcPy+; zGG1_t&A%YGbwgq4USr*V$ZN&KqP_Fo-T0%Z>Hs=wTmg_-QK<3nYE2qnB74t$WC(PN zxu_k}oa#`{J^!~FdG#!WMQ{hRp&~N;gP8eaTXd?JXKnIng%$GxzR4oxNT2OuRkAPf zSiGW;j5J9A?lgm}!lIn1YoKg^je=Z2R%f5{b?{#i2qrQ-3wM8%As=I(cE2bKO;wOg zgPG7ZAQy{Ch4UI}+i#Il%Jbt<36M$$46T)&xxU%kQt4&B|A-{VGGI`ZxgMtLirPrg z3cPn?xs=231^P%Q0``X@_^LGSE?Jz2;}*Ez3$f0%KcY*jzTX`e3_F&s&S zXZ3dOt#k^xmqX3L%D_XwsowVOQIsQbWnd!~GWE7gf2(dJE=XBcN#APh2OE@VrqUhk zmV9}segw0jOQMA}w+d=e!NpDmzab&kj|4)t)9dWjzj20F!5cjR@!?g|T)~UO_s(`1 z&BB$|*V*5v*MqZVIoZOirjrQADv~I6bZDY?{>v%5q6Eg#d>FtvBIYSdMa10q&4Fe2 zW@p*Gr0MjX|Dr1|? zMet23c-cU3SOtew@U1#{D8+d1Neu(dc3ZR!UmG&uicxF02yQHO)FV5vg>n+xv{`Zn zXV5BgTElyQdP@|8VoVW~B`niR?wPN_gZGJA>4z`8w$c?WmeesxH@!vj1TRD>d4Aw6 zitG_ho+Jv56!jAsJ9I|;k&s@*6>VKq*QF|ADU)ykq`jm;%P-@>$H1Mxasc(b z^ufi!|7;|pI(sacpmyQ*T%m+U^IHmpHfaW0=>Su#7#(05(T$|D9J@uMSqQr}_?#Em z_+SMT>v=+wTcrow|8)oL#AYZLyQ30Q*~IJ4nab1??=K{)2^5eqxmBt*w@Qe8kJO=T z*6E9madv%@!K(&oYX16!?pvTtb$$vQEc9dO4DEE%SQ@K^lVr+?_EX;u{4*y$Jw=p$ z#aoNJkuH3`sw;xMEek(E8PZH9*}Y!rW49mbCyr)Qz3!K*osqYS&u z##7eY$+1UMwU(ED6f8rQ2;;?SYUxMIE|D{qgK~!USPM@LY#k09hg51VDjqQFOvgD8 zQ2ccM5c+`i748YdN)QiA+Md@eF{iP^s!)|<-D&d(qgl*_j&-7O5kW0hnRIuCORf%$ zu8Ng&6gShj-zJ!l;QPfLojsY+r1h$?siSCr%yS)H{x|gt7AW*8M*tV*Qg~}+z{_$s zcCp&%6Q3;5%D+9XhrhO=$U5klv&-zNv7dV;(-nyF8jG%!KOxSYM!7NtW5QvpNWmA^kIGkz{t_2Ed_APU>h;&-`s+@>RruXgT}DZC8`$*2NBx zI{#AxiTf8@n}Zu zBisiqW!bH(>vFqpHEF(DD%5x_USx{8QH{)vPNjUQ*5E*Ak$sgDn4W3+1$@(vqqM

c5y9BY86nD#TXRsD7%*B=kblShY`kuLfiz_)c>+ZBO zjcuO1mJDOt*~Yf2432|$+8z%2kJwN6xh*q^sOMLe8F|;}w6i$cQQ@HMK4 znQk#2{Z0;NC!rq=luzNUQg&=6Y0su;3@JH-A1ZKzNuJj!ytSenw{Wngr7iMK2s^Ne z%cLbvGj{5-r3tuB$cY>_2#B;~%p^Ja+`Qpg4NYNJ295+4o9JKj7Ts#1(v&-O)wH@* zsTu{|)j3$Nx=GpU+!V?#)w!*1Tzh!RzPlz%9Cxf79=N%hKzk-7hPZ>wfoHE2Yh^Oq9H92KP+}wOAH#c7v%BqZgT&3u-vF*mvWNdA6p8ao`N}6v`$DD1ge^oad>y8c3 zw}`Uu&Z!UdF@42s_7M@DS*W;wD>RIA4_rPP&kWC)RIAtThHK;`(6>n>N$`Qwk{6zF z4LdoL>h0SGhf07yRTc(h$NxMoc~O6B7M;5^ye4B(XmqSH)9Pz=5s>fL%MgB9$Ox~= zoD@1E(&erQ&$uj@zPAZjHb_ z>32rUqUyU9>U%pKnG`IfZNu1r3yv$hCU~}7cHS50|C`vVeP1ON^T8{vmsu2?`Is?N z=A$xpFWO7$c}Or<6)-2I__tLaj%v$lxcGC%>Wo>##FSbO;1AfVgC#!h7ewAqTi$q; zVLJF*S3i)++4{qg1e0Elv}Duely$O9edK7P`3M+`ttC-oA*6Bzr9|mNEm(jOC*wXO zPPR$ZmE;(0e>RQ)qgioE>BAQ3GJPaoWmO@)se?P|a0$5Gs>=UtxCG3$stP_EE&-FR zs>08POF*8b4s%>GxG(IZgwCq7FZB(Em@NM6V^ra%6aKJpWx*@+l zYkys5PgeUGfTQ!h?51}zAg^*rsOepKGZ((a-G}Ca16}^Zpwkh4A7ST(kH4ynv>-SY z?YRsz2+RgmtRmCV5av7K_*8SY`%Vrw?mtLP$-+(h;uS7yeEV>|y8OMap5rnei#_cl zc=o)fKD_PXTCL|#>LaI}U2s>=e)ZwAx;uMvto^#Vo$sCLw6^+iJ5Dz^Z+)caKUKoq zcF~FV{8)YDwPRPSYNMr7xcRL{q0RN&hZvISAc%5xa%nloGy(@oa9)~SV;}gb95nI8 z79LI9rc#6Eu5{|_tn%{GstF-3(ahyy;pytAv0g04Z`MGu7Uxr2!E-X166aWp3)&ef zS4;Ircnw-y*e;qaNJ5wO(O~}$NCV@ZfXiOU83nKD7QA~M1}xn85lpGf5$ok}Nm0n% z?Y-^E9PafUGfzmT`cN6%|l?S8O(=KmbKp{&W2N4tjmAu zw3RC=L$>J-Hy&^WxngjOLpfd<33wWFyjV-XUvObxU9y0hqQ$f?wZ*IA z{wSHG^_mq`9K>*^qHyD3?ox;4whOP25>U?=%}Xg^kY4ERM|GpZjYnKY^KCR*(jT3g zPJbOioTgdn3-mKs>CJmNL=-vvE)JAB&UX;;2ToDeT#irlT66QvYW&mSl1QPEMk21u zmaj8YU;8bCg~`udwjWoz@PDK_qbBFv!e_^BsYH=#?KJ$IHEjo}UD?5N#r<2n+pb3x z&RBgt57Q-3BeK@#3Z2DzEXe7!Dfx&4a|3TWD3*PXbFBqZi)*{@7%CXfs@M-L6X73; z&?D|(LfliF3(|_8kGaVeL$LHRU1O~JXyQWpMv6-l`TV`as#N&tQ~22?<1W_y)d#K0 z8!r}3vHZoXOR3(vSUR2NyB3#`9KvH@&lFpEBL5TPrFC1hnT{6Am^(Y6G7>2Qrb zhj4`lp-F1&-{xCLw8sn`W;GLZnusWkCy3ps*(D~27+Aa_fFfL>1C;jwm{5{1HzEe7 z)!A9a&S-Pec8bw?^F{UDFvUADmI%JsUK?otjuPx-j6$`Zs0u34DCa&C>K-j zvsQXUw<~+w(^h(oD0`;(o9Z>9%80cJuX9JF6w`0xK0@A-q1`X2ejT&k(8%QfL!_|- z=OhPlgBm@?c0uTX72kfKQ_^-De*7-?)^Ms=MdI|ziYG%y2(D@4xD%)tmkT91PPX5e z^$MpMLvIDVgxlZzF*nnL^L?oKG(ngp_QT(0NX_Cw6Ym>8aWJ#q+xE~{j(cE?w7?c+ z@eQ&fEZ9##kH}3T2MGPvyEvCQ*_Lel#_kH&$DI|fVLK~aqxp^JH<91J@q3fs-}xQo zw}4+tY*6b{3BHtyJ6M%+xo;T&h5v%Xx1(|o=xHwh#IC8u{|OVpiz7HCXN#$X@|v=l zRv^ws`dMFQK-f5N^4QC)FCQdsP{tjJtJ}OJNnF_`D@tNgo6z9IgtlCHTo9iLQbG|q zN`oPq+M`e8v=zwLu(m=Tv8iHaG+rs^Ck=>X`ov^f(w=AkCzZg9!=^AN&ith?ciJDO z;55Pvp4c2Q=0l`>Jp35I)$(TEY59I>`749PZ|l!oG};$AammVCWFmV*`Std_ zcgd9VfW+eDQ8XV4ByyXKTmsnFnmvTCzd$6R9#W<3x!n%yK7nLD*#81b5e1_voY~%nJOZOB7Uce$W3f&7%n{JfEgHw5u2TCI&m8L-?;zJ6ho)O za>Spr^aB4#2QFkj+q@B!P1|THr*ZGfcE~w?G+0Gc`@cd0MYF^yCkGZG#bp;8QMncz zM~C>>6Ay>e)|};dG+g5NIvi%)zh9EnWrj~ml9Q6;q_{&oDM@xBJCQ`3-Gxuglp>Ih z!tc!tpTtSx{~>gq-Nc@MOC=&+WoC^XR3DkNREg+4_mG51&AWbw=V2O-YF{x zjYZs?*^m+FM?6ccjLj@m-WSRyFGGS{aYxzLcz$=qZDlig-m>B*q{o`F%YrwSEe_5u zTN9jBHYrq$#a>zQo-Y5WTn)+YUOOb**7e5h1j z!hUtnltc8XAw#ZYsIgxdmWF{?Y_(QpRMGU-1*d6qbUvL;j8bYpcb~!q?V^}3ZcAw%a=I?eE z*6+|FFt;wbw1B`G`#jY`VeaeU4wXFC9he9eudy>zjSrQP6lDIH$3f;$k!s`zd|RQu z)KOnmUbW6-W~Hf>O4_Bea!rx52t%ge^M-}aQL$c?Nl4737lI{nk=;Pqmfw~| zeg=!M+pL(N7ZIU#3%xaB&qWr6Yrz*)f%Uq&wz2fxQI!fP9un{^%sswKwgyofDjriT zKkdqYitLYU6}m}OMZ(>3Jiwl$j(AIOIs7WyN2f_w$02-YUBf}G(JWd&1Qo7*D2K_e zA7F!hTtTDtv=pgRoKFfG>I4H05r-5dMJ}^<(E ze{d1$r&89xct#+2nY5~8XysfwLW|0V1{zT%8FF7A*O%pCiX#0io8)wj^yQL%aMxZH z+a2bRoJm3Ndp!CDa6dSjgrG3u|y)gWHtM)b^+fxn|C+&qUSt*=RT`m&>@_a=6(3Z$)QrvVRv&?$FSGh)p31B`|lM34kqj?rDRh5a%r!vG< zw4r^};(yy{{t7WHKj`1x#{JoRBnzLbq%h>Y#DjN6yRX!K?HQ{a*gOB_FAfJ-Ih5W|0U1W?)<_~KU_YBJQ8Z#0iPLl_5i@oH(_OhJ~r3a(*Xjs3f?3Ht(<5gd8E{6@uP41;$|WXiTv zPSFXv)X(n}mYiI!WxKy2$pI7&Qi9payJ&(72!rE~`Ev^hP;#DMd{`)EfK&q63eU7q ze{ghix#RW(Gj$d0ofbM8oS$6o&^p}ws^FXi4m`P6UKOFdyNJLHo~MXgPP{@`a;&%F z6;dOHgCbetOVx2aRLOEfDc0_i466qSI)TyR8>eO^^pUgM*tBhtBd^Y@(5q*J7vH_-5XRVc) zY=Xh#DJ#1nI*oHdYbJxIY;}n1J4h3}2Y1LJn5DZLh6mbCaQ@o%*lAHuv30`(x2tuk z_wVU&SsMf2meAzbje32M_FMxdgiC0}mAn*n19U+i%OkoNE&)8-@j%Nr0x+{^+mHzz4IpuO}?AipU3@$Uh86JHSG z*>ekBl^#RmF;3-!js`?STw}|I{P;dsyS}@x6t2v{K2<_36b3GoslGh_~Ft?G`VH)|WNsk2AW7BPZni{)t<;h)kKOEt_>)QNI@S5c?C ztLPxS%8GBzR!#GF1g{-vR|8$M{7-XuiKcawGuvpzUm0(wWrtabR9KTFbXr!BD6K&o zTx0h>Fwi*mP(y{WRoOkG1P_&peK4eF63-?F#bN%0cBQ6y&pkH|wBub&QUyM>1To#e zKG1?isTTZ`B-kcN1CPop7u=zBRghVl&y5JYev+}`8<-H&lJVU0F-KY_D?3r{%aez7l`k|U=I2_XI{SU4_fXtI533aP1^x3_GAEZh5|^sZLs@DP+@)Hf z2W#-5#~()+6V}=nWYtX!dx5E>XU$6=%Hp@r{`dodf*fqL;@V^Solch2!sR>_e>XAa zKOmd%AmXI&%WdL50+jrA-oT6vO%g>$o&95q<|2RtngcUNW$}Seg-Rb6WcrWdRiUzg z?P)8%XtA`A^23dJE?ERNxECjeS8r*@SqPJX>QeZA9-h=EFK6wp0QLS%=PmW(v9zMA? zSW1o+=ziC%xV#ue)?N;Coim`N?DFSbj881Bp*+Xf=IAQVjrsFx5^lK$!M+IhbiyWM z7Dt0CBj54i%;n#iX-c`Kta^k<-1-@b9{8a@gbJKnr_Vbt&3D*WX0X)-IseCi@XVO1 z@x*W_S8V?fkV`~xU_iCGR&s1FH|%kDkgRe6W&p#|D_AQcRju-ur+kr~&80SuJ&1Fj zT8>%6y6@qjs9AlKl_iv|H(NMqdbSaLf~Knt7CCjuxmH6f|LPbqqd7(-V{u=UXQZ>h z-ANAyX|{~!9Yk0o%@LdjHE;0X>CL=B9K3R^%pEXj13;Xc;Ej*#zlw*as z`KcFsnV|S8=>s~<$Y~hO)hEAt18FRjx8Zd5F{RI2- z@EmgOB?B>#Os1R~pZr=pAPojVXqb`)>SUlaNrR}c$$EtPMh`X&b@ZDHytr<&GlQ2$ z?6JXfs7u6{bUOChoOJ%2*bP41@~NRRMr9;8Yb-%{xzA904@=C7;Q-hy#@$&(O88k~ z)_P60a+D-w5v={#BlnR{;ZCy~d|?*%#@6^O_uw0lmPGFLo(--jWH9`3w%-|Yq#;H< zWf|nmcD&h2j#IB1x>fnc3*4DRvMNu! z%1aAe=3JkEAr~-&pacEZ$~<}tG4gV>UwzWzO3xB3<^LaNX9FK)btU|nWD*7#m;r+Z zh?pu?6jU^R06|G0Un-Fak;E1O+af!rv_+T!tb7bkCS>wBO1IkDU2W}_ZP~8dV&x-< zVEEV!SgZJr)pu*VwtdoIi`8P#lzIQ>+-D|(((b-*e!t8-bD#Tp?z!ild(OG%AP^=H zV|vsPW@SkNyDmmU(4|>E97D2Do)OKVL}BvfCF=Xw=i=kRj^1;@1_=%Y#tbYw>ClNt zPuYn@=x09(`^>>1m%bJcoDUFp!$sP1LL{;|KX^9RTGha#%#eb$yFww<_ZWA5&9WSwz zWz8^zv7yD1G&d*7y9j~01U(E%9F(TeGRbhoJ+j*imc1FigRlq=jkLucvT;D^P$V|C zS2+dONWs3Z4-}k~Q!x06f&-vYEBFNm1`lP0YL1$0>MV6JWfZSAm=M z1#9wL189Wlm2fBGymbt&?_n#1(mZsOheYy-d_MXXpH0>kiS6(3(EN-pmpvcw%y50t za@>yf^1~e&WFB0hZD}~s?)b-~^7143!WXlA@z)(cY0~@TE3xMoU-o(T(=Pk6H}TNh z{1#e&8SV5Av9wXyPY6!a&nvxM8MN0upeKFd(-Ke@D=F1;;XhK+q1mPn2@kQfuIa-f z2QlT*49V?MMaEv3xQU+WgCqGhz3-c>oC_bAenHr>PE9{QTtZ02fD=;DD+)jql*hpG z9x;;Pq((5(E8nzUqfCYFr|hEaJn<=$&eE&~NK^%J_Ek46^z|lPlyl{>iu;?BIqjo~hrU9uvE_2Adjbz@!!=Q$P5!(3Ue)vA1w`xLqeA4^wED(FL z;Ai_$ISRov_**wH>RrMe8c13X2?AJgnZ4vHw`_v{F8r$YKA|r=9+EMb>>Wv&^ma|@ zct{4)t|=W!!Gd;8F>_$h&EQ(QzU8t3d3yRGPEDaH(yjN5UlV#iWS3xLk9gl|3RTFv zS2OQS-?(JP(PbC^E-|JTEHS<7!9t192pM||liQ4H;(Px1>(raUnjRvz;4);pEDk$D z{m$SIiK8zuAg@01;Txt_jqhWc>A@dcI=V-Z-QW5E9fiacPNTgSFC-4q9`t^A z)L9f`yD-Vu(LO?9rfE1?ze!e|1XxE0EkFl{Wo6s|!$Bv|+DVO5->`+=}kh@)<+x2bl*(}$Gd$)+3S@ml{5f9#K3LgBVj;uS#K z?j@xb1BuM}3 z9+-l8fyP9h;KzRO!zC1*Y}ye9qkSo(^Y1;-^=r=%edaQUD(ZU&^ZI6E zz0nu@C_i!mk#$#G#2u52s*^4o!!4uOmw|JC2QO!b!*9U#wtFjNL{PjNpbHF!a23D@ z!w%2HyabwcqfJ%*eDc6X%j8HfZ7J9;F02rzg2$n+Xo*l+Nq<+AdomdQB+cq@0e=-ejAI zeN%0HLc;kArrP?QNBa$~RRfS@TNPOrViK{Sr<){GgYtJ?u6zi$s8WO7TL*FZ8RPlr zV+fql58Z!|3axL6aSk{4thQ}Da4fO31;UqgO1-@kt>|Vaf4}CJ%d3*VW~pYDo=Ilu zXMT5_&~5#lB2u#Y@JJnhi6a5=$WU;`QiD0YsH*-fwRckPLs<)$fa9Mq=$qG%IT%NrDbeK2f!2FJ!YCosdA{cViEl{jS@OQ%A!mM=8qPNZqhhD^v zjqjKj*d>+ggtWfY{EUE@Fw5jc;(0Pv{kA-n9nL@1`qJ)67}<1A=fnTdzN9ZHfX;uu z^(9Q7{Z(Q?B&u1PrDvg4cSnXs*Uxl?$F$eZ>Kz5RBHZJx#N|+Q{VW$|>Fu=@(e)K% zja(_ds9G0LndGX_Uvv0X&N)Ej^_VQF2d(bfnVJ4e#&bg6Y2uEhwFCcQ_Cnbq<^|yS zHF`n(%izQ=!7ohM%B(g)DeGH;UVvB;0?iK4c>(QGFY(hcmfIRF${;_X|%8Uw%}F?CcjMom46Q-FUhHV zoK#+o$po(87e*!kb5JGgxQv?aZ?Zqa7U2_!BxkjsG90K5TZD?_L zQ^<6BIESE&z|kBtXIo!U%48i^KV3!XCm%*3YxtOiJ`;`n$;~-w@=W_0aKqtt*y)CF z0vzi|Me5&5xxpCc3eh0-IT7)t+{~4OMuJ3Hi@FSH({Je0C*$w1&Q;}Su0xy1aiF)e zYp8Rqj&Wi?`7RBJ1>0}=R-cG(@qjk`1rzwDv$WuUZCVAB#t5Px&yUP+Smy|{@7h4HYW8_H!R|H&Vsd~Uh0mm56QM7kBR{+zOMF!nuG8kLY52>r{1gEybjzgT=hNxBM zA!z3@>vduew4&d}gtjz%R`ldxEb~uJ3J>m>4RLJ!K`+;GYaQs{w%L%ogdD`?+(j|@_t+aI}FzFIC1+Ve;hL4n-18OcEcWle=x zS|GkC6cFx_hVuOJ696FoW~bI$g-YNpJaq_otoLL8J!sz_^IOhIZ0DH8G0rj6@W)?N z_TX61X+I;YfyklpL(O&Hr_H3+MVfFbd~Qc&-n5zIxLFhMUEWcdKW!$ry00U_(vHf( z;%5vB4&dsyc8P6+f5$CXADj5|vLl^x!hiYg_>mro=8_v14>w$T`j35F>fiVtxvZ;Y zxJeD2=RgD@)@wROG08Jnk_AEL)ec^9E~=xR@T{~0xDSxT;r>K`dYsGh{MuDYJ`9ZL zRQJojiSPHv*OIVk;a08%s4(nbS`7092TrkaMM-vv-g(hASAuv21jG#wicY&Mk~j0_ z^7kX>;5<$yZLa;Qx=s;#^H5jsMJq106xSzq=O2i!rr=pk#6o`}lPBW^4;+nQZtut& zYJ1=3NHAjhq%bb)4pJ+0uVWC>fk_b~XqXi4Bg0S=46SFdoJ;Eauk12Md;3n)bK!3Y zosKV=N}pWjHT({gb3_Lkqwr9?m#!WnkCDIRh84@wAo7dsFxj>mT!%lymj<|-Z0qEw z;iY~_QZ~DhHwQYZeY+$Fax)GZScyn!f7SDZC5Z&A=HmQkTe}Dq-{SExW}lU(>OV zLA=A5zMQP~LH3b%+BZKVlPy)9h}@(%N+$v9a`lAdM1~uZB+ivs?>S?TbGg4P8UpDR@nJ_0aVNTxOB|9Z$J9U=#qZg5j z0G_kp&XOflkuBUJTYdblo4H?7X-CcubdvAg&lD2pLz4GwH}n<{b(A z_{*!pWq5*iiG!h7v|{m<)4sAO%$}SP23VBmghjCzv(_<+%g=~cil&xDhG_6=y;g&Q zDJ6^`Fa(nBo^SA&?fyII$lIAgJkxFlfp#kLwbMF#VQy#ZGM)X}UbCFU{B}kLP=BYR zGd|T(y&5#N4CmPjhK0QfudE@x>Z=-sW>_0%gDuJL$tTq6T(pr!Z>fXE~YjKhP>c^sFNs{F7hD zTCxh-W$Yyp2uyt4TH8M{6|+afb(13>RWW*<@Hrh-Woby-5J+0#q#@JuSIM>#>A}Ur z%JVi!iyX-ZM~XUb;_{I5W6;gBc)jX3^q|F6ATZ+o#uY$7l;mCG^1ESq|NIqxa#q8= zj=vRbbtP*@Cu-47`eI$9^HWWU+CYAFUnBaD7xa9CZ7Hq5Oqac4CDO^4N^10jupeTnoD0WSfAY zF}*`z60~pB%_)%h?rG3)2)fW;Yo0gy^&%I}f@k`yb|IW_>;x^9U!D4^$ociO{whuo zWYC(40L*K#Qx`8tzkS+%+8`USIF-e>9C^aSP`xb79)e`G_(C>x0j2-_YnbyI50_v> zO=NkSgH|PhKpo4M=V%UrzOf}1+K?|{W)aDgE{+}_TP910JJjK+Xv6(GI-iAzSYWIx ze5nx03G#6P2*iDga=AkEy?dm9uTxDm=c|*3XINK^*B3f2Jqp_WWI+I)cGF9Ep9CrC_iCXA6nnQ$pJ9_coYV`@C~99U@IvBAPL9@ck}X`;KP2*qD_zT5dd z04$z>zo3EQ(pzgdGPp~OJBP8G%J+qdsP3T$f9V|t9cgH` z-_RS8-0n#+6b3WLLjj-VZfvkBiUgSAx-KK-q&=e35Mn6fT-G5aqd@Di19S@6hbUEv zsnH*L>@#)1?&TJ;cK@4Fxq61fKl;3GuGJJB6nm8wtHO&Ry51C9|~TAH<8c4<|$3YsWNYa z_EI=}ha+@cSZ)-ShAn1H&}0nSq4g#YTY~Xuh81WjCV*P^nBcLbEgf- z6|}trZA5O--d)oY2)&i*-FLDzoJX;c$BVQjw z|5ErcGa1^%M`k7IZXp(mLo&Ms>h#T8llbeV%^2iF+6dY!afPS}w})J~(hb^okbv)s zl|K6(1fZ-eh|Rv?LTn~cL6gTLTkX|5ueykIY z$>oWRZU$aWLWu0$xD%149jd@1%Wi-`0B@3-qpKm`tG$t%0K5;f_$sTPB8X8hvYIEC z9gcnEW~JR&`Qa}c#=aEWpEnm?69+c`h35v=)51mA=HrsxBpx0}RC*V>4Kl|NnSMKI zV7#DbJl&Ehr+t}gomL@-Y!Y{phw(6K1|XO}tQku@;G@JifKim8cg;EUE=z!f{@{N> z=-69I$A&JUHi(`av4oBZ6}!lc4%EvfU5bH}j~y!kBqG8J5DbDdfOIbTU4bkd!`N84 zCo(vDLLy~wth@lv>X4`8#sJd=B(MdlK5lPfYNcU<6|8`#UoS}5dM8hED&wBiKK3Fm z0@%JPERMaQ(Dk}Uw%~OIYoC+})tjE|ESc)#EVCv<^2O$#`vQi}lrpeJP9adB(3{cmZU*m!E9xgFZ9pDTYfiUK2!DaZp zDSvk5S7ZzkJO9sCokwm$(8Y<>?^q*(Y_2oMi-+?=!d)J|+mD4>>{LVKT#ULfO2fZM z036A4*DY(dOT_mGuc5|Ro;qXxQ6^ECZcM~bIeaj+ZrSooG=OReNEiPZ(SZ>23L#Duv;tnYQSYw)JqPt+RMzjL6`r!Z$?siWMTvmB_O=kVQLxCv)SE zBWs`q=K8a_gLyhLnCAeE>F&rOf-LL-$CXJd6#34^57?_NJwz3;zQz7~r7ozPq4^*% zQJ*>a$)DZYMtAaA9bAbC-;&$Z?U}KBfu;m&@>%yF&Aq9=^7HnfeK!w=5T-UBr#<=0 z@FT?oBr(17C@(^91Au1xRb?H8ub)Dqa{qfT;i-qyw=TZN$p-Ct_b!}~9?~LT$4_)LCTqUL>eN&PbSy(}y9K0B*V@!px$ z%Qb6Jc2;{wgtD;xrm2RWC7zUV2kj>gIUnDmdm|_YGhZ9^Z0S$TL#%9LVNbGLT0c zcSM?+>~FoxY89g#xpyzF&&JN@un_9XVD=7<1sm4-BzvRdJgeFM%ur%83|u>7pCZ%* zITS}=82q7Ihf2#gWLvJb9+2K8H%#F)1qE4gc0=fGT`#X9EMNqBxR*QCn7KxS+~TY8 zi;?~+JeWekowr;_5l*6IXegxhPdz4Oi{zfsXqs;s847Fqi$BXi<;!Pix9B=qQVULN zmt(+N9{iK9W3hpT}Lx#5nQLDMIrW4|JDXLOynH1eg6n+JF7(`$^kb~Fva@yg`sgICpetQ^|W zt&cN1YJ85*n``}h(Ktu3B}sbf^r4%Fg2}yD1Q|R~f;|A$?x^evc)U|yTX4$oL#pR4 zdlRH0Y?IxIS7%Y;Vqv-9gZ5%vWHs3bzbK#x$bL9g_QSOSt9G^UJHKa1iLI^}SNLHN zk8>YfwpXyJDE2YI8itU)$zB{ZYz33_E+s@E^a9^gajJ5EGY_%#tMel3tp}p?&)R2w zTMm&!_lL`H)|1f0u`eeyarJQj11~VmVzQj#n_i}BSCiW%qQ>V*!Q7Z|PLhJGv(M>R zlRa{-Oj8jz+x_wT$rjoyb79Z_vJA}I6DEl<)ccdQK`sd`CM<<6DS!OCyos*$5AnyF zc}mxY$q}>}I_%N53edI}P}US1K_< z4jd9BiL*wezscUn@ZrCg9OO~lW{sW$(d*6@^)F_>;Z%28y_FE4qaQ6W=0PhNqY?vE*MPV^V z`Q||H^5`>y+OBXzs83!v=R5mykr~wYaZ#zeO;|y9bjlEa)gkdOAYx{~#}%d~dkcoa zu$kgRV1fhXzW@@T48bgB$6_!|_7}A=pEG#|o8mtcE(1d)w;M`y9!H|FR$DI5v3w}{ z30?0V>nM_m1G?3RI<@;pLfVM301#8*{bPGYiHMKB*xo5@#IEqUvAuG{!u?=qsTAto zs4K$0g%0+P4BcmjD|6$rqozKmhe(mue&E6+1KLFw<6VoOguADZabdgL>Bs;wE)ofu zlL}WNyoh!vE539HI_nQ{3jXa^$Z21rxLa+qf5fS4(>{W#~jfEGTIDV*Yg z*)`pfg3d{RfMjh^`OROdO|VY>y4#dBHHLbOUu9)cJoX_dL(V0^;Z(ZFK2YnyE3k;0 zEH7ppfyRtDF`(yVfBbUhiMg19CPf9}g(52)4#fPe8)>QMzxcobsx`+O>wHZ1_VB0{ zKVH8=Q(&mLFG#2dR$Xs>wDXwE_^u$yPu20^uX@q4J`m~3VH|x}ONX)WpIppmGIo_d zKf-4azpD*%V_lxmty*0`tHZ`b4ubIn6{f_54(B!~T4KC(wpgOZq8%g^;rALX;|W4! z<@~%>$t=jV`pSt%xsKpzw4WkJqg|!>WQ!k!v1qloceIHEr*)@x%Qz6Y&~T*4#Mqlx z^n`nU`;hiIfK!Yai>^GZzx3uob~-cXb3MaDWPJ9|#UMXXSKzKBP+&0`pSa=uK5M>pDc$lJ^zL`=zyC|KSEUz$a6-f-VN8k|lQpGiWy)!gVMNz0brGGQ zW?9Sd@5~K0+KX=&lnL~X*B9ehB;4owIZFgHBvIaO+8^5>0hgmw%EF$E3z(hn;BOtl>r#CHUh_$TDU}60Lz&*efO~RvSkPwxdYxLdrw99I}@w>TZWIF*C#Xi zPe{F)$(}FDI{+`U)HES^a}WcEa6xRED?C)^xF|N&74bU=*bQ;yh?)*9Gu?evSCS91 zu6R_+#Stc27h#Z|61`TygXD%TtQ zXNg5-J%~8aD{BBr=p0dw2AUW)(wk~{i#oieFl~;$)vDUw7bP5HxI{uThR=?z_PW>z z8YG5P=`F&Juu!;OdMa=EE9n(Qp%PKKG}r}(U0pa|?0NYXuG=a@-vn#t1(dj5AvYW477l0Q3tI|$^YHMhrXet)mjivKR>(kgF&K{R z9JI^2K?J0u)5zyxAB)%+eOAR3oAy2_f9-+2=XCuu54nUS7YVJ# zz=cZBGDASiLZwolcAsw%~FmDp<9&f z@0nxBzG%fRL-EjOTg(9h#Ii2uK7`&`jrbbvFE$8xO0s6f+3mrTO)~S9gMB(5LYa;Q zgsWjoxSI=}fn;rI`JwQYR_*xYs_|^`W1s-vqh|p5+zhYKlRkYt;Pc zMPjS535lFs@bx*NvVj^Xt=oD|Z=JgBg-=M9(qQ_U&}xXN(0jWB_X0|Mi&3K{Dm_k2 zTI)S@x*Zy%D0(uVn_VZzbsnV5Q=9ofhu2%sxs4~L`0xUe$hEjMP!>}=NKPq@h~!k? z@y|g4d+8_n=nRm-&)Bh|f%^<#9?^RZ7inU|pax+}J;p`;=z8|VFIaPA34h*lCnLwu zEX-vsL0*oqOR+TA&8|awI<)$D1oHerc(OlGD8R_wa;VB>hYcj+FRdB29&K)T5POld zLCdr+4Mx|qf6ce%jHk6*Xl?B=)E=4EGELPV8(J?-)&HHQ2LG+5u$xCPC>QHmW*X}| z#W#a#Pzo_?S;2I}J;7NAaVBLy3ce?58EL?p<>8)jVuc5$RwYpeqDrrPGGvKz@;R{K zE~VayL4qTxN)|jPr62wTbr;0Q+(xbqFj?rCRE6~Kdg3jn5kUu9Sjg=PU5DC$*6$T` zY!ZAt8{%g0aRdaV!MbsZctI?(3e9Q3tRLt%MmTa@iqp7NGag2Hyiji7eh$0stv5s9 z8tqEPChJDFFjsQn>{N|eIyJgiCcE8q_Q$p-QdM}g=gZ(?(RE>X5bZmpw}irV?;Xdk;l zD3Qa;~CWW?^Y zMBn|7_Chc#oOa6I#P4D7F_PL6*5XB-&E$Vu-esSnNruQ7BU&!|&}Ix*y7W zIQ3wgv`hMHE?034Kxmg?wqB;TYA|}J3w4q_ZFQbp%q#VROwO|Ry&0Kx-w{Mb8dH<$9`nKHt%KKEHk^`79 z#a12mU@*g5nmaZ;CXm{_6bxvu-fb1uB^GQ;Rc|Gcdr6zcNHf+q%)haUCCSp;G*Qqp z9_A~$O9?^uhUa+Y4xfh`)acsXh1PzI6a3ZHo3V(J=Iq8M1)O+EUFi!|Y1$0ZmZS!G z+_FE^1oriLrD%I?UPn!!y%zHeVY(zx0<=lXHQL9X&}u}=+WN1|m4&|)cjWRIV$8x+ zAu2^NiU=*%>fhESf!;%m*VNwqXXR$!ik%!P*@u!{T`w7jEmm>-O}tay-ti|nZ`+2C zL{;i?E0ZSrNX)awnlsHcEya?+N}`q5hTNK+?8$W2Y6N!M!uy&Tw*rb zGq!?THx>JLRC?NLxf@$q&|X`>7gIvOw8}y4wd~4I2SblJ(2)MCE3$3&Hf^Z1=QpHC zpZc^<-)+>sW(-`+055e~1x!TlEo!jSb?UVONa6$|<8bI%L4{-`mjxe>G?<9uZmY?M ztyQH!H7O=&x<-nlp-yavb-P9V7KhBXq9lKt*O(BvLmXfrA z12-w@HzkuyrBhP;@@vU8T5^OgJ1I1RLJ~o$E_9z_!QF7utX{EFAHV|dR5LZ9D$O&` z$s^d1oxXRbm^>2nELrzMJQw&kia?MJ<1ty80MK7OZ}Z&HL9OFOt;6V%%uM_sTfv+> zJmc2p@B6iP=ph~kHOS9G`6!SNPcZbh*6|BHl$3Uk$?eB&{}0tnnI(wd=2U}7XJ9y^ z{vWF8(rRWn)yRxwq4NB-8L0fvg9=tjZ~9>QJI|vI_Bz za;XE?E|hAnxh4bA>Rtba)lfR@4~C{!3+UErWxkH;U0YDSr#R^I*FC6UizhsyyLz{K zm#mN_DeO<&y~DcsQs)`GL7avBwV>NGHLo(XhPqgL$;wkKzsK8a-Lf`s_SnxbDrYr4 z399I7+9G1W>pkI1&FbsDFjHEJ+R1?u8!{zU^1!kc*idiiL1|2v>*Mx+NoBIp6V4!$ zy_SdQjDqm^(BnG9U&6nCYI)vywE+p2??h$!Wh$SZ7io@NUnnaa;Tob3gmcC4Agvm) z3ys1f;?Ly|yiy9b+1VeAz39aH&9ZCMZ-%UAToBLOnwYn>=O6{9yHVb*-R%m`h+SVG z4IuI4#46*3m8Ns-1j|D2Xm=+%-4(!R*Thp-neK)HH8N|1oIFxZHqW=5Jk!&W@uAt8 z?^kf7GIUXBW%GSCQ`c(Ev)jp2nw#fFCl9_usvnV2)o;a{QTrS$p8=pXcGhoJp8OFu?)Ivwd9i)@G+>Ry&BH9Jo^hRn&u?q3 z=Q_0tV~`!e<7EaK!MRD#)Sw-eTC2B8t@WGp55=w@Bp?P0T;QN!jIS1qDG>tyxIIY) zr;0J9fKO3!6c4fMy<~OJOv(#Q3Qdxd!%fNMlFQ)Q@0c7d`6dsFLg7gg%zXD0rRjJK)_^8tGmvHMkAI)1Wc8LDKIz~VwsOurMX{4`O7HOADwG4) z`4ao5^-Hw7$goT5+f0}FLr(3M(3C8HB-)^@%vS+A6>#<PSKBY6X@5Rhs|Ez3Uvl z{Z;i33j_2|JWs77LRY7>Sb?qzE+z7A&%OMF(<^Wb4d{7THYr1t8ttz?W_pT0%q_H2 zBHY6og+VDWkj}{A%^zQ(OwAV9lr4`t>B8d2=POr(Zy6Y*(;1C}R~T?v`*aAAi=^s@ zwdw-pn0@3!iSNtNmT zANVFl91I=Q=4-ThbWB?qKciuh^@yo)?BqF-Dk}Bh7%(W+3O((p8scrQ@_Q;{Cj)E# zOfAZT9oLHfdZQFJ6h8Y& zF*b|nF0qJrg(u>*y#Yt*IoEQbkC4@I!6sb!NO*XQ^^bcw z1EAhK}{kGJqT>2dN<|Z;y4I0FuetA=rgad&OxNMjcYOG&w&U(CCmu zXggJLJE^W@o5+iT_O1gEq~@+AsWvTxmbz^Mg+;$TqHPLKqEXCfnM9sq1l9vUd6#N( zfFed64p7h+35@?YAerMcRdjsI0Sx!P+0H5n-#j^XH$b_Bo$ISr0+L4iwHg74+$9(Q zNu%9GssKdvP*vmvWIzPH&>11}w*j(c|Nj6Gqg-ngxY*^@nEE)7^zXxzE@Op&*_&)? zN^cxxpIJ{Ej)^Ty&XJ~GO=#5qz=Uv5X+U-1pd3R4e|$A$SUrwNcu$IF$W`ejhKM0U z!E%aptmponFZB9%;lYvdo9OJqqOYgil-eSH{6Z=tMyb{8#i61I9Qd2EL5!**qtnZa zk~52g>7Qw3qxwOngvm6@=DD#M*K!oG--m5U?iz{UCi~VK4u%Eri>3mYg zinX7_NO2DKKXKj}5)C~-J}q}w>y~E4(sj#3hih)M3crWIS?;h(3G$2n1qZm+CYkcs zN9pjj$p6c_S`UjR6PvxDJo8->cpCpw@5FzR@>j7U3n> z;Xu0(R28UxU+)isSPmY{zcwSA_Hg9>Kc^}GGwV|n7dh**+DDg*rFXIu7|azCTqFxf zb~j_ghLHp$Ux~a~G1k2@!h|9F&Uz}rT}eVQNX#$KPV1twj&C?sb`h(uK9%1f)#+3a zQhB?8A0QNk-V$^R+P|oPoZ@7ddmot1JtRwPQQ|?Bx?9~$k+J~3&zjlG#UShneh>15 z4pC2fyUes*IfJ^iC8|qo75q!(UrY17aWl8he4(#(#;>#gl&HZh`ZE0NIaN?V0&G9ENE9Xx*eN!<)%hAyunGC`>djElQt zx&W}6jR}J#_h=23U3|WQ@TW`uP6e~#X-{?(Ve6+jd7*c)V?I$K3O_Dt$Uy>`=~h&! zX_dBVlj8Ovs)riqWAi8G}&P^$Y{Biv^UZF(RWw?_^#rHm|mF z7eQWqSpAU%*$j^k`EGU!&onv2p^)SVP075t*t|esl_@!(e!-Q#8^OlB@SUJw zc%FQWwr&&?r;P3C6jY~bDTP6mTP&~&!~$zfbeFCgd>&zO71$t4L=CUVr3q6`ORy43 zfpI{;;6SEi6~&alJ>5(sQJ}#z=ZsF* zqxxfLen#210j~_h$?q6W3%JyX-WBUq{5ESz*lH|_o?^K;HU#0(&7p?{tc~_7(-c{) z6!yVd9^Q5elB<`%YipfXf~9YS&@u7-$y(UAoo3+(`z9MrsaZLwV*BC2e$UxknvfuA z>Ikp5iH1Le9w)t1_=(tz0#h6HC{k|}q}~;xD^AUwxAQDf=|f9R|E{8ca2eXHox(JX zt9fN&XOwSZ1vU_uZXLPzmNkjU@7 zjN>W$ZL|F{QVgQ_dPA?M+PLas-5adqz!vTzg1Wc()uSgzx&*4EJ(>sU<8s~-F zs&rX11Na8JF3RIdU#ik451sN6OfN4^Rt7NBpQO|~1MdyT)6|IUpav}JwoZQ0Rx?ri5rBEFcnD3Av)k(2j$#J`#SgLK(7&NA(aGWk~F zGJl?{{&cjOvFmvglIGf#l}^V0$`&A{U!4f`9rYZu%R;c8?T+JqKdrij_)?xS{%{@r zLQ>Ki8t3NR4fDtUnQEFw*m_G_kP)yGg48^M6T=7K9iQfkkh%-$Viwq1J6ZC8b3UQ$t! zKz=PjPG+f15F7m?Sk{o_Q8iTnQ=J*CRna=5&Lr$lK?!OfH8BxpONh?GrXVlWIRd@Ss-RZcKGk# z%v+^=X9T3iTrmLaUEdgbMY`0z@pT`C>}$%-0H^;PZQx`kH*)@&Yb~L?Q|rYNhUaf& zgF(tI_xy?GalP61;eVw!VyZrZaG^FpnWIBg0LH+*?b7IdsBykp!rW+l3r19x$?}o1u`z`S? z7q+xMDo(Z?V*o)%%7nB4-Eq)9PeoC1_(mpXU8h|B>s*~su}k`OYcl_RW~F9M6CFo| z-@i8WHXufRIT;XZcbL|_vR_(*@a9kVQ~>-}q2oy*Io1t6BAxIcD(g2$7NI4bZ+(Vm zd;8@^aCz>Ph$YocXnMO;k}JM+^NzD*&kv+dbui0~i|ubqQ&Y}~oZkXPks<`O;4|1V zw&mjVwdqkuSu?u=9HV;+c8%xDiVINFTLm5kvSNY_jrQ3x3gfdD*)$ws9v2!UPS(9L zAT1GF?Q=&~K7l`=_T-z?(4Oq&b4n}(7&+zjEdR0(+ueNbmfuzoDV%?v27Z`CDJ*(;AdaO2HOSLyK1% z3MRB>Gc@T~7H*>n!a~;2aRt&pT&Co>=K;y`qjUEKG??z_jj9&#}P`u;R6AS^(hfU+@QExFG4wLvL6Hzb6W$jZDl&#Tz z`BLdqAh!E)=|%WD5yQ^`tF4$MAP&1W{p41jL_5)#(224ym-qT80%10X+stBj8(cJq z$lRP0X>gFRi&eYpKfo@N18}Z-$F*1ZJRBSnu#PL&$z_E-|G+mr z|B-Pj@;QES7`fKIo~qzKqI;CYgy-UaSJtX6Y?h%yLAztUEIS|6#`M8IA}aLDG~8WL zB>kzyx=B7Kb7V_-{~?#49Z1j*n4H}(!-y`%d+Sm zgoqKN+MYL&Ud`e%QAW@=XbNQzfzfl?3vH2nWs>vDlbrq+XZpWq#3%bN?0HWAMTx~_ z8OSgJ?>-^+5i%5t@?oSdr;B~&mYzZEW8}2yQD*-Q&&Uk-bSnMMOW9qw(Oz|l*>z>z zXUsqcIlWG{$@!C=!5lzOlK`cWEE@?>osj@FpIHR7N*d!1&Ez?<5(ekAmSrj*4j3Tm z_Nx+`HYX)__sz(^MSxQTXIm$sAj8+h?m@pbS&m4^k~%Jytpfj?f^)MbH>FoxC2LAN z6a9)Lb_l(UDbc%-Zr(<2FdVIuD7gmwMr2w&1HPHb0?E3i#h5)beB-4PE@Dm35;4s6 zr=!uD7a2O-KKRjWzo3WU62tg77WtTP+_>IUa?j&WplEHs-7>qr$jd?-WDPt{^ zv2s^!qoi@kC%scxU@rMA2#7DQeEYYT$S_NK&z5T|D^WmuB+SYy44Ev6{8%|>c=%>n zGV>9x)Pja`#DXMvW7nS($tMCRoe~Fjr}akX1OKl=5}gal2+U-Ifh~PZ;!>NC@S#E3 zy#ke^vr&Y35;`e?SjFGo(Cg|1ik>SE_vW#WYUG@}L|(@}BdIVA>wFyIEStN2IMO^W z-o!BLk8jn7qC|YNJ`^Y7kLW`wM0E{MxX7*^FDzUlzM7w$2KZzmOM>5jn5{2#8#tQS z{xFG&JzMy+Dyq^)=-v6D#k^^k6`twW`GS$FzJ!`UvPH z0WuL#C*n_&C?_CQ>^!9Xo+Ckm3K8CYsTUDmWI=LOz$%>js0@W<6lx@QMQX@|v441Y z!(6)n!K@q%yCRdVha_KOd#BX$C%+-730%K z(yInM{w5Y73v=8Ya%Z2OBo-kFm&!AWS#M(8)J0qmz7!No#=E5PM_c7HejlHf0sNs< zyq#Z66npPMo`kj#MnLjCDrGn!!;bI(n#mr_lf;+HoUfm4uz!66cemot@dCJ6W*VvX zt!$aMdCC=8G}u3(NLs<3h#%#xrO-~r?M#_RkMWdv^c_A^@elYE8#Z=#p6t6Q3{25I z@r$E2pYZZJm8_^$+~?=|AQ1Ojk4lc-$tdYTiL@e%{r-ig(wdjOP&0oTu(9=C1o=l; z9s?l0CMCw+vR*{;Wu4o~K1C9 z)Zz^^wx@z*Wd^tL5FQrWQzZ%h_;B8;SNe0Zj*f>_B;t}wJ=FIklk(iak=*$Ln%JRv ze<%&eF`)H7>8i7lY-8-ibG|c!Shtf-G0X)vZ-%TO8T23?ZIxU7L|oOdXs{k0SdV+s z+og*ceDWmpC&3%Ax#=jZL7{MR;(JZ@udxO}TP~eXzYI())6)R4UB-7j>&Ta6B!fC$ z6c5h+%vb^)&teMl+vrD={Ba+Jo%9|t%w{DI0av&z(p z<))%R@As4OTgcA=f0KMU*eBZ;7lgQjrSu7O6p}Qt+5Qhs(79CtrfkF?)kIe~{e$A0 zwVG1IW&ohQuGd1dQe_$Dtkk%yRC}RVpFFhL8Gx?!oJIT4E4)bF=*}1nzc|;vlmeLr zC@VJ^zn#xSJj`ciF}}sKX-yWe^dzN=)jTcDrY++MjOFcOo|JyXLp<4sFd0d2e}u<` zR_|aOk}@vFL?-5f&Z@x0akJgV#`Xy?^@uR3#S5FOl5AP{;)4{&@}wt|G6^h%+sv1A z3fn?Zzm+E*LKt{K2f+&1Bwisz{$j5Fkr>i>8g# zv`2V8y&~=Q3mj5%yKU)?ltZrZE(8LoDmQ;{)ZdEJ3nLdXYZTqy?ES*Vwhqv#n?558 zwzzX4#j-otm_Y`M5#z}CPVY)7e8i(Nji)DT4=<&Mtd!&|uF~ihC&vrcxWBcVGlaEA zkX>BeJu-?0bpP%4jDsWLT(X*1iDHND3Bw;K`-R$n*!LBh-pG!x`@Q$H{a%@U>wWfY zyqRYrM^1cC?ufRkOXHs>l6_Qe{KI1(A0Fj6DIZp8-gJ-{=}jux7eOGI<%@|AHrQjn zpQU!f@|yI}(@O15EzVH8VpA-1P}6^xNsnA>Y1 z>%Uj(v=F*d*~4u=&JhkIYO%TUn6rzybtFvKxWBPmJJUa~ovaF+wx7sOQVZ+FFlyW! zu7>-~7B>h|H0g9gc20o-I;peB?~pgQld5caVwK07$a+zHI7}JyBg|ALXrKDMbsW!N zt|~2mvioqKy4T4t&4te_9mM|Dp@W$$&_(Tj_FgCLHHaG<0}!Q#%AtuHOIY$@!o%Tn z%(|f>{UT`ipwY|@Fs+JDqP`s9AEVbDL`CEZUl4KyYh9tD%h=OL9ff-ZrQhP~2b-v~ zyFfF6bj7i>$G>qeRiwx7dF%EnLTkzqmJpyv`6}q0Yg>)%^^Id%PlUc+I4>xN(L2nh7b?)KWS(_zXlCI*#>^$Y0`rZ59FSiv_)%%_l?l{LG7W-4?jGmfM=rud@J!V{EzHJX?LJ#k<0V zL>#Xm0%kX7Cb`-=@%ayb6&#zs;ACQLpWzyWh_V;$qyd6;2i+ZB0tvwu?GM_|UJqM5 z3lr%q$u&w?LNH5rB514oVYs%6z=Pvgw`Yor8}#-!DP~@rmRymc8M5lx zMg)|?19Loe7JY^Y_#8SRMBw`png$S#WpTa&rltxcLH<$&vi9XK_lz35PTxmv1ML;@ zTRe6j5$#&Lo+@Uw@0!2|vHKeAZyMvGA2{`YHgpwl911{tXQz*p9sYr|5bt_QcoBcq zv(~-?sxCTE)|G9N@v(O6@NT#23U0zJ{!*2zGe}LityyZm9yDJv?<8(Dze0!g*KGY& zMxkl^SMooH|0e$H_;>b0>eukwa2wqfB{;-ZJS=F3r$QO=Rh4IC&*_T4Tr3jLMuNgt zL$Tw8JG$#$fx2#^%L9pd{oyO3yTt3ED>9+6xy9XJcbzM{MS#(duxp3$Tjy~_hS%~^j-og9yun+3kl$5%Q_s)&Wi@%M1J-cN z;$n~JG6ux2V2L$SFrkIPs=;m>n*$fIH5@2) zk7=7Z5L9BK!Z+03)LYGO5kB=!C&lYiw*&|wFh7OR-(0P_QH|`Fq6`8$RWEONeTdPx!Wl^FK{|ClQka99t zT23Wkg8ZCQ%NAF;e#rkz{0Hx-a=p3)w`6>Of$s?a8IFVXx8c|}Y8c=*%u4h+%TRS< zL>VcDosD)rM`P}Apwa#Sfej8;#SYhB{T{E?%T9bYGs>mL?RcAIJ0A}<_m9w!h|x}Q zZkL~oFXK%RhxpBv#C1&G!Y>Wy7arlfYQ}6p;`?!*LTi%|W0?y<9^Di=^r6V?j<;|v zD)y0BRdCnqcrOa)WO6ALaUhZoG~hgJ@!ihi3txa~&~wnOM*Db?(u*7;?)@L(ngD>Y z*IIF@!SIj&?j#%j9_GdjJTEd#IDnHaQjKT90STA~{2*IJYX1_dqq8k;q?6qHFy^I> z84_EVH=(9ha`gCEh6IruKbJd0uI}gwumIB?U!tvw3PeiSR>6aP`!@Bpl@JlzN<37q zL7ki4`5frQ=7{ZIv;92xtq_~Cg=6aKO}9;_SZ0#0ZMKa+S*9p_N%|TDjJ*Axo^+9r=whFU#zcp2YX0n$rZeihnlwbMSAT+(q&x_RMCDBpxc})3k5RDNZD5 ziDNalKhi1b2-{tx$Z!FMxB63`nNo3A*OXl5iIm4WW#F#JmFc^xLXQD+{I`x|{m&_; zvt?aVHvE=OErb=1brm=a+K)4pbP7Zvi(digjj8xmG%Jl77{sSIKMfE@j1?dZ#gY5z zKnP*Rt_j!gD+oQ1BEksmAdNTo3DqQ&oe*`__6oW( zb-R!a|NU}rF!|`WNJ%_8ozEqktXUrkvG}Zi2Sz#sK?iY4M5sCmxD*=jHdA+F}Rth{?L9P}3x3A`V-DK-gStiLnf(ER|X8Xr?;0im` zPS+akQ=F%3ppvmvpj`8>`IVKFX)Zfa_GT(Ri6=&k+*=0A)dnUy5f^}482AoKu?KE}cuvDb7zy{)WVy zBKzfhj#fG_;0Up;`Y^G5GA|*a`H9sf)a}Td0>j$b>1mByo1edaWkU(weQfjGDQ!6f6~qJpxu8c|u>6>z?Po z&keXNg>>)PyG2CXWZ-VMFPFW_Q+5LWU`lpo$C^1MUeA~QDwF6Ln8aQjTQ77-Rr-Br z3)5v7d#06&S#caD@|*3;ZWY}3WmcTbFQ-&p&}brWU!+SI6F#TZP$@G_%V5(N8PP<% zj!d8FK<`;rT*>dPbymEXK_-gJ-puy*GnxMG`r@biYbc5CfZ5$3rJIU$H)lALGs6+n zc=W7`>~T(t;aK#%fd9FO?YICxny^iZRJ=Nn6yjH{Mx5>XDIx|+rWp}PEW zvGIq4i|zN6|Ji@9-1gpZK$a1GpiJa>>cSaN?I5Qv|4we#`<4j3zE;*nb^mU@h_}>i zzpc)2w9>&+DW=`QJgJo3htq~{3bB)?xO4026R+eWVtp5deXN`E>VQA4x7larl^^%t zyHAUGrulcwo<^~^WhhG!v&4T!gUOkNlIKy)Gn??vJF2E-{Ml4Z^EjSus-_j_6Fgvf z`*_B-qA;P~$(i2d=e<&csCuLY23a+2V3da$XubsVl{_+1F^q)WCOV#dt!jXZ*{a90 zN&9!cnEx^c1zE5q766|&d&Fo+(I+EHHF_=4a>UA?0EKWn@1s z#P)g1-}B%5gbce8r&nB5s-9v9xlshlKqq&x$5^SmUs7Q3bk zFdvQW;<_O`%sFLUPl*SRsT+i+nZF3folYrMi*T}wER&GK-@_Tgo_5Y=E4Fk6TFNJ4 zW_gHhzd515?3V|#0ddJ&kUTspXutn65zHT#9QID$$u6>2xuHl2Tw&FZ`$aneIcYY+ z5&Ittgk>rE#078Gt1MRkPjSo#^9)kh33Zt4D?7}Z;ONkum7PkTb$$Ejh*}X8#k#!K z3y$WVJ1^Yb$?l%^2?>aekt{l=i3=s7QU6;PO#k&oka;_#F zSGzuOFZBhLzqee*Ma{o*xfTY!nw#$7LhI8B03qhp?wl3!#?r{_#Co`XZqo>Q{puF)MS60Eg~HXoTzbyPLW?S{^-mZ>m=i* z6}V5Ic(cj4?#vm_lOd-Te)W#_SeaVzH>Vumdc(ybFN#+)ff_dkxciWITJRMgp81#I}~;r zU3})81>}r969k!E;c3=Rc@U2xx1!NzgT~9^g-xNWohm+a<|_8HaYvuIM;Y@AK(dRa zV}G&FI7Z>LqtC3*=KYf7J$&Z8E#xih(v#7Yjo+jQB9CATe);?DZ=bn@uwtCQHvXez zCN^wKg=B6ybLOE=<_De3A=`oJv@_>_6a8NFnNe^&L?3B!hkBgsL(iQ3aZv|uoXjx~ z8gOAS)ZhT|EpFAGVe;2%_G0>CvPT{@6Z{`%&VI9IpOCHnE~oZ&XU=|}X1^tyeV3Dc z&Y80xM_wF#rYJkq$DN^;o;mwIvRfPbIEk6Q-{&mG_kMTAq5h+0@6Tpm>vU%SnX`XM zvu_45P3`NP+P`_`>{n^_Te8`|=G4CU%-IVx`>`x!rcE$#zxvGCUqf?RcDSiC^7TQ7t<9Vtn;?K=x~qZD598qw@#8Db-t5-r5QANyg0e zCJ8C$Z~Y>WlG~EOn2mY2TnvUu2*3vlDX=0XmP&bIeZ~IdDoLp?PI{urqBfX-)J&xD zh+q5x4<5K@R;4wo`nOUMScw(ErBYFpJk|zbH;A<7Z@oflndh_m_WjJ}M) zgO|C&OLp12YS6*`y4gP3BmhGE%grEn=(Zj`A8VR0cr*Mv4kV{fE??_gRS{%Z`Q5;^ z-!98$7$@ERkYMYvuM}ZIEYgVFhIj^jG7?kW9UbZEfCN@x>Iq9YL#ELY%I3g!?RlSo zD=>0d9&aK8)T|^{_!;Dba$phX0=`YwaJ<`<_bspJC>q_dUw{?9kfERB-?6_Ue;+R{ zN)+M}h1g0ef1?Ld_k0{M@5?JcxqR@V#BiB0@quf)dm6Sl{F69Z_raUYxJ@{TfWVTi zUpO;i5#h?c_6Lw_4TqCha9lW=SD0_^i2lcy4HqEJaN_?-nw+8z2`;Q3&jmc#dw;7i zL5+4k!X&2xiHFttP0385dj%A@8An}#zh8B$6P_X3eaHR+D;T&KT&$5Fj3-RHfI4Wxzqwg~bsy`uQ?|GEJZzOf#{opf+;-F_R01Ji+zp zl=P?<2uhy+=DWeZX-T%7)qyFIUkNPX*X4D@v+Lv&wmGhB~`ggRKGins3X4KD?7hY_Ey6rtG8CE|#cA=?75oxEE%9lp80ZfS5|>TVp*S@N#vfIs`t~Qg33w-G8u&a zYQPPg4A7H;skNRJXdCg^0AU@GUmGZ|En0~vL7Fkj8xTJpOwS%GsZ3L<#2U77)5b@7Snem6#cVLv)( ztB~+vr&KA72MLc*m0IueTez@`HwW|&7#?`b_xWp)K6tT1aO7y{0*UV}zc%3OYzZq*t41|q;P^&O~Rj27fEqy3o=UIMiQATr5f;pTz3VY`OD91tm^xR4R zu%CcL`QB`BtOlP| z>7AMXTC8hi{(d4aosNN!%7|=gS!7MF4kV_?sc4xuJ-ONb)*tCDwan|Mmc&eA@^~u{ zUVq(_zRQ=s%hPN}Btx~YsWE@G4+D?xL8U?a3z9~OY79Gk2^^;N8;RpTUg@ zS=L6jwVdTA^9v?0$n&gci9nHcZ~gqj2C#wq4~h!D1qaFwn}nM(2?oU|FOom}7tImV z^n4}1O0-BZ4#)Vyt0Z&M(W1M z#52k+Eq##o)b~DjKKmG&{qwg5xOgs?s0mGzh1rf-r4mqKv}5ngm6MDSjLHsRDp=OJ zqsflP65G?$&HO%XCui1Y))o*0Ou5IAArH=~ORt<@fBP+XvXxh*Y9^Cgd3JsyRauRV3?=Hw+j~1CNa9v~*XD$f$=MWtNOlDm#-A z@N>K*tNOCA`;=_>5;fDMmm>9~^U3O?sp@xl#%0Jct7dYl+7?_+RlfzRMB3Z-XGV)8 z2oCBfO7x()3iA#gAkFO%*{558Ua@Z2E2q;MlX>JiF&GYyzfNq0!{=V-!mKwulMY{S zomdKoOBM})Rf6d$JY~0%m|fE0qs%kzO6;mH!Zw+Z!ZJp)b>wc$4x0a8>dpo}s_I(w zGnpX_VPFQ05GB^A*wPz{Xi&k4HGxcmAHfNcgsKGXRXR;=ufhyq6%0;BGda#Jx7F6$ zD=lq#eYB-5t%CT0Cg9D44F1eKM+??>s z#+t5s)Tp96H|ScP(zUdi`^H(_xtS9z@#>bEc=alN>y=%0^|Lj)Lz7EOtxj3$ROZ;i z=Y&e?f>UaRE>#~C+;po>#Qzn&`?wHmEG5&n(4&6~y`{^N;mxp9^r+c#qnJtcn*k9U z=#|?#n)o{AM3Oc`Gcl2AOKb%o@I*;qQ&yb^S)Gk-^%an01a4yVgzcBzEf1__w@ow8yFe%gwqfDZ4G*i8b9!#r zV>z3l2bCH`brJbj_T3MvWlsT^#e5i0PK?RvM<2M$r2w(-fT#UU>BQmD`A(m9-L zA|$q2On~c!N{B7y^aiIV+Qf^-NPX5Sb>@T40+3jP^lN&SoX};l22SctGCN;X-4$zq zVrmP?X|aYW>28WO@aa_aEY>hJ)=-v4<(V&O^qk%>B|MJHxN6ML;d}u6k7x4Ng*WqYjBR2nD+pzXG1E11k=ER7GAJF$2);@TNjZz7X(sKeni3;(iaD_gLt3AvF%(8EY%I%@d znB4ugj7h;tEHmZ!O!Pb!`ZW8lEXnOJ=mFBp@^G~*hZkA^T8l5YQ?mG~F1_Qb!8Pvw zcd4;0Q{yOIqh5b>wI?k=@#n4SqN+ zg5xS!a7qRLZ!7pT@^(b?r36X6ieN+45&Skdz$xPBK`In{FmAgw9>uF8^=|a?NJRUr zn2zWwzHMf$WRA44_FxlC%gQuy)OUOiUz@u+Axg0@xS&!wsy zS1i$8nShH`z*Cuk^9V2^{Rm1QZ@#ul#Ap7_xatJ6B+s z(zHbl0i4Bpf@{sk-cq#X8QHY<{9rhy7+chMpw8aj+B`}UbM;V5^C-?PCy|EsHf>QO z;E4`MZ%wWpLY-0~_=pa4ZW8XgOCb1^$~8;Z9gm`_k{%Yk zV$BguuQh$G_@h>x9(;q;0W%Nnq1wuZ&eBZ@nkxJ~BYFRv}&A#{o5W$f&N6ocFQ^`R0N(kH(nYrzwvt-&O#@izN%ZVvd?VZ9vY|g=V`fz zO9zMFG2YKU_2y|7W75`&PbCpyxJpNOqVLleBE{(K5tW>w=4{gz1(~P$2ND#QcC+4& ziyRpiI>m_CpxGlM;>?c2_xpNter=bVIz~mFTqa~a;;)(W2CES$?v+yRl2Vk7 zRUp{MaK`I( z1*xk@>he;^G?gthDIS;X86%5@KM;%i;vEZP&7&k{&A0hvqJES2_dP58uV^w7Frrc} z=Z^gS9e5;7ZYYB41kkwR+6FF9F)$LKwC(@rfEDT-|r8Z4sXGX$ErB0X6q zC3xxR$rQ3JWxNPVGNTnSNs&di(!oMWKZEojOia;r;oH`c z+EDcyyXj#qzfAiR(3n|66JKsr=tP!im@JLugYd1fC}85#C8=QtT{44JydwktR0Y1m z`Q%1fSp)}C?U^X>{cuORPma-1(w4( z&mq5|Mp%tfDu23u4k2c0{{6x%@H+w5*eHE@^7vZyOXlpFzn7iAh5VVp_CF;fU45a!y<31dBbYDT_|jfO>8%-7VruIV?tClxMRTRzoesduS8^)CI9dY5rey-OqX zyAoMUFcSLg#rfMc$C8o%uzxPWcl;`$_VDMQj%;q`&1SST@wj`Ox;JzTUNCQ0_F9%d z&)p&|cAIe-T2^ei4fK@8a-?;QMH2p(IjUbzFg~MBwcjpf9%T4U*}t=qrcEV>*j$Sm z7e8O}*#V=L!Cvbi6!8jgu{)2M<+AM+O^mE@ z#fkVGc0Al{!+(S%hzyk7wSzV08d_5!N2sdA{!GUeABp*hXXADQ%Tscrz+_(cnqoji za*RQs1xycuYXK(Mwwjx9U0{ewS{9H_77$%ne2WA@Kw?`|+xEv+?;^n0?TO2Q6l1l7 zUbx-3ye0l8-i+&&+V(LS1eBsb;mPr?DR((br?2pq-o*3kD_rqe&omu5eJR`D`kr%1 z;d#0%e&znikuP}e+YWeK*n2bZaR1`90+zj=1(2f6r5Asg{FPnT({qf3t=HJoXY#nI z{3d-S&(+#KshmT3%UY{);!AUIFGyw!gwYCwg)4GZin`6`QA$Vjwsti%3RnxQXDp0l;(}iy_yFuJCW3_;Vo@^}k5D&2ebN`8eXd!lyp^$8PRK{=l zDWsVMR4CR-BYa7}9&kgAuc1bJW+cIxY)P+2UkG`Q@GNqN`SlA*o@+3F{NEad7Ov{} zuL|3}{C>u7;lm)ML;thetrzQ&Gx&3euM;wyn8L2+pXgu8MKC#xQ*H*# zJlSTw&!Hruf=-ADq~T%3Te>cjD^fiie`f+U50eD8-l@i(6W4d`e|hPu`k+g(%Bmy* zAz+&L^bp2Gm5ybB`5nyVgbkE4U6jXK-~1&~Hu-F!0^IQ~BU-2-Jd#*3#iEjklM?dx z5ivv(>|8^OIN#EEDaOaPeW0e^jzHCYguEmBTpbb$Hu)}%-^u0bV&!|i@ltD^Y*I#{ zoDB&D$t!g%bI|OU$kE#;0?-QAyKPK?;0MXzpkdntSW-l=O*)f$L^--Hc#_?6xmvC zFE`%hsNUCGyPA%Q)1a+QM@NM7B)qkY(Rz!xhE*l|ELHFbiI_q7pIhy$ikA{w){$FO z**g{Oo~4oJpb-tIH@^e)YL&%Jm0+`8Y5%)jPw z&@&9G|Ir#YPFH<5g`VS$)iQHp4%s1owM*GhGiz_e%lf@w^8v6N|EeU{>A>ljgZRA` z2c&z~yz|a<&niD7YNlZ4%|&=YFPIfmgJ2$fMv_rN@66U&_A(jK!!n}paWoDf8odE@ zowA)LQ3pOb43&+`86CZ+2w$2$|D6g~vwpf7u+Z(s3R(@Wj5W3zp4fwed8zsJ$qZ>$ zoQ{P=uAxXwY`CIRnyzp@PSY2`mGF0jsTWz52G2My_;#=0+iFF4wg|;ZUR-OQhG$JZ zC8C!Q6m*Z2&P+~DhvFqCspi7L-B!nk93ZYwH7_(a=wt=pd}t;^KeRr1alQFuCg^tr z849lZHKu6V0XVjv1aam8xQMhQPrqn=23N*lCjeDNgW+j@n+zCF-2W!eyXDTwd-n5I zFG1T>kr%azT-G@ zs=SS8e`f@TPmbaWrMR2IFmaNi$8QCT-y|@4$mndiYwX>wmGn&V?j`PL#U43lz z0m98DJ_VHin4aix z={|L@lXxmV0{NUi(-|IFlAM0$1W&W@%(@JGft3|DEt>`X`3iycjXAgsz}xQEA6IM- z^rRqIgs+)8a{#UdWPGL?V0v~_ApTmUVdhzYm7=<*1#i1S5*sh6#4J8*NG^V;isZq6 z*r}J|5kro_hbLuwp=66sc);wxTcpuzR58ue8Nai-=LV|N{(57prNwo|tO=}vrv*1m zgaf|anY^IZoR=#b=KNmFSe&)yPmyiVt6CZ(r)0RgM}ylBxWv#hSIIuzfsIq*QPx{^ zVZhp*$}%UR0>tt_dytK-ewGAq(2|a2au%>c#wHKdg2}1{FQ^u5{mq9--DM9+pQ{mp zk)sgf!B_YjS64H!JZ`3{A|%93U;kH|+#x1M=68_*+vJ3L5#tl;m#{$cb}v3|)Rk-4 zs%cP4h63eBE2J~s^JPpf0hA0r^@v2S>1i=`wrv)w@c5Qw^0=p>Q(qQ^OESZDt~je- zOM*k~PVk^i71IyjDtI8~7d^5{9&VS@HN>~5_^#~uAFIqoM0TslN3tVD`*^6`&M;1F z5CFfO71{f5huX`CS*Bv{%8r>^6Wpaj7phRVf~5EIraLdSg{G%Qxs|ek(irId^k8Mj zYhme;c^6BC=TU&ljpWo&vkQJ}IHP;DV5o9sM8F7C04VWP&;Y$}rJ1J!WTILD*Gd4K zGq;wA66Dq=^uj6>Q_+WMba;k7Kw6-jXl!S3Tb;}!0OlChYAFya6r*1|;g(Q5Lt63L zvvj;J0w7mNsde;ssh7_637qkVR_8z7La7S2YMaEm_68 zsBnNz?fP9<48cN?VO}Rdiuyi0Ja|7P^gflm?bhUN!QciylBbnXsfv3_;?`)*VM3`m zVTWzFd|+0K=Z8*t1no_TG_Yp7&8_kW?Es%Vtw5P<4cZ9DnuAc71jBISM>^f=7)3imW1fzP3Io!uql6(ufvZy_WL!IHj6vrh%Po2F- z${e_~lK!cTB;39W7yZ~!y(MhoAwq+zRI&eiubN0b*U<%-1gH_JHSNQt&%C~l(5b<0 zmF{jU-G!u6*eb*L4y`U}%kVR@9yt1y^UYsMuO~~jH+*_sIl6=^mSbbX=*u_tno_@=8q@`^f_YHmJI!19g+X^l9k0TsNm6!T!12Lj=pZ7 z_;?_aI0N@9TO=%bT7{Y&SUrF~nix8ci&KT`$jrHSAyKJrEF`H85!*rOKqQHrFBdX3 zv&T!qq1K{t%NQJeD`9X$J=6GF{Q))R%Nq1=?v_FKZWb;hZGdn#U8m$&Ok)~%jB23B znq6pLnkh9uQ_hvDoWjB7y!@yx#{%L2{c2S^UL|)APX5zD$(cPYCG*l**6A!+eq_FG zrLPT^W|FNWnc8)w9Y@w$$x5R$XgVUG0dM8f{O@c&2Mqx43H>UPHMq$_4mKhAQxNS+1?|>QV*XMu8|L zRf#>~v&c{gJY6wWcTEyToEmtVd%p-J z!qQPMu33}INH7cI&QAf4EE~zw+zRl}*RT!X8+vl1qu+OU(X+a~4kwOr6ydMuMgo}| z=A#^3gGXi7SS5HV0m3**+s>!vm(WRTr*4_>o%L%yF2?cR9}d+`PlhtxG%eHOik+Fh z>NPS52R(!Nz+aJAyEjQ6R=a&KFTI29ijiQKRlJQA%x%VsJPwbBHO~%!B;ZIIc{E3uMxI>lDTZK^Y z>p2ToEi`g)GN3t=m-Zfwf8Fl*AhNvQ7CPIvJb&p$p2x;4L|Wu+85_SM$McxIvb9Un z_R|@a#;cr}V^3Wb@gL+O)?>cui_bRv2Yc@c-T*fumHio!IP0>AiLm!kJ7ZP0gAg^!aY=r>*k=jHlipDFf>z*x9plW1e9c zE!z)OlU7oqF|9&8E9xZ^KX@{I5QFemRmTwO4qe5&}l zSh7p;UW!-6dg_9Os?e{fLfvU1EWFt*M%+!=(D?^t3H9w*Jj%1lUan3|`gSaOKUKpO zb-_s#V*UwLzmlg4H&6-)SVY$cr|8OS&2Idj8r}6&ouV&t7sUuX#^@1Zt}B>Mt&?+k z!D$Mv=aKjTZ_}1f1Az^XDW|d#-L(2VzVJL38938(-#!)8)VZU=_KaxdpSYIeW;jt? zLx2%2BBc>8a&;IFs(f3+ zl1UuJarAV_n7TRU>I-Gy*%S3_B-HbCUi*==JezW6C?_Sp7Z<%BIg+=z^A>E6JTnsb zyXVc^{xc;iB+p8zA}U22ajB@x*S4>Gn%4J;REAr$N5H|yc z+~R%64Q$V`9eTzEnvy_Z-NJX%^y|Xz$K3=z;o(oOy}YJ)FL!6nsmIe~E;;aVo-7Qkq+SDt$2#sKk^Y4b>Kb3g0=>F5jNTqcTwKS@b?WEBwhR#T^k7 zpfKr|TSHEfKLXBVifJuB-r`TT-jVFhd2C9_KBJu?u4_HL>4V9kVND-Q3SUrO=1VMg zw|bk7ieJs6(^vf2=qlbDdCMLe8^1m2c(3X6Q^L8k`40a@gGBPvo2Jpo%`Y&5&vf&r z*9Cm8Co3^OFUIpF2Q3CR%TeH(IZ6$VMSQ^Xbb_BB*-T{~KeU`yXVe8>5kzSFi8Ov1 zjbA2AwQ6*H=0RQMy*ZATR49_L36~S*ZkpLL!!E&&4_fjx#Gc4hI)S$IRPf~T zOpBd~>`9jF;}}-bbH#f?lOK``Y3I9|p43hX@Z=as5v$_!iISZSSATQU%JMY1ypa^O zW+`q-=&mesiRj?ZnEoa=PN7Ql+QN@*#KalWyyq;+f;7vq-R23@nW_-dyew7W6O%I) zrbzSss;(|vW1Li1gu0rxETnvhViz9}#apCiizseUK}}P4D#UT~FrqgSZ^UolZ-x}Q zvPj|MLO2D3vuVno6xmQ&p@%B7ribD)FGUaIpG(n0(f1EQ4{K5cQO}YY+~BK-;-f!K z5yiWu9_5qMh)ZoLqWC4kA&SN68tMp0Zj>a+jRKD8O-K2NI*BNLnm{3nSvfw%+9b%{ z-!p!l7)%cb{&srUKO{Xohdr^N$lU%x^iW{a^bo6x|1apFK%An7{eOiX zLgIuxMe~>t8IlNvT9=|w1^;p~g?dy`sL4+cL7`q7Arxu})kC2sQ!ErJ%vXv+jaNZU zYxGbqQxxhp;tl09H$$OvKaN7ZsphcC3Wd6rB8oMI+C@Z)LiJ8eQK(IX{tXoBlpm%j z)N-jux#KnBQd^2b-9k7NDweK6&INEaEJ>0Z1swBh>8R;MokXD~5GWKXE5}`|5}HCO zy_qUTD3l}-KK%bOeH!(H!SqR5CG<(a`G15y2}u7O`s7_Rm_A9P6@8K_ho(hg(IDZ%YyqIGCvHM-==zk9V z?D}qsem2P#RW(}CPpR?*`Z~~8wQcvRXk^J3fq_E6>SA=&%?spY`ca#Y?Xumt- zr-SIH$k}ASD+BUBq@SL9zD!}(p7%;?&-)p@=k-J|{I>m5_PqkRCo+k@@T@)3wL|ZF zEj~}o1+(aAK5{_l7ec~Xb4roS9WSI*1dm7vCo0Nz#iJ(?QG|C0$d%C3P^U%X{=Pum zZ(vV8YUM6ePoDnkp)9Fcx8a zTvU|t+MJR@Dg82X$d(znK<9*Us7jol_W3XYd8dc1dJq{GphiwL9FUda_}dGQr?l<(obC549Hbck}r$NpUmc{<7v_&ElA z;l4$0C{P|RrCS^?Y5UcG20YZ=;mplLzte%gWyZ$p91Jx?R4MmfXt~9>+Tc83;S!VZ zrx;aMFfVD4T7)_J753CBU+w|3<=1KeGuj=F8R)@VxN6zP3fnLEjoHK6=8!j=!|upg6?vk<_B6jwKgm5k{2KY)&F^2fRM;No`MIY)SzTWy{Z0I?$>IH3fmff zuK%vEUBK^ZemC*UOH|la@Eq0g$?Cd-^yU06m3*B;)+PEV^!uo!#NH7-lB+&Y!$pj8 zkV(6iip_SK<6tvb1jQC|gDgAC2jcz%NGuNq%wuQ^tf&Wxs*lf}!d(4hCiHFzMRHjd zFuO9LUslDKR6{XuSnjI=iOPJ}f+`$N6pY|ut|7fB8N~fS^CjeHTK=J2a}gfE4}q$E zMW)1Ys&;=rS5O4A^U2Y8kC%Gll~Za1_`EMNXAv(TaSHA-RX~BX3?~W_O2f_1WEUW| zK2qiE8>zC!9I0}szF4bcDCsu*No)DIlqBvf>f`q|fvrIE+f2k_UB$hthzXeOM5LQH zPs-Z#5E1cv*YG#F=>e7K;Y{v}(n+`te1nQzk%=8gY{$L7Bbdi?>f!&8*SF<0ac`GA z_?Ni1O&0hV|xq)f4#^@AY&XjeR?% z$kJxNt<@hkag=p}41j0My=^3fHCSkMb6YBLXue9AlTIkmlJGJs;djyrr>caG@VPP~ z_Z}db!UIcxcDQ?d+hJTw&QdFh(!7d(bU_0LEiBy~_^xh|D>=l`g;!zjgwe;{*|O3s zl{thDRa*$p!7d4{GdF225H+v3`A$iJwU?I;=Os3Ax|i*RCZiEl^GjLFilIz90M~JK z6_zaKH__uM5-ZY@9}{Ay6acIf2$<;EO_0+`)>MwdW&9b-5W<8x{=W`CvoEGH$vvT;ln5UzKJBN8h z+MI-pwY2U>Sx-Bhm*&N1*u_OmWUFJ)S5DT~jI4JJ5%5I%re+&6i9aQECPqw_gXWEF zuJ9OTKGJXXfu~taIgR;!#!Of7OsDWF@u|@P*bZS?D$p|FIPPa^#Y^caudNH-OgJdt zIFj?MtBxf(Aj5_hI~JlsU^FRJ#J^3WXOCqtMTSp_^pe_=3ppx<;ZN71fBo}C5Gi}hBzMaW* zH&L20s8fw=zM*?IxLy#$T>VZOD}KQc;oU^KZ;6xh@w#-?eW9mmzXEErF8|_8`DY1G zI$Ic^UO}e}fzjFSQ+e8S9yy3>HKbRplrwqO={(X9j&bUSbm~k(*sV;P$RtP*>>{dX z90`M0D-?KH`8Z)tdzw!rG^-8QWC}h4n5jk_&}HAADf_w%K+^VcnSAZ3o;7tQF;=hu z67MYvpne^7Hc{F>Oz5(l$vND8y?Oq>>khXFh?=iLAM+FbgJj?qlhKGN8l9}2o=poz zrG&im2w*>V|H~Cv=X0+kPe>O|5mWLB4w11z2XmFyeh7{HK+msa2hTn79Y(!VNp_Px z-y zI1z5LM|Qp$5k#`*Cw%|?B8V#uErJ;6xk&-y;z*UThnrKa%T#^Gvq9Re_3h)Ph#A01 z`u1ecnUtaA596}+?YkG(XX)E7MBm;qw7&h+_#H{d(WcAMw_l_6?aK#9o26`jI;Cts zW+~g*#^a&**heVa#|7e5DBG)0wpU?!P~{BNYh`C^vDH};GPmVNZb3_k`^CE z5E0`Z6VWYQMgnm4DR2~2UC(2%>>(fBQis;HpF+~hn4{>~hx0n5+~Jt$m3m~JDLp%P zQ`FVZF?al@C3iU1;T+4c72-<{`IZkX?#Fnyq%G1TD)t_wVjs?3FLt>Urah8if%d3Z zHoG3JVn5)j8rgnX69p`~5vb}aWVZ_XAxl%OjFFM|D$pKbRMA|ObMT+TBmY89; zsMp2&!WBp1M;gQd-dr!_s_E%`=zuLWk@K46b}lqY`9CPG&abJTgM;tFD#WI9y<+%; zX%}u&Se;l$a8EZUI1Rc~XYTlska%zA6k)^lC2iCF2N&S&Ubw}Dt498&!dAxbNBlbY z?dR9e@4lBRY{Oryu&v@(%cy?b9`?UUzlGl>es6Y@{^UKZwg>dG_=yc4c$_-6y=-c0Dv32j>b zI)wg5QuLBKp1*)yG}975eT+(*Bvs+-fF7Zzkqe zGnKiO@1oj4=2o+#80NwHVR6+3)$93@tN_cqjXlQvS8%kC-Kw&<;s)Q0UU8>h0gh)@ zfb+!IszCl^;QB&p9XQ@vp2Yg9*C|F?%J^#M;#*ozZ<+rg_E&g459J~Sm=wOKT=S!4 zzHLLV4EbthST$&A=q7R2((q(zY3Q?-hVJM-{8aayyfk2gg(24Qk6IfpX|}p$n(h`6 z0MH|m_Jedz@vCq)GKrDT%T$gWVTq_Gz_V%PD;mdl@lZ=dtomT@sK-HGEV9H}sQMs1 zuuU%&Vni?R)^c$gpF=JeeKLO!OGV53-QhE_j2vAH&VTn?)_T#`;XKu5Z0-3iNlNzn zmcO$29jssn8zFeO8O$=uk`-gPGRk7b7+$5`)b=Ij@3-u-ZaqOpeV&$4FaAnvJNCz* zq0RBU7+z@uEljP%GHZn6c_JBgq}W5)W<7s`Z5EPOOvlPtJf3%SW1hAA6;EV}T0HuC zq(?G~2adWUJ6S)X`@vMt6b#)EIkvK?^a5M>&zOXg|n*6kAih@2a4tf;Sb_>sM57mr>oBp?c?#;;&LY zI|+>CyM*d>T2${HdOt<=E^wttQa7O|@wb14-qo*6(L3Rn4S%Omy(>lU?k5C#_kudy zCG_r20+Qif$#AFnOgeBOfhWwXe?*U&VW-u+O~yH25ZyFP~AVPTr$c!#2Q^HTIKsp#Etp?Ams(e$qK@1}RhEyL5H zdEqLK0jp)eqIZUnrun-Rz3Uv3-qmS(H%nvpG#(#I@5H}O7QM^=D0-*Va^f2{vb-;g z-u;w)COn9;yHfP-WsBbJg5E(_KN*KyrFdn<>N8h0lYFaYlCRWE@_Cv`{#t7%s~;!` ztto1m!V#a$C_jH9qYR&nhO1nWyO)Jm-sOqlQdz0wKL7FLE_4ml z$=DGZ3w46}3~RMRy2>k|9^rmSmqnV;Oo{$S@p$)~dq_%u17!egA{^p9uft4=T+@=J zrbMWmk@?GS(Xs5Wuzic)CVo5l9pLwq-&NQS^Ze#36}F`iu#e-9-zNPZ_`S^UoL5PI zGJm|Pm++zk6}AY!AM<;XUl+gse7(Z}c;9_LcVTShd&Dtzr(p7Mp*JX<%$^HyuhX8RBXtSDe*YbQ%M3f0B`Codinp|13f8nab+lUh* z5=pYjQ)RTb|6zFKz}+Leo3}4}UH1ch!yOmxJr2O}y{CZQ9vUf523L?v0X>tZ7r)4X z*|`H;WkajBht3cWW?u7pk^ral)m-{2=Gb10;|s5EEAVcc(o%>ZWvjsJg2K2py!X^I z12T)MlD-d?_*=py9*n2Re^Y?sNW9)ST5_oU&ki=0(X&FIZ>b+e)=OFo%9{5t8|K;c zeDBRof4Dn*Y4h8mbGXczxbaf#S@?JrMb!!*2W%=PYSEi%jR%+7C@J|R8eymarUQL)LJB(B1|QWt2C^R46Ly`ooH2Ji(L%~hxcdYavz%2 zD<9oHFcqKI&}-DShCe@+s~V@_<3e0S3C7H#r)89kt59$n$H4?B%gn-PTfN8M72Q6E z+i5r7h`v94;6z$g8@!pII`cR;K{1|iB;!MO0`--O`!$%mw9V-_B}wVT0s3!z5y$}%# zh>~&eaM6eIOfDbB`?1xx5y6ps%imXSrRWbD&#x_h*X)GuDiA|cP+`eYEYYtzW2;3| zAgAD3C}OaK@ij{=&58yk_5dj|Y8=!OT%*hdeEQr=cTDLVWR&-Z9y65tcVm@g!964L zC>4-$D5VO-8K?rcJV)JLLs7NnPdG`;l+lhp6UvDg&8Pj>O2eXS_#2DfsNTEP`>pD| zjK6`D8~CgFAdhvkf#?&}e>uT5^ssgxFWg2#ITMwH3FSy$zuiD)sWB0qXBDIU%Ih3b zzfQL<{TAd+c$-A@=5*LY>9>ciH;$Bwd;j2iV89DNc}m_BDh+lLRBwLc8(agIQlH{n zUW!QF&A`+!!LEd4U(5K*s5VvI>x!W#h^L6Uv8++XsE0~Hqw=z3SIPF6ii#;0 zuFUPimB-aJG5ITxt6O8-E04=1G2C}SJ%$=ck&bRLX%*ImuTl7hCd7Zj=tf zFEoATd91%Kwo$6m(@|!&!fNT{!?Z3Qm-6r)BxwTmwdS6S()Ed`d-_I+r#jw~8z1F8 zu5NgUDe{uREO7)H{qcu5f$8E@d-kF9I`gi{97hkDpmXpph0{;oPeN5#3bBg@;}(dm zt4Ve81UlJ*J2WyCNQVZUUzSPINP!SBH5FtfR%*&4i!3$eJe8*Mgi7^DYEB@#$RX?b zc<=^K#O0~FC#kx37=s)9Pp#XYs=J_3`eybCb<^VB?+osJCeaCG<)q&4If5Vwb{Z@o=g*Ul3IE%(&1z=O+6XBY;{zH*7%M%(Hr0>4iD8;JT7`$0^(C2^$+iTXIT_6{ZUTnK)nU3-usV|J20qTo(WwYug2pR}>(0|u}| zs^}shpdHYmVPL)OCm^ee0iFNc!THl&EyYWDn1TogtX9GRT(PZba4T=7mDlQ4UJfgx zC*`$&y->MAMXFb+)W8fblK~G-pv-#n>J~k~zc~gpss#?^BE_L^!-*+kpVcT?8t9ag zkE`E`7a*jO9Tcx`bsp)26(ZsJ06#n*qG_83Hg}F>e8eRML%pcSj_%tP!ag{#YI4U@P0LD-?>*0 znuq0N(3%}EZyl7)6Ws{jr&jEr@Sa|yv&s4pOY0kx(@Wg~vZa^SIees+)^O2K6z*tL zfb;e&;;!z}oDl8@vIye=1^-J{l50qE@`@}Ym4$IK?_{P%Nt|AhC5^1emu0~G4pS$! zB8vcV+I>PqJkdWf=-Ta%_Q-=@3dx+Ba*3!gqqIs~25#n6lMD2f7Bj4U$_Z^S%7Vg;sHxW^87$>7Uk5NyWp^Nem${I zE}~}&HR;kcmbcnk6q+bRw@_8Ey|+})Bq{%#RQb13zBNgp($KIG?UXaQc~Wm zGT(Dz%6AWEr+kesEe}}P=cGro_mi^y7EuFMV4HI0_TrPRe!i3u=m z^@?GuGxHSCg-VB&awq@YFI&4nn5{PD9lXT~N$tN!!~Jq2jLopu#Bw#KXN*>xgm9lR zTRh#5SN`lJzS6pMk8qvht@Qo8O2CjUg`j+WAFI~$TX(OfZ(?Q3!)z!okZr!)$I6xp z;#giN4<#dz{9H&Y0Laz2zH;|s=Y?(aw{5Ve z#$tE;DzD=zSMg$3=yKoTrDxW0Gqc-lWMd3!BxdR=XDXRU@7Q`3SxuzY*)RYmBCeemK8{P{PkemWmI~7mHCU@hbjy0;aq*Wt+7Hb zZ!S}}E}m)Flh+_~OyQP=Jvz4!JGDq#e)de6~~Uh1XMIpI96ag5nxvt7NTGPg@6XL}9iYxr9LMg3ykg=Z1Bj)TV>%Z<1=zdt1W%WQ$9AY{ItCC z{Jip0^U6=jD<6|r?#(OrAu+g4 zi`P={fivz4ldWSe++Y8Uuu0APEc(-Q^fIogPh0~s=asjNt!y2`y-{z8N2|T9_R`Bd zQISTV@NPX&dQNy)>lbq#vm^8?*13?i`j0C`^(#D@lcB;#?7e3-Gqp6__YGTCq-f5spS`7Bo`awRXDyh@j2rkf8?Fo2mkAv5#w%u7v@!XdXY zyW}CZ3(vYr_S5B;BW1>f&9lid^Y>QUS8;5)!LPQ$k!j$mq6in%_I-$7Iky)ocZVP(*dK=iR24dO!F>dc_Bp7 z_!Ls@T;oo+V+9wY(rQ;dATQ2`8LkI%4ZaFYAC4$e9EFhjtn1iye+#_}mf39mjq2`Y zve=Y^P9~TfXJ*oh!zYnv2Hj2U@Gi!WqE0YQ?!-7PpAUUDX|u3_q|dt5TdyZ_6Ei1- z#9=nmob>5wPJE3_9xl$>VDTuwKlcbU5$BM%Fu$x@74Vh30bd0|LTf8WH zNoV9XFihHovVf$QHH}Yk|G}&llEG@>2-QMKDc4bFni$5DnbpQKsFW|&NNo|VS}A!1 zN3Z^#uv|`Y+)VQ@`%}$R&|0m~jgpw5Ta$_b*ML9Wn(BirHnawGm%6!do*LEs;A9vo z8MGeUj^}CaqNBLj!qY5^AZ&^7cuz^#G{PQ{m%F^l$#wPdMajk-kN-W)u$t}~nZ%v= zS23{n_>ZKoG=VX=S(>z6xf^xDuzsPwadNHs*4Gs05%a@8hGwXsi^IohwcF=+g)XRT zoGiJXC6z2$ZotNkpR4#?2i_eA93RvN>T1l300hKUiV5H0&~S^y)M4J`H4C1RK18m< zqM%YJ@}tRu!XGNi=PEwfD0GX|BE;s6t6oIYT4#VX zuA(dRCdzeedA^6(4$Z^rcBK9aJSb;RuFos=aSUnv%m2_CRsX@8PlI9%g9dQFP069n zMS!RIwYYnV@zUO&=ikCgt)ksivDvJvR#lB@riuRF11`!mv|Tz7=R-;6EqYpLet*uqsM z`wq)h4erR%yv4&ePa#e3Xv4qxa989&QKYjx0{gqQ#s3ty#{iC}`C$^&M3N{_yW`bu zo|*n`5d!+3q8Z)b)@IXvHQis`7dhfxG!bLfa$_snVn%h5*9aVow4YnNHPUu0GH}+? z$td_A{eseOdA!x&hZ{VY+XWuXH9cdhyO}FvjOA=5Oy&O@8nqUYd3_sQkluZ0BpNfC zOm*I#57K$oDSFF+Lx;Q$5FX-iu?>9!?Ry zBm2;5@qH14mFo~G_?z>YXT@86olCFtcpZ{d7eCV~ex@#drY_!LGd@)tcXBxEClp0F zk-JqLmt**k6yo1MqWsM=XtZPNqGj}Nq|ko6k7%L3-- ze=Vb@pse=Ba$~der6QJX+NJ6WnCDmkSdE10mIc@sIs6A{=rA3b)kO2jUkw@%Js-}y zFKa&Bnl&G?ro+2U%U!n6d1m8-A8`3msL=csf(RzT2y>nenP`5W5Ro=qJqY(L)c-c# z+NGPFcozOQ4!2czo9AEg0gOj?YGH|2Z!nKR&Vo~4m&0!xFiK&U9K6v=ZBM6`sTPP= zx0rI7hLyU7){;7nXx58v--k=n?W?J)x7wH0wj;6S{mgWZV}O;3;S+v|=>cfPkx5P` zeH$SxTvK9rDZ1`BsL6HkRc^V*+ydNutm=bgVt4@y5VnznCcSEJHcbBjcyd1$p3f+F zCVX;u{&GjUeU9~IEjkq z1X!lJWRP0{MtW8AKr&gKjCqIu7_)J<*G(!Q(g=E3g)G-&wTtBSu@}tFdj=5ejI*$$1nJC>}#JGKR&lC zJsvf6C!_1Tv2Z_Ks`?V{LAp`*Zn`&-blS`!sWw+tJGe)(urgtv3RsAR`gm-M^f-G& z(kagic`AP5kl$s8QYUg%%1V_oG_tX%&TOt#EtkW|OlyVa^rw}cB;GpnrW2A7Ujy#} z^e1s2@FJo&fftdb5z;Cd6D{0&Xb?YBUvhvUFw7jTcSX6&b2yk7Jp@BUq_Wx zH^s;`b|+WK7nd%1jeFMcmgK@Qj3d)A0!runr15cnHa)Hw zdOpJQA@~{-S?0Bci|Ued;0e?0hK2O!&ecfoQq(j#heK!8n31Z@h?#=`I(VC+w4DKS z`@d@1sq0_;5%p)0Osdy)bBaCRm@!2$vTk;C87MT%^F5}f(0%VvKr9ypcp8Wb3y9R< z>hXeK`&;1ow6MoBrV4v}GB9H-U^s)#`f@^#^rKP80Q1-vrAPk0@t{xe5rgEABUf_@ zvbw|?m{w+m^hy3uV0?KH7*iA&=^g zRE?D~MH;}#p8c>OvcI*q8B#tb^Rg*1%1{fY!czcb%2ODxr`(w2H|49ra2YjM3!=X+ zX7{e-oLL`%-@nVouSpsF#>g=X#hBS5Mqci=rq@`&KaI(wDyy%R+GZJ@$$h<5YJKTa z^vVB%P_o$k1F_|AEcBe}HxWqeI(HTwox*%-=!z}x3>do;{#}4=OMbJ7zlIz;NY5bQ z2^GiwYE5bmsV*?e;hK+Wf&)0**y^OeZp6G!Tht->e)q!tLXs@{a9TDM=)7JCOfY$% zp>^B!DueX5Riu?+ger1=@j&6sYsu`*{phY03%_Q zBUK+3dJ_e?sB!SW!8M9`NbPCcWhC$(gocmNlmyJiSa`I^_Lp&#$>J0X?`eL zwgK_|)S$;FgTGlz2KcMz0~mE}HvR_wQTVGXOX074Y5WZ+{PlkV{B0B$DA_119V|$k z>f<4?_v~v1VK3(9Z4lzDF3YOKb666Es>CEIZv8J7L2MPR%~Fn z4Y1m6?h#}FUAW&^jZuvPzez$#HrK6kWC6#kg%1{R7Cy)qcMl3a+$PmGqS(8Yt;qZM z|5l%k7#YkV0}n8pc&Xw9k)|KjE&%qlaz-wbFI*A@`@dOfGvimY zzftkqcw>{%yE6r-^#oqlzu7HmesE=+lMEF3`j?_D%A#hPn4JO? zdJoo^#{!7eZJ%{4s^1uA>}kxin1ke;BBY*)mwxJ;1rEKMSbZGgLFdw-PL`gzH15!?^Q&%+s07*rh zKhl3J{CryQz!Z_g7T}zS8-FGB8D%#sF7gNZ1Ev&~a;m~_t>YIlQ9tfZj9gV$Z0^Bi zs)GNWl_&h1f<92n<+=YMY(cc`4!Ib**Ip*D?om?W+T=dqD%2^1G^h+nkcN8hxgGd> z&g4(psSIpOmP8W#jP!Br`|s;-jy9-qU=KgsJY(J#dl!UBo*5K}zH%!HGl|Q7N&$4lI*hpOD{DA-~*!@rsmNUY5^+7XEmj*YeO%%@RnmLAeGW}*PAs13i81wT&C+LLJ@Z4&_qo9%7+b7nE zy#nx@^{LwE}fzKBv&PL+1HY zE4O*%zXr>%M4r)Ti-nJw=QHbsbHRF|162g`TznnMLzr(RqS50wIhN)ppxz%LVFLAj z&#W6P-M7k%R~A~UTEZ5hyYN4iD049xl8G|6s#hzP*q|nCf!kT$XO}6+rnLIK!b~J` z?;=~G(pg4iOXbu=c@#lbZLz8e9aR%?&Y;jIR=pm&r247cr5dbF zu8gWe=@lFRdYXm1joe*i_uTV6^)`X92Y5rXV~)bfT4MMlRlIY;qtrr|5Eol;HTmV( zP_^M`EHIix(iHQrH-B}xMLc5RwWJuvoIi`p!grev+LOqgNAEKT-bD=I3U3EEgHM}7 zb;eF9Ejf4n3G!@fIoJudYLQOxYI2H{_vQo*A7Nw!QyTb0WBL!a@Z!>HQu2@?R}KVHb== zem$rbm(=3Us%0x;n2)Mu5Iv>7Da+IC8A`o?>@*A86P1NBBaGR%iiCTTQ8};N(#f45 z-}c=1b4JnFiu;2zKCkIRWsnd?>{g|at(-?G*J|BfWm&3}QwB@PmwrW+(0!RzLO_>r ztuCRA!U|P?)J@9nkID)3$Lxt&{qbw%Aj~;THyxU4-*1ewQj8DwU?=FA7wQcI{^#(%U( z7Lm~@AgQnE4sLZUI3bk~9F+U*#iy4b6xo`efwF;1)&C1@A zHc>nq*A*F87CO#4wF-u7Y3`z2-^-}5UdCXp_!4OS_$p`dPAlSFBHpD2F~OXJT~VE3 zcRbIL;ezBU*;E;w*aPDE??3Is$JAq_XtZCiD-`%@#9vw;wzGwc#xEV_t0`EL&$t%X z6vVtnxz~a9twJ!u;4_rmjHBv<%_rWF%0 z2>PS+{p=#6t|G>sJKj)HkEO?wn|*sd_iQIh$%9su8clETf!f^n67;rVR^082&7Ngc zPQzf?sGREXAMPL?Lx7PG4rn zNoP>hifPoJs>Y;DDl2YxB-o!%r&zob&)8|$eOrwkEMjc`<&xMwsm*_^xIN|w4Y*kgmcC)xGyE(2=&a7y_-tHpHIoxv4*iKFlfEgNqGjVkdj~gH<~!|qE}MV7 zI>Wz;+lG|+(z|M$*3AhPe0G*CSPF=SJ>eJT5~gvzJn-|Yq)HPF|2pBD{p+!0I=P|0 zo0i&o1Rt;(y5ut_HFVoW*$m&;tE`3&0dH3S4;GFfy^JrIfcug7HAS^G@uh{vp1L{7 zRb2vVu3UjUP1xc^7e;)^(C5U?>6%IAF;vFFUuS_WQZ=<_nvelJ#inlg^hto{4FbHq za_|TNzu1%38%N^RBWnaBf_Hs}{w$RKl>R$};gzfA3{)QH_(!%>O*L|Zw@HGDsRR&0 z@y@08E!RM~W#3XY4LkPKeoW1+Ec!cE(_dug&|j@6f%sNP-A2<>bcPzVnaD06#!4Qh z7k5bvF_x8Bh_Rx>A_zK(61(8})ZQgkQ5H(l-XZDn)HFRFjF5VK^IOyWZ;geG8BA=v z*(@#*z6$f?{uGai!bTl@Mvi)i8~n;lFCkD^hYk)%Ln!d!py3s>Sbel2`Lye8?X*lTpAosASGUo6><@Y9d*_ZrBw z#ipcNkbw_(Ak$ZPLzgnGX-Ek zjbm%TbRxn+SZ7~R5UDG)6~D@AunkHoiXh5oiF;X0mg|j~1+*WhL&6H2F08=W{P8sZ zF91)uej!uSol|XznfV0TLNl={w>SYznhpGdXd!d_snuJXPBB6Xk)$quG|`8COjqJM+UE5g+t%!-0#o#nWPpn5qK7dre(k{Hl5Q2)(M% z{381ivLs0{vos*waw(_Hj60_p*O$t|B$Q4}6Z(}Au`${LY!(C1S%dZs-%7jVGv@`8 z`;5-RFOT0Ic`ZkQ>1p<|KR2$Lra&#eDu02mv%yoCR-3=s)J~(EKXvmR^Yp z(!;6xJAxsd0RwO>6cTUnp|2SMoXF2}*BQ4J)*H)Q#-8HcMn`c%mT}LF4lzt~=M*1_ zJI`W)w8pj`BjnF0p^@A7!Qyj`ZN&+U8!s`!7?m$^n{FLtZvdqf;M5pCwt(-{rv(!5 zv!2Y&%-={~D6^gnrq8U9`J$0x6<5fvGgoDYdRmqpr+A3n?(%{_=p4F6i7b@(}o(D*rU(KH7NC0th`*apg8diOOZ23d+6&0Qt zdt(0k@(ssyz?tXsKP-IbLlT@@BcLm4Ry=Avnoiv_3FYk*HNI(=P> z8lYtv?)PEE{Z`J3`PaqW(^3rZ8pQyw(G2h!0i=3e@k^Tf#b{uC09ym;(Ah=!&7z~K z*Q?r$_Ql_!$9OmPQg?+>SwZ()X3Sq(+-VJSt?5xr6a(Ryzm5@!&0lLgB-Glx7~gO8 zqWpc{pbSP}O!034Tn$CsIgSE9Cm1b|`qv@;s8rH_yql9HT!8PPwdVUW{po{5@vCzD zZEbNw1$|$u(Ca&B{Xxv$VW6gQRH%uk8TqN4D+r$wSy5O^ztUBv0iuL9m)aOGF}^N^7|os;)$3yZW)!Khwa7-5q{Yw==_2!2u{1+5WjSZ{KF|_TL?^hAl10ee1K?jQtOMgU3wz-&$;i z`D_9L#VMvnh;-DALvGwBgB%mEd4ca#geBo;zT#FJdKM5F0D! zK1DW?wdzuyoUihh>}!7~M`Sp1yN!#Us*N1a@!a!!N{C!Gp=OpX$8-N)DUQu*)v>s9 zL;MTJ;)Rc3-|vzug*HjLqJytvw>_4yv}%&y2* zZ@jE5etp?O&otYxHH$grKBjDg$6H}XT9XNBBkhLlfGz?Cr8wZ5>s|D74uIt>n#wxb zEBgZK>NI{Icdm;3;W+14F?)5|<7L!t6&%@`gU+dJfDQH^d@n9Oi!8+h#qY)4tMqwr z=k)j$PEThHBeHkw;r{FOPCwQC)_(DSq_6un8{NOIuY0UO^mR@;<^+9#44!2eY(b>w z&)=`Ft2|L(Hz&|o8T3*$NYo{oh%-+AMEW||7n^x}oTaZ5+x@@A-n{kGx=(UdqleJf zt@~_hVwqPo4c6DeZ@qnYdcPFu%i0fTHccy+yPzAFFFiebBc!J6Y+drU;5-^F4ep^4 zCrBMGW}9ni$I-sLeMx4{(*MHl*Tc65Ccqo-)C_qCXf-~GGWgu1=iccoJ{+4O32ty8 zNM@suHH63zQi?0-L0j_1tJAn9FKWIQL62pJcEr34^HOY*_E44>7$Fr)&bd*)9ZSxc zz*|3|VQjPmym!Yd2XK2V>E0mr2_b+i$iA-ltmOE8#_)6Zo?9<>fz0ib@~Zo=|G;r) zQ+Yh!MNa1SC~k6Ww9PS3r^US&8h+FI9>KS9iP$UbN!CpWh! z+U5xV8_e;cc1QS2xJkE#&ICJ;)taA2b7c(Ia0Ci7tT_V6ZJ{r*t@~F>KD7o;$`Rg9P4j}dma37>nVX@)me`-H`kt*xN zoF|SS`1!l+_3hfs`Zjn!a6}ByInNwkBSiRDfF^xZ?=p74hvJJBf1>{Niyd)%4G)i9 z*#j82L}#_y%$k}my+vhWlP*U zRrf{ql4yyI-ab!HUA9csYklu7`WN4C!>1T0)YJRlGRPC8FFEuXm{;8I_`T6j6+cIq z#$f)quD16-#UBCf*pIVXoc1oWsyv}2D)~R`y$yU+)wwS`li5iIGO!0S=qRy78Eb6l zZOWhrNNAIgnM5UF0{Ngw60}Nla{NG;0jz?-Nm_Q6Q#n0)wdZZ$i`Kr^bNXTW9<`rfBn7S1Nbs zhR?t7Dp&%KJ^df~@Q<|xz82H!ZJZMT%pMk33F-^AnfcM0a3_*27|4}g?AbC zOl-)d9aliHx5m6f0~aW&W(4c2J=_%ru{Q@){ORv#^l*+F|=WO zW)hCbCYRs`3;-ivN5}JW-ca7`veaSC{s!fWf7S(;>4eU@un9RRQ_{Cgn1%06B|=Aj zGHtN8bAp^pfjshJRI>1sGkpCea(tI|bDdN0o3yfDvv{#>W=Foj3qd3qhAY^FGuU8- z2YAbbvj}V|N$SYQLB`nq0JLXg?;a#aS8vGoG|$2)gu~#n|LYtC(Qdr~H&vD%5izTp z)VvPQ*-swFr)bPKvgVZtNw!wj`~VMZW86nnvTbF}_wktRta&*Pbg|}TJkZISmmt7i zrLr&+W6c#j@I2$*q%^Z?Uch6#ths~-cCh9m9yr9B>3zbIZIAN8Zp;{2^K2gT3&z3Y zi0vj?SD;UvuZ52N2dELYAE$bEP4;!BTD$0cuMS_fZMw>rSf{UZl5c0a6}vRseDZku z{;_VC&exNKzTU-48l*&NzMa?6!$DtX3VlCiwQZhm8^os$zmDh(&8--pb!50V>Gtc| z;GT$kAKI-QzMa=#Ok*9s&I!neuOxi6TWyWHUDIu{wO!|PuRnreua|(n92aP-uCg;4 zXsZhJ7aXXLv@nqV0x}+rv_FD$aJsGEYI`b#bSp=?nE?ZkVwINJdaWH8tnp1HOaNwT zW3K|19x7lvLSRo2*dHrk(?LOns^f{OdvujuR7k3C=VU5m4^bQ6FNeV5r4Gb4)EY(B zfC?5c0XBfo5ZG-5cE7IjDUWbH-l{0!-95Gw)^?()?L;)%6JgSxAhc(!?Rd)#ZM=0u zBS(Z_7~Dg;%I(o`52?=m& zJfq?SL5~wj@cI-W=+zls^{P<&NdQ2~ZjhWL7CWR-5&&r@apg||7Gm4Yw=#irHp8j$ z{di3S`V*MFYqHw2*lueVI+U(*8*3-YfUv9Lx+4VD#A;+hyMygUucBmWJekt7K+Q8$ z({X}&0#J9TPy-=ZRViw%0X*tdVL?TA>?N9#6cNsTg`!*H_9}3`mD(EW{@^_C{@xHw zGhy_OBB-FH%mwuf!R!XiP8H^Hf{7O&0E8l~yjO<$6nZ76XfMeOr)aMtqnx786GeB7 zM$sP+r|6at)C^X0g3xY>OHmnoCyL4hbr4YZ5Y*B$O7BOn56P&t2JkpVRUxHDa4F>? zPHWf-MPG_bQLhf`6;TxRsuX=b1T&K`K0msQo`{vvE)G*xV4~ZDz1>_`FF{6$_jvgW zWOR~mSGuaF6d9eYt9+R#nySbs*HSNqpjz<4B|`gBT#BCHGKxI~Dd0{s89kx&dg6V}_R%PMXgEc?LQrR@y}m0hMIm62QHZhH@kvaNbF^%?uJVko zjgO;{)qd#yW+#Sxs)%G2UwlYqHRw>*_UTYoM|3bvRZ-mBWgiRp=GG2Kicn^bz*ny7@35HzV|#dA`r#}%SB zDo|VFLfx*zW=&N8->yR47J|y(@3W2BHb+C<9D(}GblYY{THAqC22!dWgTD+5p2kxd z)4O(cFzu9FPXT^S)AXN^I3U0gqpr8fqKdLmhS_~vb(POY!`!OEYz@K8BZ{_S`yJMr zN>GHj*#}B)o{lZLMyu@^>uFu*be9b4&+2M~0oY5FEro~)JP)Pkkr zBW@q|3y-+Z<%>^NV|#?$AUtFd*Gb$k&fZlkaXXt|*K~L2JdvojQjuk)r7u_v9K@;q)4Ue{w%aQbHq>3VQA%o7VNCVUoIgpHqg@q}G3 z?v|EWmb0Y-4=iI#^*peIEj92!1zT$50S8-Z;(-NhshI~#*wPFhD1t{G59G6@79PlB zOS5=jHd{J_2WGLQIXsZVmd@gV8Eoln9>`)#^LW6*9=DiSkwtGUvKZI`i@+)@W^08d zWBOb4$v*Y%OYyyNo$eZ4g=IPZGOdV7wtlL6lf7+SV9`(aA)}u4_;x4h+VI>6N*R4` zTw_H{nzcvw2aqh2>aad;F;5?$Pxi5I7cX;zpnKf141XC`L?v54*8LR+RY9ofohVvR z3f+h21_^&rg}wonWB{lU5KSDYDGanq4-`xAXO2ah$&qG8km`X{A5|zJH3O*u7>yjM zF@n?p6czY0#Ujn%NHZcx1t1lo3MHf_Ak_n@fg?3UkQ#x~K{Sg+YUW7I5u}+wni*9n zAvFT20Hk`3R3AZV0?GwMvsk1ij?@%EngOI4QH2sx1CV9{slbs65u|3IEWw{X7O9aV zHAaw{fz%vTC?VAYX$FvHa-^9Nq!~b2gg+q`sevOkM39<*)D%@HAstOjt1^KyAAgrs zPAx#0hri1zr&&Nb8-JHoPGyaLSI{y4RIMVeVuvh?e$w(Bl(PM#P7ok`N9lb&D?MeeV&>1+4WtTx~M-yW?h*2>T z#;hn}ECB_o^a?f5eK?FIDm6Zjo{y%+GEl=Y5=KrGH7bZ2289~va2!U3N{!DmGDK5j z38=APB#aqR)Nl|rj0!c-ML7(IN{!DmmPAvd0@NrO2_q|t8ViUTCWRX4)EveFl^UOC z^ogd11Jo!Q3BwXajS`}US)m5h0EbbcQseWCSJBj10BYoqgt0t|8bw5n422p{92`cG zN{!Dm!bMY~1k}hI31e9lHS&oXnX!5!|1#^1B2Z)YNEl0^sF6q1u*B+(yvwXN@3wz*WsBU<|9l9Z3@iv!>KgAB? z4s00Koc!?#{@RJ~o_lo_>N9|mMvt(`llQd8)YA8MpO4({aGn3jq@HU(n8{{sN}u(# zG^>Re;gm*)`%1y|s12&yS3;zNz8*rbg9= zaJW8%$5J2Y1Al_g<$rX|6xu1i(EXeLaApAhN6%yL^fLP&Ve1xGT{dLG&4#Y(m4CGi zzD365EvQMNdrM^_(HYk$+j^%V)PY0q$O2D1qW`E@1(3MP?$ZNwF|R+R#c(~q=EiwjaQTqNH9@}Sb%0H#Us~+?8T={R&?0xge(gAB zYF>$O&pda(ac$~vseL_PclT!^oJrxE-TnCp=TrDPxDw-{bAv-(@&5&b+*^lk%oYy5 z4<8(y|H4aAv3~VUxK+xP@1o;&@?^}H8eT!E9SWd_d^g8QV_i5t{T|D4_jO+I6h zGbWH9!XFF28uA^2znB)clm_rOa^P&N^IDH#BW`Kq`~P?+fF382X-({OLM_yLYRbhQ=YPViOJn&^fAVW8K}kyKq9nZt!&{0o5GrJx_PQKQnz%x%^LfEg5a5 zEA16<&qulZZ6z*_uTLmd=)6V^9kjsp1kpS##7jLwL}|b!0mM?zLZKnaU(DIyFE)@? zk$1tn1GgBk_8(c>vfF$;)1*2RE?fpXaJ2zk2JkQJ{~+-D=SJ3b82*!EsjF70D|BOm zS~}{XT6i_X+z(WL#fzNpE;r06*Rw~AVqrNvY1yWt_j-0ry;($OVRc^GI~E@Brcz zM|9?!qLM1|Lk>Xj>X)~`O&*tIYn?ebpGj@XLU%-UGjK}DV^aJ}-E%drN$!uSi@HvS zrByi^V^@o&9vgBI1U=z$3!Q=+fwjzGa$f5m(Bef{^1oO#cw7B6ys?B>U(-&}dfY?B z;~cURkNb}BAK|f4^>4!XaS?gI`5VI=^7@8El!YbY0M2}=99XlB%Y%AiA1Cj3L1-|h zT;QO;ib7`lG@4o3@R3<%Je$X&{5Q>UuCRcolvk*K1}85a^1b~2CAtG>a?CkW{-Por zPV$r<59Y|z!3;W2V>|9pMOt3|SBjG7l%8Ofy*NT}0uN~HfG~tx_T%61mbGf5{6wSQ zfTZAkFdA>(=>B{V(o$~&u5g9yz*+mM zMU=>y%u2g^(lGLoYxg!*x~)N5?!iv^KD@XOuiQXJxhbH0XW#~iXsDsHn(Odl8%2&} zoal@k3jlt1Z{&v1K~L!+d3HZM;VM3)Gqr~tvN$2)-OA;gACA|@^lzMBrt@tnebb>K zD)mwlg5SmsTDTAb?_)pZev3Tr`=;wU@EARNKm6(O=4+h26p#!)E(bL5gvBRb#e&fc z-7Z=laDGmGVK>wDeK}Ntu5U%80=!EAby$y4fj8NKP1H2_%cNFFHeOc#2CnHoxr2<^&i8P4DaKKQK`jYw6 z*o=-X3}^G>6-F>Y0u*0r)E!ldV)+Kb$!h>mD!kBuM}$9I0hNvx>2(9?$EX3Zr5khu z?t>Z-A&hlEf@eL)dXSnDE-2JygVJU_=RzfJH#QO@3QfFTL*EKRxTN;~6` zgWUAO%mB|JFT{_FF#L1ygP37Z34^QPi8g&Vg^_W7aArfohEqz2r4*5zsE5~e5T))V zapBSkz7p-g1mFzufdmGTDj&dSV_b>BL3t`Yg!BPkF9X;NfJmBcUwxI_TE zIW7fEv0%a!Q0X;-0x=Y$9xw{UOz|j2WWiCKN@J`Hm^r!74D`vqdomQ9BYUKI6sRhd zM?j6Ca}?ANog;Kpm>cSooX+M*(?XIKN}r)LE!5))Jd|W%MySV!8lZAr?eQ__(cMFG zJRCh3O!5tZjS@|;Hk5uidb64y=)4u=`yZw$;Rq78?s673%7E0S->jiM(loN9(JoKRl@8AwmYP%VlI!{LOe z061}}0BuOsaz%l&;{{o;;XsRUwIM2?Su~QwR2$W*;njv(WgOP38N5}daPgs50jAoj zxF}80yvhmj${a2xgc8+ql#vk_Y?AD=c&!2K9ZRe9V$8;T$LULAgM zM*~)LbbYr-DLBS~SBHtOq=~Pj*1-{T7ab&125ohGFpy6KPaPSrzeC-E20)C42Q}86 zG}zsO!FoUEZTe1iu*S%B3l5?p*?EjJ)FsZ+c)bgj0`6e}xAw91gXxDcN|Cs;07SUhh=3oZL`gB0Ki2c-h=fFwJ9#l3 zQVJPq)c>FcxK9#ZC@Zi@I81=I9i`%;qrUgyVt=&nexvS4`YyWj2i@4$cmE*HxeqWO z_-;K*57GDZ>7VJ=8{CIA((F2ECHi*Q3PkxhZ%Q?gQI0z^(8>C4WLC`dVEKc3dT0jp zTiq_`8%zP<$W8+FZD@CRVeO{w?1f76!n2j@9@x8l6dhE?kO6kk-G#M3<)J=ewDGLE z0cm}|yK+#&))|;zwcO_5BC)g9oqg}dC_pa;lD69x>d)F6_WhyYP~MRxd<@iVOSl^PHU8RCM&(MAhS9E%~! z*o?)>^$PJc8Y)*TAvp+Bp0^DuMYW^RNfpxx@B76Fi!Q+h2X8~ha8Cpzb4HzMgpCX| zSDo98&2-}FL$l`$#juQ;NWy>w3?c@q>s!IA#SK_Sbsipv5Mwc&A`OFXj%t`mZJ2qq zh7AWAV?BW!3Q)5OG-Cu%)p{aA(h`O;bB?i|%-njybp|1Yspw<9qAg)PbwfG^@D0^? zgnh=>>O6+2x^t*pRf>9P9lg7?kIo1Tu#Vr-qH^E+7zv=22e6#1+YNEh;oW^D+#X(M zP|nh+lXR|M=>BQk!ss&KHQO+elsZ#h=Oyt~leWJ1*k0esX*!?Ba648@&ZQr-?$jNj z_0pPt8XHK35)Lg1e1Nra6l`zb`^W_2>?jA!*(#ufJ{(fPy?)e_0do)<+lfZkL{|#`~ z;}mI#^@qc(Cy|_*epq~INUIBy0G;8szEl~YIq1lS9D|@8)8Rfz+h975wsQ%#9+OIp z5d0Nn-VNZjzkMrU)R7msfiDdf(9+=g0L(f?So(ECr0Pjx_OSrTAI@#js*3nhyH=6C zZ_=dWAlXK|ZO5PrT-b}?w$f3YeL$7#OjIR}K}wZS1cSimIet5EdAff$GnAd2Z?L^(?6 zN}&!qwItdKQP}!^qKh%AGxtY2Gp!?rIx}E^GV3x)ghF7j;u%X7qbd{%m{Hk7N+U`x zhz4Z2k0$dLykorY+X?~Z8~eU(CZUH&xA7*c`i=`d%88cy0LgtnsmV$MD>OwlGD>5W z20-U@oQ%N{T}5SO!ARuwQIDB#QY++@g%oT=#G$m)-y$8WDp;DR4C+)O?xibN(PKh7 zcHInCKnoPStdN3@j0ap~S)uuo6l@MFHurregT}%U3U(GQZ6AYzoy`?&o;nJ`ys2i7 z(k68}u08M=o_1q{+7Q~H#(PHE7ke_AF{EnPo%Oga$79;Wimn~> zEE>EcH)(D9s`0q1`4hSex2C-gJCO9nH#8AY_n&_my^eL1+U^-MLb}&>p%kCK}J^ z?<)Y8aV|>7^6`2cXqV;#YbT0NehpiOxgFw@x8R%UJf*Lcv)w^Q1#U&twv@i&N^9Er zXew_$-5e-79QwnfpB* zE?_y>Jub=p;LBRqK{Ny}J=VGwu!RPX;34+s23F4$r!`VADnHwctlNT!M1DIJ5S?Sy zo8`f^M)~pQ2pNq2sCQ$j_kR54J%s}XO?@Z%PT*>tA9M{2zgp+mI|ETy>--Sgn#1|U zk6YnwOTKKIQA*AAt+@qF;1tdcteMPA-}l@Zlnmd;waydsb30aj5*9v1Bx8zG4#(jl+I8-PHAYP3+5 zSKQSp{}5uzO83ku?PQf**lniwbLpbDn!o-d-ZOFcIrISX(hXtqGWad9(i3w^yBXdS zURc_V63K@I86OOF>Hg<=#$hyv(||#PF$IV5=X+KML;UQ30Ob}NR!@cl4d*DB$%H2l z$~{T6dycE8agRuYW)u20dfcL*!(8U>(Yj*ayG+v?lnzpoKCsd9sh&;5(aMxuAFj}< zRN2wBCe1B;PwSeHk5_X4C8PtmVhC~JWX~^RIIQ%?4P)R3EUub>Y{0E8zo$)mu%I|F zr$#R}jmJ;UqNYB?d&+`rzwhIu+-k$>Yaz{w_%mViLAl8*O5~AZ=kj0V5pXP!zg7u6 z+=}Z%z{408`fUNKNjAe3$x;2k=+Y1Q0fdpR!_&hH;Lv zN3;AJ&vDLyr&ROVcCGW47!kn(nzTh{NmH^ku1~|;v!M~iB1}nQIve*EAxbn`Q0Ooh z49>ZbGl{}K=)d1b=#95w#*=;s5}FSz8u;K4xA*2Q4!uT1EL?0@gtyrQj-WN@8!$Um zxmPLX6c<-l(TmGPIS(cDe2K#2s~1w`bM~FV8|m#@LamXaPn=`MVDZi@F2cV z5U!nqsD*$EHSZeluTxPWh-m(sP8pIM$F*s#lK^h*1I`oY32S#XMpM6J|-yWQY&B>WB! z=^Z$5b<=g}I^l9QPrWY+HOxd)Gl(Syu*7##VZjZ=53llLBqQlf5c7>5120$S!CkfYu^5dbBFe(Yx-;q?*>TnsTB6|pJC5KgkUyFq)(IPZmX*fqcyy2a4RKxws zk9ZBo(l#2d6zapP@y;o%k2IWQkOLpPK8t8G^v->%w(_jb^nH?C1x@zlLwIXmtPYb4 zQA^0?N;w0nE;O=(zK@gLA53F@kLjP;c=6|NOXElAt!VEVb-dIoj+)bG?qchWwF=nQu#Z*GLX8JM4%mK=5jLu9y#+aFs7E=k~ zn(4Xm@S#uf{nr)Zh8q!i73 z(;q||9|Ri@KY|NlS0BznvJWweLzsYoq$U;2_p8w6;`_6BGN4G0Os^142+=*bsWuLz z@exQJiQxG*CXI>VL2YsHOpf45ltljmZ`{Nnnd3sbJ_0Er5_Q1%NemCVOB@p26v2}y ziOyoSnHZ$3xRAaQfs_!5aC3Enc+i{TkZ5KEPogCH7UqMAk!W^YNa)z1zMl|@QWD0K z9~Vzy1W%$QYQ@d|iIJ!zE~GmnkP;$MO~QB_aq%pQ;7OE3sR=_`5*O0a2&9Bav=z2~ zVk}!87tg&BJc*L1HepEhaUnH?Az>)pKx5h^jIW8&W@TI;tD=Cc{tJK{f;o8jo^{K( zm(_*rSGorF66{yiP*v?$GE}+6YQmBTAcX8!{DR4`ai9@atLr7zgr%%x!t$hJHesIw zKG5|CR20688}SjgtLVqkcoxh^D|Rzw2Js@9>Bkr|Q_^B8AzU;47-QxwlzDk{X8JM4 z%#^g4N(k3XKgO83l`=b`Gt-YTW~QXYR6@9B`Z31LUdo&wotb`&F*7B-I$P-;JHY}( zFe5&~tfC)dq&6kJI$Iezfx0?diA*u?xjI|9*ev{>tFx7hlIV+>tvr>m-HU-H&V=qV z%vQE1Y-fHkvz1S=`ka`#>4;0B%P?D+mN29*X11~jdk%?_Xn9-`U544pli1o#4ARAB zEAE6QbgyCqAu&8FEmJqrA_*sJNdtvivsD2oODp7K6Oc>bnqXGNZ z7+?vJD=T4CTSi0mVhpN8$+ZXfXC>4PUwC;mVE-NiEFp5OP8e0|XsG`G7*vUp>)M2Y z(bl_W(t{7kmk!xJSsJcc&1s_n( zU1b1Dlw803G*Lbt84cLc7+?vJt0G}k-J_v;KL%BzJPJG3r7}dey}+FgAi+buql4%i~oSLvkO!Ac?NJ7+#b_e*+i8+rcIBHG;eFAsC(E z!Ql*sjEKK?*w>rV44tA!UHBkXt2{y=@(4e;B2^wCVdN3nwd9GdJVGGy2tT+HtUN-( z$fE!~GKO*?5P5_j+<;YbA))d}oIC`e@IPLC7Uhz^^Wl4jk9HTDpKk2E(*2pL6@R9( z%|w8e_z0W-^ka-e9woi%kJLJLf_aHx`S=J^n|_Ru+LZLFKT`MD2^JuN8SxROHvJeQ zwJGVY_(EpN+(N#F~Lb$C}*;e8;);COR${jim2g~X%N_ln%l>v;@fTZVRC zowWQHJo0_vzK}^$(H&BD2t<@!NMMw1VvK%-A7fqJ8nzYAJJ7KH!(1ly%85haD<>9x zfmcqj4s4AV;nIm67~ilvUc`54K0UEQ{PfSzOZFomM_~@u=(_MRBvTYT`_B}1#YD*z z1@c9u!fxA{LeMZOs-L1juBa$8MFnD_^oU9d$6USE0yK=QtdWl?AU#&)8o>F_v_K? z;_TN)e2Wr0MKF-?W<9Bik?Ud+7o&tF?4^VuL083rbUnr9(EdeYBq~oBPi9;^m%+v2 ze8RV8KHG4QQIiW5fin9qFQ63Iw>kYCaQ#@yfINnC@Lo= zYBoi6#YD*zl^GM2MN!=`QT-HUjEOQ+R3IiwkEkeX;pz7}Aoskd{UuCA1FmhlDS1SRNP8 zy%9W#O3}j!L#mGpsUZyMZ#GF?85hW^C?H{1&+zqb!~Oq{hJ0{ykZ<1&OW_U-Yu# zzggcm#_ju&^-Yp5q*1PRjNUhjtWU*UPL3rb4TK6l(O5C6VtvE6jGhpxQKWJ`c{K`t z;;HIJs0zd>*E?2k#xH(aGT-$F&vVMNOFkqCn;~)U*&NE;g^#c&Dg8J)wksbqDRXyp zX8JLP%ws$xBThb}T)#c^sd()J76S-(2xL_FLkm!c0H6D?-)9lR)+1l+d^iB*829$} z@8XGieLFIr#a|GA*n1nIy|*F@-Tu9R>Ka00hE9%cuR%ddk{%B#P26Ija(m#CaB_Sg z?w5e44Aq?3jlW}v(BZEOE%Jq~l}GdFTKQuK5pmFnAE73`k8scDZX%T!ha1$1VwxB- zF~;6X`QNaS5{38jumtnOczCZLj`tE-A`fD11Vvvld_iA~*Up=Uw=)609KyQ6W#@-G>E|o90C}6J`zU0Jj=gi^lOn@&zOfxS#Uoaz%$CtUo@m?xlo>stKF?`97 z-_F9}?M#3#FJU5i+4)iuAMc&R@m?xlW+`B=7``~-w{y|(b|%1=J1~2_?0mu8KVE-X zIvnpM@&%<{F)Udgzlrw_Z{nr1kT938<>S*zJaaj zvCTI$+_fw;-=KL)U<# z;qT#R)MInE;Qb{P_#uk>Ya{k4NfT6=G0dDv$n0@0F$Nyrc4{ zEsjJcz@uOFd;vUC-sBLEN4w&nzEmE~Rv=$7{fIpF;*Uq_D%*9C7Q1LYzUd~yY&GI%|&!lPvQHau#ax0zy{CV#Tgf&yB2@f5noj-t#6Wg@*l`3x!#{G6Wl zBeeWi6w**uMj<0r`7DLZ2z7N*CJ0m0xRc!iX>Rx6%--}-JCiEVe^9&N7XG~ zLm{e8vyMVkv}P5Gf&Es+T!w14Ue82NK~PG~^{vVHExdU&xu2~`-^>ipQLOM>^G;WC zVea8opIE)kXT_$ckib2ZwCV}bI3cjM7-8e8g^Srco`sq24@7o28&2laia>K?LATp$ z^xTmzR{F$A1zQl&ssvjR^eRCwf?Z0mE4OXcF8BGQyH{Pu_PXC2f=wrUACGVyz3_dv zH!0V*syDY|wJ1(&1O!c=>HGP)9jp55YHQj_XwaU9V155ncFlb+&~rz5RrL#7!Ak2N z93I=5`+iE1?3CmR_*0DQiZy=QAjSCY0)J4d@30MOTMG1>?0WX7;4e_3%Y^2g&J?C? z&<2gHL)sv)(lhr-6DZ5K>T21aYT5)vwZD7C-J?n^q5`#qPLa2}3!O_>8Gy?8SZ%vya z(!KckHCChltp+aMx zd!4Hl{sJoU80Stxo&(6^(9SJa^Z1gQ4#eaUoBm%QU~3E{Kn%fcR4d!vGHI?+&0emZ z>!9quB-A=AyX#+qE<=6mttFbp^39tEf~?Ho-eF)hMi9xc7|(((y*vY_ZV1zU&nm4r zEnm};REQ3LF8lDJa<*HpePJNjpsg3?pxRE^fnT+)+PjG&wKKi^JLod96t)+oEe<+_ z4*NK5tG1Ru3DdKDF?x(bv1;&^b+nl0UJv}oE=V#~I@s)G>y4}io$U?*WoTKx;JP{3 z)#P=Wm~F5cQ6+jFOL4B7>j)FcmO;ZK;v{k&tD^=ei8w$-zDhh{`P$e^T~!q_$rh-p zj_L=MM%3prpz|*RnEI8slxV6rpc|s33Ibjlu)ZPRZwK=@oN7;LtDJP(K(Jo3vRH%i zo>#@yAsap#3RWSek@}HC{_BTB!TLrBt;5q?57rvYI_D>M-SRoc@U-5#1HMB1}Bra|Yx8MYT3bO@f}3`c!uR*9y57NjhApvfyX zeT1x@It$yoxIPP!^(FX_cfxU!=}O%FDdP8ki3BXg<5>Z$<@JM*wfYQ_(R=|iL7d8= zr{CdE9|yJS%`s2MHU5sCX`JK4*P5w}9-X^0$gHpHQLa>+$$UTR8}b+D;Frc%2OpPoNyKHxgTe4d4~kjfzyXUV_X1Tl|RHFqnlI10^5tPnKyO8~%AdPH7r9SDL8 zq^~@-BRz|G+vvekJQ&HR`~C#R5Md&`DyOIsyvju^ctv~yzgp#gDhTtc)gj-sIEq&! zfC|56{UA#IIss`kew~8oc|7-VdXn_j@A-{g!&2EkP(0XW-RW;$f@k!v$?I=khHs*o zzj?VD5^X%QRF>y&UJ!ojP(vNfB@_Z#Xgu>b=iwLq^EcgY)dcCl2Chq5W@>bFvZ_Cc4la4_sA z1g^=;JOo#?{e;?tR#1ajRhGn?GpE+#{2ByfGApyNftlXZ|Gr3WKTmuRnvb~z>w%uM z#quI0f^{*41jt-#@!K;|P!M_3p%umEW6re2<%?ubISm$u7TzBA6KWqppcVrH5d#p2 z5^8={H9Lf4RtU+g5Ry5=k#r7lXb~i{rP^73JC!~HiB3VHKK0x4iQv@)l1*VQeRy@ySTu9ge^AIs}eT$Hnh$cU+W{A^+o-YXZpl5gw zYL&m96V*{rx8RV!@jki)F;$qqT2qGEeVibI})*oa0;m2KY$_Y!Ed!G+;og8t#| zHAB^(s%CbxTh=&laLZb;>91%D5BvgRR99lrm^{m#CU7I6S z4vMcC^!aSEu4;x<+Rye$c2o9lX6rvF>yvWdT|0jT2KOeaRKu!f6oOe4l&WTApLc!* z$=Gfbbg-LiHSslX_HGGrwt&tUD&qWVzji|oEA3_Hn0*Fd=W1OJYp~h7!OUu8md@-M zKrpvO&~6gu7Uyo5@pw=Dp6Ml;Ag){8kj3_*0so-1H)utR8?^GQ@sK62D_yeZNcI^g z`$=cl44w?ox3~>$*JPKO>T)}4#bO^H4~-i4dLvB!7x2ivAxE=87qrh{WizbDns;uP z&ejjA_RF;jmg_l|>*pgy?%R)_Wb6A`Ri=9&=$wY+Q(0=Z&w(*|5!2{=4*AY95GEDG z1(XnOvKfrQH8X;1@*9%m=5Ykqc^!(24^E}2-_8etD26L$M)(u*5*C(zLHzy#zK?L zR&tdG*UTaWvl|5YCMDCgtZY`inpM@pDNEIg(=--~UDJ%eIruw(KRsv%`c_rfJNeK9 zTY;UD=Py9R*BfD5qkY%lCY&muG|2xlFNhv)fMJ$_LA}FBwkTN_WOP2)jA1&3v!k!p=SN!GJS$La)sF&PyanA<2NDKaCGY7J~5CMv!3 zG%9+n&{3?{z((B8Yi)p25L!iDl$Guwy&6f|p!L{#5v6f(dkk6pwoaPkpj4_>>#tE!u^`z6@wH-_B;sq_Ci^&*daTaiFXnUvwN#!&S_^`86pzC! zj!4XkjgsAXQGme5Y({r4b+pA*)?+kLclQgczQh8)Pm)$_W};gbtmEB&A?*|$kMs}L*_I;vHJMBAZ-1wmec1_wT@iiWG%DPi>VJ;#zy-F;3H~Xl&UoSrSH2nyO z)hFB^_InB;BK>0ZG3J7re8@D%lds2j$r-WQyFy&v1$z}=oh!t9y71R2R_~{${bJSo z_^#0PQ<`B3#HypYrTwdZjmC&o$HlC6j5}B>JE9k>j)=x~3JM6~Q2*O$r&wu!Zs+Rj zJb9C{ed24TT+b6)@wJ6P>;AOQFh;t1>zdEjiqG&Nl27_W%*40C&qI;^7O$_JLpvHY z;-pmB^Ue?qY<=_2h71(wPkm{9v1U{8&CNTv(fKDx{<00|NJX9gVwyZ7f@@iSv03?* zL0=uk7LBwpQ$BnfQIK~p2rOS#Krgeh;!Jcf7$!lSSyZxwXuDY^ZRXo(GzpN616mX9ePbE_~4=;`Y zvce(vNrA6F(Dypj6l#T1{zcY9RBHNDcujVtrkhX`Es9_{B&$l6W|6gX(d7`556T4l z3;A-Y+fO?(RXi*P!cQG4^cWQ!WM#8C6I|0wT9tLA}K^_OQ<|8GI3SOk{=T>_U?(MJhB) zg{COlVmu9#H$+ZV{xc)^v05>5w2?{!>=7fo9rC$=eQB(C^GD!K2VMeu8q<>BU~0+= zj8cKgpRWjYJ{LR0(XuN?z&Tppj}? zCEIp+-_fC9Lr@V~bZNhB4+%a}_-$QW_Fc#Qwr;9>g_v$Tp$=7kTY#ecwlnl4x14|t zxmrLj7|p-L$^=wYwvLsWSpU?!1opO6x|Nl7v(u7o8&vtX*&}AFH~SG&wySrlH@AIl z%BqyyzEw%AkJ&ndt_<`=tfOsy3MHfAx&o8V*2_ve9YNRj-~rYJrq*a(CnnkC?4hYg zm_M!ES;}nPOfQvoOO?G?Wc?pKDb@pN9nRaC>kQcQHET>Ir~#!lV3o!dU|K3vsfr2~ zc#*bNR=SP3wr20En|fNS$FkF;m4fw+TGn>A{8I=!DG_tH`;ol3d-I~{jbR4sfHiuM z8-tA*!okWiSd~Gt9b$GPjlXsiY!1v`V1zJxri2FCEm&D%_AKV=luBig5+k+Bjo=!X z2%H`7W#{z^2QdNKLVsrrHHmIorI;l(m@z; zZ`>{ai8@Ct`cQwZh{$_9amOrVVFs9Y4NGm%HfYL&Yt3w*znF_-&|zi^O=vGGFy|H+ zT=zF*$Og=JMr!grwlFg{O)N|csq-=e_$9#D9#<~!=((6mXT>Hd2Or=y>MJm07nmg- zRb61#6~rofK7mnIlsSL&Y(K=iiiEfyLozEgf;0UXOD1n-CFblB6Q(8S+=n$VSU+Wj z8P)?je_i@vS`DW4edzCt>9a?S5VcZTFCDu!n5nclN_!<^Qzc3pga?6WMFl);e-&G0 z#I$2hnHkebyRpTfMK|B1586%aP9rNY5g$_7F8N_xaLH|ZuAJT9&Cslw3Uyf9qR)pm zqJK4z2%EuNZDZvvOl@ zxe1Hr$|$9uQ;^}(wQAdEdX;e>?SVS+R6-Hy7x4w=`g+(2;brdE$<7jOrFy9>lkJt~ z;e=WY6Hz|Iod%TxWl&KD5r07@Fl$h&RA7O~O9ffV77XfxvAmeQ9n)bJ^A3Z8&}Sya z?=so*%~Ka=C>@bkIvSeQu|7QnjO8{ze`WRPx;?*plBh=bjhcwCTREtyqF0I}eHKZ<*fu8Q(lCVY`Y+P?b(-fPFxzKISNtK<_`t4H9HpzuK;~`YTtk`wD zOGxvvIwJ;cXIYPqRd!;nxsW|(&VJ0)ymPI7m5|%FI*ARj`9|G*6Prv{3x?im7((9Q z4>zL}?PI3wK8*7yYpVNgO_~oy!H8VHo$Zs?;4~Vm*#XE;WT-aQ5Nxa=5NHncDKCkE zBikF-Sv2U+$;5WKKC&w;%#-e=G0!d1Vc9VQ3kQ4 z^}}qm1}e=+%N2X%SFlup&V#+gPWlObr-5b2uEqMjl?8%}mLM1FP^^*aaMp0&rU0j> zflt;Ugx9lnwn(VPSjPsi>e{?hY{OV+^qV^=S^HL=( z(qSo-Y{}{vThg8hH3||Mg9nfp!~NH_SW&GUoMg|)es^jYYfo!KHBK09WM-6^)JY!9 zl&3JK?zvgJ0R^D+K>)0)z4iLLuPYRoPoV&o1u6&A{LV#eLl)?K6ozLTw{Fja^5+2u zRfB=F1_;B`s2ZM~DEk%d2FtA*va;VrsVIA@ukP0CYkA44kg>Kn^(ka~p%I=4QImM3 ze?J!K-+Z-v*f--8zgf{`o@A6PS+v87FBxtMkU>yx zN_tuAO7|2b?U(1+^=rp9Xfb}RM?Yj`dbR=XG^GURj_G!Tt{*dh=HD+*?__qt_g<1z z+Uw5KYFtwqjPjP7DTjc%SY@vyjAy%$#{H3&33|WKPjLK2{k;C5-RN0Oi(Wd9?etjN zQGntv(vIYpby#*U5PWh{q#-8Eu0sv+@P^!ohHOAHkSx*;eYhP*u#OOFhd$B{9dE}r zY6oja3r6ao*ddaUZ$Vmv-XZ@61;Uz)k`0m=HV&Pr`8AMPc>v==ewm1#f;C< zT1tV5<2lblhd-4|MX@3kYbisqgK`u*2%3DSlEt$yPhQF&=JAKn^LY5x&_h#Q?a3aT z`=Lb)ym*FYQIJ=H@GMBAE=Jr}B@a$l3}Iyng!4`OO6mMzlb{@l)LQuY*k7K|)c%giY?e z%^DZh6qdXDwQH_%d$H`b+=V&QGRjEJ3fh;^7qwE=mwHTR^{Cix@|2l^j!cgYi;rFh zR)@>-$TaAep9NDqHY}@QZV0Cydg72BSS}mx^1=$1Ew1uB;^3XMI-X?DgPkB!)_Y7=wEN79MnZ6A&vJ=NVVB7aH*c@g;ZmPqndhg`D@zDgwI&T zXF_c|D_CBlNUkChtYE>g-xZLLCDrWFWo7Iw_eVP4$4S#aV?rwvw$*`Pe00Z1n&gybkbirKZyJF9weXO{I zEnJ}UL5-pNlNu{7T00)3MJITbh_tXMq{MDS(zOe8YfD%M*J8!_T#FgPz5i$?rO)SD z%%JrC;(SOr@BIOyroRXhj(@@81+03xu6h|OUUDbfRpL9D1OXzHBs@W3bL?IiW`k}Y z?C$(vHzyd{PyRQjsq5s0!(+SmdzKgD-am%SSe#;xce&fHxdFq^Q7f?ES0k=EbNK4 zHmt`V$v&FXP@c0cn0*Hz zmTZmQ_feAXLzF%!Rq8#4*}8%3Q@Q~9y8J^-H$B2PXg?Te*Po%~nkpC_Yj5)yen)I6 zU*wP_hXvrjg8l~q+IWt)dNOkix_#5L+uYtkcmK4tQ(0TN zL*Di!u0yr8dbr!Ej1V-zDaMzu1G85yf`H1?Tm!)fYeMqj?oEI{B@zDY|8z|3`RIlV zv&XMI9}{~{W98(c?AeP%@z}E+@gerKA{@h>A5o^^>}d+;;Ou#f(p(~YuH&uKkH(&# zK|18d)g#!mhbt|bhEGxU-)Vd(HoE%NZ8P^1g2sv7wN{S>sT;6oi_Nw&Xg_2~YcM+G z7cqr{QP6zW^&wlR$3uuw?I?1T!R2VBk^>Vdl2~;wv#wncq&<7;dso3sEW9?fBf<5n z>Yo9ZSghvsvRb33N)N*?_g!=w54Qdaca!@?=^0q+k_}cpCO$O*Y@SWa*D%=1Y+?!e zI6FAKADRu`8uOXqbTCdN3+d0{7 zHwIm)s$J^t(Yiiq4vI}rpa~%h6l2>ps@0aX*1)aLI^1xJ3fOpVe}>1msKE`Ezb1Nk zBMbCPQ&DK?AlKdfY#fbown24An0=31`Ia2g8dRQInpp+xofdazJrimhP9;$;@I*5*d~WUc@rI zRMRb$9>=0P=Czm>pOCPi+AU!S!}O&9Y&;?r&~`MYO2Jkw_Gu!%%QV2X^P#Mr@uDfs zOiZSSr&0CnVs;$sYj_tj#HEt`lOR1{5oigaBC>=~Rqe5Px&5ZWChM&T-)if^U$-ox zZ0wTSPt9S6U#@PEX4Q=gB5&Pn`R?;O{veUW_mdnV5G zDuLuJ^qU;;V6MUG+9!{*XkYvu;wYSs@b}fQ3E@p@_!@*IHGCbyEj+wmMv(C!rcE02 zJo<3W^4qwj=eKReZ;fM7`Rnv8YP+x{Bvo$x*3uH0_)PLsRDx>$+JZYBclcgV_$D zAUdDmll8unUxJra<9k|Px6ZxZoBGoX__J@C@XvTEKADSw&|~W+LZ-^U!aeCKA*YiC zS9*eoFd41-A#asJkf+t~4Hm8MWHQQq@dt?6G{J+8rnb{mK0qe!ut2)c3L9@hh_U1{^~ajhy5n|_C=nO@@O zJ*Y@&Sv}&s@_y`*GFLa+w{ZxMysH+dPw9vJAN17Li>EIe#AlQL1#NlRi@-Ao{F?@% zf$+0DjHy1t|DA_(c=$PlHx6OO>lL5uL0xLO6d~V@a>dtdG79E&KS_t)Hx51 z9JqA$vC=N$xZd3@y8A`fINwQ=_?pk{#jhzi%F}<1Yhp(-)u`!6CXvu=Az{r-Cf2*> zkz8q9<8gikflRcsBbkohKw}KnVGB|Iwiz<@ryBOb-Qg)re0{*?>#>XLe$1p5;dx~& zF}lWySzq0(bbN&zg*V4Hh|xYGM;eC(epW_7O+=Zf#ctz_=Ru7G%JWtTYVL9crt zUwkr^y7gV~k^-}XpnZ6Pl~mEK_oJ43j7Wo1EweR$Lc$$l zRxi@7$2nuvLg0JowDCzXt2BW4eW?fI{%hkDq&#=eHtT7EW5v6?apv zy<(ON^d6#Bx_+ht z;g4H6fVtvH0VTYPL_MfMB`X-WJ0@{AZ}J|Hdaih!G63_?yO1bU_QoF(CKjtXvcS%{ zBB$wom2qfGvQdG9hafRgZT9X{Y8!T;Ku&Ak@I5L$so^A}-K00&}*k{fxBP|B>zE*z3V{9!Kr#s|G91-GaU-QNl$NNm>eS759x?V=uY2tB3^ zrB3ug{^p9i^x`DAGnE*Jbxw@gWM2g9^PdQt7IC~m*eQR?c7VZ_ey$x`{aBP%Z4CIW zumw38u-V{*ZS|i1`64;@4ZhJ0|F$_;=d3b{g=OUJ1RYGi*x_U*HCfEgXUG{SYR)!R zd|Np_OD=p2s%8wsmla*{)IBObEY z!t(IJt+UQa*uL1shED&yN={KhU97h7dZG;$QN+3F7qAF0>rq{@qNo>6|7s-t>?-;3 z3#Kn8!%>eDGR%kV0_?n24!Q&~1K~PhJ@)&2aMF|aCFa}zDRyG^Oor=Vn^R!#_K=TD zWtivknRsOKANTRYkB($c>B~&cvg^^ zR$y`6-g6VX!wlco2Aq-lxBrAF_9wZ%yu!V{SL2%2ld|o6xn0vfVyV1c-Y^+XVvph@ zECWjad1Ea2=+t9xOoJOYd=>ltgJ8G@+X`BjQT`pQ#-4H89$Q59W45(dK2J1@mRrtk zS^=MgZ1fGU;uwD-kX!ykL>}Q}*9(*D!t#3?EGAXnk$(FH(_{YODNTb{n7*pIoawNL zP4Xf(y$BpFrI@@Ln|7`ca%-M|HIl4)ICl0!J>scFO(X6E19jbm{Zn6y`H|1Dlc7Lj;^^3Qdtsh$rq-XAq zs+IcZi0+Zub3N}KRD#^HUFjZ1bdN!eYaEpzyD*iMSK=ew5!3+6qxC=bc2%`hbEaed zSGDr%M1ekts1zT;Ru&KbIw9xRT}NutVxzq zrG)}*ru8Q2l$G%Su(S=bW-E6dD%3v1ffV(%tByAvKVQ{R%REFfY# zKS?1!JaGg8h@M>Eag7JX2I${ZcRA&!;nz!BksX{39IszXBV+iivcEu&pHUmKD36pl zNs9}MO!5PGs=D-s+8gy;kQZF=d6GP1l;5-UVyV` z^B`jCgBUR#!71AizgX@>c8`bRrRFpEEO*rBAt^i=3 zf;FE7%2$Q*wM_ZCPx*R4`C6xZHS(_&n-?MXxA3l1#LV{gj9PLY^TnZdEbw-g5uTsJ6stiE?kv8F+&k^_A8!o;`q46sH8SOLby4dXS= z@!-vUYBOzvIDOG#Gj6hvS5t=Srf<~O0$;*{G!+1Tlkh?s)bruL0PmtXWsa6+p5NVT zAlYKOv5-}+ZP6C+1LV8-YN2OVGwos_tm~jcr4=RT}k+DanFp#^^mP(3}5#AmeSyB+74TqrpJs=ZPQt2D#k9X z*B0Z6eUmYN=Gm6T+W9z1|2^nmjN=``L@Wy#)Xht2j;g~po2brj*)?Cmw?>ncg#W|; zX_B(mAqlG3Q4gultl#`1dfAi=WXJYq-;t?a>(1%6!SZsxsRWrRuh*obcT6!O zg(G;o{2cmn?M{>wyg8HCJez;!;S>A*j|xzvD{&$sIOPbC!incF>xXB{WF}&@{Oi&2 z*jcUWG1GqcPrao$0P%ZL`1&f@3TA)nTkJN9#3=qwE&0=yH|XV$u_ysR-y#WR6X>x- zCb3i^U^C9k3)$Hoyt#Exe#_-7_4hce)H7IdcbE@4DGIzviu%8sAfH6*sdDVq^` z{p4S92Zzt4V?OLwtlVPP5JmF&jUBK9FoGx=vjMI`=vgunumC`g4^C;Nu(B;kE(j*7 z5w?A>8pB*9W4#8g<9U1In-0rH&U{@}0DLL;s2e+c0@+x``?=`=)_5*mFc$Dj3~AauXxcc{PGj-a{2Cs?PHnkjh;Z$H{TPHmd&t5z>sm8KNz zp~OHN{lS}J6YZ)qPDSyxHg`aaTULDCQyle;h_CWA6L}pnHC{=i z)C_q|W&J1V0^GChUv@s&kma$pDx_JbkY<7^KK&<~DX-1z{@{oP6d4XH|>2u^u`7={k1C1yfkd6x)q`7}aZShxbq;-544XAb|I#Xo2B&piHFgiqAb zGXcfOKf`R8`n*U#zN`NDu%?~5v)Ht`Y9M%WDa>G`rvwim_$}^&k0BA4d*tal#orW| zJmqFx7Xm5&6v)zjmU|edgi8&%cN$>s7wUC|23UIrcUxBOVb{mx;M309dd^kJSttxO zXWsV$7GX8N-vgC{DSVHR+vPOULPJ3O^+ZT^Amls*4CLGDO6^GQLRzi-dstR->AV4) z{CB~{2u5_i@?$*Q=x#&sTRkURwH$8ay#2_caSHUC`YbkMlifpF*S+!!xby}vz6?ck zQ~e>Nl7EVMAZX$e>$~aaGs;hA_DpY2j(cZNnn0QB>53sNI5N6cj`x|L-|f_jYGtbl#iyKEL;Gs9SZbPMxYcRdwo|Q*|r8c@JF$ zZyB~_5*4!vOe+1w{+Ou6SFVhp-9H64y6%LOT;~6eDjOc6E|ygBT_5gKDA2* zD89334D6o*c?14l__Jn7`qoV)nozv2uipvj_E3L8%XtXTI<{}t1KTyd;!hn?z5x}ZtnAoR9nEN*>JXaR(3$MFc@eQauv;ELzEZ!gbzV7OF@6pra zMNX=TDSvR>UTye&;cCk6elR zHwV4+?NDqFEj!TOezCGFK%&l)^NxLF8UM+kCwF+M{0k4G{5gV7qH2u8=ox||53l*@ zbknhYb?+(1KHl+VpDL2pyVhE(?~uR$Qn?L88L_=b!4IcUYmlaL+n|}fn^DG(gXXdi zJMOuNesj>wfqO)>^z*i9TJ~x1eSJE7gMS<}`pq8)%^KLs2!RMwLVf|dtIttHdi&9J zT4|W3ko3ff&C=sMhnCY|oC&4(Gt7B^KKQ5Ee~g0XPR95CZT?~4Q{_EY#rfYrW*7{v z!~H;>PY(ER2V|-5`eemF73-G294fWh??Oi6LcVML_k(bLD}X?;{-s;)PgMLjQmQ|H z;E8tsY(SWhdF62!a(2KA4?Uu8*l!pxc>zBdhEci;W;Q{xBpAz!cg&- zBgOCL+zTl8j`E?Un~0gdh6J>y6<^uRqAgZ4nC7@oR?ho|IIRC3M6WdMf2akmAOD77 z%Ci`%B1+^UsEtJF`8`uRM5yx&=LTF31DC3zmO^yZ^$F&c_a> zbDzul*S~&f0$o_r1GC)JiUVjw%vrN&J@D@X8$$MRwM)KHfS@-JXu0qqWQU^?Z%}Wn z>;nLwLaW_m2G_8QBl@ZS_0A z&IaS$?(5|DdiPKY!gCR09XWuQ-MfKzKY91tclY&w!*}%9k@_}bet<|CIr!Muz21cp z5pehzW6%`9E<7Xi3M5=$9XWLTCkTZjG~n3Bn8F_`*r<5F{v#^qx{eGpccum3lyDuF z3{63?gOBYy_Ho@lWfkI9;T37a`!|cUh+x`qq(z`z5olKg<=5La80~xikO6I^6jTPO zgWo;$?nm5?PtXpu8|@g*?TFCZF%<3Si*^iN*dr6?9beD#^_7*MgDWF7E}uIyXMFqk z?_`aKrI`NnDpOZzZu_uxhyttWUEXunTcaKh z&m!R~jGn_3dR}-EEB~qq$LTrsD4xZuhp9*?UOjLqdl$BGWbec5Mf%x`IS6n4ZM`D^ zf_pF@9>9Ls!-L`Dr1rzZ>3zk1FhE>s3D6$+_YfsMJQQ!cdWYjl72nl+0HQj*ELfG^`#9dWwL)asLZS-ZOOJz(`&%)&SVk)k_fsxOh2fp3 z0IlHvHWdzn3jbN#Np)FC%@mpt>}^;A zXeaNDh9&zggErJ3nX?8;V^!FytZ;ndlZ!8O_SY|I#i!WIj?tkV9H^T>$B|&oz`?Nz zbVv!-tntl>GH=7Y{rF7Tbh5wcc>i6iJYlP5gs-v;@EL(7vhAAoK~tOi^iaH)PMzPU zr{Wzx)kWU0spdYt6z`dcgx435y%gV&`l(Tr-C$mb*R8JV*#y9hDB?Svh z*+*=R8M>;EP+@159xcG!CP~=;BTB8?Ib6u|Fi$pQ9Q8lE8TXKFIRFc`>8RO%A0T!I z4&aHNgD87t@4d)4=&oiGcLXP}gt7vj1h{!=1IV>2Y~*gxrGY0ao%deA#SK`sVl|l` z8dlQtuI2Q+pDZA&gze*1vUC)$zH1|U4eQvupG+aet5>+#d&I%slcn(1-?m~syn0jE zsugPyXrMqN0=u|eVh{C+C(F&NR;=OFO;nRFP%q@*&6rKYpwaCz(ICePy|sPVdayNo z1D)4??2`u5Cfd_sOy_@sp?nG^Gh&kXk_0@FxFn>Q0a*U&x~V6DVb+{Cb_B9waUCew zsaG(_@h=J;Gu$_dmGxy;vTixNN$8e_2;Y#p8t<74``5kb2MQ)HzH=^p+6ivV#j(Cc zXR+%iExWqVQ_<>+ti#78zKii`%T%@Zo#%NkoO%g)=S&?z-k_;U;=Qm_i7$D=6#toM zFm4H`3iJ2lkUs|A?z+fmn)M_Di&LWQxM~KJ!AgSjmxCMNu4vVErN^31;=m}*iDF9& z^HvHfyyYd&kWww{4iBxfAEm)lXFpEs#wO4J_Nwu)zu+>GVH@!ZOzp!OMF4x%0NTkw zZ4LN%(sXz{3flI@4#AdZ=Kd}7>%^B|gUHi9ino22`PV|wt#6s~j<4^FSx7u| zCSv;y90DuwwpM6xtC*o5dpCa-bMotUG%1N_WhthRf=3VZuKxveH@aVwb7L_!cKb`# zLjFz-s|z0qgR4Jq^-1y86K_2B_t4m1+l)O9kZng(Dm^VTUyJ)kit;i&rX2B{hpkcA zg8RWL%+}%d59?kJn{vb*z`P{b$plM}--B(B+{AXGjr?5C&vpD<%g@F9EaGP=KOOvZ z@zcxCYJN8IvzDLB`MHvxtNFQxpNnA_ZjW5fPX|A1`MHjt1K1!>X5{ur7e9~l^B_O> z@^cSAU*TsnKU?@Yl=H6Va2SX8ad3p!fA{x>ZrYAs_3B zA>bYTSUC72B5xOwgTwg^%$-0~sN}vgn{MN`rZw!r$nnOG-C(|T+rk2W??o4>A~+yW z-s41jL&n~~dy4R1!aK|4Yt}$k3~!h=pniJG_!j>{Y`QhA+n=HYj3H7xZd47F_V1cw zFLESNj;JckJH98FVgZT8YY4t~d ze@2HdkH%*@*d)haQL4kol4xV#ygt;h@W2l}yGL_Bp~)jOaK@q6#2Au2cF$l)n5Eq*sb`d^H}} z#3SLAKr7lo^;w5^E+Qmz6Ob2C=G~NetX_$FjHJ?T;JN(-Z~heUJ#_dGlms$_KpH;= z$Y(fs!Sp{E2tT81`KhUuXlP9&`s85(cWz7@$~=g_9M&}SE#!Dc&q44}-M|wOw-S6J!7tO{ z%ab7RoBgxD5&VK)51Rcm#gsa@z#W!UKe&V6CCh#5mn*v|4-yHaq z{e6LdlHX7b`7`h)g5tLAKzrALc1t>7P|`}2B$k>RsLUdoH8W6VL&mzmN{O@3ZI2ly^C##=sz1Uz(pQQ7rR?p@9af46(lGz>VEtqgj6HYv5QzOWi;4=g09u zMNBM4&+Fmem@2iFf1wR5|uCSJ-n zlonHio-d^7#{qIJf$XIQUnD?6(rMiutEZpBDLNDql1}-DP`XM3@H3H)TU<#@P-O1+sxr6g6^amp;7ZB&05s_2fZ~W)CCO zI-eoBV#zuQM@-dv4Y9KTi1i`p&J3e6YzpwFHz1GqSwuOPLaRfv^hlo*bMov zDXND4qG~+akSw#Xihpt}>3BD0Pp}>#6#NE${+am~cB98X{I@Ej-6-%$uW&cRm*Upso0=x`51?F-x{p>LM&OBs|`Rj-V4 zu)iiyB>lMz!icYxAZaqm5KNlLQO$u^_BRDCV}D=ZBKFq=&XN9^eVFW*zR+)F97IKZb{^2}d z)&vytrTp^)_0*=ockJ&Ad_}&HcRrR;?@5q1*>4VPhu?_`x0u_Rfc0pum^jN2YFbaM zHd9oAhQmtatT#1=%$r8co3(*GV&3cvlyrky4){17^<{)QomzJU>Y->I^f|HzKrF;o zI@tpt7Os)PwiwLqk;6&ZY=}Zl1MS!v=M3SR9C;Ww$n6V!(}sD_xowmKM1A^G6uXj) zGNjgmo_hmL0Ph4neJ?LgNY{CzEcei^oKSAOHs-W4Fa7Og!rwYL8W@kBZ%^$^()#K>ydq;9P}UF1505D zYiL+QsNwP^CJn4bT{$H>2)^6!G?D2tZu-x4_f9kqX5ppE_7fS>$^QlkH-9OUu! z9tU|O?Lx2

ClBl(_~ai7|f@m6=FoT0+WfXc$g-haI9Kw*;0DQWWiDzcx_8g>caY z9OR;NImkt)BiOm<2vPJfz3Bc_^nU85eg2NkCHrk)azH9g!vjy=Lmw4Fe@YDeh{4Ul zyuddIb}D2#Ng>Z-P&d_n3B0u$-g+=izn^k$A|>j#y9wW>z$0L-9F-pEhu$rZs5fmi z`{O^5!xw|CuA4GQna)BPf`BF}Z6lR-mR6dO?^3(Tx*1uA>RJ0yR)w;D2n~{(A|K^N z(74V1$Nwp6(z%s1OWxXt%zLpD7`U%fWjws7R8IB!Q4b90ZcSovK8GXmU6C*CT(Jp8v#$$iJNO z?}CCTNztk5%pu+-K$iC(5P&3qrQ%BD&cGzkZzSNjuYvV?9V@MG5wFWKLWD8m2VTGn zqLfq4lV2g{Bt56773Ht)CO^&Rcs>7U%D<8FAA`CV+8&~3)VE#wWjYP5qZodo{BIFz z+C%wY=#sxVkhk{~_lp^R=XR6cwwZF9DR)h$+_e4*duY&}(;Nr~p3ciDD}aTBD4Gz( zX^1-KC#9eTR|0p*PXf-Rl)sI-wGE0OSC!`XajXSAlfwd2yCDV51*Iy}BtYilDyO?gy@3a$gJ!69;;ABNjkcz#14 zY6&HKBSlsAlmsc5YQ$9I#U3V9l7b=t{4e;C;^A#Tx#HpR;|@9CSmVBaMNpDbC5iD z;9ca1ryNhq94|Tue&#z}dx+&ff}c34Tys=R1MC~z33Nx8N1Q9m#p(RIHJ zc8`8&GD3#aTrL;Im&={~Hh0Ue-l+hk->%-29iJ@Vn+D3R;3F`)u~09fe&A45!>=Ip z@9{tTmc&08paMT-7x*cAH~5d^FZhW1A4KTil$BiUH>W z@%ON=9Jm?J`e9q~95jtza1@5>5PDn4cQ<#r286yZ57yuhmDj@M?d0-yi}L8DoAQ?Y zSIRrc<+XBoeo-F1bW`5I|4Mn2F~_bP7>{TDu&eL{J?W*J@-FEBc zN5AqTeHAO*)o_==ZGih0X}jTGf_oh9R>U>I?S^ZEJL_m)B^-Vsjm_RHxX_++*~*ZoEPpExJJ0A;9B6`gY(0kf*bI2Uu8I46x>9(t5CO0xHvfa zy@I&U;FM#16%{TKZa&-%aQDHz4R-=A`FLOD4!DouM*h-QnFco>t`=?s+-Gp-pFlg{ z{sMOxF80^HN+sMDxHh_f^v2*1>%S zH&O{#X2abL_W@i&k8ouJ+{bW(d!jGkw!-}gm(VL*Sq%3zoEjFc%!S(k=ZCwxcet_% z?f_hPAJ87|4!Her!~3Ey;Woe>fEyZ)Fle)q=!2g_`q|Qd8|eq(PQZno5w4sG7XkM? z-lO49giC~*4d;SekN6wm%Hc-fJr9059R1e+&{tUm2NqxJg4>C(2fh~$$4YDQ0ZJ_{ zTdl=m&e}al!$s7!FeBAE;r8SGTR32<#R;%l9Qdlm!P;7UO;L;e{#txTQCom?Gh8Cv z*?3=&-AJrnJMf6f5V3UU8Jn0~Vne-^@f z5I-BP98SUeaJYUFCJ8W4Q9OPp5qHbLaODBS(QgFeqv58(ZIor2k$xTAPQ;bM{~5H3 zhaUmg47VHZW4ND@-Uj~^+yLM^2W~&&8UcS1a6N$dGvO~r+$)G%g!e_V+`q!#1UDb` zDTi~DkM{$BSqu0@cy}T1jqtC7zZ(8JxXB1_fPWcW5?m(SX1H4r-xK-1hJOd#OK^J; zp9e?3$w-@yxG=b4xWlN=EmR)-EqJG2Kfq+dEr+X>an;iA1D-@bvnP>#dc+qeE3P4l zN+Mh>T-?w^WiWhYFyi1^&q`EWaBC;qNyWA&jLOv8=O4`b!kD=Fx#|m_9+qVO{=f$Z&!3TW$3HXrywg^j^z-yD zcJ+*TE@|uiAJrJEzfHQmXH@j)deto$@t{#;6=ZxI> z_y3Twt9Yo%Gvn#W$C^du9Ce z%Qb;sS(7u|$8Y;`XF+8~%CA?R`SNcYGR|An^6sctKg@V=T|%;V^T5oa2M<2cQa>$o z>aI^ecqz6Dx8mKky6nW}%twu%9$Pm2K<4dh_xd(Gd`{MLFQ%PcpPrsIWaycPKX`gs z);aeMd35&$&u7hP|L2~+Z8(&5@84D&c)@gudFhzTKZ(32$DIFb+qK`Hyv2OM{S)sT z_F1#JASvwleZzh-|0$>U^F8K_zP2J~$B-|o=U>}0I)3JP_pH5k(S&VJeE!NC*E+W4 z{iFXmO7^ZFVqd%Ug81w!pL(gnJ)$go*Q`-z3|jDD_J#XivTeI%hg+Vs z{rJ@Cr>?dPSd#nQxiKC~*4!uk^Nv4iDSUQcf$!%}Ef=|V%{$|zv#gQnS3Xx?nqrN8 z@a7FqOgqkY-_ING z*_wgxgeE9!F0oyi_xEYa(Xtnvc`uKuoqXW^hx10qH@^OH%f7q`hScgIzn(d3TU5-U zZ|53k{op?SNMwBVtS4_CyU(+2byZ z`z5vN#@RQFTs-N5VK2;nAZAYQf{zc+zVT$9aY^`yIS)@6vv&P0Gv}=CH|0fR%<4J! ze7(~$ef_pMQ`P7Fb9?BjT4|F*h#l?YkPs+2$_(#PD+J(!1u)$v*4b^FM!c zZjEQgd#-;d^K#9f^~pFDKd<88U8${8%jfNUYF^Cd;>LNt^PiiXTf2AOS+)axDjLtY z?uo@2Ba^}sulwMW`7t@Yz1QtN>&5EF`#g5t(%f&($w~eEx~K0p$4+QCJAckA2WxJ0 zrRKX2&5L+=^$q!#Kb!FVSLZ&P|3m&63qJq!oBZ!y_=hR?pBK(Qn*Ct?%tx~4KXdub zv70k*#_Whn$Q|+O{GRvBTE1|?kMnn&bVlyoewpp)um6Z$<(X@%UUJQ=6IyP!eK7a7 zXk)_bwgK_a9(%v#SKH0Xo<+;&jV*XgS$^+VTkQpVm9N?_8u90XH*o5f8MXzr^ z;x$f6Dyn`qE_(h9{e7AC!@G_S zUY=41``g%I_Vb$Tw(1*ZzjpDz>{I*ScKn0)M-&fu`>)UMUYT2b+p_$F?d1){zifH= zU!NCjFP?mV`M3A{`g8G3Nxi>X@=|ok-szVW@ z?5gnG_gD5P{c!D@(cyHeP;TTi%Pcj zD|k!X?gg@Nip%?KU?0fVa4Pghy3N~ZGX9GTja$H;$}u2T~}pU@bZFjW0&Tv zT=00GrN4bv{@Q}kMb7K~(eucH2~+z|ykW=XjvEKux?|qfd5(8?O}_7?HFr2(|K;_> zK>RMpq^9F*F75f7<5JI`6J}mAuHsPEv^So3thnOqFYkEy9P9cD*V|Jj+`9GMiUHei z+5XHWeJXEr$Be(|@hO$}mYn=Nd;0a2OPBq6&o}EIsr=k_V#y_8pHxOKdF5Yg4-9rL zT)$v+!UZPh+PXf^g%>PxPCaYn^`<3ToV(Adc-OJXdj8hy zzx;5~XYu29T))5JymPjnI(EI~hX?=cJ{9BM`?K+(zJDuluR6MR)f<)fxStq%;?SR_ zzvb?qzu41|+0*mZ!Z~~54ovhcv%14xz0cv<W!ImVbR! zvTEVWwngQiZ~NQAVM|tTxZ$Ml~g|x_xQ6b@4UadW zshx60@*?Mxljq-3|EEQE$EAxWPI_k1(v;{6!d85>=(<_QE-`(5{+~X%Ct<>&cg%l! zZ|bU^U-w$^r{sn!>ON0;=}+mCe|@I^g0?^9_gVD7+bc#c{`uyJ!_z`=D=STAOB%Z@n-XwB~$J>zj?tOg-iNPy<|(Ds&z}!SC5+8 zvi9vITaMj(3Hwvt1kZ2=B14-hgKZf{l(IVjVX%xKFEkY z4N6Ysf=XvqrE0G(w7a}z&PoVb^Fz`%hlC4kMXJs1w$-SW_A1q3uPpJF0$lNU-DQ;} zs@LgM9nQ)Uuth{gjydv%$|>rs@&o00Dxl#le5kZ{D4!T8dUu<}%jvgcj_--P(V2tR}?3@!)G z%cE7VyGD>jb=yH9`$D^VImLUtPPe@X;Y?eFeWuOfvzu*YZcl>ht#R4aiZV}y&0AQi z7CYU5F@mD@s8MQ}N3C>v)v^kg!(M@V;DMmV?v2&jt{AVlLYd|(F17=;)orWvAUp7& zLxHyxxt#^&_Cg>Kcx+y;t+3Qq;IN~vySJp^lRD@M527#r40p9jQLZv6tyh|qJr5-+ zY69Nj@4>AL=10*_aOwkzin19#Tq4pF@g8@cNipMn@WX)H06N3P0atA!bdJXp6-%li zX555{%KX0u=^26Wn!5$vh;}2mnLdvl%7wvE;&hjJODoJaH%Ns`@jcUQ9(#i7(%wb? zZ2^wPJ5d(uH~24!%1QaItVf+UCMv1VqMwjHAMdV55|!$$7zgO*Hnev>+PejAKI*sz z`S(1AcA>83(P(>=Ng0g%^WnEeniSU+@IeQY6h{vE556V^n7Z)w# zk=BO#&If%H;aqSkXijw_8j{}zSQTZ_JL!#s5#EP(SAh;H>g0l({9KCCy6*Ss;2QP+ zE*;bu&=0f-rNer(`{ocjggxK!Jp%8IYrCh*e2kAaxcQ)WA{>p6HqcVR7?_Vf|8I?t z)+aCq(Z{D7A2gPl;b<(a0UV8wYScR`q+P4=z6JBTyKx?eu}|$#P=9I%zlXF##T-yE zu6}Qv$6;L2IB&bW`*Ci@IB%8XoXXI~IhTiV-d#J?3BZTC-xkuAv`UxHD;S*8(v+gi zKVARGc9~`W%%?dXGJoUHuDCzYuK#5IQW;viDEvp}@19Ml2hkrc5p~*+Hl>8L_vj1% z|7+vcPHnWLMWp`uIwj(~p?ew`UWs4}>hWyP~E83_}JM-;J z!1sur7bffTlKNfQ0RH%Ym~XqV_We=5P2=7AVv6Dn>FZLwtEb_^%1F_!Ef;lc*Z;Kj zXgAuhG^9le%r8yEd%>M`17G7Vm#%gPe3LdJhvFR^$Tuan5`VAb=Ur`3a5I>d1 z@S~7LIjcoZyQlJUFVq)^@X>0a+YXtxvZSAqZ8DoOtyw8qnYh@>>2p9_ zcKTFD*#f&7OoGay+I(Io3Ce{aLXBEjYA;;CqPHjya&x6x0^t)=U_zJEl_dsLK zi%BW-ruqtE46d@6na~ng>lqg}Zd}aRu`%N&Qyp?Vc6W>c!~m|~0H73HzUKA1JPBjQ z*j!~2Z!CIt42GrCGsbGSRRlAP2?@IG4ooJyXN&_wmNd-M_D7eA*Y7`o#Tc)&6Ddxg zC)tK>ETYleW&9?nksiuii7`w#=y%$B2JsZzNd*-R!$9YTs>N<+1&v!(kXtpF(_+;1^&rtm|FkVcbxHNSq@U5}cB4yF3Cr0tVOt1&?sCjm1S!0|E}C*8U-{d3BBlk8co4rqP2_xw4rwTb|gtc5K38j8kOq71DKs7*9xk*`vaF{I5gwC1T>ZpV~?bC*D35ynhnbTE%{D&Q1@HZy>`7=oXVL@%un0(P=+ zrB-3A5<@JeqY8X-!5dRniGhV7i}lD+RzM51TI6FEYZGT1V!UOL`id|cNSuhJwi!u| zBx%!a_c$F8=1^8OjN!Djc1bIBdb}bjmZ=-ck$!K zO`^uRoRtvtMPKVU!B9Z);<6I-F4c~UXX0}I*;N!qNJVZ%h`ur@)oL}5!@6aIX`uvs zxP~Y$>xxM(I+OSTiNS1sSA^{x!xyvw?I81$#7ya(^XW$YD9|EX6&)~&tEV$jk?~p| z^`4{_swxF0eU4By^%elG2)$|p%{2fyS7=?Lc0lj2mn}s7xO*`?ipo3-AiU}VGPN4hcEcOuvI+uYpgv1c& ziB30$tzyLpq8_681|*P0i^RClnr_a@w#q6|9eHeMY1t-AXj-;d^Uz9cW|Y|VIb39S zpzYK<1vP@!Vj`tUJ&BbrY>{Audzo53ml&{F7Auu$v802-Vj61n4V}9_n)FgkA^4Cq z+Wq1Vg{mM&grcM;88ET5Rj;g))=d%TvD@6Vjl&aD@~SebcrnBQTB`&DvJ?Mt+uSvJ z6PZm>*;$YPm@je?i#MX(w#ra_2&D`Co$?rTcBU6Y-BALfArmoGY~hulm002AxGF%c zd46!0OX5)dpxP>#zKQ~fAn0aP9n~-NLdV7EsjyX-Rro4YTZLFG4V9`k`$M>{i$vif zZYcH!1)o)v44Z={IT9o&_~^p2A^~WloRvQc=vX70|G)f?mr5R!l%H)ea_9Ov*2K zkUkzE8LB}(!*FFTSRW)E2(4Ne%t_0k#gd9@@KUnC9vp93GmxiC`GnDEU=(VU%jPY; zhWS6%B{!+|o@+*7Z6^~*NhL&3bfudI7xOYBG!Ihi5U26e7*iz}8=8-@GUV7{uFEDT z+I_ZT06;g==RH-xflX6zUonL=dZS-FrC>8OO_@~Ocrm9*1Pp;=9%zI}!9{i3jA*&w zpgn0GkB_LvHXvJxtqi&&_hbh`YPF&932{Qa!g5wwNGo)eoJ^Q7G!A%7Kt_cTL2rhV z?!@4f%R9)SSeX$f(;AeCA(~8LN-&-lZBTt?nG^a8w=W6&9$duXAOe$+EbJn@hcBq8 z;Y^eA6ZpE|B(f}R*Wb%K#b|R{5(>-~V}ogBbI>wSBMfWMWknq!*?D|mYNVEQgr~Ws zF)kCEpX3@$gHEoz7AK3>1S*h&3t&Q47GcRLTnKzti&-^V?APl`9W_vs&?!N}!019k znYKU%bt0_Sm=++X=x_&&f@qhq6s$?-lEHo;5eIxsTMr1MqpSkV4ML%|e$m)+`3hir zQfbbRYQlU(?9sz$My8J-fI{$^a1}E9u=sj?9_16LRXfS z6~Nv>3^T0N8skLtgO`#_<;{;Y`)65GesXSdJWYvc~~q6}U?==7AH-2$VEA zPAGq9m{w!09IX-BJ2zO?K_jx3Cb%}fWswT61A9Im^l~PcI_u~FG@^nzJS62%pg6D@ zbObgc+&-5WD%@^rlZKmgLux(MRiBJVOq2E%Esh8z^#)#NitL_3cNs)BH}*iNoGRX| zDZrw(fN@iRh(U~vMgvA{i6nHAo>xECqb2#^I#F5T&LU4wlDI(rvl22@gs^O8gfyc`ZC2+;|(vRAmgr01ef zSR@m|f+i`1)Q2XToD0`O_qQRB#fbxKti51p(3S-HNXlE~jf%Xq8cJM;^`ADP)u_1Y$hgUl zyitlVdzRUnZ_3X$&CHqs$w_<9%;G4c!J3wpnV*zSYftxS##EDWhMq=vWTvd-?nw6E0>{MwHZ!~0PW>Mi5E5~+8ivAw_S4F)Pz*$_qiE;mFRiSh7uq^o;x@Q@SZdP?iMN zoNSX0gWf>hXIZSK3{-cfAzg1$x^OboIRZY0xqqUC3%TQl;rGK1w@n`O=?`pG(>2Lyaqu9&Znvu@HbT!L){2Cz6r zn~c8G$1mb@s1x$9&9dYN^!ZAD zx)`BB<|5i^u`*9&CX&^O8X69(Av?ts!cq13G!WY|!;~xOMvOeekU0yD0DDO@3x*@g z$;nJc=UGxsXozIF#PT}uGRd+#4Nfh;-b?w(IhjUU=(Kv|WCqi)EkgrdA2T{5$5wppN=&<9Zx>m#qCK$&*i6E3|diIJJT?+GEFI2VE$HZ9;M}5(o!(Nv5x5l zi#DgF(?XXHmd^`f6p&<-*YkFlm( zV3LFNLl}|dPEC|Owj>s(5j2a5FdB}ERWoQarpWGvg%hGIDg8ldUDJIb20}3Ps22X* zMTJQeIx7yy#Zo&XJ$gkc9E0ON3LWv|!eCI;ByEy@31J0n++{M6@}n^di5cK*OylJA z91D$~Y*Tucf#$E>8)I}j7nIo(l(@0u#>Y>XIBD{gwt_;~%S%ej$`?2)DxI$D-5#%R zVO4d_BElJjGfXoknUYgd)27cz&&bR&Uz=^Q=FH5^n>Cx@qAJTAWVhG+wDIGVw2ARb zq@zfQrAMdVd=s;pPO%+d8*8=gXc0euRmb;^&>i1G^qWf~9S+`lEhW7Ggmu`9Nw~&W zGhWb{WOv#ECdE|WH&t!LP>~_CA}5qN7#|`3qQ^t^rr!rfm4f>|zY8w*3%E$yd4s6U z;er~RNQ0svhM(5T|24c_aT&!K4`J*^Q!DH+-jVu*SwLlZ?Di0It8Qu(6DYDsA;Wl? zv(W3%t(B;%+~YyAa=J7f0m^_PN*X+jJ5tpk!#k;^v|EhYc*;nVg-)hfxJhHh?j~(P z(56upeVzp~9k!J0v}Z!P4=FL~<&mDtS-oYYh^9Zqi3(M-hKLp_v=4k;F*I4 z4>{}Xp~KEOH{!hWFBpE|MHeqs=m1Jt2@bo^u$21}g*u&dCvpwfsID;OK}O*)X06gE*(@tfUhXIQuMZ zU`05*TLz__kFW-7#@lEGutgDP6}EZ-NvFXmzto8p*#Bc-2f{aiF4(9&%B86|44Q>P z@)bUd13{dY4ka1OIR_AyHRO>(G!>Y|$k9n6>{vuH>TEKz(-CF1WO0`OPd1Kwz%Igk z4)z)jfYnI!k)Ej|B0VFx*JKHi*zcrXd84qQZEcL8hyhU`qpy$M?XLpR5e z#l8R+Dz-%kExkcAf_l} z+p`zNxWI3{Y&ZqX+_`g=5p(fvapbshlxJXMToU>HBI9_F;DC8Cy_Z#h>x>aEvE?q> z7MF45E<4^3N1hVv;w^KTCSGDa3q#=Xaz%9ow$7ATZ#CD`Yp=$3nuGZwO(w$4aWt_A zPV-$wT$hleLt`i^R-jWt<0%UA5pC6bgo@HNjs@r(dLR45ZyLOdyn_ z+1Od;AT@%v`mruLaK@G7O-N5p2W@TO+Z2{bh=qHxo}R9*`yeGveVhI*2V zfyE+^>_1pY6zGoAH#e<VLA{8UGtjJ*> z1$yiI9yphX`q945zs)BO+lY_7oRwWLgv=pXoV^0)Tb-m`7h&^+=u`-aOw3t_y&CVJ z2KLH@Y{>_3a0<8*)noCCWM#~AmpUiXgAeR1f^yn1b-ASyL`OF>;2SU-HRg9=qX3MN z$mhC(D56n3&KqEF#^zao&f#wbpm%YUUT+A2bgZwe7$2OWJaA`*3~9g6W6M}8VmZ)W z>GYN0QxUYE4>H3ppw-dmDskgb9frU7rtXilOUnavR9O(13=KqIaSp_TV|^-Ff?);1 zaD_bvQ``zGRfYv(B_9zLpN$D=6K6606Iilk;64njBcWqVJBFl)ew0cdwHV_Whv>LV z-F8%zk7>{>BFG)k82WGg28XBoE}Hp& z0Oog*{2vC;_o-QDp|POvG}0k1OmUKs*aW4Y1J%w3h{G1NkWPVPUOI+WLv#!VNjZ0c zTxJ#R%mMKTx@<~S|QYUd0>iF6EFqxE!yG# zREyQ3P6eAMVTG6n>#bmV)sO=TPreL;S7<@9pONL7*MS`3iVTA@s0*>qfvwO|h2b-G zDyxX#HQ3bkOemGUe2=$@cgU5Tj`Bm#i3pVPs0}Hdq2+_Eh0_H;!l3bKn-W2&!1P%tea1a3O} z%=|!G2(*r8BN8KJ`Eyi=)m)k>6|D%Wr`uMg@Wlui1>(yJDTNW=H5+m)Cb93+VU~kOerofkn=;f2=BdcT9}^LSiJ~nE z)MP3xmK9)N_k%mnQwKz1Y)qy|C zBL>Tjr=D~>Ym`)j**q)8G|My%tG`8<=h}=(N+0BRB_(yx!}ydvH-c|?Bl7dF)Fzfy zJjGeUkO3uzC^Sr3g6NwTI&}xW#1>;UijHREiv`FuCTorveo|QpYKDGgEexyOH%plRf~gsF5qu3_Sm{NJDIKk9yD_mCTUZPL8?Fgf{2JbIu^`p5%;sEVVAV_6{Wzs$fZ3QW?vCzJN$5$Zs z9SGpG9e^}nC7*<})3~M%RR2wPQAbG_&j{`{+ArXKW7(V6-P3ehDQ;=}Z}b?%xQSFr zIRX_$+gLlJ`<*rQk`b4VjJ)jfs8OS@h>nRJ6YRr;DOXLs`kKVk8~o?Yop)XS{L`oZ zY4MU9mewx2v2OW_n{HmY>X!P|4Y%I5=Jq@8Tzl8u_pH13zCW+O|A7Y^AKLKn#z+40 z=%&XWe`52KPd&ZmnZG`}^||L?XnOIbmtT4HwZAoQ+rDGx-(TO=^2VG0*!|Yq@9cT^ zz4!P2^Meofef04s`#=5c^VTm8e0lJzufOpJzCCpKyMKM(_QQ`yj{fxXvE#p-`1Ry( zr`rFw+kg6P4blG7r~i*=e`#2X;)Nqwr}f65>=K7K`t6ZErMGPlro*;@FD&>-FmxVa zizWCDHcu=g{4E@75^TSP^*mPBxnN|%4E55<5X?kc-#b8ih%pq}V|WLda2L|IOqgle ztQXVbDZZL65+AR#?2C&Su(RdsiVXP^V7eF$KNXyXwPvg-`UW@ed-LJsXmt@R^C+i# zIL$=FR~l9Fr+ZlD=>)r;5oK6PaY2NG+8kM?eIH>5Gf7AotBf5tDK-xO$Y>qwtYmwk z@M9svYuW+j6|q`=HHvhvNfRee92Kk^2uE9lLa+>N5OC{C1@=IsN`jS?o9@7#C_WE{ z+8eU)qRsrhh0vlk;}8y|Wx+5FdPBy-J~uiZ#|Kyw($0c_`^z);tOUu*h!60j-os}T zNE6k~-5TDG_+(+UmJ^$fVQZ+wZinCod#MdKS`fcg@iA;=47fZF!UGA*UxL@m+zB8K z6d%2h!S1y}M-y_PRaN1yIS@{q#lb)Z7V38lNP-~JN@Y!a>rZMTpSw>pYlcMV{#6R; zz)~!uaJ&|#y$0=vDtGyjiGd>7)Ih$}`MTSO5ps=Dmr^NTjxbz?$byP8!)|xQ80cGZ zMcL99cg%i+{R=qP(P@-LiTg?T{DOxIX{Y;9inL$g>9aBKlGaZ=rW3kPr?q#gJ>EQ+zW?S<1ARIPsMmeHzW}q;xSx=+j4C?o~R_ z4=_wx@|ln_58j2np87(l^J01sgP{+zVKbJNH^N8UAC@YT%ptSE)O@p%=b8=cQfL zQKP+}b+9ia?OC5CNU1Yx(-7*I(*V=qUBaqy zF=X|?=DmXn(Jc%L`vWi`IOwiQmPhCmrQqpYKE>1NH&79*n~;hc3wA+faP7O`WZ1%? z>hX7CAQIWOz4S$~7?>s!=;Y>H+dt#e!WMx|@wo$uX|+aq)VcfIrehvx~+6 zedg!Ze447MkyIML38NajK(muOhP7A97HLSkXg6vN^w z*Bx*Ns(7vL^py)bO8fmm&V_8_p_26+2`s1!a+(LqL$V^6Q@)Xk&ckwuQ z%99;X;KKL-GqB^XSGi+{+tujg1?DjAkK&{2;N;e>%t7^WNEch2ya$r4T_(jH78iSE z(6lYB=hPqaGlsEoW205Ei%R?#eaX3C?o+TE!Rr@a$isE#5E#!6HX z^{sy13FcRET@LZDN-5Y;LDU~=ltv=9d!|4~5Ij#dS~3}eDkqj{?y~7bGZ4GJJ+6uhC=tc5D!a)!#R*le8j0_h@3Ha#1y}YZjgkG-Tyilain&Ns3J#ja0N= z()2k!Je{Wl@8tXR35wByZXNZj(50RFjsB*OI30v;`W;w0ofU))-Ph~5m8a6ZirCb{ zM$96++Zh9~5q~oX$3%;2U}KOnAd!lyNs@?cd5jbl=nZ3b>q#CDkWnB-}9z>4N1Mj4rJ}x}=5FGrnf2a@x~2J-?~Gx3fkt9w}OTnwFdz(^rb2#gu>JPh1Va-;Uh?Nxjv2rgTy z$wNf%khQM}`Yv6#Ko@>SVpPIXiNiR;l7qYZsMCC|Zu6Y305ytJP#(6)(Kk2{#XL4v zm}mrU;;ERQ@*|g+m<0Y$RHxzE%1#wv8UGW@Gn>FYVOFG7kgRBDAyMJPjavD=MAOvErT$ zhl(G5^Ow1Zd_ zi|uu>0iY>}xbe7m+X!ZMy< z%rd@}!ZMyKWRmMA>pZC(qx$Wg6>YCAJIQu z1eyNKsPIno&y?{*=PVf}T7fn3FCF1)Wq2^c*)qHrw6e(XI)nuka83f@92rmaoGHUZ zPwsTQ6W#J;JkgWBDWD(GhdWff^7CRmr@&D>(dizz=iv6j9f2EyHpjtb!eu}mw8B)J zi{;K*>Qj>4Wr_u76D__27rY)el2~tr3$M!Q zx5rPvaU9%($C)?WTLmrBfeW$m_5Ik`@j?&L?%1La7qoBa@vRoLLaf$fvGF*3WQx+G z7T=%4?+HI1elPfm@WbGzOFs{OZ@d@5S4Ki6BYyMD0)8*}(d0K`Ucm2%eChD}!_R|1 z0DdX_aMWut{2mz0YvA{UzZrfn_&eeEg})zu82mQ)z2S#lmZJ259|3z-{4*4={JnsoTod`q%cMryvvoN6Ne#&`|5V8xV#TIA!d5*e48lah+kGm<6< z7|V<_^K@~~6z8#;m~C>{I13kL&A=@gxJQdL3Yc#N|kt zCfu*V@wjn>@0k!df@wy1pH9bkT!a%EZ#G)TN<5)uj_Vu;cF+Yb+Ze28Y6f>EmqoDV zY*0<33F^le^B9aK+%ZH63}>Kj5`R-D_^|PCc|rxck7>s zKoJywk&Cul$@C__B?`ICIy9f1|B4H4o%|!&=$k#wq}BP@N5^wJ&`;&Jiof%fVrX5Y zMFZ;#>AWEo#>AR-3=0eQdVEg)}szXSvX zgu_GL91su@ZDSkT*lHWcIL1-O*v2-t+Qw1G7`2UUY~!eHY-1Z+ZQ~f**lOGUjbj|| zZ`I!WoXzn7_MQH|d*^<4>!MCot+i^^bJwm~wTf0J@sXN~>h=;2P{8Qr94w1S%0$Y6 zcHZcM72)_JHgU0G%&%0krB1e#B%#&F!anzj6`wLg)Remh50?vL^_n;N&1B^54G5N6 zu}%Vm3e*PPn3jEH@FId5cKm3zqMKg3yx8ZSS_s{YbjiURJD|L>YnBxry(ne6g9o2G z+LCDKyVW-Vu~iVrZ8~#8;{$MVQV?!sf$j|=`#!YyYTrQV`Swbmp#tVU;2Jx)Mn$9*= z8@{t~l7%z|6ynB<0$W_XN;Q7a)dHPE^IR-i$zV1n#MN~SH3h;{5-ZVk%ekOiqNs-b zAC(G6m!L$fWMw4MuupBVh((jlw33Oji;SB?MIXmz#fz*Je6d3NPlda?HFY(t7_^-# zoy`(Qwz)AJSGMXX$|FgQjAW2lDhz6Dc?kugNnaQP)Xa6sE5%Q!VJ5vLMyAuSn2NoZ zI_$>q8>d6~i_>qh)G!**5;85ovV!K91ld73jGe-UB2Cj(Fq?`zlPZjQpP$SY(`%t1 zI~}`aqNrpMrK`rD>KUehl$97zDuv`IthGx}aK~>=zS$z5C=^(VazZ}p;v^#p!GB2% z8P7qavEXQAH5DXxZtnDIQ|2T9H%WFWg}xRtBBcM!#Zb zw$c1x^q+3sqO~H*mnIEiyF`)B-|~o!H?cQhosrBx45=Iq9Z70{3Mz_F%R|dx z^C7AuUHG(k-H6leyb%MeoC|leXmI&a0mVSK2Vm^Sh&aUH0qen}R-%(XKRdulA;C(% zXcAAuUsEP(SxEaAyOeAyg(9L(Me^%tfP$(q@}{}mfYu>IRQ}W@hOExc);3z5A6gDX z&Z~n6yPo`(u@~z=tXqL*KAmxXoxgCRb6DQ|z8%^DJ642b*hUaWJW;<#JsB7(6Uvut zV%N}a8yl(l=@c`BNUO@&o~wrT2(7Q+6QCKynz9t?ita|iG#JQa#+&qrUZc{`AgOt@ zeZt=^N{ZNI`8jc>#`f-TxV&K6Whzu2X>gDZ72D_`#b)s>&vzgVPwap(3khO8&fuU3 z)N@F|tiaGRl5oS0jab>5fk|2>5?slMrAhyFYKgFzZAy6w?{f+ZQa1M{(-WJa(B;3v#X}WOpA^7 z^_lGD?ZJ^Ii}0WG2dzK;_+!TAA4k9AxB&PA;16KG34?z7695A`*y7n0!~~Q_O^KTn zGi?Fk#JQ0@0XFx;K!+JV){Nm2O>=EEiy)W$u>ZyUD z+~CqDF%C2G3WgMpGa_V{fDF_0w(|D4NJ!crfcBz@sY@Y|O-d#M4_Y@cnZR7qzTpJ> z39#{idrlB9y+)*DiAg%Q%hTE1YXfqqvCzcqEmw_LE2oV8;(vSx#*IVzktQ=ciJ zHy+xqAFm5cb19LRM_>qU&J-_2g=OSA1)pSKSo4YVh?CnX-HYtbQy}|1Ss^u1D@X#L;^=#=oEk@QU|W>C;u zXL(fXkZH%N>yw$sfTXPG1dTMBvIqFo&=f2QwHjpy_z32)J_`Y#qy$xg;(tt zTBF1-TvjW=VKXqa09I^1w2BFOeh!CQzW8fcaQGjly|LCNl#|e`_{PT!Dez}OsRL@^ zNE-G~#Izu>_afiS8joOy9;#f0iMebs4lY}y*GU>*u!X>^9|^VZqZ!uN zsT>$i@Kpq1{gq!7;0-D8D8LE?BIb|r}}BAdPPN1i}akdv5E z5E`Wr#udJ~QE3PmG@<8lC_qdB@koKv7j*tntLmw>fDh!BmhM*ZlpFBDfsOAxKa^st zAG@oIl0$c7W`d}CXmN_pPqBlxyj36+Iy)4r;muUPNeVhGO0CL^wn<1!S71e7xT5T8 z!TF*AHoaZcR>puQ#)ixEnIt=W>qVw$+~9?O73?Tm?W zqC7~9eM_qAP7J_(sZC;D`GbAb?s_^YRbkE1SNuW7vq(7-ijjdd?GxybNl_&cw)rq( zu>-h??8{VqAMrT|6~z%+jz=xDwfX<3Fn`#ttA(9Jk(oFRp@lzw_@G4pfqcc4aK3cK zPeOh|Aa)JZ6I)}#LI-cgi{IyiEy;ge{zN(0Coyl55bs!&C2lUJg-crfp%*1<_&9b* z2aGT&q=w+vSPR{7dj9XrBkaNOY&cu+vImR<*a2(+4uG)$YXB>(us7|Y8hpx}#KI6W zD#oAf=a;cr`$cJ^af$s3KWHfnJq>HlM9*d(kh7<{leCGWu-2pQTD-nGGX%P!YLSYe?Mr~vfKZLPX1q8kVi_;iPl1*d)(UiQ}Mj* zR9XxZWD<4iF;x;0#j#bqy|JKx^Sub=YXQxRW-(aEqm2zltFa-Y9)z&x#I)sUCeP0! zNfMN?23Pzt8x~c}JH8A2#Dby`LOo^)V!j?P)K3v)6f6Mnh8V>LBNDPK(C|Vk#$s7V zY1*L17{aLIbC@`Wp+p4slCgrld33%ZUdJU%W*GK#Vr%mj2h7*sC$IArWKee=u{(K- z@``N_^(8FIv$qs%yehD}juYY-UDzP5#ap{R#C(ebHoZ#3H2#ivNf>Key2dYcS*x?p zzayv*3$kgaBbv9M)6a~r?mUQlToOLKQoZ^OhGWjSfP)>H@9kqIv4nfz*)8<~9X~CF zh7!$##d8C+pNiQi?)$;@NeQKFbxr!-r}zT8mn#|9FQvm?2by{vwMsy&q)MDU zFHmEGCr#cP>s*=bL02(-S`3Ckc-Dp4M|vHuZs09|Fx?jHyWz8&1>&uZ<@CmOn$hs{ zSh47YOFTUq`THmNzQN!82@@$|YobwNXp~R}QW*#VvSFK(_7Z5g_wp9r<@_-XwzYuF z@P)+7NUu5gp$9r$$O@ZqiSs^zp56RN6FS}`9NEEF-*e6uVTZEj(p#`wK{gn~{>%6X zN-07eVVs}Gg2hEy$llt6dr4qoySjF$iET{ikpeSQM>e?my^>1yWkk~$PE}n=1&a3r z_IO)y%5KD*V?9t&*vXEm3B!Uv*7DS0tV>e}=5Ok>==%#y1cJs$c)PAv$g(8FAl~C@IGNYOQaHWNbKgyWS zz=)@lXzdOkMtC1nDdTJwvoaxE%39Y5!$S~_@!Qr ze@hi*r;{ov<--pbEGFj`;(HlKM{3@%Zi)p%g9Qb-=`>Tt$V{UWsc+Hj1YGLch`(mf zCH;-`5zs!HTZoRo8W-o@c>5;2v6M=cs=YBvk%iml+2KcQ3W~ZWY^=ZxiN7V5DVXJV zHP0mVj6VFOW3%a^Or*Yp?QGH3AyelG31(iBQq-4FkL1v?%z@^s`dhI9mV&WyhBfxTYQ#kiLoXY{k12O>(XHvKlasgd{MS#_S4*+`s?q8*_G@GmEC~2QIhc`Qb z4@_nb1Lx}zPOTn05tMfo@=JL6Nx0Zjm}_&nq%;dB1Mwq_$Nhejfm@un>E9NDOU--Q`AUB~XZF3khd9 z5r!v9LF?W)GlvU{gV7Qb={`kLjjjr_+s}q@aHZ)RM-~+f3`)SS%jnUh5CyZKl;;z%P$yMgl4yex*GD1BzxhSFKjY zC6Q7Go)SL~m7n10rQcXwQ}U*?I8zI(*O5IRln8nXijprQh9`D5{w@s;H)ujjKRL-S zH=&fj^$=$rh~H2=R_fI~Py=kNC*x+cG{nrHVR{Q=aP8H2pJM!@qpoPXJ*uecmiZhr zG8u)B5i&M8)TOGzejZ-J3N=^y&|~_Fw0lA`PNi_`xEh1MxC46G>hT6is+E=Tn!=oc zGR`k!ksPAD^tDNJ>Lo1@sxg6ADdbDAPc5QTBcwS6p|X65{5qBO^zk4Ldn1Y=l|!J@ zDF)$b$swQ*6@&0NRS5c9sYi=PZJ|e+N0tYje8at8L;jOFTn|+!W|{mV9qS|LCe%|9 z?ng%e{CMSAH6hgt;#gmz-_#BzJ8)WL3XK*dj0b@)G}3TDUs=nW<{*nhdcy$XgGUyW>d>5WWCA4yWqOreVxRwJkS0vm9nb$$tf(5i=*1rp!|<}pMJFI)ifdKNV4 ziHlgwnm${Cqw!mshFF{$8cm*=?z#?SUAUyiM;0ES9ScoQ+U0niP(vriDPd+^2}`4} z_N%7D%k4G2OpQ$R-SB#rwaXcnX_}>l%fH)c?M)-YYdAEgVe1IN{$c*Xk^Vv9L)us( zl=xHd<(b@zi4jfX@Ij_l2ZOm8v@kxL@fg~U63JpVjx1stku!(Zt&)4Ss9`&qzFP3j z%BqQEq0WM2q%!kX`N(!AVNpVo{NRgE(4`YpAkiX8u^V3s&1|$}L|8-C&`_RIm0j6j zMn;2L>$Rkkw9nV%lBPW(pOKhQLy>e|YCBTC=**%u9`VgUpBvu%Jr*b}bfbFMn?NRC zONCuuLDeA1@38#Dj)@|NF^y4pj$D44w#qXbHcc@Ve%1B04B&mDK1VtX3hmZtw7&U- zhvb)T71AE^cui9_YShqnrL=rBvhz0UhX^GZ(cYK_Ily}u^Dc}GtdnZ;B(xcF1SPdZ zhRn+#j!Q%9Z#Wu!ouLWvb9H(@Rlsc=42#eGC!nT{(e5W33wsmHf|h_ zNzZ27q-F5;^Lza!^#2*Z>>Okob}MP|kiK2$8NIBBDK{!Ky!vtJ9nSCJZt{XkVH5sM zc=EN-f_uWE_>W-r4a`dfeK?G*q5dJv701~3s#3X+0DA$S0lox$3-}wrxEl5!0A7Fy zKqjCZ&;@u4@IK&Uz!!jT06ze1=fE}uAOesJXaFn%ya(6|_#AK(@IAo124{!??f@@9 z1i-u!->z_z0GWVXKnb7$&<^MVEC4J5ybX8<@Gjs3z+S+|fa8GA02csX0lon|0{j3l zu7!-pQaD?<3V<&l0+0mA1=IrC0dE7|1#AI)1ULk^0JsVG4qyv8{|47ki97%l0AD~n zpaf6_=mjhSya(6b6&QzSz6Mu)ZbNoDQ1V@%X_}`IO*TWT(T?xE}bTvM!0xn16XX)n@ ziFEu~XxP|qrVoCeR}d8ebW~x9tC3xcB8JoSk)w;~tD6(q`jLc4G*l$)5A0eEzLE-9Y%nkFpu?mcnhMi(OYjY)Gfq^)Ih!4zkcAA7CXm~Iks@m6R zr!v}hm9iVkL4CCL`C5BI{~}q)#8_WG833(5i$`4c+s;H5KqJ^L&s9guc#pv^TJS3%f zI{B_M9?~M7orl#Kj~YNcJN-_pXHk$X5N|T9r?K}LS#L%V^qoUhejfh8{2wfS1!FOs z{i*S&0WzsWv%f@-4o+kq-D(0xDy0G`TR|h`tVRe;D58JT{>$6Oh*2vFyW)p6_&{<|H4m1b}PK-z&7zOVEta9?)bnP z5+u$YHB0je;;BsHsUw)Dz;YtaY4Zzsgs1ij3}N$}Y!EX9#7n$9f~0aZ2|`}r>WX4S zYGHUhwO2@zUz4G0dS735;b_(gG7ehxXqRX!{6CE@HI^7@Uxc3+6Gve~Rbbv((?VN; zum#$Q5wwllu0#z-d3SGuSTj#!>*?ep%q3oSX-b)Y_LimuBlqf!-86Fx(57}}Q zG)Ab*TCtl!ss;75Nd-T?WQUx>9LiHr&r*pTsJUSQyqcDf1>F-c<@3O6LP;~Aksq%u ztX^w34boW>a!aCd!fY*z-!+itU(;@|+algnHe#ER;L#QXVxNSmH*3|s z4vaUfcL^mg1{RD+esvy)v@r>`D2b?bMQ;W)Nsi2SiwZzg6I5>M07=EF!?Y_H_(C0% zW|@j_A*fbOjVjbiG*ipD_ z{C)8^Z4kZ__L#QDbMf2aIjaxw+d7%!tdhB^v4}%B-J!(c_f61NAzVQKx|;}7*d}wU z$0c)%@Ov-f<3W3q!U#YYzk{d0xhtN_MVgB&k~u5OWNr(98v`7`Bk&^J;{Zx)HSiR` z`vG#xz*7O9?SScxUDLa1M-b&@^$E%faV$^B59KM>gXgo_kI&NtFId6X%xy)j?j9xsNY*O&@#Mb_`dwP)svSEFDdmE=#WRyFX)Rm8PfXdJL@F|4Ds z*3jZ@H6hZzG1goK3p;o}tM{a67{U~yRfYxS_GHc(H5Z{JrdfHm5-(!Re1py@$Crv zNA-=ssYuryeQ21zu?2l%3uGg>fV8P^1p2~H;ehy0Q@IS}MeHYq@E5@U1KeC8Z&gAc z*(>BNFaYU=@_7*Z$X?{FeKPtbc>kmFCieRakRzA!2zZ3w3UY_(_f^MIxiU$9a=SI- zd!f*ZYI&WO0$L1*E(GpuosNsklF_4tN-k(5{};*DCoj9P8w{MEH8r;xt8`dV+yCKcXiPp zx{zn-IFOF54qCgX{xls2h)8(4n3l~JBwIr4@^tD*bXhW5JdP_gDAYF0u@B1kv9?a0 ziSUjGE@fWP!?ZMOsxi9(f6QW(o$SmX-C6;mB#(i<9w(O>8Jd}z7+a39Fn=%LC)3v? zg?F5Pas0scYX|O?{d#8PW9!GIAN(lpXP0MB*!A8o)Q$hJeMQEvx8*gTcKr5d7u{tWe!nzq%-`C#%(WVK z;sZzH=J1J`J!zf?KG_?(-+V&kj9+|}o%7rG%bv9PH~i&Ct6+?1d#`Qp=WiM7pMK}R zUVXayesk^z&$d1P^sl`gznSz)uPamr=adiKs2l>Kv%aIU_~hF1#Z(><2hyHUnK)iB z`Zp?H`!EHfBN{<^6x9GTZl0 z@$qs2mSmerE-hrSkocdZ;|R^?gdIOqYD~ z^HwU?FJB}arLsLxV7-LOch`-&zfc)l1%K>E_@g#KeYyrGpUaB0;hjM^|WUF_ZO(H0zWO3QGGe&Km0w_nbl5Z z5!KriMMp8!-Jy#|f~o#Kzwo<5REGt-67r}XH{Ac}4XVoz(>C6s`mC9C<`mWG*`Flb zrg~M~uIZt=-FE0#zo+{B;a3kUsE(@w>=UV;J9j6fQ6rz}+d@V@t8>39G2`>0)QXDjVXQfIv5 znAD8L-|Tes&-(u~nY;9t^+!6Nw8lg|&DlPfKPK;;2BVF;t}bzLJa@B9?7}$X&q+Za z5h57kHv!E@rSSf7&6qSjIiJjr(8&n4c>z@JbBtN5=ir@GgLlSYGIzW-8Q*wp6cL9j z;Wz}|&ZIgbDy4yzw=1CeJF~jETS?1c_)v5BHP-MQQ@Hr?DO@hh*8%9Vf$6x82(}9A zgJ~$E^pl1AXENEHkZiPuj+{!FUCCnD%V3Bzh;(MIFy}1yKb@)zYejVT5frzJX@Ax3_0bGE;Jv8NwzrFW{Ll*xO_I*KVh~M5U zylDbj+0&5iiiggEsUjPqX>mpnn>J9O8riv*wleSXG^VrO*=DeLkVaZ`q7?GYtPTM=l9z4ZSDEH_V*pFw9KCxv?l?p~Opmi7;^ zEwO$^{Typ+y85};mPT7+3*3SBhPL#`Q}-I%-XgTIg1@hy(|7(B$i5!3i|y%S_-|_E z<$pt8{~U5}mgEC(j=|4&bKI&=u%}295j^^s)fjPd%ug(Ee%l6TyPY`~&V%!YC8_{e zsEy`gu{WNI`zLZ>-?kKXbCp~@*Tl7O9o!(dgj>$7;MU>xhE3cyZU?uU+mBluj&Ucr zQ`~9p5_f~U&E4VdaSyr2+zU=mPp)U7XQ^kW=cwnT=b;y(7p@nn7ps?{m#0^zSD{y} zSFhKm*R9vDH>kH%Z>8QEy$yQX^tS8m(c7nYQ16J|3B5CV=k(6&UDCUucUSMe-V?oN zdN1`%^v(30_1*OS^h5L`^`rF@^fUDH^o#XN^(*z2`i=Tc`aSxK^_S=`(_g8-R)3xT zR{ibzyY%<#AJsple_sEJ{&oG^`gipo>Oa+guCHfcWME_9Y~XF+V-RK#ZV+t{YmjPC zWKe2QW>9I+V$flrGUzc_VX(?zy}?$4od&xN_8S~FIBjs&;G)45gBu2S3?3UiHF#n0 z(m-x#VrXgTXy|0yLh2dJmO@`YHcN*?9 zJZgBt@U-DM!}Erh4R0CVH+*UM%Fw{b#K_FZ+Q`nx-pI+w)5zN>z$nkC*r>utY1Cu1 z*l3l}TBCJF8;mv^?J(M9wA*OE(J`YlMrV!A8(lQIY;?`&uF(^t7e;cKh0I!JFLRN( z$$Vr1vRGMyELD~+%aRqyiezOnrL0djC|e?1D%&L6D%&R8EjuhbB0D8JC%YuOD!UHnE03kn1q=mnxva# zndF!hnUtDTnlzbonDm$|HCb-5%4DO-Hj|wuyG>4;Ts66Ea^K{k$y1YOCNE8FOkGS} zO@mA$O=C^dO^Z#dO>0c+P1{VnP5Vs;O&6OkHCdcyR) z=~dG^rgu#rm_9arVrpP!ZDwcYWaeh(ZRTedXO?P~XI5-hVWu=|GwU~7Znn~Ft=R^% zjb;bU4x61cJ8O2{?7G=4vwLPw&0d(v&CSfM%{|Nm%!AAm%*)Ix&8y8@%vI(+=1a_% zo3AlnXTHgNzxe_4!{$fKPn+L1zhi#i{IU5n^B3lN76ulU7B&_x7OoaP7Je477I79i z7DX0~7JU|rEtXm=vshuV(qfy%E{lT}M=efUoUu4(amnJc#WjmN7I!V4SiH1&WnnVL zevI=N*D;=B0>*@mi5`-rkj~N)VY|N@L>&9#xvv177F^9*T9CLBZ zy_3Ut+!flx87mB%lf4CDeH^YSFG<^KeT>o{leN}tn*lxv2J6% z$NG#78XG<~VQlKyg0YojJI1QU_Kh7FyK3zEv3thuAA4Zz;jzcYo)~*>?8UJ+#=aaY zx3REswDGj@vkA9Jv`Mx}x5=?7wyChGw`sI#vFW#2Y_rT}h0Pk9wKkhv3YLu%Ermo)i%I3#5USC**43z)V9gC&9=j~+jgbx2HVZHTW$B* z9<)7bd)D@{?QPq;wnlblcGhmIju-1>2w$L$=qXWW5tN5`EUcYfTZaaYG(8+U8mopJZaJs9_F-1BiJ z_LlZ;_MY}3_6hbC_BHlB_WkxN?bq3FwBKyM-G0CQVf$nDXY9|~U$(zxf6xAj{Zso_ z_HqXs2WN*chj52zheU^Thb)I8hkAz&haQIkhe3y>4yznCI&5;-;jr6bzr$gN6Aq^x zE;?Lsxax4j;f}+7ho=rN9qb&P9D^J~9FrZ>9rGN^9Qzy>JFazH@3_Hno8wN$U5@)4 z4>+E7JnwkT@qyz@M}zT3{dAajC=MB!AowqyhaNh5H(D{_}73XWtx166kKX=xf zD4%FH(PpCkM30F+69Xp3PE4PeH8E#m%fya}%O|dyxNhRsiMuBrnRsI2sfnj2o}GAo z;_ZnKCqA3_a-yD#g^Q(&lS`yax=V&jo=d$;w@bgvQkOL@>s>auY;xJ|vd86s%Mq7L zF1K9ny4-hp;_}MHTH&N{R(L9KU|bQRNL6Gh@)VT{oHAB4DtZ(Hisg!}id~9*io=SN zic^Z)io1#jiie69idPB?R~y$b*96ye*BsYU*D}{iSC#94>r&TsuIpX5y6$n^?|Q)X zgzIV7E3VgF@3`J`eeC+w^@Xd!B$G*&lbj~GPV$)KGbw0NYg+> zY3Zb8lh#byG->msZIcd8Iy&jvq+65jOnNZs*(3uu6E`zAPd9J30JjjgFt=p4JhuY3 zQnwnnCbuPStK8PP?Qq-ew$JUD+bOp*ZkOGzyWMts==Q|zxto!@nY+Eaqr10ztb2lc zqI;HmrF*@5lY5{0fcv2PQumGSTiy4#A8i*3Ag}a`I z+{4Dh(Zkat$RpMx(Idkn2f8zhJyv?G^;qw*$z!v}E{}a4M?KDYocFluam(YG$8!&( z$!3!+C)-W-oa{Y0Y;yGExXBrl3nrINR!(l5+%~y?^5V%$Ca;>jaq{NLyC?6Td=iVt zXD45te0}o6$xkQSdpdfCd4_vtc@}sUc~*KhdA4|}JbOF`J=b||^xWjR!*h@4e$T_6 zCp=GiUi7@}`OwqAOYUXiW#i@K<>KY)733A`73Y=imFHFFRpC|bRqxg9wb*OD*JiIH zUPrx7cwP3o>UGWQhSvkHXI=*0M&8!muHJ6mao(xk72ZnkM(;N7Zto@D%e+^4Z}i^k zy~BH#_c8C2-j}_vc;EKE=l#I@iMQSqn<>syJa7eh&Xl4ll~a^cnx?c&QB7GgW%-m9 zQ`S$}H0AJ=BU4UIIXC6{l-pD8PkB7$#S|MKPoE&45T96|IG+rk9G@beMxPd+HlKc< zl|JizHu!Aw+3vH`=cvy)pSwQyeV+I{_j&1K;%n(^@9X9p;2Y)}>6_qN>|5&F=-cDF z*ms%lTHnpSyM6cj9`rryd*1h&?=9ckzW00|`o8j&`#Jl$_(l6A`lb72`BnQV{W|=X z`)%^u>bKKxzuy7BQ+}uYF8ST?)AKj*m-}1zJNmo$d-(f7RWRH?(m&3>*uTub&A-oo z(0{4_TL1O_oBX%=Z};Elf6)Jg|4ILI{+Imk`rr3A3NQ&U3$PCG4Db#}2uKdd2*?V^ z3n&g~3+N6Q2v{7jBw%~Mu7LdkCj-t0TnxAta6RB|z=MFN0nY>U0xbgF0=)yn1ET|r z0!stS0_y`i0{a370+$A^30xPrEpTVx;lN{orvuLhUJSevcq8ym;KRTdfiD9Mf=q%O zgIt3=gZzRbgA#+1gEE3Df~te+gIa=AL4!eSf;I$g4%!*CFX&{@>7dI&*Mc4dJqvmj zWD;x_Y#;0#>>V5yTpC;vToc?B+!ov&+!Nd%yfS!0@aEth!MlU^2OkVR6MQ!KeDKBK zd%+Kap9DV-mWOzR_=E(6goPx8q=uA*REE@tG=-=_`a%XnmV|5#*%q=p2-dM5Nz z=&jJlp|3(s!tBGG!~DWR!lJ_x!t%nDVQpa@VLf5}VFO`{!&Zi^3fmC2F>Gtt!LXxY z$HGpAT@Je*b~o%{n9)@ERO_j3Q-h|4O%0zKJvD1;&eVdbrBkb?Hcf4rx?<|8sk^7{ znRbWIQK2bqY8BuvrWl=Rz^-(QR zeNoGzwny!ZIv8~>>T=Yrs5?>jqn<>)j53I}j&_Q6jdqLni;j#=jxLBUjjoLDi0+SG z9KAexWAx_e?a@1;cSj$LJ{)~A`fT*Y=qu5;qHjk(jeZra7h@4)9b+Hk65|~c7Lyp0 z6H^dV7Nd-5is^`18nZlReaw!S12M;9PRCq~xgK*P=5frk7=u`gSjSkWSeIDWSijhi z*znl6*u>bjSXFFyY+r1D?9$jZvFl?u#qNsT6MG=`NbHH&GqLAmpTrtXGnr;N&3c;i zG`DHq(*mZ2OiP$nJgsJ$a$3){#nYBe+dA#=w4>9GO*=X5)U-3xu1vc&?bfur(;iNH zHO(x}A}%~GIxaRYA+9v8GENy+AJ-Q*5Vs<3P2BFdV{zx=F2!AsyBBvq?s449IH!2m zc#n9W_@MZ>_{8|+_=@=I`1<&k_+{~Hu;j2aeqa2-_@nXH;%~&?kAD{bJl-V1EWtX# zF2OY+Bq1yzIw3BhG(nlrl+csVpRhJzSHi)BqY1|n&L-SVc$n}c;dz45boq40=`PdV zrh88hn4UPjV0zK?vgy^+RnrHiFPXk{`ts>(rmvsAY5IZbr>38serfvk>9?mpo-R+c zOms=~Nc2n$NeoYnOw36vPHaqEk+?E(ZQ}OCor!xA4<W~*BDF2GBXuBkN$RrH<*6G|x2Nt) zJ(hYh^=#_()LW?!QeUL%rODIG(rnTk)11?S(qhw6(~8nc)5_AC(pu8`($=SKOxv1v zIPF~8owSE(&(aLiEz%v+UDAEh!_#BalhcdRYtkFjThdkO>(h6oA4tEHek1)>`knN< z=>{__XE@Jrn-Mu9VMg+d;u#e)nq~~lSUh9djO8;{&Db~N(f89^D*8HpL`8KoJ@jFya^jHMa7Gxld3$T*U5EaPm()r{*IH!^N#+{w6? z@i^mIhF+#T(<0L{(=O8~(>2pCGbA%3vnaDTvpTarQq^$G ztOr@ovtDEwWt(N&XFFy)XZvJ_Wrt_SX6IxVWLIX_XZK|<&0dkcCVO4>#_X-xd$RXu zAILtDeJ=ZA_Lb~=*)Ou?IVL%dIUYHFIdM7ZIW;-;IW0NeIsG|{bC%{T%UP4NJ!fam zo}7a@M{>^RT+O+b^D^gEjzO+du5+$;Zdh(yZgOsFZb5EGZcpx#+_kxzbGPOm%srEP zIrnz%gWQL?FLLF1W_cEQ)_L}MZh0PgVR@-}>3JP_eR<3CR^_eF+nTp6Z%5wYyc2n6 z^DgDx$h)2QH1AoSNxn_KUA|+!Q@%^SXMSRSa(+gBb$&~}Dt~eQ+WhtToAS5k@5XmR?v;ScC&_)rC!kErlJ0s|wc? zZYtbaxWDjJ;l;umh4%{Y7d|U|Stu{EC~_+DEb=LeEQ&44DatDDuNa%SAjjG0+8D`r;CY?|3I zvwP-}nagLcoVjY|#+kck?wfge=G~c3X1-L{-vX zva)1-$+nW6CA&%vlpHNNQF6NEQpx3#8zqlRo|n8TF(|b!bt-i&O)kwS%_=P}ttjm- z?Jr$kx}kJ)>AuqarAJFImR>8pU3#zdLFtpyr=_n-^=4VjvYur#%YK&2EbmzXv!Z8Z z%_^H!KdWcf;H;&y*3H^9YwN6Svv$rpGV9W;JF_0ndNJ$eEWI+zGRHEPGLJH!ve>fp zvW&9&vc9rqW$VkfmF+7#Q+B!Re%a%)CuJ|ojLJ>Q&B`syoy)z;1Ik0nBg<3EGs?5d z^UB-GyUTmZ2g;X~FE8Iwezg2p`N{G#HEYLhwkbDZb6&heZRJttvK#+Fr zDCaDhvvSV5IUDC}p0j<=De8mYK~EjMU8!pb4@@^LQP^#PEBP^ zeN9VEM@>)7K+Ryy{+bgtr)sX&+^e}?^RVV=jb5!mtx2t2t!u4ktxs)aZDMVDZBA`P zZGCNb?b6znwQFlP*KVubRePfLbnThiYqgJSpVdCEHB(wEU6ldKNM)QdLz#t}nu?W` z$`0j#a;0*Wa;m}ex1w%c-TJzXbqDGW*PW_6S9h`QcHRBDr*#JPHuaA6F7=-ELG|JFarMdddG%%W zZS{Tii|d!xuc_Zvf3*HY{ki%Z^>^wG8cZ6j8|)kW8X_B_8{!(08!{TQ8j2fA8!8%V z8X6m#8af)5HEd|u+_10VXv3+7iw##AZZ$k;c-Zi&L9fxQ(W245(YrCAF|jeVF}*RT zQQ6qk*wMJ8ae3qV#%+!J8xJ%dX*|(*s_|0ejmF!JcN(8H%IEsb4WAo3H)C%7+{U@x zbNlBmo4a!Enz?J|Zku~z?wPr_=H8ua)MVLY-Q?Ef+2q$0*_6;!+*I0B+0@;%tZ8}E z+NO0)o12a{9c#MQbgSuM)2k+RLZZQj|ur+I(#>E^S|_nV(KzihT>v25{Z@oe#F32KRKiEGJesc5NgQML59 z47RLo+0e4RWnas|mJ=-}Th6tdZ@Jd;ti_smLr9&J6=db{;r>yy^!tuIsZ&ZyW?cXnU1p^7dx(X-0FDP@wDSbhrH9e)4tQO)1xz>GrBXev#7Jav!k=8 zbFgz&=eo{~o!dJ1cb@J%+j*|@O6S$i+noqVEm+ojv1JGwizJFC00yQ#aUdwKVY?ls-(yEk=j?cULSp!;z5 zk?xD#SG(_Y-|v3f{i54op5;8(d4BUk=Ecs7n^!ciW?tjGwt1>~OXsbaw|U-yc?aj6 zoOf;Bjd_pf8T1(SIQ2O9xc2zM*NdoK6f z>bckRu;)q7^By_QK>75B^~UxV^p^Hk_qO!*^!D{G>0R2pqIX^I`rfU*yL*rIUh2Kt zd%gEg?~7i&K6#%+7-`c)yeY^Vh^zG|A*mtJyT;KV= z%Y9e-p7cHId(~$&-*Ue7e7pHh^WElq&i9+2F~4|z>HNz1%K44+2j;Jxzj6NN`CI32 zpZ{R~)A`Tm>-F3BJN7&G`}BwPhxbSK=kyo#SN3=G_w=vm-`Kyke`o)m{{8)@`!Dt1 z>%ZUsu>W!Y%YOL+#|2Icf)<1?NMBIDpmBj}!Qurg7OY*cZNcRQ*B0Da@L<8S1qK5q z15N|Z10e&E1JMI<1IYtf0|f)612qHP13d#P2UZPi9@sr_aNy{`v4OJ#mj~_*JQ#Q} zptsOyq4z?cg#io07A7oAT$sABXkqoj`h`skI~J-I_AMM(xMtzTg_{=cSh#!P;e|&Q zURro#;r)e=7d~6~Vxi5T-Js)O&|t`5Cj`R^;c=Kc0ZX9oVOH1*N$FaLGV`yX^3KlpO(yzw1+p#dVw!%?WwK(VN zNmEw8o${AMwtt*$cI{?xlxe!mz5LggKAN*;-8X%AKM!wNc{zJ$^US~fSvmig#{b^y z;XmQ$AOGgt>s>AxM_2r$ecFM#G=u*$raG+n@Q+V8|I4lK-?MJK`qOtePF!~HKZ?9= zyt8$=#j*dK-jJ}t&vI|!k#YGZb1w%@-5zl)e%rq+esbl-g4>Zl+8FR^S?Es_lRo?7 zy|ab=?*{+;*KVcFQej8`0e`3#3 z13jCcG)1kkPRObM`p@hCdj3Bief*!QfBL9v(%s!*OaJsd{M!lLH(FC4kMD5yKDE5< z;G8kPaQM{ehndqde)GFN#Xny={@=alX8q0O`iCKJ%TEXG8*5eSx#+vfs=UFSjt6E~ z_}!VmdF`3^A8xrBo%PEpPxpR)|47V|f(_O7K86ebz32CnZ#CN16uFuYpb5NDQ~8Is z*ZR8PR!LhegBBt*tt)T^s(5`SU5A3Jdw9!GI6cIUnK3)mWQhuT8N}gVn3O7AFC8q-6bag7Z$@%#?`3O(U zPcMYss!R$?fqg*yC=;w#Ac#FwNc<1{QhUTeok5z&{}23f<$5_kPQ~FiVYs!>0;q#7 zKsVRSb-~|^8+2>nZ$`NE2~3pwaGE)JsQ*y{X|r+M@wl&{tB|iu;f%A>xDvqep@@H% z?_>8g&izy>v=lh*s}G=0Bz<($oizGQe_!~G#wLc8=4(lM-*moRM{%TT(FNtvL#O53 zp?#z^I{FiH7PdVA9LgeoyO;;E_Mmwtc%*T@A86#Dti`~eB!p4C`0(Y-kN;8{77x5G z2_MpReGC585?&l|#G;e(lF|{cuTb{KCA>&y_5%DjwfGSpr9+RDpOlv3a;KzmR@*gs zBpL<$zJN3#oN#o>Ms!;cCqB}2Y6V(~Bib$rKMHFA(7W>{=vNE4lo!&a-2(p?fNudY zKZjixK=}^XO#!?Mkotknc#w`TJyIEnZ=g>a(;?Q5GXzh1C{3cZh5t>{YX(oEqeq%v ziNKS>DQ^w%Ys*h@AA(-28}buwF5o>0J@Nk#{zHH-0p`dzJyKd}+C+O3e09~+BgBah zOBcMPJbwTkJ;nejPcI=&iX*-e@W%^bA`Qi9(@5o@c*N($Kn4Hpxq8cdg41AJ;fCw9m5ZYmWeI=3V_(=2}f61igfMZL$a&}Uao|f z5yGnA?*-_pd%`C=dZaRnJj8zS1@J!9;(G}G3jketCwyIer93Fj2pY3?4$Zq2{1X7; zxJEd-@-C&L_%zVu3cQT{z*l&r`HB$Y#kgMZUL*;lcD@?^EdZ$ugeUe9DL*MK@hkz} z1qnYYgPZXGO$SfH)zxpM^u*H_d2#>6&@u{zKOP|FmvD5Ik(7>jl>o0@i`OFf-;wYl z99_Jmbj0gD$p48JuP@;L3Lw@U;ppNerK5PmT^LgU^t^@i#YbA!f0Lv|@gIYCj6g$v zYU`Qs*8+5vH{t7Qlf>i0VeTQVH7Vu(mIgRQ2aM&r?$V; zz9sUS_cG(fGu681&r}$dXb^)Yqw-)l~%2y%q=pp&#fGzMJ2Yd~1-=n*|t_Cj| z5#f>MZ8d22B98hdJ<_=E5l0WDL$t==JyIGD0lNEdJm}~lK9o)_{KLsfc;fRm)xSVX zVN}lVz`q5MsnrGuS64ZU^kUjyfc6`Ju0CBmjQpPfpB}LstoCBQ3mA^iBJj~wo*Zbz zhw@Sae=|V4-VcFZS6-|4q^g4AR|(w@CO=dVAp?P3}kFrK^s< zlklQ8{{#FZQAX+LjdZgto z@)Pr*od%6($HD*GH%#YUq(gGiBTZ*7=;;yDAv`gRMc~hIg!%s4&@zgFzZ@{q`-13n z)sM(aOjF8VOw%_kjoTtglVslu|CfN#<^)8mt4u|HV!FE0usw+R4xkV)Qv1yvCJjT- zwIfbfzS|K;kJ!!@y+JyRK=^Y3Qly4IbD?*-yd3E`2py9J1&hsuIz-}yVzBRa7TrSelaJ(Q-%U&ND! z@mLrar((`=SR)6?X$yY@V6^^Ev~q!wG+!b=FMB}5Us9s zMSfzs(lo?$OF;WKNxD?mhOl)O2zb+Rgm~zxYmu**zBDZ{{Y9YdLR#WO@7TBCUkwny z!3l@j1U=GnmC{jMQaILswRl~C|7(Ew-9tFKcuDDqSEyGSXAYZZ;zRvr0{p%J>AZyS zbj?eow8Z0W;FU}GQJFNuzX+h+PYG97Kb6uG&vxWxufS6rKaRtH6EM;kOmw=&B9WI^ zUsC>*9zE}Z)*bf0=n>Nlg})FmQkq1kD@~D?n5L9JO9X$aP#*6IX;K)K&4=(G0!ZtE z@O0IMl$Pkf0^YY0ew6n2@SDT_n08$duCBU}(i6`^$X^WT#fRj`guetJwmrhp)%K)x zME@=D-j?tpn)l$}B7{-A_(=PMl!oGMBe4D_&=3#mqc`CQrAG{l0DoO=;w>S4v3+&9;<=(wZN0|LNwpO{{z4QwuKr1^bnq|K18(NB2V;?JYt@x&O-%S ziX+}h@Mj8PA`QifH1YUNG`5kt+wogk{N9CMl#lp`PcvlQE5RkXj>G>YKznV9aCMav z(MLcIU3F!CVrbn@fd3KjN1JQbf}gH-T`u8A={3V24|oUgB|!Uoj`F!0ymYne4}nh) zl{ckzXcRt&z(;Iz(t3C#;ltAT_3*M#dg><%^MBxq54D*X_|pL5c*g;UM+X zLgXW+C*{qj2Dw064&L;L={3XuHsAw*&bl8aJ>qi+abkMXvOSJCF%6RS!U+5cPvjw$ zkHYEkrTy>EG<8gJE8zDM!YE#Rq%ufpDBc)&C0cwM;BObgC|-P|e55oKPyJNvlcLDfD3?^0Ka)MP6_xq;9EdokBnOmI16|Q@avUv4*)5BGVUPYDIj^i zjC%-}*)QYP0d50)7Rb03z-qu=zy$y|0DgcLz$rk`LZlBk0C);e3_>PA3t%_k0l;sO zjB5vc2zUT+UM%Al0*(T10>&@H0nPzzeDQIc^-F9q?noFEaJGg8;oOJ5CGBknQapJy9! zdjWeYjkr?)rz#^Z2(WO5jI(Z%ajt-*W*N5#@I9afZKfTd0?Y#(0h|QTV%$$bb7+gqY@*2vfx;-8pb=w6bTKxE%&g;C(Q2%|Me0S`BPV$O}QKuuT?g?Vis z!Vfo6VjLP0md?@$)C!}(P_3{;ghdPuWBg)^*@k7HHUeb`TT!xo6G>qY84hbt{ zc)1AE#DP>#yy?COE+*x*eoVzs5GpQ z$BP&e#^c3^VO`DaE{1rC-yP{CN&T~UnlywhaDi+r6YlJ8lF$Au=T=kx_;wZyQm*hj zIY-S_2n(UG282o4V&45^pEcu7=ye%$7f?BZ zpUJL>Hs%7yA#9F{`MD}%t_uA9J5`-E?twx0$yFh25vvCl#^j`M9nT^PqjyI8k`!)| z(OO54acO5Y?^22vABrQ~Mg1u(=xw+}LvyOGQE0YE_JSHJSv^`w@^^fcG;R)RWd3dx+#MYnT!;VAT^3?nQq1SuffrmV z=Rmk5djwpuEhP=ZgYYT;kI?SO71Jg9w@0C=TBMQjlTmP21DE)36ljS5x1-RAvXG1u z&g(7%QT{EGvP~NWS0RzRYXn>>JDRq9HUbXisU77^Zm&@Oiv;&=xYTx5!=<*fQ*bF? z6izP5PcG5#Lp-e=9TwaZaLwR91DEW|{z-5NpTfx{e34%2lI&E*nHO}I8?_z6!8DBf zU>F>+Y;)1q=&6KDVXbh9_dK|ikHtd#J8+5byKpH#o8eO5+X2@Y?s35-Im!RI;J*Nu z^7obC-V|IBk6gwFF7e%qae|&B!gxWlgkIF0PcaWS7xJ{6NuX;;FfbT_~yc|U+lJgA+vkHRB&fag&Hm(s6-E2jVPD6~~5e|j3=5^cLs zA0+#uQE1~OW#oHlPgG`4gIZlB;ThD&4Sa=~2#m(Faw50`9pe<1ijf=k~MAHyYn z#{~B@TpRe$3;sXAwS)gpa50_b{tVY1?q3D}f5D}RpuW&%W%zCW`;qhh2z5qf`a-Bn z8QLGoFh+14;ZojR;Syf%Qoih|oMJ}deNz}S{tGVA%0NrJtpy&$w_yYx@rW0nkL_P? zCm(^9_^y6~c5(r@B=aX)=}{Q*sFJ+PZLbVpX4Iy}gQj)_93~U;Nbau$_o(20F1VNA zQvUx4m)g`lxKv+%gDZ#o3NE!N(;xHiTRXV4f2)8?ZOR8Oy}zak{sg$xrZVA@4fxq` zsZF)RrTN6q;L>~dVd5&~ z;2VUV0JxODaKV+1M-ij&c!ah}v?2}3xL^dDcuG)sHcgFZwB#ioVmP@ZKfzw`66@zU zepA>5E&dc14-g-}q}ThF@gMlU^{AWAvxrNsRDNp1zQ84(4sfN9b~-N-;)kSLGkvH( z27Z#A+BtVEm5sfh>EKDx^bmi7)xe>0B%r=TVT%wZgG)ejDhg{ym{@MZxzsl45nXLO z>YMb4Zankxf2K!_UO&0Wmsmel_|4>kD}5*|UJ~$q6z?OMsJtouLxB(F_mRNokPbeg z{6OQXgt}~iOJ&s#SBxiDA@nuk@9_0dnTVbqiX+@yp?{W0`e)K8H1WbXodK8l%oN<& zaH&ivZ@r`N*dkd6_+%8^b_wpcBjCm(UGbS06VHBLmg= zgzFAh`cN1>xeMc&`xfE}|6RCy0bdCCbZ(IzDqC`CY;SLgXJa^>k)%f&7l=4|#Iu+~ z;#&E*2px3s?R=alkL@3EXFK?K!A$~uE0KxL4bda=ruRi)M?3{_y*lD=@cY9?#1+gHB& zYtEmPd zgkmr;DwOtp@3YU|XV27B6J1747fCbIT$-tAX3QlMVUUCnk`P93ydi`T@*0F*LI@!V zAqgP~z5KsxpEEOOYAW&neE!$-X|>Pn+gf|AXFbpF`906tN3?SiTT$1P*#6qsv&>{G z+BJKZXA|e{*h`%pZj^&T8>3^H!*&w|Kb|Ia1;iU)O3YT36kyrn)xmr7m%84(E!G7-#W!{CIczV$baq z&mwG9)n3jK_e+l5zXx0Kx7Z4qh_6rVue+wH&GYwh&kb?suH47DIdSK1+sC;w=Zdy8 z^nqw+@|Sz=0}eNiRX*nlIjUj1s|^%+TH+(_Ew(}~GRH>8YD27lHnA0bD(alGmpa8g zlCO=9Sr4{CW@NVFI-9MyhiJ#jz1*W=?BuWZ{A{A0nX!6i$Lg6EtEY~wI9|(E+)MZ^ z)An(%4Y6y!VJq6aJ+^IiU3AWNU@O|)iLH>UB(_2qq_7p|$IFYTvpxH^?xW5et`(oD zv3pz^cQ3JD+*5q6V!wEvhC1r`Tht-y?XhX^eUy5A)45suI9Hn8bZ+fF&aI8R@8W%& zTOW7s+P$1Bo=Nm+kFWRfOte#c&SWe4V0i5BbJz;~TF6$6RVmv)=r_JfD`Q*ncR~OD z(j+bGTz z*NN>at`T+A$J))V#*etac!sU9`>$)^{^HuLT-zW6JvZ;YzmjigI(PJ5&J~Sl=&!ZZ z(eU@U-2T#el!m{>c2(T*$rJiZmr^=^FQh*D`R#}H(vk)3B%5u+r}K~G4J>RI~EXSizFsW zJ??HNt%^JEx&soWe9lYR+H~IXLlULs{~~WFZr^(L&8E$(^|tUyp}&Vw3Mn;|nG}~IJ`;bU?gK{rr3+43R+e@XCC6uicb!U62g7O4q2gUgx`8t$(iu4Efq|BhKq;&YR zy)=k2kFuVU0vkPsGMDlm#c7o&Euefz>DZdFpe&{QNO9UEO4BG`Qj!xArLmL+lueXK zTjYrH86~kDeNVZOvW}9}p0T7XpnOK@#C%#n-^>*K!>1&+9TwZZ!SRih-zW*pvqLDI zDNpcsPqro{l`@7>PMOdC%P12mC-V1bwu30*GavcCfC6`3TTWTQcanu_t0?HnT6AqK zv6fomFSV;Vb_-kh^x87YI{w~F;ZC*a-db!zE&92ZnNbS|Ukfg%9nbMhipXgqrc*nM z?J^2aRx9eyIw(=vLAj06ld^^)KHsrjabTh}2mSB_+oL+rSM2+a@8UCt{fF~?HT%a< zCQ>B+PNEzbJ13oU9uoWc>}2272PaB*vQK~tL_#Jf z6jbpW&b-2~u#A~nSW!^W_$TM7*_wKKehFtDC-v!DF}1vEKtbuS+|vBA$W7grSYE#s%AYpT+C$4GSlFq+S=Kgae_2+o;%B>uj-SZj_N$Q+f*R8D-m&8bqyW z()q2~Gbp#Rs$WG#Sq0h5ZHG7e`G#27g1Fm}$q7MsWENBuio2EOA(PbzYlU=j8|u$0&YKkM0HN=8CQo%XL#C9xq@-U>L0)wg z^$pMHH>lyV$&&BO*5gKO6!-Jkvc}Yha<{vM@Eyqe0*EKx->7hdO}fE zc0o;ELAiL^=*4HJWe?$$6Iwc>vf-2r&bY3%pFO&ypmai2QFeh4&W3}dGy9}d`}N{@ zS#?!*Sz&fXZs~-AU5;0B9AODA&7PcF-f)-&wDSEv#rdi9 zVs1(7);#w>@pSLD^0OI_2|-84PKZCRZ(3&BNYO9Flgm>THC0@5M{7T~`#+NkFNs^Y}(?|d3+^oA8v&y34!oP99w4ia(Ha!yUKWxB0+J(K$ zZ<*}Ra(Cc zAz+_IuNUIFe@zkHh_FU`a&Q~JV0>=gr2W0iz&`zubMYK6(G@{H9BX1pCPT^Xrc6;W-L)_f9G;WL6*gwIGd;VN8KQO zA+$p&%JFZsBPtA=f;$wK{{1_A7Th6sN^Wt}63ayT`|jVy!C^{EB>Gi5o84cLST% zvTsu!ttS_JQC!lbA^u7=!dP{P#|`_ur~xsY9DmimI-(J$$93MmA4^FM#&|}&RQ;uz z8YC;7xjwYAu%@x+|I*b$y2LE?L0lEZRZY_ISFcV>8wt#AL=!~<_f=OG?RP7p_n|4r z#P@aaK7{Tc_4VcPef^heYUt}J0Sat<#=mqeJuRTGbS*Ok2XenJj&*cQhutM~LBXUZ z!0=bw5WP+I8G)zO291F4x&LKmMmr5TZ3TqabPkmjf-x*cy2zoKbY?0X&u5{bDPoz|xb?Tfbl zj}e=?|G0=-39)%R(Eag>^{+RDjulfhCOOCANfwrro!=;cfBi;*{Ju*|iptK1Nt(Lf zATKb(Jk2HOsu86)L;LM@Fnoc&>cJfb{e$cO%gBm3xHmsv9Vs{ZYiZJwU<9)HZJg|) zfZb{&MKaAa+7$g?jP&5)Bl~75x*X++Jt@1q8pbRaO8F!y8)r2?8}@B7Y-v@2)HSxJ zk*UefD=VK$#9_Dn`B4&>7*p&XQ_Bmo1&7TQlgo4Ae!K5>q!e;gM7gv3*3@JbRg|3% zVHhQZ#A_0=#qRzv(J{KNLL&k%O)i+6R|Ff`KlmovGC+Kr4B;kah;R5Q68tM-6P$OZ z_!fK}B);)ak_;(EJvDTdE*d!*-ZqI^^QtQ|Sggv8kN-#65gh2uYo5l{-b4lmt zRaTWv9uK$6O4RJ!yoxHJNV5x}A*Ji0cbQzy?-Ox9x>}O16wg*LiKk&tUS)YHdR#nx zCB1xJB~b(3iIH7ZJh^};u9gZ5$_fQ%Qz$GIzkL+krMg7APs*mw^6?duB;f?#!vKmb_qW-3awdApdi}w6Qw3ClPF~ifkt-~ z(Z^z96&6oGDP_g8N6bS(pR~6J0pnurIndRl#RVX;= zbn(>8S-4~(Aw_}2of@5Yv6eJELwrN+Xgfs*NX$}krud#+KqQiCXhT-CoD=*g1(Nm+AMBGh0 zpRgi9)r`NWIna)xC1^sS_A1Is3d^&ZQKxWzRYiVvxsV6ub8+b;bzLjVKIaNAV}^T8kLpy&V_SJ(0HfQ+BDRx~jOOxN7QN&e*jpc58zOD32!u zwU>KDM>75d>3d>YOfV4)lb&uKwIjlHfrualClrVX6EUO@<04F>q^nv5@z-GZ<^!+#^;dqMLg>+*7o(Zxk4aaG}u8OWS5O;G~9K(mibkR>uA)tLRUZ z4lR~RU{Pcl+`+N*g7MYj=L{S6_1gWu1M?*%ZZEiqrn6IOBjTaa7-tq!CaqG8fcPfV z_W%F+|8Nh898z+gq{REI zN?Ah5EbSxJCsNw?kvg)?q(}$!kycYAj@7a)`kU9z=6X^8niF|%;YqxIpE8rOBRNCT zyJkq~Y-=g&_+Cfp%z3jZSrqZf|D%7f75}Bq>LZn3MY%fK=8k+{&G*&Ru|$+RQl

  • =3w@sHiwvS#rTl~G3c9wH( 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 CKT>S~ literal 0 HcmV?d00001 From 1ab42bdb3eb38201b97ffb5ddb246d775a3a6a99 Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Fri, 5 Jul 2024 15:49:42 -0700 Subject: [PATCH 04/20] fix Open arg --- libzhl/functions/SoundSourceBase.zhl | 2 +- libzhl/functions/StreamSourceBase.zhl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libzhl/functions/SoundSourceBase.zhl b/libzhl/functions/SoundSourceBase.zhl index 90a0e77ad..e99c303e7 100644 --- a/libzhl/functions/SoundSourceBase.zhl +++ b/libzhl/functions/SoundSourceBase.zhl @@ -19,7 +19,7 @@ struct SoundSourceBase { bool HasQueuedData(); "c641??01b001c20400": - bool Open(); + bool Open(void * unk); "558bec8b55??85d274??8b41??8942??8a41": bool Clone(void * UNK_param_1); diff --git a/libzhl/functions/StreamSourceBase.zhl b/libzhl/functions/StreamSourceBase.zhl index 0b6f0b0aa..2ebe57ad8 100644 --- a/libzhl/functions/StreamSourceBase.zhl +++ b/libzhl/functions/StreamSourceBase.zhl @@ -16,7 +16,7 @@ struct StreamSourceBase : public SoundSourcePlatformBase { override "558bec83e4f8515356578bf9bb04000000": - bool Open(); + bool Open(void * unk); override "68????????6a03e8????????83c40832c0": From f36ca1815cd3ca7e6cd891dd7b3313d41c90dd99 Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Fri, 5 Jul 2024 16:24:53 -0700 Subject: [PATCH 05/20] update zhls --- libzhl/functions/SoundSourceBase.zhl | 6 +++--- libzhl/functions/SoundSourcePlatformBase.zhl | 2 +- libzhl/functions/StreamSourceBase.zhl | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libzhl/functions/SoundSourceBase.zhl b/libzhl/functions/SoundSourceBase.zhl index e99c303e7..c00768668 100644 --- a/libzhl/functions/SoundSourceBase.zhl +++ b/libzhl/functions/SoundSourceBase.zhl @@ -1,7 +1,7 @@ struct SoundSourceBase { __vtable { "558bec568bf18d4e??c706????????e8????????f645??0174??6a24": - void Free(bool param_1); + void * Free(bool param_1); skip; // ApplyDataToHardware skip; // GetHardwareBufferSize @@ -19,10 +19,10 @@ struct SoundSourceBase { bool HasQueuedData(); "c641??01b001c20400": - bool Open(void * unk); + bool Open(char * path); "558bec8b55??85d274??8b41??8942??8a41": - bool Clone(void * UNK_param_1); + bool Clone(SoundSourceBase* right); "558bec83ec0c568bf18b46": void Close(); diff --git a/libzhl/functions/SoundSourcePlatformBase.zhl b/libzhl/functions/SoundSourcePlatformBase.zhl index 2c2652c46..1231bc57f 100644 --- a/libzhl/functions/SoundSourcePlatformBase.zhl +++ b/libzhl/functions/SoundSourcePlatformBase.zhl @@ -2,7 +2,7 @@ struct SoundSourcePlatformBase : public SoundSourceBase { __vtable { override "558bec568bf18d4e??c706????????e8????????f645??0174??6a40": - void Free(bool param_1); + void * Free(bool param_1); "558bec8b45??568bf18946??8b45": bool ApplyDataToHardware(int param_1, int param_2); diff --git a/libzhl/functions/StreamSourceBase.zhl b/libzhl/functions/StreamSourceBase.zhl index 2ebe57ad8..646e6d809 100644 --- a/libzhl/functions/StreamSourceBase.zhl +++ b/libzhl/functions/StreamSourceBase.zhl @@ -2,7 +2,7 @@ struct StreamSourceBase : public SoundSourcePlatformBase { __vtable { override "558bec6aff68????????64a1????????5056a1????????33c5508d45??64a3????????8bf168????????6a046a0c8d46??c745??00000000": - void Free(bool param_1); + void * Free(bool param_1); skip; // ApplyDataToHardware @@ -16,11 +16,11 @@ struct StreamSourceBase : public SoundSourcePlatformBase { override "558bec83e4f8515356578bf9bb04000000": - bool Open(void * unk); + bool Open(char * path); override "68????????6a03e8????????83c40832c0": - bool Clone(void* param_1); + bool Clone(SoundSourceBase* right); override "5356578bf98b4f??85c9": From f89396b7a8c0a5096909b3d527f324cc8023cd77 Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Fri, 5 Jul 2024 17:49:34 -0700 Subject: [PATCH 06/20] all zhls created --- libzhl/functions/SampleSourceBase.zhl | 36 ++++++++--- libzhl/functions/SampleSourceOgg.zhl | 55 ++++++++++++++++ libzhl/functions/SampleSourceOrg.zhl | 58 +++++++++++++++++ libzhl/functions/SampleSourceWav.zhl | 58 +++++++++++++++++ libzhl/functions/SoundActor.zhl | 11 ++++ libzhl/functions/SoundEffects.zhl | 20 ++++-- libzhl/functions/SoundSourceBase.zhl | 2 +- libzhl/functions/SoundStream.zhl | 6 +- libzhl/functions/StreamSourceOgg.zhl | 64 +++++++++++++++++++ libzhl/functions/StreamSourceOrg.zhl | 61 ++++++++++++++++++ libzhl/functions/StreamSourcePlatformBase.zhl | 63 ++++++++++++++++++ libzhl/functions/StreamSourceWav.zhl | 59 +++++++++++++++++ 12 files changed, 477 insertions(+), 16 deletions(-) create mode 100644 libzhl/functions/SampleSourceOgg.zhl create mode 100644 libzhl/functions/SampleSourceOrg.zhl create mode 100644 libzhl/functions/SampleSourceWav.zhl create mode 100644 libzhl/functions/SoundActor.zhl create mode 100644 libzhl/functions/StreamSourceOgg.zhl create mode 100644 libzhl/functions/StreamSourceOrg.zhl create mode 100644 libzhl/functions/StreamSourcePlatformBase.zhl create mode 100644 libzhl/functions/StreamSourceWav.zhl diff --git a/libzhl/functions/SampleSourceBase.zhl b/libzhl/functions/SampleSourceBase.zhl index 51a56a877..1bd4aa16f 100644 --- a/libzhl/functions/SampleSourceBase.zhl +++ b/libzhl/functions/SampleSourceBase.zhl @@ -1,17 +1,37 @@ -struct SoundSourceBase { +struct SampleSourceBase : public SoundSourcePlatformBase { __vtable { - skip; // Free + override + "558bec6aff68????????64a1????????505657a1????????33c5508d45??64a3????????8bf1c706????????8d7e": + void * Free(bool param_1); + skip; // ApplyDataToHardware - skip; // GetHardwareBufferSize + + "8b41??8b40??c3??????????????????8b41": + int GetHardwareBufferSize(); + skip; // open_file_dunno skip; // Queue skip; // Deque skip; // HasQueuedData - skip; // Open - skip; // Clone - skip; // Close + + override + "8b41??8b11c641??01": + bool Open(char * path); + + override + "558bec6aff68????????64a1????????5083ec08535657a1????????33c5508d45??64a3????????8bd98b75??85f60f84": + bool Clone(SoundSourceBase * param_1); + + override + "558bec518bc18378??00": + void Close(); + skip; // IsOpen - skip; // Play + + override + "558bec568bf18b06ff50??ff75": + void Play(void * param_1); + skip; // Pause skip; // Resume skip; // IsPlaying @@ -35,4 +55,4 @@ struct SoundSourceBase { skip; // IsPlaybackFinished skip; // IsProcessingFinished }; -} : 0x4; \ No newline at end of file +} : 0x48; \ No newline at end of file diff --git a/libzhl/functions/SampleSourceOgg.zhl b/libzhl/functions/SampleSourceOgg.zhl new file mode 100644 index 000000000..803434dca --- /dev/null +++ b/libzhl/functions/SampleSourceOgg.zhl @@ -0,0 +1,55 @@ +struct SampleSourceOgg : public SampleSourceBase { + __vtable { + override + "558bec6aff68????????64a1????????505657a1????????33c5508d45??64a3????????8bf1c745??00000000837e??00c706????????74??e8????????84c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c8bcee8": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec83e4f883ec24535657ff75": + bool Open(char * path); + + override + "558bec8b55??85d274??8b41??8942??8b41": + bool Clone(SoundSourceBase * param_1); + + skip; // Close + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + + "8b41??c3????????????????????????558bec6aff68????????64a1????????505156": + unsigned int GetNumChannels(); + + "8b41??c3????????????????????????8b41??c3????????????????????????558bec6aff68????????64a1????????505153": + int GetSourceFormat(); + + "8b41??c3????????????????????????558bec6aff68????????64a1????????505153": + unsigned int GetSampleRate(); + + skip; // SystemSuspend + skip; // SystemResume + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x48; \ No newline at end of file diff --git a/libzhl/functions/SampleSourceOrg.zhl b/libzhl/functions/SampleSourceOrg.zhl new file mode 100644 index 000000000..8174c8247 --- /dev/null +++ b/libzhl/functions/SampleSourceOrg.zhl @@ -0,0 +1,58 @@ +struct SampleSourceOrg : public SampleSourceBase { + __vtable { + override + "558bec568bf1e8????????f645??0174??68b01b0000": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec6aff68????????64a1????????5083ec4c535657a1????????33c5508d45??64a3????????8bd9": + bool Open(char * param_1); + + override + "558bec5668": + bool Clone(SoundSourceBase * param_1); + + override + "558bec51538bd95657bf10000000": + void Close(); + + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + + "b802000000c3????????????????????b822560000": + uint16_t GetNumChannels(); + + "b801000000c3????????????????????8b81": + int GetSourceFormat(); + + "b822560000": + unsigned int GetSampleRate(); + + skip; // SystemSuspend + skip; // SystemResume + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x60; \ No newline at end of file diff --git a/libzhl/functions/SampleSourceWav.zhl b/libzhl/functions/SampleSourceWav.zhl new file mode 100644 index 000000000..edc281a61 --- /dev/null +++ b/libzhl/functions/SampleSourceWav.zhl @@ -0,0 +1,58 @@ +struct SampleSourceWav : public SampleSourceBase { + __vtable { + override + "558bec6aff68????????64a1????????505657a1????????33c5508d45??64a3????????8bf1c745??00000000837e??00c706????????74??e8????????84c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c8bcec746??00000000": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec83e4f883ec1ca1????????33c4894424??53": + bool Open(char * param_1); + + override + "558bec568b75??85f674??8b41": + bool Clone(SoundSourceBase * param_1); + + override + "c741??00000000c741??00000000e9??????????????????????????????????0fb741": + void Close(); + + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + + "0fb741??c3??????????????????????33c0": + uint16_t GetNumChannels(); + + "33c0668379??10": + int GetSourceFormat(); + + "8b41??c3????????????????????????558bec83e4f8": + unsigned int GetSampleRate(); + + skip; // SystemSuspend + skip; // SystemResume + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x60; \ No newline at end of file diff --git a/libzhl/functions/SoundActor.zhl b/libzhl/functions/SoundActor.zhl new file mode 100644 index 000000000..5767495dd --- /dev/null +++ b/libzhl/functions/SoundActor.zhl @@ -0,0 +1,11 @@ +struct SoundActor depends (StreamSourceBase) +{ + SoundSourcePlatformBase * _source : 0x0; + void * _sp2 : 0x4; + bool _loop : 0x8; + bool _playing : 0x9; + bool _paused : 0xa; + float _volume : 0xc; + float _pan : 0x10; + float _pitch : 0x14; +} : 0x18; diff --git a/libzhl/functions/SoundEffects.zhl b/libzhl/functions/SoundEffects.zhl index 4b5774203..32057ac9b 100644 --- a/libzhl/functions/SoundEffects.zhl +++ b/libzhl/functions/SoundEffects.zhl @@ -11,13 +11,25 @@ __thiscall void SoundEffects::LoadConfig(char* filename, bool ismod); __thiscall void SoundEffect::Load(); -struct SoundEffect{ - unsigned int _id : 0x0; +struct SoundEffectSample depends (SoundActor) { + std_string _filename : 0x0; + SoundActor _actor : 0x18; + bool _unk_reload : 0x30; + int _weight : 0x34; +} : 0x38; + +struct SoundEffect depends (SoundEffectSample) { + unsigned int _framePlayed : 0x0; + unsigned int _nextPlayableFrame : 0x4; + SoundEffectSample _samples[7] : 0x8; + unsigned int _sampleCount : 0x190; + float _volume : 0x194; bool _loaded : 0x198; - bool _shouldPreload : 0x199; + bool _shouldPreload : 0x199; + std_string _name : 0x1a0; } : 0x1b8; -struct SoundEffects depends (SoundEffect){ +struct SoundEffects depends (SoundEffect) { vector_SoundEffect _sounds : 0x0; int _count : 0xc; float _volume : 0x10; diff --git a/libzhl/functions/SoundSourceBase.zhl b/libzhl/functions/SoundSourceBase.zhl index c00768668..99baadc12 100644 --- a/libzhl/functions/SoundSourceBase.zhl +++ b/libzhl/functions/SoundSourceBase.zhl @@ -7,7 +7,7 @@ struct SoundSourceBase { skip; // GetHardwareBufferSize "32c0c20800": - bool open_file_dunno(int UNK_param_1, int UNK_param_1); + bool open_file_dunno(int UNK_param_1, int UNK_param_2); "558bec8b51??568d71": void Queue(uint64_t UNK_param_1, int UNK_param_2); diff --git a/libzhl/functions/SoundStream.zhl b/libzhl/functions/SoundStream.zhl index 28bc7fd89..5924f3f1c 100644 --- a/libzhl/functions/SoundStream.zhl +++ b/libzhl/functions/SoundStream.zhl @@ -1,10 +1,10 @@ -struct SoundStream { - // SoundActor _actor : 0x0; +struct SoundStream depends (SoundActor) { + SoundActor _actor : 0x0; float _unkFloat : 0x18; float _volume : 0x1c; float _targetVolume : 0x20; float _fadeRate : 0x24; bool _playing : 0x28; unsigned int _frameCount : 0x2c; - //undefined4 _unk : 0x30; + float _volumeRelated : 0x30; } : 0x34; \ No newline at end of file diff --git a/libzhl/functions/StreamSourceOgg.zhl b/libzhl/functions/StreamSourceOgg.zhl new file mode 100644 index 000000000..e848fced2 --- /dev/null +++ b/libzhl/functions/StreamSourceOgg.zhl @@ -0,0 +1,64 @@ +struct StreamSourceOgg : public StreamSourcePlatformBase { + __vtable { + override + "558bec568bf1e8????????f645??0174??68c0000000": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + + "558bec83ec188bc1": + bool open_file_dunno(char * param_1, bool param_2); + + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec51538b5d??56578bf1": + bool Open(char * param_1); + + skip; // Clone + + override + "558bec83ec0c53578bf9": + void Close(); + + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + + "8b81????????8b40??c3????????????b801000000": + unsigned int GetNumChannels(); + + "b801000000c3????????????????????8b81": + int GetSourceFormat(); + + "8b81????????8b00": + unsigned int GetSampleRate(); + + skip; // SystemSuspend + skip; // SystemResume + + "558bec53578bf9": + int ProcessData(void * param_1); + + "558bec83ec0c568bf1578b06": + bool ActivateNextQueuedData(); + + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourceOrg.zhl b/libzhl/functions/StreamSourceOrg.zhl new file mode 100644 index 000000000..67609c246 --- /dev/null +++ b/libzhl/functions/StreamSourceOrg.zhl @@ -0,0 +1,61 @@ +struct StreamSourceOrg : public StreamSourcePlatformBase { + __vtable { + override + "558bec6aff68????????64a1????????50535657a1????????33c5508d45??64a3????????8bf9c745??00000000": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec83ec0853560fb735": + bool Open(char * param_1); + + skip; // Clone + + override + "5356578bf98b87????????85c074": + void Close(); + + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + + "b802000000c3????????????????????b822560000": + unsigned int GetNumChannels(); + + "b801000000c3????????????????????8b81": + int GetSourceFormat(); + + "b822560000": + unsigned int GetSampleRate(); + + skip; // SystemSuspend + skip; // SystemResume + + "558bec6aff68????????64a1????????5083ec54535657a1????????33c5508d45??64a3????????8bf9": + int ProcessData(void * param_1); + + "558bec83ec0c568bf1578b06": + bool ActivateNextQueuedData(); + + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourcePlatformBase.zhl b/libzhl/functions/StreamSourcePlatformBase.zhl new file mode 100644 index 000000000..f2882ba19 --- /dev/null +++ b/libzhl/functions/StreamSourcePlatformBase.zhl @@ -0,0 +1,63 @@ +struct StreamSourcePlatformBase : public StreamSourceBase { + __vtable { + override + "558bec568bf18d4e??c706????????e8????????f645??0174??6a54": + void * Free(bool param_1); + + override + "558bec515356578bf9897d??8b07": + bool ApplyDataToHardware(int param_1, int param_2); + + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "51568bf18d46": + bool Open(char * path); + + skip; // Clone + + override + "56578bf1e8????????837e??00": + void Close(); + + skip; // IsOpen + + override + "568bf1837e??0074??8b068b40??ffd084c075??a1": + void Play(void * unk); + + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + skip; // GetNumChannels + skip; // GetSourceFormat + skip; // GetSampleRate + + override + "538b1d????????568bf1ffd3": + void SystemSuspend(); + + override + "568b35????????578bf9ffd6": + void SystemResume(); + + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourceWav.zhl b/libzhl/functions/StreamSourceWav.zhl new file mode 100644 index 000000000..46bfb798c --- /dev/null +++ b/libzhl/functions/StreamSourceWav.zhl @@ -0,0 +1,59 @@ +struct StreamSourceWav : public StreamSourcePlatformBase { + __vtable { + override + "558bec6aff68????????64a1????????5056a1????????33c5508d45??64a3????????8bf1c745??00000000c706????????e8????????8bce": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec56ff75??8bf1b9": + bool Open(char * param_1); + + skip; // Clone + + override + "558bec83ec0c53578bf9": + void Close(); + + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + + "0fb781????????c3????????????????33c0": + unsigned int GetNumChannels(); + + "33c06683b9????????10": + int GetSourceFormat(); + + "8b81????????c3??????????????????558bec83e4f883ec0c56": + unsigned int GetSampleRate(); + + skip; // SystemSuspend + skip; // SystemResume + + "558bec56578bf96800000100": + int ProcessData(void * param_1); + + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x4; \ No newline at end of file From c8fa323d62456e20a191084da1e91dbde43eec64 Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Sun, 14 Jul 2024 07:34:41 -0700 Subject: [PATCH 07/20] add SoundEffects->_volumeSlideRate --- libzhl/functions/SoundEffects.zhl | 1 + 1 file changed, 1 insertion(+) diff --git a/libzhl/functions/SoundEffects.zhl b/libzhl/functions/SoundEffects.zhl index 32057ac9b..4ae728b55 100644 --- a/libzhl/functions/SoundEffects.zhl +++ b/libzhl/functions/SoundEffects.zhl @@ -33,4 +33,5 @@ struct SoundEffects depends (SoundEffect) { vector_SoundEffect _sounds : 0x0; int _count : 0xc; float _volume : 0x10; + float _volumeSlideRate : 0x14; } : 0x18; From b1c022475ab3706f4d2d215c24d1dc8c9951747b Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Sun, 14 Jul 2024 07:51:26 -0700 Subject: [PATCH 08/20] minimal reproducible example --- libzhl/functions/SampleSourceBase.zhl | 58 --------------- libzhl/functions/SampleSourceOgg.zhl | 55 -------------- libzhl/functions/SampleSourceOrg.zhl | 58 --------------- libzhl/functions/SampleSourceWav.zhl | 58 --------------- libzhl/functions/SoundActor.zhl | 2 +- libzhl/functions/SoundSourceBase.zhl | 59 +-------------- libzhl/functions/SoundSourcePlatformBase.zhl | 69 ------------------ libzhl/functions/StreamSourceBase.zhl | 72 ------------------- libzhl/functions/StreamSourceOgg.zhl | 64 ----------------- libzhl/functions/StreamSourceOrg.zhl | 61 ---------------- libzhl/functions/StreamSourcePlatformBase.zhl | 63 ---------------- libzhl/functions/StreamSourceWav.zhl | 59 --------------- 12 files changed, 2 insertions(+), 676 deletions(-) delete mode 100644 libzhl/functions/SampleSourceBase.zhl delete mode 100644 libzhl/functions/SampleSourceOgg.zhl delete mode 100644 libzhl/functions/SampleSourceOrg.zhl delete mode 100644 libzhl/functions/SampleSourceWav.zhl delete mode 100644 libzhl/functions/StreamSourceBase.zhl delete mode 100644 libzhl/functions/StreamSourceOgg.zhl delete mode 100644 libzhl/functions/StreamSourceOrg.zhl delete mode 100644 libzhl/functions/StreamSourcePlatformBase.zhl delete mode 100644 libzhl/functions/StreamSourceWav.zhl diff --git a/libzhl/functions/SampleSourceBase.zhl b/libzhl/functions/SampleSourceBase.zhl deleted file mode 100644 index 1bd4aa16f..000000000 --- a/libzhl/functions/SampleSourceBase.zhl +++ /dev/null @@ -1,58 +0,0 @@ -struct SampleSourceBase : public SoundSourcePlatformBase { - __vtable { - override - "558bec6aff68????????64a1????????505657a1????????33c5508d45??64a3????????8bf1c706????????8d7e": - void * Free(bool param_1); - - skip; // ApplyDataToHardware - - "8b41??8b40??c3??????????????????8b41": - int GetHardwareBufferSize(); - - skip; // open_file_dunno - skip; // Queue - skip; // Deque - skip; // HasQueuedData - - override - "8b41??8b11c641??01": - bool Open(char * path); - - override - "558bec6aff68????????64a1????????5083ec08535657a1????????33c5508d45??64a3????????8bd98b75??85f60f84": - bool Clone(SoundSourceBase * param_1); - - override - "558bec518bc18378??00": - void Close(); - - skip; // IsOpen - - override - "558bec568bf18b06ff50??ff75": - void Play(void * param_1); - - skip; // Pause - skip; // Resume - skip; // IsPlaying - skip; // Stop - skip; // SetLooping - skip; // IsLooping - skip; // SetVolume - skip; // GetVolume - skip; // SetPan - skip; // GetPan - skip; // SetPitch - skip; // GetPitch - skip; // GetNumChannels - skip; // GetSourceFormat - skip; // GetSampleRate - skip; // SystemSuspend - skip; // SystemResume - skip; // ProcessData - skip; // ActivateNextQueuedData - skip; // Update - skip; // IsPlaybackFinished - skip; // IsProcessingFinished - }; -} : 0x48; \ No newline at end of file diff --git a/libzhl/functions/SampleSourceOgg.zhl b/libzhl/functions/SampleSourceOgg.zhl deleted file mode 100644 index 803434dca..000000000 --- a/libzhl/functions/SampleSourceOgg.zhl +++ /dev/null @@ -1,55 +0,0 @@ -struct SampleSourceOgg : public SampleSourceBase { - __vtable { - override - "558bec6aff68????????64a1????????505657a1????????33c5508d45??64a3????????8bf1c745??00000000837e??00c706????????74??e8????????84c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c8bcee8": - void * Free(bool param_1); - - skip; // ApplyDataToHardware - skip; // GetHardwareBufferSize - skip; // open_file_dunno - skip; // Queue - skip; // Deque - skip; // HasQueuedData - - override - "558bec83e4f883ec24535657ff75": - bool Open(char * path); - - override - "558bec8b55??85d274??8b41??8942??8b41": - bool Clone(SoundSourceBase * param_1); - - skip; // Close - skip; // IsOpen - skip; // Play - skip; // Pause - skip; // Resume - skip; // IsPlaying - skip; // Stop - skip; // SetLooping - skip; // IsLooping - skip; // SetVolume - skip; // GetVolume - skip; // SetPan - skip; // GetPan - skip; // SetPitch - skip; // GetPitch - - "8b41??c3????????????????????????558bec6aff68????????64a1????????505156": - unsigned int GetNumChannels(); - - "8b41??c3????????????????????????8b41??c3????????????????????????558bec6aff68????????64a1????????505153": - int GetSourceFormat(); - - "8b41??c3????????????????????????558bec6aff68????????64a1????????505153": - unsigned int GetSampleRate(); - - skip; // SystemSuspend - skip; // SystemResume - skip; // ProcessData - skip; // ActivateNextQueuedData - skip; // Update - skip; // IsPlaybackFinished - skip; // IsProcessingFinished - }; -} : 0x48; \ No newline at end of file diff --git a/libzhl/functions/SampleSourceOrg.zhl b/libzhl/functions/SampleSourceOrg.zhl deleted file mode 100644 index 8174c8247..000000000 --- a/libzhl/functions/SampleSourceOrg.zhl +++ /dev/null @@ -1,58 +0,0 @@ -struct SampleSourceOrg : public SampleSourceBase { - __vtable { - override - "558bec568bf1e8????????f645??0174??68b01b0000": - void * Free(bool param_1); - - skip; // ApplyDataToHardware - skip; // GetHardwareBufferSize - skip; // open_file_dunno - skip; // Queue - skip; // Deque - skip; // HasQueuedData - - override - "558bec6aff68????????64a1????????5083ec4c535657a1????????33c5508d45??64a3????????8bd9": - bool Open(char * param_1); - - override - "558bec5668": - bool Clone(SoundSourceBase * param_1); - - override - "558bec51538bd95657bf10000000": - void Close(); - - skip; // IsOpen - skip; // Play - skip; // Pause - skip; // Resume - skip; // IsPlaying - skip; // Stop - skip; // SetLooping - skip; // IsLooping - skip; // SetVolume - skip; // GetVolume - skip; // SetPan - skip; // GetPan - skip; // SetPitch - skip; // GetPitch - - "b802000000c3????????????????????b822560000": - uint16_t GetNumChannels(); - - "b801000000c3????????????????????8b81": - int GetSourceFormat(); - - "b822560000": - unsigned int GetSampleRate(); - - skip; // SystemSuspend - skip; // SystemResume - skip; // ProcessData - skip; // ActivateNextQueuedData - skip; // Update - skip; // IsPlaybackFinished - skip; // IsProcessingFinished - }; -} : 0x60; \ No newline at end of file diff --git a/libzhl/functions/SampleSourceWav.zhl b/libzhl/functions/SampleSourceWav.zhl deleted file mode 100644 index edc281a61..000000000 --- a/libzhl/functions/SampleSourceWav.zhl +++ /dev/null @@ -1,58 +0,0 @@ -struct SampleSourceWav : public SampleSourceBase { - __vtable { - override - "558bec6aff68????????64a1????????505657a1????????33c5508d45??64a3????????8bf1c745??00000000837e??00c706????????74??e8????????84c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c8bcec746??00000000": - void * Free(bool param_1); - - skip; // ApplyDataToHardware - skip; // GetHardwareBufferSize - skip; // open_file_dunno - skip; // Queue - skip; // Deque - skip; // HasQueuedData - - override - "558bec83e4f883ec1ca1????????33c4894424??53": - bool Open(char * param_1); - - override - "558bec568b75??85f674??8b41": - bool Clone(SoundSourceBase * param_1); - - override - "c741??00000000c741??00000000e9??????????????????????????????????0fb741": - void Close(); - - skip; // IsOpen - skip; // Play - skip; // Pause - skip; // Resume - skip; // IsPlaying - skip; // Stop - skip; // SetLooping - skip; // IsLooping - skip; // SetVolume - skip; // GetVolume - skip; // SetPan - skip; // GetPan - skip; // SetPitch - skip; // GetPitch - - "0fb741??c3??????????????????????33c0": - uint16_t GetNumChannels(); - - "33c0668379??10": - int GetSourceFormat(); - - "8b41??c3????????????????????????558bec83e4f8": - unsigned int GetSampleRate(); - - skip; // SystemSuspend - skip; // SystemResume - skip; // ProcessData - skip; // ActivateNextQueuedData - skip; // Update - skip; // IsPlaybackFinished - skip; // IsProcessingFinished - }; -} : 0x60; \ No newline at end of file diff --git a/libzhl/functions/SoundActor.zhl b/libzhl/functions/SoundActor.zhl index 5767495dd..c79181f22 100644 --- a/libzhl/functions/SoundActor.zhl +++ b/libzhl/functions/SoundActor.zhl @@ -1,4 +1,4 @@ -struct SoundActor depends (StreamSourceBase) +struct SoundActor depends (SoundSourcePlatformBase) { SoundSourcePlatformBase * _source : 0x0; void * _sp2 : 0x4; diff --git a/libzhl/functions/SoundSourceBase.zhl b/libzhl/functions/SoundSourceBase.zhl index 99baadc12..fc253b55b 100644 --- a/libzhl/functions/SoundSourceBase.zhl +++ b/libzhl/functions/SoundSourceBase.zhl @@ -1,62 +1,5 @@ struct SoundSourceBase { __vtable { - "558bec568bf18d4e??c706????????e8????????f645??0174??6a24": - void * Free(bool param_1); - - skip; // ApplyDataToHardware - skip; // GetHardwareBufferSize - - "32c0c20800": - bool open_file_dunno(int UNK_param_1, int UNK_param_2); - - "558bec8b51??568d71": - void Queue(uint64_t UNK_param_1, int UNK_param_2); - - "558bec568bf18b56??8b46??4a": - void Deque(void * UNK_param_1); - - "8379??000f97c0c3????????????????c641??01": - bool HasQueuedData(); - - "c641??01b001c20400": - bool Open(char * path); - - "558bec8b55??85d274??8b41??8942??8a41": - bool Clone(SoundSourceBase* right); - - "558bec83ec0c568bf18b46": - void Close(); - - "8a41??c3????????????????????????8a41": - bool IsOpen(); - - skip; // Play - skip; // Pause - skip; // Resume - skip; // IsPlaying - skip; // Stop - - "558bec8a45??8841??5dc20400??????558bec6aff": - void SetLooping(bool value); - - "8a41??c3????????????????????????c641??01": - bool IsLooping(); - - skip; // SetVolume - skip; // GetVolume - skip; // SetPan - skip; // GetPan - skip; // SetPitch - skip; // GetPitch - skip; // GetNumChannels - skip; // GetSourceFormat - skip; // GetSampleRate - skip; // SystemSuspend - skip; // SystemResume - skip; // ProcessData - skip; // ActivateNextQueuedData - skip; // Update - skip; // IsPlaybackFinished - skip; // IsProcessingFinished + pure bool ApplyDataToHardware(int param_1, int param_2); }; } : 0x4; \ No newline at end of file diff --git a/libzhl/functions/SoundSourcePlatformBase.zhl b/libzhl/functions/SoundSourcePlatformBase.zhl index 1231bc57f..375c9b23d 100644 --- a/libzhl/functions/SoundSourcePlatformBase.zhl +++ b/libzhl/functions/SoundSourcePlatformBase.zhl @@ -1,75 +1,6 @@ struct SoundSourcePlatformBase : public SoundSourceBase { __vtable { - override - "558bec568bf18d4e??c706????????e8????????f645??0174??6a40": - void * Free(bool param_1); - "558bec8b45??568bf18946??8b45": bool ApplyDataToHardware(int param_1, int param_2); - - skip; // GetHardwareBufferSize - skip; // open_file_dunno - skip; // Queue - skip; // Deque - skip; // HasQueuedData - skip; // Open - skip; // Clone - skip; // Close - skip; // IsOpen - - "558bec83ec08578bf9": - void Play(void * param_1); - - "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????56": - void Pause(); - - "568bf1837e??0074??8b068b40??ffd084c075??ff76": - void Resume(); - - "558bec518b41??85c075": - bool IsPlaying(); - - "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????55": - void Stop(); - - override - "558bec538a5d??568bf1": - void SetLooping(bool param_1); - - skip; // IsLooping - - "558becf30f1045??8b41??f30f1141??85c074??51f30f110424680a100000": - void SetVolume(float param_1); - - "d941??c3????????????????????????558becf30f1045??56": - float GetVolume(); - - "558becf30f1045??56": - void SetPan(float param_1); - - "d941??c3????????????????????????558becf30f1045??8b41": - float GetPan(); - - "558becf30f1045??8b41??f30f1141??85c074??51f30f1104246803100000": - void SetPitch(float param_1); - - "d941??c3????????????????????????56": - float GetPitch(); - - skip; // GetNumChannels - skip; // GetSourceFormat - skip; // GetSampleRate - - "568bf1ff15????????85c074??6a0168????????6a02e8????????83c40c5ec38b46": - void SystemSuspend(); - - "568bf1ff15????????85c074??6a0168????????6a02e8????????83c40c5ec3807e??00": - void SystemResume(); - - skip; // ProcessData - skip; // ActivateNextQueuedData - skip; // Update - skip; // IsPlaybackFinished - skip; // IsProcessingFinished }; } : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourceBase.zhl b/libzhl/functions/StreamSourceBase.zhl deleted file mode 100644 index 646e6d809..000000000 --- a/libzhl/functions/StreamSourceBase.zhl +++ /dev/null @@ -1,72 +0,0 @@ -struct StreamSourceBase : public SoundSourcePlatformBase { - __vtable { - override - "558bec6aff68????????64a1????????5056a1????????33c5508d45??64a3????????8bf168????????6a046a0c8d46??c745??00000000": - void * Free(bool param_1); - - skip; // ApplyDataToHardware - - "b800000400c3": - int GetHardwareBufferSize(); - - skip; // open_file_dunno - skip; // Queue - skip; // Deque - skip; // HasQueuedData - - override - "558bec83e4f8515356578bf9bb04000000": - bool Open(char * path); - - override - "68????????6a03e8????????83c40832c0": - bool Clone(SoundSourceBase* right); - - override - "5356578bf98b4f??85c9": - void Close(); - - skip; // IsOpen - - override - "558bec51568bf18b068b40??ffd084c00f85": - void Play(void * unk); - - skip; // Pause - skip; // Resume - skip; // IsPlaying - - override - "568bf156": - void Stop(); - - override - "558bec8a45??3a41": - void SetLooping(bool param_1); - - skip; // IsLooping - skip; // SetVolume - skip; // GetVolume - skip; // SetPan - skip; // GetPan - skip; // SetPitch - skip; // GetPitch - skip; // GetNumChannels - skip; // GetSourceFormat - skip; // GetSampleRate - skip; // SystemSuspend - skip; // SystemResume - skip; // ProcessData - skip; // ActivateNextQueuedData - - "558bec83ec1053568bf133c9": - void Update(); - - "80b9????????0074??33d2": - bool IsPlayingFinished(); - - "8a81????????c3??????????????????558bec6aff68????????64a1????????5056": - bool IsProcessingFinished(); - - }; -} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourceOgg.zhl b/libzhl/functions/StreamSourceOgg.zhl deleted file mode 100644 index e848fced2..000000000 --- a/libzhl/functions/StreamSourceOgg.zhl +++ /dev/null @@ -1,64 +0,0 @@ -struct StreamSourceOgg : public StreamSourcePlatformBase { - __vtable { - override - "558bec568bf1e8????????f645??0174??68c0000000": - void * Free(bool param_1); - - skip; // ApplyDataToHardware - skip; // GetHardwareBufferSize - - "558bec83ec188bc1": - bool open_file_dunno(char * param_1, bool param_2); - - skip; // Queue - skip; // Deque - skip; // HasQueuedData - - override - "558bec51538b5d??56578bf1": - bool Open(char * param_1); - - skip; // Clone - - override - "558bec83ec0c53578bf9": - void Close(); - - skip; // IsOpen - skip; // Play - skip; // Pause - skip; // Resume - skip; // IsPlaying - skip; // Stop - skip; // SetLooping - skip; // IsLooping - skip; // SetVolume - skip; // GetVolume - skip; // SetPan - skip; // GetPan - skip; // SetPitch - skip; // GetPitch - - "8b81????????8b40??c3????????????b801000000": - unsigned int GetNumChannels(); - - "b801000000c3????????????????????8b81": - int GetSourceFormat(); - - "8b81????????8b00": - unsigned int GetSampleRate(); - - skip; // SystemSuspend - skip; // SystemResume - - "558bec53578bf9": - int ProcessData(void * param_1); - - "558bec83ec0c568bf1578b06": - bool ActivateNextQueuedData(); - - skip; // Update - skip; // IsPlaybackFinished - skip; // IsProcessingFinished - }; -} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourceOrg.zhl b/libzhl/functions/StreamSourceOrg.zhl deleted file mode 100644 index 67609c246..000000000 --- a/libzhl/functions/StreamSourceOrg.zhl +++ /dev/null @@ -1,61 +0,0 @@ -struct StreamSourceOrg : public StreamSourcePlatformBase { - __vtable { - override - "558bec6aff68????????64a1????????50535657a1????????33c5508d45??64a3????????8bf9c745??00000000": - void * Free(bool param_1); - - skip; // ApplyDataToHardware - skip; // GetHardwareBufferSize - skip; // open_file_dunno - skip; // Queue - skip; // Deque - skip; // HasQueuedData - - override - "558bec83ec0853560fb735": - bool Open(char * param_1); - - skip; // Clone - - override - "5356578bf98b87????????85c074": - void Close(); - - skip; // IsOpen - skip; // Play - skip; // Pause - skip; // Resume - skip; // IsPlaying - skip; // Stop - skip; // SetLooping - skip; // IsLooping - skip; // SetVolume - skip; // GetVolume - skip; // SetPan - skip; // GetPan - skip; // SetPitch - skip; // GetPitch - - "b802000000c3????????????????????b822560000": - unsigned int GetNumChannels(); - - "b801000000c3????????????????????8b81": - int GetSourceFormat(); - - "b822560000": - unsigned int GetSampleRate(); - - skip; // SystemSuspend - skip; // SystemResume - - "558bec6aff68????????64a1????????5083ec54535657a1????????33c5508d45??64a3????????8bf9": - int ProcessData(void * param_1); - - "558bec83ec0c568bf1578b06": - bool ActivateNextQueuedData(); - - skip; // Update - skip; // IsPlaybackFinished - skip; // IsProcessingFinished - }; -} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourcePlatformBase.zhl b/libzhl/functions/StreamSourcePlatformBase.zhl deleted file mode 100644 index f2882ba19..000000000 --- a/libzhl/functions/StreamSourcePlatformBase.zhl +++ /dev/null @@ -1,63 +0,0 @@ -struct StreamSourcePlatformBase : public StreamSourceBase { - __vtable { - override - "558bec568bf18d4e??c706????????e8????????f645??0174??6a54": - void * Free(bool param_1); - - override - "558bec515356578bf9897d??8b07": - bool ApplyDataToHardware(int param_1, int param_2); - - skip; // GetHardwareBufferSize - skip; // open_file_dunno - skip; // Queue - skip; // Deque - skip; // HasQueuedData - - override - "51568bf18d46": - bool Open(char * path); - - skip; // Clone - - override - "56578bf1e8????????837e??00": - void Close(); - - skip; // IsOpen - - override - "568bf1837e??0074??8b068b40??ffd084c075??a1": - void Play(void * unk); - - skip; // Pause - skip; // Resume - skip; // IsPlaying - skip; // Stop - skip; // SetLooping - skip; // IsLooping - skip; // SetVolume - skip; // GetVolume - skip; // SetPan - skip; // GetPan - skip; // SetPitch - skip; // GetPitch - skip; // GetNumChannels - skip; // GetSourceFormat - skip; // GetSampleRate - - override - "538b1d????????568bf1ffd3": - void SystemSuspend(); - - override - "568b35????????578bf9ffd6": - void SystemResume(); - - skip; // ProcessData - skip; // ActivateNextQueuedData - skip; // Update - skip; // IsPlaybackFinished - skip; // IsProcessingFinished - }; -} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourceWav.zhl b/libzhl/functions/StreamSourceWav.zhl deleted file mode 100644 index 46bfb798c..000000000 --- a/libzhl/functions/StreamSourceWav.zhl +++ /dev/null @@ -1,59 +0,0 @@ -struct StreamSourceWav : public StreamSourcePlatformBase { - __vtable { - override - "558bec6aff68????????64a1????????5056a1????????33c5508d45??64a3????????8bf1c745??00000000c706????????e8????????8bce": - void * Free(bool param_1); - - skip; // ApplyDataToHardware - skip; // GetHardwareBufferSize - skip; // open_file_dunno - skip; // Queue - skip; // Deque - skip; // HasQueuedData - - override - "558bec56ff75??8bf1b9": - bool Open(char * param_1); - - skip; // Clone - - override - "558bec83ec0c53578bf9": - void Close(); - - skip; // IsOpen - skip; // Play - skip; // Pause - skip; // Resume - skip; // IsPlaying - skip; // Stop - skip; // SetLooping - skip; // IsLooping - skip; // SetVolume - skip; // GetVolume - skip; // SetPan - skip; // GetPan - skip; // SetPitch - skip; // GetPitch - - "0fb781????????c3????????????????33c0": - unsigned int GetNumChannels(); - - "33c06683b9????????10": - int GetSourceFormat(); - - "8b81????????c3??????????????????558bec83e4f883ec0c56": - unsigned int GetSampleRate(); - - skip; // SystemSuspend - skip; // SystemResume - - "558bec56578bf96800000100": - int ProcessData(void * param_1); - - skip; // ActivateNextQueuedData - skip; // Update - skip; // IsPlaybackFinished - skip; // IsProcessingFinished - }; -} : 0x4; \ No newline at end of file From dac4299e8ae5a19d3977d964d56d35863b241020 Mon Sep 17 00:00:00 2001 From: Sylmir Date: Sun, 14 Jul 2024 17:59:49 +0200 Subject: [PATCH 09/20] Don't version updater resource files --- updater/updater.rc | 69 --------------------------------------------- updater_rsrc | Bin 552960 -> 0 bytes 2 files changed, 69 deletions(-) delete mode 100644 updater/updater.rc delete mode 100644 updater_rsrc diff --git a/updater/updater.rc b/updater/updater.rc deleted file mode 100644 index f460a2935..000000000 --- a/updater/updater.rc +++ /dev/null @@ -1,69 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "updater/updater_resources.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// Français (France) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA) -LANGUAGE LANG_FRENCH, SUBLANG_FRENCH -#pragma code_page(1252) - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "updater/updater_resources.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Resource data -// - -IDB_EMBEDEXE1 RCDATA "C:/Users/nami/Documents/GitHub/REPENTOGON/updater_rsrc" - -#endif // Français (France) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/updater_rsrc b/updater_rsrc deleted file mode 100644 index e9e00fd17bc2158d2d170e13032a39b982a03920..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 552960 zcmeFadwf*Yxi`Kivy%)kum=qgZPZv|MMD*d7jS~+!c0J%Faa{b3t-RDoS1q+m`U&w z2u`BxEcYor)gF85Td~rXYI}+;+MuWtz)ZLZQ8^kb)u^dmF*zD8LV~IDexJ4W+>#*J z)8Bdj`SH=rzO230v!3;==eC~pEYFSW6|15sD*lf|6r~xz^shkt{rW#Pi=vD>@5OP- zmQk;t-)y=5_45~1-M%t=`HH*$WySaI%>L)^-F4U9{_KCcEqg`auI$_I%AP%cVfLMO z-+J36W5dWy!To`!vVOKp{Ql+1*TwHgPwo}JT~Bt3 z-_9pr!*9#`oj-f(gAae!^vljC_u>Bd(!V_UxcKdQvP=A)`?HYv{rE}xU2yw9S5aF- zd**d1%Jr61rEA5y%ILdJCB-tvGVTK9p)^GqL}&4@?O$;1z{Ljq5|-#XMN#OE{zZS4 zcAG>ho>`TGwW1)Er4Ph!?1vsIJ3mcVHc}I}*pyD$lz1Ndv)rb%EmV}y)9Ff9>|w&i z#&jiuYAh?3%8eM^%H0Rw z6_>E`jzYG5?Ep=r6%(0vFxWCVcY82280b;ZIdNz64mQO7$CXNgkzbl2oL%7!y=SvBq7+{({C!7YDsNLfN#)q1?&0KuUY}@> zE}s%_%=XR~?R9?(tt8NE_fPYZ?txg#)@h(u{wAsp&YFQs<>`Fuc{p-o}Nm#|0avc`4U+ln=j^M ziO-a+v#I!_MQO^`MYu9&0T1FqRl#F!ki@NcY~h81x|0YRWGw5y6m)CO$KmzgLG@=` zpQ>zaNT}b62UT8C{}ZDA4?V*s4C=4C5k>fGcqjWT+xz~?SbM?VDGPlS!&+tU>Pz}q zz-HX9R_Ew-y(~?)hJ{!Nmq>a%ew}DfSM&l^PdDb-&7Oyea+PqQC>1WW(H(PV>cyGN zouwCNF}EYvZI4{l(x2jObq!j0_rFsCRd;ooo7!BVKA-H{2mprQ*xG}!$G{-xS^^)w`UpsVp%;NHgf9=Lvu z+8FV>@nP(XPJBW4{jn!qc;aRIBNJB9tGeD`ID%$^Z$*Op)L?%^a|OE4o1R|}ttAq$ zvo`q^iftuY)n*?;QQ3Yq+OHJt-!k;eZ`{6UyxLN&#(?estj+r-6(~DcfCKC1#9>xq zMkbc4s6Tk%Gw!xLnttcc{(B!j#7zolDbwvAFG^j)EM%oGY2}jz%~MrL`A3I zvXVYtPo$6RlhTJhFQmILi@J4Sjsx z8r8X@=B%X0L@T*<9JJCi&LpY>Y)J>JJK!@s2YIl92(mNEUjw6GqCxAPOr)76=t?%6 zL{;*!fz;^*&gpDpPP?ooTj#M)m1CLE;@z)BR-lMQklPFokB zO|*px8HmvqzFcSyjUc5(1yNEu7$v2Hry`}+Vf<#tUeHglH#4R|4$}14?qi4QuU7n{ zwDXjL`WZ^#MDBK}NrHBIx29s?3|DWZ?l}P|%JuT2Ubc_Fg{N#BbMclBQ>~>oXNx~0 z7;-FSoD#VCr5r?6d9OFGgOaI@PolAiw-r{}VfsF@8^XYeb* zBb$~uSRd3(JO&IU0BQM=?vaCE{Q%hwiqs`D)lDBp}|T$v1kfx^9_`g@++?yB&&;gnza_ zCZA6R|5O+OK#B=G`eAYrbR&19K7dq>QU^_xa9Rd>!#|p#C@1L+sc!#}-bDLzTI2Cc zaJSPPkE74Il_q7~|H^nQWJ~NmOr;8T4J)x11ixHUdx5jWp*@rW-cxO1`}rhdLi6oL zp+zsTuRAN^Rw0g;>{$C{1R7KAWE8F$B?^89#KsD;9W6Y~9_oGq4^b4(oZ9So(H%pJ z+U=b^bK~#HN=vHh413=?3%dr56O{3S_YEy*&$-rKKVs4OLyM-Jv}g{B)_;6${hs<5 z5b=&D=hV@eWGE7h)9&928 z!N~19Pt|^%4Is4qRm~kRLCAgg?*jtuGfS}72EN$RnYxhOV6*Pf&-PU~JG6#QLU+Kf z{jqf1+7HP#);;|%(r+cW#aQi?(y_0S<(oUulftg4WV`IUdX_R74mFN$|> zR5H(3cz>qzL||oQu&!STSXqq?HLyLnnrCw!^4}f&TwO7#Qaf)p+MDPcA8-U))nJQ? z$16V%Mh5+tHBG#FeBi=h+(20FQnJcVz2lJ3IUt%+ueU4+9XYb4(pwwv=r*HPfiR5uZ;3ku+AE z12*q0o>DWq+G5PhE4!^N#&zxW1EXqFgM3;~rg7b?^#iGNb5+ln`cJ=Ce@d>n+`7U-xyF)c98xYwcw4(N5E?$>BcPF$uv;slQBPt4SQFdY|ouf4Lp zNdpQ{2nJ!pG5-zq1Jkre9z%Kd4y=dzftlLF594kYx@BK6I&di~$HN)57aI0@xAsbk zai0a>qHLf8#SL{1stdKFF4R-k(lejIU_5Ne+to7<4<0CpR=VcOSwH#7PtHPx?~4kr zSo8MjRQMVT9Auu(roiFpZ^Am!J$zmHk%nVh!*?Kcn$l;KAJQ6NAu9Rk!fl;CHCo|euO z3#@Wi*LV+S9*!62c&{~N?Q2R0C}-}DxH2Obb$Rj$vUS^NF90|E~MC|v!7fTG_(i+mHQ| zPQKZs!TE_EDfI)F1k@5L6~?93IF1IxCJ5=T;x*{)eOxrW8JG_e%VFi5?d$nA^K4_T zEv&p5lZf~?CKM@aGrON5_1AMC?@j)vYtob`z$}cJJEg7Fb;LrhiFU2x&7L!WRdAR| zxW*7yYgHCAEh+tHg@Gdzd=7s~EjK;0>C&fSjQfNREk za}Xve3-`Pzdt^h8%w9BU(~s2;{}r|6@D^un*kOln(lvxu%pRrd>DY^62z5>~p|6B%MESkr?;M zY`7(f3iT=@ptR%jwo6K4J~u^T3crA zg>2G{AX+}GEgicU^pkoyUW(^+H-i~4|)jFOLCzc;J93F>%Dr*-S9U$~XrHf>4^8n^UJHtfXVfY_GC(5lg( z*|k)lXH2swM}=T7A5#43T1Dz|BK5%D!*J#wWNsmG-BRL~X7YEBLE@I?0DO>L`9TaQ zNnUqO^F%ZZ$&0VXSL%i1B%xaHkd^NZZqEdpVMTUG@A^7$;)Z)$s*@ib4eF;y_KLugg0jqK3eAhJXuDqX1P)CH_dg5ddn;wKv#S zKrirAOwqNU5IkcJX^j#)wqRR!9G>6MOW=-O=kU*Efdj|icea?oIZfcMvjbg?$7pDZ z?5y=C7#Q6mx}}$?FCGIN+T88vU2LR!Zj9A&{HW}psKczmbwJe6!p}b5ZaQm&o!Mh0 zX2oC&RP|)wM`#+D(xhn+6q`rv|2;R(pZ(caMcqo?qvm0DX~GfOB_CjZxx+ zaJUCbtIOu);{rnAoH<aYp~bwGTXdT5*$OnSh2<8Kr7!JL!mgB&2h4G%9B zgU;8hdkz>YET$@`2io&?>2(Jop_dwzzQ3+3gy8sQwy#aUhp?uU;(c~HfKY*vNuzMp}U9PTh`Y3#< zm#EBj0MFsA>!~rHRba;V^;A)>J$*nxIGvV+(dV8;c!mcJA=Vlg2e}tcA0sR2xmw(b zawTfd)Zx&)PtZr9K{c%wpro%5wFyjOsRWYupivgl%WW6UvDeo*6jlHi9gK!9t$~6< zVA=&+GD(Jb9L_>V%~*IBY}7~iAw3RuFL6zy#Gx13$+tJhp^Z-uo)}x3(VU7vhf2L< z+~%67Rw{19H=jzA04qnFqgM4))P9A3T%J}Qhwa3_Fpw5kMd zFM|?1O$XJ+m#SfM!dqzvd%>vgf(Hgx+<#Hg*4&nGx-{d|o>s{(rEh6~jf3VE480%h zzd?IA4aBOwP@jESffC7SRPiI`di{(*prAlctDkX4V21fS4ZmcF4;AYvgj*rjmq~dJ z4!e|$OleCBc22e=Ju)j_5%^eC8VI~6es2rB1p(=?I2ZlWOF94rZV&kFcgUa>WrWGii`2WZF zf8f#r#fRVh`2P_8SJM8@f0p=nDdweB{HpRUmAILZZy*UD8_iaz+Ia=w#UptmM(Zn7 zAQpZo$ip&U1*@|&tS$|%1tX5EsjUsWGf2A&MjR`%XfaStn7#s>laQT;68nDu; zrYk-6+!nSEU-0?sfV0@^3RIC{){=`_P{+kAd5r?h1gi(zE=3bq3$LEYe;ZVk1^ln# z?}zwH<0I!^o!xodudRpqdeLmO(mKs~Ja8B!n6z3Z#y_F_(qL<*QJT$L@d>{CT>*Yd z2Px)d3Ul*9GveipxeHm^$y%EtTDv#e+K^#F2hh>2BeW!&6#5)_`I?`7=9!B@$ph@F+_$l= zas1QVeJv+a*mf+2Tes`3K~dm%cjB}DS}u{LEK#-yVvk-Vw0WWn$?s5=%f) z?!Ir1BwDn;8*mdxjfP?|7@jNv!_jL#}BFHhAPE(R9@6^atM`;K=v z)8m#C*5MRLFR&ot;vm8TgrpSpfeQ7&LH?fr9NHFe3`Cmj4fNRZp=xcRW$`)FfMeFi z-Dgp`F5;Cgs2qiv;le2xT|~u9r60`!bEhy9v1ATb5&RGGqAqc~W}Iw3P&@^@rup7gt5%_dxxiri@orYC zwwy@K-5(pWgQ5U2j#Ts6tQ|XcShWT<1$`*RI=ls+F6l6fHPcHfJA`j!H1CCQfvlnT z!h)aNGt*ETFF1@aePnks1)M3oeq~%zC0|Y3rLe@`R7rO?}px)b^ErBvn zAUmQj*`^0zwC==<6z72dq6)STE71HSr~yU^Rbe$sGrjx_s>Wl7^g!`ocy`Zz%srov zUkBX^aV8k(p7VVRy%oG0jz`dnzNE_+2^@^nsNj|SfPBc{bn!3r;b9pcPal@r1Z5mlcYwa|bm-?Ac7{cE(64om zUW#|I7*BJ>!LCTL$36EWN~?J_dKPFG&<48rz5Ow=?TrNX^0`oI1aJApl}Vw3f@&rI z{%sw&NEGALN!Jp3Oqoc|En-l+53y7?CfaPF~ zLGT!ap74*vcmo3t7(jxM+UdzijJ*T~8D?OVv2(%Lr_)2Y-%L5UkeA&<4|+!$4Z+ws z@r=E2;F&z5ix~SO5X}PlQ?3Bd7zb~E0<*y7KSY1nFERUf>kkzGi@|vwf|iVM69_~Y zgW7m?w~@6wu0_N+vo*??iygzc@_caRnI6(HU=+e-a+5%#%~+TTfe&O>EC8E!i-$=% z#*dZ*hNzBVQ~1ZAY>6LMmN~iH!C;}zRSmV>$Cj(kLxJ(&2TOH`1(o0;V{#$OBtt@k zM!Idx>wu07_Yt(^{kYN=cq6qA$m?`5yJ2u+G=3rS5F@1g&~+El{?m%^?@z)1y`_p{hF zrrv8inI@ViG||tqh2C48;|sepsfw^WORB!W%A4{fJC4=%XGc;>qwSYwovJmdWv~6Z z)^3$A6SZvA5Bb)9TKobczn9qzugVH+Y&rrKXf3QQcOPac98o5xfC3=2T&z0?MVFjd zfesQYw65TUWg`k|57F9PF1+U5am^U=LVT0kqJw?H!O^BYJe{Os`2nfLlyk7tPfe5ceZFna31w~AsP7`I3!Rt+mGg=PVN$tBc! z_`1*;EF7x^h6*Jg>fHf(?WHwreiz({p!r~(!xFGNzd~G;2g`-LXA&xd%LGab=U2lw zhM-nrK5(D)R+Ra?{5yC?4bQNBzhc>M4dnrMnVy2_!s!(f;-_F9}d2uUhTz7 zyz2m`)n}ju;NjlF^H7zzbs&}{Krv+Gn&nxds;MJY1>})Rht=)d`heMkk!e2uXM6;v z(1p)Yy%M>~$NvOR30zWuM^6`=`CnoFazAP9Xx(*?xcCbwV{&oezl;0oO)maVWGV+7 z@Fk)VfM=*RBzwZ}1E@8I8us$FU2x{sHS0$!+R7*~KZPc$_} zze>Q8g8GvLgq&}GOPp_xlj)O)YM|&|mK=%vz*G@q`kkc5PM4!5Bk2k2%MFO=y@iIS zi(m0wc!leDJeu@XVzb?c@rPMSn3`d?NztSQh-U=1n;ENDM3VN$Zj*wMDTZ{ks1+dh z?qZr+I2&p4513rw)(L`QSNkqm*yPVVn#XI*${MOQ*y}|wJu<+rN z1c#Q)7QvzL7e_4^`m)08um}#lYGO1vv@04MN)$!|9*dc!E}TZ3F~&E#7zA-t2wHVG zzw%FkQD1Z!8A54r$YKh*$qp)U#C=LaB0x~IX2KclJQCQ=!W8zh1MHN3Vl;&MVaTG1 z42UHM$w%i0Y`<2tC)lm7IJ0s+OL3+_L)xxV$Wu4PI}Hr_FKGnu=1cc2m65K*X;#6XyxJPj=`Nel@68tgtk@yAZ3?4{$D)l;! z35dOISo;GFqgOzP|15GVZNOp&Ej6@eqC~LA68IFKcq=OSzxPV^I6OvI;G4phB&qG! z8feAe$NG%2skw)MFIsL`Fijhe5Hn%V8`m8O7eFs3S})p&=OFf?Eg<#++Bp#}+Cs0w zMa_cVi#Eb9P>>lekj{eH6Wh%Xx6xzzaxZ;3B^a6(F4`-EROTq$n|abc)$)xP@T?L)Xh!l3)wZ25%(? zClHRB1HUv8{>x8CLOA(siN2w#mQw_-!@1o*pY6+StE@yYBYa)>2hb9H(X%ZkV8CO7 zWXA{(Q{;o8Oy~AM2rgvU$kFy&NAmZ|=uOrFG7H`ZZTkef(E)!abndJ3cD+J7lR!}4 zGS`c-KWS!RUhD0BVt>+}6`#Z8@GUSr{bexOG_3FC?OL{U<{b4V?XectLaRgx!KxTB z^jGNDr*!LP3uXG}6NEB7jBh5Yvu^%U?|=No}9 zk~p($7X1nK!hdZ4AL8#Q;cq{5Ch`zqt<6Q@#Ay_lI2RTS;n5}(3rX+4Or&?)Nc^E% zF+9DI3D^JJtvuC$Jp^oQ0WM9V2e*h!D1d+?A87|$pc?uAhltI2qkW~FU1wvLYuKc; zgreu`@5@m94t~BPO>r)^uN+OLz~$+9do80a1%Vkb5)EvujZ9dK`lK=CFTgvvaD2jQ ze^CS1OG8{UoTV@&@a75vNPss7Fb!GKAXn=SUS4e)+URc?jU@&W>r1Wfxe6=t>TWN) zagn}sQSiP+j@s(rhZz}>Re15KxeqXYBW$2c zWZ4qGdLn*pBgt3z7JGwr8Q?H|giZfB#{8;q`q3BNm_!_$A&PQWAKU=Kqh{2qSf7ea z=p{asj`#FJ4`g7kXjo0}!O#M76uG zr&gbOKybQx{M8W`QaU^AoVT=wTJb3a6b7$?eHq-Z$+h^J^jB$3I=ZUfuNCzp zF4fC#t-?&0hhTmf=Qh;f)mLY5pYRt6?jtJV<4`I-*XWAiEvNny)7xGV2NwafCaY+& z6=3tkKyH}r^Df};eE^vTu4MKd-^1;nfeNfHT4=d3r5$;tcpN9D0dkA#Xe{4TGO$sCkh9bhH}W zqF8WeW~++jRMNa@d@~dJ2*6kiB1z(7EA&r`Vwz;9GhVjD@dD&)YO8@7@?QkMw4H3c z($_|)D8`F^FkTc^`l=f)(49J3oM6UQtDFH{uxj9L)cXzp1L z7Ycq$>vN8%b|JZO1k@!|m{zOp8|xV&yIU7Q7yTI}For0nc|=#pKb+@CQHu zftwbmux~NS9@7X0?8>BZ=ABr-45x`^6T?1|1U$_rOhq^bY|uZN($}S7g@m@8l|X)D z8z&?vR=YDuj+SJA-;E_f9@8$cKmRpV$YpmX9vt23}tc9nBr#ROV{ z&CiNanN%+-C|+f{eEM~I$vpF)Y=y`9XRMM}i8GPs9p!a|w2~@8_Sjs!BM0OEbo>L|wI& zezL)`BHuHnqWG2YJ28KZGER%7e7a2J6B%z-hLu{698${3dGNf}EM${1xn5X#tPgOrd$C}aD> z=|UMRfihMSQ^rb$DPtuC`uy1@p+kLYeQ2}9zgS`*4TqNcstc;W4KudaUs;Dbsx$dS z6Z z(EpWg!4=OB?m-%tKCPuh4NQPKzdz!@%`)4(K)SetKOlJ|%|I(D+v)E=Kz{fpoJxMw z!fzE$e{=^1bz~_r6rL{<=_@B8o-`g#O8$xiKq-QPstdr-D9;%G>}K+lranO}VHYUB zijYOjuJ>A8LG8rL-{2*pr=ZiPZj+bUPwmBpUO27tsdijo2h8Og-o(Ya!Yf+~uOb(r zIg^D#flOtf4vUwxil{n)$`$^@BVeVT-f-F?FjiV!KHa=!=cGskrU?us4j9r`Pynhk z6_fP5yp#I|B>T$ zOt^NwPJf<+o`loq{4eUy#IyJY?2`zmiDr|Lkl>a62k@6;@Qr@G{V<6DNvCOdn*8N| zY(IzzzX6*J0ZgzO%Tg||!glI>82kT-1|FyoGq{b~2FGpB!9(4HQU@-@mE^b`cu5@hDUJ)h zFuS!d2gg4j(ZQ&&z&N?kd$d=biLN6Q~D`;5*Cmk3hKnL;EKZ}H^GFFU>z?S|6? z86?g}=x;)beDM`j>V&B&gsz;QpC{5o{z>(@YK)6edHHQfc}8A8XtqMf<^C3xl-|-T zJP-;^TG#VrJE_etK&!8L8YYf=D%l3Du$5p^*~Q!JHu`b3Nuyye4RVaWw#mB?{j|E8 zF{lSHJSzWmi?oAaLky;tRUJSLu!Gb;3OlHi&%yX&CF0N&G1kMu}&>I zSH=pmXL+A4Py%C+IuV_Yc(Z$GnW&xgRDTvSlI_F(ta`H2W+}f$xpaQ8h&0YfyF`W- zuRMy3aKKxpHMm}In_T#fB9tesrX?!mV?9TchK0m zr|2cvOEXn3nK~kGl=SbrKgJK&_HF_?PRbIWzZtYj&TjaF8W)Rehu-MLMKGjR^?T+h zUj6y&am&j9rrs!ui-NKD{3^U*^Bojr*0=~ooALje+?HVfWbMKKK#+`x$qd6}OE2?Q zPp;a8epEz6rG{|}RXqv)s~%JJ1YXD|(OI}}5lx^C=zz&O*Tb?GcY+J9k8!~b!?+-O zj6h+#F}jq-BFdBZmtpaFJr9VAo8uL43cJJvJvDo+o>bL9fO?3#rtn-*laL``yi%eZ zh=YiPmvU2st9=9z1vUvpE9GIKd_+lbhWP6X|9;tFsj3%n64Ow55H*R;HLe0)Vo*H7$Dj?^ehR9Lb8^aHTnZymMmX)j*m0ZRiqj?dp=j3AYIkPr7 zcMY1jx_b(14W|*i&`XmeC(ZqT$ED!3D||_5qVqq-&mN2Ok6`c3CuJT1ByVvTp2rbo z=G6n+__DtcFTtjDJjafpEy21?z>g59eyuvC>T&qdQJf$5(i+<~mJY?H3`V}!7Od-a zzz{`ztXAymKp8Ix&%*bips9JBuJO6yh(NFA@H`IXE1X8Ydr-S;6O3I-7!wNC9YAp1 zY9xMvH(eX=32DVp^oU84dq3>@4UGisa(M9`2lMmbcMGx=lga8iKzeIh1FHNcs?1mk z64v~oSC`wvY3oq|(zEG4M^ap?9G!D9LrATW0tWmX@h`N1hNUl~MD@zm2mmh^BYq91 zj8LYjPOL;=(e6OYb+J`A z`7QlD#rJ1NzxSTxd$i12&|)E$mDI&36t+;&*fPy2>VFZIs2Bqk)IAb>N%h-NC~Tpk zr(6Gxvi^9@fCu)@$MN}q-OJ{DNbuc!?Rrrf>I|pT_>dkQ9U=^n;f`(zHs)u9)3X4l zm+$!)OZx7qME=J7sb2n)xTiR=6t6LVHvjTN%(0Vuog}=u55(kuus6})lxPnD=mQvc z>|XF9m66;#%m=ZCM9|1t>yuFND**&BO93AxQ!#oa`E(IqdZ1M~qzS;QGhLi)8Xd-r zt5-fo3XAz_^HlV|aTmH_)m$w!?|l?UcEDI}(Nm%;z^!_bitS-oc!kzR^L{5b^V(Ki z4k=;SJwiu3b=LeRKbQP<2#$owu>G){Tk#e8Q_$OW7L(p+&c~@DX+D5H?u_I6>*zzj zDk*6$e6D6%VwI5(omdcs9V2w%=BJRID}(_3X#U`Xc!2WXa<=*>QKsfW+{a#0>7JC$ zmUYPi}xOXgIM7egfY;kT8U+0Dp-THb`L!2q@PBorrJhq<#KNYzxbz z^A=pbA4D(KR0Us_YpU26TI}hf>>Y?VX?1m4_<;z9$%6&6WMVG05UiZ!^q}Rl3LT?0GD88HwRlB6*J2ak>%Bj%I35d7An~G zkcJS!-N>0AV(z&Jvq{JX?4oW- zQNe$MUlu@|f+JFs9YKzYNKF=kb_o$kQb^`X3~V$SsjbYDw=UKUyE3A0u$jGP^Lp3RRe2bCKydW`2GC zD|59gzKHa6bJ?oo9I_I54Z!3rq>_n7J&Fqs}fDKXRt zxX~Z5XcQ?#CV||x;D>{;-JD6sbksUUyyH>TQVIwlH`uEB_`ADc-Q+~Bt zV`*Xz18Oe~%@r`8Ew?@R(csz>V)N}8Y|dbC`(#*A;#82@Z?hIGtMB+!fILzlT2if| zEAjqNm&YNUzZXC}dw@cVA%|4N%}YewDQgvoh}>g~+@nS=}W zOju5AFTSmaT$9NV5%@cQyT*RQ>AOsoq4jIkGF^c_~NhT08Am427j6u0BnLh-4Wapt-v8Gkf{Qa zMv$gHnCAr*!TnI1u$bspk*61qBC)c#+BP4j2jFhm(#S1HQoUnu_m@zBOkB~A%f641kS-L`3$lWPXr<&ynPFW)z#`B`u^KA9FJj z#PpmECl}M87rCm;N^?xE;5Zpqm@c@&2OkT1AY0s>jn0A|b0lMMD5k~Aw+b%|#QCsE zBI#pVeEdc-*8oz^?=fg@HR}&x-o6=${c}%4|4J`U=wH>7vVWxss$#+rig=PJKD%F< zkTgCE*}FdWhn?sKc*x{LE;J#D3#E%YFL;nK&vsMy^BHC>VGEIMwDu_dpQ?YX^!jkx zRP+s9%t0JhobGxa`CGm%UB~R+ieO_Kr-&u zqPYsT%#_}2_#88@o5Svdu6^B{)*|TICj#0V07d97?6@?RZhVIFX zPyU!RgQoMr!PGc{4LBw&Pli9fOXsf!=;blp;=x zAM%>_QYqygQXH83S0|bje;TMt*0InYL?X5!9zuGs?{EX@FEmFw!n)yOE1^xRv~OIB z;}R*3)5Ru}s4EKJ(I_rqggxaz(9`1i&7f!SyBPYhq1q(#+M*RN=CH8k9{JKSZ=>gt)R zf!s2B-4nX&5rkehP=eqWDH|P@UiG@iah6~v`J;|v1MaXeeacgTXj|6?MCxk@Mii;w zw1;P)ifFKYzhmVXgyU)s3qJ2DLrpfvM5$}by(9pyjA zs}Vxlh@aPXi$>d^ZLdhc1#K2Nels>4Pp+D~@D0kW_*JFN}b5l-S zvGj(WJCqd>+rb(iKtcWaNAPzAxSwv&l}W5GqjodwgNPLi7VToHxk5eV!8T2lLdp=x zpEWpjs(<2En%PJjqBpKXB_N&xFZWyl2n}k4Jw{Kls|s^Zw5Pj5UcLMPzYGp3?7c#V z1+2o$N6cpH%^);z8ccZnh(#nEW&$4c4Dlc=bZ#J}(Oem-47=9P!Zcow*vSAz3Z&>S zQ>*KPbsHT<`FgGR9U@}`M>sro2cB!ixO#aNu4cM6Xby>lgDzO`zY;uwxI#>AEWX7~L>;#F){RAEtem~}uBjP9ALVG3 z)`X*>G~nqX48e;rr!m&WaA3@_W=;2N5%M2dqdnY4>(M71D{tOPObRJeupv*b`F3>w zC!XXQgfw0Bj?$+$%*J`J3=X_=fLfR7{UR@0|^9N?Mw_v_xI`1b~EVZ z>&b`)5F8g|l$M9u1jLeCwx8jt&ds(*1aaG|{TICXpWZlt6-b3KhK zRvmG6AgwxLMZ(Kh<0}~U!JShji*eTG%e2aZ|Cm+3`vX)>ixW0Mz*zl0#WFS}S_Ju~ zy(7pMtBAw352z-fvk1mhd+;K7AijP@`(1Pe6+ZuVs?vQ7gbip;6O%VSVUgwhtgoH!H&OVR$w>E@gvrd5-_uM2!9FUjd_(EIV!W&0;9DhPRMUPn7cV zhfo0Ubias4(xe+v)LFp*pt+N%+j%Jh*`CCo1lu4k?=D*%v)|YD9tHa2@(#gZ2}b;Y zj7`BJg}$VjB2+N9%iw&x1^#&e1Rj`QVHhEzsNX}-H( z5F?thZpo|s#{H-}8jFEwKJk)wkuveTAGNP@y@L680d$nneRSBFc*q1??0wy}xv7zA zL(S`4uTq^Tcs}yAB)P)Od#o>*W~gB_Q=c!PEp~OUD1lL}u2+@rbiqofOKd+j#WrJ+ z9Jt(w{BASBRiV+Meic}}7Dq5*a|Sx1P%RvLU|1tv(!Pg=RJsydMC3EMO{8J$AoQf* z%U--xP!AH6t_4Qw>t0p-=fVjJCf5up*!=lRKmpaz>U#0j$b^3Kw0brP6@mpek`peT z7t5c&KAs*qQseL%qD3$NF~ZM~1Ou$p8QA2XC?A`&c!CL9?0F4cw)CjfakC%r?SM~h z2lqu-EAUuMn-#2Vk8mljw3PyjXW|ZN5)kV!4~0!K*Z{9ilk3$a9quN% z=zkIBk)-Sq>A5aW&%xfyM~-JSTsD&^F`t%WJa!@i)CRkN(k<|Ymw|m(pRqLC=~iJz zuFCGFjT+b~F4ej*$Gb&o$|QQC<@58bC$K2o$Nx-3?AfW$;AgfH4R;Zh#@QF$v6aBl zpvAcoyV_9&Tw12$3xi`CgZ4m`y{zbNVT@mHP!RCL0vzXsXv zVNs69r(3&ea74aoyaR8O`k@%v1n(+qjr&(8vgN|R+B)P6bszuX8$fJbALjCiz|*ew zQJ(+^E89=WIQJWuuVWsOOAi4jw$oW~yc8{aLH5}e?$Ug(pMB@!zngk z3S}_pIg{)#B0d{ZtbXTL0Q7Vsh-X2jyuV)xCnTl2QhL#?$d~br#^k56ilJj7=i19} z%DE;6M~=rAiQ|zu;{1A-oF4BGlLLdBWG1?qIX`v;cQnP#d>p~;tH61#bei=gzoh}{ zgPPp91*lqkzj^-lE4VR=k=>#T8=~dHzd5P+=6%$Ayy94}qeHH26+9i22hE2|G6~_V z*j8YQjp#vE-~0gXnoR5fyE_NDngHuTg7v}Qpb=XS4%|knLXJ(sd-$?!P+TZ`I9;pe zvDz2!ihHIL>H8G^Nd#mrCs8na#(J>_jHwM@E2hug-bSwCBpNK`5Vkt z!ubc026%j=_9!dq!_(L@;To>^ZFs={b_ozm#c65Gn7=79L8YyC*nikA1Vy6tJap+$ zbU@O>so}4Z@INl(n1rA5PCOa}C^7h-h{FFw6#fnge;+I9HReANhrdg}{{){U;74%@ zKRVJ!aGyT>%;Gcdk-$xR{BdZ$%wm*oW?t1O0({dSM71n;Nc+s)q={EGKvLZO^RmA^kRf6E{q>G@eu8e&om_=L-p{{lSr zn9F9tf^&wC5AKmOeB}5t#M5N2iRo`6`tPyi;dJLP-;{5KOk@W;2ZNy;Yb#3%X8+HJ zrT?13`k}Q%_&ISnruw))3P%!!C&^(6KO7n1#0>y(f4bSJ0w2FHT3J%q9loa`Vi{yM z?TB`(gZPnnIJ$cn9umvb7D^P%^zl8z3z`^4dEhHy{br=~FtOflPO9W(_tJb2*>h$x&5= zZ{wcFQGNwR%q&m3v5&W&tUT!Jw$2!R&GzvpMk*rcu zC?*WgK!pj@MDmXWa4Ps!W+TW75_N8)30XgX9<$6u7)~;=e=R&1zfNpP`P5=@aF8zU|WZpec2f+fMn={LS4 zxL5dCq7dKg<1g<_#98tZIN(RVB$;qZiSO+o)`2?;HbMGLa(%L~kJIi&TO}L&1THFZ zU{}-FpW$lVoV3=0^r$uZ4eIL!xrzGva3SkEjH_=_A2f?7e1PkysK?ec_L!(9rL_P_ zn1%$j(s)%=`7fNKh(8boPyZKLe6;X@K#YmOR;0V2)Z9mq2L<*%<$;G+vK1>n_NwLh zjB_*OJ>rf*>d|53Dlt?>uw zMMYJCS^0mU@}@LnwSAqHT(@qO^0K*Y1{NHOZ7_M4L~3EB^N+FJ4zVK8EUsr26cFh` zN*=bFTu@GD|BAE7KmW-A8hB*YQ%RYjRJ(u`nRUu|hkP?UvrckZDWA;l)B`}^Yb8D% z0be^rqMu}ZJz#bzjKeXS2w&@l;cI#*x-u;%>1Ipvecq7wSlHgM3HXXm>E;65Bz%JL zWraCV2{MB?7TxWr8HF8w`}h^eRt9Xrh!tnK*|is3w#r~=6qXw4z|YNevYSY>MD#%$ zI}c&JSz5&F5Du<@E#l1-BQ4)&(0jbXdr=NL4;9Hrk$9+hlpY{YejAr3!QR<%=VFp? z@eu7wgxQ9Wu{2g6Lcb#I@YHz(1na5OjPi>j<*x&Sj1=)1Y}_2U)$HttkJ8J16_Gb_ zx_2m9Xp1=Z6FZ~{>rkrZAh82{*!)LWd4$PrstI1hvzc#r9uC&2ofJj1*~|YOX0I6k zVDHoz#Dmy{$``{oR8=L)!KrY!C>I?M;AdF*j#p5=S41bF{Ix^NBLcpPWB?oBAHNDX z;e1gM=ZvmSN3JQPnTVyE!a;;y{weHEB>yWz+8KTgu9t<=E(aTeT8O#6V_9A(DF6ZR z0RR7e68yv6V4luawHG{t@N)li!|>7ubGphe;0IpTz<(3%?cTk4p=75G+5qIn6N2 zC=^%W`=35QK;03UvaLWj4C zLr_$y;7nkoZ-VC~9tB~BEnG#cK?w7zOp}GR!&^3lg`KkvQ*}{vsvbZRt@zN3E78AJ zWYk;|*+4Ef^d~979-DhT79+6q$t*|<<;_g)t>_<;#UnBOp$fS4?`9K&JFLNv2O)n) zu_B~wb*9v~;16|vsky%luC^-y2M$!VzeFx1#r=CSyoQmw$7Lj~$+0wj_xQO*i;(K`<-y=FB2Plzy0J~!- z_EaYD(_SdCt#jM(GisfCRM?I97O>!D_Hc>3iX~Qz`!29CrnO`gV%b#$Lz=1o65~t6 zKKCSSM(JVG|0aBp5~j5!HzH>MT7LQOFkMCf_Wud~j$#y=N*wEuI&lP$Vq;4efX}2i zL~S#l-MPm<6XY_!BAN#7OTRFFm*JFx33+eoOKrL@s_;n`ypXSwMOga?Zy~>8dz;Mm zm<4mA6VyQWd7&AI&w4ZzWny3sx77{!dyeg{s; z-U>N|1TW%iD~|V}EXhcYJb#*AaXCKDVzoJJf3USrug&3|yJ-;wJHe26meO8RTIVZh zCzn?*$%(v;+>NLU*&1`?&lLJWU|HmC1Z?75wzNMI*Pv5>5{YDpK?D4P|H3JMZx-8J zj|wm#LRTccaKDsnIA$yIHpxVcG|EH2ML4E-1r1gdri>u`sXJ9Ass_hKRF=o-yV0tW zK6(Ex@ks&&QF-hT#pYw^Z}XAmft5L&hgXg_)alN`jG9q~dWM((aW3FQ0thp^Vy4x? z#^-J)xUioUp)I7uk?5f())w|g?smk7B|MKoC+Q1FGtaR_c|Q6fH9>9>en8K+WSZaL zp0Jxx{!fiV%VSZJQr1T8ftY-ofjS7;#ywd$)}vrHspmLn4BJ6i!L8y3$BHb)u_Dpn zc`Cm)gh7c<2((Wj-W9Ak2L=iq$n9V5ES^#`8mTSkWpdi&&+gA5I|ad>#W_g1jdM3Z zKfy1fhiXz zxWq==(BYr(@)-gcva=HfJnc9XR>~p}Jn8T_VW@*2`9&mB;Y$+ln|LV}Fslx}PZr81 zFaHA0kpxl@mo(nUBM+RDX8>K1YIw{l!~0}?(LEa~V|z?vr1vA)f2`p0NIQr!(blI1 zW%&eqP*`hHxg-h^besSr%2)94beS`}&R$XF5Ydl+`E{zI{f@j45D6J@K-hSS1Ct~? z^gt4P5Bd>`G?KQrurqVFxAdnt!&>lJbQM-^Byz3x@E>s9^4Aofxqoc3Q8F1t9(n?g z5w!Gsp^ZQZ2^h;K2S4f5-Ge=6Ld_pr!T(9VV|{cs1Dj`K*4(z1ffVQf7bYH5nY^{} z65*<<5TDu%`&D|LK2O!>*_?;`$Q*Ci(}JyZBHz)a%Roama|fE?vU{<3` z@SoY@mc2xp?5~gIft}n?!R}Y#0ii8bJF!VJy68VorqpM76wR^hG`Cdci7iz>e~xfL zB#vwg`WPr&1$16li^zrVh~L=+^(VW|1b{T2IMX>D*n}M$sRfn)q!DwVP4yo5it&f2qTpa)s@2k1=9((*t=Ij z4n;{2@CJLQ#AfUu6xrbF8A#emkzVzyXW{BGT(Pu@YGhop)A?96taJwEAtv@9{y&JR zTma>D5v>AZ8TGs%xA@Nu@{~a7I`=H%F|bKshCGZ!O*EM)i9W0Az=yg0{)|Y?^%d0? z`g|h=OgXT-V-mHx3@V2CVX67yGVoDZRlfNIcbhGFuP^1f<^yy}^d|$#Lo+D0dB;@ray{z@E&I)I{_VBOp0Kti4TJe?@t6tsJZ_Ks4^@%ahZm3s!`7g0{gbn0| zJA#7@^p#nlGj=TtI|mTYiBE%TvK+=T#D=nkh``4Yn0@+^qlm*l6Si31u@~tGo0%&e zHB;Dh=~QXp zD5lA1{c8O_wR<~_!U}cBX_faQOnDCi3dSt(vSJ598}~j+^Tz?3=^_Tt(4g}Je(wkVTbXP@k{VY)Dz^Ex#! zPM?O(Q$}(zgK@~y7=2pocIIL=V8we{b&&E6C#PU4Lt&b*2#VSb(esl$c5#$wcJ>@4 zc>^)vfxWx>B=Rsx9Ez+gdY~C8V=%Umv1#GhR$_V(zaxKpYg$z6MR}rUeg$xXqwH`h zR~tf?X{2mM`Kt>e%N>YiEyIT3#j}1Hn^P2c8juabmz7>+oOk5fE>n0k2;{nu_6fIH)CrQ z!^Rsl>Dq$hDRfV>*T}c%bz4>xv1@RU&#w^ik5}N}%(J<$lFsZgccxBcNjp=uhbh~W z*cn^)tPm(Yny-xi3%6E{ON==QBuS)vX&9!ZD}tVV$BjVSe-oE(~f7P zcuUSlC$+6lek&O?*D>r-@j(0(S|6kWlr*Si_U1c*?uu6<_zO+`*mjFHJ52sqY`GY{ zY?H-*AuG(71&_goz!>-ifCVT#Hf0vPec}l=)5s?+pQ^!+EWzz5`b1H}D;63+)nCrX zSnO1_7eacPcoPFfTnPS-6Jgi@rGF{06|mZ@k)oI?wHuK-ZD~4w4#RNl|1{@2?!K?*mx1!D9v2PPdwIu;0w4iTmf^x_ znlP^3hm8p|AmK`6xf+?q??U`~l`1~z^73EEPeebXf0Dod48h}x-(QmS{cR(B4@wfd z^KC1>i}Z{#DNk&Bcd{CJzEC3_n*_<`h2rcm9b;7q>KMLz*Ti=YNS3_;KZzZl1LqEG z(cfVv`VOwja=?>@v)GV@ybH3y@QPE0aROSAgN_pR&^dHx(2Y+% zgKi1**j|Ryi3>6(w+h(;4Fb_1y6Y&K_EzBBCN_<4cnE_+hgd^vvpHQy{gW%#BdHCN z09@o_S61-)g!e~hx;g_N5!{~snXbOTg*cj4xAaWL6S_^sWBoEZa%LLMwjEHN$?&&< zj|}RClvm(m>F*H2+h?QR1UeD?CwudfI8_geL~!WK-t4%&LntHrp^Vhw7-H%TfT9lV zU^lm@75b7s(lK2&{x0-a*^QY?I{oL6Zu~wD|D7fJur2n|xuh@fvCvSv2=NvHme%-v zd^{4|P_Hk80;gYwgX?3xA$vM1Z?6~fwrctBApTRHiduG62X^58@P^oZ7v1yNJ?IlC zn};!yh@r(8ew~t;TG_8hZ`_PA0#d^~^KRj5h1H4y}LR#?$G{CX`C< zOj$zx7?d@&bFHDFb+0(By00Hr_ZMIU0zra5IE0Im?4XJaww={Fa$BLx>g9vZj@nBN z^<12l#KKalr(64QIJ$iyqEZ&UKoHx>H4!^1$!3cBR_6}w!4sJGhW*^&E^RIC^T63f zTj{4Khi!j@gHokdfT;#SFW-y?Env$y9hX7Mga>;p_w#qLPXN`xQHUIBWaiD!&|ZN; z=dm01X((ge6RaC_=$`%+%OZiJ>?-Uy{O$9p3j8OuL?o^mNe{$p4;Hq<$R040vLu^s zS;BNHdzy3xEMeO8^n_kXvV%Iv7bH|o*RpC6d$?aq9 z^YOkdr@-!!ug9+4#I8LFyY@uv+6lY&1Ih&K+JRkxR{IEO^#LY=kJQQQaDDn{JpqRB zwP^hkCSkPd&&fO#BQ_FR|AVGQ?4Q6dPQaB%96=og{gyiDz<5Ew{k0{AI+OOr&~b&q z6U1N7H8SSGTOt_aes)6pV>`5=j~rvRztMf<*)w-lB2R(Kmba@?w-*aTLo#mK9|IK@ zZkPwpCJh#~BI}(kxF>z>m-MP8{U!S8Aq|!;q8hAxDm2&*t*FB&7F)M30M?0=p+S3& zT6gJ7GeE=G$lhOOWLd~KUB%8_=;ePAJ{g=x?Eeera|p-tffnCyw;Q)Z41a#cb{A9N1XPGRqp7L1`FPZ_edE#wy2CLB$O1c=oo{9)L| z`7`u~eGuHE$@A@iYr#m)Wp7Ap;nQ3&jp$S0dbBeE*FOO~q8)gw&=zpb4LE2Z^vE)B z4N{xf5WE87$HLNLXiHXZ&JxN^-jf1t%k*=};FN?R(Z;Q^*Pur_Zwre(5M5rRt#08s zNfrx=Ej4E#E8adYv^LxEsAd|us)9dL2U1AaabC>-W$j(yqb#n*|4p(<76|Mj0ixW3 zBA`J}%*h;OurutsoINs2R@SSh**p_1k@HfmSZl>>V+!3nB5^JY;s(^fhgVF?K3iSy zEc`s&_in|)v1gy)x?>3WGhxd`^Q@oG(<7^eah*oiYNjtbyJN)`d z)ebRkWIVk=v+(GMB6eTsqK?{$SLj&2ae-JQ|0;dC9aNO|7QoIg-*lQ2m)N)Cw+5Itz2PJUuN^WAGCR~q} zZUNX8_6)!dk3DFy;Mf6>l%GW{j{&-n5R?k;P#iU%$+1rZ?U;asNfKLdM<6DWAmQ`v zqH@wGvFA>Nfn%iP7N&Vqm57#u^ZJgPM8Qu8&S_(JD5pg;;aSR|1MB+|J1i+-0XYpD zZ`gMu0^Q++uc+42R{d6;mYZ!cmZA+YBp-_-}5ejaeJ1yyDPd(Pk%(Z+Jbcsmem!=Z~3 z6LlAuV>g}-6^_7RrS%)rD6Yq;utIFAUfOlB&RbyZ14{8anos8G)8BC1P;lrACut1bUV^>{_I`5nGH z>JSL3-s0OMUBXpN#Y>L}@07j*wI{jF)2j%g`1_-D9hXv_qDuzmr8z|6qc%gLM@NLh zzPltG4hhFj&TGu=V-#zR+sH&$YJQ4{0|&h*3Xxt7lWap>W+pVMb;&Od6mDoN{Jzal z-3DI}j|-xu@&tc6;9g<|O?3RDJ0a+onBC@zD7r)L)>VrLay1RTriFu>q_=r%HJ*yE}>jPnwJeMd<4?62+DZ5QKBd?IeF!r@;*PcdOre^{d7V|9**K&pdMN(p?*3Ag>PRB-PQ;26A4owLptC;uY5G zr;(jCQ+h{9!FOJ?-=G0W6iuQ1rU;gOC;c}m=)X~enT$=)1>@PwkID1_f*F2sL~2GJ zR}QQ8;tiN$Gw0{B>_~&K$W=GD`RTPZuNr1>Vm-qBdvLozb`g{8BO-8=-2aerpO zzeD_V+o(n{@`eTcZ{nES>a2c;BNJKAh<*er3SCLYQEQNp8e@#-ZXT`k ziN+VIZ*H00ndUp{e3FdNTIBWi7Rjr8$MR}M=51bQB(JBVss*-IRDftfsb*fSnP0*a(IyC1E#0`eDrL?LuP*|&~M#a!F>nkX2v(#LS`@7Uk zz`HKeHEN>`snnqqn}eTLm19j!N-~;@3#Oi(lp+FVCo1k8n<6b{IHo`~!v*GSu~cCd zZa|==!mORsu4~ZJM+8AIU6m*BsD~V97PE;s&Tykt1DPLq$yqC{$le)MM4k~chm#L}> z=|!gJUTaGsDobQbaW$MT2*Xmq6w$vVzA^nvg|(a0TFnNYw=1lDlUhm>uwIEmPt%ZW7{4-iI2rF}}d528KYI4;}cPq+go>6I; zKNee8+Xg_UFJe^_7h0g=4spBm-N!f~r|;T=(*6!)odT-JxjSV@cKVmICNg$P4s?$7 zpvyT;ws9a%0ZK%%vY~c$ZbPlBON76X7_=YY8Ef;_B@&Su9Gc9^J+g(ek;O!3f!Z2f zcTn#a{(hFp@I9{YzksKzYVP4D3#W$5F&-ZYf&2yv1%3bO}X`76-abhZJJDws} zv}6z0uSBn$*?9C_7!J3jSf4Xos^7|sZpdr&A`@z-9C^_#L1}#C3|qP@-O-#XdmPnc zxh$cyKH^HL`)jec`W6fEXruoWs7u)v$suY zo@rD;Y#>i{shs!KowQi?Og~yI6ij8yE~1ZAG>?->68~XdZD%z^UEdv0b!`-FiEE>{ z=e)Y~>HRv~C@b8G9AnCO-Em_ptx|A;C8Gjrr@z7XpsDD0;;9R-w-o)VfkCggWK^{1 zcM}nPiN4AUav);*Duqh*qW#G~Q#qR?5m~z^>P6bUs6IFmRfET^)qAm7@gqifm0`NS z??zYf*3-tscBqGX=}WiU8q<&)*X>ki)9Z@3ZudTX7)!sUtSeBnS*Mp=TiIxIRcYG; zm9~~9*f#Xq()YHSf8#bdeXnA7r0>}VS?NKlFFc}$1+BlAB)3}oJzqr~OAl#b&$3QSkKZdkaAfIG zEiHH9^+!=1n|4hmx5(jZgY)?`SJK|K>w2oS#zEE}du9DGH9R%y#`OODST?Xcufy`-@2 zLQ4+u`tl`5F`0@jIRy7YOOBcqkzvYiss2<7k_)$5i;auT>*+^&h)ev+1DTq!Y3ED0 zSe85S%Z9Uw48*bF?2vi*YgAEWIJ@|(4QE%eT!uzAv0h~Q)x%joYs&dg!`VL}2*S;e zgxgJS`&!}t)7yx9bhyhS;ZSfXDqbSpzLD4Uh)GR)|5>Hv3R3^Tr*o}`ACz(KWu+v` z89jnV)=R%@^$>E^DfS3iemixSr<~s6R+0oolHnFqN~q* zLRN1mJ7cEZxKFD7tE!>fx<*yo+I?|Z)kl&Yl+ba$Ao>uvFl2tn=taVaprT%CD&pU4 zEP8U?H%FR|QyD~ij|Lvj3HPnXFLI$m&S&O0e5YOd5cgqM?ibEAyP!7?b2-qM@5*YD zGu>uq&3B0<;6=WDh!z5+EXhVn0EzcB1T@pQTG?=aCI=TuO`N=}=$BiRwjvdFS7Ccg zPop7A-j8f=Neaww&-#K}lT%93&iX&X^QmZ;Fla?X=)i5hDNg&cn%oj&Q_?*j6QRIv$m^K7ql-xu2+l@mlLqy7{(DmBATnlsM?v03` zIFbroF#!~ptT5)DkT!BLa8WkSutnh1k<~UuM7}G|xPxhl0fcU&QYiNzd^*#-lALN0 z6qh*|SVU7)M#J7Vv!@iJhzGoe#a+gPQ6fJA? zv`y#eFs=5fF}YK1xm9wav^u?RBp-1ENdMSZCJ5#!MV@xw1o;Yk-+DnXEon#d(fgBa z8f}S2Yk59$$|&?ELUmeRTaGKc$ZN|z4FpgIKSX&U?Bm8E7Ag>SY^BTNy6Ds=hqeuI z@9WZ%-!A6loum5>=ZEy)XJh5}olfi8gSk>@@tZ_ngE{NLWcXjFNu89fLd8Lsd4Ja@jZ71yjwbRpTC--dWLG&j1qzPeyo8}l2>Tp~e zmvdcXb^8e&cLZN&cKp`u`(AwckjCxO$a0Hhn$77Kp(3tNQAoxNbG{_cdItd%XLU1P z#?i*fQxoJ$h#n<^gXJrF|4IW+yI7< zG!htHAJXVho%-}UO&;#+d`C0(-nZ}c=;(25yGY83$i=_7gUB^UM6Bhq%pKBCnH%g} zc~lRCaTs#F472h;7-BoE+BLUv`4Dlf!*#*J+6)nMRpBp*h8I~5XSFngAgZU*W@w#l zog_Mp89Cfny(+w7n)Bs-Tz43)q&XZgl3=wI{At0$XykiVM>2;J(c1aVbZzS*P~mal zKVfj2!VTHdDqh+v?KDv2%a?n1YrMDJEa{A=DmD(={k&B^b%`5&G z4m0w%8LcHqQJO*?5+6qo0^%~uRa8#!T7qvXg6&LvL86GfB1$2+cww?Xs>ZA!kK6Ul@+rEP>Q zBrd|}5vGz^avKXq=>zzA-ERT*p3OQC$-1*z?t(TIZsu3(?Ug1{{BYkFaAck* z-CH8@MXRPbPj)M&ajO(X*e_fr{x&iUMo?N1CmMj%ddmwEVJ|Pc6oNg!Sqi(wT6o6o z6~27Qe9cN#T-}0+q1V}ANlRO7(`k&)YEo41TnOvHI;6H9ypTtC)Ponzb^1Mw3!MUR zJDB`)=~$Y?IxK!en8$KP-E2D09?u?9wisr65bE3`+#gqPk8pjoCUoZ{^}#UQk2C60 z^M`P3L@`ks*HGywYYow5X3wgid5dQ87?X^tp?sxWDe`*@`+; zF)zD?Oel^t`ABw~Nk~$tf}7B*v=t{D`e>tx(tg>9LzSJ_Z~m(`Wp2FfD=$yT`kbjsAE!-C9jXD@4 z`}Mhv&NX=yF01hc@)zc6DPr1EOVZ1zr{bhWSRih*8{02f{3OnemD7Eq6sU@&i4bYm zbr4~Mr|&lZ$e3xU*X#+YsnmL;2QdY6m-zA+yWSqfG2OqMN&{Y13A*j9;#kbI#=?5u z6ENTxszE5JB~=4aUBgyd$9cxHv7^@U(h_rkPHnAgK0Ah&h-)vP%<#lTA(oX_Wl zxhZq8d~fDEyB=?6K{G3wecXg(FE>RlW|T>wyL_urO4P^geEx7TT5GI@0ym0YH;x5Y zjMowJ&~&bGtah+YnXi7aTm+`DHrPNafhn_tQzjr*TEaR<9&C*!rze{ZqMVWWS|;mH zty!%NQRZ7@?I$an+_w8Cu$+=C_PB9j*ptFbtBKw#%aPUz_uUAB_;i;KDRFIvD&s;5 z87boh64mqDZ({SC@AS$GPj1{>q?LmYILZ^15~zT8qk4PwSirj_P`E8nxS4GhI+KHb z*xTv>gudybLivDTpbm*HV#hc+WcfBD``=AOVm6EB) z^vHcPb$+3ThmFE*MgAh$ zlqG&F6}|K2*D(iB6GUb+uYyO8)|@%pWQX#71}Cm&b6b5e!pGGTHp2XqBCkz%)y{dP z@{8`?0$z?Fl6YC6jbCR(iwd@-OyNr&i-{gM5ka%uMo`g*`jS#L5AO8DuKc2>v)V36 z7xB2z6S+s1U&=xcQ4{q@4G;A+)uuZd3*bLkfn_757L3*b%iV;P3$aI0`%$>vca+!R zc4(=c`%_%)xs_qoDS`Vnnytw_4BdTRTcAk~an70sGFx0~-ndk?SG zL#rU_i=K-Lhr0YE7qnovaczM6Q|z{rASFb+&IIk3Abov*Utv9Qp?XDH?q@6P*=Ji) zvOa4`H2xvkD1tAQUYyk6HY?bLit-e8|K@#)^OT&j}bi2?Mu<7?oSQd-%SHN7>%|keQ?znUc;?rqT$y}?P2tF+CIv7mjL`q}6*Vu^! znXg3OlJ8*@3Eja;z?EGu%3;(qHb>cM^-=`%Hc)@=g78$)3fD|CbryYSKlGsVdkhu1 zcCA$+yxdg`8iTuene+u3ZIY|yxrKKwh;Y$JPekn_*QH!?$?t7v%_!P!ma!l`_XB73 z5MZb8xRBT}-L!|a{DzErD97sDtb>g=6xwTY3#U2SofL9*B@F~$ zN_1Di#GUNAQ!{d4zqrlc5smUiaZM**)^p1XB*B}Fn>Yb=vvTtZHV??}Pm2tJ7j@JP zU~yu{ktPXRPjyDqvqqMbKSY{U*RL8(f(s){t9{-}d==>l-gLDP>!q|RxqOXb-y3r1 zK3~)DNph8R3}fTK4l+GpKr1; znsRt=*H%0#T+KX}%-!knS4LEQWT4VQkFN)OA9Ag;&C^}D9v=JeWZiSncQTRTLb)Y+ zthJCx^nV?CqZ<5oD7w?DKw{Dp!E81Kk;%&b^T-QLUM`7#Z&WfRLB zbdH)z2|K6VXy_r{ZJsMxvWqs!?vjjWAW3j()qy(8usLg<^k+CcR+A)As&vqMgWfZ| zBBywklv~#1D(uBBExEjR$VA7FHHmsEGke< zYo!~RI4xV#JCi`t9Byr8P*ON^fjKDmXjj+L9x!j+r9{}4M(K2FluqXvMVUt7z`zW4 zJb@{B|Cweb+d{1+2GqN{KoRW9^b64JLLtJ;2+ejVTSwxKQfy|7VpVzMKJ+kSUy1Kz zf|Q1a=}501C3YoNAsr!BVKp)C8po2jic^SY16QBI3~D2ue9wF(@;zWo$&rh!LN)Eq zn)MQK(J)OoYvco};c!e-O^RxD=(Qu&41#SNqZ%q@PHWO3Iv|9@JGju8BAuBL(joW& z2&aD>;mB#Bw>6G*h6(Ak|L;jhS2Fcm%xX)nNEW4)`d{aM7{zdTQ1k%F9}R_K+17OrsLGO8u}Ap8`rZ$93D z_P_8x)Go#y1*v$*ALm=w_~ZD!N2r|(9RaZ!F4{l=0$yQVNgW2ft@>uz6I{h;^5-z< zZvhJTH5pXo9!H)`2AV4j18}7JIxQQsaNi8s{HkkZATZk6B^W}Orxmy+a$Zg1rI8qC$Qn<}i7t0dLF*)~h?;E_qO0*2mv?80@BuX!O zZx|j5-$ew?;&twR~&XXtRzdTJ?AC zPAQ*rqO!8Mm@7jz&ws02oo%ptM@QliHVAQMM!wbYkg7F_Qy4TxE6mLl!+R1XA#{yi z5M?WhO`tS!v*m0OFk*kqmegh>5k8` zkTY_P189z$c+AS=4YCA9FwNczr5Cr8JGF^O3*=_M%4}>dxEmMY?G5Epy4;VYzje@8 zKmNk}CnlDPdOa)9ro&~(RV}Da3l-0=ak*mmZJ}MA&)Y(K=~yzSdL0~+g?7jW)mrHU zFMLEOt4(9dG;e=;L9Oluq7M-1uKJMhVq~H(l=-SNizRZ}8VwdGJR(Oqd;CM426h&74>j9chG7%u!TDbLbe+*FoPA^zp}Xo3Olt6(T^GYWUZW)UU6-qY^jm>jMrEt_I^n@dW~U&3a>LpJ6` zN61Uj{(Q-mb+5di(P8W7tT|6Ul?IR*3)M=$rJtNWpixtzDLO(lwY?fAC)i+eSb~4Z z`GMk`bS&vp?NY}}(ZcUBD(ZpW#-N35Mox)!xH^q?lx1i)wE~r;ez5TEafNjfiT_7@ zM&hkFAl#-b3TL8jVq%-Pi;y9rHgZV@)e~HvKMqGmDKDn<_2H#V2)c=B3Ds8q*^sxq zSgN=y&NXYKeDNHX@{XL6`|r?u89DTYtFL%pk`3p}qg!5*Z;C75M$v(+Pm_4a;^9oW zPsGl{`Eo(8@N{U*;w>kKz&-t)7d0`LcL~$zNtq&3X=rlp9ZHW%9 zb`gsrNx*SWbv~a$58o$F)^MIL`xbAmu`owzn81O5_zyY@8^H2CFc<%VsJ|Xx=Evr9-|5WQ z_(HN#xgFmFFlW3Dul>6EmfNAlH_h!u@*XWmXm6HSlXh+4Y4gQL81jnDwawP?%9}B{ z=`TNCxpJOr&d$pX`N z>e%3+X;N~}w|JCSi%{IAMJSffHYT}w`x07}mU$|VLD4vdk`boz`?Hk(@$m9#W%9}W zpz!f5cnq-8jAIkT$vYsoO$Ax;4#&;Cz(f@)Sl~!sO@r;01z*hfj!mngjI6&zUcva2 zDrY~GG@7`n}i}q)~5q1+KUBc8z^iBh%r;ehiR|uh#cb=dYh(vDq_Me$-GoO>MgtBd{Sj)Ea zgS%7Qf27>`x=+5=@l|#JZ|=v=P<<%q7h$h}-vPt!Wm$KcX>(}4HZm%PY!hr?-!r8E${8*8za$1p#fO+>AMou|O^zwY#Bb4G0h7lD!c z>55Bzdj!{ErN2|0xnm{KDCI{>TTr7ERA;hskL?HYgm!!gUn@2v&^6?!cy#WVuPjC6#TyNYp_UDBw5o zDrUPOC}!HTj9z{Lji7i0f_4&XQne|1Pv|bUDB)VaQy8MEdPt2zhJEK8%cdHeq`;P9 z!>APgh)#23e?2!gsz?$ToBd}v*KXO)#Foi@4>l5&dnA5XL)}>4m_L7uRz9g(xyN+n zUuMrl=Fz?z;&Ac9Ib7d)a#(m;L=6mP>=dn@LNzNdHc)R*Z38io;M|qG9e`)9?30tp)J)FB6GMyf;-tE)B9CH^fpV_iPm#67?3CGiPUsXm)$ zMp+JaFu3$z&{F+$T1~1|e?um;C7LTTA(sU6>6Nk<62w|X1{M{WFV=*^R_lA6=C(J9 z!z7{5kGODeT<;+|_2RlQVJRRNw~oo3tz=QaIwWbYXGHFK&&6fp#gg@>?2exjn34M# z390JF+#1WUvw9rSvTM=VUL@JRVn#IE@=d(A$$4aQJ-L$#5{zhL6orT8D}Dd_J5&Ob0`ySB!Wl_{+}szi;x5I zX2w*tcCuQRqsfQH;h_|6bXS5lq0CsmzbdV*sO*~4uS#n@x@1iH6B+w+j+HTI^<%V; zRTEz|OQ%-<-?OxmijR?hISUTM^HizRW%ua62UOE| z4Qky1w%cr-s)j~$6Epqto%{H^p_=9hXfoASa#6}dGf5) ztSgrFVELF*^EW_cmD}=cWm(hlGk?Ojp26H@y#?D`hl_9j)RM9h>a#+ECYLWQHJ1xC zxSTf{z6oSjA15y>Rf3@@$prKbr4m}rCE~tCxxa?HZ+{LQ_M(zknsG93Mv{_s3$HsA z>50^(6W7I$%*W=`$A}~S72!8YwU|?XARKsab|lPBnetxA1OZhp0-I-#iB@8_d6P;q zP3hkcB`|r%N7K6p3luq;TkK!j%bR56IovM@QJ4-WN=V^~P61AKX9PO1*ngj3-{SBo z%F-l)V4Wf;chFx(2FfbQ4C0(bK;PAFXdsvA(jA>DnIipjdVrx;Ay(1LPO4%kdQc4( zTPKwwuVJ>&kX9L2i1LoCddpsK#jZhJF~W zUU4@=-&56_V{S(VCz3g}ZsI<@RBv(F$a+cTWT7r?4 ztyD`^jE(-Ma7zgI)h%A7g@;uW=?I$dq_fGN#)n`A)z$w-e*)hLh#dG`0B(})X+C_F zdc3O1FBy?n9Lp*xsje>&dYSK$U1KFLFUYGLO?r`=OIJTbS9exF!~Ci``e+iB$)Ap% z3HWl^*Or$x`NsfCZ&xqq1$K&0lYbb$S9?}^>V&`>6*tqSAKkl3T!@ZH+Q^}1H3k(7 znY~Mjivz(Fg0nSmQkst>fO$txvgqV;EC>xBCMV5sZ?4{ zs#5a@KgZdXyjkLFYf^fu=m)mI9zj!;sVf}nq`av{&+TBMaCdFb9RRg6(i^ArwJqMD ztJ>Hp4H&6#)jk)lby<=}YyD_kt)F5rF?tzlF)y_~{j1k{heDV4Ej8O9pYlu@sef=A z^{0pnSsM5Z(fXT1yZ`t4Q$6n1U(-ZQuG~GcAqy4rP>GINri_1ngNSE(9k%7hX_lpOrMW_5k32UCu8e^sCB4dRj!CuK1lP?lttuBEW^eFLOA-~<1&LmJg-XJhAjzro9(VX{L;1>5XOrZu z*4~}ObpY>sR!`B5<2En(h%|T;K}GB~Z@WiwB<*INq+-nhh+SPM3&my4s@r7UBt2Bu zp{kJZ&I|&RQB|R;P*!-+?cuKD9db7=`q*XR@uZ%Cj z3CI%azPFdV9&|b#NUbi+ArCNuz0aAAZ;w3T1CdBKXF;{I4x7@*rw%}Sw-J9ZI7;&H z^Iyn{4(al^e28eU%11MJR+`gE(|mz5v$91hJA=s%>`voIne5%oPuM2tE$rpX!I6!S z?{o&owMWWiuWla0pZ?e^JJkc`Yu}K(#cfPnA?kEOT@f2~@5N<1u;F2DmSQiySq2!# zGvZgag`|VQ4HU(Em+Tm7qfT*3%@`Qvz~&l>R$w78i2W?@uP= zi@w+_)y0buj4*E`z~o#N*Qy=9JzGeJij=s@yHkY0a>Q_eHRnZBX&)ZzAL(P?@A zj4c7D7{*6;?we^o|D$ktrn#M8YquBl3!BkhHkujBG#`&0TXEij42o=8ylDt*aEbPi zNwFNf*Wx>v!1ar2nU)Xgal<*aA#!dWIrftC9S%Z9vahn97WO92M*uKQ#7iRY3n#L) zfrErlC#oxrMtJz$5LBMZYZ>0p5#i&MD;h2F$!+Oy-!T%S%)7|zC-Ev_N#|rPD$PF2 zssS_^cN-Ug6PM(TBkYHgXg6ZzB!l14gkv@$Ju)1o$nBrEarWPuA6m^~1X3Vy&+`C01=+n^;wKX(yOC7)8Q$ z!vwllpz#9TCD0;)ZWm~kKrjZwbsGgL6lj}3tenDi2L!rSpi=^k5U5?CK>`hY7pRXw zIRbSPXtqFM%2>BVpnnQfEl`U?eVO0u2+$C(u-Z9uR1eK;IE) zsX*TlXq`ZJ3bb7y*}Bvn5on4)ra%(}vVRDaEzm%Lt`KOvKtlv-{u5ANAphCbw|Z_0 zKJv*2(if7PHQS`O4)c#3Mqe-m>l4-rb#@3d^cR6L1v(+nc!6FMsPYd$O+dj%K5jqD zrNLWQlyOS9h&YHUN1~c7NpBJ4r2_p(pjv@82(($CM+B-9Xq770A$|ixHI3g-eR54CgyGGsG0N%Y_KJwO*X3hm{TY4#~GwVXhgP zZ~J#Spg|{UxV#OO3$)TiX#k|K}}dJumT$o1T=A`R9bcokw2 z<e|1s?acU72Ztw{4Eoz{_I^^TDFBQIt%sO z6V!ZD-o2#Jo^3OK1&c{Bmw4OvK-N*;xx`gTjqF2umYC~1dnG6@V}j}nZyWR5RY!O` z+7XJ{;(CF4gHuWpovQ_4zAmP3$*gQd3NIx`D1=-mi>&rObpe**yGv$Kcr(PhQTB)sd+S;nE{n|RCt$~MhIBiYS z))H-1YHOpm4rr@gTO$vvaMQHq(bi^d9ne;rw$hI%%sg$CX{%OSJGAw#wrsB|%rV+3 z)7EBf?bcSawrocgW{$SXw6$4V+qHE-TPL+;Kc)f<)K-qRW^1cVTb0^+Oj~u@dRJSm z+HxINv5eH#G;OWY)^=^Zt1Sl;3}lm|t*P2tq^*_OdQ4j~70utbctgo>#xTs?m~Ua0 zVIII#Vrnqo#caYnf%zTg8B87K6-*=MRm_{16PQ0^c0s)%>{iU@*7ter;GXYb8xeYTDBe=I?FT&hoeSh1sz1XWTKI>a>*8+bJ^BCsmm}fEK zz61Lu%wEiK%k6FK_c32!eu_x|&w+7b`e6oPhGDWW*I^_cF$cjNhnX#1ZOzlx z5^Ys#YlF5nYwNhS-qn_=tu}4h|ES_j*H)&s#w%;_hQ(Lr+wR49Fb`qYU;>y8m`5=` z!Tb!f4fA`vK|^g~+$J zqlajLx%vjZqO&qhei2EnP(15FWShJ~KSVs?+?8w}*B@mw=&WwwH~DlkT%NYCIcxqY zZqHXPy+%vMT@8J?X@*cE?sazyv|FI10zD_tDuK2Nv`(O(2(($CjRMsPv{s-a0#yoR z3Ut3f_P2nR2$U(%*996Q&|HBE1ez|;-2xQ|v`U~G1==XkXo0o~G+dw~0u2=Cv_KaL zWPcmTA<#g9M0C1tlt5<$$`k1C0?ifZq(DmrdP|^MfsP3Dm_U04+96P#Kt}}njXCd3Cj7&8gcc z*7UlqVoj;56DzOofLP<|OtG%3bFk)U$*LPE*08I-pkX~32yJ`P`0-v@S1Imkb+g4v zuFJtHja!*D7Tm=C0gZd}_n{z+-wlnU7y~iyU`}B^#~gez&wkwUCmztCNW7M{_IyLYe0TeQd1q>y7x%y*~{tbeNmtEzWw@V zTztuZfrADQ$sBs=Wy3BXK4Rn*G4v>OW!5MQzAAn+h^)`(%;{A*&z^X{-iwND&P_Mj z66mt_`SPB7aoJ`LW4ZoCulG%O4A|x!3LibmRH~xn;MCLG!r2WD2R1A+;~Yf)nfU|g zmp-2Ty0FA}5bqG2EYOG_`A}JrvNm@FCuOO{x#5%EL%cFT_#RpXJ(Sr#VtH-uzD+Xb zP@+Z(wbXd261s$yby<08c~W_TdBrq+kcJjLZ@1u-0qQB>eF245`ARAg+dMrM*3HM( zJAv@;7p1TwPhovu!nN#Dv%gy;7GN5|M!T}qG!Y;n*G)c2NdA21lT-#?;JgrZ{0;hj z-hJ6;7jJ-VcY8^h39qT7q%;6KGHZ4;F7M4!x22|ImUeh~#WGUGtrGh)NLwDWlH zzRHR;o9DWxmM~^NBh1gIss$3x;8T?XjTUGN+n{HJk@?gramxWJF@N+ebyjhy*_$zk zyj~0|u*BSWpCTCc7~KNbKS4rt#BfhZQPotG$w+?G_9L9F`H+m~Qnl2VIxzee+AAj5 zE_%>*f42pyly}bGcXqNP;RW$8rK)}PC>PM|T8p{Lqdo%=nx4N85ylk67gLSNj=&U$ zg!1$WPDu--hVQqBZ*ZFqb%-JNh~#GV{C&v8^BY%J0+K)BZH8~KvNuO%5Aq;;uX`pK zhe}a)84&_FwvgK`l39n!D}_XHoYWUZ3Z!Hod{O8FVlRN$@l>Nz*Yv7RXF!v&`Iw8E zip46M)2efSBns#H{cJp))z9)9%>VavDddugttdO>=3tvmsAn@^!A;ei?EG zH5-x53LW6bND9;lfrnn=!#W_4I4v)tbc-RK>3BH32G07cO|_CL4x+u8f$(>TPKIE!87|rA#fE+MmjY!Ho?|OQYv%y%dP#d6{GY!5b-rCw;rUQN?PjRZ)iC!-J=x^v7|HrINl^ zg1sV9C(#zQ-@nvmoABfPnbc|x;5X}~vj%F;&<2V}tg)8hB}};BT>!N;a-I=-C@#|P zNTlV_NGB+CyE8aOp>M|{G)?(F9;n$05O{Q(xaDX!j^y4!*^+ZzGU%(jiDtAlUkpVv z+E1&=#_AhZImYdhb;j~hMvdssA6K)IFYjPTU%F_Ma)bzk(3+H=d<0aOfQln@G%?oL z4@hSB#5s7yVOyMoM;v|}=WxF`ti{2isd?lsP~#yNA&+vEs+@x3u+-X`d4fFO3SGSd zZr%2Tj*XKS7xgy<`c|FT zw>nsuF-j9j?fU1Wg5SnV=#!^7A6+83l|`Qj|JsKo)Ye>$inp_SU7i%*pFi;(O7#8t zgY1JUvNulV`}cYW_|6Sk^$GFQ+L8D_$*AXp7#a$tFma*_9nJPqom#(d$R%se*s>yspXe+)NwuPPmjug!=MKj_Ymg3M- zVG+X&5`?a8v{T?w*-W(DrL%Mc9)TK%xD;!bVag>!w3wc^1-!EgJf?l+WunrW8kg19= zOtQB*yo;Nq*6~&>dg6IXN`n98NL=F>(xC!-}Nnh-7rbeo?; zB=l6F2yzq3j$)?7F#k13Fkg*g%7#N71+7gQmQ-6aN|N}3o<$2G@4KnKw6^AdAb9h~ z@2T8{-pB83Qc}e4WAR&U`R&E8Jh9aL;BN|7RGpls$dSfQ7s~mG#Qn+=2PJm;zfES0 zqzN|LX4}IEkYWXD9uusUg4LE#fn%ODwQ{@*#}`EU7fra+8Z5`@f@w`Qt0nUjaM1PR zB6jM2J0Sv(?vQAQM*YqVBwuX|q%8ooHFrzMq^R#($~V!u{#E6>Rl@$|-?4-$1zq0z ziKJX54*PJBW+&Vx74942`fMCpE45WyGgqSfq2;`>zP4tK;Q8YmeB$6y(Lp=%agX&e zOg`?gK1Rw%krhs6zZ!8Ek3-ct5nFbyFD5Bx^-cT+tFD9`d~HjdHEXCBCiHc8stLW7 zdEFw`4_HS8YUGYo=yQ%$B86KnvHlf@;G;VzfbU$UCnfmkK+udN=dJ^nL(E*dNpx2K zROH&up>O4f3UD}mL4XP2a4O4)HGs9Z<^(2=QAa_L8v|vTL~RhYZm|X61Zr}`@qXnf zSA5n_#g%D53b;wU?!-$6Uo4-~)MsstL57BX;e5XN^AigPobY{Qj}1rPAKtMeeOJPz z6E0H3?~6l{cHq%5MfP)u&)o73McVHO{q0|h>{TXyAjofNhX`_sAg{2HU&PP6l`#^L z6NW~-;)ceQSY9HX=o9HgH(G%!Bydj^*t0K^zm1aQUHFumufHofvZLhxXA$4Nq!22^ zSM{Y#+rz2!rA%8(_ZOu1SiR*5kixr`((xiE^GxaTDSx3<3Eg9D1C6r&l%mpp;2RCE znbJ)C72IGZ%14Ivp&IaF>w{^pA(UMCA^w-(RJ(ovzoFlK5sOupX|**ED|{WRXaY7G ztXM0p4;8DZp%7opdb3DG%wL?o+LoIPqJYaaBs?UbC)GDD+Pd@3K^ACr_I>m8n&TSs+Na7J z`i)=|D2$9KMz2yct4dW~=({o?zM?9{+ZS#ptL{>B@M`gN=|USv=`ayiP_(~fb3(#l zh!X!3k$6~$^Q?G0vvhIIssvkkkFseh@qevSISx+m0Rbc$M|D!gY6)Uhcd2>yo4Qs$ zCM1yy4}gmTp}#XAm#Bd!;%1Md=j#Vq_0KS}g|-a61iDO+A_pD%4Ik3V&8n4?|EDvh ze?Blq>FKIBe0aJu&KnkvM0z&^Rp@prg}L%E&H7j*A2;(+`N~H^&(dFq0YvlMR3o4A z*I1)4q`wYR{q^2Rn$lkdE3SNVBB@h~C1C4mA^2z+Fb^GVYGr)OJ`wPr!Pb|PXp053 zS{wr}(jVVsTrkwV5q*Iv`-C6aXlKDb|LdG^NesX|B4G|ZLmrrN(nV9@62@{K;lBV zE1W-c!P#Zu2yJX;;mR0K^M%GrMdNf*h~i55p!Lw!PV31u9DLLR+_m*&!vFHt>&F<( zZ5s)%mIhzidJ8^_YrWq{s7|e?7BTD+pOi(|DeHQ+Xvi!gqN1=%;^ zaHPiE=8P^l`EfX_6i!wboI!CobRptN?SgYIL+3}DYPK}hYMBQ3aPz_1*8d&8%M-(W z=W;|Kg;5@%+bygk5@ee7aY{aJ=0k>?dNthq5E<=`g{!p^6dYk%yUk@?aPE%7Iiql< zcfrYv!?CNvUD*X^U>uIzV0N1+U2xj^TNR)tuPTPe%9~hJuLKAx))05CkN=H2VJuKu zOBdmTNZ33MT|1WSH&#qivXd&c#|YOEXRU=(?m+dojzO3-x6AlKrHg`r(7zc9B@ULU zU;eV|Wg)VYA+PGD z!4LL+*y{-F62BIX+?>@<;;u70m4J~|RGKl>iZ-7(*@%E|96CGE?%;4~;-bJ555-_U zwTj_;aHY*N#9CTq-iNaaA*1;rW8zA^aPU3If#xN_T~eYF^TBVDnyLfA%3l>o@x4$< zgrXF;N|FoItg{o5DmGjoiYqnx(F0PWj?iBjd4)zcgA@9b^|4*L+!5=ePCj0-KI-M; zIqRcZ!u*Vns&jI`-nsr`a^$S88`eo^A@OW!-+gPCJ;MG%| zY2_6b3v#f_1yS=mZ$!!P7xXY8LsSqzVn6H>tTrxKPAu3`D;ScJ1Y6i8Sg{pMqCTK- za=YMM6~o!p3QmdHKZ4_vKK*k>zor^FERbrCZWzz@u?nJg$)jmw?$>>vhM>o%$?X4a z!s!i)-nqb~mGcYp;4)43DAB~th*mkIDh?f=gc+7;j}57y+Rl}RVlNnJ9S;#pW zJk!(Gtm~YoZ>?kjtNJi<6Wk#OhIlFs@-oPZxiHQ z*2fO{_?7jsTRzm&^@JHONpHZX>Rf|Ys%8+r&g##lYR)~QTq=M)#Z?V|*iQSN8|17x z!0bpZ9bc%I2w0N(T#0G2mBw*NW1RKTEFYt+kNxs7L_Th_bKrFjv51dJ0I>+T#%n$T zw2qqB%TaUapNwBsp)F*@ljjQ|_HUojE>BJh2p42_kPkgqL}(Q{nY;DjcebV4)52PSFOrY)+uYg->98y7=ECxjA>& zlTuMW;_%F`3hkA=4e^CmIsLz-Y(^5vSW+PCl@!Qzu}D`BL_uf$@_umms^N*ROS@d;tQk%6w2NzzYL`}N9wM-- z2$pq;z-~n#I1Ys~y$jCC?$&?+PMX5GvJ1{`3#UA<)Le2fN|e$t5_N_O_7BbVjGMdt zalx*S1-sV@Hc$oI-6h!cxE#3@&SPD0u8hM;S2&(7I4KqmBjQV=X$s+F$`!MZyXg`y z-Y_i(S$9k?%t*|QnAb3a#v!|%i@g8!+}Xl>md%~3G5NN1%*~i;%qGm$H{|nF82-Q? zfak*O!CXF;`&`)R*xw_r1n^!0XCLu=h&hhgLb!RjKa2lL>=wQa%(M92#`pi=KH)~v zA&yq!+JW0-;3LFSi~Dp;Ip*h>U6`xEpNlyF{61zgaW!H737kS%`V;>5gzpc05WG)- zhXG%UIZFI%aQkd7L~PR;<|Hbp-|4W3G>U z-yp!)oN+f66yypxUVbLrB)|OKoR_bGuD=rt3MS>>gj_DBdP2T!G`7_7x3F#Fxx+`< zU&9`W-zwaKn14`D@8Gr(zgp~_7@>uC!1)ROH}m~l?8Vr-v0ueZ#_xUXzPQc0nK*z4 zVXxqO3#J$T4!%bNKTKTT1y*&PkT^VPxcajvrwmUWJ{(!#;lq0jPZPJEy@n4*C|LW; z??sqC!_)cgJA8P*{=JEs36XtWSHX5eYJa_ur<;BX#;Y ze(zJRrTA^c)M0G+g-PQ%>}#iSXM{9{vv%$Bu>aM_)Vkx{kiluWSX4iGGj09`J?@yWG&@OkMt8PzUz{hcNb8 zv`;a2LNU#_w_`HFEx?pv`cCJ56n+bF|CsNSg!u(-iF}{NeH`#oOmE^jjN2sa{Mn3M z;BCSG0Hz!_H)g)zfcp&o=Wx#kXB}~BdLA)iL}Jni`-tS^5h)`^q&oQK&k}GSfrR^r zJ|jk?FzJ?! zQio!Xd`&I(*;n*J6~_YorjUrOBN&}l+Qh0B!9k@zrhHV1ao)UHcCehbiQWq|s`3H_ zFF9~Jw>Wm5jqq_F9#&lSwpx!6bDEJ?&@G7oJtw!ku<*{h1maXe+AqjLY+Ta9J4Lde z+lESlGLmib%Y6kd$Wls*#al(l?w4)&8q|&s9GkfWW*H}hl@;xXDDxbi`LCtoU{}!# zUrgVQh}N0ZS5ey9ISwP=o}2Gj-pk;T^l(Br-|l>V@BDqf1K~)@Itch{3wh4Rn^s%c zBUso&UVXp8d_*O}y<|`K#>sYh^PP-4pD*lz6-`P3D*rscY;u+BL7SWWn*jm`3)3X~ zJY407mdD)OO|qULWuYXVUgkBrEV>A0mHr}8rxbLJ{#18AM6p;@T0mT)nIL`9*CHxX zt{=_DOf zZebgb8x@`5q3*_fZUm7k?-(|Mv^OpX7b^dEU=_%{mo}*aGNhZ+e2Sf2hvJV0k*2hY zzeayWitp2(|E2hHzW{|z@;;c*506JgOL<0@%PORKnQX-W*Ts|g<+-QqvuhK_k6v}f zhVkQ846Hg|Nwrm^1;;$kQzXIr&ES}&YbPd596!3^r1o3ws=RTSw+ECsk;^85-m$w1 zD!=Ko;5> z>=W4sjkm}R8vku7Kj*Ccqy;2Dx0u1SsnPr>ztue@KaSwC1foK%+d-qSjqO|^Po1>q zHUxO+d&U6{3Au^ROO=JKZ;IzCI0d&NpFNZUIjY*RJW-Gclgx(4vPa~)|H)v1i%Z}hu$+7R;gU*_J z*zK_QT2-#n$;0v;P6!p_>N}hmx&^!HBT?|;J8V}IXc8|kG!{xTh1lt7paaK=f1f>MVpF#~P2QH-~#&$I9DC6B{O;8t)3l-C*wclS1_8*kDh*+0?M8OORf4#+0}rI>jvu()j?(wf z_u2Abcw95p*S6YO^AFH)4BGRW?0XraZA}GxrHaL7NK-avAvPPqpc~J14AMFzR82_Q z>c55LsSR~$cvF2+V<5rTU=Q%bTv3}Emi*sAV3sF(ZO-rZmiC*UW>lmHm%AeGQ-41B zjO5m6@}wKn+k8!S!}fSE?Uq2nVOL=GVcgCbO`kWYob@-Rw_gxpa;x#SudSQ2=4o<_ zMvEnoTl7+jOgo7L3#5d6c+>ClAd(64<8_LU!?+dCz;t`d;v z4aQi^t-!Of=V6v%2J?Ld<}`2*>{HlhF#UjkM&4|_{_|f#uU?57Bgx(?Ii**sBl6cN zT(@4my7%hE?}h(*;G8C2QH-7&Uc84py_kCP@-^&-Fk#?lu)mLa4f8hNS7Enc@5A%~ zo`MNuY|aE{>@QKkq}Vsx_f&^7Ssd8xIGt(Eo=#`4G0a5~lV`#Eu*Lk=vUg)g7gGSt z&sC>)I6K@QdK1MKNnQPFVU=Z@QiHr79rc?P5x=PNR-fI z&#CBisXTYNXM*$jhFK^aW!P6T!E$u2!%oh#l2$Pp$8}uO@h6=3K&Sv{V&#pOdq)Lt zO_)`Fxz2bjrmJHy>4-wYr49OLlMDAu^OT6lJ}IR#4#=GIhW}u266&PIg{K^uOoM4N zjg7B9CPHh~uRbAF6s*QGuxXY2s$6}(*Oo_zyOANv*!_nssv76v>kmIL`122{{;a0+ zLulF+M=PKerAmlhNt@-YP>g-Sxd{QCt9PnClCBqcQZnqhj67^6eo1MaO38n)j_wYZb;) zeht4atViJLKM091DyKMWWR7Bt%UlWHM&TGwsQiGmRVv`gl@db58t_YKvc<6EtlmyQ z-=FQeyxzex{NacHKib{~KFaD!{GUmNFu=eJ5HOagQBl#LQbUy()P!UvQ3(tLCRpWV zTgt}NZV{d#RCyVgOytRREbXeb+uGWf?b@wv-EG03f(h6RXsbxA#bOm(s!ux9Mx_{p zGXL+n&oh$&we9ZyfBAee&-2{(d+xdCoO|xM=bpK2b5m{tjLm=SeYVonFW%LbL5Lr>Ng6joB)x(Nc28BriBK0?8j2O!wFAH1$lf z^Y`6EE;}7OU-I*9jBp~S^P%n&h$Z%|PuqcdFW|NJ_S>T@(rtiOGo2z7dHh3v5##Fa}K<4I0^4E5|&GX}}%WMQ~pn;qXSSj=XS z(xj}@%?X^Td6;AegKoGq-b_kOcU)3P{D+d$ZC4-dbui7ifa=fvV7UT(5EBRn(`y1`Cm<0_YHR-2m8RQ0rd!oe4=RLtk!UAh!K{-kzF z%4S-%&*`bZ{d2k6K>B+Y^W~IB)5=b7+NX1g^P1Lo38C>n56O`Uql^KZ@WJuBfONuB z{xI8~LXR?;9-Wj&5VEqz2`HA0q=T}Dplqj$!FIx!D zwi9~Pw}x-IWFsgiwOw5o@FO=Hzm;r!Wtk}#90y-rmI}U)Z1ROX{p9mqWhCVKaXlm` z@N&$QaKmfMNa+$tMK#~!?Qf9|vOGZMeSEv%JTyrLB&9ir$PBD8?*6Mt6J}D#PP#0< zeV(M_-tl%Fo?nin5X$W_JiWo+UYh7mHvTpld{x%xntUGJ$z|-l?sA8k9^L7d&$8U7 zS3b{oK5c^2>*n0o>Kiw_9|AACg8cX!_s(tUW?(W~1Osi(Hpj|f6qO~{fvnhAxcg!a z6T2*jhHsZgD=k>vIuCbD{W*QT?1B z2^48pK=hqyZ#7w${n;adtODi_;N1Jy%lzwlmibri_wdqP_<}j#8ry$sN;@Qp9xmUH zuI1Ke<%?T@g8kQ2&+xm}6vubENf&>~HKcoce};RQiDIp%;;YfNB>z=@RkRooTqyp( zmACTtGS&#yvM2LSdJH#b%(a?lO9y>+Vt*iLB}3Pwf?7M1^u&_WcbRQvbN!?11J-sl zYIKIus?|@VX!c94^att#YE+ynil63(s|3~4{y>eqSZC3HamT$+Up(6#9ghA^trAB^ z&otu~-J8^fM6CI<7`1pc1u|+Q;&r@4y_N9>p2jEr0Xyc@3bCjFEJr`1 zq9>B^F!_?RZkrR%eBAoa&+5+6cCRDFRCk_*{S=Bfk=oIc#8`|#OFyyrHK5fa1I znU4wNXqrFQG=I3|QJU6lJ%Y-Fp@^^ZxmKNlPKJrH$`i4+Xt?X(w!wc*J8g( zJ@O}x<4?g)(baG0)p&sUpizbn4=k8dW(;?*fK4ILAYz5>N>14$0>4!wn^9}XIV{#S z6vW1M&o(|MXrvQlc(Rwx4pyz-^!yOl@LYTAZ{I}jh-zB{)~uJUyJW~P7oNcLjq&+b zPqOg@*YrK1C!1`fQT$D6R-J>02wCU%c1Zp1%<{6#s)kliQ*-78^x;fRwgc=qcCZ!> zSa*TXl!p^7DhOKxAQxyAU&{{5(B2NOlyUPS+dHlF5C4I&A_)X=d`DUWe6+eVL2sl@#oSMGqZ=ACQEqmqcE)%bC_D(EY8Fk91cEZ1^J0?~^uzWD>=8T6`{lq`5+_n$He+poi9TXk>{ z^W$InTk&9mG}?6kd%5$Z`vNMqo#k6#)!{Q~e?+eS-J%{CO&-$`8XEVef!!~fd zwhauZj(&;hUSH%lH}aO*dWc`{0h@G)n@TdO;~<|A2e193b&0~Kd=5IZIE^+gc5t?9 z1c}8{nOb+7`i4}gW(O)47q2;ceQDM16(zi`AIrVeyW2*p`jRSL^_qfpBeRv(2j-@e zTH!kg0s22j1xqXT0EI_|MkF7Q-)3g$EJ&l*rt9mxnzXYEa|(4|tR3MAb=Ovl(ebUW zNRu_}dbX6vN-y-45>HY-q5_^Eq8FuNLLB8U6%zt!zhz06cEl!xRoI7$miR~OCW0tl5lE%};q5?(oXXOzga674R!*xO({E4l+ ziygziOW3vIOwphCD(~@i9QPTvxJ$NWn44J_goIG59ip+%7$09B&?)t}FT{m`4o`N- z2no6PGa{qvSRiEzW@_(o^ZSGFd+_6W+sLk9Uzj=X2 zbfEm^0y{gzZP2C-@~iHb>eY-%>W0ZC?)_%@;xi_><8voF$>XahyVj3i!y)%cuC`IB z>PgasRP|(eWE(U>n)5^59Ix#tba59Fqzr%_;hcP!WnOO*nH^hABplz7UOjGdT}%Dc zlnknXY?z`xNU;FP`ezn>s?8&U(@|qVQ*6g;J|fhjKy++;U5UVk^W+gLM$a_wU+s>5 zEVIgpSodhojU@-Z2ih;=dM#>sm4-V`iVBGw;Q z$>+SVb$f$=K9G4#xJYJP2^=NUw%oeIWV&b1UVHILNKb44IQT8X?VyLMP>3_87%$2oR2*RA`;c|!jRGc*KfpbS!NW4^y68}LWFFyt+Bb#F8^y_5qGd47Jiwjuhw-v`iMG(eOu!%9&s{!8qlZ-V5cG?6iWSbZ4HBGhEk+$* ze;fQ+1ue=r8#zSMHRnjuk3}W%bV+=z<%(`s^#P7+99TaB{)`HM7NbZTJgx8_zjfNv zc)~$9F)sd+6PhDXzysuPXQCz8hzzcoel|g1P^$f<=F^`a)9)-KzQeoFpD#<8Lw`DW zS0RMCs7LU-D&8eQS#{vjcppStVjK74Lp8J}{(hL~FquYyAir zP_M>eY<_&1RnsEY;}A@+IAXnytA=E#l#a)zi38ttQ^E3ZvVNjbn5>@~wqBnhxqZ4O zx8aWu1dQQKmS>o(x=?1ps8cZ?dJ~$;-j>U{Z=#^KI1!+P*bZ^v(lbYF z7VF{93TZY!!d?f@IPKTT$X#u7lL{H8$F=;8SFezl4D{)m2^YZ{zeq2TT<9*o(u&rX z8xzD;Wg<-|_dIAPP8&ry(?TO5h$7i9puT>VQ4zO>8fAD0^tbntDQ*q%C$uqwq!qDm zFsBHK*{^L&B{8nQ@bb3tL^k45xwjcau?nNN>BE!E8~NUPgXn{G}r#_c-xw7}z05U?*)1m^aMSucrXl zkq;Vug2-xvC<#NzOmaccTWe>Xi+69x##-c_Uh_nsn6XXTTM zeaiJ7HiKC749jjWB2B6$061Ln zJJ3yyQZu|}L%^&lHgE7Q+?A@q+YC$>y94<=r3K{QaM%Z6P9?$K<}A}%SK?2MAwIKJ zR!KJB$ZVAysSXK|KgTbH=smot4vCY$`0+D17Iyq&2olFHiK0ymxN)0Aq^g#=i7qJ6 z6w$&jXV{KkVw@4N7VVXu%5KAOtejXfVCD2O=^|D!P|2)XWBKrynAy5qL=Wu-C6elp z5Bal}9Hr8yi?a;hkwEU4?vS05+zGmKIdJyrzATuPKF&DA*8NPsR>Rr>b^NI%A|e5ZIer*%?-VWjPZdG4R2S-DCMm9-t-c)_Hw2<$5B)Ix%^f9(W zT<{{%Pd7Wl^uWAl9>2z<_*2WNvVikLPZ|1UeEg{aUfjmW_)~IO8ipJwk0If22%P_v(-*{^I+zU*E}AZmJ=K>D*dzgks(!g@ zo~~w33(uX?GL2o;++cZLvPUt0g5>7sS|5d73$Qh>LWpY; zM%Mk;_`vYCYuO+-l4t}TeXv>@b&(zfpG?q}vhQOcGPb3A6AxcYzdVMt9GqP%>3$5w zrfs|>Ue^Unj%AxKrKqLOe>G3}uXp}u@tp7c|BF1c>scfQj6Epo87M!6!cV?<2_w5k zmay?M-e|8s&@pW&H4PL-FV#{EKh6qosI0LT&A=^HxMit~hc)LdY10&aJpe8_qnCVG zj>&e8%{s?9c8>IVb-&;ehPU_J&GY;o^^LFdgwwLT=f(K=oViWm4=e7sHBx68ZRpk| z{z3!1EPd&RC;w3{dC4E7$=}e)MfC8l8;g6ARVCK51MpK6TZe3-77Wz@ChSoR&PNpHC7L_CpppkB}cEdm&jda|m zO5dxLF&*RpvOfU|Q&&ZIZ*VLZJRRxWC@QU9{mTZHF>J1Nutb3AQM0Bd7nR^QJU%d@ zZL}=QM|XK>n4{Drz_>VBb22{QYvaCVSv@C%W5q%nc(Q_2Yx}91eTc-2QFL$CRIVXy z+mV@=ocs_+rL6Q8;ENfjN8pk1C-#n{(sfe{i~#&3k<^)V8D_B(Wv{`jaOp1CRdDUo9hZ0V+w5#7EQ5f=;F zm6MXS6S)rHVJdi-4_B-!%Nic|DW9;0t}JVK zpj`qA)q>kHkBX~Vt~smFLJ4}?!$5OFQ_EDEUXjtrz8_w#f`_H)-O(|!>WWxPZ?w_G zOQ*#$t;yO6c4}KJ+KVndaSg*+89Z#_hOdub1H0t01~ zVDMv1P;n8?Dp!|?td?Fd-G()kq83dGNyv2_V)h&bhWLx&1D7CbU#HnhdR2*LoQ=KF&qyjr=PDE9gP?Ozb zK^-t*RNr322u+LKGI~-+`zI-^@2`Z%cRVey@V5)YQ5`XUlj~&tTcq&GY7Fg-$&$*Q z+4^Q9~nEnoZVdDJ=9jRcA=*u{5GgbyLVl@nP!1Q^1 zE{dT)CZ~IhTSzrNK5&&WS`Ex0oh`fdeU6&YMMSJ`f8U`jfevb z#2~_!f;BQ0j4@r+BVtU9Sf8eRU1X;&(w^Smp-92xlQt%wq-ya^-1%i0o{H}FeXJ+r z-NUPP``hK7c$BwJpzTfGRPWTdG=&ctMy~ z@(^bJD-Oc=6APK5qJS7H?dguc@21|QCnzW*bw7$l5_MDQUZ>J;5OPYTuMCk&V_olR zycz?EZ?cw%IHZLSkwOaNT_uPEnP^$OOZ*vRqR^{R#@RM@3c3q+-b*?0V?I3vgz7nc zT1#-m`m@G4(dYS|xP(Y`9Pp;kW5KRvNq@i{5h=Fh6&o{(iB+#bGOk3IWiS7aR?jSm z2I9wWLBo$i>qi6B@HE%g{LI7XxM6FDG4ufc`Z)BD)>%x5(Wt9?ig{5xN3dBxHu$0u zk}dx1?sTBgk)S(T1hM93wyxnxSZ1qMjBoupK!vLCYrWbdcsb3Se^~8L4^t>07rqFA zRUHBuU6DY>uI8X|Jv+C9)fA}vbt-$iy(8vSc5k+_&Aeo`KCLV3mdb9oD^t61OF93L zYCNcRjewY6u6ppKd@(a-5Xz@R@Qr7royC2HFi{A5)y_2~>pfL3uNc!hA`Fn;d({Tg zAw+@J5p$W0e{e$f5n_Yw3I}TRYE$sUrr`SmK8F(gAEEd_w*y5hABxsTKyl{(4T|MX zWx+!La+nQBv+cq5_bgONq_pGjf#QJpx`Qo zWjDq%(?FnK$1}GW!#f*KY-&6K|5(L+Ct5${ASjU!LGh zb;Nqwt;wI9_4FqmlZm%OYj^w!5&hyjv{J{IorxZH*3eqbBkEP~cTneJ`MxXr;D1#A%%zDfNc<0yao^`b4+yedl#M12k9^aba6RZGic#SuI# z*ZSlsqS8a20xT?^WP9aYDq;iwaKvguH7->OB!EikY20GYM{%#&sRZahQhNGO%}7nikSmx*mYTnxnKWU2nQA=5 zWEy8rrvG#b{E9B zbs`PW1iw-H5$nt)FA1o$<&(3{ytZ67Jf~?K^;?Y!N}}jFvee64MmCGDr?vf(4@s(#4TPzFfAS)di}?Elx#n0E^n+f?sP3ni zGh=JVx{UepOlc(Szc;wo`pK`djfHGF$~sYS*oVQ@!u^_j|8TJ|mc7uZckdUtOs3AX zU&cE+EMmQO@}$k-`5%O#kK!8VU9uBqYZH zG2hPdR~B9}05tjnR{Vh6-#!F36?fN;v%3NPrwG(R2qO#GnfInA z@=S)Nhr_9AJ(tbp0dqAwX2qG6C1LAllce>cmI!E!m4&La(4Cg7W%K5{Bw*2Y7P~Rb zqudTW$KGVZY3r!X=WOO4+;8BkgXizQ#J!6D%H5@3u5rbAF1nZdU-|cc1)m)JPksPj z5dT)=QatZ^(9S1$wZ5e+yTuiI$}2c!j7rfV5lwK)gSkL_{cX(3?+}s<9>m_~GCc)Y z{Ih+>9$`OBlgB|ZOB+%GG({-*&J3|qXzZ6W)x~D>ZT?BN<(;}Afbm_b@{Zy)H>%*l z^<`LA%;0PN8QQX9w3E&&rh1h(l&r(Y%8WpcE04xdLQ3Cqxiq1SOW&L(ayq%lX)I(V z7cBMz8x9|$<%9Zm^dC)TVj?0KHxC3$WaraNl<}DiK4Na4!i)LfRQ+2gzloXrZhCMr zzcPCc0GaF#;PbpYd!b_&vl;4WrziI~TaUqFGcj56b$?;p;w};PofN~J6xeEcVAuff zZvMZ{?)6#8;N1xBf5Ay;;lhW6&8!NrXWC~sDVbP6acru}p$w%zNRsGYJz6EDBDvxO zyJ2}nffid^=1O`hk_~Qu-ELMMtEMGAzn~E;y7W~JGWm7yU}WPLE$$N9?lkb$Zb!kM zSWH>&Z~gS!Xd4cg4_5PKCZ_RQsbS=AF9BiL^EDIm2o(8P)_cjuyD>GJLMK>KJ?*Vr z`;fomc}iEhx};~n>aUG=d$Z+DA}eE2xBYGzxn*X^bF}W7?{Xh$a>2!2E}E4MDlnQQ zRWd1Hn3GI~d6U?ujX6nP9yB+dY?dS zz@k^mVgOP)o&xngF`9ap+9G(Dyi00P+Xb`a=xU-tUV1&r>96@88{fHeqT9c9_j@l- z*b{&KV)Zfy)-eL-&WEErJ;odrI`RK+_nXv%QavNZRYOjvqf4pAtUn=xG4yDW+weNW zz()aB9T_7=x&SVbd>k$EVBWGPu*~$^0Fg7dNx_ur8XGY2UazSGs)7Ok#xsclIO*!x z_QkxqaA&baAdwYcJfNbCoP&z5Zg*yrE+P3%0iCIvELtqVwrP!Jcr$@6R;qCPG+V5u@@w$fP?+np!oJOigWoN>rws2XAz(N88!8%mBx`wLP%0`W=dv@ z;G;cU{>OUzzE5=`g>k!zbi$gy$B~0MDk)Q2mUa$2?|IUOr~jVkAtL5>DNzf2N_Wey z2soZn2hA8lJ!y801FeP#0#5EzEX}7T6Y6YF1#3p~s^tw@Wgk$Obzp zE9|sF8A4UjhgSTT(iN+l1KActH##FVB{QxJy!$8|S4kOV)Giz~kr6Q6v9+ai>sHzn z-(F3KE4oAoc=VHYFKvn@O?Iqv*HV^Kt1<>=Yt zUyx%Os>Um#PN+CN+)=!nw|mUnMF!2^qcFa%#W%$0CTkkIWm$3Gw^zDQ+S?&2dbhS> z%B$Vp-^ZBHu`MX0gQwaS&_3JVRE0{C_e_B(#J~3nK>KTNht}%a`kABEb%ivwV+xfp zTZ6mfJ61yuT>gYSIy?3eE^D<`zNQcHx1+yyO=kz-N_nE4zKmyl#~OZJ#%DiT>!~^< ziOfrIXDcul4JXH;*%pbBm2o;nONxc7?e}v|OH6OCUAIr99A8%riS?FQd>RkEJ zbz+Q464fCITiqg$?x%>4sIaN!Azjh^c0~}HJDXa%bD&pO+dJ6uIo9v4q**KqJz&kamL)pbB0HH%IU9l>ydgMq z!DNiY2T?%Ft20j#=Fqa)hwtZLoc?n&_@ecg`1@?^m%FdM=KP-uSg!>W^!W_qzE|SA zjLy1oM>Yiy^ag+9GNavQ^l5Y9?l`x?wxGPt+Z6K*o2Pnyxa)Pw~dBQo_9ld~t9ja^u) z)=o5oUD69|Q70waCZ!9LD<@^5FJe+i%bKmjR0hH`Pw!Ays>ZItuE_0zBiK&(jmsEb z*;bNVTw+|qnfhIc}zKR{y&*ZDpC;8zPx#HwA;xjX!5e;cN|nbpG}T9WpD_ z{GT%DGZZ*5|EETFGJw1_LKHf=@HzQv|_&DK_;2W>Q2WaWv% zi=0%+m4+GJEhuoHazTr~<0N2td>%jM{Jn&#=>>AW&G1*PNxb53e}stYs-6{Zn`^t{ zm-vX6#Ask&@M-HHV`$@YCc4|2t4B1D_Dj%6F5$agoR5&6e^rt$6L(75-o$cw_~WyoS*=q(Fny;HECxs%he8FdetG(hXPd^l zT&sKzI`<7FwL0tTRI2^=brxW&Fn&5mE2j^Odc_MEI?{ggK52W)7M z87J*f{dP%i_ZF#Dh|*ExQk4{;dUL1e<4#dS*+Gr=r;CXUbQU^+MYTFK(mJfk`ZjA+ znL|k1a$SYeH7eb@vM{$vW`otgqB(WPH?(#m1_oQdkHFDJ3ukT`Ht8_&}?CQnQ z+SncL#nEe8hs|xdn>Jf7p!U?|8%43%licaET8Cz~NZ(r?km&!;MSF-Yu&a-Am#04= z(s*pUh8BBUe8B#-^;~9)K*cV_szDKF)_XE-UON(X&t(J&VJI=%yi$}AqW3fG;cMA1 zJD!tbssiYq0J`>`(31-qg@>a9Q5-FGi!l0ER~McJ(TCF@sn zS%>x3pYQJb7gE{K$-(4iozW9rl+AcZGA_wx^tWG4f=rt)2bgh>YiY!+m*H-|RDjqP zaA4ZzvtF8@yJ^g^T(R{lcaOPGzB_sP7po*tRShYeM_cmtJ*#Kcx-F7qdD-U5}#yfdh5&Z(#H$)5R<38!J23RtC`t){fP^S%T2+_5_x$p zQj2G?s`D7XWLrr@jF6hFnBI^J$nETYv0x5rGv>Zm0ihbjEvFF=8*^h)TC3}L{Oao= zGX89)i|(v1*NeLe38BqZJJ*+>pnQ2H>7}ovmn3~(B7LE)hZ;3jQ*m5{_1#HmuBlU{ zsqH9%ZOr%-XU9g=mqtHnyMkOfHY{#AzblPDi0gJN)vTW@XzVo?f8F)9V;`2cJ{=M z4T}yJ>fgDWasT7=s_18D*i4}BHyoyDw&sn8kW9;=nPv3qv9uM@T6zjSl9iq&kv3wJ zww48hS!#5a;=C+loh-5KHit`y>y7yOVpsH>+%Z*J^r-S(Vfp@@-bnN*tOkwh@^?cVrO(rQ+Jxi~)`1ZK zzfcys^}b$Dkx(7$t}~>w0f(GCMIuet+qdwBuNDU8WK8(BCNizVTc$I@O(~5h0{;AI zJT$&*xKP1Z)%h5Z4WOAC*<`u0Ew@jU4R5mE+UE2{ha`1T;g$v|*Q(s%NQ+#v2d$by zBbMd#Q#nwI>0kUf4y1VPWI{Ju zA%wTjk$&F)ApJG@Z4>J?U$$L!R35fYj+23)-9pzBQ}Wt9QQAEKM|5s^ObSMEAxOQi zix?b^zN};Yb^EjE8zI(%JA6wb6u=%2w>ULY=0&BVme77 z8+qL(GS{t77XVRk(+;7TVX#4COB$~O_ExK?4UE&8cNE@KR`#Zrpxt zajwVc+l1yCcs{L|OatYhxZU`(J40nx*Ox`d+e-^~dc2Kzvd(a)hsCz*1&6U1>sdN@ z7DwtRVmw7evqeO`oAjzAT~)ECa(2LfZ%;*cWr$~YRS))g_KGEac5MB5Tn-ppcOKI3 z7r820y=HD{pb}HJ-`rBiySh?v?rSW{q2P;^j^~=$LKT{b(gUbF(!(l89?q=F$`h*` zK`^t*k@@_A!X{j9`UACWJkpv#Z5hupy8y&zbrRo$Qf0o-YFwRZD|NcO?Wa(wOj}9U z!}{sN>#m3|h~jOYaLbbtXbaG5o)X-d=wyrDVry%G(hQ|>(wvrwGc!3nq4RrMmJH^t zCU3JfoOK8Kiaa*x`*)jjnpJigP6mhVyAI-)xUZuo0GQQD&^vBrO(t) zQ-`zg7R{MxYPWIWun6;;8&SC#{C`oN+qma}|KIR`$>TZyFq}7~{h!65O2vWAYU%^< z#~X9}1fZ*HvjcHD*grT%5Fyde3CQ0=W8OpAwejQEt#}wE3$7y;+UmQ!Gf;ZHF7>bY ze^r0VBlOs%oAE80k&4Oq$Y1unEqnTh<-CU8(Qc~f#-!#%vqPU$>BgjQBbIUCXq$Rh zJ&PWBM5t6<8@;LOIh8_`#&bs1t5J`7EnQ$%{S6%bNMMOg0q|-Zz<;M;PJwz=1MfaO z^O|0~t5?&W_`r4kjh_dFMO($dX0<55Pm~XgS&$}IW4Hc)8ZUjOEn9X@Kf^gO`}_rJ zB&=FaSRLqj#pnhugIb`K#aZR_4aw3C{`N(@&#^AV;wEApggmPWP@YXezo<-qg(MQY z6LL5_wpOe>5AdyS6jHh-c4wK(_!OdNSiPN$WS1XmZJ_*}WV5?-XuV#IykB*4#f2(W z-dh+9MDU#&JYr3E3vCk?IkM`cF%^)>0>mg+YX@j@XV9-p*5|Qqqq@w>V(vd@>Nre& zfi$63+`tQS+6hu%u{Aqa;jwszBbq-TSWW}yUn=fz{}@?YuZviT8Myq>ZRny zkl3}C8)eR{Xmx8D#9BasId$JJ8FHP;<~LdYj?aiU?&tj*|C4B}NTNsbgh+qlUP7xd zVjmuxe%0mvM1s%U%=6@_h)^AX8vgbtrIK1jiqL&1pQ`bZP}(!S!eCJn?mPy)}FU1 zbY5re`I|!Lqa8Ox6Y(`;7U@|4?gdX=gI$r!zwz7rhFd1}L7344zJZGns2_-sEKL&Q zV(C1|aVFyt0PG+PE%-?FoLQN?-lMLAIQ>PfJ<$?)mUG7*AUtljsG^FH)UezQ;+Z;Q zjK&|3^4+iM?)S_v-BrI{@s6siIKkm1`LhWfXvQSa`xP=P2M0m$FL**tfNV6|h}h>w zy87SH2O$n?2hhi#K-$WxY^aP?AhwI$#)dxZw=>S9g&yGdOwU)gxbcp4GvQ|P%ZK+&WtHD03fg3b_Bkr zQk(xl`7QcSthKUtRR;sTajiBIR6*nGY7rHsGhzZy24@B7ZBD}YiO|;Moaxt>O$;Y? zsaB0R8Z5xkGC+%(t!E$AlUtjUMbBz(IU)QP6xsEduw9>1bKie3gn%ded51tC8qf`C zw$8v7z*(HPj%bX`#^@|g_6rg@~XZ?s|+XzC%;b|bJK@GV@bJ8y!CXoJt zdUT*k>iT)CCsfmT5&3t z$lef?UM!rR1XQWJa%gf_4o!w&Wr}I>Hw8m523j}(7rM?yjNX3~FV;GEA^U0`is-$| z#thiSb%JuyBOgQ#e_|6&8bpxFwN?~k%oFHKk^2RIj^f!MhaoE34|FnDwwz$u(QG}A zDF%bv$4Ihb1Un+uS2(U94e&}I4n#{MIjl+Ai8p;yTGjVMvZ!~RCYsSBeX{g#a**bC zKh7e}XJ|`4-W-jvXL5i#^u9NyvBz$=+w2ky;C#d?kBut{3&M1>po*W33CghT=4^uE$QOc2k@$`m z#SX`)vcAV=S7xhxWwuIb5z8O~LIvht5Vr1Gh*6py-{SqFKsd;WHiX`^*ZM43fkbSr z&xMlzo_6xlX7=8toT{4DZ20IRtxvIRU@TKQf>fY$#QL1hEzTJ7>7BSI^f?!|$N{EQ z@Q7r9j0{E0)`Yp)`ZBGB5>q5f387y0{>ML}$!Jn%2|$@89AC|&V;rGj*>tY#OeJxC z2AlR;KiF!osIk)XCq$lue}!9O!l=g835(HAg=C~4e)rPKo`VIrh(C=y+pu;if=u;11qiXVyGbrN)D>MtayEa0pq0k~E=~C~WHN01;isC) z^3A>-vPl@z7Lx5iQRYgIbBZItE^!Cyc!2}S8F-2=3d_EQM`v}Yyy|sa#8Khk)W!h7 zaU3@|-XOI&f1JiXpPKDc;w7b6?wYd4(_N!Q#b@-bHBE^1#wf0_=`4_atz+dc5xlSJ z8DqqR?#1zg1&bOucdTZM2s)Y~;P*NC%g!&mg&&eX+O1|I`VuuKw_tZ_^pIm5HD>i2 zr&b)jOWimTM-{UtF7|)3d(q7t@?kjg?wDe}$)pWP=Ul2m(%vwUq#sB)2oGESw@-U< zepav4Jy@$G#3ZVzS)HsnfJmEdk0VMSYi_+PVm*gW!6r)+%6r+j;5oS zXA6%Zy9eJ*mR|eR5Y%r~@2)(%vnXu6`z~U^j@==ZVjz1C4k=7k>{iFB-d*v#t|2u6 zk9zODH_P97;jO}VdfpnMp6hwNsQkI|V+cy(9uKES*$M2>m;a?)lq<%8hTgB8!-8s? z_+J++nc;m(v`vZbCk_*WWsjO6l5KE6%@FA~xW98o88>-x4s%AaF$x479-DUAj$4?n z(IGpekk}pPvR$;ovrY7#so)7wXJ%HEs-Db>5`SIrL~QK{SJ+>NnUrXKV|SeIYM#@i ztB;^Wz_$WLSw;5>Et`DW+D#g*`8Vq;*%6eTU~MhVtnKGoA@vhswMwt>t6o|^f&GS_ zmE*+zJn?6SmMu(#HGkswGP!mQ3Ub@7BVbUPW7*9mP`UN&6#78C-sTcfT8?J1^?`ap zU28Kh#{QL9VW?Jr-58zR`)$25JPX?B zi>#8y|Dzuk7ONi3c@*60cm@^wwRQaV-LUvv`|DI6Z#e z*frDUG%(qWPe+6iWX3)H5a^frL>-}-PgKiq^n_5~g{tPe%bh`zq9prrcXqgKL8PTuy^&Fa8I8Vjxw%uw+88RF+gZv`-pz)9-%9~_x7{la&Us+Ch-gP4O@fbE&L&KWo|i@Le7Fdgy@$%kczYqzQOch z4;aD`Dv7Vr@u?b}n%kj11pj5mR%bnn+VE3awmgA&v^i?%@ zR%P$3G#j`Usu$w-K?hN!r$5>swQBZMy|W58j^%a_4D`v-@vz?^YN%9HubVDgd@ADQ=9Y!t!i9n4jqa-FS6%#3 zkn9o}#{nle4)y59+hC?_#W`JN#K0PN`)3TK$3eo23Q?A?cpqnQ^(i$_^}aE#SxTLv z6{oWJ`x+Na;Q~~jh#C`CMaXM~T-|2%KB(y!O7caldwV^F0En8Lrt8Nbe2U|#TU0%s zl0D@;vV>mTCHw+dRQ0ba(z~Ez;yu1d;qzP%idb$J?QZj^-h3sXj1T@gXH=`Xbq;>1 z#$u7T)tsfOW=Z*8q-?J)8roR(e#Bq@e#JgC1m}QtB2U$MTav5Xn?jj(PNigOmdqd% zs+2bushwnCIwkfk@(1NT+kWt=VxM?GlvSwK zp7xl{T=Z#N?Hlnn*BY6#`IuMftKp^R4eyAT)H6MOWBgmq7{c==uYCF9uV0r9XmCqN zQT%t;Vj*o;T%kx3}V&W#x3P<7d{_9Sr8rS-+I%?p5L>(ce}6WjlhU^5wP;x z$=9jv%+yQ$RBnvvd8;V?#&w?HZPBm0xPB2`|2~ckLK-HSz z$S5@mw-5-b-No*Dn8e-z#XH+4Dw$N~z~a8Qu5Blk|GPWggu*Qa*RodvVm~Zo5UdEjlz+e+wBGAZwPfdlU4Su&Q2SH`Ce+p6?YLHY%3ju<(sgMjWkFfoiCy%^oAoGp$6Om?C zlh>86xwVpL_dWNZixzc zIpl2MB(uO6lUX&@+9z0tlFkEPOxHZ|b@Hm7^fZZjEH8?@>>UTJ?`R|q*g1L#9aXt* zsxj<|N63eQdw+bL*ApGDLS@v7y1&~e=j+ZFm3n#-6K5jrD8rP;Me-&qg80J>LDB20 zTw7ucp{Qs<#evqbExVmAOtibek}@%y-s0$t0|=5Kyh_a>Jly4dO9#@>;$&!2 zOEI5eYZ&_)RHX)-xs_E;iGG|#;c+_4fP4bV{l${3o200A4YnPa zh6%aArrwoIcEL9&f!IslJOSD^*;+AFFwunuJB>n zC8f^O4Qz2r6;C(IHBL`Zp-EY^4$VAua%;r8p4)?2KF$C`49aM-ii?2lDlT;cyiaT* z2n9{u%Op7m$AL|d4iUn>2_&56<3)d!?0meQ8!USQ>-i_f=K;+!HzS;h3%WC0>RFg4 zN&^)7f@?u|jjShBeFNte7tb^o9*z%q{dbKd9B+vayk6rvTJI~+#zEMcF+JPDvYFjB z&#Z4y-1JgEv+s4-9usF=s=h%um)SOxM5O53O+ay^4(8Sy(HYx=h==@|QDh*gN(}>E5dStA-?fMd|V7 zyW#@{D?AlP(;rW6y7%#r>j|j_aF_3|det9#H-b2O#QHj`O(5-V3&)%1iLN72ELAif z1|I5q49FVH*)vo1Hc_tEM7i%BrXkfzr7v~sN~vjO1x0U@D#~{!V^Uw$bN#60>b7DcSeQ1MX*ut!!K1Z~rU772Q`H zkUf@#hwxd$mhfiPwzRTs39`Wf+)C6hKo@d|#TQ<0_6kQt>C8!_lPCS{|3zkffazgg z6#i}+`wL%kM^BVLm)_Ej`Ow!SxNRxSojGuBdA~TCZYfMf@E6^Jb5_JQz?Z6DLNeO6 zbi+yEW-D(_2G0n0$tw#~QWo~2UAc8MMM>o(a=8L+oTNbGjq{Z0i} z8<$Z*D8AlX0Q6*KnnO+Qb+3nX8za%dIC~&w8(YYhUG7w;5pPK&`lJzuh;v7e6!u;m zWi!jdiWw1f{*k_?WhzE3I0f$V0ve=WBFMh866xjUS8H6)@gL*=^RLyo_VfQwOe*<5 z%KI9gGGm#qGP4sL_J?)Z3-y{jDcIr1a{t2@gmSR3io#yXjL$@@B>;>}h&~JA*SVrM zsZj_CB}xn{M`_ySMYX_J^qs0>MpYbnv@6zM<1(+>=K2$!9)dkM>D25xwYb`B6!sLr z7n;85iPeo4hwIN^5OVj|DS17c%>IpE=1u5~y=AAGCyAqNZdV;Hr`duhmTk`J+u6MD zEl_hkg>S=o4kFkTzN*?L$6w$Kw^W45uC3qClASB98LvsJg!6e-k&qo+Ocy1??yQ8g zGoC6alwB@xWe){%U@lcKw!84PvAdC6cc~Y&0xJuD6)KgIGMuA=1A5}ie8(3%=T#lI zhpA90opG6~fMh`4QlW|VquPGd*$*u=r$S5Yuch`wt55QUtOf~34$Rh14?m8%3-cMb zpa1-7wrgkkcX+Oi4^*|uN@wyR?z@?on8;)Cqi!-UzCsk~o6jKNEdB?tedaCqF?fgc zhXiFKb0;ck4@)ueD>wwr39CLWDV}0YVcd|D9&3_ZY@U;Kg<^b|xNBaE9s=n4%;jho zILac*Rg^Eh;WIqD^3U-%r~aa3eK~O;qtz_3oOrjEC5<7QcqciHt=`Q)sBoG&w@5$3 z7u{?x3#7K{RJ|S`06juXyzjVMlQ>KqMF$k0?So?#Z%)@hvrGE*qjb4`h~k@DU^F!J z{IJ&#QJlh;1O14#jqOw9J!xIHF$s+*hn?{wf^CaJy^5_^u*^iv`850{DZ$yaf}fkCmrAbULV4{KO)LwcI6dTNyFFl>pLhEV0IkKn=Rj+>EgT{VFn~8^ z+NRpyG-4`MIMs3@RP~$LIM9(3m`9(GezDQx4=#LCCcblM@hf-Q(A3dlIf?&av7B7* zgxlyixL(YTH|q_%Y6g@};+IkCr^RQ(awZ?9@8KP?xYU5)oHRoA78B6_> zhCGCbDfeBSA&Y{n%GV=Jbu_=&$NIPzGgNAA`?u^SpdW}k+p)TMScaWL&m06^`%B9- z+S~t!%m_=7}FY{!>ov-xLAL>HVAXH~JSp%++WCSMyUAYjYT=HoqMe z>srPV0WJAcuMmv;t`^srJ6Iik))Ma}@-2&>ur+~iS>SX>uM$$xIUc>!WHnS@%uD~L z1&k@G#uM*>7)9UFe!y_4^#(>HOotH7d~T7r2D9erVm#V7q8jT3f^OG|yy=&nuIq=x zpRma$@906P%3*#v3v4|VG+WeYnJYr*n<&bLYON;33q79}(V}N*;~R|JEkqhPIp;B` zBMN$FAp4713u7%T&INL1$%`(pm`m-VUY3kO--uv&^?h-=mCp<mO7*2@Nt!koo&Ir5 znca=}n+0a*mO^}sE-^z(E7vuwt7bd6OXxV1d8Syfp*BDydI4IE+bDGCZFP7aw+L$;QO6r!w}IYnkhp6ahk2mCKo zf1hagz!P)A(1$|7p&W8GRjDjW|Aj^jYAZz)qQ8uMQv?w}Osii7XZ4J!W)rNP^a%YqYPewuU&XZ5BbJ+gQ|AV+_W+yRI)TsoG{{+8V4O|4lh~8o_&=XJs{* zsy!-|_ax006em@^{!qUxoW0hkKSwFPyKDCIpKqSLjpUF#A)MxOTt*p>{1u z_BGbmSb0i41DCBFwGGE`u4J>1ldpTzOXJ=9Wa&Pd!gOv~_V&qEa&oh*tMwu~J>B}` zM-_0sF2J*5RDJ>JHObA(>4Mf_u)`V+*z0q>dwT!IQ#%ti?2bsy=~@;VW9Wp4=4M-+ z+13C6)8s1=K+LuN8!0V+S$m<;z}&uq5?F8#LYWmP1t0}!u9zOyhY|KH>PX2M_R-=Tk8 zR#X`+W;tk6zd527uUuIj^@wRrv$|7Q@2g1@5gXI&O8LcfT-+Jr+U z&Xyc~N+cyYKoI3Hh3)rr+2;72dX>4d%-YFZfQy*5)n-$js$HONtX55REdDT%kV(%% zvq`VbL?ymk0{8jv{vJiL(%j>$G;3w0DaSojlfBYBiY~v%Qb!HT>i9Li<8_S)dWA<}Q#~b?5gGWE5AVv&*F8KdKw zlg1dlrWiv>B9V47QH`F?;DAs3uuL?uRPVPn8A3=Kna#@b*Rs}=mWJpMj3xs z9r|SweY86C3&d)5s3;dPmC0#D4~w!JW!(o9qK7|JA^IrUA;}h;9{y z=)XzuM=C_;vi3%RPSr0VS)M}llT4M<^`SQj;r%du=z!=$k8E0axK9k)K0+U=wT~AG zEzHx0LN`vN$50oniOcQY(-U$~AzGsqqK*F(g(yNPJg8rIkkDwSF>eaj`kipC-*O}! zfCT&9*q)#q<%m>2R@yMI$EABgc6)Wk&%RsZdYOO4|GFbJt~dE#$7GWKA%CfH-On?h zf-yg{n-|`SqsunKt17W`_f;H4n)^KF9Y7gcaJCv6n_hBtbbNB9yRbiYZCRAX>N&8i z5bwtO@HGhaF0G9{l>$)y2k%o82~r%u$Wh9>g`d znWVlZjJh9_9$KhQfu*RyMh~v)wX!39y;C07`*I^Vc188nXom@P)|ZQ!kA7V!W5}bn z2n^JWGIax|v8I``rpITLarNs&S7t^@{3(H*T-OWeUeLskg-cGCQqgMbSn?1+kIy7< zYf$ASjJT%SO!kA-I1;QDE`~14mAr3&5OcF!9Ht5*b5b!j*Ih3DtzHRYifOsNmbA^d zwzHPN`Nf5`SM89-GrZ(i4+uEe4{YxubG*xLu)dovY`yvmJwT`!Cz43SR-EkE4mOjC zL*&Nu+3*)-

    GbUuC{W@B>qGfhS6VjJtmIvb9#T4^WftCB|Tmlj5>7OHhV zth=@6z7kq^nVv7)^=IEYKQ5c1Ri}_f{ysfiO%c?5iVA3t2ugt>`@i2&`-G>0)7ke7-B z){Yk$ps484`~f^0d;OyuEhhHo2mM*7Yn?j)qgVL@cTHiaQJ?6`vF%$QMtiM`er85rH>+BB0gGn2zLYCRiuHc_?b=zLHBsVLfkhs%T9Gc5 z>G_7BtBQySH_HhZd|;*JvpA>MY6<*+D-aL zZH1ZHCAy8p*)~Eso2(hMkVc)hiqiN{ZO?C2zeYVOo7oIdky?%^CAZlzvnTD%&TOjk zkB-Tl6WsZRP#=fmIf(OMN+XUFYEucdpu}c~-8#~XSwhFB$=dQHI{9Yn>a}!AOCk7` zLaM63m8TFHAuHWnxP8KU_<5<{hd=!fQkKbfg))PMvV0C8>e+lRpb|`lcRmCV^U2C* z{?|0+dEJoz0ZkdDTcK%+oTwe7DL<1oeH2Z3pjVF+scY0%1oPBg!ia?D-B4|A(ER^~ zYEG_tVCoy>H?yMJ`ZDSSdWb9nIuyZJz~Ysl@54&1L^$8u2!UdQ}E$H=sKqoP}=2FJuS=duX|<-w1g zs|3~NE+&<6My%`i;Gc^v(@p4~U25}B3C_P?aFfh!I7Gv3^v#Dg$)nw*Xn7Qbg`hQC zZ!Bgsd1lRJ<8k9-nK_6^5M{v2|BYq}gOoR2@1-J&-4n%gH) zl6l``eyc`4T-D(6xA%~{iSxtyvv{NakK?VZZV`SWVk&DbuTT)6#LJTd#EMH@qd~n4frr-BuD+s+D^SvuUPq3%A2r za`;2~$Va80`r+v>%%+cya4MfhLPwsWyrOKp;gKU9PMYbY0e^^p<2hAZwhwR5{U4Qn`G=&3$ZOmTH_KUp+sn+FGHX5?3`}uw%3NNC0lrYO%&Jmbf1g`V zaj!IV3M-mHH5C1k?Oa_TXD>N_vAoP&P-c0gz}aYH<%G6Rxtr#2o1;cr(k!MD(FNQ5 z82yznW0{GuJ8@lAE8;8`Kf&U~H=|IqXMKcnTS~#&rene~}Aim&BBt!Ubmw>hk8 z0=BDf%nyo1tJnYqm{#I%ujUDRC#8Mb~BmGI&x7+E2f+V5e-~_IWCjn3YR#&*GWirsGgl5ZEXD5=rQL9T`}j7{JkGV*YoEbQhqtLo)W z_F|nqi(gvtE%IIozWF1~O<)qa%`m@#6a(h~e=fkkjRI_Q+Gv4Un5obP_|f8)20=Vo zO#R8A>$SA7MCOU@w*7Q^B6L3{P8~0l7Snh^QD#L$nTCQibQ<-@Y{NpR>{Npw=`YTH znq@EaYJQ?ib*A|0r7q(p;ln{+-n@0dy3{F72E#u8hT5<65Z=Y(sd*oCjF!Cg}b7;PuCR?QK$)|q*S4z4>U1P<_IqNm}am|Ef9&# z$>Kz}mWK4$%fPU^Zg12$qeOdbWNP-s9@kQWF>=Fo(t#b%fD6Wu9ea4tjwbla9A+YQ z-XK1HCqL0*7|W|lqUZmAw7m^{l+~FxJd>Fu0}RX{L83&BiWUnh0%E?j31kwqMh7A@ zS_EvD(rJoagc-y(z{JT+a_4rCZLRw3`qiiIuG@8YY1Jf%hVZeOpj6SiN|jc2rS-

    WZtXZ*|Ac2`(CN&n^H# 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≫fQ9?iaqI!uB)lJhao|jY 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

  • =3w@sHiwvS#rTl~G3c9wH( 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 CKT>S~ From bd3eb381253a53aeb7023be9e9f0af51bb76a647 Mon Sep 17 00:00:00 2001 From: Sylmir Date: Sun, 14 Jul 2024 18:59:34 +0200 Subject: [PATCH 10/20] [Parser] Proper support for pure virtual functions This fixes a long standing, yet unnoticed, issue where the parser does not handle pure virtual functions properly. (cherry picked from commit e3990365b992bd9f27d5a0c01d26a9b48e050f54) --- libzhlgen/CodeEmitter.cpp | 12 ++++---- libzhlgen/ParserDefinitions.cpp | 52 ++++++++++++++++++++++++++------- libzhlgen/ParserDefinitions.h | 6 ++-- 3 files changed, 49 insertions(+), 21 deletions(-) diff --git a/libzhlgen/CodeEmitter.cpp b/libzhlgen/CodeEmitter.cpp index 34df3be2a..23cd97ded 100644 --- a/libzhlgen/CodeEmitter.cpp +++ b/libzhlgen/CodeEmitter.cpp @@ -544,11 +544,9 @@ void CodeEmitter::CheckVTableHierarchyConsistency(Struct const& s, std::vector const& fn : parent->_virtualFunctions) { Function const* function = GetFunction(fn); if (function) { - if (function->_name == sig._function._name) { - if (*function == sig._function) { - found = true; - break; - } + if (*function == sig._function) { + found = true; + break; } } } @@ -1028,10 +1026,10 @@ void CodeEmitter::EmitAssembly(std::variant const& sig, boo uint32_t position; if (std::holds_alternative(sig)) { - position = _currentStructure->GetVirtualFunctionSlot(std::get(sig), true); + position = _currentStructure->GetVirtualFunctionSlot(&(std::get(sig)), true); } else { - position = _currentStructure->GetVirtualFunctionSlot(std::get(sig)); + position = _currentStructure->GetVirtualFunctionSlot(&(std::get(sig))); } call << "call [eax + " << position * 4 << "]"; EmitInstruction(call.str()); diff --git a/libzhlgen/ParserDefinitions.cpp b/libzhlgen/ParserDefinitions.cpp index ab28d6e63..f695dcb51 100644 --- a/libzhlgen/ParserDefinitions.cpp +++ b/libzhlgen/ParserDefinitions.cpp @@ -558,12 +558,19 @@ std::string Struct::GetTemplateName() const { return result.str(); } -uint32_t Struct::GetVirtualFunctionSlotInternal(Signature const& signature) const { +uint32_t Struct::GetVirtualFunctionSlotInternal(Signature const* signature) const { uint32_t result = 0; for (auto const& fn : _virtualFunctions) { if (std::holds_alternative(fn)) { Signature const& sig = std::get(fn); - if (sig == signature) { + if (sig == *signature) { + return result; + } + } + else if (std::holds_alternative(fn)) { + Function const& func = std::get(fn); + + if (func == signature->_function) { return result; } } @@ -575,7 +582,7 @@ uint32_t Struct::GetVirtualFunctionSlotInternal(Signature const& signature) cons return 0; } -uint32_t Struct::GetVirtualFunctionSlot(Signature const& signature, bool checkParent) const { +uint32_t Struct::GetVirtualFunctionSlot(Signature const* signature, bool checkParent) const { if (_parents.size() > 1) { throw std::runtime_error("I don't want to implement multiple inheritance, are you sure there is no other way to design this ?"); } @@ -585,13 +592,27 @@ uint32_t Struct::GetVirtualFunctionSlot(Signature const& signature, bool checkPa } else { if (checkParent) { - auto [parent, sig] = GetVirtualFunctionSource(signature._function); + auto [parent, sig] = GetVirtualFunctionSource(signature->_function); if (!parent) { + /* If parent and sig are both null, we are on a declaration of a pure function + * that corresponds to nothing in the parents. Therefore we can simply get + * its offset in the vtable of the current type. + */ uint32_t result = std::get(_parents.front())->GetStruct().GetNbVirtualFunctions(); return result + GetVirtualFunctionSlotInternal(signature); } else { - return parent->GetVirtualFunctionSlot(*sig, false); + /* If sig is null, create a fake signature that contains the concrete version of + * the function, so GetVirtualFunctionSlotInternal can later check the + * functions in the vtable against something. + */ + if (!sig) { + Signature dummy; + dummy._sig = ""; + dummy._function = signature->_function; + return parent->GetVirtualFunctionSlot(&dummy, false); + } + return parent->GetVirtualFunctionSlot(sig, false); } } else { @@ -601,7 +622,7 @@ uint32_t Struct::GetVirtualFunctionSlot(Signature const& signature, bool checkPa } } -uint32_t Struct::GetVirtualFunctionSlot(Function const& fn) const { +uint32_t Struct::GetVirtualFunctionSlot(Function const* fn) const { if (_parents.size() > 1) { throw std::runtime_error("Multiple inheritance not supported"); } @@ -617,7 +638,7 @@ uint32_t Struct::GetVirtualFunctionSlot(Function const& fn) const { continue; } - if (std::get(fun) == fn) { + if (std::get(fun) == *fn) { return result; } } @@ -659,10 +680,19 @@ std::tuple Struct::GetVirtualFunctionSource(Function const& continue; } - if (std::get(function)._function == fn) { - resStruct = const_cast(this); - resSignature = const_cast(&(std::get(function))); - break; + if (std::holds_alternative(function)) { + if (std::get(function) == fn) { + resStruct = const_cast(this); + resSignature = nullptr; + break; + } + } + else { + if (std::get(function)._function == fn) { + resStruct = const_cast(this); + resSignature = const_cast(&(std::get(function))); + break; + } } } } diff --git a/libzhlgen/ParserDefinitions.h b/libzhlgen/ParserDefinitions.h index a80b328e7..30b44e963 100644 --- a/libzhlgen/ParserDefinitions.h +++ b/libzhlgen/ParserDefinitions.h @@ -100,9 +100,9 @@ struct Struct { std::string ToString(bool full) const; size_t size() const; std::string GetTemplateName() const; - uint32_t GetVirtualFunctionSlot(Signature const& sig, bool checkParent) const; - uint32_t GetVirtualFunctionSlot(Function const& fn) const; - uint32_t GetVirtualFunctionSlotInternal(Signature const& sig) const; + uint32_t GetVirtualFunctionSlot(Signature const* sig, bool checkParent) const; + uint32_t GetVirtualFunctionSlot(Function const* fn) const; + uint32_t GetVirtualFunctionSlotInternal(Signature const* sig) const; uint32_t GetNbVirtualFunctions() const; std::tuple GetVirtualFunctionSource(Function const& fn) const; From fbb9bd409b8109698603e6ce4dd461932e7433de Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Sun, 14 Jul 2024 18:23:53 -0700 Subject: [PATCH 11/20] Revert "minimal reproducible example" This reverts commit b1c022475ab3706f4d2d215c24d1dc8c9951747b. --- libzhl/functions/SampleSourceBase.zhl | 58 +++++++++++++++ libzhl/functions/SampleSourceOgg.zhl | 55 ++++++++++++++ libzhl/functions/SampleSourceOrg.zhl | 58 +++++++++++++++ libzhl/functions/SampleSourceWav.zhl | 58 +++++++++++++++ libzhl/functions/SoundActor.zhl | 2 +- libzhl/functions/SoundSourceBase.zhl | 59 ++++++++++++++- libzhl/functions/SoundSourcePlatformBase.zhl | 69 ++++++++++++++++++ libzhl/functions/StreamSourceBase.zhl | 72 +++++++++++++++++++ libzhl/functions/StreamSourceOgg.zhl | 64 +++++++++++++++++ libzhl/functions/StreamSourceOrg.zhl | 61 ++++++++++++++++ libzhl/functions/StreamSourcePlatformBase.zhl | 63 ++++++++++++++++ libzhl/functions/StreamSourceWav.zhl | 59 +++++++++++++++ 12 files changed, 676 insertions(+), 2 deletions(-) create mode 100644 libzhl/functions/SampleSourceBase.zhl create mode 100644 libzhl/functions/SampleSourceOgg.zhl create mode 100644 libzhl/functions/SampleSourceOrg.zhl create mode 100644 libzhl/functions/SampleSourceWav.zhl create mode 100644 libzhl/functions/StreamSourceBase.zhl create mode 100644 libzhl/functions/StreamSourceOgg.zhl create mode 100644 libzhl/functions/StreamSourceOrg.zhl create mode 100644 libzhl/functions/StreamSourcePlatformBase.zhl create mode 100644 libzhl/functions/StreamSourceWav.zhl diff --git a/libzhl/functions/SampleSourceBase.zhl b/libzhl/functions/SampleSourceBase.zhl new file mode 100644 index 000000000..1bd4aa16f --- /dev/null +++ b/libzhl/functions/SampleSourceBase.zhl @@ -0,0 +1,58 @@ +struct SampleSourceBase : public SoundSourcePlatformBase { + __vtable { + override + "558bec6aff68????????64a1????????505657a1????????33c5508d45??64a3????????8bf1c706????????8d7e": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + + "8b41??8b40??c3??????????????????8b41": + int GetHardwareBufferSize(); + + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "8b41??8b11c641??01": + bool Open(char * path); + + override + "558bec6aff68????????64a1????????5083ec08535657a1????????33c5508d45??64a3????????8bd98b75??85f60f84": + bool Clone(SoundSourceBase * param_1); + + override + "558bec518bc18378??00": + void Close(); + + skip; // IsOpen + + override + "558bec568bf18b06ff50??ff75": + void Play(void * param_1); + + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + skip; // GetNumChannels + skip; // GetSourceFormat + skip; // GetSampleRate + skip; // SystemSuspend + skip; // SystemResume + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x48; \ No newline at end of file diff --git a/libzhl/functions/SampleSourceOgg.zhl b/libzhl/functions/SampleSourceOgg.zhl new file mode 100644 index 000000000..803434dca --- /dev/null +++ b/libzhl/functions/SampleSourceOgg.zhl @@ -0,0 +1,55 @@ +struct SampleSourceOgg : public SampleSourceBase { + __vtable { + override + "558bec6aff68????????64a1????????505657a1????????33c5508d45??64a3????????8bf1c745??00000000837e??00c706????????74??e8????????84c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c8bcee8": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec83e4f883ec24535657ff75": + bool Open(char * path); + + override + "558bec8b55??85d274??8b41??8942??8b41": + bool Clone(SoundSourceBase * param_1); + + skip; // Close + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + + "8b41??c3????????????????????????558bec6aff68????????64a1????????505156": + unsigned int GetNumChannels(); + + "8b41??c3????????????????????????8b41??c3????????????????????????558bec6aff68????????64a1????????505153": + int GetSourceFormat(); + + "8b41??c3????????????????????????558bec6aff68????????64a1????????505153": + unsigned int GetSampleRate(); + + skip; // SystemSuspend + skip; // SystemResume + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x48; \ No newline at end of file diff --git a/libzhl/functions/SampleSourceOrg.zhl b/libzhl/functions/SampleSourceOrg.zhl new file mode 100644 index 000000000..8174c8247 --- /dev/null +++ b/libzhl/functions/SampleSourceOrg.zhl @@ -0,0 +1,58 @@ +struct SampleSourceOrg : public SampleSourceBase { + __vtable { + override + "558bec568bf1e8????????f645??0174??68b01b0000": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec6aff68????????64a1????????5083ec4c535657a1????????33c5508d45??64a3????????8bd9": + bool Open(char * param_1); + + override + "558bec5668": + bool Clone(SoundSourceBase * param_1); + + override + "558bec51538bd95657bf10000000": + void Close(); + + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + + "b802000000c3????????????????????b822560000": + uint16_t GetNumChannels(); + + "b801000000c3????????????????????8b81": + int GetSourceFormat(); + + "b822560000": + unsigned int GetSampleRate(); + + skip; // SystemSuspend + skip; // SystemResume + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x60; \ No newline at end of file diff --git a/libzhl/functions/SampleSourceWav.zhl b/libzhl/functions/SampleSourceWav.zhl new file mode 100644 index 000000000..edc281a61 --- /dev/null +++ b/libzhl/functions/SampleSourceWav.zhl @@ -0,0 +1,58 @@ +struct SampleSourceWav : public SampleSourceBase { + __vtable { + override + "558bec6aff68????????64a1????????505657a1????????33c5508d45??64a3????????8bf1c745??00000000837e??00c706????????74??e8????????84c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c8bcec746??00000000": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec83e4f883ec1ca1????????33c4894424??53": + bool Open(char * param_1); + + override + "558bec568b75??85f674??8b41": + bool Clone(SoundSourceBase * param_1); + + override + "c741??00000000c741??00000000e9??????????????????????????????????0fb741": + void Close(); + + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + + "0fb741??c3??????????????????????33c0": + uint16_t GetNumChannels(); + + "33c0668379??10": + int GetSourceFormat(); + + "8b41??c3????????????????????????558bec83e4f8": + unsigned int GetSampleRate(); + + skip; // SystemSuspend + skip; // SystemResume + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x60; \ No newline at end of file diff --git a/libzhl/functions/SoundActor.zhl b/libzhl/functions/SoundActor.zhl index c79181f22..5767495dd 100644 --- a/libzhl/functions/SoundActor.zhl +++ b/libzhl/functions/SoundActor.zhl @@ -1,4 +1,4 @@ -struct SoundActor depends (SoundSourcePlatformBase) +struct SoundActor depends (StreamSourceBase) { SoundSourcePlatformBase * _source : 0x0; void * _sp2 : 0x4; diff --git a/libzhl/functions/SoundSourceBase.zhl b/libzhl/functions/SoundSourceBase.zhl index fc253b55b..99baadc12 100644 --- a/libzhl/functions/SoundSourceBase.zhl +++ b/libzhl/functions/SoundSourceBase.zhl @@ -1,5 +1,62 @@ struct SoundSourceBase { __vtable { - pure bool ApplyDataToHardware(int param_1, int param_2); + "558bec568bf18d4e??c706????????e8????????f645??0174??6a24": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + + "32c0c20800": + bool open_file_dunno(int UNK_param_1, int UNK_param_2); + + "558bec8b51??568d71": + void Queue(uint64_t UNK_param_1, int UNK_param_2); + + "558bec568bf18b56??8b46??4a": + void Deque(void * UNK_param_1); + + "8379??000f97c0c3????????????????c641??01": + bool HasQueuedData(); + + "c641??01b001c20400": + bool Open(char * path); + + "558bec8b55??85d274??8b41??8942??8a41": + bool Clone(SoundSourceBase* right); + + "558bec83ec0c568bf18b46": + void Close(); + + "8a41??c3????????????????????????8a41": + bool IsOpen(); + + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + + "558bec8a45??8841??5dc20400??????558bec6aff": + void SetLooping(bool value); + + "8a41??c3????????????????????????c641??01": + bool IsLooping(); + + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + skip; // GetNumChannels + skip; // GetSourceFormat + skip; // GetSampleRate + skip; // SystemSuspend + skip; // SystemResume + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished }; } : 0x4; \ No newline at end of file diff --git a/libzhl/functions/SoundSourcePlatformBase.zhl b/libzhl/functions/SoundSourcePlatformBase.zhl index 375c9b23d..1231bc57f 100644 --- a/libzhl/functions/SoundSourcePlatformBase.zhl +++ b/libzhl/functions/SoundSourcePlatformBase.zhl @@ -1,6 +1,75 @@ struct SoundSourcePlatformBase : public SoundSourceBase { __vtable { + override + "558bec568bf18d4e??c706????????e8????????f645??0174??6a40": + void * Free(bool param_1); + "558bec8b45??568bf18946??8b45": bool ApplyDataToHardware(int param_1, int param_2); + + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + skip; // Open + skip; // Clone + skip; // Close + skip; // IsOpen + + "558bec83ec08578bf9": + void Play(void * param_1); + + "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????56": + void Pause(); + + "568bf1837e??0074??8b068b40??ffd084c075??ff76": + void Resume(); + + "558bec518b41??85c075": + bool IsPlaying(); + + "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????55": + void Stop(); + + override + "558bec538a5d??568bf1": + void SetLooping(bool param_1); + + skip; // IsLooping + + "558becf30f1045??8b41??f30f1141??85c074??51f30f110424680a100000": + void SetVolume(float param_1); + + "d941??c3????????????????????????558becf30f1045??56": + float GetVolume(); + + "558becf30f1045??56": + void SetPan(float param_1); + + "d941??c3????????????????????????558becf30f1045??8b41": + float GetPan(); + + "558becf30f1045??8b41??f30f1141??85c074??51f30f1104246803100000": + void SetPitch(float param_1); + + "d941??c3????????????????????????56": + float GetPitch(); + + skip; // GetNumChannels + skip; // GetSourceFormat + skip; // GetSampleRate + + "568bf1ff15????????85c074??6a0168????????6a02e8????????83c40c5ec38b46": + void SystemSuspend(); + + "568bf1ff15????????85c074??6a0168????????6a02e8????????83c40c5ec3807e??00": + void SystemResume(); + + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished }; } : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourceBase.zhl b/libzhl/functions/StreamSourceBase.zhl new file mode 100644 index 000000000..646e6d809 --- /dev/null +++ b/libzhl/functions/StreamSourceBase.zhl @@ -0,0 +1,72 @@ +struct StreamSourceBase : public SoundSourcePlatformBase { + __vtable { + override + "558bec6aff68????????64a1????????5056a1????????33c5508d45??64a3????????8bf168????????6a046a0c8d46??c745??00000000": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + + "b800000400c3": + int GetHardwareBufferSize(); + + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec83e4f8515356578bf9bb04000000": + bool Open(char * path); + + override + "68????????6a03e8????????83c40832c0": + bool Clone(SoundSourceBase* right); + + override + "5356578bf98b4f??85c9": + void Close(); + + skip; // IsOpen + + override + "558bec51568bf18b068b40??ffd084c00f85": + void Play(void * unk); + + skip; // Pause + skip; // Resume + skip; // IsPlaying + + override + "568bf156": + void Stop(); + + override + "558bec8a45??3a41": + void SetLooping(bool param_1); + + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + skip; // GetNumChannels + skip; // GetSourceFormat + skip; // GetSampleRate + skip; // SystemSuspend + skip; // SystemResume + skip; // ProcessData + skip; // ActivateNextQueuedData + + "558bec83ec1053568bf133c9": + void Update(); + + "80b9????????0074??33d2": + bool IsPlayingFinished(); + + "8a81????????c3??????????????????558bec6aff68????????64a1????????5056": + bool IsProcessingFinished(); + + }; +} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourceOgg.zhl b/libzhl/functions/StreamSourceOgg.zhl new file mode 100644 index 000000000..e848fced2 --- /dev/null +++ b/libzhl/functions/StreamSourceOgg.zhl @@ -0,0 +1,64 @@ +struct StreamSourceOgg : public StreamSourcePlatformBase { + __vtable { + override + "558bec568bf1e8????????f645??0174??68c0000000": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + + "558bec83ec188bc1": + bool open_file_dunno(char * param_1, bool param_2); + + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec51538b5d??56578bf1": + bool Open(char * param_1); + + skip; // Clone + + override + "558bec83ec0c53578bf9": + void Close(); + + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + + "8b81????????8b40??c3????????????b801000000": + unsigned int GetNumChannels(); + + "b801000000c3????????????????????8b81": + int GetSourceFormat(); + + "8b81????????8b00": + unsigned int GetSampleRate(); + + skip; // SystemSuspend + skip; // SystemResume + + "558bec53578bf9": + int ProcessData(void * param_1); + + "558bec83ec0c568bf1578b06": + bool ActivateNextQueuedData(); + + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourceOrg.zhl b/libzhl/functions/StreamSourceOrg.zhl new file mode 100644 index 000000000..67609c246 --- /dev/null +++ b/libzhl/functions/StreamSourceOrg.zhl @@ -0,0 +1,61 @@ +struct StreamSourceOrg : public StreamSourcePlatformBase { + __vtable { + override + "558bec6aff68????????64a1????????50535657a1????????33c5508d45??64a3????????8bf9c745??00000000": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec83ec0853560fb735": + bool Open(char * param_1); + + skip; // Clone + + override + "5356578bf98b87????????85c074": + void Close(); + + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + + "b802000000c3????????????????????b822560000": + unsigned int GetNumChannels(); + + "b801000000c3????????????????????8b81": + int GetSourceFormat(); + + "b822560000": + unsigned int GetSampleRate(); + + skip; // SystemSuspend + skip; // SystemResume + + "558bec6aff68????????64a1????????5083ec54535657a1????????33c5508d45??64a3????????8bf9": + int ProcessData(void * param_1); + + "558bec83ec0c568bf1578b06": + bool ActivateNextQueuedData(); + + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourcePlatformBase.zhl b/libzhl/functions/StreamSourcePlatformBase.zhl new file mode 100644 index 000000000..f2882ba19 --- /dev/null +++ b/libzhl/functions/StreamSourcePlatformBase.zhl @@ -0,0 +1,63 @@ +struct StreamSourcePlatformBase : public StreamSourceBase { + __vtable { + override + "558bec568bf18d4e??c706????????e8????????f645??0174??6a54": + void * Free(bool param_1); + + override + "558bec515356578bf9897d??8b07": + bool ApplyDataToHardware(int param_1, int param_2); + + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "51568bf18d46": + bool Open(char * path); + + skip; // Clone + + override + "56578bf1e8????????837e??00": + void Close(); + + skip; // IsOpen + + override + "568bf1837e??0074??8b068b40??ffd084c075??a1": + void Play(void * unk); + + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + skip; // GetNumChannels + skip; // GetSourceFormat + skip; // GetSampleRate + + override + "538b1d????????568bf1ffd3": + void SystemSuspend(); + + override + "568b35????????578bf9ffd6": + void SystemResume(); + + skip; // ProcessData + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x4; \ No newline at end of file diff --git a/libzhl/functions/StreamSourceWav.zhl b/libzhl/functions/StreamSourceWav.zhl new file mode 100644 index 000000000..46bfb798c --- /dev/null +++ b/libzhl/functions/StreamSourceWav.zhl @@ -0,0 +1,59 @@ +struct StreamSourceWav : public StreamSourcePlatformBase { + __vtable { + override + "558bec6aff68????????64a1????????5056a1????????33c5508d45??64a3????????8bf1c745??00000000c706????????e8????????8bce": + void * Free(bool param_1); + + skip; // ApplyDataToHardware + skip; // GetHardwareBufferSize + skip; // open_file_dunno + skip; // Queue + skip; // Deque + skip; // HasQueuedData + + override + "558bec56ff75??8bf1b9": + bool Open(char * param_1); + + skip; // Clone + + override + "558bec83ec0c53578bf9": + void Close(); + + skip; // IsOpen + skip; // Play + skip; // Pause + skip; // Resume + skip; // IsPlaying + skip; // Stop + skip; // SetLooping + skip; // IsLooping + skip; // SetVolume + skip; // GetVolume + skip; // SetPan + skip; // GetPan + skip; // SetPitch + skip; // GetPitch + + "0fb781????????c3????????????????33c0": + unsigned int GetNumChannels(); + + "33c06683b9????????10": + int GetSourceFormat(); + + "8b81????????c3??????????????????558bec83e4f883ec0c56": + unsigned int GetSampleRate(); + + skip; // SystemSuspend + skip; // SystemResume + + "558bec56578bf96800000100": + int ProcessData(void * param_1); + + skip; // ActivateNextQueuedData + skip; // Update + skip; // IsPlaybackFinished + skip; // IsProcessingFinished + }; +} : 0x4; \ No newline at end of file From f4cba2067be3f6246c7d9d5a987d81964fbf62c5 Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Sun, 14 Jul 2024 18:37:13 -0700 Subject: [PATCH 12/20] update zhls to use pure --- libzhl/functions/SampleSourceBase.zhl | 1 + libzhl/functions/SampleSourceOgg.zhl | 7 +- libzhl/functions/SampleSourceOrg.zhl | 7 +- libzhl/functions/SampleSourceWav.zhl | 3 + libzhl/functions/SoundActor.zhl | 2 +- libzhl/functions/SoundSourceBase.zhl | 91 ++++++++++++++------ libzhl/functions/SoundSourcePlatformBase.zhl | 32 +++++-- libzhl/functions/StreamSourceBase.zhl | 4 + libzhl/functions/StreamSourceOgg.zhl | 10 ++- libzhl/functions/StreamSourceOrg.zhl | 9 +- libzhl/functions/StreamSourceWav.zhl | 8 +- 11 files changed, 130 insertions(+), 44 deletions(-) diff --git a/libzhl/functions/SampleSourceBase.zhl b/libzhl/functions/SampleSourceBase.zhl index 1bd4aa16f..5eb52e119 100644 --- a/libzhl/functions/SampleSourceBase.zhl +++ b/libzhl/functions/SampleSourceBase.zhl @@ -6,6 +6,7 @@ struct SampleSourceBase : public SoundSourcePlatformBase { skip; // ApplyDataToHardware + override "8b41??8b40??c3??????????????????8b41": int GetHardwareBufferSize(); diff --git a/libzhl/functions/SampleSourceOgg.zhl b/libzhl/functions/SampleSourceOgg.zhl index 803434dca..c47bd3da2 100644 --- a/libzhl/functions/SampleSourceOgg.zhl +++ b/libzhl/functions/SampleSourceOgg.zhl @@ -35,12 +35,15 @@ struct SampleSourceOgg : public SampleSourceBase { skip; // SetPitch skip; // GetPitch + override "8b41??c3????????????????????????558bec6aff68????????64a1????????505156": - unsigned int GetNumChannels(); - + uint16_t GetNumChannels(); + + override "8b41??c3????????????????????????8b41??c3????????????????????????558bec6aff68????????64a1????????505153": int GetSourceFormat(); + override "8b41??c3????????????????????????558bec6aff68????????64a1????????505153": unsigned int GetSampleRate(); diff --git a/libzhl/functions/SampleSourceOrg.zhl b/libzhl/functions/SampleSourceOrg.zhl index 8174c8247..4ba37f013 100644 --- a/libzhl/functions/SampleSourceOrg.zhl +++ b/libzhl/functions/SampleSourceOrg.zhl @@ -37,13 +37,16 @@ struct SampleSourceOrg : public SampleSourceBase { skip; // GetPan skip; // SetPitch skip; // GetPitch - + + override "b802000000c3????????????????????b822560000": uint16_t GetNumChannels(); + override "b801000000c3????????????????????8b81": int GetSourceFormat(); - + + override "b822560000": unsigned int GetSampleRate(); diff --git a/libzhl/functions/SampleSourceWav.zhl b/libzhl/functions/SampleSourceWav.zhl index edc281a61..78576cc44 100644 --- a/libzhl/functions/SampleSourceWav.zhl +++ b/libzhl/functions/SampleSourceWav.zhl @@ -38,12 +38,15 @@ struct SampleSourceWav : public SampleSourceBase { skip; // SetPitch skip; // GetPitch + override "0fb741??c3??????????????????????33c0": uint16_t GetNumChannels(); + override "33c0668379??10": int GetSourceFormat(); + override "8b41??c3????????????????????????558bec83e4f8": unsigned int GetSampleRate(); diff --git a/libzhl/functions/SoundActor.zhl b/libzhl/functions/SoundActor.zhl index 5767495dd..c79181f22 100644 --- a/libzhl/functions/SoundActor.zhl +++ b/libzhl/functions/SoundActor.zhl @@ -1,4 +1,4 @@ -struct SoundActor depends (StreamSourceBase) +struct SoundActor depends (SoundSourcePlatformBase) { SoundSourcePlatformBase * _source : 0x0; void * _sp2 : 0x4; diff --git a/libzhl/functions/SoundSourceBase.zhl b/libzhl/functions/SoundSourceBase.zhl index 99baadc12..b611a4bda 100644 --- a/libzhl/functions/SoundSourceBase.zhl +++ b/libzhl/functions/SoundSourceBase.zhl @@ -3,11 +3,14 @@ struct SoundSourceBase { "558bec568bf18d4e??c706????????e8????????f645??0174??6a24": void * Free(bool param_1); - skip; // ApplyDataToHardware - skip; // GetHardwareBufferSize + pure + bool ApplyDataToHardware(int param_1, int param_2); + + pure + int GetHardwareBufferSize(); "32c0c20800": - bool open_file_dunno(int UNK_param_1, int UNK_param_2); + bool open_file_dunno(char * param_1, bool param_2); "558bec8b51??568d71": void Queue(uint64_t UNK_param_1, int UNK_param_2); @@ -30,11 +33,20 @@ struct SoundSourceBase { "8a41??c3????????????????????????8a41": bool IsOpen(); - skip; // Play - skip; // Pause - skip; // Resume - skip; // IsPlaying - skip; // Stop + pure + void Play(void * param_1); + + pure + void Pause(); + + pure + void Resume(); + + pure + bool IsPlaying(); + + pure + void Stop(); "558bec8a45??8841??5dc20400??????558bec6aff": void SetLooping(bool value); @@ -42,21 +54,52 @@ struct SoundSourceBase { "8a41??c3????????????????????????c641??01": bool IsLooping(); - skip; // SetVolume - skip; // GetVolume - skip; // SetPan - skip; // GetPan - skip; // SetPitch - skip; // GetPitch - skip; // GetNumChannels - skip; // GetSourceFormat - skip; // GetSampleRate - skip; // SystemSuspend - skip; // SystemResume - skip; // ProcessData - skip; // ActivateNextQueuedData - skip; // Update - skip; // IsPlaybackFinished - skip; // IsProcessingFinished + pure + void SetVolume(float param_1); + + pure + float GetVolume(); + + pure + void SetPan(float param_1); + + pure + float GetPan(); + + pure + void SetPitch(float param_1); + + pure + float GetPitch(); + + pure + uint16_t GetNumChannels(); + + pure + int GetSourceFormat(); + + pure + unsigned int GetSampleRate(); + + pure + void SystemSuspend(); + + pure + void SystemResume(); + + pure + int ProcessData(void * param_1); + + pure + bool ActivateNextQueuedData(); + + pure + void Update(); + + pure + bool IsPlayingFinished(); + + pure + bool IsProcessingFinished(); }; } : 0x4; \ No newline at end of file diff --git a/libzhl/functions/SoundSourcePlatformBase.zhl b/libzhl/functions/SoundSourcePlatformBase.zhl index 1231bc57f..437e13151 100644 --- a/libzhl/functions/SoundSourcePlatformBase.zhl +++ b/libzhl/functions/SoundSourcePlatformBase.zhl @@ -4,6 +4,7 @@ struct SoundSourcePlatformBase : public SoundSourceBase { "558bec568bf18d4e??c706????????e8????????f645??0174??6a40": void * Free(bool param_1); + override "558bec8b45??568bf18946??8b45": bool ApplyDataToHardware(int param_1, int param_2); @@ -17,18 +18,23 @@ struct SoundSourcePlatformBase : public SoundSourceBase { skip; // Close skip; // IsOpen + override "558bec83ec08578bf9": void Play(void * param_1); - + + override "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????56": void Pause(); - + + override "568bf1837e??0074??8b068b40??ffd084c075??ff76": void Resume(); - + + override "558bec518b41??85c075": bool IsPlaying(); + override "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????55": void Stop(); @@ -38,21 +44,27 @@ struct SoundSourcePlatformBase : public SoundSourceBase { skip; // IsLooping + override "558becf30f1045??8b41??f30f1141??85c074??51f30f110424680a100000": void SetVolume(float param_1); - + + override "d941??c3????????????????????????558becf30f1045??56": float GetVolume(); - + + override "558becf30f1045??56": void SetPan(float param_1); - + + override "d941??c3????????????????????????558becf30f1045??8b41": float GetPan(); - + + override "558becf30f1045??8b41??f30f1141??85c074??51f30f1104246803100000": void SetPitch(float param_1); - + + override "d941??c3????????????????????????56": float GetPitch(); @@ -60,9 +72,11 @@ struct SoundSourcePlatformBase : public SoundSourceBase { skip; // GetSourceFormat skip; // GetSampleRate + override "568bf1ff15????????85c074??6a0168????????6a02e8????????83c40c5ec38b46": void SystemSuspend(); - + + override "568bf1ff15????????85c074??6a0168????????6a02e8????????83c40c5ec3807e??00": void SystemResume(); diff --git a/libzhl/functions/StreamSourceBase.zhl b/libzhl/functions/StreamSourceBase.zhl index 646e6d809..df82bcc1b 100644 --- a/libzhl/functions/StreamSourceBase.zhl +++ b/libzhl/functions/StreamSourceBase.zhl @@ -6,6 +6,7 @@ struct StreamSourceBase : public SoundSourcePlatformBase { skip; // ApplyDataToHardware + override "b800000400c3": int GetHardwareBufferSize(); @@ -59,12 +60,15 @@ struct StreamSourceBase : public SoundSourcePlatformBase { skip; // ProcessData skip; // ActivateNextQueuedData + override "558bec83ec1053568bf133c9": void Update(); + override "80b9????????0074??33d2": bool IsPlayingFinished(); + override "8a81????????c3??????????????????558bec6aff68????????64a1????????5056": bool IsProcessingFinished(); diff --git a/libzhl/functions/StreamSourceOgg.zhl b/libzhl/functions/StreamSourceOgg.zhl index e848fced2..69592fa0b 100644 --- a/libzhl/functions/StreamSourceOgg.zhl +++ b/libzhl/functions/StreamSourceOgg.zhl @@ -7,6 +7,7 @@ struct StreamSourceOgg : public StreamSourcePlatformBase { skip; // ApplyDataToHardware skip; // GetHardwareBufferSize + override "558bec83ec188bc1": bool open_file_dunno(char * param_1, bool param_2); @@ -39,21 +40,26 @@ struct StreamSourceOgg : public StreamSourcePlatformBase { skip; // SetPitch skip; // GetPitch + override "8b81????????8b40??c3????????????b801000000": - unsigned int GetNumChannels(); - + uint16_t GetNumChannels(); + + override "b801000000c3????????????????????8b81": int GetSourceFormat(); + override "8b81????????8b00": unsigned int GetSampleRate(); skip; // SystemSuspend skip; // SystemResume + override "558bec53578bf9": int ProcessData(void * param_1); + override "558bec83ec0c568bf1578b06": bool ActivateNextQueuedData(); diff --git a/libzhl/functions/StreamSourceOrg.zhl b/libzhl/functions/StreamSourceOrg.zhl index 67609c246..873d36603 100644 --- a/libzhl/functions/StreamSourceOrg.zhl +++ b/libzhl/functions/StreamSourceOrg.zhl @@ -36,21 +36,26 @@ struct StreamSourceOrg : public StreamSourcePlatformBase { skip; // SetPitch skip; // GetPitch + override "b802000000c3????????????????????b822560000": - unsigned int GetNumChannels(); - + uint16_t GetNumChannels(); + + override "b801000000c3????????????????????8b81": int GetSourceFormat(); + override "b822560000": unsigned int GetSampleRate(); skip; // SystemSuspend skip; // SystemResume + override "558bec6aff68????????64a1????????5083ec54535657a1????????33c5508d45??64a3????????8bf9": int ProcessData(void * param_1); + override "558bec83ec0c568bf1578b06": bool ActivateNextQueuedData(); diff --git a/libzhl/functions/StreamSourceWav.zhl b/libzhl/functions/StreamSourceWav.zhl index 46bfb798c..5ef26dac7 100644 --- a/libzhl/functions/StreamSourceWav.zhl +++ b/libzhl/functions/StreamSourceWav.zhl @@ -36,18 +36,22 @@ struct StreamSourceWav : public StreamSourcePlatformBase { skip; // SetPitch skip; // GetPitch + override "0fb781????????c3????????????????33c0": - unsigned int GetNumChannels(); - + uint16_t GetNumChannels(); + + override "33c06683b9????????10": int GetSourceFormat(); + override "8b81????????c3??????????????????558bec83e4f883ec0c56": unsigned int GetSampleRate(); skip; // SystemSuspend skip; // SystemResume + override "558bec56578bf96800000100": int ProcessData(void * param_1); From 5018ccd827dfd2b74fa7a0f92ccad439faf2c040 Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Sun, 14 Jul 2024 19:19:31 -0700 Subject: [PATCH 13/20] lua interfaces wip --- libzhl/LuaCore.cpp | 2 + libzhl/LuaCore.h | 2 + libzhl/functions/MusicEntry.zhl | 13 +- libzhl/functions/MusicLayer.zhl | 6 + libzhl/functions/SoundActor.zhl | 4 +- repentogon/LuaInterfaces/LuaMusicEntry.cpp | 45 +++++++ repentogon/LuaInterfaces/LuaMusicManager.cpp | 2 +- repentogon/LuaInterfaces/LuaSoundActor.cpp | 124 +++++++++++++++++++ 8 files changed, 191 insertions(+), 7 deletions(-) create mode 100644 libzhl/functions/MusicLayer.zhl create mode 100644 repentogon/LuaInterfaces/LuaMusicEntry.cpp create mode 100644 repentogon/LuaInterfaces/LuaSoundActor.cpp diff --git a/libzhl/LuaCore.cpp b/libzhl/LuaCore.cpp index 027f455c4..d08ddcdbd 100644 --- a/libzhl/LuaCore.cpp +++ b/libzhl/LuaCore.cpp @@ -779,6 +779,7 @@ namespace lua { const char* MinimapMT = "Minimap"; const char* ModsMenuMT = "ModsMenu"; const char* MultiShotParamsMT = "MultiShotParams"; + const char* MusicEntryMT = "MusicEntry"; const char* NightmareSceneMT = "NightmareScene"; const char* NullFrameMT = "NullFrame"; const char* OptionsMenuMT = "OptionsMenu"; @@ -802,6 +803,7 @@ namespace lua { const char* SaveMenuMT = "SaveMenu"; const char* ScoreSheetMT = "ScoreSheet"; const char* ShapeMT = "Shape"; + const char* SoundActorMT = "SoundActor"; const char* SpecialSeedsMenuMT = "SpecialSeedsMenu"; const char* StageTransitionMT = "StageTransition"; const char* StatsMenuMT = "StatsMenu"; diff --git a/libzhl/LuaCore.h b/libzhl/LuaCore.h index dbc1e5b0c..d2306d323 100644 --- a/libzhl/LuaCore.h +++ b/libzhl/LuaCore.h @@ -214,6 +214,7 @@ namespace lua { extern LIBZHL_API const char* MinimapMT; extern LIBZHL_API const char* ModsMenuMT; extern LIBZHL_API const char* MultiShotParamsMT; + extern LIBZHL_API const char* MusicEntry; extern LIBZHL_API const char* NightmareSceneMT; extern LIBZHL_API const char* NullFrameMT; extern LIBZHL_API const char* OptionsMenuMT; @@ -237,6 +238,7 @@ namespace lua { extern LIBZHL_API const char* SaveMenuMT; extern LIBZHL_API const char* ScoreSheetMT; extern LIBZHL_API const char* ShapeMT; + extern LIBZHL_API const char* SoundActorMT; extern LIBZHL_API const char* SpecialSeedsMenuMT; extern LIBZHL_API const char* StageTransitionMT; extern LIBZHL_API const char* StatsMenuMT; diff --git a/libzhl/functions/MusicEntry.zhl b/libzhl/functions/MusicEntry.zhl index 494955be5..3ea2b129e 100644 --- a/libzhl/functions/MusicEntry.zhl +++ b/libzhl/functions/MusicEntry.zhl @@ -1,8 +1,13 @@ -struct MusicEntry +struct MusicEntry depends (MusicLayer) { - int _guessingId : 0x0; + int _id : 0x0; std_string _name : 0x4; - std_string _guessingString : 0x1c; - std_string _filenameMaybe : 0x34; + std_string _introFilename : 0x1c; + std_string _filename : 0x34; bool _loop : 0x4c; + unsigned char _layerMode : 0x4d; + float _multiplier : 0x50; + float _layerFadeRate : 0x54; + MusicLayer* _layers : 0x58; + unsigned int _numLayers : 0x5c; } : 0x60; diff --git a/libzhl/functions/MusicLayer.zhl b/libzhl/functions/MusicLayer.zhl new file mode 100644 index 000000000..20e1c0aae --- /dev/null +++ b/libzhl/functions/MusicLayer.zhl @@ -0,0 +1,6 @@ +struct MusicLayer +{ + std_string _intro : 0x0; + std_string _path : 0x18; + float _mul : 0x30; +} : 0x34; diff --git a/libzhl/functions/SoundActor.zhl b/libzhl/functions/SoundActor.zhl index c79181f22..bc7f3776c 100644 --- a/libzhl/functions/SoundActor.zhl +++ b/libzhl/functions/SoundActor.zhl @@ -1,6 +1,6 @@ -struct SoundActor depends (SoundSourcePlatformBase) +struct SoundActor depends (SoundSourceBase) { - SoundSourcePlatformBase * _source : 0x0; + SoundSourceBase * _source : 0x0; void * _sp2 : 0x4; bool _loop : 0x8; bool _playing : 0x9; diff --git a/repentogon/LuaInterfaces/LuaMusicEntry.cpp b/repentogon/LuaInterfaces/LuaMusicEntry.cpp new file mode 100644 index 000000000..dc44e79d6 --- /dev/null +++ b/repentogon/LuaInterfaces/LuaMusicEntry.cpp @@ -0,0 +1,45 @@ +#include "IsaacRepentance.h" +#include "LuaCore.h" +#include "HookSystem.h" + +LUA_FUNCTION(Lua_MusicManager_GetEntry) +{ + Music* music = lua::GetUserdata(L, 1, lua::Metatables::MUSIC_MANAGER, "MusicManager"); + int musicId = (int)luaL_checkinteger(L, 2); + int max; + + if (!music->ValidateMusicID(musicId, max)) { + return luaL_error(L, "Invalid music ID %d. Min = 0, Max = %d", musicId, max - 1); + } + + MusicEntry* toLua = music->_entries[musicId]; + MusicEntry** luaMusicEntry = (MusicEntry**)lua_newuserdata(L, sizeof(MusicEntry*)); + *luaMusicEntry = toLua; + luaL_setmetatable(L, lua::metatables::MusicEntryMT); + return 1; +} + +LUA_FUNCTION(Lua_MusicEntryGetID) +{ + MusicEntry* entry = *lua::GetUserdata(L, 1, lua::metatables::MusicEntryMT); + lua_pushinteger(L, entry->_id); + return 1; +} + +static void RegisterMusicEntry(lua_State* L) +{ + lua::RegisterFunction(L, lua::Metatables::MUSIC_MANAGER, "GetEntry", Lua_MusicManager_GetEntry); + + luaL_Reg functions[] = { + { "GetId", Lua_MusicEntryGetID}, + { NULL, NULL } + }; + lua::RegisterNewClass(L, lua::metatables::NullFrameMT, lua::metatables::NullFrameMT, functions); +} + +HOOK_METHOD(LuaEngine, RegisterClasses, () -> void) { + super(); + + lua::LuaStackProtector protector(_state); + RegisterMusicEntry(_state); +} \ No newline at end of file diff --git a/repentogon/LuaInterfaces/LuaMusicManager.cpp b/repentogon/LuaInterfaces/LuaMusicManager.cpp index 356e0fbce..6395fcf83 100644 --- a/repentogon/LuaInterfaces/LuaMusicManager.cpp +++ b/repentogon/LuaInterfaces/LuaMusicManager.cpp @@ -55,7 +55,7 @@ LUA_FUNCTION(Lua_MusicManager_PlayJingle) { if (luaL_checkinteger(L, 3)) //duration was inlined and (at least most) calls to the func had it stripped from the args, just set it ourselves - music->_jingleCountdownMaybe = duration; + music->_jingleCountdown = duration; return 0; } diff --git a/repentogon/LuaInterfaces/LuaSoundActor.cpp b/repentogon/LuaInterfaces/LuaSoundActor.cpp new file mode 100644 index 000000000..37f504878 --- /dev/null +++ b/repentogon/LuaInterfaces/LuaSoundActor.cpp @@ -0,0 +1,124 @@ +#include "IsaacRepentance.h" +#include "LuaCore.h" +#include "HookSystem.h" + +LUA_FUNCTION(Lua_SoundActorPlay) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + char* unk; + actor->_source->Play(unk); + return 0; +} + +LUA_FUNCTION(Lua_SoundActorPause) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + actor->_source->Pause(); + return 0; +} + +LUA_FUNCTION(Lua_SoundActorResume) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + actor->_source->Resume(); + return 0; +} + +LUA_FUNCTION(Lua_SoundActorStop) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + actor->_source->Stop(); + return 0; +} + +LUA_FUNCTION(Lua_SoundActorGetPitch) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + lua_pushnumber(L, actor->_source->GetPitch()); + return 1; +} + +LUA_FUNCTION(Lua_SoundActorSetPitch) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + float pitch = luaL_checknumber(L, 2); + actor->_source->SetPitch(pitch); + return 0; +} + +LUA_FUNCTION(Lua_SoundActorGetPan) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + lua_pushnumber(L, actor->_source->GetPan()); + return 1; +} + +LUA_FUNCTION(Lua_SoundActorSetPan) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + float pan = luaL_checknumber(L, 2); + actor->_source->SetPan(pan); + return 0; +} + +LUA_FUNCTION(Lua_SoundActorGetVolume) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + lua_pushnumber(L, actor->_source->GetVolume()); + return 1; +} + +LUA_FUNCTION(Lua_SoundActorSetVolume) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + float volume = luaL_checknumber(L, 2); + actor->_source->SetVolume(volume); + return 0; +} + +LUA_FUNCTION(Lua_SoundActorGetLooping) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + lua_pushboolean(L, actor->_source->IsLooping()); + return 1; +} + +LUA_FUNCTION(Lua_SoundActorSetLooping) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + bool loop = lua::luaL_checkboolean(L, 2); + actor->_source->SetLooping(loop); + return 0; +} + +LUA_FUNCTION(Lua_SoundActorGetNumChannels) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + lua_pushinteger(L, actor->_source->GetNumChannels()); + return 1; +} + +LUA_FUNCTION(Lua_SoundActorGetSampleRate) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + lua_pushinteger(L, actor->_source->GetSampleRate()); + return 1; +} + +LUA_FUNCTION(Lua_SoundActorGetSourceFormat) { + SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + lua_pushinteger(L, actor->_source->GetSourceFormat()); + return 1; +} + +static void RegisterSoundActor(lua_State* L) +{ + luaL_Reg functions[] = { + { "Play", Lua_SoundActorPlay}, + { "Pause", Lua_SoundActorPause}, + { "Resume", Lua_SoundActorResume}, + { "Stop", Lua_SoundActorStop}, + { "GetPitch", Lua_SoundActorGetPitch}, + { "GetPan", Lua_SoundActorGetPan}, + { "GetVolume", Lua_SoundActorGetVolume}, + { "GetLooping", Lua_SoundActorGetLooping}, + { "GetNumChannels", Lua_SoundActorGetNumChannels}, + { "GetSampleRate", Lua_SoundActorGetSampleRate}, + { "GetSourceFormat", Lua_SoundActorGetSourceFormat}, + { NULL, NULL } + }; + lua::RegisterNewClass(L, lua::metatables::SoundActorMT, lua::metatables::SoundActorMT, functions); +} + +HOOK_METHOD(LuaEngine, RegisterClasses, () -> void) { + super(); + + lua::LuaStackProtector protector(_state); + RegisterSoundActor(_state); +} \ No newline at end of file From 63640f7c7385d0a6b48b63bf9da53cdbb29e57c4 Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Mon, 15 Jul 2024 04:04:58 -0700 Subject: [PATCH 14/20] lua interfaces complete --- libzhl/IsaacRepentance_static.cpp | 6 + libzhl/LuaCore.cpp | 5 + libzhl/LuaCore.h | 7 +- libzhl/functions/SoundEffects.zhl | 3 + libzhl/functions/SoundStream.zhl | 4 +- repentogon/LuaInterfaces/LuaMusicEntry.cpp | 114 +++++++++++++- repentogon/LuaInterfaces/LuaSFXEntry.cpp | 142 ++++++++++++++++++ repentogon/LuaInterfaces/LuaSoundStream.cpp | 77 ++++++++++ .../LuaInterfaces/LuaSoundStreamSet.cpp | 131 ++++++++++++++++ 9 files changed, 483 insertions(+), 6 deletions(-) create mode 100644 repentogon/LuaInterfaces/LuaSFXEntry.cpp create mode 100644 repentogon/LuaInterfaces/LuaSoundStream.cpp create mode 100644 repentogon/LuaInterfaces/LuaSoundStreamSet.cpp diff --git a/libzhl/IsaacRepentance_static.cpp b/libzhl/IsaacRepentance_static.cpp index 352a60547..507f5c241 100644 --- a/libzhl/IsaacRepentance_static.cpp +++ b/libzhl/IsaacRepentance_static.cpp @@ -261,5 +261,11 @@ void EntityList_EL::Untie() { bool Music::ValidateMusicID(int id, int& max) { max = _entries.size(); + return id >= 0 && id < max; +} + +bool SoundEffects::ValidateSoundID(int id, int& max) { + max = _sounds.size(); + return id >= 0 && id < max; } \ No newline at end of file diff --git a/libzhl/LuaCore.cpp b/libzhl/LuaCore.cpp index d08ddcdbd..3bb67eed0 100644 --- a/libzhl/LuaCore.cpp +++ b/libzhl/LuaCore.cpp @@ -780,6 +780,7 @@ namespace lua { const char* ModsMenuMT = "ModsMenu"; const char* MultiShotParamsMT = "MultiShotParams"; const char* MusicEntryMT = "MusicEntry"; + const char* MusicLayerMT = "MusicLayer"; const char* NightmareSceneMT = "NightmareScene"; const char* NullFrameMT = "NullFrame"; const char* OptionsMenuMT = "OptionsMenu"; @@ -802,8 +803,12 @@ namespace lua { const char* RoomTransitionMT = "RoomTransition"; const char* SaveMenuMT = "SaveMenu"; const char* ScoreSheetMT = "ScoreSheet"; + const char* SFXEntryMT = "SFXEntry"; + const char* SFXEntrySampleMT = "SFXEntrySample"; const char* ShapeMT = "Shape"; const char* SoundActorMT = "SoundActor"; + const char* SoundStreamMT = "SoundStream"; + const char* SoundStreamSetMT = "SoundStreamSet"; const char* SpecialSeedsMenuMT = "SpecialSeedsMenu"; const char* StageTransitionMT = "StageTransition"; const char* StatsMenuMT = "StatsMenu"; diff --git a/libzhl/LuaCore.h b/libzhl/LuaCore.h index d2306d323..cf1fd56f2 100644 --- a/libzhl/LuaCore.h +++ b/libzhl/LuaCore.h @@ -214,7 +214,8 @@ namespace lua { extern LIBZHL_API const char* MinimapMT; extern LIBZHL_API const char* ModsMenuMT; extern LIBZHL_API const char* MultiShotParamsMT; - extern LIBZHL_API const char* MusicEntry; + extern LIBZHL_API const char* MusicEntryMT; + extern LIBZHL_API const char* MusicLayerMT; extern LIBZHL_API const char* NightmareSceneMT; extern LIBZHL_API const char* NullFrameMT; extern LIBZHL_API const char* OptionsMenuMT; @@ -237,8 +238,12 @@ namespace lua { extern LIBZHL_API const char* RoomTransitionMT; extern LIBZHL_API const char* SaveMenuMT; extern LIBZHL_API const char* ScoreSheetMT; + extern LIBZHL_API const char* SFXEntryMT; + extern LIBZHL_API const char* SFXEntrySampleMT; extern LIBZHL_API const char* ShapeMT; extern LIBZHL_API const char* SoundActorMT; + extern LIBZHL_API const char* SoundStreamMT; + extern LIBZHL_API const char* SoundStreamSetMT; extern LIBZHL_API const char* SpecialSeedsMenuMT; extern LIBZHL_API const char* StageTransitionMT; extern LIBZHL_API const char* StatsMenuMT; diff --git a/libzhl/functions/SoundEffects.zhl b/libzhl/functions/SoundEffects.zhl index 4ae728b55..0dbe8461f 100644 --- a/libzhl/functions/SoundEffects.zhl +++ b/libzhl/functions/SoundEffects.zhl @@ -30,6 +30,9 @@ struct SoundEffect depends (SoundEffectSample) { } : 0x1b8; struct SoundEffects depends (SoundEffect) { +{{ + bool LIBZHL_API ValidateSoundID(int id, int& max); +}} vector_SoundEffect _sounds : 0x0; int _count : 0xc; float _volume : 0x10; diff --git a/libzhl/functions/SoundStream.zhl b/libzhl/functions/SoundStream.zhl index 5924f3f1c..db54f041a 100644 --- a/libzhl/functions/SoundStream.zhl +++ b/libzhl/functions/SoundStream.zhl @@ -1,10 +1,10 @@ struct SoundStream depends (SoundActor) { SoundActor _actor : 0x0; - float _unkFloat : 0x18; + float _volumeMod : 0x18; float _volume : 0x1c; float _targetVolume : 0x20; float _fadeRate : 0x24; bool _playing : 0x28; unsigned int _frameCount : 0x2c; - float _volumeRelated : 0x30; + SoundStreamSet* _setRef : 0x30; } : 0x34; \ No newline at end of file diff --git a/repentogon/LuaInterfaces/LuaMusicEntry.cpp b/repentogon/LuaInterfaces/LuaMusicEntry.cpp index dc44e79d6..4dce62666 100644 --- a/repentogon/LuaInterfaces/LuaMusicEntry.cpp +++ b/repentogon/LuaInterfaces/LuaMusicEntry.cpp @@ -12,7 +12,7 @@ LUA_FUNCTION(Lua_MusicManager_GetEntry) return luaL_error(L, "Invalid music ID %d. Min = 0, Max = %d", musicId, max - 1); } - MusicEntry* toLua = music->_entries[musicId]; + MusicEntry* toLua = &music->_entries[musicId]; MusicEntry** luaMusicEntry = (MusicEntry**)lua_newuserdata(L, sizeof(MusicEntry*)); *luaMusicEntry = toLua; luaL_setmetatable(L, lua::metatables::MusicEntryMT); @@ -26,15 +26,123 @@ LUA_FUNCTION(Lua_MusicEntryGetID) return 1; } +LUA_FUNCTION(Lua_MusicEntryGetName) +{ + MusicEntry* entry = *lua::GetUserdata(L, 1, lua::metatables::MusicEntryMT); + lua_pushstring(L, entry->_name.empty() ? "" : entry->_name.c_str()); + return 1; +} + +LUA_FUNCTION(Lua_MusicEntryGetIntroFilename) +{ + MusicEntry* entry = *lua::GetUserdata(L, 1, lua::metatables::MusicEntryMT); + lua_pushstring(L, entry->_introFilename.empty() ? "" : entry->_introFilename.c_str()); + return 1; +} + +LUA_FUNCTION(Lua_MusicEntryGetFilename) +{ + MusicEntry* entry = *lua::GetUserdata(L, 1, lua::metatables::MusicEntryMT); + lua_pushstring(L, entry->_filename.empty() ? "" : entry->_filename.c_str()); + return 1; +} + +LUA_FUNCTION(Lua_MusicEntryGetLoop) +{ + MusicEntry* entry = *lua::GetUserdata(L, 1, lua::metatables::MusicEntryMT); + lua_pushboolean(L, entry->_loop); + return 1; +} + +LUA_FUNCTION(Lua_MusicEntryGetLayerMode) +{ + MusicEntry* entry = *lua::GetUserdata(L, 1, lua::metatables::MusicEntryMT); + lua_pushinteger(L, entry->_layerMode); + return 1; +} + +LUA_FUNCTION(Lua_MusicEntryGetMultiplier) +{ + MusicEntry* entry = *lua::GetUserdata(L, 1, lua::metatables::MusicEntryMT); + lua_pushnumber(L, entry->_multiplier); + return 1; +} + +LUA_FUNCTION(Lua_MusicEntryGetLayerFadeRate) +{ + MusicEntry* entry = *lua::GetUserdata(L, 1, lua::metatables::MusicEntryMT); + lua_pushnumber(L, entry->_layerFadeRate); + return 1; +} + +LUA_FUNCTION(Lua_MusicEntryGetLayerCount) +{ + MusicEntry* entry = *lua::GetUserdata(L, 1, lua::metatables::MusicEntryMT); + lua_pushinteger(L, entry->_numLayers); + return 1; +} + +LUA_FUNCTION(Lua_MusicEntryGetLayer) +{ + MusicEntry* entry = *lua::GetUserdata(L, 1, lua::metatables::MusicEntryMT); + int id = (int)luaL_checkinteger(L, 2); + if (id < 0 || id > entry->_numLayers-1) { + return luaL_error(L, "Invalid layer ID %d. Min = 0, Max = %d", id, entry->_numLayers - 1); + } + MusicLayer* toLua = &entry->_layers[id]; + MusicLayer** luaMusicLayer = (MusicLayer**)lua_newuserdata(L, sizeof(MusicLayer*)); + *luaMusicLayer = toLua; + luaL_setmetatable(L, lua::metatables::MusicLayerMT); + return 1; +} + +LUA_FUNCTION(Lua_MusicLayerGetIntroFilename) +{ + MusicLayer* layer = *lua::GetUserdata(L, 1, lua::metatables::MusicLayerMT); + lua_pushstring(L, layer->_intro.empty() ? "" : layer->_intro.c_str()); + return 1; +} + +LUA_FUNCTION(Lua_MusicLayerGetFilename) +{ + MusicLayer* layer = *lua::GetUserdata(L, 1, lua::metatables::MusicLayerMT); + lua_pushstring(L, layer->_path.empty() ? "" : layer->_path.c_str()); + return 1; +} + +LUA_FUNCTION(Lua_MusicLayerGetMultiplier) +{ + MusicLayer* layer = *lua::GetUserdata(L, 1, lua::metatables::MusicLayerMT); + lua_pushnumber(L, layer->_mul); + return 1; +} + static void RegisterMusicEntry(lua_State* L) { lua::RegisterFunction(L, lua::Metatables::MUSIC_MANAGER, "GetEntry", Lua_MusicManager_GetEntry); - luaL_Reg functions[] = { + luaL_Reg entryFunctions[] = { { "GetId", Lua_MusicEntryGetID}, + { "GetName", Lua_MusicEntryGetID}, + { "GetIntroFilename", Lua_MusicEntryGetIntroFilename}, + { "GetFilename", Lua_MusicEntryGetFilename}, + { "GetLoop", Lua_MusicEntryGetLoop}, + { "GetLayerMode", Lua_MusicEntryGetLayerMode}, + { "GetMultiplier", Lua_MusicEntryGetMultiplier}, + { "GetLayerFadeRate", Lua_MusicEntryGetLayerFadeRate}, + { "GetLayerCount", Lua_MusicEntryGetLayerCount}, + { "GetLayer", Lua_MusicEntryGetLayer}, { NULL, NULL } }; - lua::RegisterNewClass(L, lua::metatables::NullFrameMT, lua::metatables::NullFrameMT, functions); + lua::RegisterNewClass(L, lua::metatables::MusicEntryMT, lua::metatables::MusicEntryMT, entryFunctions); + + luaL_Reg layerFunctions[] = { + { "GetIntroFilename", Lua_MusicLayerGetIntroFilename}, + { "GetFilename", Lua_MusicLayerGetFilename}, + { "GetMultiplier", Lua_MusicLayerGetMultiplier}, + { NULL, NULL } + }; + lua::RegisterNewClass(L, lua::metatables::MusicLayerMT, lua::metatables::MusicLayerMT, layerFunctions); } HOOK_METHOD(LuaEngine, RegisterClasses, () -> void) { diff --git a/repentogon/LuaInterfaces/LuaSFXEntry.cpp b/repentogon/LuaInterfaces/LuaSFXEntry.cpp new file mode 100644 index 000000000..3a4f4df27 --- /dev/null +++ b/repentogon/LuaInterfaces/LuaSFXEntry.cpp @@ -0,0 +1,142 @@ +#include "IsaacRepentance.h" +#include "LuaCore.h" +#include "HookSystem.h" + +LUA_FUNCTION(Lua_SFXManager_GetEntry) +{ + SoundEffects* sound = lua::GetUserdata(L, 1, lua::Metatables::SFX_MANAGER, "SFXManager"); + int soundId = (int)luaL_checkinteger(L, 2); + int max; + + if (!sound->ValidateSoundID(soundId, max)) { + return luaL_error(L, "Invalid sound ID %d. Min = 0, Max = %d", soundId, max - 1); + } + + SoundEffect* toLua = &sound->_sounds[soundId]; + SoundEffect** luaSoundEntry = (SoundEffect**)lua_newuserdata(L, sizeof(SoundEffect*)); + *luaSoundEntry = toLua; + luaL_setmetatable(L, lua::metatables::SFXEntryMT); + return 1; +} + +LUA_FUNCTION(Lua_SFXEntryGetLastFramePlayed) +{ + SoundEffect* entry = *lua::GetUserdata(L, 1, lua::metatables::SFXEntryMT); + lua_pushinteger(L, entry->_framePlayed); + return 1; +} + +LUA_FUNCTION(Lua_SFXEntryGetNextPlayableFrame) +{ + SoundEffect* entry = *lua::GetUserdata(L, 1, lua::metatables::SFXEntryMT); + lua_pushinteger(L, entry->_nextPlayableFrame); + return 1; +} + +LUA_FUNCTION(Lua_SFXEntryGetVolume) +{ + SoundEffect* entry = *lua::GetUserdata(L, 1, lua::metatables::SFXEntryMT); + lua_pushnumber(L, entry->_volume); + return 1; +} + +LUA_FUNCTION(Lua_SFXEntryGetLoaded) +{ + SoundEffect* entry = *lua::GetUserdata(L, 1, lua::metatables::SFXEntryMT); + lua_pushboolean(L, entry->_loaded); + return 1; +} + +LUA_FUNCTION(Lua_SFXEntryGetPreload) +{ + SoundEffect* entry = *lua::GetUserdata(L, 1, lua::metatables::SFXEntryMT); + lua_pushboolean(L, entry->_shouldPreload); + return 1; +} + +LUA_FUNCTION(Lua_SFXEntryGetName) +{ + SoundEffect* entry = *lua::GetUserdata(L, 1, lua::metatables::SFXEntryMT); + lua_pushstring(L, entry->_name.empty() ? "" : entry->_name.c_str()); + return 1; +} + +LUA_FUNCTION(Lua_SFXEntryGetSampleCount) +{ + SoundEffect* entry = *lua::GetUserdata(L, 1, lua::metatables::SFXEntryMT); + lua_pushinteger(L, entry->_sampleCount); + return 1; +} + +LUA_FUNCTION(Lua_SFXEntryGetSample) +{ + SoundEffect* entry = *lua::GetUserdata(L, 1, lua::metatables::SFXEntryMT); + int id = (int)luaL_checkinteger(L, 2); + + if (id < 0 || id > entry->_sampleCount-1) { + return luaL_error(L, "Invalid sample ID %d. Min = 0, Max = %d", id, entry->_sampleCount - 1); + } + + SoundEffectSample* toLua = &entry->_samples[id]; + SoundEffectSample** luaSoundSample = (SoundEffectSample**)lua_newuserdata(L, sizeof(SoundEffectSample*)); + *luaSoundSample = toLua; + luaL_setmetatable(L, lua::metatables::SFXEntrySampleMT); + return 1; +} + +LUA_FUNCTION(Lua_SFXEntrySampleGetFilename) +{ + SoundEffectSample* sample = *lua::GetUserdata(L, 1, lua::metatables::SFXEntrySampleMT); + lua_pushstring(L, sample->_filename.empty() ? "" : sample->_filename.c_str()); + return 1; +} + +LUA_FUNCTION(Lua_SFXEntrySampleGetActor) +{ + SoundEffectSample* sample = *lua::GetUserdata(L, 1, lua::metatables::SFXEntrySampleMT); + SoundActor* toLua = &sample->_actor; + SoundActor** luaSoundActor = (SoundActor**)lua_newuserdata(L, sizeof(SoundActor*)); + *luaSoundActor = toLua; + luaL_setmetatable(L, lua::metatables::SoundActorMT); + return 1; +} + +LUA_FUNCTION(Lua_SFXEntrySampleGetWeight) +{ + SoundEffectSample* sample = *lua::GetUserdata(L, 1, lua::metatables::SFXEntrySampleMT); + lua_pushinteger(L, sample->_weight); + return 1; +} + +static void RegisterSFXEntry(lua_State* L) +{ + lua::RegisterFunction(L, lua::Metatables::SFX_MANAGER, "GetEntry", Lua_SFXManager_GetEntry); + + luaL_Reg entryFunctions[] = { + { "Get", Lua_SFXEntryGetName}, + { "GetLastFramePlayed", Lua_SFXEntryGetLastFramePlayed}, + { "GetNextPlayableFrame", Lua_SFXEntryGetNextPlayableFrame}, + { "GetVolume", Lua_SFXEntryGetVolume}, + { "GetLoaded", Lua_SFXEntryGetLoaded}, + { "GetPreload", Lua_SFXEntryGetPreload}, + { "GetSampleCount", Lua_SFXEntryGetSampleCount}, + { "GetSample", Lua_SFXEntryGetSample}, + { NULL, NULL } + }; + lua::RegisterNewClass(L, lua::metatables::SFXEntryMT, lua::metatables::SFXEntryMT, entryFunctions); + + luaL_Reg sampleFunctions[] = { + { "GetFilename", Lua_SFXEntrySampleGetFilename}, + { "GetActor", Lua_SFXEntrySampleGetActor}, + { "GetWeight", Lua_SFXEntrySampleGetWeight}, + { NULL, NULL } + }; + lua::RegisterNewClass(L, lua::metatables::SFXEntrySampleMT, lua::metatables::SFXEntrySampleMT, sampleFunctions); +} + +HOOK_METHOD(LuaEngine, RegisterClasses, () -> void) { + super(); + + lua::LuaStackProtector protector(_state); + RegisterSFXEntry(_state); +} \ No newline at end of file diff --git a/repentogon/LuaInterfaces/LuaSoundStream.cpp b/repentogon/LuaInterfaces/LuaSoundStream.cpp new file mode 100644 index 000000000..b7d06ed44 --- /dev/null +++ b/repentogon/LuaInterfaces/LuaSoundStream.cpp @@ -0,0 +1,77 @@ +#include "IsaacRepentance.h" +#include "LuaCore.h" +#include "HookSystem.h" + +LUA_FUNCTION(Lua_SoundStreamGetActor) +{ + SoundStream* stream = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamMT); + SoundActor* toLua = &stream->_actor; + SoundActor** luaSoundActor = (SoundActor**)lua_newuserdata(L, sizeof(SoundActor*)); + *luaSoundActor = toLua; + luaL_setmetatable(L, lua::metatables::SoundActorMT); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamGetVolume) +{ + SoundStream* stream = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamMT); + lua_pushnumber(L, stream->_volume); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamGetTargetVolume) +{ + SoundStream* stream = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamMT); + lua_pushnumber(L, stream->_targetVolume); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamGetVolumeModifier) +{ + SoundStream* stream = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamMT); + lua_pushnumber(L, stream->_volumeMod); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamGetFadeRate) +{ + SoundStream* stream = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamMT); + lua_pushnumber(L, stream->_volume); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamIsPlaying) +{ + SoundStream* stream = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamMT); + lua_pushboolean(L, stream->_playing); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamGetFrameCount) +{ + SoundStream* stream = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamMT); + lua_pushinteger(L, stream->_frameCount); + return 1; +} + +static void RegisterSoundStreamSet(lua_State* L) +{ + luaL_Reg functions[] = { + { "GetActor", Lua_SoundStreamGetActor}, + { "GetVolume", Lua_SoundStreamGetVolume}, + { "GetTargetVolume", Lua_SoundStreamGetTargetVolume}, + { "GetVolumeModifier", Lua_SoundStreamGetVolumeModifier}, + { "GetFadeRate", Lua_SoundStreamGetFadeRate}, + { "IsPlaying", Lua_SoundStreamIsPlaying}, + { "GetFrameCount", Lua_SoundStreamGetFrameCount}, + { NULL, NULL } + }; + lua::RegisterNewClass(L, lua::metatables::SoundStreamSetMT, lua::metatables::SoundStreamSetMT, functions); +} + +HOOK_METHOD(LuaEngine, RegisterClasses, () -> void) { + super(); + + lua::LuaStackProtector protector(_state); + RegisterSoundStreamSet(_state); +} \ No newline at end of file diff --git a/repentogon/LuaInterfaces/LuaSoundStreamSet.cpp b/repentogon/LuaInterfaces/LuaSoundStreamSet.cpp new file mode 100644 index 000000000..9c9d09019 --- /dev/null +++ b/repentogon/LuaInterfaces/LuaSoundStreamSet.cpp @@ -0,0 +1,131 @@ +#include "IsaacRepentance.h" +#include "LuaCore.h" +#include "HookSystem.h" + +LUA_FUNCTION(Lua_MusicManager_GetCurrentStreamSetId) +{ + Music* music = lua::GetUserdata(L, 1, lua::Metatables::MUSIC_MANAGER, "MusicManager"); + lua_pushinteger(L, music->_currentStream); + return 1; +} + +LUA_FUNCTION(Lua_MusicManager_GetCurrentStreamSet) +{ + Music* music = lua::GetUserdata(L, 1, lua::Metatables::MUSIC_MANAGER, "MusicManager"); + SoundStreamSet* toLua = &music->_streamSets[music->_currentStream]; + SoundStreamSet** luaStreamSet = (SoundStreamSet**)lua_newuserdata(L, sizeof(SoundStreamSet*)); + *luaStreamSet = toLua; + luaL_setmetatable(L, lua::metatables::SoundStreamSetMT); + return 1; +} + +LUA_FUNCTION(Lua_MusicManager_GetStreamSet) +{ + Music* music = lua::GetUserdata(L, 1, lua::Metatables::MUSIC_MANAGER, "MusicManager"); + int setId = (int)luaL_checkinteger(L, 2); + + if (setId < 0 || setId > 1) { + return luaL_error(L, "Invalid set ID %d. Min = 0, Max = 1", setId); + } + + SoundStreamSet* toLua = &music->_streamSets[setId]; + SoundStreamSet** luaStreamSet = (SoundStreamSet**)lua_newuserdata(L, sizeof(SoundStreamSet*)); + *luaStreamSet = toLua; + luaL_setmetatable(L, lua::metatables::SoundStreamSetMT); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamSetGetPrimaryStream) +{ + SoundStreamSet* set = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamSetMT); + SoundStream* toLua = &set->_stream; + SoundStream** luaStream = (SoundStream**)lua_newuserdata(L, sizeof(SoundStream*)); + *luaStream = toLua; + luaL_setmetatable(L, lua::metatables::SoundStreamMT); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamSetGetLayerStream) +{ + SoundStreamSet* set = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamSetMT); + int streamId = (int)luaL_checkinteger(L, 2); + + if (streamId < 0 || streamId > 1) { + return luaL_error(L, "Invalid music ID %d. Min = 0, Max = 1", streamId); + } + + SoundStream* toLua = &set->_stream; + SoundStream** luaStream = (SoundStream**)lua_newuserdata(L, sizeof(SoundStream*)); + *luaStream = toLua; + luaL_setmetatable(L, lua::metatables::SoundStreamMT); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamSetGetActiveLayers) +{ + SoundStreamSet* set = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamSetMT); + lua_pushinteger(L, set->_layerBitfield); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamSetGetVolumeMode) +{ + SoundStreamSet* set = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamSetMT); + lua_pushinteger(L, set->_volumeMode); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamSetGetVolume) +{ + SoundStreamSet* set = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamSetMT); + lua_pushnumber(L, set->_volume); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamSetGetTargetVolume) +{ + SoundStreamSet* set = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamSetMT); + lua_pushnumber(L, set->_targetVolume); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamSetGetFadeRate) +{ + SoundStreamSet* set = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamSetMT); + lua_pushnumber(L, set->_fadeRate); + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamSetIsPlaying) +{ + SoundStreamSet* set = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamSetMT); + lua_pushboolean(L, set->_playing); + return 1; +} + +static void RegisterSoundStreamSet(lua_State* L) +{ + lua::RegisterFunction(L, lua::Metatables::MUSIC_MANAGER, "GetStreamSet", Lua_MusicManager_GetStreamSet); + lua::RegisterFunction(L, lua::Metatables::MUSIC_MANAGER, "GetCurrentStreamSet", Lua_MusicManager_GetCurrentStreamSet); + lua::RegisterFunction(L, lua::Metatables::MUSIC_MANAGER, "GetCurrentStreamSetId", Lua_MusicManager_GetCurrentStreamSetId); + + luaL_Reg functions[] = { + { "GetPrimaryStream", Lua_SoundStreamSetGetPrimaryStream}, + { "GetLayerStream", Lua_SoundStreamSetGetLayerStream}, + { "GetActiveLayers", Lua_SoundStreamSetGetActiveLayers}, + { "GetVolumeMode", Lua_SoundStreamSetGetVolumeMode}, + { "GetVolume", Lua_SoundStreamSetGetVolume}, + { "GetTargetVolume", Lua_SoundStreamSetGetTargetVolume}, + { "GetFadeRate", Lua_SoundStreamSetGetFadeRate}, + { "IsPlaying", Lua_SoundStreamSetIsPlaying}, + { NULL, NULL } + }; + lua::RegisterNewClass(L, lua::metatables::SoundStreamSetMT, lua::metatables::SoundStreamSetMT, functions); +} + +HOOK_METHOD(LuaEngine, RegisterClasses, () -> void) { + super(); + + lua::LuaStackProtector protector(_state); + RegisterSoundStreamSet(_state); +} \ No newline at end of file From 900e68e18145f9c6d6a01b8ba62890b8adc468bb Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Mon, 15 Jul 2024 04:07:52 -0700 Subject: [PATCH 15/20] fix SoundStream metatable --- repentogon/LuaInterfaces/LuaSoundStream.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/repentogon/LuaInterfaces/LuaSoundStream.cpp b/repentogon/LuaInterfaces/LuaSoundStream.cpp index b7d06ed44..d6ca4091c 100644 --- a/repentogon/LuaInterfaces/LuaSoundStream.cpp +++ b/repentogon/LuaInterfaces/LuaSoundStream.cpp @@ -54,7 +54,7 @@ LUA_FUNCTION(Lua_SoundStreamGetFrameCount) return 1; } -static void RegisterSoundStreamSet(lua_State* L) +static void RegisterSoundStream(lua_State* L) { luaL_Reg functions[] = { { "GetActor", Lua_SoundStreamGetActor}, @@ -66,12 +66,12 @@ static void RegisterSoundStreamSet(lua_State* L) { "GetFrameCount", Lua_SoundStreamGetFrameCount}, { NULL, NULL } }; - lua::RegisterNewClass(L, lua::metatables::SoundStreamSetMT, lua::metatables::SoundStreamSetMT, functions); + lua::RegisterNewClass(L, lua::metatables::SoundStreamMT, lua::metatables::SoundStreamMT, functions); } HOOK_METHOD(LuaEngine, RegisterClasses, () -> void) { super(); lua::LuaStackProtector protector(_state); - RegisterSoundStreamSet(_state); + RegisterSoundStream(_state); } \ No newline at end of file From c1c5dc74a29a0f4c06f147ded2f18f0e0273e5e4 Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Mon, 15 Jul 2024 21:22:34 -0700 Subject: [PATCH 16/20] crashing and i can't tell why, oops --- libzhl/functions/SampleSourceBase.zhl | 2 +- libzhl/functions/SoundSourceBase.zhl | 2 +- libzhl/functions/SoundSourcePlatformBase.zhl | 2 +- libzhl/functions/StreamSourceBase.zhl | 2 +- libzhl/functions/StreamSourcePlatformBase.zhl | 2 +- repentogon/LuaInterfaces/LuaSoundActor.cpp | 100 +++++++++++++----- 6 files changed, 81 insertions(+), 29 deletions(-) diff --git a/libzhl/functions/SampleSourceBase.zhl b/libzhl/functions/SampleSourceBase.zhl index 5eb52e119..b0f4c399f 100644 --- a/libzhl/functions/SampleSourceBase.zhl +++ b/libzhl/functions/SampleSourceBase.zhl @@ -31,7 +31,7 @@ struct SampleSourceBase : public SoundSourcePlatformBase { override "558bec568bf18b06ff50??ff75": - void Play(void * param_1); + void Play(bool unk); skip; // Pause skip; // Resume diff --git a/libzhl/functions/SoundSourceBase.zhl b/libzhl/functions/SoundSourceBase.zhl index b611a4bda..719bcc5a3 100644 --- a/libzhl/functions/SoundSourceBase.zhl +++ b/libzhl/functions/SoundSourceBase.zhl @@ -34,7 +34,7 @@ struct SoundSourceBase { bool IsOpen(); pure - void Play(void * param_1); + void Play(bool unk); pure void Pause(); diff --git a/libzhl/functions/SoundSourcePlatformBase.zhl b/libzhl/functions/SoundSourcePlatformBase.zhl index 437e13151..23ae37b0c 100644 --- a/libzhl/functions/SoundSourcePlatformBase.zhl +++ b/libzhl/functions/SoundSourcePlatformBase.zhl @@ -20,7 +20,7 @@ struct SoundSourcePlatformBase : public SoundSourceBase { override "558bec83ec08578bf9": - void Play(void * param_1); + void Play(bool unk); override "568bf1837e??0074??8b068b40??ffd084c074??ff76??ff15????????83c404ff15????????85c074??5068????????6a02e8????????83c40c5ec3????????56": diff --git a/libzhl/functions/StreamSourceBase.zhl b/libzhl/functions/StreamSourceBase.zhl index df82bcc1b..8481fc571 100644 --- a/libzhl/functions/StreamSourceBase.zhl +++ b/libzhl/functions/StreamSourceBase.zhl @@ -31,7 +31,7 @@ struct StreamSourceBase : public SoundSourcePlatformBase { override "558bec51568bf18b068b40??ffd084c00f85": - void Play(void * unk); + void Play(bool unk); skip; // Pause skip; // Resume diff --git a/libzhl/functions/StreamSourcePlatformBase.zhl b/libzhl/functions/StreamSourcePlatformBase.zhl index f2882ba19..3193d0dd1 100644 --- a/libzhl/functions/StreamSourcePlatformBase.zhl +++ b/libzhl/functions/StreamSourcePlatformBase.zhl @@ -28,7 +28,7 @@ struct StreamSourcePlatformBase : public StreamSourceBase { override "568bf1837e??0074??8b068b40??ffd084c075??a1": - void Play(void * unk); + void Play(bool unk); skip; // Pause skip; // Resume diff --git a/repentogon/LuaInterfaces/LuaSoundActor.cpp b/repentogon/LuaInterfaces/LuaSoundActor.cpp index 37f504878..fc75da9ed 100644 --- a/repentogon/LuaInterfaces/LuaSoundActor.cpp +++ b/repentogon/LuaInterfaces/LuaSoundActor.cpp @@ -2,97 +2,149 @@ #include "LuaCore.h" #include "HookSystem.h" +bool IsSourceOpen(SoundActor* actor) { + return (actor->_source != nullptr && actor->_source->IsOpen()); +} + LUA_FUNCTION(Lua_SoundActorPlay) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); - char* unk; - actor->_source->Play(unk); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + if (IsSourceOpen(actor)) + { + actor->_source->Play(true); + } + else + return luaL_error(L, "SoundSource is not open!"); return 0; } LUA_FUNCTION(Lua_SoundActorPause) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); - actor->_source->Pause(); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + if (IsSourceOpen(actor)) + { + actor->_source->Pause(); + actor->_paused = true; + actor->_playing = false; + } + else + return luaL_error(L, "SoundSource is not open!"); return 0; } LUA_FUNCTION(Lua_SoundActorResume) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); - actor->_source->Resume(); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + if (IsSourceOpen(actor)) + { + actor->_source->Resume(); + actor->_paused = false; + actor->_playing = true; + } + else + return luaL_error(L, "SoundSource is not open!"); return 0; } LUA_FUNCTION(Lua_SoundActorStop) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + if (actor->_source == nullptr) + return luaL_error(L, "SoundSource is uninitialized!"); actor->_source->Stop(); + actor->_playing = false; return 0; } LUA_FUNCTION(Lua_SoundActorGetPitch) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + if (actor->_source == nullptr) + return luaL_error(L, "SoundSource is uninitialized!"); lua_pushnumber(L, actor->_source->GetPitch()); return 1; } LUA_FUNCTION(Lua_SoundActorSetPitch) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); float pitch = luaL_checknumber(L, 2); - actor->_source->SetPitch(pitch); + if (IsSourceOpen(actor)) + actor->_source->SetPitch(pitch); + else + return luaL_error(L, "SoundSource is not open!"); return 0; } LUA_FUNCTION(Lua_SoundActorGetPan) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + if (actor->_source == nullptr) + return luaL_error(L, "SoundSource is uninitialized!"); lua_pushnumber(L, actor->_source->GetPan()); return 1; } LUA_FUNCTION(Lua_SoundActorSetPan) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); float pan = luaL_checknumber(L, 2); - actor->_source->SetPan(pan); + if (IsSourceOpen(actor)) + actor->_source->SetPan(pan); + else + return luaL_error(L, "SoundSource is not open!"); return 0; } LUA_FUNCTION(Lua_SoundActorGetVolume) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); - lua_pushnumber(L, actor->_source->GetVolume()); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + if (IsSourceOpen(actor)) + lua_pushnumber(L, actor->_source->GetVolume()); + else + return luaL_error(L, "SoundSource is not open!"); return 1; } LUA_FUNCTION(Lua_SoundActorSetVolume) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); float volume = luaL_checknumber(L, 2); - actor->_source->SetVolume(volume); + if (IsSourceOpen(actor)) + actor->_source->SetVolume(volume); + else + return luaL_error(L, "SoundSource is not open!"); return 0; } LUA_FUNCTION(Lua_SoundActorGetLooping) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + if (actor->_source == nullptr) + return luaL_error(L, "SoundSource is uninitialized!"); lua_pushboolean(L, actor->_source->IsLooping()); return 1; } LUA_FUNCTION(Lua_SoundActorSetLooping) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); bool loop = lua::luaL_checkboolean(L, 2); - actor->_source->SetLooping(loop); + if (IsSourceOpen(actor)) + actor->_source->SetLooping(loop); + else + return luaL_error(L, "SoundSource is not open!"); return 0; } LUA_FUNCTION(Lua_SoundActorGetNumChannels) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + if (actor->_source == nullptr) + return luaL_error(L, "SoundSource is uninitialized!"); lua_pushinteger(L, actor->_source->GetNumChannels()); return 1; } LUA_FUNCTION(Lua_SoundActorGetSampleRate) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + if (actor->_source == nullptr) + return luaL_error(L, "SoundSource is uninitialized!"); lua_pushinteger(L, actor->_source->GetSampleRate()); return 1; } LUA_FUNCTION(Lua_SoundActorGetSourceFormat) { - SoundActor* actor = lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + SoundActor* actor = *lua::GetUserdata(L, 1, lua::metatables::SoundActorMT); + if (actor->_source == nullptr) + return luaL_error(L, "SoundSource is uninitialized!"); lua_pushinteger(L, actor->_source->GetSourceFormat()); return 1; } From 940f99c45a03213acea78fde7f13e2f6c8c05955 Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Tue, 16 Jul 2024 18:42:08 -0700 Subject: [PATCH 17/20] log address when using SoundStream:GetActor() --- repentogon/LuaInterfaces/LuaSoundStream.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/repentogon/LuaInterfaces/LuaSoundStream.cpp b/repentogon/LuaInterfaces/LuaSoundStream.cpp index d6ca4091c..38972ef4e 100644 --- a/repentogon/LuaInterfaces/LuaSoundStream.cpp +++ b/repentogon/LuaInterfaces/LuaSoundStream.cpp @@ -1,11 +1,16 @@ #include "IsaacRepentance.h" #include "LuaCore.h" #include "HookSystem.h" +#include "Log.h" LUA_FUNCTION(Lua_SoundStreamGetActor) { SoundStream* stream = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamMT); SoundActor* toLua = &stream->_actor; + + ZHL::Logger logger(true); + logger.Log("getting actor at addr %d\n", &stream->_actor); + SoundActor** luaSoundActor = (SoundActor**)lua_newuserdata(L, sizeof(SoundActor*)); *luaSoundActor = toLua; luaL_setmetatable(L, lua::metatables::SoundActorMT); From c637bef9b436637f3e9c1b1d6ca8c6660d085111 Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Sat, 9 Nov 2024 07:39:58 -0800 Subject: [PATCH 18/20] disable lua sound actor binders don't work --- repentogon/LuaInterfaces/LuaSoundActor.cpp | 9 ++++++++- repentogon/LuaInterfaces/LuaSoundStream.cpp | 5 ++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/repentogon/LuaInterfaces/LuaSoundActor.cpp b/repentogon/LuaInterfaces/LuaSoundActor.cpp index fc75da9ed..a83348449 100644 --- a/repentogon/LuaInterfaces/LuaSoundActor.cpp +++ b/repentogon/LuaInterfaces/LuaSoundActor.cpp @@ -1,3 +1,9 @@ +/* +// This currently goes unused because I can't figure out +// why these virtual function calls either don't work or crash outright. +*/ + +/* #include "IsaacRepentance.h" #include "LuaCore.h" #include "HookSystem.h" @@ -173,4 +179,5 @@ HOOK_METHOD(LuaEngine, RegisterClasses, () -> void) { lua::LuaStackProtector protector(_state); RegisterSoundActor(_state); -} \ No newline at end of file +} +*/ \ No newline at end of file diff --git a/repentogon/LuaInterfaces/LuaSoundStream.cpp b/repentogon/LuaInterfaces/LuaSoundStream.cpp index 38972ef4e..f88275be1 100644 --- a/repentogon/LuaInterfaces/LuaSoundStream.cpp +++ b/repentogon/LuaInterfaces/LuaSoundStream.cpp @@ -3,6 +3,8 @@ #include "HookSystem.h" #include "Log.h" +// Lua_SoundActor currently disabled +/* LUA_FUNCTION(Lua_SoundStreamGetActor) { SoundStream* stream = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamMT); @@ -16,6 +18,7 @@ LUA_FUNCTION(Lua_SoundStreamGetActor) luaL_setmetatable(L, lua::metatables::SoundActorMT); return 1; } +*/ LUA_FUNCTION(Lua_SoundStreamGetVolume) { @@ -62,7 +65,7 @@ LUA_FUNCTION(Lua_SoundStreamGetFrameCount) static void RegisterSoundStream(lua_State* L) { luaL_Reg functions[] = { - { "GetActor", Lua_SoundStreamGetActor}, + //{ "GetActor", Lua_SoundStreamGetActor}, { "GetVolume", Lua_SoundStreamGetVolume}, { "GetTargetVolume", Lua_SoundStreamGetTargetVolume}, { "GetVolumeModifier", Lua_SoundStreamGetVolumeModifier}, From 3ed9cd1f499167e25c62c5606226b5b519a33fb7 Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Sat, 9 Nov 2024 21:21:29 -0800 Subject: [PATCH 19/20] SoundStreamSet:[Get/Set]TargetVolumeMultiplier allows finer grain control over volume mixing --- libzhl/functions/SoundStream.zhl | 4 + libzhl/functions/SoundStreamSet.zhl | 6 +- repentogon/LuaInterfaces/LuaMusicManager.cpp | 2 +- .../LuaInterfaces/LuaSoundStreamSet.cpp | 77 +++++++++++++++---- 4 files changed, 69 insertions(+), 20 deletions(-) diff --git a/libzhl/functions/SoundStream.zhl b/libzhl/functions/SoundStream.zhl index db54f041a..945c8d85f 100644 --- a/libzhl/functions/SoundStream.zhl +++ b/libzhl/functions/SoundStream.zhl @@ -1,3 +1,6 @@ +"538bdc83ec0883e4f883c404558b6b??896c24??8bec83ec0cf30f1005": +__thiscall void SoundStream::Update(bool checkIfPlaying); + struct SoundStream depends (SoundActor) { SoundActor _actor : 0x0; float _volumeMod : 0x18; @@ -5,6 +8,7 @@ struct SoundStream depends (SoundActor) { float _targetVolume : 0x20; float _fadeRate : 0x24; bool _playing : 0x28; + uint8_t _unused : 0x2b; unsigned int _frameCount : 0x2c; SoundStreamSet* _setRef : 0x30; } : 0x34; \ No newline at end of file diff --git a/libzhl/functions/SoundStreamSet.zhl b/libzhl/functions/SoundStreamSet.zhl index c796c7ecb..e79e351ea 100644 --- a/libzhl/functions/SoundStreamSet.zhl +++ b/libzhl/functions/SoundStreamSet.zhl @@ -1,6 +1,8 @@ +"558bec6aff68????????64a1????????5083ec0856a1????????33c5508d45??64a3????????8bf18975??e8": +__thiscall SoundStreamSet * SoundStreamSet::game_constructor(); + struct SoundStreamSet depends (SoundStream) { - SoundStream _stream : 0x0; - SoundStream _streamArray[6] : 0x34; + SoundStream _streams[7] : 0x0; unsigned int _layerBitfield : 0x16c; int _volumeMode : 0x170; float _volume : 0x174; diff --git a/repentogon/LuaInterfaces/LuaMusicManager.cpp b/repentogon/LuaInterfaces/LuaMusicManager.cpp index 6395fcf83..e530e8441 100644 --- a/repentogon/LuaInterfaces/LuaMusicManager.cpp +++ b/repentogon/LuaInterfaces/LuaMusicManager.cpp @@ -94,4 +94,4 @@ HOOK_METHOD(LuaEngine, RegisterClasses, () -> void) { lua::RegisterFunction(_state, lua::Metatables::MUSIC_MANAGER, "StopJingle", Lua_MusicManager_StopJingle); lua::RegisterFunction(_state, lua::Metatables::MUSIC_MANAGER, "GetCurrentPitch", Lua_MusicManager_GetCurrentPitch); lua::RegisterFunction(_state, lua::Metatables::MUSIC_MANAGER, "SetCurrentPitch", Lua_MusicManager_SetCurrentPitch); -} +} \ No newline at end of file diff --git a/repentogon/LuaInterfaces/LuaSoundStreamSet.cpp b/repentogon/LuaInterfaces/LuaSoundStreamSet.cpp index 9c9d09019..29ad759dd 100644 --- a/repentogon/LuaInterfaces/LuaSoundStreamSet.cpp +++ b/repentogon/LuaInterfaces/LuaSoundStreamSet.cpp @@ -2,6 +2,29 @@ #include "LuaCore.h" #include "HookSystem.h" +float musicVolumes[7] = { 1, 1, 1, 1, 1, 1, 1 }; + +HOOK_METHOD(SoundStreamSet, game_constructor, () -> SoundStreamSet*) { + SoundStreamSet* set = super(); + + for (size_t i = 0; i < 7; i++) { + set->_streams[i]._unused = (uint8_t)i; + } + + return set; +} + +HOOK_METHOD(SoundStream, Update, (bool checkIfPlaying) -> void) { + // exclude jingle stream + if (this->_setRef) { + // main stream target volume isn't constantly recalculated like layers are + float target = this->_unused == 0 ? g_Manager->GetOptions()->_musicVolume : this->_targetVolume; + this->_targetVolume = target * musicVolumes[this->_unused]; + } + + super(checkIfPlaying); +} + LUA_FUNCTION(Lua_MusicManager_GetCurrentStreamSetId) { Music* music = lua::GetUserdata(L, 1, lua::Metatables::MUSIC_MANAGER, "MusicManager"); @@ -35,26 +58,16 @@ LUA_FUNCTION(Lua_MusicManager_GetStreamSet) return 1; } -LUA_FUNCTION(Lua_SoundStreamSetGetPrimaryStream) -{ - SoundStreamSet* set = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamSetMT); - SoundStream* toLua = &set->_stream; - SoundStream** luaStream = (SoundStream**)lua_newuserdata(L, sizeof(SoundStream*)); - *luaStream = toLua; - luaL_setmetatable(L, lua::metatables::SoundStreamMT); - return 1; -} - -LUA_FUNCTION(Lua_SoundStreamSetGetLayerStream) +LUA_FUNCTION(Lua_SoundStreamSetGetStream) { SoundStreamSet* set = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamSetMT); int streamId = (int)luaL_checkinteger(L, 2); - if (streamId < 0 || streamId > 1) { - return luaL_error(L, "Invalid music ID %d. Min = 0, Max = 1", streamId); + if (streamId < 0 || streamId > 6) { + return luaL_error(L, "Invalid music ID %d. Min = 0, Max = 6", streamId); } - SoundStream* toLua = &set->_stream; + SoundStream* toLua = &set->_streams[streamId]; SoundStream** luaStream = (SoundStream**)lua_newuserdata(L, sizeof(SoundStream*)); *luaStream = toLua; luaL_setmetatable(L, lua::metatables::SoundStreamMT); @@ -103,6 +116,35 @@ LUA_FUNCTION(Lua_SoundStreamSetIsPlaying) return 1; } +LUA_FUNCTION(Lua_SoundStreamSetGetTargetVolumeMultiplier) +{ + SoundStreamSet* set = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamSetMT); + + int streamId = (int)luaL_checkinteger(L, 2); + + if (streamId < 0 || streamId > 6) { + return luaL_error(L, "Invalid music ID %d. Min = 0, Max = 6", streamId); + } + lua_pushnumber(L, musicVolumes[streamId]); + + return 1; +} + +LUA_FUNCTION(Lua_SoundStreamSetSetTargetVolumeMultiplier) +{ + SoundStreamSet* set = *lua::GetUserdata(L, 1, lua::metatables::SoundStreamSetMT); + + int streamId = (int)luaL_checkinteger(L, 2); + + if (streamId < 0 || streamId > 6) { + return luaL_error(L, "Invalid music ID %d. Min = 0, Max = 6", streamId); + } + + musicVolumes[streamId] = luaL_checknumber(L, 3); + + return 0; +} + static void RegisterSoundStreamSet(lua_State* L) { lua::RegisterFunction(L, lua::Metatables::MUSIC_MANAGER, "GetStreamSet", Lua_MusicManager_GetStreamSet); @@ -110,14 +152,15 @@ static void RegisterSoundStreamSet(lua_State* L) lua::RegisterFunction(L, lua::Metatables::MUSIC_MANAGER, "GetCurrentStreamSetId", Lua_MusicManager_GetCurrentStreamSetId); luaL_Reg functions[] = { - { "GetPrimaryStream", Lua_SoundStreamSetGetPrimaryStream}, - { "GetLayerStream", Lua_SoundStreamSetGetLayerStream}, + { "GetStream", Lua_SoundStreamSetGetStream}, { "GetActiveLayers", Lua_SoundStreamSetGetActiveLayers}, - { "GetVolumeMode", Lua_SoundStreamSetGetVolumeMode}, + { "GetLayerMode", Lua_SoundStreamSetGetVolumeMode}, { "GetVolume", Lua_SoundStreamSetGetVolume}, { "GetTargetVolume", Lua_SoundStreamSetGetTargetVolume}, { "GetFadeRate", Lua_SoundStreamSetGetFadeRate}, { "IsPlaying", Lua_SoundStreamSetIsPlaying}, + { "GetTargetVolumeMultiplier", Lua_SoundStreamSetGetTargetVolumeMultiplier}, + { "SetTargetVolumeMultiplier", Lua_SoundStreamSetSetTargetVolumeMultiplier}, { NULL, NULL } }; lua::RegisterNewClass(L, lua::metatables::SoundStreamSetMT, lua::metatables::SoundStreamSetMT, functions); From 0346f2426a1b3703e3e01e95645ea2153c7fdd8b Mon Sep 17 00:00:00 2001 From: namishere <50415197+namishere@users.noreply.github.com> Date: Sat, 9 Nov 2024 22:39:09 -0800 Subject: [PATCH 20/20] TargetVolumeMultiplier resets on playing song --- libzhl/functions/SoundStream.zhl | 2 +- libzhl/functions/SoundStreamSet.zhl | 4 ++++ .../LuaInterfaces/LuaSoundStreamSet.cpp | 24 ++++++++++++++----- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/libzhl/functions/SoundStream.zhl b/libzhl/functions/SoundStream.zhl index 945c8d85f..1f4f0e9ce 100644 --- a/libzhl/functions/SoundStream.zhl +++ b/libzhl/functions/SoundStream.zhl @@ -8,7 +8,7 @@ struct SoundStream depends (SoundActor) { float _targetVolume : 0x20; float _fadeRate : 0x24; bool _playing : 0x28; - uint8_t _unused : 0x2b; + uint8_t _HIJACK_id : 0x2b; unsigned int _frameCount : 0x2c; SoundStreamSet* _setRef : 0x30; } : 0x34; \ No newline at end of file diff --git a/libzhl/functions/SoundStreamSet.zhl b/libzhl/functions/SoundStreamSet.zhl index e79e351ea..56366537b 100644 --- a/libzhl/functions/SoundStreamSet.zhl +++ b/libzhl/functions/SoundStreamSet.zhl @@ -1,6 +1,9 @@ "558bec6aff68????????64a1????????5083ec0856a1????????33c5508d45??64a3????????8bf18975??e8": __thiscall SoundStreamSet * SoundStreamSet::game_constructor(); +"538bd956578b0b": +__thiscall void SoundStreamSet::Play(); + struct SoundStreamSet depends (SoundStream) { SoundStream _streams[7] : 0x0; unsigned int _layerBitfield : 0x16c; @@ -9,4 +12,5 @@ struct SoundStreamSet depends (SoundStream) { float _targetVolume : 0x178; float _fadeRate : 0x17c; bool _playing : 0x180; + uint8_t _HIJACK_id : 0x183; } : 0x184; \ No newline at end of file diff --git a/repentogon/LuaInterfaces/LuaSoundStreamSet.cpp b/repentogon/LuaInterfaces/LuaSoundStreamSet.cpp index 29ad759dd..902aec6a0 100644 --- a/repentogon/LuaInterfaces/LuaSoundStreamSet.cpp +++ b/repentogon/LuaInterfaces/LuaSoundStreamSet.cpp @@ -2,24 +2,36 @@ #include "LuaCore.h" #include "HookSystem.h" -float musicVolumes[7] = { 1, 1, 1, 1, 1, 1, 1 }; +float musicVolumes[2][7] = { { 1, 1, 1, 1, 1, 1, 1 }, { 1, 1, 1, 1, 1, 1, 1 } }; HOOK_METHOD(SoundStreamSet, game_constructor, () -> SoundStreamSet*) { SoundStreamSet* set = super(); for (size_t i = 0; i < 7; i++) { - set->_streams[i]._unused = (uint8_t)i; + set->_streams[i]._HIJACK_id = (uint8_t)i; } + set->_HIJACK_id = this == &g_Manager->_musicmanager._streamSets[1] ? 1 : 0; + return set; } +HOOK_METHOD(SoundStreamSet, Play, () -> void) { + // get opposite stream id + int target = g_Manager->_musicmanager._currentStream ^ 1; + for (int i = 0; i < 7; i++) { + musicVolumes[target][i] = 1.f; + } + + super(); +} + HOOK_METHOD(SoundStream, Update, (bool checkIfPlaying) -> void) { // exclude jingle stream if (this->_setRef) { // main stream target volume isn't constantly recalculated like layers are - float target = this->_unused == 0 ? g_Manager->GetOptions()->_musicVolume : this->_targetVolume; - this->_targetVolume = target * musicVolumes[this->_unused]; + float target = this->_HIJACK_id == 0 ? 1 : this->_targetVolume; + this->_targetVolume = target * musicVolumes[this->_setRef->_HIJACK_id][this->_HIJACK_id]; } super(checkIfPlaying); @@ -125,7 +137,7 @@ LUA_FUNCTION(Lua_SoundStreamSetGetTargetVolumeMultiplier) if (streamId < 0 || streamId > 6) { return luaL_error(L, "Invalid music ID %d. Min = 0, Max = 6", streamId); } - lua_pushnumber(L, musicVolumes[streamId]); + lua_pushnumber(L, musicVolumes[g_Manager->_musicmanager._currentStream][streamId]); return 1; } @@ -140,7 +152,7 @@ LUA_FUNCTION(Lua_SoundStreamSetSetTargetVolumeMultiplier) return luaL_error(L, "Invalid music ID %d. Min = 0, Max = 6", streamId); } - musicVolumes[streamId] = luaL_checknumber(L, 3); + musicVolumes[g_Manager->_musicmanager._currentStream][streamId] = (float)luaL_checknumber(L, 3); return 0; }