From fb6bcfa2396e6fe80adcc411a3af273a08aea6c5 Mon Sep 17 00:00:00 2001 From: Razor12911 Date: Tue, 12 Jul 2022 05:19:10 +0200 Subject: [PATCH] update to 0.6.1 --- changes.txt | 11 +- common/Utils.pas | 39 +++++ imports/FLZMA2DLL.pas | 312 +++++++++++++++++++++++++++++++++ imports/LZMADLL.pas | 28 --- imports/XDeltaDLL.pas | 6 +- imports/ZSTDDLL.pas | 28 ++- precompressor/PrecompLZ4.pas | 31 +++- precompressor/PrecompLZO.pas | 24 ++- precompressor/PrecompMain.pas | 78 ++++++--- precompressor/PrecompMedia.pas | 6 +- precompressor/PrecompOodle.pas | 22 ++- precompressor/PrecompUtils.pas | 1 + precompressor/PrecompZSTD.pas | 35 ++-- xtool.dpr | 4 +- xtool.dproj | 16 +- xtool.dres | Bin 237712 -> 320648 bytes xtoolResource.rc | 4 +- 17 files changed, 539 insertions(+), 106 deletions(-) create mode 100644 imports/FLZMA2DLL.pas delete mode 100644 imports/LZMADLL.pas diff --git a/changes.txt b/changes.txt index c04878d..a340325 100644 --- a/changes.txt +++ b/changes.txt @@ -1,11 +1,16 @@ + ES_R37 (0.6.2) + - added feature to inject libraries to main executable + + ES_R36 (0.6.1) + - added fast lzma2 compression for portable mode + - fixed minor issue with stream deduplication feature + ES_R35 (0.6.0) - added wav stream detector - added flac codec - added jpg stream detector - added packjpg, brunsli, jojpeg codec - - added fast lzma2 compression for portable mode - added feature that allows input to be a directory - - added feature to inject libraries to main executable - added feature to extract detected streams - updated database feature - updated deduplication feature @@ -248,4 +253,4 @@ - added grittibanzli (also handles deflate stream but slow af) 2008_R1 (0.2.1) - - initial release \ No newline at end of file + - initial release diff --git a/common/Utils.pas b/common/Utils.pas index 94c7042..09cfbdd 100644 --- a/common/Utils.pas +++ b/common/Utils.pas @@ -490,6 +490,8 @@ function GetCmdStr(CommandLine: String; Index: Integer; KeepQuotes: Boolean = False): string; function GetCmdCount(CommandLine: String): Integer; +procedure UpdateFileResource(Source, Dest, ResName: string); + implementation function GetBits(Data: Int64; Index: TInt64_BitIndex; @@ -3615,4 +3617,41 @@ begin Inc(Result); end; +procedure UpdateFileResource(Source, Dest, ResName: string); +var + Stream: TFileStream; + hDestRes: THandle; + lpData: Pointer; + cbData: DWORD; +begin + Stream := TFileStream.Create(Source, fmOpenRead or fmShareDenyNone); + try + Stream.Seek(0, soFromBeginning); + cbData := Stream.Size; + if cbData > 0 then + begin + GetMem(lpData, cbData); + try + Stream.Read(lpData^, cbData); + hDestRes := BeginUpdateResource(PChar(Dest), False); + if hDestRes <> 0 then + if UpdateResource(hDestRes, RT_RCDATA, PWideChar(ResName), 0, lpData, + cbData) then + begin + if not EndUpdateResource(hDestRes, False) then + RaiseLastOSError + end + else + RaiseLastOSError + else + RaiseLastOSError; + finally + FreeMem(lpData); + end; + end; + finally + Stream.Free; + end; +end; + end. diff --git a/imports/FLZMA2DLL.pas b/imports/FLZMA2DLL.pas new file mode 100644 index 0000000..23ba52b --- /dev/null +++ b/imports/FLZMA2DLL.pas @@ -0,0 +1,312 @@ +unit FLZMA2DLL; + +interface + +uses + MemoryModule, + WinAPI.Windows, + System.SysUtils, System.Classes, System.Types; + +type + PFL2_inBuffer = ^FL2_inBuffer; + + FL2_inBuffer = record + src: Pointer; + size: size_t; + pos: size_t; + end; + + PFL2_outBuffer = ^FL2_outBuffer; + + FL2_outBuffer = record + dst: Pointer; + size: size_t; + pos: size_t; + end; + +var + FL2_compress: function(dst: Pointer; dstCapacity: size_t; const src: Pointer; + srcSize: size_t; compressionLevel: Integer): size_t cdecl; + FL2_compressMt: function(dst: Pointer; dstCapacity: size_t; + const src: Pointer; srcSize: size_t; compressionLevel: Integer; + nbThreads: Cardinal): size_t cdecl; + FL2_decompress: function(dst: Pointer; dstCapacity: size_t; + const src: Pointer; srcSize: size_t): size_t cdecl; + FL2_decompressMt: function(dst: Pointer; dstCapacity: size_t; + const src: Pointer; srcSize: size_t; nbThreads: Cardinal): size_t cdecl; + + FL2_createCCtx: function: Pointer cdecl; + FL2_createCCtxMt: function(nbThreads: Cardinal): Pointer cdecl; + FL2_freeCCtx: procedure(cctx: Pointer)cdecl; + FL2_compressCCtx: function(cctx: Pointer; dst: Pointer; dstCapacity: size_t; + src: Pointer; srcSize: size_t; compressionLevel: Integer): size_t cdecl; + FL2_createDCtx: function: Pointer cdecl; + FL2_createDCtxMt: function(nbThreads: Cardinal): Pointer cdecl; + FL2_freeDCtx: function(dctx: Pointer): size_t cdecl; + FL2_decompressDCtx: function(dctx: Pointer; dst: Pointer; dstCapacity: size_t; + src: Pointer; srcSize: size_t): size_t cdecl; + + FL2_createCStream: function: Pointer cdecl; + FL2_createCStreamMt: function(nbThreads: Cardinal; dualBuffer: Integer) + : Pointer cdecl; + FL2_freeCStream: procedure(fcs: Pointer)cdecl; + FL2_initCStream: function(fcs: Pointer; compressionLevel: Integer) + : size_t cdecl; + FL2_compressStream: function(fcs: Pointer; output: PFL2_outBuffer; + input: PFL2_inBuffer): size_t cdecl; + + FL2_createDStream: function: Pointer cdecl; + FL2_createDStreamMt: function(nbThreads: Cardinal): Pointer cdecl; + FL2_freeDStream: procedure(fds: Pointer)cdecl; + FL2_initDStream: function(fds: Pointer): size_t cdecl; + FL2_decompressStream: function(fds: Pointer; output: PFL2_outBuffer; + input: PFL2_inBuffer): size_t cdecl; + + FL2_endStream: function(fcs: Pointer; output: PFL2_outBuffer): size_t cdecl; + FL2_isError: function(code: size_t): Cardinal cdecl; + DLLLoaded: boolean = False; + +type + TLZMACRec = record + Threads: Integer; + Level: Integer; + procedure Parse(S: String); + end; + + TLZMADRec = record + Threads: Integer; + procedure Parse(S: String); + end; + + TLZMACompressStream = class(TStream) + private const + FBufferSize = 65536; + private + FCtx: Pointer; + FProp: TLZMACRec; + FOutput: TStream; + FBuffer: array [0 .. FBufferSize - 1] of Byte; + public + constructor Create(AOutput: TStream; AConfig: String = 't50p'); + destructor Destroy; override; + function Write(const Buffer; Count: LongInt): LongInt; override; + end; + + TLZMADecompressStream = class(TStream) + private const + FBufferSize = 65536; + private + FCtx: Pointer; + FProp: TLZMADRec; + FInp: FL2_inBuffer; + FInput: TStream; + FBuffer: array [0 .. FBufferSize - 1] of Byte; + public + constructor Create(AInput: TStream; AConfig: String = ''); + destructor Destroy; override; + function Read(var Buffer; Count: Integer): Integer; override; + end; + +implementation + +uses + Utils; + +var + DLLStream: TResourceStream; + DLLHandle: TMemoryModule; + +procedure TLZMACRec.Parse(S: string); +var + List: TStringDynArray; + I, J: Integer; +begin + Threads := 1; + Level := 5; + List := DecodeStr(S, ':'); + for I := Low(List) to High(List) do + begin + if List[I].StartsWith('t', True) then + Threads := ConvertToThreads(List[I].Substring(1)); + if List[I].StartsWith('l', True) then + Level := List[I].Substring(1).ToInteger; + end; +end; + +procedure TLZMADRec.Parse(S: string); +var + List: TStringDynArray; + I: Integer; +begin + Threads := 1; + List := DecodeStr(S, ':'); + for I := Low(List) to High(List) do + begin + if List[I].StartsWith('t', True) then + Threads := ConvertToThreads(List[I].Substring(1)); + end; +end; + +constructor TLZMACompressStream.Create(AOutput: TStream; AConfig: String); +begin + inherited Create; + FProp.Parse(AConfig); + FOutput := AOutput; + if FProp.Threads > 1 then + FCtx := FL2_createCStreamMt(FProp.Threads, 0) + else + FCtx := FL2_createCStream; + FL2_initCStream(FCtx, FProp.Level); +end; + +destructor TLZMACompressStream.Destroy; +var + Oup: FL2_outBuffer; + Res: size_t; +begin + Oup.dst := @FBuffer[0]; + Oup.size := FBufferSize; + Oup.pos := 0; + repeat + Res := FL2_endStream(FCtx, @Oup); + FOutput.WriteBuffer(FBuffer[0], Oup.pos); + Oup.pos := 0; + until Res = 0; + FL2_freeCCtx(FCtx); + inherited Destroy; +end; + +function TLZMACompressStream.Write(const Buffer; Count: LongInt): LongInt; +var + Inp: FL2_inBuffer; + Oup: FL2_outBuffer; +begin + Result := 0; + Inp.src := PByte(@Buffer); + Inp.size := Count; + Inp.pos := 0; + Oup.dst := @FBuffer[0]; + Oup.size := FBufferSize; + Oup.pos := 0; + while Inp.pos < Inp.size do + begin + if not boolean(FL2_isError(FL2_compressStream(FCtx, @Oup, @Inp))) then + begin + FOutput.WriteBuffer(FBuffer[0], Oup.pos); + Oup.pos := 0; + end; + end; + Result := Inp.pos; +end; + +constructor TLZMADecompressStream.Create(AInput: TStream; AConfig: String); +begin + inherited Create; + FProp.Parse(AConfig); + FInput := AInput; + if FProp.Threads > 1 then + FCtx := FL2_createDStreamMt(FProp.Threads) + else + FCtx := FL2_createDStream; + FL2_initDStream(FCtx); + FillChar(FInp, SizeOf(FL2_inBuffer), 0); +end; + +destructor TLZMADecompressStream.Destroy; +begin + FL2_freeDCtx(FCtx); + inherited Destroy; +end; + +function TLZMADecompressStream.Read(var Buffer; Count: Integer): Integer; +var + Oup: FL2_outBuffer; +begin + Result := 0; + if FInp.pos = FInp.size then + begin + FInp.src := @FBuffer[0]; + FInp.size := FInput.Read(FBuffer[0], FBufferSize); + FInp.pos := 0; + if FInp.size = 0 then + exit; + end; + Oup.dst := PByte(@Buffer); + Oup.size := Count; + Oup.pos := 0; + while Oup.pos < Oup.size do + begin + if not boolean(FL2_isError(FL2_decompressStream(FCtx, @Oup, @FInp))) then + begin + if FInp.pos = FInp.size then + begin + FInp.src := @FBuffer[0]; + FInp.size := FInput.Read(FBuffer[0], FBufferSize); + FInp.pos := 0; + if FInp.size = 0 then + break; + end; + end + else + break; + end; + Result := Oup.pos; +end; + +procedure Init; +begin + DLLStream := TResourceStream.Create(HInstance, 'fast_lzma2', RT_RCDATA); + DLLHandle := MemoryLoadLibary(DLLStream.Memory); + if Assigned(DLLHandle) then + begin + @FL2_compress := MemoryGetProcAddress(DLLHandle, 'FL2_compress'); + @FL2_compressMt := MemoryGetProcAddress(DLLHandle, 'FL2_compressMt'); + @FL2_decompress := MemoryGetProcAddress(DLLHandle, 'FL2_decompress'); + @FL2_decompressMt := MemoryGetProcAddress(DLLHandle, 'FL2_decompressMt'); + @FL2_createCCtx := MemoryGetProcAddress(DLLHandle, 'FL2_createCCtx'); + @FL2_createCCtxMt := MemoryGetProcAddress(DLLHandle, 'FL2_createCCtxMt'); + @FL2_freeCCtx := MemoryGetProcAddress(DLLHandle, 'FL2_freeCCtx'); + @FL2_compressCCtx := MemoryGetProcAddress(DLLHandle, 'FL2_compressCCtx'); + @FL2_createDCtx := MemoryGetProcAddress(DLLHandle, 'FL2_createDCtx'); + @FL2_createDCtxMt := MemoryGetProcAddress(DLLHandle, 'FL2_createDCtxMt'); + @FL2_freeDCtx := MemoryGetProcAddress(DLLHandle, 'FL2_freeDCtx'); + @FL2_decompressDCtx := MemoryGetProcAddress(DLLHandle, + 'FL2_decompressDCtx'); + @FL2_createCStream := MemoryGetProcAddress(DLLHandle, 'FL2_createCStream'); + @FL2_createCStreamMt := MemoryGetProcAddress(DLLHandle, + 'FL2_createCStreamMt'); + @FL2_freeCStream := MemoryGetProcAddress(DLLHandle, 'FL2_freeCStream'); + @FL2_initCStream := MemoryGetProcAddress(DLLHandle, 'FL2_initCStream'); + @FL2_compressStream := MemoryGetProcAddress(DLLHandle, + 'FL2_compressStream'); + @FL2_createDStream := MemoryGetProcAddress(DLLHandle, 'FL2_createDStream'); + @FL2_createDStreamMt := MemoryGetProcAddress(DLLHandle, + 'FL2_createDStreamMt'); + @FL2_freeDStream := MemoryGetProcAddress(DLLHandle, 'FL2_freeDStream'); + @FL2_initDStream := MemoryGetProcAddress(DLLHandle, 'FL2_initDStream'); + @FL2_decompressStream := MemoryGetProcAddress(DLLHandle, + 'FL2_decompressStream'); + @FL2_endStream := MemoryGetProcAddress(DLLHandle, 'FL2_endStream'); + @FL2_isError := MemoryGetProcAddress(DLLHandle, 'FL2_isError'); + DLLLoaded := Assigned(FL2_compress) and Assigned(FL2_decompress); + end + else + DLLLoaded := False; +end; + +procedure Deinit; +begin + if not DLLLoaded then + exit; + MemoryFreeLibrary(DLLHandle); +end; + +initialization + +Init; + +finalization + +Deinit; + +end. diff --git a/imports/LZMADLL.pas b/imports/LZMADLL.pas deleted file mode 100644 index 58ac065..0000000 --- a/imports/LZMADLL.pas +++ /dev/null @@ -1,28 +0,0 @@ -unit LZMADLL; - -interface - -uses - WinAPI.Windows, - System.SysUtils; - -type - PFL2_inBuffer = ^FL2_inBuffer; - - FL2_inBuffer = record - src: Pointer; - size: size_t; - pos: size_t; - end; - - PFL2_outBuffer = ^FL2_outBuffer; - - FL2_outBuffer = record - dst: Pointer; - size: size_t; - pos: size_t; - end; - -implementation - -end. diff --git a/imports/XDeltaDLL.pas b/imports/XDeltaDLL.pas index c8c6f6a..c7ff24e 100644 --- a/imports/XDeltaDLL.pas +++ b/imports/XDeltaDLL.pas @@ -46,11 +46,7 @@ var procedure Init; begin -{$IFDEF WIN32} - DLLStream := TResourceStream.Create(HInstance, 'XDELTA86_DLL', RT_RCDATA); -{$ELSE} - DLLStream := TResourceStream.Create(HInstance, 'XDELTA64_DLL', RT_RCDATA); -{$ENDIF} + DLLStream := TResourceStream.Create(HInstance, 'xdelta3_dll', RT_RCDATA); DLLHandle := MemoryLoadLibary(DLLStream.Memory); if Assigned(DLLHandle) then begin diff --git a/imports/ZSTDDLL.pas b/imports/ZSTDDLL.pas index d1498c2..480e454 100644 --- a/imports/ZSTDDLL.pas +++ b/imports/ZSTDDLL.pas @@ -9,10 +9,11 @@ uses type ZSTD_strategy = (ZSTD_fast = 1, ZSTD_dfast = 2, ZSTD_greedy = 3, ZSTD_lazy = 4, ZSTD_lazy2 = 5, ZSTD_btlazy2 = 6, ZSTD_btopt = 7, - ZSTD_btultra = 8, ZSTD_btultra2 = 9); + ZSTD_btultra = 8, ZSTD_btultra2 = 9, ZSTD_strategy_Force32 = $40000000); ZSTD_ResetDirective = (ZSTD_reset_session_only = 1, ZSTD_reset_parameters = 2, - ZSTD_reset_session_and_parameters = 3); + ZSTD_reset_session_and_parameters = 3, + ZSTD_ResetDirective_Force32 = $40000000); PZSTD_inBuffer = ^ZSTD_inBuffer; @@ -47,7 +48,7 @@ type ZSTD_c_experimentalParam9 = 1006, ZSTD_c_experimentalParam10 = 1007, ZSTD_c_experimentalParam11 = 1008, ZSTD_c_experimentalParam12 = 1009, ZSTD_c_experimentalParam13 = 1010, ZSTD_c_experimentalParam14 = 1011, - ZSTD_c_experimentalParam15 = 1012); + ZSTD_c_experimentalParam15 = 1012, ZSTD_cParameter_Force32 = $40000000); ZSTD_compressionParameters = record windowLog: Cardinal; @@ -73,6 +74,8 @@ type var ZSTD_compress: function(dst: Pointer; dstCapacity: size_t; const src: Pointer; srcSize: size_t; compressionLevel: Integer): size_t cdecl; + ZSTD_compress2: function(cctx: Pointer; dst: Pointer; dstCapacity: size_t; + const src: Pointer; srcSize: size_t): size_t cdecl; ZSTD_decompress: function(dst: Pointer; dstCapacity: size_t; const src: Pointer; srcSize: size_t): SSIZE_T cdecl; ZSTD_findFrameCompressedSize: function(const src: Pointer; srcSize: size_t) @@ -81,6 +84,10 @@ var : int64 cdecl; ZSTD_createCCtx: function: Pointer cdecl; ZSTD_freeCCtx: function(cctx: Pointer): size_t cdecl; + ZSTD_CCtx_reset: function(cctx: Pointer; reset: ZSTD_ResetDirective) + : size_t cdecl; + ZSTD_CCtx_setParameter: function(cctx: Pointer; param: ZSTD_cParameter; + value: Integer): size_t cdecl; ZSTD_compressCCtx: function(cctx: Pointer; dst: Pointer; dstCapacity: size_t; src: Pointer; srcSize: size_t; compressionLevel: Integer): size_t cdecl; ZSTD_createDCtx: function: Pointer cdecl; @@ -99,6 +106,13 @@ var ZSTD_decompress_usingDDict: function(dctx: Pointer; dst: Pointer; dstCapacity: size_t; const src: Pointer; srcSize: size_t; const ddict: Pointer): size_t cdecl; + ZSTD_initCStream: function(zcs: Pointer; compressionLevel: Integer) + : size_t cdecl; + ZSTD_compressStream: function(zcs: Pointer; output: PZSTD_outBuffer; + input: PZSTD_inBuffer): size_t cdecl; + ZSTD_flushStream: function(zcs: Pointer; output: PZSTD_outBuffer) + : size_t cdecl; + ZSTD_endStream: function(zcs: Pointer; output: PZSTD_outBuffer): size_t cdecl; DLLLoaded: Boolean = False; @@ -138,6 +152,7 @@ begin if DLLHandle >= 32 then begin @ZSTD_compress := GetProcAddress(DLLHandle, 'ZSTD_compress'); + @ZSTD_compress2 := GetProcAddress(DLLHandle, 'ZSTD_compress2'); @ZSTD_decompress := GetProcAddress(DLLHandle, 'ZSTD_decompress'); @ZSTD_findFrameCompressedSize := GetProcAddress(DLLHandle, 'ZSTD_findFrameCompressedSize'); @@ -145,6 +160,9 @@ begin 'ZSTD_findDecompressedSize'); @ZSTD_createCCtx := GetProcAddress(DLLHandle, 'ZSTD_createCCtx'); @ZSTD_freeCCtx := GetProcAddress(DLLHandle, 'ZSTD_freeCCtx'); + @ZSTD_CCtx_reset := GetProcAddress(DLLHandle, 'ZSTD_CCtx_reset'); + @ZSTD_CCtx_setParameter := GetProcAddress(DLLHandle, + 'ZSTD_CCtx_setParameter'); @ZSTD_createDCtx := GetProcAddress(DLLHandle, 'ZSTD_createDCtx'); @ZSTD_freeDCtx := GetProcAddress(DLLHandle, 'ZSTD_freeDCtx'); @ZSTD_createCDict := GetProcAddress(DLLHandle, 'ZSTD_createCDict'); @@ -157,6 +175,10 @@ begin 'ZSTD_compress_usingCDict'); @ZSTD_decompress_usingDDict := GetProcAddress(DLLHandle, 'ZSTD_decompress_usingDDict'); + @ZSTD_initCStream := GetProcAddress(DLLHandle, 'ZSTD_initCStream'); + @ZSTD_compressStream := GetProcAddress(DLLHandle, 'ZSTD_compressStream'); + @ZSTD_flushStream := GetProcAddress(DLLHandle, 'ZSTD_flushStream'); + @ZSTD_endStream := GetProcAddress(DLLHandle, 'ZSTD_endStream'); DLLLoaded := Assigned(ZSTD_compress) and Assigned(ZSTD_decompress); end else diff --git a/precompressor/PrecompLZ4.pas b/precompressor/PrecompLZ4.pas index ff9005a..a407415 100644 --- a/precompressor/PrecompLZ4.pas +++ b/precompressor/PrecompLZ4.pas @@ -266,21 +266,32 @@ begin SOList[Instance][X].Index := 0; while SOList[Instance][X].Get(I) >= 0 do begin - if StreamInfo^.Status = TStreamStatus.Predicted then + if StreamInfo^.Status >= TStreamStatus.Predicted then + begin if GetBits(StreamInfo^.Option, 5, 7) <> I then continue; + if (StreamInfo^.Status = TStreamStatus.Database) and + (GetBits(StreamInfo^.Option, 1, 31) = 0) then + begin + Res1 := StreamInfo^.OldSize; + Result := True; + end; + end; Params := ''; case X of LZ4_CODEC: begin Params := 'a' + GetBits(StreamInfo^.Option, 15, 7).ToString; - Res1 := LZ4_compress_fast(NewInput, Buffer, StreamInfo^.NewSize, Y, - GetBits(StreamInfo^.Option, 15, 7)); + if not Result then + Res1 := LZ4_compress_fast(NewInput, Buffer, StreamInfo^.NewSize, Y, + GetBits(StreamInfo^.Option, 15, 7)); end; LZ4HC_CODEC: begin Params := 'l' + I.ToString; - Res1 := LZ4_compress_HC(NewInput, Buffer, StreamInfo^.NewSize, Y, I); + if not Result then + Res1 := LZ4_compress_HC(NewInput, Buffer, + StreamInfo^.NewSize, Y, I); end; LZ4F_CODEC: begin @@ -293,18 +304,20 @@ begin Params := 'l' + I.ToString + ':' + 'b' + (GetBits(StreamInfo^.Option, 12, 2) + 4).ToString + ':' + 'd' + GetBits(StreamInfo^.Option, 14, 1).ToString; - Res1 := LZ4F_compressFrame(Buffer, Y, NewInput, - StreamInfo^.NewSize, @LZ4FT); + if not Result then + Res1 := LZ4F_compressFrame(Buffer, Y, NewInput, + StreamInfo^.NewSize, @LZ4FT); end; end; - Result := (Res1 = StreamInfo^.OldSize) and CompareMem(OldInput, Buffer, - StreamInfo^.OldSize); + if not Result then + Result := (Res1 = StreamInfo^.OldSize) and CompareMem(OldInput, Buffer, + StreamInfo^.OldSize); Funcs^.LogProcess(LZ4Codecs[GetBits(StreamInfo^.Option, 0, 5)], PChar(Params), StreamInfo^.OldSize, StreamInfo^.NewSize, Res1, Result); if Result or (StreamInfo^.Status = TStreamStatus.Predicted) then break; end; - if (Result = False) and ((StreamInfo^.Status = TStreamStatus.Predicted) or + if (Result = False) and ((StreamInfo^.Status >= TStreamStatus.Predicted) or (SOList[Instance][X].Count = 1)) and (DIFF_TOLERANCE > 0) then begin Buffer := Funcs^.Allocator(Instance, Res1 + Max(StreamInfo^.OldSize, Res1)); diff --git a/precompressor/PrecompLZO.pas b/precompressor/PrecompLZO.pas index f090292..f5d8e80 100644 --- a/precompressor/PrecompLZO.pas +++ b/precompressor/PrecompLZO.pas @@ -298,9 +298,17 @@ begin SOList[Instance][X].Index := 0; while SOList[Instance][X].Get(I) >= 0 do begin - if StreamInfo^.Status = TStreamStatus.Predicted then + if StreamInfo^.Status >= TStreamStatus.Predicted then + begin if GetBits(StreamInfo^.Option, 5, 7) <> I then continue; + if (StreamInfo^.Status = TStreamStatus.Database) and + (GetBits(StreamInfo^.Option, 1, 31) = 0) then + begin + Res1 := StreamInfo^.OldSize; + Result := True; + end; + end; Params := ''; Res1 := StreamInfo^.NewSize; case X of @@ -310,23 +318,25 @@ begin begin Params := 'l' + I.ToString + ':' + 'v' + GetBits(StreamInfo^.Option, 12, 5).ToString; - if not lzo1x_999_compress_level(NewInput, StreamInfo^.NewSize, - Buffer, @Res1, @WrkMem[Instance, 0], nil, 0, nil, I) = 0 then - Res1 := 0; + if not Result then + if not lzo1x_999_compress_level(NewInput, StreamInfo^.NewSize, + Buffer, @Res1, @WrkMem[Instance, 0], nil, 0, nil, I) = 0 then + Res1 := 0; end; { if not lzo1x_1_compress(NewInput, StreamInfo^.NewSize, Buffer, @Res1, @WrkMem[Instance, 0]) = 0 then Res1 := 0; } end; end; - Result := (Res1 = StreamInfo^.OldSize) and CompareMem(OldInput, Buffer, - StreamInfo^.OldSize); + if not Result then + Result := (Res1 = StreamInfo^.OldSize) and CompareMem(OldInput, Buffer, + StreamInfo^.OldSize); Funcs^.LogProcess(LZOCodecs[GetBits(StreamInfo^.Option, 0, 5)], PChar(Params), StreamInfo^.OldSize, StreamInfo^.NewSize, Res1, Result); if Result or (StreamInfo^.Status = TStreamStatus.Predicted) then break; end; - if (Result = False) and ((StreamInfo^.Status = TStreamStatus.Predicted) or + if (Result = False) and ((StreamInfo^.Status >= TStreamStatus.Predicted) or (SOList[Instance][X].Count = 1)) and (DIFF_TOLERANCE > 0) then begin Buffer := Funcs^.Allocator(Instance, Res1 + Max(StreamInfo^.OldSize, Res1)); diff --git a/precompressor/PrecompMain.pas b/precompressor/PrecompMain.pas index aa53630..c02530c 100644 --- a/precompressor/PrecompMain.pas +++ b/precompressor/PrecompMain.pas @@ -5,7 +5,7 @@ unit PrecompMain; interface uses - Threading, Utils, SynCommons, ParseClass, ParseExpr, + Threading, Utils, SynCommons, ParseClass, ParseExpr, FLZMA2DLL, PrecompUtils, PrecompCrypto, PrecompZLib, PrecompLZ4, PrecompLZO, PrecompZSTD, PrecompOodle, PrecompMedia, PrecompINI, PrecompSearch, PrecompDLL, PrecompEXE, WinAPI.Windows, WinAPI.ShlObj, @@ -25,6 +25,8 @@ type Depth: Integer; LowMem: Boolean; DBaseFile, ExtractDir: String; + DoCompress: Boolean; + CompressCfg: String; end; PDecodeOptions = ^TDecodeOptions; @@ -34,6 +36,7 @@ type ChunkCount, Threads: Integer; Depth: Integer; DedupSysMem, DedupGPUMem: Int64; + CompressCfg: String; end; procedure PrintHelp; @@ -122,7 +125,7 @@ begin WriteLn(ErrOutput, ''); WriteLn(ErrOutput, 'Parameters:'); WriteLn(ErrOutput, - ' -m# - codecs to use for precompression (separate by "+" if more than one)'); + ' -m# - codecs to use for precompression (separate with "+" if more than one)'); WriteLn(ErrOutput, ' -c# - scanning range of precompressor [16mb]'); WriteLn(ErrOutput, ' -t# - number of working threads [50p]'); WriteLn(ErrOutput, ' -lm - low memory mode'); @@ -131,13 +134,16 @@ begin WriteLn(ErrOutput, 'Advanced parameters:'); WriteLn(ErrOutput, ' --dbase=# - use database (#=filename to save db, optional)'); - WriteLn(ErrOutput, - ' --dedup=# - use stream deduplication (#=filename to save db, optional)'); + WriteLn(ErrOutput, ' --dedup - use stream deduplication'); WriteLn(ErrOutput, ' --mem=# - deduplication ram usage limit (#=size) [75p]'); WriteLn(ErrOutput, ' --diff=# - set xdelta threshold to accept streams [5p]'); WriteLn(ErrOutput, ' --extract=# - extract streams to directory path'); + WriteLn(ErrOutput, + ' --compress=# - compress data using fast lzma2 (separate params with ":"'); + WriteLn(ErrOutput, ' l# - compression level [5]'); + WriteLn(ErrOutput, ' t# - number of threads [50p]'); WriteLn(ErrOutput, ''); end; @@ -191,6 +197,12 @@ begin Options.ExtractDir := ArgParse.AsString('--extract='); if Options.ExtractDir <> '' then EXTRACT := DirectoryExists(Options.ExtractDir); + Options.DoCompress := ArgParse.AsBoolean('--compress'); + S := ArgParse.AsString('--compress='); + S := ReplaceText(S, SPrecompSep3, SPrecompSep2); + Options.CompressCfg := S; + if Options.CompressCfg <> '' then + Options.DoCompress := True; finally ArgParse.Free; ExpParse.Free; @@ -228,6 +240,9 @@ begin if B then Options.DedupSysMem := -Options.DedupSysMem; VERBOSE := ArgParse.AsBoolean('--verbose'); + S := ArgParse.AsString('--compress=', 0, 't50p'); + S := ReplaceText(S, SPrecompSep3, SPrecompSep2); + Options.CompressCfg := S; finally ArgParse.Free; ExpParse.Free; @@ -1905,8 +1920,8 @@ begin for I := Low(ThreadSync) to High(ThreadSync) do ThreadSync[I] := TCriticalSection.Create; DupSysMem := Options^.DedupSysMem; - NStream.Add(TypeInfo(TMemoryStream) { , CalcSysMem } ); - // NStream.Add(TypeInfo(TPrecompVMStream)); + NStream.Add(TypeInfo(TMemoryStream), CalcSysMem); + NStream.Add(TypeInfo(TPrecompVMStream)); Input.ReadBuffer(Options^.Depth, Options^.Depth.Size); Input.ReadBuffer(LongRec(I).Bytes[0], LongRec(I).Bytes[0].Size); SetLength(Bytes, LongRec(I).Bytes[0]); @@ -1975,19 +1990,8 @@ begin MemOutput2[I] := TMemoryStream.Create; end; end; - Input.ReadBuffer(StoreDD, StoreDD.Size); - UI32 := 0; - if StoreDD then - begin - Input.ReadBuffer(UI32, UI32.Size); - SetLength(DDList2, UI32); - DDCount2 := UI32; - for I := Low(DDList2) to High(DDList2) do - Input.ReadBuffer(DDList2[I], SizeOf(TDuplicate2)); - DDIndex1 := -1; - DDIndex2 := 0; - end; DataMgr := TDataManager.Create(NStream); + Input.ReadBuffer(StoreDD, StoreDD.Size); end; procedure DecFree; @@ -2037,7 +2041,20 @@ var I, J: Integer; begin if Depth = 0 then + begin + UI32 := 0; + if StoreDD then + begin + Input.ReadBuffer(UI32, UI32.Size); + SetLength(DDList2, UI32); + DDCount2 := UI32; + for I := Low(DDList2) to High(DDList2) do + Input.ReadBuffer(DDList2[I], SizeOf(TDuplicate2)); + DDIndex1 := -1; + DDIndex2 := 0; + end; LogInt64 := 0; + end; with ComVars2[Depth] do begin DecInput[Index] := Input; @@ -2252,6 +2269,9 @@ begin end; procedure Encode(Input, Output: TStream; Options: TEncodeOptions); +var + Compressed: Boolean; + LOutput: TStream; begin InternalSync.Enter; FillChar(EncInfo, SizeOf(EncInfo), 0); @@ -2263,8 +2283,16 @@ begin ConTask.Start; try EncInit(Input, Output, @Options); - EncData(Input, Output, 0, 0); + Compressed := Options.DoCompress; + Output.WriteBuffer(Compressed, Compressed.Size); + if Options.DoCompress then + LOutput := TLZMACompressStream.Create(Output, Options.CompressCfg) + else + LOutput := Output; + EncData(Input, LOutput, 0, 0); finally + if Options.DoCompress then + LOutput.Free; try EncFree; finally @@ -2279,6 +2307,9 @@ begin end; procedure Decode(Input, Output: TStream; Options: TDecodeOptions); +var + Compressed: Boolean; + LInput: TStream; begin InternalSync.Enter; FillChar(EncInfo, SizeOf(EncInfo), 0); @@ -2291,8 +2322,15 @@ begin NStream := TArrayStream.Create; try DecInit(Input, Output, @Options); - DecChunk(Input, Output, 0, 0); + Input.ReadBuffer(Compressed, Compressed.Size); + if Compressed then + LInput := TLZMADecompressStream.Create(Input, Options.CompressCfg) + else + LInput := Input; + DecChunk(LInput, Output, 0, 0); finally + if Compressed then + LInput.Free; try NStream.Free; DecFree; diff --git a/precompressor/PrecompMedia.pas b/precompressor/PrecompMedia.pas index 5c7c616..81a71f9 100644 --- a/precompressor/PrecompMedia.pas +++ b/precompressor/PrecompMedia.pas @@ -140,9 +140,10 @@ begin end else if subchunk_hdr.subchunk_id = data_SIGN then begin - Result := True; - chunk_size^ := subchunk_hdr.subchunk_size; + chunk_size^ := Min(subchunk_hdr.subchunk_size, + (riffhdr.chunk_size + 8 - Pos)); header_size^ := Pos; + Result := chunk_size^ + header_size^ <= InSize; exit; end else @@ -750,7 +751,6 @@ begin StreamInfo^.NewSize := Res; Result := True; end; - ShowMessage(''); end; BRUNSLI_CODEC: begin diff --git a/precompressor/PrecompOodle.pas b/precompressor/PrecompOodle.pas index 7950c03..eae05c0 100644 --- a/precompressor/PrecompOodle.pas +++ b/precompressor/PrecompOodle.pas @@ -711,25 +711,35 @@ begin SOList[Instance][X].Index := 0; while SOList[Instance][X].Get(I) >= 0 do begin - if StreamInfo^.Status = TStreamStatus.Predicted then + if StreamInfo^.Status >= TStreamStatus.Predicted then + begin if GetBits(StreamInfo^.Option, 5, 7) <> I then continue; + if (StreamInfo^.Status = TStreamStatus.Database) and + (GetBits(StreamInfo^.Option, 1, 31) = 0) then + begin + Res1 := StreamInfo^.OldSize; + Result := True; + end; + end; Move(OodleLZ_CompressOptions_GetDefault(Y, I)^, COptions, SizeOf(TOodleLZ_CompressOptions)); COptions.sendQuantumCRCs := GetBits(StreamInfo^.Option, 12, 1) = 1; COptions.spaceSpeedTradeoffBytes := GetBits(StreamInfo^.Option, 13, 11); Params := 'l' + I.ToString + ':' + 'c' + GetBits(StreamInfo^.Option, 12, 1) .ToString + ':' + 't' + GetBits(StreamInfo^.Option, 13, 11).ToString; - Res1 := OodleLZ_Compress(Y, NewInput, StreamInfo^.NewSize, Buffer, I, - @COptions); - Result := (Res1 = StreamInfo^.OldSize) and CompareMem(OldInput, Buffer, - StreamInfo^.OldSize); + if not Result then + Res1 := OodleLZ_Compress(Y, NewInput, StreamInfo^.NewSize, Buffer, I, + @COptions); + if not Result then + Result := (Res1 = StreamInfo^.OldSize) and CompareMem(OldInput, Buffer, + StreamInfo^.OldSize); Funcs^.LogProcess(OodleCodecs[GetBits(StreamInfo^.Option, 0, 5)], PChar(Params), StreamInfo^.OldSize, StreamInfo^.NewSize, Res1, Result); if Result or (StreamInfo^.Status = TStreamStatus.Predicted) then break; end; - if (Result = False) and ((StreamInfo^.Status = TStreamStatus.Predicted) or + if (Result = False) and ((StreamInfo^.Status >= TStreamStatus.Predicted) or (SOList[Instance][X].Count = 1)) and (DIFF_TOLERANCE > 0) then begin Buffer := Funcs^.Allocator(Instance, Res1 + Max(StreamInfo^.OldSize, Res1)); diff --git a/precompressor/PrecompUtils.pas b/precompressor/PrecompUtils.pas index 377e612..82460bd 100644 --- a/precompressor/PrecompUtils.pas +++ b/precompressor/PrecompUtils.pas @@ -16,6 +16,7 @@ resourcestring SPrecompSep2 = ':'; SPrecompSep3 = ','; SPrecompSep4 = '/'; + SPrecompSep5 = '/'; const SuccessStatus = 4; diff --git a/precompressor/PrecompZSTD.pas b/precompressor/PrecompZSTD.pas index c4bd9d1..bb60918 100644 --- a/precompressor/PrecompZSTD.pas +++ b/precompressor/PrecompZSTD.pas @@ -250,9 +250,9 @@ var X: Integer; Res1: Integer; Res2: NativeUInt; - // Inp: ZSTD_inBuffer; - // Oup: ZSTD_outBuffer; - // Progress: NativeInt; + Inp: ZSTD_inBuffer; + Oup: ZSTD_outBuffer; + Progress: NativeInt; begin Result := False; X := GetBits(StreamInfo^.Option, 0, 5); @@ -262,29 +262,43 @@ begin SOList[Instance][X].Index := 0; while SOList[Instance][X].Get(I) >= 0 do begin - if StreamInfo^.Status = TStreamStatus.Predicted then + if StreamInfo^.Status >= TStreamStatus.Predicted then + begin if GetBits(StreamInfo^.Option, 5, 7) <> I then continue; + if (StreamInfo^.Status = TStreamStatus.Database) and + (GetBits(StreamInfo^.Option, 1, 31) = 0) then + begin + Res1 := StreamInfo^.OldSize; + Result := True; + end; + end; Params := ''; case X of ZSTD_CODEC: begin Params := 'l' + I.ToString; - Res1 := ZSTD_compressCCtx(cctx[Instance], Buffer, StreamInfo^.NewSize, - NewInput, StreamInfo^.NewSize, I); + { ZSTD_CCtx_reset(cctx[Instance], ZSTD_reset_session_and_parameters); + ZSTD_CCtx_setParameter(cctx[Instance], ZSTD_c_strategy, 5); + ZSTD_CCtx_setParameter(cctx[Instance], ZSTD_c_compressionLevel, I); } + if not Result then + Res1 := ZSTD_compressCCtx(cctx[Instance], Buffer, + StreamInfo^.NewSize, NewInput, StreamInfo^.NewSize, I); end; { Res1 := ZSTD_compress_usingCDict(cctx[Instance], Buffer, StreamInfo^.NewSize, NewInput, StreamInfo^.NewSize, cdict); } { begin + Params := 'l' + I.ToString; Progress := 0; Oup.dst := Buffer; Oup.Size := StreamInfo^.NewSize; Oup.Pos := 0; ZSTD_initCStream(cctx[Instance], I); + ZSTD_CCtx_setParameter(cctx[Instance], ZSTD_c_strategy, 9); while Progress < StreamInfo^.NewSize do begin Inp.src := PByte(NewInput) + Progress; - Inp.Size := Min(StreamInfo^.NewSize - Progress, 32768); + Inp.Size := Min(StreamInfo^.NewSize - Progress, 64 * 1024); Inp.Pos := 0; if ZSTD_compressStream(cctx[Instance], @Oup, @Inp) > 0 then begin @@ -298,8 +312,9 @@ begin Res1 := Oup.Pos; end; } end; - Result := (Res1 = StreamInfo^.OldSize) and CompareMem(OldInput, Buffer, - StreamInfo^.OldSize); + if not Result then + Result := (Res1 = StreamInfo^.OldSize) and CompareMem(OldInput, Buffer, + StreamInfo^.OldSize); Funcs^.LogProcess(ZSTDCodecs[GetBits(StreamInfo^.Option, 0, 5)], PChar(Params), StreamInfo^.OldSize, StreamInfo^.NewSize, Res1, Result); if Result or (StreamInfo^.Status = TStreamStatus.Predicted) then @@ -307,7 +322,7 @@ begin end; if Res1 < 0 then exit; - if (Result = False) and ((StreamInfo^.Status = TStreamStatus.Predicted) or + if (Result = False) and ((StreamInfo^.Status >= TStreamStatus.Predicted) or (SOList[Instance][X].Count = 1)) and (DIFF_TOLERANCE > 0) then begin Buffer := Funcs^.Allocator(Instance, Res1 + Max(StreamInfo^.OldSize, Res1)); diff --git a/xtool.dpr b/xtool.dpr index 9dc958e..516684e 100644 --- a/xtool.dpr +++ b/xtool.dpr @@ -54,6 +54,7 @@ uses ParseExpr in 'contrib\ParseExpression\ParseExpr.pas', BrunsliDLL in 'imports\BrunsliDLL.pas', FLACDLL in 'imports\FLACDLL.pas', + FLZMA2DLL in 'imports\FLZMA2DLL.pas', JoJpegDLL in 'imports\JoJpegDLL.pas', LZ4DLL in 'imports\LZ4DLL.pas', LZODLL in 'imports\LZODLL.pas', @@ -87,8 +88,7 @@ uses IOPatch in 'io\IOPatch.pas', IOExecute in 'io\IOExecute.pas', IODecode in 'io\IODecode.pas', - IOUtils in 'io\IOUtils.pas', - LZMADLL in 'imports\LZMADLL.pas'; + IOUtils in 'io\IOUtils.pas'; {$SETPEFLAGS IMAGE_FILE_LARGE_ADDRESS_AWARE or IMAGE_FILE_RELOCS_STRIPPED} diff --git a/xtool.dproj b/xtool.dproj index 194f8e7..b28a609 100644 --- a/xtool.dproj +++ b/xtool.dproj @@ -113,6 +113,7 @@ + @@ -147,18 +148,17 @@ - - - ResourceItem - RCDATA - XDELTA86_DLL - ResourceItem RCDATA - XDELTA64_DLL + xdelta3_dll + + ResourceItem + RCDATA + fast_lzma2 + Base @@ -208,7 +208,7 @@ true - + .\ true diff --git a/xtool.dres b/xtool.dres index 2a18a3bb3fb3caa4621dc22a76129c6953f0e6b9..41f324e0bb41574b1a86ba6253d4d2eaaaf710ea 100644 GIT binary patch delta 161654 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 delta 100767 zcmc$H4}4VBmH(T}gbZZhO`M>?M2RxAp}`sr+Jp%D z@Dg4olgDKOE(*G(R#$eHwzNxEMf}s4NhlMLLI4+ovTIaYUz)TVm7ffd@_yfQ-^?Ti z{L|XcE}Hl5yMN9-_uO;OJ@?#m?=&B>Z4HgvdXxQCgODc(f~JiT77Im!Qz#V{2{RFQ zr?4E~rT9;HbmlyR`O!ybOOuZu{?&K)?s_lwH@*Ac-hT++)4QK}|M&d;^!qh<|LmP- z-e1q(Prv^?{{FZ3Jv{wi-oFp;@9zDV_in@cgSKD1e?NckdVd9ff9E~@{jdCc!Grf# zQ(Zui{_WWDJHyy%rG`X7+w{qDJx&mMgoK-t4dbpC@(hB|qQ^e+BfPEnD?=PY+jbfz z6bK1|V4_a}p+Y1e1LcXo_0O_B24N*)pT|3kl6wq7WZO*%siOxB!Y)w|s&{R>G2zB* zyLTCcLQ0SQLtQ2VGG4#!;RN%T2kz8s5c0NdNVsua%YDd3*bwM~Z9hv$zvEhj+7L4a z@2Bw|_OB2r-}KaY?nhjN;(-I9FZ^uV9OLyOVIcq;j{Y9Qj(`8aaC+O*#x+to>zDge z*-UftOv}QGN~OHt`v`lf%qR%#$wl{s%X#irc0a04Mm|H2J~9Q})C zTD}Y=k5I`jl;q`(@PE948PAy74A$J=5dO|+J6|IzO03+R`?lg%<**j?4Qx6rpVaCP z)r))DlbS7eh14W=IJwjJUi||Xq*lt$%KNj=vk-Hu=^bT3=YTO>QKr6iD-zs;@&QZk zZ-I{bMiah)cpL%dwlJsJf2g+9lQg3qU}}=~Q}h$*W&{xDF!@DSYIXUFJ z6I_&g=t-Bj>zyRlHMt(q@_SO~eJLsVt>g>H@LTkYlBTRPff1CP+_re%4~7d1Gj~S& zbto1gBnYvDA#%qNw99oC0odtWjV|Um(xb<-iq)BGO@7TQRWaaQb&mOZIB%R)oae-e zg1FCgE&BM$1!ZhzmgXHWY10PO>#_~h&BjjVJcpLs-U2ho2Mux;hQ&FD)8aW)YjT|T zbbvih#t_9YaSlX3bavoRPC?>B35c+_6n7-|ldy9TR1sdH{(hObgSDURp*DCX0B*!% zGai;t3BE-6!nfC+eeK)G&^MM{U$oU~U^bcJjTK3X!7BHYql_U0W?s(n6~; zJ2m?ltF!J$nvm`sRAz%AQYt zU|_8Wot2ubXhVXgKNFm?)k1}ux(&6}WP$g?MVBLlHr~7;a`^JPZ>|z2Hd0=J&CaTR zLs?}FPK#8(@aG+iw6zv(tyz_RGsPgt|6@=_DHWz4ydBG>XIW#?a@1YOz+Okq%FN8% zHf6p&+SNqDvk|%f;e{2Iq*@$noJ1Un%=}Ylvsik^{b|9Fk79bm2 zZ!a~5*;0F^?WF&NC$%_9f+>;POLh>NW_Hplm-wn2$4-+O6_> zd!YbKt==&Y8XjMH$8x|e(!BNzAeIqaWVe;6i@$-)rFOe~z>M4_0_#Rv8oTKI0b69Z z8@CUD>}a_iUsG+{&*2O0%&Gm3XAGrNn``F*(h6Yo>pI9^qUT}ADQzF+MV{1POAZjy z_7Nm?`kZG?fx37V(M~Il4u^1ppiuL_hBnmpQwMchOu6 z+fMzHei%SX9T#eIJtoP~U2_Y{TfwLRu&Kx{=9z40QmM}>cNpY10mst|!gqV#*GoHE ziC*Hyp8~yFi{mK}5nn&TmtXUZmM@vbjigdkE?l7PqiWIEiD>MJC6IU+RcP)R$ZFP- zfi%`6rQzj2_=FJpK+I>o?m zsKl83MfOrL@DjobM@!+T_TCMN!uv{WyoV}nA<7y#<1?v=lbzGW*3S7p3wfe^e*=Q( zvX!2jYAre%VBi%VTeJg(_4;@iiw1oxZYZU}_r0b(s-vk8&q?U7RpQCcRpN$2xt*+u zAhXm?R@!M|?a3jr@z>x#0b)u%uFYQnBIT?hA`vb8&jLrp{C9N7{hSEVG7a-1+n$3b zm^2e)Gx<+=*UPO$OVmlUtmTyaFErV~Nh}7ABMfSGiEI8j~3XLN^K#L2+fI>wv$dv8W-%1nlK<~$R@F62Mh6v6gdl3;}9fh0f@dSIW znbaOGvU`D_PNFr#39`a~_J`gzqV6)ZsFbCeS&`YqQE5*`#Q>1uwafixb`-;~XaNYn zPJMM9;FsE$f}M~v6M545CO`mk5tjojrvZ~3B&8uKQ*K=eOrl(b$f=BrID~S%Sxj;* zMlVfe+bI)(W+;|+yb6@kb`xt_p+}bXnE265qo8K3|H2$MlhUurXA!AJ$j ziy0Q=$3M<{fbJDR9_xdJagiMz?VFK@wbE#3e3%q&HMFxRZXG$C2VeMYD` z+P+1AtnDkqQ!Tt1Q*I}_$eO4upSJmg46P{bNeKM*?9=Hq`z%Ja8D;3*Y3f)MG162} z#$LCzg92H^EqE{HRKVPZ{7W^UDTfTGw*V7Wj(h_8Hz=d%#3b(H1nvFSMM(YaTxjcJ z?<8yIQqRgR0FE6bnc7zZ$eBhxS38C>QIS$<_N1B9-uE>EuEQ~cXLRmhZ`nFQSu3XG zrFOf7j8hd3MA1QPh|TLy(d+?O1#E+b`hZ1{H_dpFb)X+hZ8W220z?MQ>9ylMqa4Uu zJC-J3ntpp1Ml>z1#>SM=A%!LP5Xw&zrMTV_(^#n0LmEppG!|WTLFLorkV#iv3iLq? z)su_tDpDwPRb>IG6Gzpp59*@XNuRoga*U)K0B{`z(+B|OFsXyoR|qa@g%}u5fXt4= zVj!6cep)RdvS*>inM4P1Vj0MB=*1V@SSI zH;Jhxqm1ZGu=F(2)22c-F>}?V)SkCmSZ#txOlO_y@tgS6!Mc&LKwuZCbAfM$*!TkR zKQSa^r5qYfG~;dkG2%Va7)PnSNDMrRkLawH=Zns2&`Q`-i_smBtw4S%?}svgSp+;t zS1aQ&B^b9QL=wc5;+=zGau*FL@5fj+e5^)pGzbPtF14rH4r9T9j!)$h6w*byJlfNR zf@v7WU>iH?$pDPS$g>nu7ddGh%_2drYdEF$Me-$+Z#9&SRS` zo8;(NdlMEiP-tvlMDTNzhPP{U^6mxXk45RKT0`3KN%9J<;a|{K!<2^P zYTolSgD~pqqv}hm^(y9)($F+aX@I!$xA{gvX;_Kufu9FqN=!Mxq9LXnd@rUP(5NXC1Iu*f0Md(Qji_?)7J{5<#m3zTqAT-8C|gZLy30XhMm zW%G3n0r~=0pVhK?)V*9m*r+Q4cIrD(R|GPm-AAUb&(#D%Zm=h2Bc%@-!6x_ICEKQJ^GaXkUo!#`(|tUTn;&;)?cqr=ZG~& zr*A%|r-!Rwkgya-XUAu9ySfm$KQ)tM1|^DtWftocM*i4r4uMLuITu@)&Epe!sy>l} zSu%SUT++14g?g`oQ?VF|_UvgGiX|wqG;)7VEz;+5uAUlCVxA6@5N9-76R&6X6@iKw z(HZ|OeWlJ*?UYKn`fiTT_8IyN35$T8#sTu_s&ZCzvgf+2Ns)MMY?%eg88j6_zOuPy zyovxY$I(%1^OzjR`Mf?AEzRg1e__PD9y9BF+8_~~-@j;jm%h~e{t8XYx^&%3^YT%( z?Yp{&dzL;wXMX?m^j<@7`1JlDmBaK-`cKU4aJBh;^gUl{et&Ncz+G*A=hOQEq<+Tq zPV(nV&F_Zmxs?A)=l3h8_v*jbDfbYc-leZTzh_tqc&`wAK>%+A4s|2gE(fqAPWUI zUeNki+*r>mgF14_?5Q1YxtIi2n|?P@o{!S$Sm=|25WvJr3c@v_yq?do!&LRSg`$Wg zZrnn#h>DPf0?Jki!chx_q?;(N!3_GhRWtk#>D}Cnx<11;L0X3N*~Wa$OaKrGw!6qG_U{VYQ|@38PZ>= zW-Q@K*Oyi^fOvGNOq?=I%aHze)Qr#6GNjmKbkRlK%hil~hp8DK0A0*tT+KlLk;?LA z)eLL~#?=hcGIml~=wF}GG9)Od1oVqd4PU5c{4>G-3^n63wG4@?sDBeR;~Up}wwiH; zmhtBlUCWT-27|AlX7qLq*$e(c?Li_H`P_AX!`K)%mbARa^NXDART_NDZP<0)KxkJKNeFES8ZsX*jC zpp#BlAikphAd!J!+*eQ_zM}pheN_blLgx$ghcPpW@>kU#?iC?_`0V*tD-d5%e~>&4f%ww;gP$9^`QAp#%`3gi-f7pm@pRGTvMC#S`2fqLNr4)!~ z;0%Sm>5&S=U#>rxtA^xzLi%g> zIWBN@>MI){r2nOTj?dB`q_{QwpYHrZ1p@tdg#z&v^#`)Q{$Cm(q`%=l$6>=?pg;T= znV~;G|BQJo{GS*gB--8hKQurLw?D)U5a#+BTTd9Q2@5O4#@AsQKA6ZqUwQ(O2NNH| z)3Dco&E@8qhRbaS4F-4>6r`;E@be-_w0AJuml>MxDRAzk9(7eb#F8vev_X+Yr({rZgCC1Ag&GQq)eH~8%c=HbkzW)Tw+~Yj& z!=8O`?SE1Da=2bIt?eR@y~`Y8!D!FF-~RSq6Of2jyed31LC4Otw*PVm)!wsgKeZ+5 zA70KRc)weRoWmEgDs%3M3jZPag2R#7B04|Zj|oapu7!IlTI}fXnH+C=r--}S4aPQk zl!0~16(%A1uv9@+GUd`FRxW zvn7`OLDOELbQC4Od^p~p4E+I)cIUf8Jtkwf?%*iyOEPwf`-%<55BXb4hz5+&w<-Eg zjJ`)j-$~K8Ir<(QeUFL0lcR4-^gTBE9v6L!#t-GN)!2#G9}J@3r)ir1ZSOc~D=;eN z(R~Kr$NRrupHzST-OwMz2irv)F)?=PF~5(;;6Q6JlTtfOzJGksq&fwhDI%A>YJ_k3B3f2yv4QJ%`LyB{Ne5)n$8g{ClRkfq!I(= zQ1=B-bkvzW?Qs8YHnW25=e;h+ASkFQn07RMFs?-g@#hiVMyV zGoz@3iQA&XrhVoocoOU(|YUvylo{TeoX zLp7No<12&=m8%;>xv=vrJ_WIHHKO~Btg0v4IO3unapU7itQ{-2QcDG~sR>V=QmpPQ zEAPQM0eu)UA3E8>OkI+r^puJD27si;0pZr^xdUn0U?)p@5l?YA2WxM{?!G%xa~<{L zTk^a0;4!%)K|TaT-lHnqpgi>lyfevTnbX^|6HYzb2@%gfQsX&Ub*jR5hp%u4lTVl#0v!RbN*q}!O_EQ=K7E`@_Z88(KM zpKDGvu<`+Umf0XLun2v2&>6LAzQLfL?WpF9sO*TQMV*DW1IK7b)Q*l)e{C^qA)2tJ zz4U}sEr0`N$fWHfZe%SKtL>8rZ`SlYo^WNr@GYCK&W38B@KVZlN?DKO(D?_f;?~gl)5)Fl)twTY&Ex|n ze!2!308M=?7KP&>aPoMIz4$OFjDeoaTxm*xKKkxw#a@h|%+&_1cKy(SjpT4K9}FOB zhn~YwEfk`il!@D5eG^#mx(a+pb4q;Nax^=XQDK*rvWH!%AShlq=Rhx#0s^G9QK?B= z9(JYCCke3V0jKzc#)qAmhFv9V-Azbq-mkNFm}FwcD@28B-9ktXy?!v{Y27{iifr7? z=*rl|=#eX9pSWu5%B#c%o7MoomrT%q!M1}KSX^Uac|iFVmc*80Cvb#pbFHfc!n&Nh z!BDb03UV{$9_Zn;EouzrF>hQh@lEidSG4b~$#3^fvK=faMUQ-SX=~u>9 zUoE!f08JiEZRG#v==5IeKjggzGJHO7ACD(f$CbcJs82`IrOA3#bRt*H``8F{Bz@W- zXTU1~cV0EN=PI$)g^7Yd$C3WDjK-5CDpiOx!ITaC-evxYn>@cqT%PQ097H%0vn) z&g9>ecOBObS+QMlt!KqqN>e?6iPqvAF{P@f#7~UxCX&a9t_mu z73KvIkPxKYgdegHF~U3}dXM~GX>rq4(T)Ig%;*Z^1{{B^BC#Y_RrD$H)0l zJs8Pr!Gyja$IW`lsu6D5is$ZsHdui%LVITjR=L#-Yz@9_xz$2w`)-z7tvqIe+?vW` ztYKFfQUHGuz4~s~)-K9Dq^&JeZ$1~DGz1@#6nTf4zh*>uWTMJnV;AG4+5OdX1!M{E z{z++40To}oi&C1Ti2ljDDW!>8hD6>|Df~Q(+Lg;Sp5rBb%@>?!*{A3DB|+*{D2H|OZVp_BWSzWU|I*Qz+^K)*XiVBGJ&~GA`E|-z6ZHl+>G&q< z4UTe1qTXQ6A#qrz;AW?HU?MeqI4Hg8F;IHbIVcHj)SLckSZoLuF~e|JIy=N*nK|8J zXr<|2M8!B-g)vZ9;|WRBnL<~TI7w2X`N5@w;L^S+2=s&9`!Z*s7YyFf_->>GjPk;z z6i7l~Gjf2W(N#FDw-3Q@jgw=d@K5&$*8j%ecS{9pCjK;pKb(WOQc19mbqm(T!~UK{ zIHuBI^5E+-_WdH51I+S7R%oJw`gJfcL>x|Q ztu&hXEFP=lvd0qFRaxC2yN9N=g_zd7t8m`E&YE5q!Ln!+oJT+On6Ui22<6Aj_SYarmSO*TP_e$qMTAb)9k6;qd4$*YxN}b@0DY^oR)3y$6*r&`@eJR!2`zaTh6zS@{+A+KHaT{AHOnX=Tu`p=d)h zhmq!hIjS@FVd>!eJNA0RyV|!=EQAH6F5U9o^m$KzyJPpOxlzFLBip>+|Sqw=;Y*#9d8P#5oRp?xE zjSV$kc}0U+3DE5YaK>?&mn$y1tO1J&{EIFobaRK!oY5}D(q^_~PM&R{b$Zoc@E&ue zZzA0P&jN?w_8vU3U`%O?ukwBYXq$`$MsefI)YC1rbPGO$18m*F?P*XBAevD|?)WpU zLqiFysS%&B^ROmb@r9ivNO2xs$ah9+7h-{by2f28Y5Ov$=u!2juf;2RhQN2^9!d^* z|4zPS@LdCPWhXKBK>9qBlBCQt_2H!9e#%sIdH@tEI(;ss*wp7>363U$=CeT{RYM^0 zyC_Hy(zLoy$Udzv5<~BsVR|;5R+3xb)mV)INa$O7;Acf-5c z4eRd7P6*mn;wg7Gb9N_F%31GCfMj%b>kw?tGn3|*5FF>=q?x5iM*&Im^YZi zu0db)-8kbUa1{MNLK}eI8R~y44qAt8uRGiWwNA(l=egRuV01hPh=rUE;X+OVsc+V>ygi<-TI4;u_7LhF9MShE zj;lo=w6ia!R}D^CXP&UwVpwNQS&aE0)36~EqAq2b-57$MQ!P_d`2OIqNv&laItCOs zc1C-GcLMEyxp?UcUb>5glRLylI+K)reAU)XhTz=>T(HqxG)7}#+zpf5;p>a_RZ|(p zx}%9a+p#0CPpHHa0;hb-)TT11fjqS@kF`*)pebL^$hrE+P|GAP8>pNsvvPi!y0ilF zx0Q;-OthJ36v!5zCqbF#hsqDllfy;<&6Xcle$rHrRwQ^=g_}sW)4%=Q#C%O8L*x8DGcgN{KREux+QJ=ikI;MVF&#DdNP9e+Ks<^CfX39kb7Fp*G+k zMEZ8Z9%YwVY}+ZP<7DkPvevF8Pp-FewZ0Tb$Y*xEskE(Od$EOxrja9B5AD`Z&TZhsn@U&~Ali5)|1pnVY3lOyvr&LZ&7G$`4_>o+d^b z{Di3lfdX9x10b7APNj*4>2PLGCBhC9Kg8!yAm)=o`=L0o9)K|IaBZQ9GzUkQ@7ns- ztq2LevGuLHDIhlf3D0P3kSB_MB1pXy&A`pvxFe$RU37xDZwzbN4BiS_nuD_p5b{bB zRUqy&G$)DsW+pT@5mP$ zD%^=7BMsMKbP*bRl9o#6^&w69+V8bC5SW@#T)1llFvfLXIdYvCcx4PX0W|-eU|lT) z13hR2JGR1 zOA+~~pe#2BXBw0w@7K^a;ptBcGDNjqwOW7>Sb&4Zh8pImiDZ{hTr6JK$I<>e$=-`x+*m4Ug9KERE)4c{-DFMF3nQ4IH zq3obV4AE%0B}OLLyyHDE3}zJM_N#;34KScK2f2stpZPRQblRt3QqxvY(@1fRPA*}N z7||pgAhhUTI6#o8=fVNLgNu;*r~iT&I;I3jn5u^Nbn^ZTXHRviCc*w3uZ>F)bcPu) z&>5z^dhWV-ZqgfLT}PS4#;16Ug$nRuP&*EvKkjei-EzUem#U2;xQ1=9B0sjdZ=Da> zF0D4`YjwKztdlmPW63FKH%(Q+nX%mj79i9P!mb(&q#>lesMk#J*fH%zN-a}=@u&C* z@1PM-Y*hklC`WOs67V9RHytcSgI0=;+CLIgU47JIWdCF_%F%c!wwymnLj@OJu`MNt z#1b;Fg5JeBEU=OXrm?_M3hX!nn4riGlKIMuB&xCgn!p#n)TvJsVWeS8IKvjI# z%fIJ>frt6vYa2nva3BZS=wCQM3m`p|7Y`N0Lz(fAJsOf<<4nWAMd*LN$DbAIG2%Ws z?L}Hvt4p2005{47Xp>fl{CqSdzoxqfaBky8Q$sz;yeRFzsyD@ol9~ny3y#qzDWe=Q zcxkZuz+;3vcx=}%B%R4_z))hmMM|Ka(s-Nno=OG~CD6!YuL6pi3{dy}LWgvcM%@l- zJ!@xMC=p%oA^Qo{c>a_Qk%WYU*H9}_e|)UlR7OxZhBzPDw-{fy?I1ckc$e_SIPWej zD2fYHpFvj+>&f7bLPFq}`kOsER(Am_z3#E7JGg^b2g(1sC))mrg!L9ql@R0g0PCL+ z5w_ z&Q(54H_{afHkz|y1hCH-7%z6Ai}@__1_Brxd=kTjh&>U^Xb=!Owj!|LEWCaM*yNAA z8It_k6KFe`Y%r~l$PnDInCNm$ZTPuP#*3&&2TG=`;0{$M<9*R&ny2+-95zF8re1n> zH2Kwd@-;|iTZow?a!TQn?_N?DXskrlg)9Ws2jSEeRTpTbChprp(c-?q6ud(3nqh+6 z7x>1oaCR)LY?+FnUWxp!Nk_|udf_$Vy#|*|SgF}z_&=uMEezcgf=fpD^$v8M4Y}7^ zVLWC(;fuM~sJ+@=&K7(7dAI~m^#B?O9jQxw1p#9hS(~-J)Ohu0u?TH1t<|)>L{RlH z#KK@)Xl$3I1DUxeaKDe$hFi>FFgRswpn|rO#shd!Y#Ah))EBVYB3yS#EHE&#T!4>neL&AG zfkDPqIEn6(z>=jDVmM<`J3n1cXUVa7yBG$Txn;C_cuZaMv8K(S1-Ixw2nw@#nTC0J zY@R)3UO{Y)7U-m2jarDDY|8;OkM@HDdLRq4RI(E2=CM=zZe%;oAgIhsV_PULo}$dl zQYxn^0ZL^7>Jphx3I-+6$)l*pmo{tE6BtWEg)=KX@z zjlb9N=UFLOAI0C^m4akFhQRbyLw|Q8d=!7f)$sm|h3qX{PFxjX7jR!0x5NF2C`XpL zo1y{#VFb{Vitn8N6S46*baQ?{#Z&at%39|7yD`k8@Gbc6W`Q)Ke{z8CkrNwx5J^|T z2CM{VM;bl1q~e*~#a^T=%Iv)K4{6^ZqLdUUYo@UQr7WlSr&R1JWytkx2Ng>{uDJ4) za#fjIfE@&AXX2i>5<-0mMtn#F%~p&Zg#lQt^POsKvIp0$_B#&OB=(I%fWi8ATyaw> zZ4N0FIf`qVHy?XRtm0udw@^KL3R)L-i`?gI72a%ABp=75d+qKY++hQ}2FkVZ4??9`M%1_gWrecxs~ zfQBR(7pAem5kRud&LGR?K;I}pV>KCaKtNW5yu*Z-4kR-M#7==N)C?nbs-nd$W%DZ* zu#*^irQIYptypC>!doN8#cW3-dSlaUL$gzZry04XO^~9#X({UIw;+_da5dCj3eU&p zm|4Q6Dy=!gK#pkWCh|p-16CcW)HqT(F{Gv;(B~e$1km8CJKG%O@U$AMF{w0XW=7$nMlt2jCJY(cKb(|yyUWk_YqcK6H^b3-!GmYGwU}QJw|JP~ZDa?=ArJ3;8Xi`C%%lY6ZAFaTZ-;9W?moq}n+ zd3J()!Qi_QrLRYqTq~nqpEci;>Py~~P+;^VPPH`8GO`zm0yNlX5Mf+Kwxbyl=-x*3 z{67NAXg5!c_VRV$jdS1)>SwXB95xb3;YF_A*=!5Jug^DlCqP$4Ft}qUo^mKtnPXDS zN{TYmRPPv(8oXy%DwanmK>y+Ss4Z8fuC16T&r)r*3AG``15XYKvW+ z9#YC17gi|Fy}`YY5i+9`-~P&ANsr=w)iEG8Hd5UD%;3yS#kte*k=R&65kIi9C1&>h zRCc#Tsd~)#j^cY-aqqDmWuAV=QAw%W#eS$NzUP^5zvAA_ZMpB%nuBwCdb6nXtO4dZ zXACRO12*JIP<)$_(E)MT8JyMQEoC3mg?hdt%-1O&7xL%Ab9;X+wiG%&$;@{o|NAO^ z-%dLe*f%jV_uhsObs@voe3N2TaQ@f*sxr&eONL^(t`XA!nR&2D<=)MF2NYi$^F20& zo|}0sdnQm_`+e{hZ!>#tnNoFNf_pP_Z&uu!DegeR+6nAfw)-)~eSo>2Pj~O3gzr*9 z?RQw+URILY5GDlj-A~tk!vpzWV$FB&s>uWv>~1@CMhfk@mG4w45mcrlrZ*D^p#^9Z zZ-gA`VZ|m&w;~;=!)X^bMR+(L5%(N79RI@;1{rsoeBqk4V(y8T zNb^+6k3h!q0uHJCY2<)+@vgNZE8m^{4q<(~m$tPXWvQNNNGh?ey#?rHUt(3yV-G#O zYPYd&7x{%fVXJzYFkO<$s-95L&Fjpp#L~B%mG8Bo&#kJ-xiOj&H5P?l=Eq^vXB4jUGyDJ7PavJBkt<$e{c2S)U-$9Q4aMmPMQAWm#Y zgP3zCA?n=25`sVMVRPV#uowKdQz+r z?bvJ!mUkU=c42bsVJ}iv#dn6CPjBHt_gPqSm%-4Ba;$DA2Hpaganb3=)Dmv~_07t6 zHu`R3<$G|oG@G}=*2SdamExWdemr5%an;dPn@Owl+UwaU#{dk+0-oa>Io>hsTC~Am z4685hcy|x#=Sgn;IxvNu=}54F2BQO4!{@f;p6Fo86P&|UaeF?d5Ln}*$K2{YG{R(KE-}D3&C%EjR@#5nlrS9yeki~>useN6+)_RJB^L-KA z==<4q(TO8HI>p(*gA-50CXVUIt56m;26n4cF^~G8QZfC9iuE3k6*K9@NCQH#jw_1| ztL(XWsiQO=;*}lv+){PXQj*w68|OpCgwHKj9Ixy?y%eFys`^JLX?14>uS?taJeolp zDcZih2&pgcj82H6{{wvUblkrb&!FuidaG~na|ISM(T51Yb|Uzu4vR^yI|IUF#oZwm zb%Le})O6^OL(0Wbb$3^cgdOO5g%{;h_7IL-i>!+X-dW&?prmIxs;!x(t;ta*458?v zx{)KEp+H-cr$&AhZ^LAsfzGzjo<5!VIm?>7h}3;{`BphNZme;!*|yHY3ezxZKW0tq zkR#>_@<-OM0CHp4IhQMhm5c# zoH^f}-Ub_qvCDSISbomt?lG1}Y;M(f(speAf*5(!cmIh9lSRFT>vROocQ%$p@H%)Z zbRp3{fR54oltzv;q67Pm#yW5mupHKbl?%!6%Z|p_Q-`iTGz6IDOtfpL+KB3orTR8# zzMi3!b82ohMQZb{%y*vgRz-KuFzmgl_-zb!E&V#i+)m!xtP}Hf%T^GXg__-$LTZ{0 zsu{Eog;Z;^^8&qbN&IRkzZZk}Ne>e|AP!Su@Ubsp*sPIwliq<*(WU?X5B(C!YJq*Y z+OXQpH-pI5xX8nMUAKc5$L!!Zq=I9T*y&xkI*Xqe;7cvv_-IBYDb6yq3!?uB z3+&WQyU_snIw|~U2r+5IQy_7#w>#ky)Nqh1X7H>_3eGVEEt}{t(@AW>b~2YqnM?Zi zZP0%lRTj^GL3t=Qdrl2Ik`|Z5@x9>-?8SQO>f)l%pT?d)CI8+4o}8h*NRHCli{uNY ztx46SHCFYW-%<>@S(6o?_+tUK>vF(FY9{zlUr72%;NTF>H?$YQ2UrQvRxRZh@YZTe zwb~N(Bi^aB?DW%SZ1e|Rf#gvGEMy!cX`Zs)a&=A3MJzHvSxG zBTwqUqbGV;r!ab2C+cyi)L4~Vxx)lcAFRg2&9z`^t#)NFz~|~?TCKD~5tKqxFhIoT zLG@2ip7g2zAJ~?yU`TzRn{WB(yHK7JRVtCKraGNn4?EbGR+jc@XD2;RWw^Lo?yp1@ zQDVFl<%xgrVht3f{EFnf@+-b(tVsLxQ7+a%iM$l;zco;%I1FBnM=6hzTvs05j3@iy z6=+amycFe$fAC@r6h)`0q9-2D2P@Oq^pS{24BC~_G>cE-wL&v zVV(!YfL{*kqkmz3Z8?SdGPQlAkC7T9;H~~AHl#3!^iq@^xFowQIB9oO{QSEy%CWpt!O5-Mm&nyAn|6bf?+5iaCoORg!`Ma|}1BgIeXw9;A! zRq6{S$1#2lZTs4(SRUbOa9r@5d9cWyX-GeY+xO`QAf~aS=(-$rIkqyW7VZ<(x(kSt zmzA^!wQMR*VB3iaaWTL(WEtVkH{39S`?8}7?r=40Q8+eBle><>%j%YqrS@y0x*+LU z_3Q06!FQup3tucg5{_!MR`uXNMg^ScKfvwZErgA3=4pBw!Ql3tc*>#ShMXqKL;rLN zfmB4C3>+t-M%960j2|gfnyQfzC!pxb)iGse8k}7DCylKzk0eNxAhmG3xCRyGx>+7R7@lqwRNU`&J+~+$aCx765Ic4`@EPx1Q?YkizgH z0LA&JR$6FO_u&_f$`VNa@lUp_B)c1onu>j$^blPEjy)dodLQK(i&Gn;K^JzK;%Iwp zp>`*oq)*_rk)WX3wi8tRKvStb4KDSxiH0pLg~!sbZSblcb1h=P0{Y;@!ds%8K>Oct zneWIx2?fbzNe?O833-B{G;!=Xop4%#;JM7oTuYb(qSl1DbfQqqd3@-EeQZB{ADQaa zIbY)_hWVjpy=Zhl9rv$Xao#?*p}voAsEe_(UDU1k$9LMoT$Ipfm|q`5;~~s{07#D` zV~QRkaiNDuK%;TPxG8uowV!wo4R*|hbS2L=^1g;>H6j=nt)IYF8~;s6odxD!tCt0X z@Xaam5d@r4Fe?}&H=4RNalK%@5r2>1Z$_P9t=fQ1DE!@zqd!NEMDIT#heGB~gDC=2 z3=WzsD`gu>V2PmvFA*GgiQwdnGqXb1Qo@DQT9}ipa!Wk|R{VI~2D7rvqLt$i42jY$ z8_-m-@nJlJ%~PEq{skN(d=Q_SJvb<1UUFuVcOLA2IFEy$6g+Ih0U#&2oC6-(@3xD9 z23`kF*<>ux)~4Z@%{Ne|JCj%q9?J%Jw5QB8gyE3B$>CA0AY{q~;4_Etq4{TBRsKumoDbswg!zYKtn zX>?pJU{0GWN0PjEM@PBu7EHc4XLD5jE}R*!6b60REHKbXCq7w05h$F-{qKgkcH$BP z@CN|jAV)@f)8t4R_U&DTr6b&(<0fjPYfKp<-Ih$vj)aWhCB`#Xv7){TNy#b3Pt zqY6hue;dSI+>8U0j~U0mGRglh6=ziZWpK4*PCGvwtoTdu74$E{bG1;WJYIx=^5YUb z)pu{^<1Oe<1tIwfW8_d@*JI^h6Bw|EjK)g-x5dUs5MWOHc&1hH7oY^pV_0b{^uJvz z@}K;y7ivbaF7|O>5`1p!h1^f@;{q?FA*1p*RX{^rz`3kzVXEv}YsJ+BxSPiDVeKa{ zCU(^hDEDn8 zLpnV0V#z_I+LAuaK5(?=?pD>T3 zaM(|I(E|eW6S3%Y2bK}*sE=8ceBYZ@sQ*CDsX5hbP6?Y;I?0_j3FgT;Ym`}D%{Mjp zICZe*%hFyTCe>abu3U(9yY>R{-hAx^VpdhWq)Axn*|Fy;hW(Ersu^Ram4;K4MSj_e zPRFGqxW9&uRQ6)6M&g<)==y`y^nTb6_?-{+Kr-|{W6!@Se_$XT*b7}fi!k@ig*J*n z?A{lwM=|GP!6b8k|Q0W=5u(+MItUwXW z|F_Al)l`djB6KhW^b+%N?tx!M6c?T|dg>hgiR0H+6gAXd6Fr+w$GFTCv(}IHQe8NN9@BC#!_)jv`r`xW zB;2eq!*W!%q#Gb*g2DBP5VVN3tQO;h8cym+V}9?Fb|?D3Gk(m?$~ zOAT+Tqt%QIKK!hu1#hv@h9_$w7XbVg9G;jGZ-i8d)L@E9f88-BRn)x#M#B&)27ZSe zQ9D*4dSiO9=`obY_Cjnc21k?5kin3SBn|fAmk6Jr{RdW}8cXm#_SR@;#Q~9NL?07m%lsL)SN@T#rNv%W#w!xeoq4Sy0*D8wALvpK% zVggL)N-L2DxBKU_rXMSad+jQv^o-;W{+G4<*^$A~vgQ?C*Y7wj zZtOrDj@twrwSXD1lO45)z+PV^b+ftytT1a+QI0mf zXrjidx>(&CzP0fFmfzH5XSaq*DqS5v@M@PsCFf0oQK$UScxmd*E2!lP?q9 z#EtooC$+aR-o$)fLfkkRaeX&L&-N|CLXqfz@t>@hXK_aH3=L)5yDqc0oU~@h(w(2V#AI&YE-q9mM;F`^Vv|A%_|57uB&%qJaX* zfhP`6K1Vz#%5PFd(H=R1onhuX%fPgwe3Km;OukI$AFvIR0eLTTK96mGz7w$*8L{IH ze&>A@8ag*zN8lK5%PU+2$kdYT3v62fwLiT}aXt@~IvYPT?|uU(X42iNQrCmcUi|LU zD9<=70LI|AAF<;LKdf%ZUR-r@CxJ}HkX)MuY>e(RMqj_Urz-)DTA@F{NdebvzT$4;E>Yb5ZS`Q#7w?!y=tsODC{fyjyX$AzdkdmG-~~92dpFt;DIL9Zopw z*r}A|SFDRJpF1hYxO4>vXsgcQrmuXlhkxRM~821Mn zk?qP{425P|2gwzFgcB2yY8k-syOb^YX@pu%FjvFqv2_-}#2P zaTX%_lA{CfJ?bhBfV~2ig#DL~H;g^O@!T0C)_xsp&R4n-s<|O7>$5b8<1pu1WQ#Au zbb%xDX;GJ#xWC{CleuJUSDZM@Y7FTTR6!dK+S=JR60X_XNKz@zZu|tQRDMR6wdw7~ zS11vVHMS3xy5}*D=>p1po_B3!@Hsw}-|3yh>W;8&Par3AcID6N_uN^VnEyl7bL%iq z0Jf8oW1awG;G-hTWTn^SZDgX?9C!L&Wp(iQIl!cCX_U8}u?)PELt!qgsFh(ZmMG-C zo;f=maw@O$OzllD$jDZF)Lci?+8Kp^Ad3>qf`!91SPNZTYf)Yy@XB)p-0@ryp5zbX zc%={_N-ZS)L*WUUuTwX9zK%QHx;5V$nh#r%N7P@vL&BamPrnH^FrurS-8N^J;~ujw z-7(wZyH@W&LR8Ty_#DkyaaEJge|+|vN(adXupj^S&gMViDQP$~UYmz$@)X>(UgW%7yfphGrTh#XUE!<@v3m|cCUu=Z zKIy~ck68H|%y&j?%*K3%)8M#HgnkfpGF%03!m^KT;V=SJGJ8z=EEBFn_1&)DUDcN* zUrO}lASaIc>p5Zn|8!O}vI?1kCz*U{qN>hvc8Yaeq0{g_E#Mjru0yGTBGb?PXs5%M zChD83V6zUsx#UMH4*((GjrrTo(fitP60paTR0`wr2mFgIcOJ1CU*QdyooeF)nN?WX z+*H!#;CvSm_c$X4rA|Gr(jBpGI1CTeCV6gyM(CN!u4Nlcu=j|&-ZY#)ZahKT0zD9XDDb{%HdH*{pTa`JqAh&&Jf4Dv5Z zAG&&BonAB|%HKnX)P^qZaL-(DyoWv)CcU8tEXdqFm6&Shv)Abggt~6^{n#=cXD3k< zy@AEQ!&U7w2j{MFYH$FhqCsY%11YbVXLr2ltXa{k|^~?r`a4zuV zD?A1RNoNbpPzl7z;aS5On$LPKkwrl)3dNXQXCq!*A|0O?KE3?hBv;9#iqdSfmt}Hlq1*UT%9tu)aj8uz-;5!)MognVK&{ z^QCFNRQxO=89;nyb$UNZ^r_sC0sHR|fO?#1z%_B7U;58|@zRd5k*RcPmGYjyo@gH^4-d5qP9dM7|EA@}CvD5Ks2NX^dopEER9eIP$DD9AJR zzHR^z|8I~QPNWYahVE8^s~*^|)kpED&XndGtkqUL)UVwPz)LXAO;N|_ zxihORlxn8bj+-b|hX{!v-2OIdgo6XvMpI`XqVa9tY&93VENlRKtKNwfs$0ht?kqmb z>I5{C-HAQS@g{)NPHBm2I_X+5sjyGnRP}-8dtdzz%8v_t!OSa_u>dJ70mB^XSe>N4 zhomDQ#M4BGd1%5jR2tq(bQ+ z2a@t+PAB;R3EA^e6^~4$sGYC~FDYvcnG$8W&WzFCnBWnrXL>PekZo^|C zUDd1}qACY~139=qiw`~e$K=}@i>B=YJ-Tl&8Vzv1uVadvv=DlXSv`q(*qEbS^)mWv z$-)XsSdF57O~R2#&FCx9fsm#eh3&mVk1FC=;0j(GMZvWWIn|CQaDQ5SEYZ$5w4)C8 zfSUWs5WTJ>6^2FyyQ2`D58U{0umK9g?=SK}8RLs(#PT#E>nsLeqAG)XhbsFeu!sFQ zngv}p-c$x=@|m^q0s_^eO+uSC-i%g&|+KTXCqZ{q5NCBL2W z?7Bk+t1?#d(rf%0dfxCbJ@2Td=ZuwjuG&0)D}Rk`NURV}T!$B79!^}(lWE{K zM?zw8VJJU&)J{r9Lxd@<~ zsC;ei?+agPMXzX%V_uX0sPAj)V~_!?6KkQQm*yd{ZyaLBj7=#fL##EqQ{mX2KfWA; z8fY%-sD1)sNgHoREgcg7P``^Yy`*FR(@5ypznh-w{}9v?lWexby;%Jq_LYDyY8tj? zDp*MYF0p@cW@>PLnz0LkQ4bAd89#EI!g&q1#WBZ%h5IbC5w}lwdhk=US&mb_Kj4CJ zY&W*|U8qp+!XU-|vo~|)GbDgppGUo{%+!Zn6E8#)J3Ju%Y8(XO!0m0zI`$ftb*N)e z0tJ%P9E|h6G(Pal)Vu9K9?{0z+d9-+zlLi%4IPlwU4Yrxwgf}3Lp=Zy(AehVIgVuU zaFY5mBBj1RBDZ<~aq7?UjSnCL{qtuIGDg!4CJ31ek!8-E_)Ps*u`J;I+|cpglo3JvIjs*cr( zYL7s(fw@}U4S;S83ljSK-S@)tmAt|QtFP)AczszL_R~k16Z&@POUaNVtMZ%C(N-UB zqB4{9)tViWpea2EsYf%P_v`XHyRiPIsLbDMfX@X?0YdH}?qk*_J{Dpjl627ww_h<; zQP=$ugaj z(k0hIh_1FDaiEDfHT&BstBoqwC_>m|KZ3>wxon~R#a*LF7F!hmW;93%Hq-O*Mtc6Z zo}Mqzu?XeY>+oE)`SD%+B?X`0?;m^l%fE)d{^eo*`b9NfJGc0E;>DaMY_TB_q`=b% zgn7jz&RF5#YHYx5<*B;~mFs~DN&uU%bN6^bC=5IIkRk$0n>IcR10RQ-7i;I=4oXfK zzan}Yu74Xs>2ilI)#1bnNkn2D%wvIeVMepTUBVKm1oGrJh>jf#D_Xr^f>-E)Q}h!m z*KLvr=(_Lxk2<(qp4?6N%l&pq z9&3eAG^`$@_B^SN)}Mk<@&f~~AfT??L&3T;3&nqCAAbio57wHLd1h?>R$_6F4S=&) zcQu^cg=WREdlH&v%fS$vaLymH-eEfWeAWHSi3P zLGDZlClYChSDvMq^C1jV?8IzCgxqP;Q)woQrwV584=5Lo9)CagkZ8bqvmd8vY2>;G zR*zaX>7e7FuQCeWtOLLh)d74Wb!2)Sa%ZLTv8&$!90u}ku$%f3U6hrHkH z%LGcmNa(vx)-HQ*tmcT2mZ@Q%u#e0ojJGNRn z)dhMq)vheIs5L+U8Y~q&#qKt%m%stkL7GH!>NGB8yeSndr%dfm1;B$#FoS)F=|*h@ z5o0s=Nay41|XZ4Tp)>v7sNp0l8RQ1+O(4YQEN8qw$5%(3@&FHuFb`u3B>e1<{J}u> zF&)I((%>#T@(B7%61L(;V3P1xY^6sgJ#y#)7YnJlj2X8!g{owg|INXF#KKq>4nuUC>PM z@>t@=jP{sktAzo79 z>_pm1UPjw;qU|}+!JJk5*#X$~UfhgZ0^$pKPnU9UY|E*LZ=KE)ur8KS%FsnW%87oM zLV#G=EDCvH{w%@h$5mbUs0d9UH8O{mC5a%*z;M=qy$mkaYqWTPWv~-5Bg=pd>9lLi zP~J5PvIL;sudD)D-EgQ&LN$Zcb7{umT5Ti7?V&j6#pXxJHBHvEtmZ`cG7fG&KM^+4 z1L3^$*IdAIHhq7@T;C__dEFmb&?nmqdchyP>T23H<>vb`$WO}pbwqT|iY{no>hjK2 zcdJK$K(bTnGq3R#mU<(0w2)R-R9Wetrt=Z4al`ipb@_xHo$ra==vz`6T3WfR@;WAT zVh>DIMY$OUaV-XMt;^&5E_1KDEikx7o6m?oQpm$?uYh4}+`f7U9s6$+NnFp{5Rwtp z;z5SMw|qsb*qvaf z5fd}WA1}`|qCHTXA1{RN{P;)H<7=izkID1CD*t8vP9KElOrE;sX`4I=k^1qUb^A)Uo+r9 z{r4*N*cChV%F~E?<#DK9PxM%(v1-Dn{vR`FnejFB&0x?nE#-gu;8zFu;MWbX>4|Uu z18b|>{#M}$P3euJt`r-H_7pn_Vz^h&lixF8T6$7H{Y~^OcOvg@T`bRtze@3qayh`C z;%|UIXQFJB+D6_tElg=#l;Wf?%<|q&ldvARvDg!AV|>QA_-wy!w$z@3HhXg0U3?}7 zR06|B-!k0!yP6gz8W$zLbu|YgMn2VL&Y+CB7hnN3`k^QKk>|@#e=`8kH*W#hS}u+J z-NWCb{3RPD07~N`_Xyzh^YMV$dF(U++!*T3(RNu8VgHrix>|Z=KSn;bSJtZPx({o4 zUH6e(`C{q(eJhhoc`ldb)45a?arse*%bJy3Hr(v+I9HR+s34oMf^5bQ$Y%VQY{pu$ z8HRCllBcSLC`C3h0IQ}%Kg^AOM3JF(G&glMGdlNZOSk0fI@*FrH4)Bca2O&&k&M#( zkt9Yem|TDKqZF{Q^aX}0^06~6mK&x>V#N6&dkt?3{bPO{G+N#t6|QpFDm}~7WzNfT zE0?vooK>mW#H(eNR**z*NUtj5@}m%!H7mJnxS1C}AdMb!SxXunj6WfxW;2jiMIHdS z6@1nS!^l3-*pxd7F z3m07(Ihte(uM`GOFx^mxo`z8%j#d7yQfw`BsnJan8&6(nNU;``%I1`+!DisH;>f3! zJw0$WP%s^4dA-;AF7u|kciji6UjFjazvnExY^LNWG9Z|MJ zO6`%0+#ws2h|f;5qUHQ*%h!)6eOL+};$l?GZH-5XZY9~_Y|+e|pqR0!RO(G+hwOS- zMsy;2*i*&izB-k(T0jejt`Kat!UHZ$=LqxUD0d*lBFur1zn%K)aGlHGjA8cPD>C z!2S>D{fXq>_=nT`HUf1-hc%XLDALlzyAn&e9H%#dLWs2MPbl~7~N7l8A%H-3IwwAo!zkbs9MjQCF5e{|oJ zj_@SdvETs2cC5K0sj?h^X;~EbB65h`uTu$f3d37rovgJs;3KKn%*h;(Nw{4^gXm!WoG*MU> z9vy8#B^>$8e6hhm+&Eq`-s%+SMWx-}|4S8csbe&%njm!H{ng+vt4wV(~rwLF$; z*YY^ORC4-On&B+?t+axF^VSCWN!!}Q55B{p8t?EBSH_lmt<1zv3=jPrPUbUL(z6~v ze2Bw*A+0VJY4w@!z#s&@iRtPG3~{AMo{_+-^QhbrJgbwqKS7cVVMpOWp`S`25q(dS z%3e7{Wgpkh*=WGLvBUmnN}@w~s*%S#QVRBqg?qY*WC}~oIigcAUxp37|4v>9+QZ`u z`uDwDR#r9)clDM(BUczB9;RcfpW$BRie$(E%uFxLiHxtFfn=^aPjn2Iqp7T{te#ye z{MRf=xj?57X@;B`ZD|{62oGCt8$K#0m?LSGFdY(c2U157udAOU#oDdsU_o=;dauk= z|6R;cofJKsBZgg(lN6s#tguG2tkf>5m$dnAmMKg0a9!%7vV(+;WRSx<+ z(Syc=ioYWvt;UeL!l^r%|6c9cWVfqkF!*#|j2Wg=wOLe6K%j?G#83yGZG=sXl>3%6 zu3s2oxVhb8N;91sR_u(YY(=^^a-KG?s4LV8^wYQ63iP=-k&~jghR3b(MW0gC;tIQw zt6}(HuRxg<@!&wH`oZhrDyj7ryVfb?)z6T^3Enmzt`Dxy00Lu}J6;}LKj4zVA&;>6 z4w7KbJs{s5)qje}($sHld8^$bDPmft?zR(`wcamNXk&8ZGevubv{DSNCb725qZ}x4 z8fUtNC#qjDBWsL_%VX2kYYd***7G_2sZj5qg<+hB%+K9JRRyrHDhKK4{R>`3IEZ?E z<_vE5Knzw|?JSsCvkk>tyhKh_EX8I9^V-r1EJ?Ren`o|%&?9v!46m@)x$KL4il`K> z8sCc8EX%l9KCBEGOE2!ZJ%q-pSFNFFbbFSZJvWi`;s<8YBsNt?ADAsSZ(3I|En@5Y zL*?oxr%`bS`<(sQj|Ka!vpK}feA(Pqcv;vRFY?SSoP~b6J(eLgh<5nRShmy=Qa=&N zYs^^RkJwdi&DLSW3`d{E$mM{bGb^G~uwL`F3*#=DHoEPNP3P2W4685RiDt0&inAgZ zNNqU_`-nw6TQd`Gb{}a?qZ-o}HjP?Da8v(tSTsJJM=O-}jd;DtXbKLpBu+uCSidv! z`0U)UXZGmG?BgVo&LLm ziM`4iTTJtww)E>40%>#PV`)7+r*?h974g!3!R*oDZ?JX8;yj$DyQsU@HO1-Pq7nT| zxEJ-T2AA3ux~Q<{A|3&l!3Jix5uMDS0`D+M^wu$#6IZM*gyxX3;FY7C`MG2DdHz3? zWVXDUYPNAkR?C{x;+}DwU7zRpk22 z=5e_wC7bygtU?20yy(jbE3aH*a+*Z!)IpLIf=1cKgQ<_rdqBT91|MEij$4%+n9^$YKiApvPc+Gz1Ya;w3 z7K~xxP#6EnQ2v)BhJUcX_VYR6OQm~RlHFD$T!aHNll6Zg*wxa5ND)h;#^ub#0rl_N z=A^&U-O)6m{*}l>*7yo_4zmO3Oi$;DnPvDD@oEy)6SnjCpgcx-Ow5$3)Rp>H zN@^_`+TNZC%$^!wb+wS$pLX%_zki4sCUpC`v4EbW+cRX{^kRQLWa27kEq%pqQ|PyN z-w6qCm-0!>3V!Islk>3YHfLeksu?6`(73+Rv~~$ zj{NnSCBcJXy>SFHc0_m_Kzl7GO$G8(OvSz(#B;@$r8haKy)@)hE%mz09FDRr zczxfC1>5%R2oRASPmpDYIhQwhB>V?#1jJ+Si1lkxb!3!lyIi|?CH1&snfe;?n1(!s zysVfNNvfVsn_$8@R2?}+V%#H*zA_bLQBtvUnVkr`< zcPeSD+E1YGPXNdXoyAMOi%!1P|zHHN(9nMIc27w-f+WBT9_K z%cOcl{-LKI^9jk-Z66zK#>R%Ik0T8hn-G-*&zY2D9g_n9@hmDubDz5909 zb|^zjgGsS7VW#)`TfC9%isx6t#uZ*39+S94rBY#K>~fL6u|TRr%S4t1f1s*ZuuNjr z1)j0ZD%901I6We)6tSuZpA?;QEgf)$)6{n_v@I(})NrS+!GS?IgVn+aiunb+XQM2N z8(+s{eJZu02?PIy&(KR^$THo6S11}`<)^M=6m8^SF7cLw_*v{iZ^l3zq2?!Zrlk5F zOQS}!68DXfRRn&hFh9@#q{(wR3Vp~&nwHnDkOLhW$EX>S{VeO{frX*HwJ7}um!i!mM2z9xDF7UXUep@nVm%H)9L5^vig zpDVrsLyGWdB0;(F!?UuZbE;*?BIEC$)y8*r-#=S^=6ft-Zn>I->J%l`T5nm%EM6QN zYZe#B#;M8RfK0C&#&acd3d4jl^?6xGi9>=UKa{`g=r&q#g-`ZB;TeBfYNVJ^ zxolq4N?9|bZ<{;P6Zedtn((_^a|XDqeckko52Qx+MJ*43&$lE72M43uJoq`aJzUGb z@Lm@6b*)<7PXN&!DPnkF)5I6ycO0y2hmEkm8Du3C*aL3SKpe-N8~oU91eKqv_0^>*|qj( z?6fjefY#exJ~|43hBH&e8aI3a^L4mLy)F{TDOY0zUNE8P<3lPc6FQa-Ak658WJdqn zYsszIdwfb8#Rq-hNVWmRy@|iKKQo3lXc9zEZ_t!fSu#}R-6vLAT+GzU0pqc-QzHJl zW3sTrqe|5bL1O=%y+2 zLpl&2s`M`~3`w%bVvt(R6l#_OLMn~_R@M8Z3VZfoQV*;JJLlHSj}_-|+wSs$xwwfn z%KG4@vL>y)s8~jYhpJfdP5P&C743nQd5CUaEc0AwjFH^vvG0?OUN3)#L+WhEzz_+l z@x+lg1p6UHhoOj)!QM1Lie#hikRm;W#HLum&1jS2f7hGZ;k8N2hcit)90lU=m{Qg7 zrJ;wuGI8^4bt}06PQnoXD0w?WeJ^=COD#>_PE#ex+w+z78IfW|>e6KD0(HJ~yG7fT zpTQGxW`=u|mL#i&?zKZ##a3B5J4||e>9##6lBGYSc9UfUs~p|1*cB!S?P7HgqySIH z%7CV{;jB4AY{MDRTQIbS;rcx^vr>y~7B6RMl5(b`p#Ql)#D@~InaSlLbq*Uny*Hg8 z>rmdPGLp*GCO(MJJw#0QI>f3bS#S~zBzE{_KRoSNn6t<&2%WyL!a73@F_bc?f<}9) zZ{V||A=1GYG!GmxPS(aSx~2E2q)dH=RbZvnT;VkT7ZO2HPMS67K&^xKJ^kIr`>li78*8>=I75RXs>-pWPasa_K73#4Z_nnink+2_DflT_Q;MH*nc8dnfle|#|`WTUDOykvNw@5 zJhIs~yww!@>d4yTT7A`SYzA&Q73(BtGT1I2-(Xep(ME?9YzCea77WbLbjb**21-OT zq=?~gdlk>`fQcVrm^8)iSxzD?2d2w5N~#+SfkU)ilJ?4wy0vMNCT2GVy*X)83%bq) zOaY-RaFJ4+!FFtxL{2tjv&1VSGdj{}=_?f#I~BovmD-Y}a`E#TFpDw^Z}zV9i{wI` zdJ5fHKaj!(vu`0E)mfl*ho|v5Y(u0MkeY&^5*4=e>tBhJURe{0HyGV|l(EzTUsv1y z4Ab?L4yj8>iZ@6Gtc-}^#ZA0HUJ|B@`&dJ_+{X{d_3jS2ZhBR&kMEJ|vw|w{bLiJU z@x%IO(+>U9uwDQBrdjY`)t$e4hDZDydigQMy+LuK{Tz;P)2`ce{2XEphjb>qECety zrfxW-Zzy({o1}Y#+0V{}!Ha9S`6MnLm=hDk4NykH9th)~US=dPjxYH03N^WH2)TiX zADG0KbJ&A&b&$H5>F1hTu4hpBpl6=o);cUmV^;ukz-xO8A)4H*f|*hqJ15k$`yACS zoXajl$x(H?*$L~7u06hwemG?{t5vlnldiRsGHqJzZ03D6-36~K zJ=zxt`c}>G{~{w>cA1>Guxy}Uzlfm+u2I{tDHX_M0ZhPPhWd@3 z27zRKhn|->XdqQa42|%G(;eE0FcIKzg6qt`=D!wOa)|xJ9??*6Bs$He&eIaUCA~Z| z(88MHhLqpph9s1#NAjh^g7H=Xl}TX)?V?UL} zj%(9va@fuxdM;|kB?nI1N$3xvJE?Gv`7wLaw>d?7K2o{Lz#B+<7&d}5sFz5rTydSI zKQaf))D@rwduvPp2XDMIDP?5NWpW}>``n{@3|y81JJzJv_?E8NiH}%(MT)z#CZ$Ym zr>tgr65*3@$41$yUPt<3cZu!}I)JT@=yI7Zo>w-?yv;e8K$0khl*=BviO*G z-oyWPN>j@0Z-h^teSLVs?90Ob(h9W^P?(V7jr%t7DVf|&DUA(}@H_jmNN#*lN?=EL z!Zk3HWfkfWtHPi|J%44!Ht9?S`>AgX^`+0gtf@7Ux+Nw5Wx^56jcpQFz@r_pO~P-M zpVl1PbTcQ*6^MTpKruo1xlBozQnF7OGG`Vr?<+;_*j$mIFQbJf&>a z8w{xiPxb6OA&<;W%*t{I(`RXEyq%0@p_(Oo9@)tjruD7 ziLp)h=&Lv_Hf|C}MU`g5BBKCEQh*;}7(&Vz#dl^51SWw;YN(xcVPt$$aS9Gj=hYs& zFp@TFX=*svhAQ#6^c3yRZ~38ItU+8WndR5d(ruyLcwFjGNG=nV@doKHI-Tr|n)>@2 zN(5co{m}3mW+rmX{B14$seG9k)sO5GuT(iN-qRFPYo_QKXH9Y{Kgp@Q=Od{_TCOxZ zsJ)TeYoC>IcP$qPWKh+1GNILx^P(hn=c~^SF&9xJoNPsVRnG?o6$Otx-SZ`}szTnd zPyHIvO2I31C}m!)=;Jsatv7nV>}ToIy%kjnkL zV67rVMda)nPmRY=ZzDfLi;%AV zg|gUmYfy7Uz2BUP*4)~ge|bwHwGOZn296uPrPj5#h~pi%8IM z-`2S29yzZBGLD~tD$*de;c#LzCChs1+3;wp3x8r@s2B0GwpAzngwQ_357b8}?bPEa z?f>S5P}@tVwJoA1gS=lMx1S+z zI-#01x|)Btt4WgE>tM%*Cxk~nt%{PR=B!H2+G|OE?&W;og63Isv%>DixmgIsV{?76 zxi*hx;N&df3rFC&pf?`xWdc{rvMmKQtg|`i@kz$V`iw5|6_*G~BnbC!4#~ui#b4!z zZGv3wO@ZDZv}tbMrM#rG>_4)9Bri|BhWx5k!bWJ$o+YiBarNlavRuUY;kO6@ZrDx+ zgdEe=qe5kpN)(Xo-xID4$=05iLiSKSC0Jy)da$o6cxI!UIhZkCq834DKr##d53f&4wh7oS(m(ROxY z2m+H#deD2pgRJQAw5Xvx;Ym@I5zZ9Rr#7s)fBSM_#qV#nf1a^_w(1`}Z9yL(52p4X zd%%HH&j&gYd*R|5IjKEO9)TO(|9yNn>-=c{m&YgHBgxs({s9a{gT|5J5@wP2M3m!j zY_<=q_D3m5#8>B3KvOwkCiXJ`j{OV|S3TI0v=E@J!T9aYfw*k6=fCy+q`RHz?FDMDX<_ zvN!8#>90RRXAAZ}FZG(OjrC~~6Q?N9zUoL*!-r&!$K~4AAj!Gbnf@nAQzZ6JMxcFl zMq9n1v*#9Z#^6WDnVVAJsk(?q?1?uFNJ|y`QZOVeNj22KdBv=)70*Ah(ipI8U`WT_^LMuk+=Zt^OyCJA=|rUrS1OTz`JrhpC`)g)m|}TXkfHH1%h+q2LygpZi;Kz8T5pq3#wf)Mev-bFqp@ znf6iC$|+F1gxxDH=C`j_Xk}{T;l8w9bSx>6&5l`5Nunk#&QXV2;4AE}mf;#&n2TWZ zUic7c+h6}fp@4+(cRe6Vnx5r6qR*WsXz1PNG0Q^yatQKzzf|9FhqM+RSGaaD+Mcyy zxbQ;@`Lh})R7d1AYl|iOGGCw|OjMwx+&&$-{h;6s1FL%V2+>t4&4QTD+nY#FO553u zxvbxz|E0oosSr#26V0L2D(u2`*Up(PSRgXHJx!F4QgeHnpsmJMxfA?WyNwR~8tkOi zlT7HEFO_f5&|FkoniMC%N2`9Rp69HXkn+-V@n06DP4sZ?@e9+ZV{;XNC-K|tFU*1M`4vhn znX}6|Hc+M7RYjhzUH>6vJ`7K`*~?S?#uIz}Pk60#SvH=zfn96*qRpvdRrF?j;i*pz z0#U8kTO|1FDC=2W$@YMmcDn$E@!6uDD#oaAj^JE>!xnO*mg)IVen&u(Z9{Tn@X&OE z*v4x&Gcv>hpb>LN*qGTg7n~E$_dhXS(9+3up9>;eJ)!B2M)G+VOgv?toc~3P`**-k zwS}(8ON2&VgxH2Uq6yEct!4C)W1VCrsNcfc0GACQktpKd^3|lrH{L~6E2=nl^_tYG zSW5iLRD5$HAN4#wm@pFMYN~XqS%hGAl=-4R4xs}$q%0UD;n{u&iGf*}pe|-6+B^0e zKj7=PS+XbMq`Ghx2B@q2!gJ2pp$DH*m%tT@4;g(-{izs$aAk+!=HClrAX=@Q?_cTcC0;z^FWTB7rwIYmuu z$#us7%W$p9tUIOw8&9PfftSEzOMG>2ffyLMOiskMcX0V znvF&c^JW3`6QPp2lFXG%kvFLxhbAL?s|FokXNT8e%FF2=rws`$Ggtf70`O*1{%Fk; zcBle_zp-U%Cyv&YWf z~s(hJ*jqjB}PcTF5cbYrjb)LEvw0mb{l76JhSiR0&V1cM?l*lIkU06`jCus zw_N0|W|I02plZ<~qd6Y*L1>iE9RsPqV(2{;GjL}+U9NJ0M5{7KIG`=Z45KKyRj{1$UBiA790P=>;b{Jlz}h5*)G~?sEt|DlLC~@X;hVR<4c0413;a zDh0F(d4k00d&VB>ykzZWvUY~`_^Dv>+6B*NarCAJZE^lTzbd+G+I!btaWv7<_4 zHv?Tm^8?b7M81hmmAfG$t?1$6cyKG7IG=1)(e>}c)BX$H0&5)>My-kaal-{Wq> z{$XIND;KKPyDrtlyz)gla{qKR+m(Ud4Wxj_nTyDT2TX7DSR%Y2dTcO!Mbousdiu7d zgfHpa=8cR6|L@Qcg{L4Fe>vKHMa!}D8~4njkUJ|r9oVq(o0rqH;7m{BylJGuy#dTzAe9m(U~ zYn{QB6I^qcg^Byc$W5eXre|w=QKlpWh)5Yzlf{mk2pJLkLTOgk?qK zU#99&F^kEnU)4}lokk%YB{s?1V@JlJ)~0cScLT9lsp}%COXL*=eVp6F00IZmGzLV^ z`|t9ML5<7`*;KCTO3oz-cfrO4&)sk->Weez{5bPPXU6Y?$@E6syxOUUOZdXT(eT;m zKZrSum~n#6o`K!ZP=U(mhsY2;5bZ941tN+bCh$Td3nSj}85QP+0qCxj8w%qlgc4l5jA7nC}Z6Ce<42@(n2I(hU(Y? zAZ?(@iO>hnESM>k?|W%D0IHJl{pxN>_EMZME>+0)+oA2B&UY#YNCY@He{KCmC)WS> ztaVE=6BpU_*gPy17mIl3f+*6S$x$^LuX&Y@8SU!QwNpan&ED3UY1I$O&}U*BD-J;&lb7w5NM!G!HmmWj2plzX z!ZYIw6VkD>bob7YYb1!|VQ_5t)aaleiSuCAh8fYpiN-g|ogic$>vFXZLTq+WWy5|0 z9UNPxAFz8#6qKuz08z*{&N_zif(t^DKm_7EsjRcx-soO`8sa*jTxKu z4eC4jOcSCjy&M?gvwAhdfp#&Ll0*O(QM`7&@vbZKL#ilLHT&uN&E5*Lq}y4tOS&tq z3m9q!oKrIhyASBK>)&(feovHs(>!5ub`9r0t^>$S_F!X5?PHaX+Bqg8Mu?~8ks<^` z&@Y1}(H*x7f5fl38;ODqFeb&t%nf0=cG&j7dX~v@mh|LuP8vEC%uMEf$=NlIJAQS8 z4-n}pnOD#J9*Ba5EV*AIL$Q}MF79iHB|+MC%!oj20jg6ExwiAiAzK3DZZcv@lvzGYhI0yLY!l3)^F$A%Rx9x_OJn$`1rw& zc<=yAkYGTlsN*H?sn3}}R0s|?tl$23pgmuJO0Mu+2_}p+o(?T6%e-5g>>Xl}*B}*8 zEdO5Z$R@^&-TYzDn9bx8>uvVV5jVT#BpxtyK&vy&V&6tN!ajqcJ*m`*b>v}bj0WQ* zToR8~SdZk#&vVa)eD(#sWH=i1${xawMk^WZO!#9|#DC&5CvG&i>FkU8w#gxWg_wYH zKv+tYki!j$4aP-8_gAarV}#USPnZ3VFVN2n&s^F&Ivv!&QDo^G(Lw`Qdd-(hdnc!B zy9v7$=#c1dMwhF%8PQ4$EMo`;0f9_rDo}2$bf{d7r-6{Fg(zt3BJvD3l}r2y>;eBn z3S%I~moBeyW1koqwN*%~l^$qYKgw)-K;DS+%uTG28rK6dFVyL;>K&0|3?Ip_@s!7A zN=CJCM6RRzj>{#+D$848b)G9mdPra@L&9Li7v_dk;)ug@n6I^bo*tXA)oh28x^c%W z({s1xp%!@IS}MM_nsOb;LS26*BDp@z$RuW@ zt9~B!L#63Sk2bT5&t7c688Ho`gFen&nW;OrP(Yq4x3IKBpWM#Bfb7XHjK)FNQ9PW6 zWTZm=5eA@1wl7w4NR5Zxs2%48|0Ts zofJTbU@DVs2Gy&FnVIx@2+y+lNOvr3Po~qh3|e~vL`Lbz$J#DkuR!6^B(una!(YvO zIU-&%C+*+$mx*Mn^{)?6-N!p=Tl>`%Wo`s-BLf#qnfb7MCBc+Su~FBU@;NbueO?TH zVZbnw9gDiC&kbjk!FN%sTj0RA^r!B9$wZDi(hrDb&QV7bYMsGbL3j5N5jGp7|wBnp7)70>(oz&6MxLD6x01_4jVzKxyZbIBh_3m$R(so z$YS0uk+Pnz<&xjdsVq9_9_Q(NU7ggRCUeUKO+2A{csEIvHR(&^zuL?lTfF#&X?2D@ zOsAWp=vS6B=MSl#m*_}=dW-W11f1YN)L`r;nu{cAflo5Aa9@y@@~)NenzGrW#>kd( z^*c#-HjYdUd-YGOJC=C^12_&53p%4Zk;WInMAJ@klH24WJh^UA=RC!{eT&S$jUdx; z<*JhbEmzlQfRbP7gsNE%$*PNwuUfC4@ao<~@$h^aJ#s$rP)l3(6ym{|PX_a5^xv9L zV@{Y*W1`1TsBhCZnNTdvVp*E&e#6ILm!vKhOqwAiA%4r^2JIJt4D?b+9MP z{o%7|LS$p7=l9!TyPEK^PHDP!RHAV)f1!j9|F|4^^2qXahsE`LSbc@W9a%`0%!Zip zxTtqyoBFwm8YA|si$P_ert+mGt6Tmugbud|UP-D*uKrgZIEa`2>}Q+(T6@D0DqzS6 ziI}>o<4XS@UUt6}i+iZcY$+l~8qjAvaMyIbN% z5z&r4>nE`WQN3}3^hGAdOT#;I!cR6dZy1BWyUqZ+tA9=1j{9if<28HDy=*&X14CNxrR2T>kPcHsxo%>A!>|mQe4BALy9C+!7@b#a~L(;)(j}JKx?i zbq$6MR`-A!ylb=!gVHB%}=f1|U~$?#t|vol~9vL{2n zGi3vMN~}3$s5s{@*fr6xUlX+BI z3VfdRF7Yrtji*?D&hIq$Vt?I_S_XSZ&xA&?=;aU$bh95@x#mklNn=Q|Jy;0~4@ru+ z@p)}Xtcd(yDVjkGHKDczDGAq7tBE$$ivUn_R?ko9n}&H=&pd9E-kd$XXJkFz6~^a4E~I(~T~ zdMo~!lddXU;$1t&|3qrv0`DmvOpoO}#lJ?oQ}Xv*^%X9ATM|fu_zxq0Q89`-`H*^k zJCz&DCh|lf~i)XpwS9v+$ zEwEQSDZ(@7xIDPUPEdCR!0<;PQ)jfN@7~Qe62|RW=}E7|V;f@Mrb-KMgU)HcdV$stEiq?F)ak_JxFDhe2RAl$MShBr}o&Dc_JK zz^KQu)Ts=#RmN{l5iNnaJ`X+qSZc%!?iO!seV%NJrb%!ZMosVLoMEd_38blS05bD;rBO zmAFQZ)5@wzsZe*(mfnE*>)&H+IP%YNtEs?=L3UKi^R9daiG& z+ean4(TWL(t)c#A`zYOwcCV<6<@~S9WZVeC$)xK~!nvH5_~>T}{7lHmWuXve73j3o zg)*LOge8v6`4ws^*s-#puS`vn8?!C`{lh~a|CwLP$G4B*!=F(d1Cv!+uR6Oa#zTxM z4E21A%(`jpmcLeK7E*6%BAR#N`r6s5US^kDu#+e-_Q5=Qn^ zM$#bY!tux6;|L85W}Yy2GNI%P-M3AE%yV$W=nB=T6Ebo2UNcn&FjT_S+v! z&}fV@6K+k5FBkH;Atms|hCTGa8fAJu8z3VioWyhVHjJj(tK*f@{4JSt4pIH;(Rftt z`H{#X~R zMcpAa`fWz=>i$IR%(yWtwqiGl?ThxfTw}(xEqZlK?GOIaA6xO)#ucw~&dN?aF;2IOSnsb%qBNh^d_L6A94{1CPLr+pT2;XWx>H%qY0Y5)H$Y_~^jJw$b5{aP1|HWxiGoh`~D>rb)`8Kp|3>LH;Nk#uckWAiMx zN2?3rGLM&0eQlOuk(GhcO!naoeYgA|FjJaZy@HMnO1+8n8#|D`X`uTSxTmF{{aoip z9XUtkAX=7SXHyEA^LyFUekex>velmuLKR7*x6dqhsHQKG-66Qzt|7XZqR_U9D!|~i zyJUl`(z~e#6dN&Ix2_K+nX)``{HV{pmOE1k45* zTj(NSrkltLSsl$gbmi(rew_y0k|e89G;4feL*4K%EMjfb7!;w-gMvup+vxxXv$Qbs z1WBab$m9xjHJGE45kH`pS>$vTqV{B<1T6Zm9couQJAGZG8$(B}9})mzDyfxc^8|{d z;76D(Vm%B-GL(RC_r!vh-V$^^*&IF@Y`_%=PKO1iHkfC{acAcc8XZgqp*f+#kcc}D z@5f~SVNFoKV^%o>^iG=|pd{~5cUU&+!<12mWrw*Wlg7%*Z|t3grn@4xSz zI?*8}K|42a?sEsedh|TFCGNX?kppPs^(hwyK414fr70HMw2tW#3*H%z%MFI(%W9+R zjoqG76mfupW+Zs0b%p;4m;bp&0dH=sWKZB_|1TbrPOd*t&>TJH!QF|n@wi-Zcj8Ln z*!tZ?rFI3osbp(N-J<<4B&vYF{wXOQ+*9oC@3~FJpyaWpYf~=h+vW+M(X=4NxUlxE zFB*e~WwbvaTTN;sZ$)Kd&6l*d)k~Hb!j-&TRXC}5{rPxsF=~O}eg5c7DwaS+TN#cY zAx&j0bc0uFcz0Vl@FW_V(h)Du=Oz9kSRx-<1VQgG$ia8Vh&9rvzSAMK4wxNAn|hnZey|&Pjc!Fu2)&8#Dox;$Ox@X5i{uR>i^3 z@!)1GedEDbk1zi#GDg>LPVwJnY~nT%d~_jo1lH3liC}4#)c4#5)ki;bHb;H)Ro(mC zdrhB4F-@L=`Hc(4a2Pu($;Se3uIpy9x{ubb-@%E<4_RdtV&h;JI~mgZCeS7>^hVoLIh%Raixx&qVi6ZhhcwvcD#9;ox>2sO@mUbYV+lm#T}?Fl zl0>6+-Sla$^|RHkXIU&oi<9b#aSlb`^|=Q8gN{CE6NyB4dQKu+>CY@0H7ix(3piAK zt1k5i@79gh!BWvqO<<62KhoL0VvhIH`dV4Lq+_nmpL#CNU`^zb$FSv?ZEpZPe*iici< zj8yd9!LRSCyd2q8X_>Cx@wHuDc>B-{-I^mk{nG`yr?8U+5}QF>srZg)+8u%pTVj)R z;ZDp!`#WaE8l)BXF0g0Z{)~^9p9l659!i$&_SqlYXXf^w^ll=$edg zSH&_hZO5;jYrLdC(6VYj`wqiZy@d4;k4x`M<8djQ-?FzqWVVEAT-8Em)ILPNLV>|d z4T@|`_EPp=&Ec7hQT#9|`K=%+{q5bYp~T|?mC^#3pKy2Uhxi+)kIQVg&SlUzB(hvJNCT~Efdli^!`0nkJV!qy z&gAiDZabT_X|jeS_Rv7Aq}O3o379M-4V^`<`cz6Y3WNMQ+pSCN3VZ%Vs1RHcERpoQ zf0mp?pQVv40aBZ;zwF#vLb0Y9wZu5ZSMcZ_6y;m`7F;$hH|(!T)jLwP3)F^k2fvH; zhaM?^~bw&OD@YKN^$EEO4@q%0kAp}*@7K|~yYf{J0i z9%%}b`@EX8N z(xoOb1S-TWU#X{>togyiVu%RQ(i3}!Av3$*Bm;Vz8n3$IX_<>e@x=}y7U>RXi-K^a zR@h^StN!HVyQ9FQSEP0@8O)N4Po4g;Gtw@N5u~@8OrzYAE{nHMf0|}7Fzci zNtG-cU)Utr@8c&TAbs`}Wo%wtlRTVo%ux;mQ}tasu$(6DG2fKxw?0oldnXgdPkeaN z@xvW*=5Tg48S0v6oG~?A)-1L(dCrz*(pR@MaID^G(QZ_E>hxqOms;{CA!f;K_+eR# zA~2lrpL~trk!n}1%t+bK)RV$={HpXqFEQ*dz2Z}&O%5m4-kQQ~P3lsM_~WzYrXtNE z1j3MiG(j!0pw;%u4=D+~A)>9!=;xlbr-HWXz@0dFq&@W|KeoKh4ZgMAwzY&!greF= z(`R1cuNRf6fh-v`fq<*JLPADXC-@i1g5^VFqV5@PA`!kGt@71ORHvDIq7$zvsOxbd z1p6jID@yuX)R?-133d+|t_}{m67rT>x6_5fsVX+k{W(vf^tlITwET#7?_exoRTdbG zA~`Kf(9A6L9MjLSTR`A3hXds@kQ-bk=5Q(V-GlQrj4$wg1x5rd>L?;lZI~gF=vUQ- zq4I*m#iF5g*rJ~`5MAkUsmh^D(H#a`QT-)kYKdU(eVK;~eStI&TL6g@Hn4>`WiHGN zq9A9B0%@5}N}HWBDUg=sq&#M)-o9Cj3L-@piQ3~(21P+5)~)=B90=eL@LxfES5-qA=zcr;I&Au zM10|-8o+u`-_EKbUhn_Wx7BhBy-vh$7o&liRE)29N<6WdCw0CQed0m6H74tOvExw_ zxsBic7`IYqsV;3d7E<$hif&&Jzx}Yhrt*vRYf`@P(X z)LA{LZ?BizNA>MWZVh!m_tEXshKC0=z^s%ov4wo$QAM@0k!K!p<|xz{eGdwXWv#H; zK5cF7fAZw`yywOB)*aoJ>wmHUmMgx{NodP8w?$i1^V=e$S-d(1>C1XR@4p2}lT3U= z1n>HDl&dKp0?EsXN-VC&tH6^ z`>^jLdM^hhw};#1{w3LyV2#h7#HZyGwKrTe?aQGp1?TTNoQw!Df5cdU&z#ttr$;YV^TyhPIx`N(0grl%r z<+0l>H#phy_u$QP_1u0Ts%JsS0HLAzRviX=LUh9<9qM9|8hDh7swPPk?6YOdB@y7X zpi&75ZLQbLAtX}+kf2oufJ+?!X4?jVzH*3_SG_F+(|Rvzh`B^nCu1i>w_IJq5FBp^ zA=1dNiaL=-CL-OcNJ=K~pMJUo$>282 zz!;NYf%tL~FYp-Lhqq>MY0m;?CV07UVS40-rm^!IOFpdMc}q4rg*5*YEiou7vC{8u z?m3-oO)YudvpM^7OR9A$_r0^bxp!ORxbL6c>u>l3@V9sxgC8N^s2PRx1O86_CxRa~ z{qTc*Z#9(|A6+$Nk2SUFTOM;_Q%lp2($7zwo$9~iSxVJ@iF`m-<7GYm=%f7lpJ1ob z4U|Tw^tQ)8iF~ydtbA!q{rD@9iL{K$t&ugAt8!`M(Y!`vtTj^slgQbL8^(Kdp z2U=I>ocF^+^r8ypfC`P+MDEgiyo@`puh6YkUO31%p`&wzlgxCjok{NYU~erD$YIxB z`RNy`7r3@TtvZ=eN##&B{A8*;uA{G?_R5rfj4Sx*e>1Iyom#sQ7VXq#A<;SaaY{JH zDMt@`{l@RF=lEaF=$u+>5ZJc%Of+Nu&e?fYrYElo_pqvHzY)J7k5e>z(q!r%_H||D zsoRhgI0sPpTI1K|dDI1@Tyrl4!;9s3psKprc}8kDz4Lck4i^=%HG)kEU1 z{~Yar49kCWRQwG)DPXxi^>1JZtNhclZ>Agk?%=P#%D;Ngj4JO>0b(UUeBxgUbjfCn z)~>Y8q|)5B(`&im*uiU0mwe=5YUsMrn2VaKybJ;`c4xRm@9TU|&i&)JpU4%h`PpL* zHH`|NgPwefee&gH@2yI|?CrIwsqbFa&Rr{aZI^XN#)=>L-h!Q%b%#ek#e`3+N;Qsl znl0BYU!jBHhicFoxU2bKMb!@hLL$2tEdM}ghtP@)`4PRqShbg;_Ol2@6QBZ&m*p+y z!N?#7;S>_tM=0vBRwFD*i4;o4M0P)Kwf{}z0-J(F`_m(5DeyL7%ekOa6+$CC^l>E+ zfN9-<_fe2;r2$F?fkFu2wEy*82aDROgXwzjncR0f!aZ9iKek-GLMOqqmN8DPfXlJ> zSASDWfP{kV!cdBpC`tky55GhjOd{VQB|*0O0zN`^#py#8Ti^Lx$^s*4Uj5(D7K~zC ztkcvcr}~HZb@qkb!b4!$om97pMzcbFR}TmWCVL9{tZ&^fLI*j^Xmnq#@I;)H6HTNV zkx6|;E7{5s*Rg>71oi7x=Se{n?%^E-DU*BWb3z`Tu)h|Ld1^IE;!51@-qQsBwIqRW zTQGhaa*!~xiM@bTDa2RrIFn3_L{DZ{f?A}Q`1|rB57FXGG3$*LXX&d%R*n@uqsALkyY1(hz54gsmMVWawJq(Y z=ib^25@fyhR{5`QtMXSK;rA2P_aOJ%$w#TBZ7{fg&_qv4-LWqz?!V(XpsMQ`1UI;M zePZ~}`xx;0S`LnJw>*`}D-CtD-{oJhS0Jsm0Ry8<%igH(D?uNX`>9$mP4;HeKGDz9 zE^yiJKO_COnfm_PcgP1gO9v>kgM8Fum)m0JHTIDCXq7*^j|?w@=y;^lk|(>FuC(yi z#$S7te*!})=m?DG3@~{!igf$ib}%k4w4jr8tt}Qm&E<8+2I=kEo9s^^Ig?{<549fJ zZS;TJ9x1v_iiSsZrBzd3>(f1qj&(IY;WX_F|M}&7t&w=V8XHt3zmRGlOEcklNb$0eKGH+x6^9YQEQQ zU~c4<&W~H299+GCcgAOg+Dpc3%c&shY%boga$QIo$>;S&7}I zy!e0@J)PawJ6#<;^C-*D1OQulA`C>0Pl9S3SC^;9r;8=u+F-f`x<4e-T05IN5AMI< z4f^>;=ZSs0o0kK_%{AREW7@g1p_A~lj2 z&d{7q>sI+*R=;LptdGm1hr{L(u3oT>eZ98}e~lbwBr$Wls=Qr9j|)q9@wA=`=||EC z7*tjJ({X8$@m1!g>w%~C<<#2u2LE`4<*E9Uam9qH*rw$I-?~Fqy1a2S43-92hW`0mvTOgd-(__6|4y!b4gZU4QP}GY zoikNk2huKQciTx?N7YUsu6srvht~bMr<^vdxWOmp`|2=hr2lSWODm=nm~S zG$UR6te^~+;k1%6W@oD&5t;KdfY@FnV{nt~N?XYD8#`GNf*M9lvE9360v|ZYlJD;9 z6^zpPWmjh_r)+rY-g2=Fqq~eM5M6rbO?m09F!-1brEit~yIK#Vt)x~x-CNCh9@zX| zV~*Z5xVus%C3<)aJW#@jEyzpf(H!G{aL3q|gJXI2#C&=C&(Di)A0wLv7jIkHfp|yM zfd>rPOf#*t=lee4nAl)ewEtB9FGN}Iuiwoz+CR?t zemGQ7U{1f_?XOEmK`M%yoAy z>+MPpbuE+N>814OwMu;`A9zzUM^bRbG7s zyLI(Dox>{ufBa9DjN97Ff}XOYv=kCm#Sy1-)PwA}i!0I1q^|W59caCs-}+7$gOIjI z`d$y^I$ukadMJxa(TdPiEF$*TFZt`?fFmSx#STZe)TK>)bh9 zEYoT)@9He;>QJZJP*+wC+bVReAK3qv|M}p6Gkr@-@9kVKN@s(QaddChl#+odL0{F_ z9aZQNI)B(dBCF_Z4*MiP;h6mwbntcdFB`bGuf-dd#c8K>Ejw~A4}C2hYO?==L*$W^ zz82yWbbcu8R96R2xrjq7d69(SUZ65Yw8W?dy?W@>%cxK*D<9ezxoRkBjc_Im8iP<- z+11HF{51bSM&`e!WKx77nv|!?be8_tdnAiw5M7S!tc!L+vBdUVuU%@vb-UN-Jh+wl z-a}DGVmd z&m1m4R?3q>Cdlz+#rS5ZYU7vssj$Qsxlpu2{)XE~==`uNm}x^Y*IzID@s3Un7LEVx zyFz)b>kEUvNTs&2FC()(Y)`_2>#~)V9ed3kQeFo=_!>VE3y{Ogp+ zI00u1J+(YiH;r`V*vhps^FV1S`@86N&l2-SPwXayWkif^1jZ4<&iQPmfg4^VhE0>eyGEOcib={GhYBH^HH78kPYQ|eedX0y;E#4KSgzY0x^=}1tiF`S- z$owW|keLK|IX02dRmV;br$@ivJcvJdu(@j?26%5rceuNjZHWb&rKrRzE+ty$ItB}2 zb!|vprB_i78Z{{ALFa%rGMOmX=NaCv`I)R8DymT5OOsae ztegsUF1PKTJdNqpE2!Qnh=-svF3)}M_;CRhiQQ4T`DygsGy7V-;fa00%#?5@zV*$N zt&F~Vv}Y4v)@&s{AA^H4z4{OR!g%+Ko_gN&wWj#%|CL@+(Ce??$Q_8Vo;(nl%BSSG zE?g|G)h-s{OXp|-;;BSF`7SuD^TPwDusG8mVg|Exf40~v9!izx^X*sG#UoRHdWKFl zGOaU?O9m^;nzx+a&hD;LumI{gD4?~b`s+Jv7>RB95_gbJg!?TYdAeND_fi;9P!EX5 zZ;EbL)F$@2d{p)bO9uFYb=zD>wY!$|c79m*`Ac6UjKum;1&KFyF0y{`hF;=xBcoBt zGa@d_qr)5r`<`+SFm1d2(H)uC^z{YyuAgoOdkLVwR5#T!3siuWU4a&im&u#Uu$M~Jf9$! z2n@N(Yo~rh;H19g7+Q|>P#=!}XNw6H6Nbq%X{3~iINBW2m}JtcN1S;r+AYodllyo=p;`vsYSV+T&a?TF_O1MrRk(8 zt)wWik23d2?5j~i7_anYiY4hN;EopiyoAF_-V+}Sjjf%Y+P4kj$NlJ~z?PiM+FuC! zzq9PwEOC6!mHb|}HCZ4|iFOalL4PTrJp1v>v8@(7tT&p=>D*7bz;CRH+&L1e0)1sm zEGz3xzY8xuJHL% z!^+%)kbq9%(>j+5zc_m7O0MRzNzs)ndFAbNcP4?E!SiPi${nW6(X+phJCEEQ zl{<7Q(X&62J5D=_p8cko@^s=;SsiXM9QyytJNvjO%Dw;3$f}?So1&qTuDK=^=V--jvo*SyIQ!ipq+TN(&Sd(-I$!VOmj9QCd-1 zQjz>V-syq}E3zc4EE3*?gi34G|9hV$U^*pBBPQ74ml zh~;rv8H1~Zywm$Hc=ryU*X8$DHritL#$rMfz!zt`u3GgI-Z+We8wU$4QSd6^9CU^B zw;=Qp<1;92WkEwXkFlu18%)YbR~nCxBvek;<5no18|xVJ8mD9hpH6fes4rzB%FbKVrymsu%z3;B5TLTe;m~wiMWpWgzZ?`i_ziN>C zoXFE-Vev^TO}aZq!76&kIV8UE2hHlQ<;}<+XtOtyN{{})NS*`E!atH|qjyXWQgGv< z5i|z%_4kp-#?LkKJox;@F@7~Z42=mRDz+3KF(@7CxowYPh0obSr)lPGSW-`qdaDa1 zkvsPNT*v#Rn%l!pcf3VKL)sPR@F5+frc{IdDg5!l=?~-?R*+trlFyVqRyO92-JR>$ zUCJX_N*-zAg7pL1WGo%zX%s!Kgf00#m^o<>v;46dOfq)tU;VjUN=VZvIX>JwL{r61 zL-e^5^bx|U^{bIpv^)fV;s;EWgEU;Nj8t6P)+ZrYGOxxLY0++0<1Q;a_l(ox`c#(F zC7#cf#YFG886T604Qs?ROe5)e>!L{fnQ%m9YIxX(j^B$1Oj^?r?>JiA zAwTqX;l+GfoYV3=c;@!=dGWZJlvlKs(dImf#4%p%E+7VZf@zrC#qY)BrZeXs#a`*rH+GCZ*Mj#%Lr=S1e9A3Ica`W( z{z_a@c;|1m72}xtLYo{Jrqp;w>f#yd32F}L^Aq*cZ$T~FSp20_k~6GvwbeTr7sTK< z2cr0LZK<*No)AnZNvd<@#LzJ~7aJ=v0~_$oN^Fe7O#e6jQ)Mgd*npjtd(P#+z8U{I z4u%~*Jr!n5-mt9{Nq!E0d-&wx?+&*P++TY3+%J`#@D&3e*h4?}b=cwJCL7<<7{9|yPCP~pT<2p0-Rd!cY*Db2`stXw#)NMtMmiGgqJ;nRmt z$c1wfg@eL`uQ<7IVlNaB!|YeMSHORz5RJRlD03WKw3!fA^FO zE&p9t(l7eOmZRV8soc#UDaRMnI#AvGkv#`ztxwa3U*Eju^XRa~k^2WW-ux}C&=uPt ztoy6hm?g?3PfnWa@&9c2N1W!$rg2!K_Bfh2FX~ zy%O;B?xSscDqHvlO28MP1gvqj9>5cqP4M6ltcQ{LN)-ho6$ zzx7k}$RoM9dm|Q)#xpo(7)N&n9tyeW;3ca89Gt2kT-msbg_lX}q`*vl*@{uR{Ho(Vc-!2R4Di5w{>RQv@ z^+}{2JBO8@@4+2{4!HC`nWo1>yrIA_c=h!3O80+DcJb9pvad$6uYqy2r)2b{$;NF- z%2-LbnsQ1e_FwiZVTX31Lr_yZ^s?k(Hy25~SblOkkZjmrC_yD5W)#aD7~P%{Q}2YJ zp%mkj#rzSuvETs{dbH!N{0)1SN+PkV64R(NmK6?{laY`v9fb zDPwB;K$Ql29#K0)B?oMACZ703m($YN7CsPn{R%$*IlAa16FuxC74n<7mrHL;j(z`V z+x3Tki7p(F8~x*v+~@#q)&>sbMxO>hdVg%Q{8>rdSv-9zdS_$UZrnHg7|&g3qbE1w znz$d~&#r7m1eHNNP7?ap>!J4#z?To~2Ldh36r|*dje*x$iK6H84QeH+aCC$u|o^Hp|JbN{$-#atPY)iU_qwrfBmHMI2-5w zrJ$Q2chG2t^FpN-{kOjm5gt2OzC8MkIgypS8^5@$^yHEodkAHRlKY)Mg0hRwjSluM zJh|XvQGol$Hb?Jj4BLkn2k`;S<{o@~>2%9%IGh;UdiZm^^V&GJdD_?mx2m2}cH;pS ziWieU8{cqlAJr26$oq|G$NSMK2qvJLs#unuMvd-9c)8K`MN>OH!S!jj≥vrQaij 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