From 90706159fc6f5ae2ff149e00aa6ea7237e94a545 Mon Sep 17 00:00:00 2001 From: Ingvar Stepanyan Date: Mon, 2 Nov 2020 15:53:42 +0000 Subject: [PATCH] Bind to WP2::EncoderConfig directly --- codecs/wp2/enc/wp2_enc.cpp | 184 ++---------------------------------- codecs/wp2/enc/wp2_enc.js | 20 ++-- codecs/wp2/enc/wp2_enc.wasm | Bin 864127 -> 865477 bytes 3 files changed, 19 insertions(+), 185 deletions(-) diff --git a/codecs/wp2/enc/wp2_enc.cpp b/codecs/wp2/enc/wp2_enc.cpp index d98bda33..41a89d46 100644 --- a/codecs/wp2/enc/wp2_enc.cpp +++ b/codecs/wp2/enc/wp2_enc.cpp @@ -5,168 +5,8 @@ #include "src/wp2/encode.h" using namespace emscripten; -// enum PartitionMethod { -// // For each block size starting from biggest, take all blocks matching -// some: THRESH_VARIANCE_PARTITIONING, // uniform variance score -// // For each block size starting from biggest, find the best pos depending -// on: BIG_BLOCK_VARIANCE_RNG_PARTITIONING, // uniform variance score -// BIG_BLOCK_VARIANCE_MAX_PARTITIONING, // low variance score -// BIG_BLOCK_TRANS_AMPL_PARTITIONING, // DCT coeffs amplitude -// BIG_BLOCK_TRANS_ZEROS_PARTITIONING, // number of near zeros in DCT coeffs -// BIG_BLOCK_LUMA_RNG_PARTITIONING, // luma range score -// BIG_BLOCK_RECONS_PARTITIONING, // reconstruction score -// BIG_BLOCK_PRED_PARTITIONING, // prediction score -// BIG_BLOCK_QUANT_PARTITIONING, // pred+recons+quant score -// // For each pos starting from top left, take the best block size depending -// on: TOP_LEFT_RECONS_PARTITIONING, // reconstruction score -// TOP_LEFT_PRED_PARTITIONING, // prediction score -// TOP_LEFT_BLOCK_ENCODE_PARTITIONING, // block encoding score -// TOP_LEFT_TILE_ENCODE_PARTITIONING, // tile encoding score (slow) -// TOP_LEFT_TILE_ENCODE_DECODE_PARTITIONING, // tile enc+dec score (slow) -// // Combine several metrics in successive block size passes: -// MULTIPASS_PARTITIONING, -// // For each possible block layout, take the best one (extremely slow): -// EXHAUSTIVE_PARTITIONING, // based on tile enc+dec score -// // Split variants of methods above: -// SPLIT_BIG_BLOCK_VARIANCE_MAX_PARTITIONING, -// SPLIT_BIG_BLOCK_PRED_PARTITIONING, -// SPLIT_BIG_BLOCK_QUANT_PARTITIONING, -// SPLIT_TOP_LEFT_BLOCK_ENCODE_PARTITIONING, -// // Fixed block size (except on edges). Also depends on the partition set. -// ALL_4X4_PARTITIONING, -// ALL_8X8_PARTITIONING, -// ALL_16X16_PARTITIONING, -// ALL_32X32_PARTITIONING, -// NUM_PARTITION_METHODS -// }; - -// enum PartitionSet { // The smallest block size is 4x4. -// SMALL_SQUARES, // Up to 8x8 -// SMALL_RECTS, // Up to 16x16 -// ALL_RECTS, // Up to 32x32, ratio at most 4:1 -// THICK_RECTS, // Up to 32x32, ratio at most 2:1 -// MEDIUM_SQUARES, // Up to 16x16 -// ALL_SQUARES, // Up to 32x32 -// SOME_RECTS, // Up to 32x32, subset of frequently used rects -// NUM_PARTITION_SETS -// }; - -// enum class PredictorSet { -// CUSTOM_PREDICTORS = 0, // this predictor should stay first -// DC_PREDICTORS, -// ANGLE_PREDICTORS, -// VP8_PREDICTORS, -// SMOOTH_PREDICTORS, -// PAETH_PREDICTOR, -// AV1_FILTER, -// FUSE_PREDICTORS, -// ALL, // includes all of the above starting at 1 -// LARGE_PREDICTORS, // fixed set for some Y blocks -// UV_PREDICTORS, // fixed set for U/V -// ALPHA_PREDICTORS, // fixed set for alpha -// LAST_PREDICTORS, // end-of-list marker -// }; - -// enum class Csp { kYCoCg, kYCbCr, kCustom, kYIQ }; - -// typedef enum { -// UVModeAdapt = 0, -// UVMode420, -// UVModeSharp, -// UVMode444, -// NumUVMode // End-of-list marker -// } UVMode; - -struct WP2Options { - float quality = 75.0f; // Range: [0 = smallest file .. 100 = lossless] - // Quality in [95-100) range will use near-lossless. - // Quality 100 is strictly lossless. - // int target_size = 0; // If non-zero, set the desired target size in - // bytes. Takes precedence over the 'quality' parameter. - // float target_psnr = 0.f; // If non-zero, specifies the minimal distortion - // to try to achieve. Precedence over 'target_size'. - - float alpha_quality = 100.f; // Range: [0 = smallest size .. 100 = lossless] - int speed = 5; // Quality/speed trade-off. Range: [0=fast .. 9=slower-better] - - // Side parameters: - // Set whether the image will be rotated during decoding. - // Orientation decoding_orientation = Orientation::kOriginal; - // Add a heavily compressed preview to be decoded and displayed before final - // pixels (small size overhead up to kMaxPreviewSize). - // bool create_preview = false; - - // TransferFunction transfer_function = WP2_TF_ITU_R_BT2020_10BIT; - - // Parameters related to lossy compression only: - int pass = 1; // Number of entropy-analysis passes. Range: [1..10] - - // Spatial noise shaping strength in [0(=off), 100] - // Affects how we spread noise between 'risky' areas (where noise is easily - // visible) and easier areas (where it's less visible). A high SNS - // value leads to skewing noise more towards areas where it should be less - // visible. In general this improves SSIM but worsens PSNR. - float sns = 50.f; - int error_diffusion = 0; // error diffusion strength [0=off, 100=max] - - int segments = 4; // Max number of segments. Range: [1..kMaxNumSegments] - int segment_threshold = 0; // Segmentation threshold. Range: [0..100] - // selector for explicit or implicit segment-id - // typedef enum { - // SEGMENT_ID_AUTO, // use ID_EXPLICIT above a quality threshold - // SEGMENT_ID_EXPLICIT, - // SEGMENT_ID_IMPLICIT - // } SegmentIdMode; - // SegmentIdMode segment_id_mode = SEGMENT_ID_AUTO; - - // Size of tiles (width/height) in pixels. Tiles are always square. Each - // tile is compressed independently, possibly in parallel. - // Valid values: 64, 128, 256, 512 (see format_constants.h) - // 0 means size is chosen automatically. - int tile_size = 0; - - // Algorithm for dividing the image into blocks. - // PartitionMethod partition_method = MULTIPASS_PARTITIONING; - // The set of allowed block sizes for image partitioning. - // PartitionSet partition_set = SOME_RECTS; - // If true, use binary space partitioning instead of floating partition. - bool partition_snapping = true; - - // The set of predictors that can be used for reconstruction. - // PredictorSet predictor_set = PredictorSet::VP8_PREDICTORS; - - WP2::Csp csp_type = WP2::Csp::kYCoCg; // Colorspace. - - WP2::EncoderConfig::UVMode uv_mode = - WP2::EncoderConfig::UVMode::UVMode420; // Default sub-sampling mode for - // U/V planes. - - // int preprocessing = 0; // Preprocessing filter. - // int preprocessing_strength = 0; // Range: [0 .. 100] - - // bool use_random_matrix = false; // Experimental. - // bool store_grain = false; // Experimental: store grain info - - // // Parameters related to lossless compression only: - // bool use_delta_palette = false; // Reserved for future lossless feature. - - // // Performance parameters (no impact on encoded bytes): - // int thread_level = 0; // If non-zero, try and use multi-threaded - // encoding. bool low_memory = false; // Memory usage reduction (but CPU use - // increase). - - // // Neural compression: - // int use_neural_compression = 0; // Neural network compression. - // const char* graphdef_path = nullptr; // Directory holding encoder / - // decoder - // // graphdefs structure: - // // base/qq/[en|de]coder.pbbin - - // EncoderInfo* info = nullptr; // If not -}; - val encode(std::string image_in, int image_width, int image_height, - WP2Options options) { + WP2::EncoderConfig config) { WP2Status status; uint8_t *image_buffer = (uint8_t *)image_in.c_str(); WP2::ArgbBuffer src = WP2::ArgbBuffer(); @@ -174,19 +14,13 @@ val encode(std::string image_in, int image_width, int image_height, // premultiplied alpha image_width, image_height, image_buffer, 4 * image_width); if (status != WP2_STATUS_OK) { - return val(1); + return val::null(); } WP2::MemoryWriter memory_writer; - WP2::EncoderConfig config; - config.quality = options.quality; - config.alpha_quality = options.alpha_quality; - config.speed = options.speed; - config.pass = options.pass; - config.sns = options.sns; status = WP2::Encode(src, &memory_writer, config); if (status != WP2_STATUS_OK) { - return val(2); + return val::null(); } return val(typed_memory_view(memory_writer.size_, memory_writer.mem_)); @@ -194,12 +28,12 @@ val encode(std::string image_in, int image_width, int image_height, } EMSCRIPTEN_BINDINGS(my_module) { - value_object("WP2Options") - .field("quality", &WP2Options::quality) - .field("alpha_quality", &WP2Options::alpha_quality) - .field("speed", &WP2Options::speed) - .field("pass", &WP2Options::pass) - .field("sns", &WP2Options::sns); + value_object("WP2EncoderConfig") + .field("quality", &WP2::EncoderConfig::quality) + .field("alpha_quality", &WP2::EncoderConfig::alpha_quality) + .field("speed", &WP2::EncoderConfig::speed) + .field("pass", &WP2::EncoderConfig::pass) + .field("sns", &WP2::EncoderConfig::sns); function("encode", &encode); } diff --git a/codecs/wp2/enc/wp2_enc.js b/codecs/wp2/enc/wp2_enc.js index b7274013..e59f9e53 100644 --- a/codecs/wp2/enc/wp2_enc.js +++ b/codecs/wp2/enc/wp2_enc.js @@ -17,7 +17,7 @@ function ma(a,b,d){var e=I;if(0>1;for(var e=d+b/2;!(d>=e)&&J[d];)++d;d<<=1;if(32>1];if(0==f||d==b/2)return e;++d;e+=String.fromCharCode(f)}}function pa(a,b,d){void 0===d&&(d=2147483647);if(2>d)return 0;d-=2;var e=b;d=d<2*a.length?d/2:a.length;for(var f=0;f>1]=a.charCodeAt(f),b+=2;K[b>>1]=0;return b-e}function qa(a){return 2*a.length} function ra(a,b){for(var d=0,e="";!(d>=b/4);){var f=L[a+4*d>>2];if(0==f)break;++d;65536<=f?(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023)):e+=String.fromCharCode(f)}return e}function sa(a,b,d){void 0===d&&(d=2147483647);if(4>d)return 0;var e=b;d=e+d-4;for(var f=0;f=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}L[b>>2]=g;b+=4;if(b+4>d)break}L[b>>2]=0;return b-e} function ta(a){for(var b=0,d=0;d=e&&++d;b+=4}return b}var M,ua,I,K,J,L,N,va,wa;function xa(a){M=a;c.HEAP8=ua=new Int8Array(a);c.HEAP16=K=new Int16Array(a);c.HEAP32=L=new Int32Array(a);c.HEAPU8=I=new Uint8Array(a);c.HEAPU16=J=new Uint16Array(a);c.HEAPU32=N=new Uint32Array(a);c.HEAPF32=va=new Float32Array(a);c.HEAPF64=wa=new Float64Array(a)}var ya=c.INITIAL_MEMORY||16777216;c.wasmMemory?F=c.wasmMemory:F=new WebAssembly.Memory({initial:ya/65536,maximum:32768}); -F&&(M=F.buffer);ya=M.byteLength;xa(M);L[34960]=5382880;function za(a){for(;0>2])}var R={},S={},Sa={};function Ta(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Ua(a,b){a=Ta(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)} @@ -32,21 +32,21 @@ function hb(a,b,d){c.hasOwnProperty(a)?((void 0===d||void 0!==c[a].fa&&void 0!== function Y(a,b){a=U(a);var d=c["dynCall_"+a];for(var e=[],f=1;f>1]}:function(e){return J[e>>1]};case 2:return d?function(e){return L[e>>2]}:function(e){return N[e>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var ob=[null,[],[]];Wa=c.InternalError=Va("InternalError"); for(var pb=Array(256),qb=0;256>qb;++qb)pb[qb]=String.fromCharCode(qb);Za=pb;$a=c.BindingError=Va("BindingError");c.count_emval_handles=function(){for(var a=0,b=5;b>g])},ga:null})},y:function(a,b){b=U(b);T(a,{name:b,fromWireType:function(d){var e=X[d].value;bb(d);return e},toWireType:function(d,e){return cb(e)},argPackAdvance:8,readValueFromPointer:Ra,ga:null})},k:function(a,b,d){d=Ya(d);b=U(b);T(a, -{name:b,fromWireType:function(e){return e},toWireType:function(e,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+db(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:eb(b,d),ga:null})},r:function(a,b,d,e,f,g){var l=ib(b,d);a=U(a);f=Y(e,f);hb(a,function(){mb("Cannot call "+a+" due to unbound types",l)},b-1);Xa([],l,function(k){var h=[k[0],null].concat(k.slice(1)),m=k=a,n=f,q=h.length;2>q&&V("argTypes array size mismatch! Must at least get return value and 'this' types!"); +var sb={w:function(a,b,d,e){C("Assertion failed: "+(a?H(I,a,void 0):"")+", at: "+[b?b?H(I,b,void 0):"":"unknown filename",d,e?e?H(I,e,void 0):"":"unknown function"])},B:function(a){return rb(a)},A:function(a){"uncaught_exception"in Oa?Oa.ja++:Oa.ja=1;throw a;},t:function(a){var b=Pa[a];delete Pa[a];var d=b.sa,e=b.ta,f=b.ka,g=f.map(function(l){return l.qa}).concat(f.map(function(l){return l.va}));Xa([a],g,function(l){var k={};f.forEach(function(h,m){var n=l[m],q=h.oa,x=h.pa,z=l[m+f.length],p=h.ua, +ia=h.wa;k[h.ma]={read:function(A){return n.fromWireType(q(x,A))},write:function(A,G){var W=[];p(ia,A,z.toWireType(W,G));Qa(W)}}});return[{name:b.name,fromWireType:function(h){var m={},n;for(n in k)m[n]=k[n].read(h);e(h);return m},toWireType:function(h,m){for(var n in k)if(!(n in m))throw new TypeError('Missing field: "'+n+'"');var q=d();for(n in k)k[n].write(q,m[n]);null!==h&&h.push(e,q);return q},argPackAdvance:8,readValueFromPointer:Ra,ga:e}]})},y:function(a,b,d,e,f){var g=Ya(d);b=U(b);T(a,{name:b, +fromWireType:function(l){return!!l},toWireType:function(l,k){return k?e:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===d)var k=ua;else if(2===d)k=K;else if(4===d)k=L;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(k[l>>g])},ga:null})},x:function(a,b){b=U(b);T(a,{name:b,fromWireType:function(d){var e=X[d].value;bb(d);return e},toWireType:function(d,e){return cb(e)},argPackAdvance:8,readValueFromPointer:Ra,ga:null})},j:function(a,b,d){d=Ya(d);b=U(b);T(a, +{name:b,fromWireType:function(e){return e},toWireType:function(e,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+db(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:eb(b,d),ga:null})},q:function(a,b,d,e,f,g){var l=ib(b,d);a=U(a);f=Y(e,f);hb(a,function(){mb("Cannot call "+a+" due to unbound types",l)},b-1);Xa([],l,function(k){var h=[k[0],null].concat(k.slice(1)),m=k=a,n=f,q=h.length;2>q&&V("argTypes array size mismatch! Must at least get return value and 'this' types!"); for(var x=null!==h[1]&&!1,z=!1,p=1;p>>k}}var h=-1!=b.indexOf("unsigned");T(a,{name:b,fromWireType:g,toWireType:function(m, n){if("number"!==typeof n&&"boolean"!==typeof n)throw new TypeError('Cannot convert "'+db(n)+'" to '+this.name);if(nf)throw new TypeError('Passing a number "'+db(n)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+e+", "+f+"]!");return h?n>>>0:n|0},argPackAdvance:8,readValueFromPointer:nb(b,l,0!==e),ga:null})},a:function(a,b,d){function e(g){g>>=2;var l=N;return new f(M,l[g+1],l[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array, -Uint32Array,Float32Array,Float64Array][b];d=U(d);T(a,{name:d,fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{ra:!0})},l:function(a,b){b=U(b);var d="std::string"===b;T(a,{name:b,fromWireType:function(e){var f=N[e>>2];if(d)for(var g=e+4,l=0;l<=f;++l){var k=e+4+l;if(l==f||0==I[k]){g=g?H(I,g,k-g):"";if(void 0===h)var h=g;else h+=String.fromCharCode(0),h+=g;g=k+1}}else{h=Array(f);for(l=0;l>2];if(d)for(var g=e+4,l=0;l<=f;++l){var k=e+4+l;if(l==f||0==I[k]){g=g?H(I,g,k-g):"";if(void 0===h)var h=g;else h+=String.fromCharCode(0),h+=g;g=k+1}}else{h=Array(f);for(l=0;l=q&&(q=65536+((q&1023)<<10)|f.charCodeAt(++n)&1023);127>=q?++m:m=2047>=q?m+2:65535>=q?m+3:m+4}return m}:function(){return f.length})(),k=rb(4+l+1);N[k>>2]=l;if(d&&g)ma(f,k+4,l+1);else if(g)for(g=0;g>2],n=l(),q,x=h+4,z=0;z<=m;++z){var p=h+4+z*b;if(z==m||0==n[p>>k])x=e(x,p-x),void 0=== -q?q=x:(q+=String.fromCharCode(0),q+=x),x=p+b}Z(h);return q},toWireType:function(h,m){"string"!==typeof m&&V("Cannot pass non-string to C++ string type "+d);var n=g(m),q=rb(4+n+b);N[q>>2]=n>>k;f(m,q+4,n+b);null!==h&&h.push(Z,q);return q},argPackAdvance:8,readValueFromPointer:Ra,ga:function(h){Z(h)}})},x:function(a,b,d,e,f,g){Pa[a]={name:U(b),sa:Y(d,e),ta:Y(f,g),ka:[]}},e:function(a,b,d,e,f,g,l,k,h,m){Pa[a].ka.push({ma:U(b),qa:d,oa:Y(e,f),pa:g,va:l,ua:Y(k,h),wa:m})},A:function(a,b){b=U(b);T(a,{xa:!0, -name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},p:bb,q:function(a){4>>=0;var b=I.length;if(2147483648=d;d*=2){var e=b*(1+.2/d);e=Math.min(e,a+100663296);e=Math.max(16777216,a,e);0>>16);xa(F.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},w:function(){return 0},s:function(){},j:function(a,b,d,e){for(var f=0,g=0;g>2],k=L[b+(8*g+4)>>2],h=0;h>2]=f;return 0},memory:F,m:function(){return 0},o:function(){return 0},n:function(){},E:function(){return 6},D:function(){},h:function(a){a=+a;return 0<=a?+Ga(a+.5):+Fa(a-.5)},c:function(a){a= -+a;return 0<=a?+Ga(a+.5):+Fa(a-.5)},t:function(){},table:ja}; +q?q=x:(q+=String.fromCharCode(0),q+=x),x=p+b}Z(h);return q},toWireType:function(h,m){"string"!==typeof m&&V("Cannot pass non-string to C++ string type "+d);var n=g(m),q=rb(4+n+b);N[q>>2]=n>>k;f(m,q+4,n+b);null!==h&&h.push(Z,q);return q},argPackAdvance:8,readValueFromPointer:Ra,ga:function(h){Z(h)}})},E:function(a,b,d,e,f,g){Pa[a]={name:U(b),sa:Y(d,e),ta:Y(f,g),ka:[]}},e:function(a,b,d,e,f,g,l,k,h,m){Pa[a].ka.push({ma:U(b),qa:d,oa:Y(e,f),pa:g,va:l,ua:Y(k,h),wa:m})},z:function(a,b){b=U(b);T(a,{xa:!0, +name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},o:bb,p:function(a){4>>=0;var b=I.length;if(2147483648=d;d*=2){var e=b*(1+.2/d);e=Math.min(e,a+100663296);e=Math.max(16777216,a,e);0>>16);xa(F.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},v:function(){return 0},r:function(){},i:function(a,b,d,e){for(var f=0,g=0;g>2],k=L[b+(8*g+4)>>2],h=0;h>2]=f;return 0},memory:F,l:function(){return 0},n:function(){return 0},m:function(){},D:function(){return 6},C:function(){},g:function(a){a=+a;return 0<=a?+Ga(a+.5):+Fa(a-.5)},c:function(a){a= ++a;return 0<=a?+Ga(a+.5):+Fa(a-.5)},s:function(){},table:ja}; (function(){function a(f){c.asm=f.exports;O--;c.monitorRunDependencies&&c.monitorRunDependencies(O);0==O&&(null!==Ha&&(clearInterval(Ha),Ha=null),P&&(f=P,P=null,f()))}function b(f){a(f.instance)}function d(f){return Ma().then(function(g){return WebAssembly.instantiate(g,e)}).then(f,function(g){D("failed to asynchronously prepare wasm: "+g);C(g)})}var e={a:sb};O++;c.monitorRunDependencies&&c.monitorRunDependencies(O);if(c.instantiateWasm)try{return c.instantiateWasm(e,a)}catch(f){return D("Module.instantiateWasm callback failed with error: "+ f),!1}(function(){if(E||"function"!==typeof WebAssembly.instantiateStreaming||Ja()||Ia("file://")||"function"!==typeof fetch)return d(b);fetch(Q,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(b,function(g){D("wasm streaming compile failed: "+g);D("falling back to ArrayBuffer instantiation");return d(b)})})})();return{}})(); var Na=c.___wasm_call_ctors=function(){return(Na=c.___wasm_call_ctors=c.asm.G).apply(null,arguments)},rb=c._malloc=function(){return(rb=c._malloc=c.asm.H).apply(null,arguments)},Z=c._free=function(){return(Z=c._free=c.asm.I).apply(null,arguments)},lb=c.___getTypeName=function(){return(lb=c.___getTypeName=c.asm.J).apply(null,arguments)};c.___embind_register_native_and_builtin_types=function(){return(c.___embind_register_native_and_builtin_types=c.asm.K).apply(null,arguments)}; diff --git a/codecs/wp2/enc/wp2_enc.wasm b/codecs/wp2/enc/wp2_enc.wasm index 4db9b14e4fc84e148d5cceefde705ed081066259..ffa99ef4f6792e7825ee739e7d6c44e95dc98e86 100644 GIT binary patch delta 50109 zcmdSC34Bdg`#*Zt+Iz3Plat{@B7+1cN6catG23b=RWntzrLC4|l^R+@o2Vd22`4N= z5Cl=GA=ojLP_rP^JX8#AQ8Z?1y5F_;3EIA&_xHQ^b3gz4xp`mb`L21`Ydz~(&wAGC z^IvN3yjnYDe1KPc(Vwk1jgKc^t>zkyFHZW9el}nH_P5#a8)x&z?*N;E-%o55zn|I& zeg~TPGn))N$ow5_(||v>dEs}6=`+;)9cGi@Gu({-h0PB9rJ36Zn+iPA#JX8ZGaC(s z*K1}0&CTLln3=Y;5qFGK>aBcskjWAyl8q?Ei_u~>BFUsNk))>HRF=F|S(1offI_^= zmi3kiAvUR)rqXa)LZcEv3`vr`C7a^yMQH$$%Xmph6A&KYULn1^1PHtFG5`Kk%YH< zm0ZnzRt}91P|$v&*ibFa$NEzgFQ-ijki8oCs16eBuXt;Ib}6ESLKUf*rm2c*x7$?( zRhLjU^;M|d+wQGMisFr&6cj9>ElOyaMoL(iXe&`D^~Ikee(>j^ilWFZWLc4^qG*~X z{(1fofIMW1Uj?Md+oE=c;$Qv|L~?IbO2!A*#fI_~Dt;s_Fwk3}s_L!U6^qJV)L~cfe+8bx z8wKH44UsA87$7RDMl#A6+=@+-OL2P4Na2+W!V=2CEZ`Ls8SC6iEj2S>C3!G zJkhgu@1b^eG6^TGY&YCF>^1U>`w6Q}es498(S}`O0o( zhq6W4sH{`6mDS2BWv84kAC}L^2k8d+M>$vC29zmh$%dRGe=E0{OgrmmHF}%Rk9`=?-^*780K-caA;J&at!X4C~zgG4nOZ6+((T4@CvPghIXQlC{)4!qV%+3_Bq>0}*S3$N8IOBzpCu`Koj zT;H)wwu~)hOIRA4%jU3j)^RrDY$02z%w#jzd^U}&kW!hOEnxFl=h$hi@3-u|<k&R_zSOSZk z!ZM{yX(D?sb~ygrl3N-+{E%|cJ;tke{0gQ27Sg$Y=l-#o%8=R05+y@ftSnL%D(T7s z_J94fd`dnkZ8^A~ihU%-UYBl4x24z{QlWH9 z^3IzOebD`hck_^y+qDYR=8{|c5~s~c<05TNNzdBu-t8S3wqv^%*Q$h5c1jhfkBhXF zo9b!XHT-iE`}R_KJG3~LjKuIq91=rqPU1`SbVNzt?!I6jMl-g%yZf|?Uu%{jk^?y< zMAS183ICAVX^V5&L|Vyd)5+&C6vd$eBB+(Gq-P+a2o_!@@V7e^Pq@et-d2txBL4k{ z9NndS8`KwVajC74!fJ5|yOTQQmrW80^{<`ei@_+&hl)^7Y`5DtTC);46?X%B8TTK) zegCJ{5A+)uRMZF}>g5!T@VC3)^(o~p;U835)F;wL<3*36XcyIqlMHo{!7a>Qc8@7j z-2J})f-<6)BMEIP{wKOt#FY`34t1$!Ty%AmV{O=GG#~#&E8;yJYV)<}mv_2vIYQ{> z?QZXY2ojWCKEO#SK49y>*w{Q&L1agCvnoxUqyp7kl2g{r&MN90Cqutbt6zv6-RIsA z*g$;R`+?(XyvRc&6+_2NDtY>~D5;ByPPG!R40H%X;}MZK<)JRQsQFRF zYlnzWtB6mZ;rYfses(dkJ}cgj=IwBwDn5duGF^hFQF#6yoCMG8!66C}fnSDp5mh`G zT1mwDD|AG4WMVefskXO<4P5vDXth%vfbMq)Z&4BzMPddl4vV&<3fAaDUT4Cpx~w7V zLXtNS8!jug82e&ue)Q3B@W(nyD_>+Yb zQJp@zPn0Vu;wC_riZ zFT>!lW|962`>IZJJ&kCHSaz9Z@_pSC4P$%bYZl zp?2<3;dP736HP#QTf@U>$}acm@OpkCjhMuuNhi0tBO{_kNQa0zf=r00LE*VEqBMQ7 z(|snQl<<5UQP=N9sZ^BeZd%eMLOv{6w~ok9%nmC*t8U17rzZZP4|N$_!G;;BKYRZC zx%vip3{vKotk>c{rPSjiiM@#pqpGQBo%rV9Yn~3U{k;RMs`l3(AVorm5;X=gv+L*mz}ou;bI!Y&+J^gj*+GpAP+GQkizm7 z^Hq-*KDhwacoD8EsEg#VkV`#I$jVo(IksUM2?DjB~krmDXtHcK6As z2yZ&Tj3fqQa%m^aLFS3O+-pilQ}|pcU7A_U*Ug;eVyr;XZe)uO;3OXYh!x?L7C1?y zj4<>~q$FDWzOxPmneCkBFIc)cOFg*`j0|?Sk7Qxilaj?IEuI1v(KTv})kRUFBc4UQ=$fdqbz?5? z)GAV2UFrZ2!v`|42KI@e4)!QM%fG+hm7VTsW&8iDZlc^*S$SBw|6DiQP!}s=;Wx^i zD`GA-r;531G8e!BuD>%Eb9R-kP*U_!;|igI^>weX{a^{Ymx)4v+= z8KBdldP4Q=)lI%26tt3FoRF04rp;QA@NgRjK4ww4$)9ZwmkUdoLj?=4xf5TDAt~-n zujS!4srdu^CbT$&-wrLmGI5yu_m(wG6q;S5)ks3}-78;jh`L;TJsNmS>x%BCts|ZJ zyO~qLsINey0&KPtPQ~f(bPRC%;0M!5KY@r}lfvn3P=9w@@tZxX%>x2QO54})d$jE+ zdL+l)@y$NiBV@l>f!uJPeKQXAZ`BTayBqF~?c0)j+4I}?A@Q9eOE|qNP+7O>>C9kfBgON$?vD9Vm)* zf8EiGbaE$k%%Kx^yPI_?7d-bLP4^OCBFp`Cr(Wo`Go7}f74tfOL`jxg?pB>dyX$mo zgn)8+rQOrJ)dkwu?F}h9lDeC83(2nb))Rs#Ro-r=q-ytnT%fA2q1|OPx$G!TqKE)E&$)*SbMpoOYLJG)rM-A#h60+k5 zeMZRf>^}#uBBYXg{*W|s+}&Vk8HBtyv>A09tE>4=lZ;gSNtO}~(- z##Mob>eTdtO!ttaHZ(oQy)`L{D=X_(S?HcV3jC_67#1|4?-Gu@bpa7bnEnz_&qm$QpvN5 z-5C;X^TD>kA=WO36VouWg{V)$+U!Jk8o^+RobiYXz7R31qnLIBXLrZ%?%CDw`@qB< z<}@>LZTIduQ9vE$M7n+FmISIiSHw-6TMNHACJspZ6lKS!m43CaL=|)0tI`IGzKWbT zl{|8Zly-a-wYk;d)l~f%$j6FwnMVis5!QQw+D#%ZHOz z?wQM@fp;t~|65U3OI&@3kK1+GW|DR`r##udcpG zG0S|7ICspt_b?e}t{V={2#;gt9AoY_%_6d;oW7K_%I?20myn*>l{OEfAn9BB3Kz@m zErEReQ!+)X@9sS0Ek;PBA7sp2_kmp%0&>@yAI$0h24q5qp0Li%cDJS=9d`#I#Yek` zq6ueqcOnn7tM197{+4oka``$r?-q?Q{zvc2q;5R)lgq+OI$vf{&^4zmd zTtv^0I@yFKR(EecSs#uECu8wj{ZtHoKRz`QzZXyagx{s7yW;oBX~AG$KXacVlP161 zW5{vul_~C@eqD$5kNE91u`>MlyIqjIS3(83c(s}!#s26d1s%gy4YCP!vH{pcLPR2t zW7%Kc3{q*r{Ol?BT2hkfKK3A!f=k3doGDzvkJCw-+j!jCCvgWvvRte+6=)vcvP3JH zUGa&_TREApIueZzjC|?ila!{$(9}Sum!6(x94$svVn4YDsZ6gNSm!}4kSkjIk0I|1=^tL0lBhJy0J3>g)za{S(LV6LJlxA!QC8=nV(XIrkCFnQd zq!|VR-&vAeA%#4vsy&ErFGcE-LgTMe=LH91@zeJPH!dX-xl|z#ZOdc|NBq2@;O1s$?P^lf)ZT zBe7v)l2k_-7lo?R?v(T~OH5Y_UnGazG4PjV;OTa(pzdun~D)2CTzh{RWK#MI2UvJV0#Ma zvg<_*(XJQrGL1f!m5EPy$4+DD8;*%e&w+!NltE4e7# z4ZERd;qKRsd`c!7$Gd@Xp!*)YMasR(g2kRLmmhwc1isq)CvWpxZ<7%IVRwR6b1CoL zgS6%H+a#2<=Oy1JNmX91RYHc#XyNk4Qo>MEY?WRa9{(-(Pdyp;CGCw}JxCS_Ymfd> z1RsbHKNZBHsp`%+$2ntaFVdWlUdGXP$b1znzW>HKhVMt@HlyjcINBFP3p_OaHjn<4 z9HuFUW)36~AiUH-QpLXVri$#ucIqbYI*`<-Y3q$?0|~>z#%Fy-T7eXNMrMPI97Jk@ zd_RbQBl1Us$O^h>JzqMQw4$rm^FId@SE<$ORk3M89Zktq?Ae6MCO%FlI^tCOoK&Pa z>v@mQ$xxKT^FJpags1%@4b)pA4b>5$-4L)&RA|r;QqhZ4=5t1qCLpIrlL{cxS0<@q zk*;5nitvoL$a0eyKYxYKL{gTOOCVrMy!tofb^h5Hk_!d}OtBB(w_36w-YU^#Uh#<} zS~UFoaaJ40k!7R`UpSuB135FExIms+Byxi3YCeIKfoDI9BwHkF0;%ekzuuBOLah07 zeF7O&B5RZB7a8dE*V7FPmjK4R8lFU^VH9c;NjHaQwns*RGmFV*44g>33EjMqkDNrD zzSC~Wrg&Ez!6|&%BvR^ym$&J4WD@4g?uESFWKy0US;)VbOv)9{zhS0wdF#(fODI%D z)WdwuWK5D%3;Dgtqzt{hke5hCk0VLLWRc|dt4VC0Bwr+3Nj4^1NzNye_g_@miG|#( za>s8;TZ#U$&{&W{{3Lp3A^*WmN(vf~N&@)>H>rwH;n3;Rg}h5DanZy@{L57MPhP|` zQ!x~0EaI0_q4-<6i2Kbz;@KHIdIniV*DvDdW{}tD#zovUle|;BvP(sS6sH%aEcVDy z_%cUjo;s7%CY6o7Gf57i$yt2tEOIc&Trjb>k(*&Zoxw2B($jd~+2o$J@QDyThxeUB zHj{M2HJ7v?WRKA=jcAml@xk*+bDFq=8}q?YkmH~8$xO0`k6%DqVAH@4EWoO`aw!i; zCyza`OPFgoRL~V@TZhwb6&ryvlCz8f3&|d=Obd)Ui%CL^~P~XDWmMP07O((`N&wju0KzZ6qNgd*k3Hbf%H9 zm9!_MJHMMtMt}_5Muvm@x{Z8Ex*P9qC+`#T7vJ_1mW=8A_)p{>CTiXeGKPrNzx^(( z8=%R%u!1k0#Bc5<6?wzm#NV-Wl34tiDGF%%3Nt8*$L}UVp)39tWJw9Eg|Ey9j`S|c z_aI6!k0(<5K#`>BR@Sj7!lWWbdHOu9f&XBFH{6%V9WFy*CYKqNtMf_tKn(l8WF_`_GZZzFAmg#pbe@ zU^T|5Ux*8<`y#&JJmiD?#YWC~Oa_wApIsoq;H1SblBnXAxKULnZ@5g|qq(!=?Jkls zRTDDIttz-uR-u(IcG}1p)ks+ULP|oX2%jvz;3A1Y=9@2)xnvrzdKv6I{Sxu~WRMeP-BiYzXcC$qs>{K)TQX=D*c4u!9Wdq)=2Zw(98fl6Q=3FDyOB5{(4%DV-EeQg~x4DcQ zUU1>^NGU#~QQ{9$jQp2mM$79$vX3^-+#r8R{~j>LZ?{MZ#lMP627{IGWr*%@RN?*) zNL8$QjiKTqmH43tEPiM{JHMY6#_X!W|)W zKo68?0-;<7(zgpmul|z=Knwuk%(-a|LEi!C5pKGchSN+TEp~`N8z2dO z7eQTu_9;b!aLy3t3>5O=wFqj;hs8_MC8BBw4P-)z1$?X|9c;>quV_ZaQ7E_+2D=s6 zloiL8qC2dO)nHUk+sn$833 z3jK;!CecRouV^W#;rRy%!pWy5&;}s;;fjd%k;H}w=Sh-~aU5|@r2!EP&sgRcCW z$E_W7|KB`z@1)mW^)NQ?qBE5$x5k?Xvlz2alEsmo;2P9qgW!)tT}qM6f&FwY|2mJ> z@>%#)#ey$JdDd9|V;-&ce=m>F19WJqjH0RonDU}sUt8q0_NMXO0SdK{n|D4$KL^=$ zhz=ocqkcZ!;)MzE=oD>23V6NK)X7JlrvAL&X0e8j^01pZmzHsq+~)$}YaOO9E1)L9xxj$1h6EM1JKub;z! z&*!7h(HLZyeU8>9M~o}y=ut?y)A*M2w3(o^fKH$p)A-~98tb1iO^ByB-iD@%>Ie9! zOSCe7T0s5jfoX={1sY7e=eo@(_zpb(JPqY7FVcumkEfYV)))RG%5+3=csxB(mbv+s zix_aAPcPEyfgXi}ON*grC9p~yF7T$8!1q_U`RGfu9;jhlqJI+l!!(}xE1e5!wD^s7 zp|oI{G4~2>0oiUkzj&376SV&|EV%ck^PShgzd)<}0nRef&8PoCKl7XDR)q?N#yQHC zaN1`MW0Ac2b-KcSbUuXDVrX~%eE!>Y`lBd&$qln?UT_1}jnk&`r#EP9@U*EfdI_vW zsLLGs5;H7{e|D1wIhMSPfS|Qj(9Ay(vi5HwKab;QZlZvn#~HzYQeQ%!Q=@Dl9Y{pc zGj4$cpxH-mVZEcs#C3&!UsXXouG5}q22Mg76%J<%(=jh(4Jo7G{tL~jD znwrk5->0p)`yQ>PT{nGFD0e)d9eMbD>PN3n<(2Q#Nj~{#zc^ha`qBA(+kM)KKAFnB zAJ7^93aQMGKcErX6Em+|!fV{8uS2S$N7VEbt3dw;v^6O2V?N zxw#KV99LbbCf&4zcdIM4LDGeFr4Ass>q>(_K8Tg-g3OJTR)MssC&hw{ttZ8RY_!NN zi&Us@dcJ3onHD)<5xIdG*1#g4H!$=3u7R1^CCjr!Lo-T8izHcOt3~cxB)XBAu5Tl$ z0ZL!kNU8;L%p`_aV`;W8IcY3@Ln=iesBCYG%yaqUwo;8(b)tSI2Wj}GbVR5q9qpu0 z@`zV#C+&(T+Q~wa7rQ;x>FX4VXDla(Xm2l7^nSVPpqwW-L14t&|kYr&*<7;0m?Vg4xqy($_28jwK=B<<-9;^fvgH<0a+DX31n3;6UeGy z2GCxcX{M77Xw@(c$g1HiAhU*gDv(vd6dGlYp!WCIVR%OaSs!5LG>5RyyYe zS_|~E>6c|_Xuk0h@0G%~aGSE2_ zB?0|nqC}wcCQ1OZsulkPb+zEb7w9gKRl`CctAf{otO{NMvMP8P$f{rgkX6C6Kvo4$ z0$CM23S?Cu*lQmq~6q6%AdtaJIMvUV}O)IH!n5XeIhNf`!ABfj%A$Dxr7pLkwL$dpz6bc z+6bw1^;gamyv6Laj+`)$aOfl~revrAULGFd_#$frCRf2yBY31VLnCYX%5S9VAm=RN zHx{lZyop5yS!Cf@aE=}P6bMbu?Yp2%2nQDZybymLaVT6^9h|S57scqQXW1yUx)$(&u8UT9_jRDI%7}<8!1C?%aSH zrt@JNunwggKW~t3%IE;|tl{_;^i(1D+bX^H53h||rDnz_xzb#!eg@+aJ#QD6a;5%; z`jhk{i%%=!aw$b1p$MehQuQFAEJ+3^E<%CZ%KzRX@04fNO2vAXg1b|8cWZjNe^~wURgjW>-G6A9m$N;D+KsrD*0njm? zO-5o-7Xf&@l8U?lJYLB~UMG=*FhA9g0@M&7AE2fH@p(YC1lj{oTYwz^bp*%-h!NmA zKwSZ@0K^J#8K9m31pxI0cmmKsfQJAL1-J{)NPt3s#sZ*1o~q$vTd1M_%J#1)bXHNt z0Xzx*LyOaH@+bSH#WcZl6qxIw3Ac>{dD39&tP}}*b0~Bu6j!pN7wpd!(c%Y z@plhN;iMNIc}TiY;bmkTmY9)o;sUeIq7<@Ih4m*Ajm?*;^TUUwempy03czgGnJ-ln z2aosjrFzbkLuy<#VryW72nmLWyEVd!&JLFl=Nwab`@>RmvY4kHmKp^VgLey|lk?d0 zO*Psa!KD-B?lx6dc(vnF6l?-{mE%%*Wyf|^mn^UA+xgeI>34)W*2#{wvLjn|tdSk7WycS)W0maqUUsaM9V=wVce1|H zOJBK3b$G)lR@HM%lm;a0r+~3%-T^sA|INgge-i%pOq}7RCvH|9A&%v;zNQP%Dyp9V z`5uym1`JVPe~6Hnq}~u^HM`W@1K|I(0K-rE|5A4_csMnEX^_ayBDNjexv{lFvl?9 zSV71|?tMw>Q0M9{=z3pD=9btkw5cxxoI)NK(l~Yi3VQF!dOr0M#OD;_)FlbZj){gL z|0?zNf>x&QO{`~s)2BTwlo|`Z8GB0-+Q;}?610!T!CR6q2@vW>Zz%O3a0|079je9K zQUqdo-I0W%vEv=-5J==*NhlgWy$cpw$oE^Wkb9D;Xxw&B>MFQ+=zVZ;(1!OduHOB= zWU3g)-j`;I@_%?B6_;^sWIeC_Ksg*@aD zMD9Y~?vYs=(*~yIUnXmh`%8KsAqW04D+pI@{^nz;B|Wg7&v-1=rYCWf@>qIKe_PM< zo=EjU4ehBEMd+6Gyy`Q2D$u^qq+T9(X@2pUG@L$J$9p`ND$z;n`S|A&2VGZM_SG=2 zqBVIl?0T+ga?OBt;uy@Sh~v$*zSy9hXl%E)YdN%=VmG*3B`BC%zF zXqOrcn$BmHmN(aF=Mt89K9T-n0NO>P5=AKVt1&b|AjH3-ftu~RED#zv(J3cd=a!~V zju9Fue_)<*e&s@&+VN8^xxF}(tW-uWfJL zqb~kcCAk2tdbhHC8NRPofwmZ5x?{8~hT^A+Gg#=fSX_>dL!B50`8pr=agvHIO%g^lvCHM9112$-j98RdP|$ z8#vq*#0R_eE9(rUmAu~<)jHfo?qJ8baP>CF#rfXyP-w-v^pSU??Gf+GmC=yb-^WMq z$YVc{CnCl659DTEG=G`FK1H+16QkEad8lHH{z~?NLTZS7hu&FY>>MhWBG~F0zYdcV z2*lKnzL56_skQo-^4AbodDfTm`*bcWkVeTtyut{%4}{c7BjgA=eJRfzA@3E|H$z6s z-RYvG{J==LUg^^cE-eT?6DrO;DYUL$!iq7-RKJd2%FB+DE7GlIhArul3_fd=Tuaac zqvS?{`iz!i8yv|H$`PA5W5>Mp31Bdp#u@^1aY%>uT~X9OUj4cZ7FXKLy%g05L#@HqDKv|T1XSuvYc+B}u zhRSjCd}Gi`c^9Fn3ys)Sa)wBH?gzOsY0e|EBDcmq~-IIU8!>x{#N7snesXs29> zyuq7*&>!aU0XyaJl0VG*r!of%Lj^q{f$BN)_~M;%d3p;BZ>Rhb%}O(B@4}R!8`Joh z-LflUZ<^}(jbJSiXJXIE-~pb(Ac&>$t-IwAT9C$1?v{tp>uLPWJ#qv3D2-3rBbTC+ z=kf3MAZxgP-het8;5RGz#TWKW)O89ffjyCpJ{ zyAI3C$xI{fu>8oE{AKJqFRz3(tTE)GT;F6tKU|VWh|f~#vfLQ<8%Eq^xsxJ3=$5OP zO=0P4ENuv^&NGEg3pR^56~TDn3$9~C)Ub<7^3nex8R&{Y$q0$npv3eX?bOqdLK-9$-1 zH%ycWbkjr$KvuQ(+%&ERDR;cUE6$aIymXP5F0H&tuJTVyD56m<*>^X@Jg?)uu%6gv=PtYgmDG}y_OCo0Iy(UT%(c8;nnkiz1 zt=m$$D$z4J+|@=YOK;@xPunOFn!{y-$d<4{xSVwI20j(ObiPSLnGeENZZP(@Q8t3b zY~T~xD&^^(4MtX5rJqW=@USk*7a-Ft;?-3-M7kKKx+;5RdU^xT=%GwQ!7)9R&5G0| zau(0+t9)Q|@1x)rO&4R}`$|txzV8F&Pg-E`O&_A&w+w#vLnVq98l3i3HX+)UzDkgp z+tL1JZXd-dp$gWt_|KFDkabEAQmR?TN_Wd)#ADI#F-Y+&`le5gadi+55uxHN`?)ew z49A6^EAN2L9HPAQ-&1m=T)_EIB@V5i!<4n++|&3%Sxk#YT+{!*j5uwSk{KYT-kM~k zt7wKcRp~6%d)+yfI9_*tBYwt+AM{|8ILGUdvUD10*GXgm%pd&hPCtj!k|h&$#6do( z)A5)9y}E(7o`uhKZv+2qmePxk-^dTlQnu5yjeOc{jH4AB`46*|0Vpqgj*dImjo=6`_+imMbktW#j2`rAXTQ54j0x zZ}UpUEg>J?F-ut*DY~W5j&1?X^UzEWO%&7!U9CJL#_PwF0Lp{2l}XTpEzDM$#J?h9 z6m84@PwHyo^Ppq-|4>&G4>iXB16|GkMho-5Qo^)G`Ty@|VT`5glz1ur|K!K}58qCx z-u}-i+W!6R!vBk+&1k$)fpP3|qt#}G2*bbDTa+dAQU)*FqBIaRdaDvmA7=1gTa{SH z!;F`PniO|7c*a)50==*mr_;|2nybttY>MQvJLVblw<&=NS;*JyQZ|OXRYKT^2wf43 zS%rNn&Mc|pEo1C%rMIwmy}U^G?JrNS??C?51yZH=F(Gcn5y4QZdDQyvOkPG6N3buW^0R*^CBw}9vXv7`el@t*b>+7ZabhQ4 z3!u7vXdDD^NSt2c+|K`oQn}d6bGxD|W;nK2N{Oo>LN?WN`H&l6^+zFqDz(I^UeHaY zp$tK_<83AC)#C|aon5pS5~e25@z8%CPb|5u^b?1R{&$pKq`mRU9VLhqT>um(isE=t z92cUxrj0BW6@n4QN*|gyhsWJhO4+B(QT1&?*vY?%vwG!2)a>Cs zNL4$tyq^#uLHkCmjCO?O#d&7TF8zC1_FA_dk8P8C}- z{NhrG3lPIvzc+`!?~j!C<{0z**-?s?eO`H%`KZ4U3}Bco~{5LQVIJ(2SR%R}ktj z-7i9an9F^FQNbVP8m)p^H)y@)@&zHRk)XeXur9@Jtrr$bxDK=n`J__))_S9PC@V)u z4?ZA_)eSbM)}D`@CB$8m%g!Q$_?$3SUu>xEhOq=9^^ltKttDAazC4`$4rB6Z5$sE` z?Xs6-9Yw5nOR_*Joybvn!7y(pPc6+t>4_Y^sx-SII(?QC6*@e}H~}MQ3Flgu%CHP< zlar!YSFv$AAI19O7F&z5tiDmdJPT0%aYv|o6}A>C7vE^M{>3#{su%Ku(X8CxJf26h zmgFICS(Qb3jgy3yOT(qsAyrvf0`J+?poJaBH&#P8;R;rD_P6ssalBVFq0I9>%;A4e zsNU7tXJSGfuFm@4l2WZ2tZCb#(|R9pRP&NjfY@n?d5=ATb?sS9(EnWlTWeSaRIkbU zqkuUz*(8$6%hqCVkW^!EEe6BNT>fSZ3xAav1YpP))m^X=T#1qXUH4frtiPzcRF}Pl ztb5kQr##7Di)FQnSb|e(g{tFC3LW>?qivU)o2nz|n`Xqa-hvlAh-DSUy+T(#7AxGn z>an*3U007a6ndyT^;kaYx1&BDc(SVbs=#PRVE?=Xwy=R!GoOa6Cu-KOA*(5J zO>4;RpoS@p{#iqaf&Z*w(t83pQ=2mLirKTK>^;=|U7a<<%|2t1&gPL9gOgwwwt0== zy5|G_b#oR5GOIa0>3Dv*Ia>yj+=7)05jPPqS6#*Qe9L?vxBiM@obMHZFAeyS7w&Rn z{ZMc}nX{Ix3?@gVmaKGGft3MH#f#}hHw%J+pJH9W0%pni{M|OJCv|7=O>I~wm<{^9!Fs&7Z{Pz#YRM zBH>@yj+GWPpuHJxG-%I8K|8&N$8}^)_=65?u*VTsbM0(lQXfMr;ES)Et%^57Bynvh z!-GSC(>z$bBa%9svrep=@c_nk>-OjA3LZ7;MdUqD|)Kq?@JF8bZHB~HX!WUeSHpNQj@$oEC zx4N^)04NCcYPh{7*rX#4G5F_ivvG7uDu47g8!G5$J=hYzt*OFdwZ3UUZ=`ZpPu3}H zZ>p;2rs7o#2w;IY?M}Chd=IDcZ+o(L{uK=4eW8m)u+$6u?OG}y+KYW8=-FOukzdjb z^@WLk!VI4L4u)6C41Vt&R$h8c?Yv+n4d!*;WrHZ{xa?ilK+wzYLN<8J1KtA*%ACRD z-eX))sW%%^B5#JOpPZpOX}D<&h1VdQCM&xo+ag`g*uBs3#}$q*3hoE4NduODU1iJHEJ` zvfT#f%PT5>yPdLiGz*}f;e001oDDj%4u~UFs1tjOyt}RK39F zD8UaVuu9UdF)DwY!0MYIb`1N%k@=0P8{dd+4`~^$@A}5rI)*_beeE0L@i(k3F(bA~ z^rV=Oh!-V)9;50f#_($6SXp{z3@m)uLQvz;I5va?=Hliz%vxR0Np5io^Q5dBJbnWE zo#xyy`X%AJ)9Zh6HkqXgnl_ou_S^Q9nUhkOkN)`7crBT=C-lw}p875OP|&}=#kdBI znSz!1&J$zk6n5X2Og09jvCVcYb`>(2UcN|jQSEqKMFA_tr83wBh#icNE*^=pmKvUt z$tu0NkO$yP=kk4-SYQ*@^Lv>XNRTT=ENAgARy-N&mh>IFFD~;u{thGa#$%)J3U)~% zm5kOuu(?FJIu99ye+}%Uwv3a!LDZ(yTQ zh5QYyo{GaL?`;g1vrifU+nI}aZygVo0foP#EWh;=q=t?^p@mz=^U*(HjR*bXCv@i4 z@kYfR*jz{#k24VT;RAckj6b4!Eq)1`$X}yLKN?TV8{1~f*}{ZudpVO zf4vLSZcU=GX%~Z%EtgN&!%`e+l2dY_4&r92xf?9M7at!Q`<;8)Yl3?3W0{bgv-h#v z(0MQ2&l(0=1>>k+6pYb;l6dBRR*r|~fg_<3HS(C7%;r1u*!$4+Rycq(cVDfnCrzaT zNHgz%na0RIz^3_!%?*r;Z08Ku=YX~coekOnbe8eXIaXXLw*zh*i(?ZElaHaUKxZA) z8jmmPvjW8nIl9j$2$;=hU1XmY|C^T?jQdbL{UYmW47;9O$pc7K71bD_7AMFYhL+ycr`CW_?F`v|6s*DIvDG_G9AY9XaB%% z494;y*I7+DtYDn^R?sKntvN`ouj9BW5>9M3Cc4fwo57X07iwEJ5ybQV??ULuQH zx7d2K;^rtUcAEti`}>DA#~|MPsK|R2Q;UhQFzhy4C`~xw8MsaEAPHPA2d*`2%_LLq zFp-0GoHt5aD)D)sb^j^^B+|fv!tkF8i+o5 z(_78KNgT7Q4Fi{%ol!KI6mv3ZcFgfnc2!I!W13xUE=h=HP5ozn=ngB9XX^hw?>_!& zRm{BRJRt_>h-@QbBD@6TByJv@4&hBpskOKsu7-=-obQIK{giBxnD-7v(#<7RA08Q@e(*n}zYw8Di1g1R z)Hp#0lvGy)ZhWQ4oPQJ<6S8TXs&7R}-jF9^Xuj25+sE;5OQ|2z?cK$~!5|{cT*=BrDM!Ybd%lk*EbIDw; zlvNkdgkr|hvKT^Su5qlKdfp4M*Hy=>f$7JYu=j(dp`tJ1{x#GdfgUfH^oe-o)eogF z;-hP*?Z_fye+~6#39|BnI%+J)$vUbF#KSeI<(=4;EQud9cVL(}P78>D;%Ty1r}Dv6r<=@L*B9hn}dSc7+}+YInth zMb-r#EV4f7!6NH?BecF+n;G$C*(SosAYYthrjiGANR~ox? zwXt1Tg0MH$)*6(D9lENqQfSW?>h~y1{SH$Qm*nVaq<2^Q<9#o~yQlgN2`*ATn2*(b zC`?^saeBX{xP1`6(Mz37TiM-H#tt+7d`I2q>v#B$^-i6*Y=oOMy9cPfprSL%exmlk z4PGN*pju5Ln|an?wHi*u3kIu8#Vzm&L)3COXj=s$820fYYFP}yCqvW{7-}Iy)$$-s zhQgK0dk9j%hYiKNP2u~8s`a6FV8hh6p-JdHOzj3@3^P4%4^t1|3U2Oj^|UbjnL7f$ z(fs%bwI9rZnv7ISO5q-JbLxn82_3uEKF$uUIqqG<{``xt)bWV;>?^gNFg%ZqSH}pu zFw@@qV1g>_z1bKw4P@~c^(T;zzd@Be5e|PNA{bs{)$irzmsdkRHq`~zESAlvLJ4r~HS*^Ku#shOfwEmv*F zKlxs*N>fhowC~jhH2s8e>U-GZ3ow7Rx}MO&>qfV1HGxXYh>iC#)cU+|z52Vm_n9sm6S zQPEobqy6d%?$`;oR+!JL?o{iL$^65eYJcns4(>!R8r}D*FwLyQC+!1c?8U#|r zKrLHoJ>{Tnpv&f1z|Zbeoy8`JXHikEp0NEywSjn!E}i@BSIha=6|Yqi$0!%oed8RJ zxHC_!X!Jd+E)C$V^VDx?;&y&A50m5MHog}79#WhiJD|?@)?DHUp#Ubtg0%#v(NbG zq*@&N%YDXIr&Jh!=I%2to>uz`z+0bHBiK5b+T%6;*&VgGQTP~r%k4MSn%)5}@&1Zv zkkRU<>QeZxkJPh<>pAQK`L@5*FMYCe@#%c@qq(ZC@0{O9vvi9Y zA;UCH7ZC!JET261;N%iEiVmCcInf*e5tRsuhiRf?fXfzzv8ShQHq&l~;keDrJaEY- z)91=Dj9jGDHHR0k_Dl_}y}$}MTNEHW@ZaNrQY^}5$Kw09T&G!4^N;bR&(v~W$(D1+ zu^COYQepp${CuNXV2&s9W6QbHjBI>UOnaz=RsTo+*R43|$7T%IDtP^7xl)hKSf*9N zQwU~u3CCuf*2;V3S+1mG+?yckZp(T1C~p8~aP9_3TTrQ@oh2MU2n#gP9AiYNHkKOa z!?iGCoGqy}^u^;6S{bYa&Twrje;A=PH$p3GWfiXuVhrQ%#X3H-q}GB@Dyex>%hA&C zucfUfyk{eAIWOp=#qbApH9sEpzE;)vp}K~Y$I>ng)W#)ik8%$I>vmhn4pYJK=8owe5d@&{TP zU)Nb%<-|jp|0U7dWyaVp+Gfhr>uJ@E25)Q2y?MfiT4i4K6YV4O4Ha+4yT;s4w3&ol zHEIsj9^nY;CN+{)}Um{G3MAJ!8%{X>4=w}#NwP@ z(Y6esZq7>MO($!0u*VrbSu0J)uHk&LR)PG?b0=#dG zzxS=>jQ>^}CsBZ0-@z+K5vRv4-ELk6fKHATf(1C(aMqE zdDK+lYrH#E!;^wI)gPLog~{~#JU%s5I~kpO6I(LzVRRsK3Ds~#p#{`KG}1?K5gT+w zW+eRb)EQctl0_~nx+4Jc>B}g_(HYtaMo-S;-=}HeqL_VY+Eh_)&v{y$X>722p=KK6 z4qT-DN{kgBY8i|^T*^BR(25J%Z-BN-tt$pgK|1e|p_L9xO}7RD4s1Qcrp_zDq5lZB zXA%**C!Oy_VrWsWW@xR&`QtB3w6Z1s5g9{p>3@k{_8-yh-p(IRmu<|B&@P+&Gcn$#4CjRf0PrOM8OX4Ic3lYqSVokCGNv z(XyV)Ut6QOUc6l@G%kbIXsIN^6G^;aA0fmIsE&kETn6V}|F*J`U?ZDar%ko8tXP`9f^pb{isd}1r z!*h71DTnAvaUms_-`u7hM_2CLuKk7&welzJsZ7Sg%v)=RGxtY(v?d~(`g^rn5b+1@ zMdzX#llN-FVEaz?Y3ZV`7w^+vzH%(=Mj{<%tj_)zPO zHo@P;qaJBvUc7`s@kWNR`jG~s5L`j?cxZ(at$^KI*l zQO_V-h_=pouI(~!bG%QymXZjQiKY{=CEP=>VnBHlLt*9wgZKGHl=Od<_a*RA6h0#BT7I=89|MR$R-mMM|Qsdse3zVMrL{6`+o1e-|sb4>eO;;J$0(;)TvYI z6AJKgqet!h56H1TM!nlXjt)&;YarP5*b@~Yn-B4-lW<32i&x#|#)u31)p(h|+F#wF z6n<{a9-v+&EAKpOZ5XHqT;cZ>IRHh0;P>O~M~Lw=LVD~j>1qiM&LCw5oM~4P%k({ab53vHsC}7E;H`RlB{1j45hVuc?ya3o|T_j2S9hOtLmNhiHre$5ejpuwYj@D(jth404N~un z+`NOrJFDAZb%ju#`Pp?UMhTts1M)m5st1)Pwa`HayOi4O{=tT0VQI z8Y029l|$80bYV)m+Nym3+V`2!WN2gq)u3 z(D{Lps!{JqA64&|h3iHyOzIo zn|cjcCTyI#kl%cpI+0J9pbqBC#;NU;zdyvcjZ=HVUUs`$q&zf_&%a%r1KVq?>f7pcN_ zzob5@Y%S#_FR8O(TY+_IoLl*!lp9s*T-es?Ds`w#_1;2P%a2*A|85O+wvf%7D)XpQ?hDbQM20CH$QCB~d zD46>l2Ubln=3&Q?MvhaCBbOY7xN%3{^diSX#{pJ5T&3i)-grZWCM3HUYoJ;lC4iS9uv|A2d3T4s}7t97*a&*-coB6rREZU@E!Fo zvQNIFPFB9T#7A#ar;xpKo4VS2>QW4fp!1jCRfq9i+kyM1F7Zb1s->!-1zhnXZ zCjT96CjT#9nu+~LeUG$=efF`s1zWVmyVS!t9GG3Bu96#VBSgX)b`$Ad-pjN0s2dRF z>pkiTnOh%!q87WL5B%oO)yH6c`?*>K>(0IEd{}?ms~!c({Nk_bIUKQk_JtZGLi+ta z6)!qjyZ5WmE1t!Tuhi>cP5(;m1#A6RYEM{4zETIn>iV^C-Tk#X957^c^+xptJ;tq=_1&2kN4;&VWy=;4aV_We@M3nxvHOscv z+g9xn@m>5;wFh#){-}ugkg%-Rj;gy{{xZP~11&boPFN);)Y<-4SGb?Hx<1zG6IR=E z>SW)QVpZ11sytzBab9F>jC-~qP z_O-l#f8%8t{01+J2b}CH-mYaW}H2@Tahzlf8dJq0*XFB*Go;&0_ zRpeT2?N`}FxglHG&*F1X2NJQgf9x~~ZAG3q!*|oSu>DCaNqI`R)A@BtXy2#!xFpt@ zE{{B&ggBpXwmwb5JL#T-lqRoAVFtgL%+NRUt@sqS#T6xK>gYlD{xd!3-pll$bFab9 zwy4V{0bzfPMhd_Eh5}Y!jQL|jUKhHs_@Ho$`Vg5#RmX-p2s`pum_co=UE$aSXbrOtpo*1_42q4qPW|z@4u{-ETbcP-R=3eEn;-FTV!Nc zHuVa*{fB*GDLvSeiZXuzU($>9gl*OIVxwJ3$pW66$Ci`5Gmnk;y|91|ENf&Qo6QpW z>^#<(ch6?=1U1LgOf24O$EfCS=d)}1DU%IWb}!(4^4Wc4zmd=G!f9`IANH)=2-hRQ zHnruLwl3g*?aQVpTNhaU3)lt^hSAw;*pGB^J$v9)CP8qA)T|7sl=%(g3t zwsr{mcANFy5Vpt-8Zqof)}!V62D*Szji>OyrRp5QRS1$C*vzXCN8W55yOEWU)X$uo zSua?ByqUccA!tty69jGA2-Z@0;WV%Fv2=a}e&m=wf;HpQhBL4HE;mMj8uS^CfOn$< z_S*r^Qow!@km9OX;}E!C;455rjbKgfgqHDkBUm5cvB>a(li{WjD8vQ+!3dVj?16v> zKUBVGG?)PXTafgR^R3V=pl!I*f`asbHF6XymmlXBN3kyM$6bC8&$@-R;kS-vt*L7t z9nHFty?rzrAiv22V?cL7F^KMF@WLBe91)WV@CB&`-Oc3d$FMlS)niyP5$dnT0M%e8 zjzyEd0sZT2HIb69#sXttC*8_wzz#irE9;rqr-iN<%`~Vy0#^!j4g%v71fAn~x3N9o z4>uXdhJ&$ZO&!PZ*jyiL!R;&^w=J#pcQUMp_VTS0S*6Ua36oe`nfMc}_&rkr*735b zY@t;T zbo4LN*bG9X$8|e6OGpXZnXXZo_{wRqMUO4-Xya?Iz7N=0 zhaW&)mVeF%-;W|E&qDEV^3(9=lV9mdz7IthrJBIfgH^t9(roH}QDf zzJ*!yJ;5yr#xrm{<6-s~l@8n{gHOGm`S|{aMG;Rv%<#-9Z!@2r(4utz@z4VHrTpx& zVs>Ba;kal?SC-3gnihep>ma8Zan$14b8t9+u9&^+TM6lHDA|9`n*0c+EPSg7Rmb+X zHtc+BJDhKqJ<5(~_*M~{&fs(W(Z^Uz>%N8PPC}4lkF%GQCqCn)Pq6cFTg#qgw>ATA zo_?O?0gt+`0dIHl8h*{Cc!Isn?YvVZ>)7v#Ns$O7ru6*9^ul=&3?4nl z)ogR#CpHf%2>9F{J0nW`C;k#8URT4Jdm@?2=Dzw&W%CorCb8@$j^fst2AIq!3W?WS zqhDf+WVzO=TgM&)5w_;M%%Iq#fbXdSwiWQet1Ka|A68a<6WaG3dd@i0TX&ZS`|+-? zvMvaoir^*`tV>(^?lC%r=lnIUx(wk@BityUEB10bmv4Dc#33+Pu#lv31lW()y~+yY ze!R;D*12iHLR@*E1GGq1Z2n{(E@S}Ewz(&?9qn{nY&Id5c z>B-a8yZ6muyJ?g=^0t+7TEHS30S-)&#FUrcpd-$r?AcnyCp4UJwfKsosg}AMI z_;ofMd&7K-We0cc!R-`ul_LqK@kRSFeZ=l#p5Uv4+)cvn2i<>&p93MBvRJ;zVkzNF zq4C6(Yg^qwee)*gLu3@^w6G)`5YX~-s7;-R*s*jaFY*um`XroixPpU8^x%!irf4%> zw1Kp;WNre$2&e)ep08d9z)wDv0Kx%+Rs(_>CX@;Q-jczIAAleMr2rZeuoM7J5+$<) zKobIx8BG~j*1N!SCX6vO9EvD#;D8c(OfqrCs!o|?U<*z+{tYie!If< z%F!JqfN~EB50?_8^pJ4IVdAA$ILV@ygmIvO5rRW#9D2yQHp!s(Zp7J$%k~uWSF&g! zB_8c^dJTjhf{?}lPb#?Dg;%(!(Wq2JrydY9=65R}1_2YPvh9P-g>h0c6vH{&z2CWWw5fn?iY#DI4$6`fW!D)kN) zkA!p({Rb$!$Ri9&jH4#mWYY}=&4b88=?^4^aU4WvyL2xiWTLqcMOXSIh0u67htgru zYp<~A9{we?9>qa}KyM~84teR+M`TVfGox`doQpvuXA;+UW}irb_H_V5-EQ9hh=>=WN)nHA#i^LSJL40O16P zu7W2_GfXLsO$dy*h*2Cv%w_0havWeTd(2YD0p_yDT}u0)2KU(I?57&G79WQbCD-t3xJ8BE@##RiD z!#!Ej7MGnWRl_C1v!qvCb|Uaw9r0V$;8z;);|+cbBYxq>8axYyXFXlP@bqP2fQovd z{bmxX;(8Q~&HHKa0_q`!ZEGeCV007y>XSgT3Q0+U6kJ0xiZ~1}bcJN1K(ROkkHr>N zXgG!cLtz(42TsSQn(li+C*UM)Fs3fd5ELZ_1X0GUOQ#vGnRI&tMe7eb z8lh@}%p;;7R2gIp)Q^175@yumG%_V2pG>08XaynwlsT9IlsWQ2v4a#O8(}D)1C3^s z>lEBE0E0>7O0*akJ@g^5^YOCkL@V^h`J(tAZbK#$f}RXDisi&Vb9@W-bkZ- zGodrj12HMQGDXf_rqrM8Fw~Rbd5;;w2?5mLVTD>%%vA37Qi7N@Xb7Uy7osm}JlkjK;$R0_3WMT$^b~mQ$bU+FwKz;Mag?-Jr1I8cIP&tI zS`?!1bkj*Xc?n$Ac_I}QqR8bm5L!+bSoh#0vn5^sXoYx%y+=i$ywQMY26t1S=#tGq zMCzJq$1d3605!HP;R$s#b`R;Gu)8R=PPmvAs}y^H1#4;M2Lg+zco*l}H$3U1Gto|l z*B%m^6i_mhZ!_*xX8p< z_+mhjK@b$J0%tMsh_5Bt!_a=F5H2xT_oDs~9zt3e9^NpG9;`ZIFbL?68#kiy|6U?Y z!WRj*mvD{L@g-^w53K9jOELAnv~Gb1)_CnDZ@n))5H8kwF?2tRw0~oeJ4?RE2n*Xy z8bbq(8V5MF35iq7p@k_HDuq2Jwzepzg0U1*f5#3gjv16t~$UZsJ)0w_fGYR6uO9jfryL?azY`i5g~7q-x+T0g_mJWd}k zl@-EMnm;iq<5-t)SCB=~zd%qmib`%$Xc)ngr$qovxN?R689cfG+i2iKP(QqfErjgwEZ_H_yMwFD=xb^-%v_jyX1>2su!J6zd%1APj?|O$azg(1lQo z<_Y|&&j|EE3`_y^g}FB@@&Yae_bGw`n$X`%`NpCQR5Y9FtsrE>Y6#svnSjFBOvTsO zB_*NR8Vc5sF-Y`IY}T;aMC5gHC`O>2ka7c_q5kj^BR{WXW&Gb6ooC%MKVP%NhQ(@_*WYH_E^ zZk$>L`#KVawl`83nfu|U0VK)`>S>oxjFxKg8Fgs2aPO#h(_ECP)YQ9aPKut3_A30H zcUZhl1YCA(k(v*iPkdP%8^ShMl&vThIE$qvR`KhN1W*77#mF?!5{x8ZXFd_eOR|wD z)eFR6JPHM7%&LsgOY%6^JHNAW9kKi^UW*BQ+iEl(DKwrYb>p z8B={o91WmSPOT``|7^|vvxN>CvO*7td2~QXD$fwhf)foqfWn8`w>IR=w`BXq2fm_)MP$PQ_O!p5PneI@%B zmW;FrEEyRMV2I{DtPdQHUsON?7!^GY=o~8+8(tmHdLVCN_hC`d6l*YAa2a@cTyJVB zwu7Mw3GeU%9JYrcl8SF?xuKeowmP7oo?RZwtq398PI@N!NP22{C_{%IN|dR$ zp%S&xb5O#zB3h2#j>_6j&!UhlbPDPbqjx}ra7IO$(LwL1=i>7+qodwlZ;P+WjP{W= zGqVfdS`U>Ot+BanKFMfKbEw|PUY@#imBh$tK^(As(6n<4-Cg8If!Ip8zPt3+dUG`C zs*rAb;S7DX9(EkShH*(D{b?t5tvL?uq`wFxzQ%SUk3bVer2`k!?zYTvV1wI1H&&sxS!88VqpS*}RdUFggPOx?kJf|L z1`P`<6a4_I6WRw>>qy~x8=(d;4ZUR}lWZnnU&HJv#~zIcL&H@dne+-InO0F&7RuJM zE07C(+w1A!3S=+54c(|fk>H(0kvrJFsd{RKlb0lw;p>dP=U+IvXYg%9dXK~G%=AJYB`^lXBG?LorH@~45TsrZ|& z8|6=zm0gy%4y-qfbUhXL8zZ(ZCf)i12LsG*8oi*<2#Ci+3A(493v8p*zK@t=zpDv- z(z}9uid`Wi-1oNNub8&qq6V{$@005IXp2h`~>O z#F~VWtKpPLFAJr2cM0Y~18R!mq5^t3wV7bZqCt)N2CgWl<|}jAWlN|269p`b;5tfw zyD8sI>#6!)K#%DwF&ZkmhwUV(8$>D|v^RmJLai!xVWO?T`e}!VAtY`$R4UnJC>62~ zb$5Yz>p_FS4S@cJQWya24**oTuo9N(1$9h}w5cRA$}p5e33PHL zU|%Syt1ChGwQ&WpzQAb176H4+3?j;2J+Z4R7bz(Hfgc_4FX1g}qbxn?txzhEq@AAl z7TN=Sfqp3$!yiKd5K#b~+QKFRIn-_K5mH7ppgukk20K2{1`%J7hfIpzNknfQ6`e?i z9laBVz8$@FJ%PX+VN(eObleE(uzW^(m~2dh7&O=kDxfFm!`KM!6tBv=Lv#bMAl9IH zkrsUv2W#|5Gk4Cr!)a!Wq1bvNa0gaQChZ*@TrS?2H{Oni*05t0Z>;7QYgqFz7ThtB zZp(WzZ`@tj%2O`2N+^?T@H}$J#x6fspkR%HNe3R)N~j|c3Wx+pm4aDHc-JYR)ZS|+)XFNM>zhSGF|r*I=cZ&QJSI__LOoI@Y9hOdZ_fuVu# zI*Or)iI3JlF3U(qYx=}G0~4TFXXNU%;aBLYfW6Y#tf!ZwxlPM)pl45`T{38nXiHN7@LBj7C>s3Q3BQiEAJ9uTXxhXtRoEdKgX5CW zXf{O_H*LY)(r7(GTz6%I-gK1>nBY@O>M zK~x0L*IEkiNLUoXvZ!#-L*iT^2rbg_*WY7Kp&dA|G>4GP#>%MgQ!xo(6W$&@9|GoK zR>g9G7Hl9=P7h~Z*3%$njyuhbX(GE%Mo$L*zy=j7KRl499y$k#In=nB{>l4FdC(;c^wqkH&i#Lo|HZcJY zEipX#&pcCT@9~_}_nh1H*^`A2ExXUz;+2%XS+a6&p%2A3T?PnxbWx-Cd9;=iJH*S9 zJ9+-eL*ZRZ=RS-CXv?_z5gfGaoV$m%jP?W(Ne`nXURF zEs5B>(BPt(upJb8L-->&!u>@7bqE{K_FEjVU;~bc#T_lC}#mT zmbmB1FVGAIzGu!Pyf!@*0)t2shgB!s#Fw+%8Bz{7#1dL0>AiZX{|p>C64fw|Typiq z2_!mMHfyCY*h>$&6re&qZ^%SgJ!43GgA{CbIHX~Sbr;3ULT+As{oiJRgs;rh`lmb) zI)oAXPP{Ywk322!f6M}*3U(IUIdJdjEIg`4|2wt$U#tw)3lZ+kuWLio&p&p=l^8mr z!wDh4qM*ic7%7>`c{#!mJ%~kfrn0}@y+ios`Do_OUGa z72bOvtMKgJjf)BV&_2k@9plD+_Nev8FWESH05PSO8SHymc84JfRxR___OsSK+8U@g zo%Ye@d4^z8dvxe1B5o9odBL56IHlor$UqNiBZBa-3=e+E(ryFW2Dj{Rwg84LURtHj zM3}>3r9i2%7qy~8nIJaVWQU|+Bi-xVP)CE>rwi0@)iRVJ>39J-c)z4&$U-(!l)ELr zy_VgAYrWOAko3ik)nnhVtK@^+H~?Y2gM7jPw)W~5YivowObpYC8e7Cf2fW;YNhW2n z1Cvb3qYg|mDG%|i@7Z8p`Yoi^pc}d7TgaP3H}Y=|LYi4#$47m~?(wXv0qNya53v4L z%R@|-16yirsYhs*FgH;GqapOztBxh4uiI@Gg|b||+b#-axx#@d%ca(i@7Y+YOPeEX zl)Qy6ID!PW@Iyx+2Y-+cI||o9ZXNxfsoCLUcFpwTcFmqRZr5!6579Lnz^9#H=YL(X z-|`Rs#sW9BjmUqN5w^^S5t5~{`FT_m?}}>T_oJHlEeDoRcc8eg4Mk52$yd>2r=8xT zCaa4|;&4B+@IJq4Vv;Ia;#U<3c2ei2vbAwSpS(NcuM{pW0vr%f5z>vy?pmCkVD^$$8&I3 zhaL-_{0kd@W$zLE_!-vtN_q}B^c;-p01AS^AmPMW!zAU@0TZL}_>oI20Qi?n z49`hC)knKS{_?dKwI^ixfYn{mLP9v+rO{Iph&~3E&n;X--P-LC2mhm6+l0p&r+T#Z zuvU1q>*cfjxJRSg@7KnNm{806rc(Gmzsai=D22KFS+ACuP?$^F(wA&0!)BXkg%=Yx z?ybDfKlW-+vzlu)@@YP5;gyZF7QBP1T~F^oJfv!6@JnUdT38=4?Jv-SS*~dp6g%b_ z+Ztj06bq>vx#ac6+Qj-qisG~dAZ-37+BMCKNXrwN5jTd2n%cUUind$7Z=$^?^OB}o z!oN`6c`j@#Yw95t%G%E|C=ZdewjrXu5Q{{Qbx}HlM1%Rh*xeNprUVMvl{7)Pq2UJ; zR1XQd3GzK%ah7I>Bg(;dkOEW_ApYK^_!K3iG{K>?qvUo~rT`2VA#RmmuS>-IzZ2=9 zKDWclBhlQ*cLVIthfsD{klDEwQDTTQ$F`t(g#uTQ?*b%ShoGf!P`WsDkVq~SB0ldj za~CsPn9S6zWbR;J>x*XEOqtJ3)S89+YOgAg?lKE~X0gwF z8rwwk8K0>HTbgcaEy@;cMe>_Ahn43 z{F86O^&bf_Vf!Ni;-fcx<~pRl&1ZU$5rOaf%$TT*G8+mfKzy_2QSZO`NL+lhGs^1H z4Yk8pJO4@XP`W~25D%)L2xhI%JmoXJ&}JCaa`>2=y%|<@q6VE4BY0kt)}kI6V+du1 z9$6P@$(f#{L3nh1h6DPKX*qR)PIg|&|wclE~t+grigzK~Iv{z*!B}3Y4iDXZ1ua$z} z;GyvZo}8_90z4#JP%At`PqgcNwliEiBa#`Q!f{rLf zx%^NkZ5h1(&{^wE&aIub9&n!NtaXFc@hYtgB2TO=<>VKVjW`wKh(c zldUbk(URq60YeddHyjU3xEzX}fe^f(|Ik}Yh)W46v@Qg9r;CE^oja)U=6PCMS>yS6 z+MlBDvRDv`Z|76qk$GKzt(;dq>wTVg9H=$*?R<}92Fwrn^#irZZT}P#eBG^Sk9_2P zQYO69ZaRHbmckxMx_L;)f~n)C-9COspJ`L?m^gudHBjr5x=C5>mZWuL5RZ%mc%t}8 z5`A053$M{q6AA2yWb|XQv>j3ChsctfzmgP4;eWkGYwMvne(t+g>&1U_jn*Uix=zTn zL#NBKEr1Zerk!tE`Lz2kQ&xXxP&PHi1 za(Cotjqiu=12D5-W(#8;biC&{-hY7opk&U^T`+W%MtyqID1Q(3S(RH;YI{rOA-;T+ zzZ))9d@{;^kGz@>9PKZ~BYOu%`&-kk9c_#smxOu0G5(%0P-~-I1&vX+`jhzDvHlhc zuHbAPR#X>qs1E!KA`XCJiP7 zrY%esOfGdL{bWf&tC@?fy4(COwSem96@Ty-dE`BoG0%U)ZGoz{V>Hh*h_`}<^4#zI zO;DVtzVo;86ulFp8T^~?{JI;p*u=m5&fgOk%n}dz+o6#P4*63(pKgoM(nS>h_#wZy zDP~_SunLK-hIt-l4X$(W7Y_MbLl@F+Sj|pFVr+C`Y?4gqMQZfDKO1d)_4kN*+#3JA zzq#DBcn1>u5YcwRd<63`(1|ZPj1q3<&mZ>V4aN`n7l-|?;=0+wBmO?}d0s=-b{>D! z-$z-vlMg@Y&qqhDIO^|<^}#ns{dv%l9XbYAC7(c6owe?mKSg0nUw}$un4a(OPk!)c zWOR5}mOh626BvEmw5c=4-#@dBG-do9Go_i+rsE~7Phv0yM)hUSTm1=q%n3iKjKAS; z{`K;1ORn?xmgU{tJn8=(tfeRYt8l-s+mDbkKE;Rs=)V!JSAO)jQRbeszWC99Oirph z6{9tAyWKwgg7hQKSzcZq?!EBZQ~tyOcsERIA}enE_mK&b!GAm+kC3JfJsv$?%u@*S zP#DNZ(cfdV#U9K2*JS97t9TR`?qdyeM z{$pE+CII*k5dL;1PGaO^CoIv2!pkSgL2$0@5|Cen0sO7!94!{Yvq9#<(A(r@@fq29r3W0(=1ms(7X5FzGw3bMC+> zp;>T5Ou#QU!!w&&;A&*>8<^fOvr*?2e2zD;sn=dC!_|EF^|Aer!_COu7p8!wkmtNw zTt7Ja!wi5K2y+brplWf7FOZb<21WQSJbwps1I$pE8xf)QIbPul+(Zi2&QiqvD-rP) z1dfCm1v46E3?f3UTCN&s-V93pw7~7~91n8`49W=&X`>L9wF6;|Cc|$E%sc1~i`@FVHK@NL(4B?> zv2L_Rvk-eW%p90M;45e^e%c>srEFTu|Ktx;DhDgA+XI1NUQhKtS*qc0#|N^Mla}?j z_`n2r3{8R~Yx&5;KuEwv0#4EHC@8Qe)OEFZBEt#%)DC1*B7x`mxx_%K_%Q7oN+d;_ z7zrEn4Ik9P`EaHacy}al#Wzsd-~?{B1DlPbK$@`6e}kGhm2@WT_@qE~V+tE~;8$VO zBVn8VF|5D%#Q*KDK1oXsv<11mJ~_}&DSw~yIOrIBv}N88fEM5TED>r}!(P;%C8+(n0)=Q^rr_jf_BI24#9R0w}>FFoPU;DeR#z z^xJ%d4>kh*7{%ERGxi97)(Bh|%EY(NBFghHD`CoD*1%A_&IlWNga<-_>~K8bkuYQr z-!Dt!kS4*?VeWL`IZpV^2*2C$D}mok2VMbqq61d~p5(xr08eq?YQVpD;GKZ)u;J#? zUN~-d0uBPEA1bjs6v$BWj`1_0KuA<>5YQ6->8XJ>%KXo*A*q4ynex+dsD=oPP(J&C zKb0M56+ZU^`ZUkA`2f~rb5D4+A-~9y8^#CYhY7;O!z92Y!{{(+Fqtq}Fu5?DVY`YX@-ywCrA-h}Kq)6cXsXU?1%c3rRj@XPe>o~v8^z^{cOJY#@TH6_P2TC`-x4#_fs3icYsaA{LI7$ z+GOB^%hBog|INmlRH8Klm zY!=_dW_Q<=igr274l-GyM6wa3aG^prLM55JMI&M zsWgIyYg8hLAW5>~E!h-rFG?LmF772EjU&S0UL{qNWLb4zl0I@d5K~osZT1Fs$wwu` zS1P3tJM|*6`QxhuxZ~s^rK#P|-)2V+grX$LMiEMEl9%E|h>MUY1i+iRf0Qe^&&wh4 z4h6L$icR(=noq%xms7DhWUsnDY5)mV{Jk|lyA&C&P(^B}X^N`a?RHfG@e&HBiZ8W$ z+r1S@Q50`vrJ!gDwFxa=UkM9CZ6$?J>Wd#md|m-x#Fv}OipWAiw%V&7MN?#CAyb41 zAOcgui96=aLA8X{9FJ3y68RYn9CY5U1Qf-j)=8AGz>2*noSt9+S^t!6VTvL`vzbU$bDzaQ!xsjOV7}3Po?%T*;2Oj zNO~aMm+nb1kENKK(jDm!Ddv`xFWr^APrQge=>F8ZQOLP0tqirf-!JD4SE# z^RnDI-ce!qv$VLT;ZE5pm7zW^(nOBc4`gZhb5r|{qR)0{aV{B&;g2|^Cbc<yc$tX5-KluOMUL>caugBq_b)lRi}}{ABkJN(n<9l(<8Zr^I%ScARV9&7|ISIi z9E8Grs0j7Mc2D!IpjnBWio2e@xcjDW-~XxhpZR?gR8R>b=yHlm_}ksRe2Tgw{DX=K zdZKJJUKEd_T~sGdGQ>p&H8x3dxA9LeE?PK>&{**+npMP;5swaWsb)Mhb4f>f)tjg~ z{zMJpJ&kGewdvEcH7q}|qW5ern~uED#8}V}*KH4oB!$z;1UM;0ceV(OiFpQsL_{JY z+Gwnkl%bkSa>}~dbOlZ2WN0O7wGy$TG2I&j>xzzk7&yAht2{(fF_6rplBbmmlDe2^ zVk_~FL0zKErU0`xYY;_gJR%aOJj5jzG)Bq7)k8!_D`FrV_w=}rpIwZzfrUS&&vv-a z6#klmm`=e{C_JwPC&4rA^AIeB2>d#3b5NoxGh}x%SYYpRTA?gYs2`LHqk%bdcoj$rxoIY@ne)@+KU@#)T%xq8DNd-uP z)9#{iE~aDJ_ID|RTo|#feeHUpS%OPKVb6A&wbY#MU&0GTAY}!cO_vAxGK?o{Qku~w zX1fbTRH>b1B_x=Kjv=jmF`FF{hEWn~QW+%psCFGuJQH1yZ{o|GG>U z*7AE*Dix)=^&&12(zi&h8X`Y2nXLRQ+K@Av1%GH{T?P}eVFK$fUcP*(wggK;$|FT; zH~zPjdVCbIH?U#Y#fsXAL4o%4G=S~R2CztJTQs^J8rIXePF67E^aL}x7z)5l678P3 z>uGC>Ahfknv~;}1Ph2*19@@KYgqZd4GaJ{gV<_s$$U{sNq_Dij6xZX0Pd*Tg63{AK zGd%-BibcmsLoj&7G(;W5ymE<_2cEDUUM3DE8|QNOET+-ZS?-@pM0#WJm@FBiby6`W zyN1luv)yUMDwG!7n(AL+c2kY zx;aUdj4-rXlqA~XeP;~{FxxrBUzBD}a8ItEMFqRtMX@l8F9;s;It#$$bbl7rsbGzw z|6HTaN9_=Ef1xXwd6uLtu4Vrt->p-&nmeQT$YKS&w}9_T7T>j45;#of5+kezEJ4w5 zFH5{?xRNDn)dc4)OKr8N11u2TXX2XR$8c+LqSOA_yEC)hQ%m;y2YsU4*Vl#cQW^hB zn{9}T6|4!jOPw#^O*X+3%;grV`#*S-Irp4piimbgnz8^E4Dft(6#7>d!%jA(0r$;vo4v$X#GnQvU0Xg_EIE72R~P)$X&0?= zJS$C$Za~R2ce9F>;+|TuiuX7fE56`GNofZwGKoZ|9j}tC0rai&6D4{4 zl4cKbm#trmh!NfeEREjh@M|5ZC!&e2?Z>#7bYYjO>fwk zxEH-$gCw|5zkLATrHvlqJFoF!d_Qe6+{DA&a?>g%7Mj+k={JOc?q>B!o|`qV0DOM) zvhJSEqkzRXFG}{n{T;%Jv}lQMKl6LHRY=-_7I_37Kel=s-@C1b(UFFGK3hs3`V74GydLuK8jr!c3@@lI55f%}?jx9Q%^fYViXst_L5u3hZX4-|Jw=|OLJ`i68-xu-aNV2TMR%-s9~=`?}dl zgNhSk2*zEWA!F>Fm^`4ECm@R1^^{CGN^=&L;{}FYf*I$%<2mkdnxB?txaSg*oYryrV=8!0+nMhOR?qS+-Th>C3DfT_eE%~?gd20J;d{fx8_oT+azUNF#X7rWm(8q&=zedjCa<-$ zs86c<(%eBbd8xbOyvgK=`|7+|^m&Rqe*XJKUo{9?ub@>kv6-u23y9ED)-Aa2g~9&k z3NhqMuM|VR{mP-FiF@zL3cw$(Ed6TWLmm(VpJL!w{-LPsowZbrLOy!dQun)SihE!6 zIIk{E8@;BlGo-Z~lS;EZo{xxYVrP62QkhCsK^GKX)DW7WI$vgBYFaKD4_`K&mzS zo&M-Gr$f(AcdL7vhj<#vg&~DsrFjIp5fj(_(Viiw+_^pN$+fgfIjPj&Gfakj4!(nZ ziu?Ayo*=T-{xkR{cP{2`a-bWqg$F{&&uJSDT=XUf-Lpt;SFTqQAn-4Y`jvj;DQnJ4mIebJHgO*@Tki z?voE!Q1G#YM>B*gDxV%qVn{1~2*BPd3S-ktcf>i`@qiE# z`$qB}A*2VPnX`?Jp=28BV6+V<)dU@C@;YV7cc`GTu`J1#F#GuG3Zx2syo6t@KspF_^@`*zx?l|d zE}xa=b1IS`;aFRdjH7GE@OqUAa>1ymtCEiCb4Hgxoq|CBjZK7I&`;E^F}VZLDqa|kSe&#XsE(DP6E)_Pi_0^V-sAeb3^q3X!b;N=^V6hYg; zhNKB|rQB5G%1bs^fYWD7L+tKe`j2u-KQ?rZN!;ebTBs-7G-@;_L4+pXG+MSGwG_JO z2~TWG>H-?u+mcb#Z^IKNbSh3Ch{fqoc>DI`8@lxgKh&OlDq#H%aG!d@H*_Fh3s}7) z8B-$9YAiu&?qievW0_D2+R*am7djGMjIyXs;DwW(@~)l8W#O*h8LbOBR&{5b!;8g5$KHDaR@>Yr9lX*r$ zBB>xMzGk#l$I)atDbE*;A+-U{jUg_8mlkl1HC>IzlH%~}XMsr;SUZ+f^b@iUTGkaJ z`XrU#8cPO-r))C)AOiX8$%ci81IK*)GKoyV==B;$Iy*c=GpYm_y+~|)Hja1`dUF9E zHl8?rN8FW7F}5&*6Znepr06RzZ`148c+9nj3wYZJq%<9w!oQk8N)^t!Wu|g@>n}+Y zD5XWz?L2J)CfB$W{$K(rPN${th>2)%B&k19B>Cg@BsNcyuO?baHchmWZ{Up*#qH|J=lw{&3(Zwk|)lG^Bc-W2fb5eMrX@Ebb@J`c+i>9aWucwiUbW;jn zISr$5R|@}S8aBQsQ@H+FcfoV^ABf{Kdn_$gy<{yhqK9Ml57;8LmCs3 zY4n>*G)g9NzlEd`)^MIVAAAQn=Fca{oR3{V8e{jv4=uowdTt3XltP|*Vu#<~iKQG$ z`!ckZ!wCUi6dQ>$p8aHevJi_Y&6;P_TufpiCm3HYB}EkSkWc>s)9L}w`GFh`yLt!d zGo4r>PY1*aMKK8W`b0-*sjINAp|l&T$UV~8xVW19hXB5{hSU}Co1ZYw{jbv~8O%*+ z&akh)&d;tT-4R%89mycZ@by?|L_Jm+f{CAg zmN;ME$W;R|sr>3$vdxvSP>qYKPh+K6s1eHI4^oW`m$Mwo#*Pll)~<7;+F$a5wUdLq z;B}r%@cv6e;PcOu;Luk>fw?vD2nB)#9XL-G`=($?7JKAEf|D5EULYnl z=(DepHDMkm3+9|)v0Il{f9yyd(Y()f;tVd}rr4o_o7$XSh`9Y0@BTZf&i7v@{v?{8 zy-v!%$_9=3w`_|2{u+mUBOBiBcLJ%9&-tBH4lh^>93ZV=`3M4z{`v(uykfkiL4asg zBjN@rME;v(M$?;OZxC&qyG5Qz{~R>NZ+A(!;$PkcEhAQ9h7s;?l;@6zq#_o&1`kOx zslam|lFtF&eq_3iKO)0O1*6?#QqfE8B;+GUPd=K`ZZX$P=|U*sQ|}5n16r_j6G5*C zOy6Ou+INZo#L#z|&TBV~5Q(M{42AtN?G8{{q2JPZPxw-Wb`y{=I-Km`@eHAR_*q83 zAqRP9l~xjgV^u5C6_tJ(aCk3sG=L-z=7JgHt6#*9g9Znm_IP^>+Mp5ggiX?DY4Qut z&}b_yYcF(VdcKVhv(wgUZ>Jw5vMk=y%cA707wswvtLaU9g&f=~ws6F$IsI$WWP$;1 z!|!i=wKr{3*bGec1SW`uS4EJ&o%RLkU)X6^fWvk=$M@b|R@P>#Wz!Jh2LIBBenPK| z;=lONcL9wCzVra4o1b!D2dy8HhdJjf7=qJR2pK}~a|P(hypMyHAX&y32hAj8wb7su z?WMdSxO$<4IvO5}`}OsE`A1 zg;DIQ`Py(Q1iE@J1vxMZe%8bg3wQ zOA#6(;K?F%P<br^E^doKtM7>Pyc5FyAtcG9;2 z>POL3fZI_NY9OPii(XZ+JWJ(h3oPbF+j6wB4;Ge$n)ECLL!(D+igBLK`!t~uZ?x0c zCiHG3S_C?8IvjHVjRM6UX^qjXT8%TUsaf9Xrt~YXoQ<-n%gW(ho6)Kyhfi!qD*|k4 zMtfr)AK9Gt#a`GL)tpvmWEanDOLvf6#;|tuflLnb&pXj;IIS~!bf#Vs-ImQi>PpAa z+#LQ#S2|U|G2Q4c0b6&c9h|v2rm_(n#W4tjmqhvLM@%pMXpX8QR#tcV0X>srlqsx{)is3Lr8x4Iemndc{G^5 z2c5IgeJF)8DcXqrn#NLafDyxJHGqs^R0zd)hS6pKG2haL0K+gz!MMVP)AC5scsMPJ za|QlEf^hQW1X>s109=vLK9blm;Z#i$VvZxusnjKci`v0p14m$FMe{);XgG42ID)oE zF2=<~3N=(T|70xP1!vVHT1FD&O`z!v-j1ns6~N}HGz_69r_vuK`fwT_J%iR2aK{X^ z=)~!~HK)jDIzPtg*g~n(%_XQNT>=9+{AN$*pUk9#{_@9^#@=4|-Jj@uEjK6 zrP=e1VXJ7MFC@yznKXhNH&$iR0Wx6t78{wcG2Ho z_b|5XrZW_ug`>@rY0Tx-6L_x!wD2qaj)HYA{s67!bL6Rt<=!08Bly+>w9@~ODC{5| zQuKHMaX?I|(5_!C@Va`_Sap!DAY>Zvc$j_;u;(xxOr{xibLmzu@bV`=(*`7$*EvI- zf`0(;ZfB@JAAg1x;==^C3K(Y1RuLnGUlbs9##!16i7%a{h4~lwknI+pBJdp+zF*)w z1>S;WTVDD(S`rh^O!nEF0Cd#CxH<{ zr^@v!VCQG22qJ0&8ktw<9YQZo<|}`pa{!GdztWDBCMO$nuhGU3<)-i}*Xd{h<9^37 zxpWHO{X3WwV1*lC8ylu@_YL})--apRym~H;bCe8s+If{BEQ(jTNmtnu=Rp`PgqkPJ zvDxVG@qU;%WF~L#sV|THTQRGtm9y-a&02>P- zqwBXP@&5Oa0pPNGSeFtczV9AAPajX>EAP`e>f=eGvMIdE1KONV`;%7E=6)}Hk|_^( zNZ;W_Zcx=L0izHbv$@~%=m&JXPXgLOoQD!UaUNg&ke27S9?(d-`g?AFNT>fJxT&_< z%rcAcR)3jB8 z%UHg*j895SyJgJ8YSB{h(2h=Vsz9LW#?XRTVQ$DG93A<9XepR< z!FA0%SJgE$yJ~qx)H9>Bx4<|HWLe;$1uE7z(|uT9stY0()t9OPoHT*q{gyP#m*f~r zT1rI;B#xb}ka;S9)=H}K`gYRKH-?& zJ4y~pmnT76D=ioB*Ur)lIxW}uwTrY(iN9a4YP_a~ELc%iuh;Z!b3d@+6}AM}F4Hds z*lrV>3v7>x%>B^M1nhvo;`KzJ2TjieV24cXS%#(`HnB&* za!u?$up=gx56mL#CQ?|~wO80xU>1RSz$^mK0ka4^4a_3&IIz7o)9NS}s72ucU>1cr zz)TADY+x3FS->m;Hv_W>%mii;m=4S$Fcp}GK#+RWB>LJb>?*Khre9u$7Ox*S(R1)T zVPdC&oiwrIz)qQ1F0j)kb^zGVCYA&2jEQ9fJ8NQDz|NW2W?<({EECuT6H5nn(Zo`L zS!BhpHVV)cudpS+EDBSASp?1nW)V0Om_^_;U>1SNz$^kM0<#EA0%j4I2+Sfd0hmSL zGqe#1EKY6uBcK+A_kmdy<^!`RynoYpySMaQ^`9X{Dc~nC3=}MNhSBz8sWpxi`Mfx( zH~kHaFizS_7Q3v8^UnWXjus=GSD2>HZ&}B5@%;b|tOQj&2tsgBlAQO!T zqor^K&VUJE$a%ce1gQ^6;>HB28JRj`q7+6J^6-gLNAjcb*+i)|A?x^-Nm3Djvy-Ih zWCI`cJy_EQBl&x2vp?x(w4N`$twKhhvJ`2&qlJFP<_v(`e`gu;isoL+rGp4QwOoo7 zYKqX6qM@Ugf4Bp<*{_f9+@jiYN&8*n|$xls*@m(Yu*akRoDfJRwsG;ZYkvVKN`O0n1Xd zaeRYxTSonHU?BFt{@bKpf4MeolNzd@!KOujmdzLJkop=6*BK<)#H5=cG}GwT$@b_t)kK#B`wCXf;WnFge!Kyb2TWt|12 zlIh^tkh%g{0i>QlmH??QkQ5+q2?PXrNJD2^SUvr<-CRLv zP66RSJPH1##s_Zl=li9_6)^y7OL#r3liU4?8SfD)U!l)e{-Va4=ylNFh5_Sh^xnVy;xVP*+0Y!JDqw zghE7c#09+K5vh_mR_t{|s_o1=sK!+ywz@V*l3<#4+{1z?nH?@6_Bkf=%p+1GvWP!F zBGu>Vxzfi0g%D;c<2+`G$wtegxVNJ$$x?NNS3W6~fO#XYa8fF*+=rKBdClF<{ur|*2<1l*|A1; z{3ttC%Z^pD;|E#4=B1z8pgQcZ1y=QICU#(_s>}MgjjBV@^LIer(Pxyy}h7x`S3PYxi{2hkMpIs1PiTwR}yN)gu7B3Xx|Rs zm3)b*SM-K953;y02-BfS{6i9YMelo(&?~mTCmjZG-8cE_fcxOKdHjIo3jI?u^@=M6X`vGLr+XH;i}Ht zJe8Wz=jnXLQ>i*l!U@V#=_Q?!!4E!@>Hr#E&!rNC-cIM0UZ8sbKYSte@VJZdD=(y> zbTy8{UqU;%F`bWnDRICI*!OB!b}DM}W*Gn6(B!HCt;7MBQxWHh>Au*Xyf4s013+2yjYc^hBaf4M@2$Eyq%np)qRkN9Kps;+Hh*%+VE*6b+Rydb)iDSuFJP zE68G@e_^_e78T`5)UUvB)EClS@^a&s%CdurhIm+0jux2t0>ssm7ouT(>dU`+1yyiS(Hc0!6+jrO%uF{}Q+dBH$U53lZfD21DBjx~ z7kRzqA<&L>>Lc$#-HW^@mq$gKzlTn5$7{bYk3))`@5>FnXu>i>{S?(E&yAh~< zp-#|*Wd$lzFpmnhtBru!^c_}~Jm*_^y)e*87%sm{k9s_B4VOz5JFDR4hF~|LjWL`> zdM}Ya$V|R|39tH{T$bK3Qv~rr-^o?!$i;l=cXBlW&wMA>7ceYdjwv#7u~5*!6y9WA zmYFV=mbfTkugup^ky}7ECsXC20AEd&yBbFZ%RZ8EWU9PUCe4juTuve|rop|^me?(~ zn} zrR|G&S(Pjr7UvoWyoa+AHNfY!RD_@wp>p^Lk+;ySh#teeewlkY^Hoi4rl@UJsf6%8QJ1+ zH^|X~kKH1dBQ5wk0D5r_zpzD)5b)_1IgDPL!-KcVrRl;9-e9ZzAU8r@znU z_qWNe8jokIj$a9uA8|hRk__ta$r%FO98ZWikMo4!!VJ-q=kS(U@?bi54$sPx>(Z5T z`135eDBU!N7uk-o;BK-VBMR<8+vVcIJ;USP?s5O>aYGR_gXYfRD|cW-A>Oeaa+FB- zV23=7hwhiZAr-iLzdQw??+EF#2DW+bg0ww_V443rk*SsZwA^zk*fe!n}~$~;}RA1@mD5dYR>XkJ`)R)SAbGYihpEH zxp>C|qTj^!{SuZ2n||#Tb`{uV(=QL$6%#uL?5c^K2KI}I9S8QSiRA+O&BP7>yJliJ zz^buN?2e}c7}C{z-LGtZ0x}g^_>|;*=ovqADW%P zFEvmCDLfuDP#TEFTwbf8B39U#Cdze*PB3`!7D`Dv&)@@ED3O}OWy7>cHC;}+$>7QG zrH4!y%6t%Z&M*$NP&R^p7(A(!Qkp(8jJ2(lk5$rvhj&!I1ej_8?@r2L(!n^>N!csY z@tHhzmJ-A_bW?_-^jh6t)tKQqgZ;*?MYt6Rcn$^u9|&VfoL%Sh>dDKG*o z|J?^Fp5@>4Sz-J>5NC!^gqHeT`9_SpMV~7@1tf!&p8tJPj-(6t%ppn~>LPuiq>FRT z%rBM2v|zl&{{LmXc@0xm1c*tNHc{y$s^K+R=^)i^>KsKJO`RjfXN34DdP;*hM^j;T zL8I(Ci3)(#gP+~$=WtqLWulHa$Y=Ugyv0CgW%3p?(P>LF`M{Y<54t{+ADXG`a309S zvRj7c<2s3TR|(sppg7n&d>7}ete-VUNqJwxpS1?A+Kzj ztGoq4?8#i^6p3u*(qL<1Wu@qO$k0J~3B%OtQ9u{*=kqACfiaPS5RR;UpBD>+^oK|7QggiV%QcE@}p zb*B=jK%bPIgT<{gkKcOucuy0#IJhJWct4cI!VU+ttsV0+_{6E)~iiKO&B|%VV zVc!9H4KGAU&@Z**3$H7I4g`f31VP``(#XE9d_l^YTVg8(w4eca=L3Pc5W0lYoGP|v_~Igo3n)gizH}CU-ybQL&NAlvv*Q#s8(fI>Con+27|3E^fF2se>iAlD z$e6OY>%;>FdqwhLL8t->ni9ko(TrJqcwtt8cP-3<92sVTvN?4XeU}*&mtGNH-awC;=aKk>EbM-SupDiJ=rXt62j^Wcrk=^EVM8~STEr^(F3G&Q+;8E(KwXh zo?=)2Nf@gYY)+<}kDTG+&dF70fvLPt5f;jigfW-cX8jq)5{T4Qise~FSXKT*1pAG+ z`P4}EmDr3S>N_GyHPPU+oFHw)EaSA3 z*(I`^UoFm-VE;U>1nVUBRCy&>U)+^zQj*m%roN?aB1S?<7NGp?*lvC~mJX#&hw^N_ zz2K%8)$@2zG%NLnN8@PLggoXGqge^BF_O@eX_#&sqFG4-?~4_ncNsIIB3dn#cd5vV zy*{JF)zyL-B~BE@B>tBfRgrxrW>iQe)(3Z;zOKY#k=MpbETUHaU+0hitGvuJh$xBw zSdo?EH7m2XM7~2Svwp}ouQD4?rt|()SW7b9Fsd+EU8eH6wOPdLBnM!q7mzI22QJ7+ z|0MZBb!OhtYF>kNLDmavpf7XyxSFgQvfNUWMN(*>&emkT#cZ!%iv1g)vVs`}+ySMHi) zR-o4ek;S-gU6un%Pu4Xl^{!`8TBe>w>G*mUr5W}9L1{D}QlB{lxnt_Hm!NaZTW|KY z;LdL}oZv?Pp!39A>{HPvjT*3CpmRwB)=(TGTx-DQkyoRRV0rQtr;-ooi4;^X8=B%45%aaFv6B8fXg$31u`@BA;k|%u~ZnR@DEoRQN62>4xvInmWJjsKL%o9Ag$o$c3ndiTj`8CdKzw=k-#*%kf ztU`aB3PT?jrGS}T*l2oUDsS*E z8zNxFyKJf7ovFe~wT@{T|JzjlaaYzp?D14p&!37HJ0Lp+;tV{+GU6TK=Eu6Sp8p7j zS-#LLBDi@su)f)DzOftoP@9cccD#g@f7@=X9sjC3YgIVYt-i9uPxat7KBy}z%KLX? zLEPShRis&NUbhD;Ej^=lerW~`=EHihfr9>9J*;|^>xm`*8Sl~)eCM>Ar}kuAz~=v9 zgTtS>RXu5%>ZIl!6&D`2aGEOcY18=0|FCZ;VEbNdE_uoC^kQ{r-gBdTZ>%M9^ z4;v0>w0ns;Wc4aJHMzv!WCq$nzNs8!^xp=^bgKTfr&^h1ypn`u72Q|nF2QLX~_g@ zubbcpTEP*)gW_2^>A_3J^>|jtM81n>Uph`F;OLBp#C-g%o2G_!pyCNjf2c&mF}U0vZhx*tdV%Vfmiy874Ma`52N#dXg!}e$3hAw93@Ie=YET4?Hnn1UkSS?Z141= zWB~4~9VMT*r2aLjCQ|7zi9kwCq!jM{I{hL_p|MgdCIxmd2?va|Kd}J{&Dv)~WniJk z8N-P6SOhBY=j%a81wPAQ--4{*OjcXPc~ZM=47ap%j4oNsMd+PGK5RQ{EZ~mqSndI< z>_8jdNi;s&fh`0!LY4Db8Qw9Q1qB^F$-tIjN{yp%!GI3kJ^e5>!F6r zBURq>1uMmGAQinl(jdDSlxnH`;BJ=em?t?U7nqp1rfP2aKHY;ZhbG^i!`>FKT@G78 z=JCfl><<)wb1$nGXq61B08ui=0LtUH_o9S8`%nU?_;Md}liA$9pS=e)@PPeDbM0F#WxXIWvTR65*3uEC2Q;`N_E zXAMv-ZuKMuibsHSpHC1lj$g=QpZdPxWxRWdh0^%H{Cq^-ND>#-#mofH*|>aO%jU1} zcOgkd#JPN53-o=JxU1Fig05Q5NYLa|;`CIwy5aFW1!E;a1;rR2IAn8nHSSztxF56@ z;oj)5RHMzWm?{z)ho`L6O7R(J47AwpYiu8Sil4cT2Fkq73OUe;ueubk3gRI3I*SRl z^e$FMGksK|8K<$Y#4lZEMR?QS(Xz0&@A*5cD%0ddKIJyJ^^`=u;x=|nZ@TO9)^}K7 zSaPEImeMEU;XbG&n&E&K#~C`(e0_(l2W1$3^$NY&m*%*`t08qo&u_|S3$YzVv~qmx zT~?^j!#Dc9AZ}TH9Dzt+T)WFY_n{9@@*Xc(-Pd9Zm64>Q4OYHj&Bds_|AIxxWEOWw zDlUg5@@kSg&T>X*y@e^14$nMEo#}WmLIw3TX*+YF+m^_aWc5P|m@lil*{MWT-=D}g zD{5KwN}`y}mHGFw+D&t!s)~Lkk+)&$7xY>p-^J9v0!FLq*@8Nae(~SbDPB`Wow!?5 zGjW>O%1f;m$WMt`S}<1>bFQ@UQcLmeUaFWY#wjngkwp0^UPU~-(#Tg0DrBYc%xr63 zqkYTrg8Y~JsueN4PWr0V=y*@Us(wf~-Yo2&2@4u~x}Q3oyh_r+@n0q}`*OWQ9VbSi z9-!70@Vfvtg5DU(=LD!RfX0acbsY^bTN`3UrnMM87|CY_sb5mSfWm4|I&~BuSXlkY zYw9S~=_eLR9uTg!;N@^TiY^_+YXzfg02c(SJ!r-#{v2*C!;Fht5+W+IUTWc+Lev`m zyUmcwo|TsJwP9)$cZRB6>F!au|ET`tcX^a0Wa6TSo;QleMXGK2*f2Fhy<#SH@Rkv3 zPYpH)2){Cl`-Q8U|20kN2sKjN+-w}7#tFDKLS5ze`)iqBGc#`=a$}UL-$CBq5kgML zwOZkiQT$k>`VswOlu@sUI)rFKnt%mND$gvcRt4|9QB-}4yyF5xn{*mpX^cY=3uu0TakDr^0GVqALHc-`&{8!f2rAjz-11YL#xW?;Ao z(tkh!5FP%D&{dvLY*bG0$~DjdfNg51TRSBkXJsYqkYdnl2_C#M@JGii|1!YyJ-8G2 zH4h#NJkNtWfS>l@LYtDy`_xo3>Subg6IrBsaFN9d4=%Du@!%qhnI2qZk<2^PQrCBS zJ<$G{J-8By`vd;71BJ0y0Tx6Z=!9~_N9$aLdW&9^btrG zPYqT}VlY1+tcGLIh7M6n1H=x2E0uQ_AeRpvqIQA})PW&t9jF%6FVwD37WDZ-?F^9l zh3R?k3-usLH?|K|&j`z$xnILKnxFbw{g~i}>o;l4|k91F9>r(@NMra?PSN-d*C$e}of zutN1DwRB05BNU^rg^Jr>9$(AY6H>&aB(x7X&##U{i~h=e#;c*^HZM6|{Srn<^Tva1 zBXGk+Gw{+x5okP_s7}X!%wQwN_cPSSvTT(%z+bvVu;O!_>0y-?GEkNRAl{%dU z*o=A0R9L+x`|x*`se#;Bp_U0MTo6y#apE})#P{LjSF7&_Iq;uGh(KF_Y_qEv!~sRI zx8JVzFh;Lbza#w7S{0l36THkitW3EljK1sCosvMxtyk9*nsURqY^Vv8FWRM6<(F2e ztN42x)s;r8EvhWPqVxH*%w8yP_VQJ~sqKOn0H3qh)F=#cNfA1S+r5_uTm#!!WW-!kRh2H@Yv^~>!q{Q% zHQvovVJ(`UV{Eyr_9aE~b4;e>q@ROmr>&u!(RKC8F!KF?K`*U8Oh zgyY-zL^#7UE$1`D2Xn>$0N@ZkyhlO44+ z^y=T@S?B=-6>-#9bfi`n zt75m2S~!d@`OuMC4P2O7JyI)1@2%wrM`~rlPf?c-Y&pI3BnDfaGW2E`rYz1zpRMKo zqqJBo0PRL;(O4aZkJ5@@b(k|st3XEby`!|E0M`Jdk?Ul>W~3I(izR9*na@inYDL9+ zRZSDM)=_DY^^k26G~3pa=P9Xz?HZN^9nmrpwE;q6D>)kF?Bwl7Yh?h2jn-&4=Y2`c8gqv{sue4FsVpv_&?q0lYi!UhnUV12`zC6|ixjwo_8o6l1VCQ? zD~jPgNjt@gCC$Z{7Fz`GvK0U80A3;zk3Rc|ku2+T=gyd>O%}9FnWn{=1_{q+YNk=| zl3Cg>M6D&Jd-4L_av5$#5qnHEmmkQ zLQcZ6ORFpt!V6Yvbt5L5&vO-QW1&O=N#lk{qTOC6zi0sq!CY9 zxrE$nJ?2*!y^PD(shaE6OB+H}Q+BO34Qo$2-?k2HDwY4dPOAztbDuPAO}T=kfg-6V z8yLjnB{%cpI*REkzgy^w_KY^$fExGKq4SbWPu@?ZqVl zqt|}4nSUa-O0pQAIA4-=oQNFI8j5Lm=zvy}G&Gch+8`16%R|~{=AgQkD+U!0JfamB zo1mB@nnp^RgG;=Cz1>N=>UKjXY=LaII}3pjb_tu3 zh5({$?tlV;07{5#;tEc85D*m=5h+xVP6!x5zKMWb96*91W)z2rID?8B9Ms4*kwFDy zdH+-Qb_nWh-}`>=z2ENzs?VwQ)^h69cIwn@RK?i8xJEaUee%Epn)dBo5hI@I!zNMC z+&-)mU*J%qXq^1FqqGB)U{9! zWlL+&peN10)woV`8q&T#=9=NHMsPh4kE4vXTDi+R*PL|RwN6z(Gh1zGB-?F27m!y$d%7AZ_#gDHoK%KO#o`o6L0-R4ZWjHc;(mdOYrE2OiGbx^3-3-!fw`a3H054{<6o75nEDfMW+P1W3 zy`mv2*SjlQj~KOG*#K1(4q#PU#m8pXf$S<(JN2SD#XOdPPVvZ$L6xd@*Fc^ zK6{SNF*nX&>*^_J^~gU;)cdv<13QT@h{8k;z95M79>NiN6`b0Jqcv z2$BCNyFIbyR~oUguOKHd-=7tKc@$~#l9TAX0X+4Ds+L7U$i5f!Z!c zuG3wCDjB|eY}FO6D{$^ziDTok{5 zn-vjE+Re&h%485jTzZF%5XL*~YOU;|82b)e?s)rRv^e(;dqE;%4_o2-N`{40i46Sg zyX@*1%c)wtxQ7iD=~e7H*CiP!cgnIo>^AYIDt5I4E@q=YvPIhe?^gz(_v62#<>UXw zD9v@{Sd?3Os4;HHcW+5 z&6!`Yp#ZzSV7&n@e!+SH^!yUTbe357rL^t-l1+rIZ4J8hUFX3qfZ{u)z|EOF**wi003H>@kb``@t602eLL>04== zU;$x)_bhP10v&5*kOB)VtCeZKS1S{{WI1;JP6nB1f#nu>-vSpc(CMg*H}NRziLZx` z$_O7xU`8Kf`yB3Sxn%?X9H>5S9zMxtyHkGSw$*|9PzR2ivwvn&T)!3SV11~A$IU1w zFH(aw^-dKM!=}*x2{k>D`&z;OOKN%|cYZqH=GMQjrl;n(cqy8Hsr~e$2r!;5%3^p^ zvP^aHBz1wvWjsS%gd6a?T|61P4ANrrljF?V7;$(MPm^(_ZJLWGI&c|*oHGR8 zx{i}Ja)v+=66gsalPkB9t7N>XQT`JR_tBUe&pT5z}n|44(>;$0O(}N>89600t1T^Exs|eT~^d5~4{D{xsIzsq$@thl? zIF$Q+w;`KfAPILQ2@-G;!#K|tSsvbjX4C}wnNN6l8dSJ^Z@$);^BEGvc8HwBNu4v>z;^6L^9;U-%MG zvQ=;czBz$+)o>-^Xac_RsA;Ar;u-j;rIfBvletd}OG4bG^UaA#e4C?zRHd!_JLVrL z|Bksr`L`J1M`?x0-g zw-u*D#1S_g>lLTZ?98_~qkd6O@xQDmNeSo|qEilDLJ+7*sp5Y~ z2#XW$8ilU-{27Zq_8bXESm4-PRF32^>g!_aNZwO>y`kG)a?21WDezwDk>uE4W^>6) zV|bJpGKx2rPB)AMPh248jN<(ODo62T?S%cUsN2zPPl#5x^F(e@04`%PaX1ETJ{o@D z6Xrd)gAJc@-Yiixk#_;Y0n~mky zs&9%hV|kJTyv5?+`))z9=!aY38e#S4$0F6mA~v5xDrc?ekdH13SeTDW-yt5$=Vioi zI*bF+02Yno)!53rdOYvdvTrLx^EKC@DhQ9B$y?;}?v#8{JTso}$5!Wr0zMLZYUa)Y zj;GuDng=KFblfsDFW$v5m8uer3wb#vVOtA%Ta`9BhM8N7_-vBd=sK0>13WjCFLu>g z_f`tU;VJw&IJPU|i$wcre6$!foe$FLHi|XVxgX72HJ#5S^65Q;;|-XN;t_(-!uZ|{ z&NOZRpT+EZQBfD~L3#I!CbRf(?TGF6)GW9i5vymR4k59)cNXdZFy>x96Yq~bbT7En zEREdED!-qeh^tc@es22 zxX@tgw;o}=T@eW5 zoG5}<)+v`QHMrL69U-PY#@}&;A;k=}^Q+9>k7G1LTn*C&haK0#?YNf3j(g`5{5u_S zHMwww?8NPhz^nd#KhLup!+dZN+Loy0#FKozcJX8J!c+V_?B?>P`MBmF&U0%x-MQkg~3zoBry5K z{^(3a=_WVK{%l_T3dUWGzbDtB3?J2hR1Lge|54~c5h?3=`zH1aD6@Qy0PS*-q`8^D zojke2L#Q`z5gijrw7)p@8tr7gEp+Opz<{!%~DTG*iEam{VP?>(iD13C-M*BDpky!pgD2~9j+gbEU0QR zX@Tgk5;y{c6H)_2C*)8N7>>+wLmr5SkOM%Vo(StbAb4X1r&mC{gj4~EC1f`coQk0o zK$;MOkI}ju%K-<@)QEKG4M#(R1&3|5$aJQ*S2bKkxOsyUSDahG@aL7T3at)9gIhLZR>y2p9C0Xei{(!Q0DH zHz4k8QL|*i7DaagDX9EA@)lY%UfK^Xb>=uQ52f~9P9LTK9doofK<5FiP;-J>5fVaS z9{>QS#>E6m7O!E*ui%L|3FiS)245xnqlj9Ei|l3Oh^S$Lc%}3Q%$R^msw3V&Ghk34 zN|I<{kn%xB$qh~3U1C8EEsN4c;ya0&sIe;5Ms78_{!hW;Kz$PoxT^0RG($s(-75N> zhZs&Mgo8VX2VxII#o-0%o`)UHOe?G~M5-laB3Q^pvqx_^2?<4ID`BTUs1m6*_JP#! zE|Jty2#?j!U#~)%Zfd}JA0$HIQrgf3liF;hq=Ac$BYb?lR`oNQG|KGb9v8b7r3iD z58X2Zz2P`O(wi)-MlR@oHj)LRqpZyfhkPr4{(u6`0Qgt%HG=nKwm& zM#e~Qt=Ca&=aod_kh;twvMNi5tm@cQ$893=MDAcn#jekAj#p@-onpW&cK z2q|+2M4Aq97sm=Rz!OA|MSwx1!~g<9cy!lL=t4D>2L&L?Mg7yYWYo}ZnF(+#YF8H? zJIBfmzM0w~$eIl#w#iFRyGSS+oQ^Y4~_8LJ+-en+FtAB5+u|*s^(QRxx9YCFO5xxY>eYX# zkpRzg{gy8AcA}02Jse1)t>%SmRo~}i#3d9K2`rK6>|6p%Ztio>$i$66ed2Jg%$4cj z8bX;<3!)Vx9S)0M4ceUo$#e?dN~ShCg5{0@Mm^0*p0ZsIf)uEIYHV0*!#WEpKL8Rh znMWl@4TJzGd^NdOJFH&WxX@dpLURT2X$lOXPG@3}f`!mK2%eEmTJH3r6=f4UKqIKX zgATs~SMi8y?(?HJ7>=Ss^jLH%2VAUI+Q|_|M$^o zC0$XVYy}s|Y*%^t6yp`SM%TN7laK?3uxur!-W9LCSwopZS3c@f298HK^*< znXt&3KoTexghLEVS~m!KBQ{Z=Wz+#>64Zx&j%2|`h*OZd3^>~ZFS3dKHIOFQO~Y)W z?y(FF_65zl8nDv?4j)(~$N+N}A37hA0>zenBS?ubRELW33PmS@ z6{}|H*P@X^8bY#_3cPqijt60b7z@T6P&wVrL-qM%rhsUj@@G&2I4#PJ$^Z?aNwbyL zC@R9C5B?%tFcOetrm~fdc0lb{0VCnS!4Yng9S)l{Q$Tt6Fn+H1Fb1Y88Zw4jQD)!a zb73PFWddmxb_D^s?4ba+z)&&S${|fMicHi!DYGN4QlnWyUEm#uunoK8UEZoW<^lEo zRkBX1VHX$P=@+dlOzLE^AR_}&~(Jc1}RS>yAi5@05 zk+vr~u_s}bXC*CIIiwi&rz*5yq4yA~kR~0_!U>PCHMCV}R)5(}l!K8DbufjHu$QD& z9ZG@^$JF)odHKWO$a^uZ+=_2t2BG;CNkf?QgTIg@l^(#7d6dkt1`}Fom*WoRT=jMuf1t0h z-cI9C!|~^g18pC)Ba`Q^Bg@2NtZ7=gm!_98t7TqElce@*gRdD#(Gdu#)RCI`T7dfG zE9#e2U%Vq1e$8LTXF*McMzfa@Ox`(Y);DIMuZ7XPuNs`=Yi`7YOthOpY4PM9Z!|*+ z%B^5TEl6W8Xj4Zja*UF*R~)Lh=&gV*X+C2mE_)D_pn@bDK_AGB<&EZP=#F_6)hzKB zT5QsMvmKR7HcCgo+~cGxd6;Qw3-D#SL`95k&7Fa`5QmBKN)7k~csQz2c+E?*4|2LZUpA=q`EsJ9&J@}tD ztt3KOc+3kLwk;i3k$t&}4ocHOUrVcJRHAj!V;sa4BE6d+dV7rB{l$IVSz8Y|E~0LN zRU95a?#>eA)GNZ#B?RsB7svnDB-}q2kb-92NJG zU|&e~ogrtAx{Tt3*?Q^0SPL5si1`E#!mOmvs31JGzu}=-?3;bZ2Go0I^mmGqP*juP zoJJ1SsemOk@}U#Z($FJEQ!KYYzd-vwj*o{bFI~d49J4P3slrNZ10h%>>KlI7x7eWW z20Kf?z~eI7Ab1jnET2ph8Q*vwE6kX^IM^H80-HfXahd>E)1KTmAkX;Eu6I)2;rj9#~h! z8cnwP+x2kJ^v^+avLwSF_9YpqMpoFDY9t!%!oEZ!h}kRV5=LWMR#MJAG+}g-qthU{ zayT|J8W;JUsH`Nzxz(Sv+Lwhy0NNoDfc8{SyW&X4FXd0JX8qCFaWmSL_>&A^UL&i- z?=SUdhkY4FI=LuD`;wqP)qrD%urJ*(4EPyFYf4>)Yi(p2@X0jVkWU**m2%e>0a8oD zzP3i1;YaMSFU{~Fb4kE_k;$&p%6qbr81^L_PQzX3a~m$dV(8YqQZ?deUnl5*6DGOV zC<+R9c2n1ZqP1Xsdl|`wd#gWjwcl=WocEO(ms`Ie!JqWJ9k?b?K-IJkM1Zk76na4S zLI9=KxKs!cW}MFR;Vpda-hOn7z~78bINSEghe%IDWT#e$k zAbOE0VcBzQoIDk|URL6+~mHfp{$J@%A@0 zqLxel;F)D4mLi>$QlyER4g0C8=`*GHBwSltu4zVEDdngXxr1w4%Qe|ZF0HS?Fe0bs zoqy%~{X@nN?^A$b*J&i%zQMXaM(Qem>T26g*7}GO68!C6Fxu4zRuoiryHbBLQMD7L z1D-~-9t}DGE_*b@$t3ET$IW>1y_`$&m-j|K9-uJ(V_r<7dEogjtr-Vr@ESAEr|G)zudbEM?`@xC`# zwd$|~PFwt~o&dk5WwxT+0g`CB4SfZ5B#9K+N+}KJ?e-;H+amblp+2RnR&VjO)KT!u zb>u))xna=ngS~sN8H3S)_Iw(I01rhrF_#{I{zz*n$^`l@Xt%xtpuv(?p>LGhNv41R zWFk?-9e{3?bt-d66-PO<$<1R5*kFWOAu=`qS`vWV)L2l}2vJDo9I4*y;r5klC)0 z*(ORv+gcgMCJt5WKgqCMSNt-^$)!{cL75<^p_Ix_`$0$t7MT;>h;$fGo>k!}_zOK8 zRwN)+1R&Lz-Kz8sGDa*~8`4si`nA7B4ro>4E`M{{yM?v_FHKJ5;vfbu-=q>XD@L;% z2Pq8D2BJON;$MrMe%Yy-??mN>(Z!nWM6IDMKu0B#86>0BC6XT`gP=+zO8`@#{z)+m zqB1);u?Z_UcmyyCPRt@bNZ~VN_^bxuiGx_-Gr$O}@L7~+$u7`mY@PwOj_%|HpGS`Z zP<%<~L0HgfAWAf$H^MX*uFjn#n*rSiQHVjRJ_S=&vZI4hM^Tinxs&W_2044{S;8dD zg@`vrnsDK!+=*5=keC%};ik&VEF^5XRnE*UokSByCDM+$Pv;iQz#5(M76K8HcKVG{FdT$f==A##qMZy;>+q+ca#KN9 zsO|Jpf9sOclCVG1E{39v^C8j^w| z=%4H~IHK<)8~85S+X6*y(y2ws4i93;#J8m#qbr3ssI!oN3YrrDtdl^JaRY6YI82{` z`i+tE5R8y=9+HZk1i3K*9%Icg41)%6kS6Bo_JqV1fl=}+!~P7=TpL3Z;g5NZw$sFp4YP@Og5}lx|cug!3blSzzr1eG-CM8vcR=)RMiMfc zEoM1J28>WHhC6f`zhMNaANXnh03fpfn2Ndt$V7`J6Jr6Mj_SmyTIz2@0~&_eQWT@a zpGNEjxDTF~our^XGfVw#WqU?wRkkPb(E2vDzAmk3){0!oU}`XkAmNk}q-TdDA7VD- zLpf^TjFF9YP|=-gzC9JIOyLA5RgskQlKeDF;y)zgB=VJd13(-BlO*em{} zpk)!yNU~v~4byFyVZ&4#qWxv~w1R}^fzVv<$|R92g81+OA{rk)Wx;gA*G4*I*bb>S zw5SUmgzQ9~;DKV~LGBBtd9UiFR#L(IguO{vDq-6R%OLCzgryUA2C~e2Kaa7=WG7Ra2ZUu@fDMnNW z`hjwp_@AxUBrB~?k1~nv@Ir6>stpcU51vtJ$42o)$-}0; zFTNPMVnw+B=Y4;EIy86L{gD;n;^jLQuPP3?Xhj%s_`qWu=J<*a&?HN)DI+NcWsl*QWpD9*xyZDJi%61@)Enj*`&Y;_B~98pti`9bS4$_?+|JKO zsC^nv8dDAf}*zxbu?J1o8BIg7P!bp`{Cu{eKXT&5O0LYA4dcS9xn?vkSy z&M#3AHBh5qld056z{0Z{9%)-VMgk;8fQl>ZmplHRx+RmV=pb zU@NmK*&9uw7QpKT5Hb-8`?W+c*~)P`0jFB5gPZleI;)S+=IL>&Vafx9C!+cWv0t+LnLQ%Vs566k@TeQCKtMSj1IYo!ed73fLP;}w#| zq*b|UXq<5T?;gv=2cPqH>MC*Wb6y&?>qCfXi;^!O5%d`}&+y0jB29IYW|eA1{BW4J z?wakxK`|x;a>+fj8x`GvI06YF;6$7R5V~Un#Hz*Uo=QJ*5VwAX0|U&_wM?3LM-gV^ zI5I6PUP@h%n^($P5ayEN7KEW<=-iqvL{ZY9TwUjgxw@bGF_vy6$*tpJ;rF z4;Jmef!GezrcU~X7r9oR!#Nb`_Px87PZigG%h$!Ms3s?`nDPxDC~|8dHod}}T+0Wm zp7qt1EEvxF0%hXx*L;X*e3ZvR9?W-?$EUCO(8?TTV(Eug<|q@3Y@9MN&m41<=Tqr+ z9^<3c^&;sw9|JJwID~@_h?8VHAcmayA1dqbPFiK%a z5AY{7>GX-FPf|ZHa~=9q(5q|ibLxK8iqK7DM(fS2SoCP6YFGv#9~{wkP~A`* zJS$*%J-aQ8O#ot0F@_tuNDy%X*RRp)I+$f#cd2S$KoZ;0T;HPx?|?8>pd+L~6|DG;LK+ef7RLbxm(B}?j=Y5-!?H`^m`r#hb#nYT!GWBKnxU+#fpa$^cIeOdIynzTTF&om#E_={zx%BS#MRZDl(e7p==m> z+R_Xs>yQG5+DQYd17nXxqZP2@6(~NV7>+649p*ZpJ_L_wiZiMD2=m=Ey`3tCr|I{r z1H}z#dMA;dp^q9}2VqYLitdW`76dAP#sWW3C-KGe(PV+}TjXBz6xt9}72fQ9 zo7_XCREDs`tJk9*1C@m9wVI^}r9y1T)KkRI8TxmQs$J1yc&2_6j;uwaw)%~(Nkl;8 z`p3a+EOa~AQA|Y9)kyH0&HT1{krS8WKWMMN25ImPBGgfDN$|yvU^enu;dn8)lTHdC zLY;JC8hCV?7*D&-dOihwsx$aRjrgLoJ`f(r&Np#E`50BQB^69Qk2_S4@plQEFiheWyyJ0G}-X#Qb4;FRmyGMXq!zVsEl1QPd38qgs;7R3tYX zPywVrU`npII8+}PMc&tn>xSvQn{?`U`I9o3qL_z<>2oy5Opm-#|DsJOPFKUw#}%hL zHY)>^KsZj1dQ%yxG{-f(I6bCHnW1#1g;}MUf0N!@1xsCdv;LKO)C}FCpND>2^Wl;D zxtRFl?RA{RD+(FPyVTj zhB^q$HD}%FUf&AZSdF>vc~RJ0;pG$GABA4EMha$;L#P?S=UO=1(Ay zD!AoZMir`pvLT2=T6f2yjN7^QJ5*a#BHbC z8NPA5Rpm|C--a;?rcIqS@qt-wl%k1~W+}6#O^5ir`O+zn3oc>(MnEsX?GtL z7vJ9b!F?k@{EzO{xMQ^aN4EhQ`20urEwFX@$=yc#zRn!;llz!@Rn6&Wy@}K5bm7lS ze+K??b92#&e}Ipwsv75un-S)^FGo0!QE%MSkE0r-AQtnD3l* zm#U)ed3T2<)n}vic}{JIszk%+Fip*(^X{`MJ&AJXMfYfDm&ye(dYQKDZBQi4I+)Ec zJ7D&}d<63aOfAeQn2Ru6{G@r#YIO_EQx4A&HSUQ$s`5O{T9{2RJNB5hQJ!^b^0SL$ zbdJ15{s-2=0W(n*dELC&tcdaKRhtibPgO?3Oo8bJa}7+t_rwzBc_}XSeO1YZ=?*gx z=9c%(zT7ifm6~aEk6UeyC*X9?)%d_QFnwTVV|Dt1c-!sSJQAt|b=DVd{VewtuyeBK z!SqKSD&P<|0G5F;*TM{fxegxC?4>uq9+tr{Ltuu&41*aC&*LjZwa3#!Tf96ZbwM@+#dp^)MmzYNydp=fMKeq5EE6d{DGm8TsZDmJ^d^4#f+rZHmCm*V|oPm-ui_C!gC&C z9qn|Dz{O{OEDdAr4kM3t0dvJQhUa?e42|noIzy4G;mMYMN3QV0$d@FV_&jZ;U+=FP z#vAJM3{<^hna?vo`|us{h0l}0pV$+lt8OJA_J~G)PpkItkR4q1L%?PpeAG!l3Tq_4 zk6-v*qA*@1@Wi{~R=+28z+3O48R8HiE{=Zj$CSX|;i&2e4A_juZ$oAr0^agnJRD4EA;~l*Uc7I&~_V zcIV`Ru@h&`oHkQN8E%JP(IEUCaHDh(zH`yUsp6IlPshi(m*o z_L-^_AWg!yM*Na~)g1!W;*>H}o4i{-`QlVYG8d1FGU|fmdJx=gk3I)&40HZij<^KZv?+cIs