From 1a4c399e414b3438b7113608f67205712ab75347 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Sat, 18 Jul 2020 18:00:05 +0200 Subject: [PATCH] [web] port all remaining JS code to Rust --- Cargo.lock | 3 + docs/example_wasm.js | 224 +++++++++++++++++++++++------ docs/example_wasm_bg.wasm | Bin 1039855 -> 1015930 bytes docs/index.html | 230 +----------------------------- egui_web/Cargo.toml | 5 + egui_web/src/lib.rs | 68 ++++++++- egui_web/src/webgl.rs | 11 +- example_wasm/Cargo.toml | 25 ++++ example_wasm/src/lib.rs | 292 ++++++++++++++++++++++++++++++++++++-- 9 files changed, 568 insertions(+), 290 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 016f841c..4bf96896 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -419,9 +419,12 @@ version = "0.1.0" dependencies = [ "egui 0.1.2", "egui_web 0.1.0", + "js-sys 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.56 (registry+https://github.com/rust-lang/crates.io-index)", "wasm-bindgen 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", + "web-sys 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] diff --git a/docs/example_wasm.js b/docs/example_wasm.js index 3fd45398..8b5a4b59 100644 --- a/docs/example_wasm.js +++ b/docs/example_wasm.js @@ -187,41 +187,59 @@ function passStringToWasm0(arg, malloc, realloc) { WASM_VECTOR_LEN = offset; return ptr; } -/** -* @param {string} canvas_id -* @returns {State} -*/ -__exports.new_webgl_gui = function(canvas_id) { - var ptr0 = passStringToWasm0(canvas_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len0 = WASM_VECTOR_LEN; - var ret = wasm.new_webgl_gui(ptr0, len0); - return State.__wrap(ret); -}; -/** -* @param {string} canvas_id -*/ -__exports.resize_to_screen_size = function(canvas_id) { - var ptr0 = passStringToWasm0(canvas_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len0 = WASM_VECTOR_LEN; - wasm.resize_to_screen_size(ptr0, len0); -}; - -function _assertClass(instance, klass) { - if (!(instance instanceof klass)) { - throw new Error(`expected instance of ${klass.name}`); - } - return instance.ptr; +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1 }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) wasm.__wbindgen_export_2.get(dtor)(a, state.b); + else state.a = a; + } + }; + real.original = state; + return real; } +function __wbg_adapter_26(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h59314522206fe5c1(arg0, arg1, addHeapObject(arg2)); +} + +function __wbg_adapter_29(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h59314522206fe5c1(arg0, arg1, addHeapObject(arg2)); +} + +function __wbg_adapter_32(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h59314522206fe5c1(arg0, arg1, addHeapObject(arg2)); +} + +function __wbg_adapter_35(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h352b9cbf82e6c0ee(arg0, arg1); +} + +function __wbg_adapter_38(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h1322780ee0c72b2c(arg0, arg1); +} + +function __wbg_adapter_41(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h59314522206fe5c1(arg0, arg1, addHeapObject(arg2)); +} + /** -* @param {State} state -* @param {string} web_input_json +* @param {string} canvas_id +* @returns {StateRef} */ -__exports.run_gui = function(state, web_input_json) { - _assertClass(state, State); - var ptr0 = passStringToWasm0(web_input_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); +__exports.start = function(canvas_id) { + var ptr0 = passStringToWasm0(canvas_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); var len0 = WASM_VECTOR_LEN; - wasm.run_gui(state.ptr, ptr0, len0); + var ret = wasm.start(ptr0, len0); + return StateRef.__wrap(ret); }; function handleError(f) { @@ -240,10 +258,10 @@ function getArrayU8FromWasm0(ptr, len) { } /** */ -class State { +class StateRef { static __wrap(ptr) { - const obj = Object.create(State.prototype); + const obj = Object.create(StateRef.prototype); obj.ptr = ptr; return obj; @@ -253,10 +271,10 @@ class State { const ptr = this.ptr; this.ptr = 0; - wasm.__wbg_state_free(ptr); + wasm.__wbg_stateref_free(ptr); } } -__exports.State = State; +__exports.StateRef = StateRef; async function load(module, imports) { if (typeof Response === 'function' && module instanceof Response) { @@ -306,6 +324,18 @@ async function init(input) { imports.wbg.__wbindgen_object_drop_ref = function(arg0) { takeObject(arg0); }; + imports.wbg.__wbindgen_cb_forget = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = takeObject(arg0).original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + var ret = false; + return ret; + }; imports.wbg.__wbindgen_string_new = function(arg0, arg1) { var ret = getStringFromWasm0(arg0, arg1); return addHeapObject(ret); @@ -346,6 +376,10 @@ async function init(input) { var ret = getObject(arg0).open(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); return isLikeNone(ret) ? 0 : addHeapObject(ret); }); + imports.wbg.__wbg_requestAnimationFrame_a18bbc3e00b14f1d = handleError(function(arg0, arg1) { + var ret = getObject(arg0).requestAnimationFrame(getObject(arg1)); + return ret; + }); imports.wbg.__wbg_body_ca5c7fc933a74206 = function(arg0) { var ret = getObject(arg0).body; return isLikeNone(ret) ? 0 : addHeapObject(ret); @@ -354,6 +388,35 @@ async function init(input) { var ret = getObject(arg0).getElementById(getStringFromWasm0(arg1, arg2)); return isLikeNone(ret) ? 0 : addHeapObject(ret); }; + imports.wbg.__wbg_touches_b43aff7721e20859 = function(arg0) { + var ret = getObject(arg0).touches; + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_6d1471ca01108161 = function(arg0, arg1) { + var ret = getObject(arg0)[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_top_4bce526516916bef = function(arg0) { + var ret = getObject(arg0).top; + return ret; + }; + imports.wbg.__wbg_left_ef807cf36a8b9eff = function(arg0) { + var ret = getObject(arg0).left; + return ret; + }; + imports.wbg.__wbg_hash_807752e2195bb755 = handleError(function(arg0, arg1) { + var ret = getObject(arg1).hash; + var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }); + imports.wbg.__wbg_setProperty_3090dd7650e67dd9 = handleError(function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }); + imports.wbg.__wbg_addEventListener_e26664ded96802d6 = handleError(function(arg0, arg1, arg2, arg3) { + getObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3)); + }); imports.wbg.__wbg_getItem_5a53c566950c2181 = handleError(function(arg0, arg1, arg2, arg3) { var ret = getObject(arg1).getItem(getStringFromWasm0(arg2, arg3)); var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); @@ -364,9 +427,18 @@ async function init(input) { imports.wbg.__wbg_setItem_6884e4d52a076b78 = handleError(function(arg0, arg1, arg2, arg3, arg4) { getObject(arg0).setItem(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); }); - imports.wbg.__wbg_setProperty_3090dd7650e67dd9 = handleError(function(arg0, arg1, arg2, arg3, arg4) { - getObject(arg0).setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); - }); + imports.wbg.__wbg_deltaX_8e512069555e35b9 = function(arg0) { + var ret = getObject(arg0).deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_2ecd7349fda0247d = function(arg0) { + var ret = getObject(arg0).deltaY; + return ret; + }; + imports.wbg.__wbg_getBoundingClientRect_87b5d0eaec291192 = function(arg0) { + var ret = getObject(arg0).getBoundingClientRect(); + return addHeapObject(ret); + }; imports.wbg.__wbg_instanceof_WebGlRenderingContext_4dbaf147f8c72285 = function(arg0) { var ret = getObject(arg0) instanceof WebGLRenderingContext; return ret; @@ -498,16 +570,38 @@ async function init(input) { var ret = getObject(arg0).style; return addHeapObject(ret); }; - imports.wbg.__wbg_hash_807752e2195bb755 = handleError(function(arg0, arg1) { - var ret = getObject(arg1).hash; + imports.wbg.__wbg_clientX_c98258465ff0d711 = function(arg0) { + var ret = getObject(arg0).clientX; + return ret; + }; + imports.wbg.__wbg_clientY_44f939bc3df4dbd5 = function(arg0) { + var ret = getObject(arg0).clientY; + return ret; + }; + imports.wbg.__wbg_now_66c779566d9324ca = function(arg0) { + var ret = getObject(arg0).now(); + return ret; + }; + imports.wbg.__wbg_pageX_6a171f721f972234 = function(arg0) { + var ret = getObject(arg0).pageX; + return ret; + }; + imports.wbg.__wbg_pageY_01ba10e48716178f = function(arg0) { + var ret = getObject(arg0).pageY; + return ret; + }; + imports.wbg.__wbg_key_0d736f3a5f2ca002 = function(arg0, arg1) { + var ret = getObject(arg1).key; var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); var len0 = WASM_VECTOR_LEN; getInt32Memory0()[arg0 / 4 + 1] = len0; getInt32Memory0()[arg0 / 4 + 0] = ptr0; - }); - imports.wbg.__wbg_now_66c779566d9324ca = function(arg0) { - var ret = getObject(arg0).now(); - return ret; + }; + imports.wbg.__wbg_preventDefault_cb207bbb7569acb3 = function(arg0) { + getObject(arg0).preventDefault(); + }; + imports.wbg.__wbg_stopPropagation_2c1e23fe8563d714 = function(arg0) { + getObject(arg0).stopPropagation(); }; imports.wbg.__wbg_instanceof_HtmlCanvasElement_0d5b3d4264830667 = function(arg0) { var ret = getObject(arg0) instanceof HTMLCanvasElement; @@ -543,6 +637,26 @@ async function init(input) { var ret = new Function(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }; + imports.wbg.__wbg_getHours_ca3bbac0f3d04bd6 = function(arg0) { + var ret = getObject(arg0).getHours(); + return ret; + }; + imports.wbg.__wbg_getMilliseconds_a7841eba602b6404 = function(arg0) { + var ret = getObject(arg0).getMilliseconds(); + return ret; + }; + imports.wbg.__wbg_getMinutes_7086fbbe31709de7 = function(arg0) { + var ret = getObject(arg0).getMinutes(); + return ret; + }; + imports.wbg.__wbg_getSeconds_bb43691d4ad9e1ec = function(arg0) { + var ret = getObject(arg0).getSeconds(); + return ret; + }; + imports.wbg.__wbg_new0_8d817915cd890bd8 = function() { + var ret = new Date(); + return addHeapObject(ret); + }; imports.wbg.__wbg_self_d1b58dbab69d5bb1 = handleError(function() { var ret = self.self; return addHeapObject(ret); @@ -631,6 +745,30 @@ async function init(input) { var ret = wasm.memory; return addHeapObject(ret); }; + imports.wbg.__wbindgen_closure_wrapper176 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 38, __wbg_adapter_35); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper170 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 38, __wbg_adapter_26); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper166 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 38, __wbg_adapter_38); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper172 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 38, __wbg_adapter_41); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper168 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 38, __wbg_adapter_29); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper174 = function(arg0, arg1, arg2) { + var ret = makeMutClosure(arg0, arg1, 38, __wbg_adapter_32); + return addHeapObject(ret); + }; if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { input = fetch(input); diff --git a/docs/example_wasm_bg.wasm b/docs/example_wasm_bg.wasm index c2ff210cf52236e11b18703b6e599d985bcb6d91..4757512c64a4169b0171cd18adef5ccea204d9d4 100644 GIT binary patch delta 161566 zcmeEv3z$yT_y4>1dGEJ5Gv060z!!T1OA#{&-L@pthcd}I~ zLaF2u8A%$Yk`N`8RPYTH0Yp=cb+H3E%_S*YB z`dX*oDlSSj4H$VlGnq_m{X-QMrW^X3O#MyFkN-!nNLzJ0)`!NZ337%|}X(&7PmMI|KzTbJhMmgMD^c+th7B*yFBw?crd2_kyn?oQ1tq0rI{IlkgdwG6ql!z*igF7FmbqFN z3@9pTTUv%Jfg!F;t3z++;Bs$P8&ezw8tJ753>wt^uF|2SE*m^@RO!&t5yhpg3JMDH z2bB(LTTqnSYEXeml}!;9gS~aRNevt^XZt093?0Cr(jlV;^erwbZIjn3x1epCHf>5< zw<&3>qZXN`UvaC_frAQL=eI2zG$6NCe&HZJk3nP*pv$m3hYlJ%^p>te1_Pu2lnxwK zTvS-nW>9YFfYO1j+UDi8Z6#?I=wxXJI^Sn$iRTNJTs%LwG-7H%u{L6!WK8R;t;CW{wKjQNF7nHRg(59>vI6JqMNwQ)CqnZ(=#C+XK%Ld%pWymND_g1-u zB_$<=Z3@~B7+BI;AN39O%p)-bdSk>7xJ8b_;#LDOkXo0O7PTp8jke~S%zi*E^MyxIU*0{MY) zKPZ2|pthxXr33Zajln;(^zPi^qCrJ@g>CcN3>;L{Hn(I@k%FaP2Dj+)d9}F)aY8WlWk*+C(w` zVQ(Tqx-}*vS@x_-Ei|O}s9Q%2yBmY)$(UrnWZl?^#M?`6A2#A%6Qgk_caIn_e0b@Iyut#L?5zvt$^ElD{t^i>DqkIy`Z1yzrKP@$^(ZDsp?`Rgb4@oF`6CLA0Zx+3YcU{HpoNZVuJ!bvQk0 zJttM>ar88sQ_NTP>DI?#_QnAh)vP+av1W&-333r~vGnJ0)b)BC=D1i#p2LI0#5gZ% zi$}cE?escBRaqQnk2mzEI`uz?HvxsseiZb0ypB9ot*18VL=C4394$SL20*fhLq&|! z;k>4)$K!Oyq7|V(2jJ>|sx!yoG<&Xhl46}^ zOCQybyvCme$Tu=t4f0UC1WIi2WsFp(wSY>wf`159jab!YUw;#DnZv)Su)I$Aiq@lGa_WhG{(+RGV> zoOF`MI5 zheV60=I!YODbX520?gHd-a3al%$N4-=Wz7A67ITr=X`)hkepyJu26&T+T3G8J zQoZLSSnL)%{w$~o|Kn|@x5eU@Pm1(hZ!%d-5cL)d*5p@RYqMDT^s!nQvsx*S$!fJC z4M7x*{OjJcm)T@C10S<_Vg)1{8_qt(Kg&27FvVLT?hxx|T17>*$z?l>1e4RM%XvRH z)zRm^k)sBTDjiW;R$MlswAA#0)q;o-qfA?@QIo@fAwz}@G`(tzT=9=6)ngCaBq(FP zD7|O+uo0t*TQSoE#e?pJ$}kL*NAa-XBa4g6?i@Oh7VO2vJ^Vv2zjIV^u~v+~EAJdN zoC3xFDIPGg_-<$?#lab?c%U)+6kmtvuE9X@pwf{8M+`0j;K4)h8g?7rx3+29IxoLX zt5#U`mX)>{m}h##e&6{K@b}OW_}8j$-KJGZ+kquzMXgE;2Ihj2k6x(y9s~a6>hoH+ zYE@W-dUFRBwkl~g&@?a5J0Z#cmEEz1y4`Hjn5+I$+gkez*1fhxwwG`{BAeW(2y=Q`VG=Kor^+TQg$-ghi;ZgPBQpX+$i z@uA}#$7aU|j`tjIJ3e-7cWiNdG;gPh(G1nZJ*(oV_xW-Y@2I;)jrL+ z(e|4CS?hmo@7NYOU$^Zxe`B3$dD`*0{aNSlw!M~LZKrJqZ8Pi-*-zR|*?zJ8X4`9j z-?q=X&;FME8~X<9GMoQ7=Q8CLzKDHmpJHF^TrU(Q zwnuDp?7v!nv!1ekYJI_3#qpu_Md!n|`Sxnt8@6e-@2t-|W;oxmk9WLnf7kwy zW3%l`^AhJtYo%kV{eb;@`zHHK&MCHM>@%H9oy(ldohzI#J6AcU_OdOo3+GY$F?*Hs z73W&pR`UVt9OqHnA@gR-5!++VHO|*;(;Nq_$L;S}pHMz9Pj`G|f7SW4bEEQ<sKM=cKH7l3 zEe(e|Pug9)v(MJuV+t(4HY+f{VK*e~xUmtQo%*y5WaKmo3~l5>=tU#6yOGO|LV&*A z5tx5cw}pZEWLBGfPG+8PJvb8U=gw1tO*Wa0X*Z>&jZ_X+Ob6eN8?M`y1=!K zpP|fSa}((m+axXPji;(jTAX^6n&@_+h)rYV1>CMT#K+WSfh(H45>+VCqav$TMJ4U( z(Lm>>DQxM=>zmqHjchS)mrGkg*{sO+bh8xp;>uT>os-S$cDl4hl+BH7XPT$57gi>> zsF^L$yQRfGmvT9f>!y||tZL=mEoHPle zxW<;q8?VbxV?6yX?v`>fzy+_+lj~t%T|% z4;W2dih|DuzUX0#DtNTVpB8)(1z(CP)UW5C7J7kd!{VH|G)0TV^sP((v}_g1HV8a^ z`6E%4w!We*1ATA5vNN?X+)#b&ha2j%>i^Wc1HF6Sg%a=f?v}X5mg-9*WGs=$1TwGc z#@4JXyJ{{s2E0|9VZ-R{fZe5;GVSgJ@#99866oE}OHEyM zT@H$Taa}tzcteRw>eiRoW=P*!l0K42zxORVw^aXrRBBScT1p+2NlDkY3(@0%HIR2h zVqp0Vo!y765>tndM%C-rmjg)74LW7$`}7Uev|DeCY;r=tds82WK0K}3;sCp;uX~B! zU>(eko2XF7o732nEBoEtR6&0|G@u2Zs|HMAC&h+_EGckZNmt}~qJ)Odi4q!2R}Q41 z^Wwk(czOm=YuXGVIP>MxQ##lfMyWN1(Uj7ZoYi0z$OjBE>RzT!vK4T%#vorPO0$<^ z#C)o#YgTS4-NKnUFl1J`^AexE2?VYgqV|nj>t-*t7je~Rr%1QY;!B;CWl@(Q&aKDA z`z#o3Y;Yp$9!MTsCXzs_oWa~QdNAV`Z8u^q0wQIAr&b2Qt1JTBEe`E=;lkC zm6b-t(tPQ&veM}*-B*|BO90}7G*6?l>GTK@o$9E1*B{?Ns zh)b`yqb};dWRb1*1Jhkgn)-AVze~W z2N5l$4zQrdQhoLuZqDJ!vEc@%`hc`-b&4+wSdi zG&Vz$T+-CwTxy)&1Jv|zGeM82A!0NxgBnt!aZ&vo;<7}^V&E0YZXx0auDNqthyx5J z(nnaJ@GjrQAV@l~mqav!FsoY&2ZU;j-~dToiC$fh_^G?mdhb+j4JghCotRNLnTy!SQYGoA?)-skg&6HOX#XJYQF zU7FLUY8AmkngjpBA$wGsO|wO$S)156 zg!#)!NM7vH{vAa8Ax!=mA{|{C{R^Y}H)-b&weuek@1LQZ>(at?^(ONFrJnkWl?4_& z(1dvFg9lRlA*%Sinz=l(j}f8NjNmmRSdEAp0FWFTCcMwCpuuLtr^# zy1;XzU*^Z=2W}X1GhQoS8#96FlWchIHzx6jkuT>^L&QS#7;?gxmLn#g(7Yohd4%Yp zL9dH=5)KiQ4;Bx;Ky?M?{=f$nhs&k34=*Py=gc#Ppf=_`T{72@!XeRDQwmGD6q;hD z&y*8@2Vy8o^+2q|WP07{w3?Kov7Sr&^r@??hD*EftYOagbe?`-LJ_t`}M-z+9cd##8QzVqhI5K{krnXiG652{OqJ` ztcTy9)R3gmPm>;_0sP41pZf=C8b!&7HDG828Vlm6)r7HLj~YG33SUw(yd>pQvab%y zy=WxE@m`3h8sh96@fRf^!LRXw7US%JN2k1@vq#O&Hnfh=l7Uv&q;P~~RhVVK={3ku ziy+Vyj#R8S(xTTKfsdwUUlVSN(Z*Q4Bf{~2yN#|u=D3u=plQ=uMCeS=Kcy5jMw8Sp z!LNpPs%xUUW?Aq^dk&dB@{t>KA#Ds|T|1!Oj15{}lvZ7faL0Bxk>%B3W0;He$$wTLPga#0xGazftK`r?+F!PdWCJ9O^)*2n z%Wy1jX@MK~F0h7#)BMVET3vV^-Kn6$Q;X})dMvGV?U)A*G6^((BbZWev2Ktlee9Nh zR9YWIiI0yw7jWJSx;dv7^UOz&7yb`wyXJ|J|AW%8a|{0#uCwOuC&`fDOPZCHL;@g* ztR+zlj#Pm3CDG#?Nt!q-E0KyN`jTg5CDT{3ZW@aaEpA^Tl})BcsEdf<5>PD37n2;p zc`zQVG(R<(Canjb&Ss-lKKFDwBPHJALkA~d>~5PUm3YD_#N9MKp#jE%1UMN@0ZxQn zNHiLPN;U;J1#;&{D)E3$2u5Kpn;t@1x6ULIiHsUBlNjxXw5&n4U^NkBqgE%$c3X@_ z2d-FQg;>}*{|nODgRKnrNZ_4kq|R<80vlDKdLnhGS^9hs?xql3jP?e}A85XyZo{z7 zo8wg zgw@7qJ6b5!f~c-nbw)Ob0zw(IKMxV)q!`5~#)y%W2n`z`6L@Y>0;uu&q7SIUBL|*7 zmICvil^vcOG+Rba)}fg=JS3@thz^&dEI366?9W9SX%eZMjds8eMWd<9a}D}LFg#jK zgCNvuFlo#=MjF|qa|ebo!h>=m@cMJq>wBK-2MJ!Vc!QMV*Zw2XrVDZLd~d)w@O<0I z2J2ED!njfGvxDCI5%XH$will19+6k)w-5nU@N~q;ikGC2%t?^YTgD8j#&!?<=fz>P zen=v%#Gop8vj!I#JcjjyF^X!6SA*dtQEM=eq_ON!8b!m`55m|CicR`6pkxfp9-p-hh{CDtPC}_93YQA zorM{XP%*?kP%#EqhNWG}f7c@#jgE*2hI>|!w08u93e3exBlvjVyhi|yqHJL@1 z2Eac|56~@&Cu*=?Boeg^-|1@yfLQ{^*G{07kHUzo{cHTee$t##iDc>y6%1Pc zZqPNRQ2f7uvY)KdIyL?R&Ot=3`qvP-w3cr93y8?Ak}w@~+6BH`pO_Phgb^#E|AQK0 z7njc?;{)k$r1S`9_WVy6_5L?f!hD2nBA6f4h~D#%`5`(2=7*?=$dJ^E!a(^HPphUFa-Z;8w|*Si>ebZ4_Dxc0`ynl1c`~WJ0x8&M(0=O`e)3QhUqy^0z+w- zR)Nu`Ab-Qi{8vLpi!)&Su2Ci?3SM-`A03Pg832=X5{6MSjOqz4?O(v%uZvrwu9&}v zd?dCidNmS9X{C46#N917BYoaXk6R(nEK}f$Hy`GZ{_`tS0^{Gz3M9PM62X-{-kQYO zTY(SW&SV<{Kfc`v&y;tH@chp^eeit#okBeKz0(X&@4NJD|L#?-$oo+7Vb|RhYlZ~} z8}M1IyGKDBqY#{S;6CK?abzGb7oYn4%JuK|WbEUB{k?DCU3TQXx7hl?%bRZ?sP8w$ zv)%hGky`%#HvWhbXt(7sy>hl*#a<5Fw{{# z1Y^rrF8c5UV|!OVzO$W7-1YGa{*5wgOHyFoF1XJsftPk&74wNX)#uihW0I-s^QfN$ zJfD!?*7#3uqzqqwQjH21e0m8`IsECbNci@%wwZ9@Xza6S%gyEL!T8ZQZs*;t*^hxyyWeDQ1`0o4#6Da3#pf=@UJZP|rvse68h#PSu6xTw%>41=oJ!SUgkP6gLssRYe*b|f&u?=J_LNfLkSe;M%vN_uwcP79FJXx)%EIzk;vRXvp0Jwl_)b7-49 z<(j)3M!l?jnUB&b2k>Y`Sha}43OKi>*nAm#%FH{%snyav&~e|j{*9k(FlimN@t~Dyt`I$<&o_ckG6$A_oJ~yi#J8`2ov!+BboQeP z28Fipm-kItQ*HmR@9Sbvi)w1%_;*W?{pkaDvqu9--_On`cS3NQR$(jmp)0j&XSwNp+T@=C_9J81yMc*EKDl@|oK$(2sW|PR7AkPh)tI^q zFuQv=qTPl38sG<)S(Mkdo60elxK+LOFhsYu^ryh0qhoc54nWk*npxcyu>IH-NL>13 zJvJfG`BbvmtF8ShuLR3-1J|FxT3Sg3IMAzAEA2gDBX+Q0q5)i=dsPWAxYXX(&D zBhkAAXPTEKCAjACa&4V{dO!?yv38x$*vMPl;lt}p*KvDshCu(Po)HH;EaMg(FkJX$ZCQDGeH5@~wlb>a!PM4~ zsrg1~u>Pzzk*NjRjAdI)nemz_GY+3(h?m_SE2F%Kvg7}BiazLN_xnGeQ*F}Tk?!Rn z#;V5=nu>?|E@>72JBiq?I?L{mF75UhIL>n{N#NbiaX`Z=eu`o8U<6JE7zZPuellOI z`nkAVW$oB|Vv@=(Ve7;WmC@MfTECWNmJyF-7ah!^XyzWR5fNR4M}TF8EMxU{bbf;@y# z#|g)uTePLt9aR*^dl&@R#*QP`a z;*;V)B5Q+J-6SUc#F=>Gs5x7VNn(!>4ZX=MF;zAPuF?9Dhsd6*x+s}#g-^b4r?QcN zQjyAVu0cGJ%HW+XUAKid4I<;DxH^r&Nn6~X#@glR2OMPY%d-vSxu3&7#gwJ^9P}Xf z>vDCq_#zGG_ZEwr(%A}EW%#UvNXcLa=pc>LZ4T_ctiI^~xZ)IhovaO^d|O@Si_;Sc zWw01rywTxL)@5nUBcM=mdA?&YFUPpgY-wb+YI{-n28DMf9*Gw(`It+5S&v;2o9uxH zpcVl_46Micn$OL8O%%2reKj-P8<}2}m&q<>pv}EmVD*z?RhFdG9zB#)pEbqd7M~5+ z$}WJfdi3DAxjyTcft5cT*ySS=BZoCNB||-IXG%ufpRC$hpM6ceRMmjZLJhqd%3dmM z80;nLtc*q&3Ma)CjacvmN^`??9wLHHpok|Mv6QCdJMS`l=WXZlowt{3%bB`H>}$kk zu#I9w4!aqz9Xae8yc#xU&GEXXF&oYHR(;r*IY=uIUo?TtTrY~6vQf!P?d$Z`Ix?L; z-h?-!M+bG8*w~ci^_^?=DcUI$2?z!Cl&do>L>c*wa|tz*vEzSCCeMN1jg=65@0j!g zK#595>u7QUu&Zmu<;~bQwm|G?hM5l-4Q$RjvG>J-=4>hj^IEVecvr1&!7gKLu5jhD zTR^XoxvUE%SLK43yQ=Esv1810nAXuvwF5uWT2iR3SsrG~+ll~hf_Slr6_k2h2EzJG zIF}aU3EC>W~=>3Pk7!`Rso7xwy0q8->W~HY_=zCRCqhQfG@F+OR9olnw^4 zITz^J4j3yF#Kj$1OSVtk-H}~{K3Lt6wJwQTu9GrTlc>=P`UrJr6SYn1Kj$b!Q9#9| z7qMdS=!+Mzj+aR`1NTWT+#A7#_zrSmM6%9>P`%J+50FxBqOW^=aCA^liu_Kj2ikFe zC)u2}o!HU3=b&QfW}ixA#k-x^XP6J?YwQ^|MRe=J?nP*Q7d9QQE4s42e6?AOX@T2X zhHtYqbU@ih&praxA1AT&71=q|cu5@U%I5Pm3&kVd*i;CMwC?OIKVuf@J=mgpYZhW{ z;qGF}Y^KdvfKQmBDaL_ig%_VydwZ~ktWE$8V?LL*H>MoV1Kx7=g{tIB*l5nSh}pd$ z*0zZCy;vcu6unAe->!Ca&+700e*NftPkC@v9mB})*Qy_x7iI{_gWx@LVo7`o=1>+(5i zd#|~#1%1G70tXmzrZ-#C1$uOztTs1@1*)}2qmly!9GZMyB(~WSdE{Fr4qwI6EImz_ zc?=x?qr)}oz7SjjDS;P(8j>gxaAU4!X{@JcdNu3+56G6FU<*_1xSAcHHs(gRktj{{ z4U;=ZHV^rTxFKB7Jj%CB{Cn0ECA6zquYXKdtS1|^G(+!+8W`N?YHr#elf^WCF&u_z`gW6XE=E(e zV++K!eKDWR7c2U*9K3e-W%cCf!htpI0OkglR;`w+^M$J)`vv2OU(cH0)%|XKC%@}m^#m_fmoiMp7v6vNbK5wD8VgPH4 zch%$pEXT~YiIc{tVdH|BJDN0ov3E49i`nn&Xs9sX z92BWzSbwq(JTL}}b?Dv49%3Iw6#C9D3pK5fg<4KzDc0`~Vxggmx?^;OeaS?YA@*0W z5k~0`Vt^X>Dr5i>Z61^`?tL&=agyDl{Yp?QI+TScMZ!2;?XOY&*zv5Z57rGUE=PeS z%A=FO8bJb&D%+A|_Go7ginHVO)(m*4*4Av9ATd!VhFde`P|eoVMuw!xvfvGq!%c8& zPf$^Jh!7_yhwF^jdlHuel0mHq8(lD{iQA{Jx`rhVT#>_l)MFOyxkKXVDQpZoEb30h zjJ#W%nkt#K&$OD^VS3BcmK+k3reXNZ6^o`}9^56q2qLn7u8mWee%-Xm-% z`(Dg@guQQ=ROW?DDn;cXi;9-4e}`--V6%TaDh~^@THs5DmWV`sQSDV}GuU&C77_iQ zV~gwU{BQ$|6Ievl)mEK)pH>bshD;VQ_^g^Ti|tnoF$?nuP5PO}6eEMpeD#c3NCtC} zx>P(l8-u;OxM~So9$nOT!JwUoV0vnXo7)Rjx798zIw14ob~OqxYyz6fyZ9@AF}&_0*F$Zj+iGBVd+ zpbJ%vQ_i%Ispre24=iM8k{|OpJ3zB?Ry2ClP>Cb0sf!XG& zqYj#t`>$Ys5D9A3Q5y*)MQhYS;3Y-RJ}D_$?@9L5zX&evDR%k4Ma`v8LB%px4PV7t zTiF9u_C>4@5AwTj$>Ufe>-_%y9DI5;8Kd(%KC7nAV*maB3?J<6|IhH^|1pLiEx_b)REVzBc1k;2McPfm^va7F%dEdhnuu7c#o^`>i-9h=PKFD&! zqJuC+trGZdkJssllv@tLR`rTl@jJ{F^3_GGILr#vNbr0VfS)|f#yDTG$SN}(E>V31 zi`3aauN^pl%-{!FZKME<9cI{OMqx+f_Ut>gjB6Zoi;KcrRtiW z*ajBWLS+bA*x+YeZYCR(A+{c2PVxHBu%W#o4*eW#Ru>_DkwDk~62yS$DG_=0QA>>2 zdoqYD#lLbgm@7dTc;=t_6Fi&#s%JRJ>Q~MDmDS@wAhL6AJGvP|oR@;IX3_K5= zW~*D(}EVKE} zP%ftG-;_&!lkL!~O@cR@O*?y5xkKG43eUnazNYHBvy3Ti*Vr;+kzu)|Tw{7|nQwy&<13UGom;Un8|sD7jbnER{;x*qP||Wj`OLwBdDsUjaPHNu2Q(1 zJQG+pck=t#X0h1GFY_<_A?PcV0(;G>U`X41P&(=yz)L#nXs0M5Lz{Cb7_k^%TDrC| z6tR;c3bd(*gE{8n3tH9AP(+TFqphpls{8%nJ4f?J2g9NLRJOTRNeD?tA#bqk7uYw# zX{`uIFl-qindYuNL?@Ks}QLk-qGtT&$4Oz(m?X;a`l8L z_3(Uug^jjUe6YqbpS?Zn;KSg>wkGmiRPJ-MXZZ4&vFlN&z-5SO0O8PPCacdlFucA_ z(%(!QXH|c-`yAAn=G5lBf=w}xI-c1@ikGMR)6275 z>i3S7S;;<^dJu0M+ErH(NUPQi!<4SW!6RP%hJe5&iGWlS5T`ocj=_#b*yT0^eYp#; zoTj3=7`rW5hn2E9EtzShEH4Z1p~4QMuvq2gsqsJCNM>j-od6Yyhq^<2?d2VvTc|-5 z6%2-y#xeY&#G>*{H(=(MXL|6;Ezk7g)vRiC41bZcgQ9U9&tM;ji{p4(K9P$DxOMz%~m8PBiKUr9nq;O&vGQv#yotD#txz?-IhN`~&=umO%1 zErta-6jpx|zaaylHB98!u?jIJkzb0}=FqE|=#s?i=}}F@)Fhr6Gu;V^M0={A0@PTC zSeJy2x}U@sNxU&TDxOZ^sg4Sy{9!NP>%`NkJh^#bCfsnTqUBI2%K7NL-^wPf@2>)NR6-!jscp zr~Wsq3(%9b)?)bya5ss4Nj$|nhh>`SGB0ftaQ~5-QJ0++>r;5vwGwf?!Y!c+Wp&F} zqdK#?&7NhZxq?%58rR0<5EsA@ejxc~+r*VOApX zexk-lWtr)VmQ-dq@zKSE2^5h)SKY}Znq-h9hNknxx_=P8ecC*rp?*v|9jgeTdfHAI zA)ZO+&5{pMRF*cQ%E)7I&ZpwrbWR&vS7b<>M(VFQ89WP-uVwJm7B%aayBT#bQY31C zv)5FvPNYtQf#O%8)a94>DM)56+5T=Yc;Y}QWbBK;0sCY?SD(?0h%GfEmIot<7jk%Z z0q?J!l!f)`w1rCmX$IvY9|ogpi!MO&v&>?1UA`Jd$g%Z!uKr3A@72Qy+9kfP$Lkt~ zM_2-JVUcdwnR|AFfFW=+EIW_;_=m9U+@8sMxF;wua%7e_H(~EX%v{a0M6(?36o)eT zf=hI}(Zl-MC0BD|y`Vc{F_^!ch5Sa^ek|a90pU~Wh~+d)fQZTA{i$B3HXrrw%HsWi zS#Et!22YmFv)xP1l7W&;m6Mss%jWfAeLU2Fw-t|MLniGLOS1V6z1cRXL-tC6i! zL;eo3SsU@3Ou~(P#K_=Bdv5s3jrtN-HsWapX>tk0B0|xwtpbYvM*IPoDNi@z`vGrX z4$pyI5(u{xpJ(%QacyHh&9I{x7SUYYA}W4q%!78`aI+zL0JBMxV6$%%N1O1{6iHBA z$Wxwa)<$PKl+GZaLwg%pZ*R)eBHH;d6O~ONFt>^7ro0>4X=x_gxuqE=`>eHj%{sB_ z)B&|?4rbq1^-OcfS!Ej_pKbw0KO^e31i0Pe(w4lDD}p#xqg!(9CSxh;vtU$ebLWbC z^0>yA&#ihb50_E%C3CCZZO6Z2I8{}(xC7UegcIZ5M9HN3 z+l`YI@T$)IW7IaR2TycQ8XwLtdTO$#jch;m;vWUG&5g|VM3?hrTNRn@hpy+#wlOkW zr|##=wkI;%%pSF5+i)>Y$zJ#%HG!BFEq3E|DpW3LO*hT%%#*_eh-g{Dq=$k8m>MEj zj`;CX2;LCEBJiX0b2;#0a=Ke zgb_?l+8%_0?%ZO+WvpOM%B*+rreFt8xm|bBg|rm-kwVQ0X(=6gV`g6?%6jwZNpg`+%U05mNa_)D&O0F7 zSMhAmxJR*0PBYfYRUNP5_i$aSv1p&dw?o%z;6j|km!km{a3|I(pmag2afP%RJ&LrN zBUcBt8jH3VN)c%_DcA6a82hT~>1+8tW~edA*YlqKg-4(#=!;cSV}hZe8nZE|Mg-NE zouLRrjoBZHFw~e6p@?X$#ZYR-Qx#GXpw+Ri#z^fWq&7r{A{NqEa?7+R6~Pw@$(**R z<#;GfmP>^KSV`4?NwbfN_E!2SNQvia60S%{=O#yiJ~ufEkMk!N=q(E6mTicMtQlL4 zk*b!VQpDfLyL5d6?#Xmefg~=6XCn4N5Fz)i9MSt$rt&OBGc`8N-K`ax;M5>p4Vs%4 z?iP>TNV8{E(oN88`J&w-a5Ki*8L{SO-n0b<8DJ~q5{P9C`8Arz2iD{>K_|&_8-9%l z*fTxw1&J-jBzH!%)L)nDuiNz3Wc~FVUiEZ1jv$=WNH}SL^WS2=5v!QR{du`@BdMY- z7R&qdB++UB?}?-b21F#CqNEJrF5x|l%TN_<6BjG`^F%SCMCM;t!W)Isj>)uiD$w42 zg3GH?;X#U3S?_@ymy?Qh`YUG;zn{-oCKe6iMfCp4c&C)=;j4}Jv{GJ5=_g8g8+tb_ z)88e=`>`_qg`d1SAYr9H6vu9;`W%)Uk>LY1!r#^ie^(>CpTcj`IyuM%6^J1=fVOy# z4jaqpw@s1}63L4NYl8}wg*DBqyEn*`HNtf(dViOgd@KJXdfy5I;=TRI1@}{lrZ)9k zgie36!EitQ_Y?int@YoB`&Yr{oTsHx&P7KvE;%2I)I0da;Kq_Wcs^d@4&KVM{R?zLx>k)BEO)!^;Ej-S<_=D7N!>^A zwso-RNBJTN1k>UH^6#5Dg69E~w?^=ed>j{iB)^t@Ci;%#{gcmPsSB$DRY{Ym#=4qJ z6`FchY#+%J^;DSe^i;?Xr1qxNGb8yD$4aJc!ucd@x~?3>*Rv z8Vk&AsaiEAOk}LS6Ur$Z4)4U`ZMQJr#cyYyh!J=3F6>+J%3Zt_(hl4OGJ--~?#5d6 zV{zNv{4vB@?%~b+H9G?5X}GrkOOQg!@5&!Ro2J@{<3t@)ziPrTxi)7o z?yqmsj=68kQnE=j9&?hr7*{{UiL4xc!kGyo3Z*BOP=YrvsRxgS+o>-u{X{x)O z2|=<1%|UNc<&$7jsc<99LKndX6m5^J8Ua*?ig4sn$7&84IEkUQgE#fm8Qh3kqfitQ zv``eza^XtDENa48oeY!%qHo$gG*#nd~rx8P;VohDnlBJB8j7 z*2Pq4S_58!ABbrc-d#-oLemn8Fcp~Q(YqQ;CR2OR5t!tl-U8E`6#WkD$!2OIQP_ud z)EYW;2R~eU7T3_}X{eiHIwh@LK`qK&c+b*ePf}7n%Tj54%>X$VDP+s3PbU#^{5f!p zqpB*Ix&f_3pP@POV=4m&0W-ZCGM2L*S!Sv!NEFm)Muk+7W;g)m05kLooGVR)8CI?& zp8S`2;^p2xs0AEt5ctN**MDjPv})nVGy|gp#1aTgwj#Rk2dDX93rA}(m}O^D?;J)R z&4DP;R(;0CI|C75UcspKImoR7gIaJ%jKBd-BZLF`pKEg_M&m%?+Hs(XQ0I`T$PVEsiL3UV5NU{4lHNo#F_0$||%ivQH>nJ3Wqt=&=NOH0q}4J{kTe zUE+`I6KFm`zSvm<1q#=W!hsM9n+OGG2nA~Ttwxs&$vjV&_-pBt3v|h-NH{@yqn_Hj z_Am8_{{q7VE3Y6qPM~S(zKiz2aqR%9Kli2KdMLk=Z@6K9`S}zsGJmy z0)=Zw0p=$Ig-OU$W03SUdgMl(lK#ImN-oeNgLF7Ln7`j6emh-t`X_@VG)6pOax9M^ z2Z?xyK#HoJA~+doP-HPtgru)AO#FuI>K)Z97w#0;34(mFg|K+cK{Sxklfuy`K*mYw zxhaIgMnZumG(y4u4908@zeJZ@Bq?-Ry4?cT(d?eUimA{!vBHDZ^<9~_b9YZH#4<{C zGhoYg8$o*(ErTJiyC+W1(1E5-9pGMDG(cmb_!IuC6K?9MhtSkH;UPfb=%xlI3hdt) zGMeUzuuLM{a_PK!gh<3sbw$rpk=!32uDueVB5S8`?X}~agkJk%sy#?&oy<8{C`8uI zP5y}5v6&FA-D5Er^P2w|g9rKhvPdw=gau8mIsWsBu3(n%WP+<>O}fDfb0&V$!oV*- z5^#J7@cG~da~N>_IIR^g2Vk>EICcIMPB2FpKin`J8W)?WyPnXQg}w`bj=pM%T2lDR z{YGcKM4d%z5Pe)y^**v0;GLbx+_6}e(`rvH#w+lPZ&bP_*PA&!9VEhGxAW5hE)@}LuLwN+K}7xp52?=4+V9oc@K6mr;{P@t(0^zcb4df@ z7?Py5&?6{D<&v84*g$yDSusP9OM1x7WKh8!g-3)$t$%q)qUr(=^`Em;#sU#iceA3G zGogfBGOmGb*z7Y&tqW&DiP~n=W1%z8I_34{|DUW9B`k~recPF2l7DqQeP+DfTl{<6nvhlxcqF4Wi)ix z3U-^AeGfcTc8N9jaGcT?zuto#*a>35{hU0(7o34=Y!Mar^XthGJ#a6V9@u|W@DDsR zAHmM2bCo!AAD7HpwL*OS5Wf%klZM~o4|3WMwNFWAB4Lp#K_4!D|sPZb8#mKI7#34tbh=vjZg8? zV=5|=*=*4ikBJsgBPgb6;Cp8)WaQvrN@5V*0a3gAu&Ja5{$z@hd#wHE+< z@HFh{y(M-`gDl-Bj!%Qxd7}W*sbcj^{!LZlbbc#C4gMLZVL$xPCHlrTC2Ei-H^i$m zYOTSltwIey&X6_qgSP`fuju4R5YuOJw^2|(N*ijOO@~#86keH#0Kb^s@9M4e2(|6f?r4P>c@Zz z-r5uVE|!J~UJif!o}IMGNJ$R!4V}#Ya4v{-QnY^(CyY*t*-yg9<)k>Ohk8B5>EQ6Q zPszx$Phm&%q)2^QM&6~rK73jl5`TM|w@Ws}n2${TQpBZ`n1XTqvUxnuJ+Fdx{VoAn zrZ6#i9&dncxn=WsJCJeN0zODwF`wT7(_Zy_o|dsr=IxEV5O0^^wJKD2Dif#X%RRkt zVcIjj<9VLsIuXkDv$$eGjVgk<5-P_AG5Hx7k;ZG%nhD%HkQRl~M{=id-zsy0drhds zG>q*<*sk9O8Al3-9abt)v4AIw9U z23!FLgiM!9T=hHzp;g6)m zWiN+wZIb)=L~%8JAV@!XQVkUW3VtpMFque-)ehXT;!Fab{L`zkpHCxWNSqYS2+ceu|e~ zscN1q;{nuf2LfU%3`5%Qbp~*GtqVy-Bjd8M4Ay?f6!4;~V@H?+?U?n0$@=^{UU! zkAW@oUsKJe#C#|7gTIer;RnQyRM(0aQpar*4K_%`rf=Zibkz|9EL;K?+G?8toQxe; zLQk6n_u}wb!AOj)+VO2-@J2oz9!kG%l{i6`ITseCOL z{zJS$re4K%tK!(gpW!>Y`aNx*~&X$H2b%5THsc1<$D2a{x-<_H^l4P^zH{1R4#{C zD_QW3aB0goi{sn)ND#m51O7e=wA#*}h^M7nO}dDE+j$=}uV@F)=u0~&@Eqzv)*Nk; z+(@A=J{{b1(Kk{i!CbXHxZQ$)o;Q?>md)dFB?zKv=Y(>Kmv-=$vA7a15jqKkCoSz6 zrjH+XU~=9qdVI*U@q?IBkC>}u;U^)Q`S74SHT)k+m$>C0@)RqMY$f6%j1NBKZ=ma^ ze}ox*t$5)h%#^#UwtvLSID0`9?!pdZrMPVuzXWHDSM7o<*;4hzF8(Mbj{J=G!fX9! zSl3mGy`N!><5co)bjX&fe!KZi48f|;A!{nd@1OHa(qG`bGZ416#6b}!P_}A5cm->) z7^{_{cn_F+i#WOmB58}L^9AbNA};;{lhKx{v0v~{u#yq|_VOZh_N=}9N~e@PM37`L zb{h8WJMYK5>)Xduy>Fbx)mCOzE@!JvV$6QIoE@|e4cjOl-p6rAoJju~Yx9TARZG6+ z!x^G8_Va7(Z&5+J`j)tNe|V|4Y`iO_%d7{&IyoUpH#!rs~5Pal2zK|`gYJGse%Rutqzvp-2b;m)TWL`#h zl1x3wn>v=+yPEKa0aJaD&$dsNI;PJQ=)Wz=0rVgtaJPdPbBH%g(?{q$vmBw(cRYwU z4q?l4qv&^7it7o7c~f0nFM+t0Ud*T(6*ze zV3))%M5s%vP95W~U_~mH9_KHko&i5$S9^jO`xCFj7rrNE|HN;mscO^DJYO_9!CyC| zI-2ey;VFJTQ7c|PZS{Mi$TB9*f_LcYo&J0lj6v0HL+wvtOWj?4Es+uLad# zJIPb+Yvmej4ii_+v!~R@&J$MaI#DZZwTiu}lvDg_&Q4X`{u}?EIppma8Mq{)s`xZ- zffMix#q=`}L8pXz7A~lj;@z|SNw($DQe_OQd}Y5fj`50xVlY<@v#&)TMY$#s2b|3C zJi{YidXOma<-#GLYDMY9)~_}zk2ChEc*3F_0-YvWm1{BHzOX8->-*^%D&v-rJ#+#` zUTHGr5ggiRsvVX`a;jR}ltjj!6}{|AYR0TB5Q4do7SGCMG(5oIlTZGs7VY#*G1jg$ zw;+r9kyvS0$UXT}yQ0ww-=WZjQN0~X$>sQs8JG*3n^-2U(FDG}coOdxUvk%q*~yp6 zQ=%$@2^4%^t_SGXa_fYHc34iN&s(B;T%2_%joCM%u~WgeuPAjYcOvw;Q^`k2bty@x zHOHk)!~v$|F6ELmocW^5Ip`4&CnWQza$IX`#~b3Xj$6r2C4q)3vHGbfhHM%_589galc$7vda9}V|=i~V)<{cLHU>NFAlJsQSpVgBi zTo|76C^`94sPtD5?xd`;=cg!R))+5vb-8T)y#8j-8CHudSPrkAo*@kET0MnViO z1K0{sMK!`0H0`~>YK^$rt6a`jiX~oU6`%UFD2Y*8B5_s>x@M!O(qDUGl-3BTs#4z} z0YRF^N;rUved4%_sOSJyDWvz~s?rxq;7_WOtzdnh9IxzQ4wwm?_p8dOzWD+8*(nxc?H$e|SFcD(wf0{&;>u#D#-JZ4V2EH=mS66l104-EQ$EOW1R(75aDd7 zTqkd;vidCgFGok-RCRAd^xazVXhWp}lS5)7Wvf-LgVu=5uC}_umZNm=U^;>&lXiU? zEAzyT7cB_@yM4DgMfh_RGA2yT0Xg@J^*Kt%j25OMJ_Px(bwVdo)St-GORf&&UL%ql zD_Qj(#4uh+>xxq+X`M5PKA|s;r}u%A8$`dx7{A-9o@lHTF}7UnY@!shnZn&vNdcw} zn<^6^17B*YJPu{oO;@t5&rG6=QO|c1(N5H&juRuADNR@l@nkb4xlRjHX0k7qCaa4o z>Dd{QeG?KewN>qFu2j+#cUMcL3p0yXTPhhCYoD}~L+-bh${?^{ajvpm!9kncd?lx4 z<=22O{VC~8jtog(OD_zVaLrs8mAvq4F)<&4VrA93d}Ri4?d1iir~N9*C0!rsfW*d7 z2*2T_?F>O6=MWi^6<9Gjd(<^mn+uh$G$(o6D!p-kR&iS;tJ(e#1pID=`Z;-f;x;t1 z8yC2M%7!PsdIrltxEsFIR;e$ow=jC*WDW!!iJrY}F{};>PdlY4AOE#z*G{RBw-w@& z%D~<+j==Jy_}T3hvuo}%*g|-e<5n1#7%*IEDK2WS#5ej9x8spHU!L#69dA86b}XQ5 zu-==r#ZOm59L+_sx5d5fm4@s~F|WN+&lMTJxxKQKs=Kd)a(gmv$+O`uL#((G3OKHc z!w0O6xWV#l2c<3aL91wYk&{DyGY5PJWDQ8x;p_1H_v9q zxIOX)N1=97Y`ASKxs%ea$&0vdl02Af8hxScOq&N@i*bZK4hz%aF{|9ZoFX3Rq%>$! z70ORvs2TZTp{hgq>G)Sf{`Wg6zIvNveq7+G(U;~$et5`Gv&hD}PB=Sb{RKpubykvt z=pPlAbygOo5Zd~^dbpV65=jBlZIRijfv;zaHk#6>z#stbdeqy9QL&Y%;HB#y^(f$1 zlZs-4ro@}622p*~Tt6^9*&{yhuQV0Cx?4L2-cNRk2f8S3y%S{dxTsDL^SUVU7V09G zxU8F!Dn9C>%#AmGyBJfgK@;~ zU6t%8PH56ismq=eJ-aEDi4tn2JAAbthMYP{{M1dkSvY$uKhoh_@HeItdG#JnF1fB! zE@OX)zE@!w{~_+W3ZniG@xfI}0oy99|52K{CX;kKf$5Exiyi+_lEks=6q~sIKgvix zSrH%nM;XqK&d0?{N^7!)RyJ;UK)A2TDUtDmC;I(~}rtpaz+eb+N8dy$c0jafpl#*EKX0LRH<{4~2^Xp`4 z@9UHY0J&=0b;^9^s{kgt-?Uj9i&MKbgJOC=Cg#%mb5HVd9mV3Q{N|0 zo3Qei$?9W9y#_Ryq(10?5I@!x%Q$tpQL|=JKeVgsC^r`076jMRH>R6;eyUh^7N3Jp zZ4Q)JY!0bsQ8b5BR1Tkqt9Gea^;nD^i~5m)1ldV(tF30yz0nBD99yBXi9lmg+ez;O z5?5fXadiX1r%x3}U-dLi^_OSS&wCkr{*<4ZN~k%>OAx4IT+mRNF|+iUF6LfY_-5v%wKuQLC+)m>9G@*77W`?!m*goe0DP z1CWB_NzzSvh+Jj16PsaazlGkX01@Y<@##|`ukY(tS;P-eh=%J>NYn}xL;x~P-dQ09 z9m2p#mHSkrHW*SA(ImDNlCXcjzhR*vsr0vpkR-uEB7xEPn$7m9dXuy@;pPKt+5F`) zN;Y50r@z%+e`JG0BR4dq&>UAq;XO+m_v3rG|Lx~?S4DJ59Ym{8gw z2hBCn5NS5K5NCx2dW<2^;UjJiN%;(Y1%Z{kKAbVZVfpcdTtlqU4O>_%knU(?!6|tx z2{N(Mrop74PsTb7HPlj>Lel~=;YyZZI}p-WD>4EqC-@ob6^k_M;`mi+upitC7GmalR5nkp4SChoj|W@N+$tz+?Q% zXc6-@R;*ZK!n zP}}mj9a7t}!=;h=ytpp^vzwsY&k%7p!}bCA9d1_MB?Tj_?C_$*LTJZQU*B|Bq(n9Ke4DT zZzQT)G8^gUF6#HW3#4u?ZW<1y{|(Z^$feqfC3(4eKr9^&lvd3{#~I4_zTwKV)Vj%c zC?kjj_K?yYK>`7#yJ1z^5sHV=_4O`j(;o67!~HnrFmd-CsoY2~R*zJ=();(3u>5^4 ze4~^Oal1Ac3U-bOc7Pnyt_@=7C?y^JH)WKPQM6ko<3}Yl`qErdKb9II;k%AyxjdYH z;M=OHQJo_8j#3utT?QgqHK@pu_|Cl(+SXjL=}xfEI%=&;Jt~gesa(|VT?&~=Io4Yt z>w<|PqI6J4g@r+iZ}TzQTf>9)*1F%1J~}1J?}zF3lvs1W zq9s4<#2jtvRGEb-4I)jO1mWyer#MCI14?|ohn=)77oX*+%!<>~_rkUcdk22}jxu$7 zKxqL;BOg#Y$4zloX2INk0Fw}s>!=Sq#oG_S@VZR292p$LF|>Pjeey8 zneq-+P>w3+SeSZ3L4n}4V&a3!B$)TqadPLN%{ZlN{EK8SMsx6#6Cw_*Z52}~!)~!+ z94Hh?%@k2EUP-Toqyxue6t5K%$16Rs*|crE61+_U^G6OJPR;{PZ7qDX_(RGw@du?> z$wb|&q%(Gp$un)uL$wsLX&X`K@I%VR)URYA!y&A*?hhtiQEs*+;dh!L*Os=be* zrzR+S;=hnZ#|P`ffh^Q_U}7!xnYA4#ls-v$DgMpcko;m&Ero2_$0!s#Sy>RjR~DKT ztO>R>)U;`G%|cMp)__!MPP{C{PkXc~$ar`A%)s*OFpL3}k8)H_gHn?9IUvk=xx zaoR)_g3W&{{1V6n682Idlb>;8$N%={j5uzuQl=}*7~gb6teTaV5MFjCS zj*PTZXx6rhZL^h&@()nS&*AWasJ~S*FIoxqpYTw55T6IrTG|F)&7 zqrgTCiSik9lqUa&z4w5xs_52-v)k;G%AtgW)RWLc4@E#g$PPuMgNP`KpkhI33O3XP zDN>cb=mhCKDsUo%jsntx(gf5XsGtZzk)Q$MDu2A3-6bOy(gxlpjS9g_)teDl}3Jv5C{a;SL?C$fj2mjdx-;J$F&@=H65Sf%aM|-c5?3yGh zaF`cvL*&2vW!gFyLYsYbVy^aZWFAWDHX(w;x=>KCvcB}=PXo-9N8hHJ@NqF(f%ah!t$sNSMw+%N z5YMo08G)2NLkp$DX<9pm^8G<|a~+6leHxGM?(2MwpN)$;0LJDF=I*>+NXjlB2N8m$g= zRA#Qx`XKU!`*ynan~IvheW)cqllCPjM=54vv0TBGjt^LH1?3)}tHLG!>`Dbh55!ps zJVuk&Y4IgbGf&5)DW}!@I)9~I>u})0>(#paU9~$OoW1zq46!cU+)mN!A+y{~+1nsA zsG6Zwq7&=2CFN}$2-y_my>@HY&}xEOJq{vuPq?^8 ztT<&@xp+jpTkFNz{UhAkR94_Bm!W;*aThhlKAgHkHIxsh5+7+Xk#<`R`C&=6)@a_% z?W|6E+@QISzz0{~kFmVlc#wb59P+?nGOUxIkbT~ z2d~1qsxy$X*x%yVUiNc2D?v?D_{pKxNLT_?-K4QzBD^-$q0O5hH$YT^Ozi>3EUE1e zZK2Fe5JtP`bS7w(UDG#f_bRVY>&@Di&FoR!makF?=?$M%*#CTV{5_d=|Gj4!Ud4Hq zp4I ze()10{?T@=q6*|Ld%Jd2suRJLuM|XhHT)ZTNPw&z#Wd)!X39=HNZodVg_Et?Jt^Fl zN1?wVh&BGq{dN`87M!7-r#ZW{R|-0J>0_;2V!?-l6$yw+{%%Z47wAb!tN@>vbt_k% zrv{(M7hL^`cA}~M1+x9HOk`NX{4an83I_g;F_z1j9p*IBrZzhro1l~|) z^AUI(5O@bcedFf?TBm5dM@g3ozXgEfg1}h7N2JfIJa$lf8V}xmP>RIE55c+Lxo@c9 zAxN2dB6}s@k00_#zF`*(xf93)Sk2S4L(pgVfOa3!ss)Vj3g2f?-XUyBYbY)YyXG3Q z<{Obv6Sig=)oD(a)}l14YL15lBN^(-i&%a)aS#2Rr8R=eX5tc~BCB}B&N4Vc$Q!ea zZ>46K^g_hKsjW0{wjuR>fro%o!rvU#-iOlm(Dnt!NNgLuKG(iw9WRgxdcH>@a?LfO zTd)8kPH7mm1+5b;ks0{-t7tv#ac0K4Cicv)awF7>w&OzYg>^*F=*whW7-3(j&s*>O?n9$;7ONz(zD04 zd-&x6B_@C)+CJH+AU*9sr`0wrDXjhnY7N_r*9#7g9tau7e}`@KPS-pC_-183((Y`x zsBe^CDD(?WM$9}DpeF>v>4kL>hyj!xX!{phGRE`yAGKJ2&iBLiu$ii#)Osk#-J?%p z_hYKh!9)Qpbz~?!MkLehIFetT(rRNXcRNqBeco9XUZhHfGXq+D$0_McEuyA3CL>@> zv|l*(CCY=6>@H7B-f%(GlnjAB&W>wZIDPb`)&id;HdnhzH@?y)Fu|cQK%rW|vI*z3D&DQQOgAjh2x8G>mj;Qzg?^?N%9*I8Q$j=3W2`Iyo-?bO%`WfwQ zrmBE9CIzl4iZlN3jTY-%RTy~siprhEI`jpenxDmfai030)e;NkFFy?8Trg{$&Y|(nd+f ze>tKfAWDh7ILFbC-)ZGz_sQ~1_V6zcC?)Yj9{EhF@xA6^qRs9SDCc(>R1$!gdVdee z{dgMjz1G|@!izf{`d%wn55-N^f>h#6Eao7Fis3mH&G8uf0|k{pRAI=8qRwmk|0OP2 z_JVe}$_7yE9wiAs*1zy=y)cjnoah{XJk0MJqF`#@MUR!%gYEfUS=mlge}vk^araL@ zg8Jm*&Yv_H*7Qn{URzmC5C5c{>OPWTlk?CtRAsQkssjqda4odw&>l;*PndGnj@e2yA{tLfg8{JGLukz?n->cdc-@%cK ze5OKJIC`D`gK zwGU<~9e(wV2Nmiv+D68!!O#ccFunrpsA)NXTf)&SPg{nP7SV#{I7yPybe%Tb&>n@V zOPM@vKPb&Jc^dncPP~bIZx?mGsr{lXqL#Pt7P*vl3uk361>V+P=Rmr*K~L?Prs#-~ zKCO!$uk2bsL=RTsLTtFIPe*cjz8=lT&fS_GsVtiQm>xxgG`(v#P+bCNx%4vuT@p~N z&MDZ_;9~;XDM*sy43>Fl;8?k<@>V_jRw8bJ>(W8g#GB5=jyP80x~;eZ;PwA-iA{H3x!vs zI#Q(`KViZph3bLSCRiWf9Kj3oM8U$OlcBor@$$cB5xz`sl+s_xACUdU>_?sfnO0hV z1OxJOY5lu@H6S=Wusucbc#L(9`ad%iU~t}z(CYyt-xZ-(1-W@SLT{;jM0Z8%BSN;Q zn4>P~PXVe`v^!GY$K2_ZD1B!Z~X(O6kmXlbEa=5kn&%TT9n@^jXuSE|H?WT)kAuho!U7JpHeZHuT@ zoE{3gy=9y(t%SmHJc6{s5dwewCuwAy-Wh#49;a8p4v&?}j<0+L871O%_L~j=-O@-X z9F{4M#p5-W(x`ZyEj!ZV^=Dyo9Z?>tv`|?uud`Nquk!j}BU@VdtM!!EnWwrm)Y4Qwx6>@qh?m7HF2v~VG^l-{hWZ-ff+-PQD|YAqgB!S)RP z?A#ZemK}xy`yIsiT>wHc7o_KqIqXq=2YpamZxJ>eCj$=q zcTF2oPz6MBi}*xthr%C`<)jSZtxY&MR z8u$q|xW2j$zpe9QXjdJ*wm6Mqu=u!9N3R}0teuwwV&N3kuB+D$yU6$CEY1D}U5&G3 z#&LSJuHGU(ujoyg!A5}+wsC2FX;@u7oO0{x@nPe~6=_Lk9EaYw-ZpGb(VH^kI8CmH zF+N6R?$T!kuR@vn>MHK}q64()E}b1umaMP0@$Gb<`q<5gcGTB5`dJKq5HMAi<%Pv~hP=BPHv=#$S2o1YelEKJV(FVpllKq@8 z4ZB-!k}`@ZP0s*H+x=}kC@#;S;JqzRM*cu}Gwhf3DPg~$%z!zU?Q5o}VFEviVWYs0 zOKAQnW!@AHRxzDOTR&1`DDQ5)FS`A7BW!6Bb_%Bzjr5YXc~>6HP%60W;C6To1Zv~3 zc}E+8#JoagWBnil361r|7^>Hs;C#J7zcs<6B6pj6^bZu+xY5m~dUFht)l9z!NlG)l zb`gJ}o15W0&82Uf>Fh%n<;qd(BQ1Y%A8(S7m-^N4 zduu0MO4fU-!*|mB7J4M7nJx74^iFfV6JKOEw=-`x*E@oYYTv@n_9Jfa=3n@A<^j`e|ZyTKIt@VkVPH&C*d5JPw>-%8;GU7h{b)Keb8~uHJu61oNTi4T> zHu@el*FkU8RKhskbChqqXVy3dbp~fqIN6-oMbEWGi|~oxPG5k!%i8H3YT6cgi0M)l za9WtO+R_m-1DAd<+2v4wV0ZX3NS<*O+Us%NSl;W#U?s1lF75S-l?&~sJe%*xaPo%c zp4VP?a=iPs9pn_r>YzX9ZEly{T)mDsTXLyKM=s!gy(11I5BZW1$lz>V0SOa91F}Tf zk`Sou;yn#}+crf_0x|=VCf1(|-D+^+3omt=GQ`mc!R0nu4k$SE#NN@TWq#xyXbHG;0N4zaa>j}d~&(Ba)UGO*I&UqlHJs;2~D@}dD0_@R}%Yr;CPAWV}T_}K3Sj!AyNZ!`VecJdz%?I^NA4)zX%|po# zD4kElyFjFahIcrp(CReIz(r8_(IbM3r_I|c*);JX{W40WJ}l|+z#c{DaW3-MTzwC% zeL^2W4?U_Mvx)Jk|3m$7qaP0|b{~3BpFUV!6ThO&K6(Q+=S%mmeRTLi+3#-ujNXvb zQGIdtcPkLTFko451uDbm3K2|vt~hMbACL&@M zll>&2bi1EE3T9%X`eXn8f!^=0w?^`Ne-!zFA_wRXHh{sffae1yJ9*>WF`0Gp$Fjy` zX}(T&m0?O0WwHvDq2&YgN8#+)9Eg+f5*BRj_`L{t}Li>M!UIJES=sNH97yP;W*DUcf{kfnb>l-;>w6zZkB%3!^!il|4m-_+NNn+(5| zq5*H}5z|xjyXHvN$xp6bo8@d=4s3nFS2RH;e9m zMR&1;QG+lT2<-_sf+4)7B%YhK&Cg1(a%Kam;E+0~B!%SMjw~(P0kmW{okt=}Skv1#W}v4WNUEm!36GyQ;ecMK?F=)5GKRD97|;psxhh&YR=p+L=F2uAN=u^dV|C zzE+(z-vP6@iw3`=KjE0@?atTl=q&7mS!ifbiDW3JN_r7wqU&8f1FQOrclD#-oz_m& zA4FnK(ktI}MLO!n#tvq)jH}cXHi4I?tj6>3Ur}WBzoUJe%kdc=l){?-bi20%Qp5Iyb@G1X$6M)@?ud-NU>Ia+P$RqnpS^caJ(J zwn5*!Lsnq&&ZV>!dW_=~+gdX6|H%ry1wek*M=7vc^#i%(v0L?3RPkvHU1kGJ>b+7Q z&uXOw8pytdJenrJy?t^ia+N-)7K;yH=Bok-P+mkLp!Ed03%IPB#DWH>udtH4w7689 zb7|8my>{t5?zOKfOF-cCSG7=Wt`SGks{pIkU9Be+lKvpjBBVdhuf|e(j}EWXD+Y}| z#g^QyLFvIyjmOVdXE)~0G54eE_1=m)@f2;_fPD}#Qa;ivXgFR;x+L4?Td}$uB@U8Z zkx=m|y5iPcQ={_FNMx6HP=bDW;JEUa^L@#Vj5Xdgj zYNAreCLO-X+}~`{pVG`3gcUkLrH)(m{^|^JZ{4crDA2l2->ydsdGio`zFn_j7u=@O zfF(+Gs=GrEcTPk!ZLgW8%bGaD-D3wPYuIN9xx--wSo&lC!=4V!yxBVee`Z~BhwcKI z73|T-o0^9^d{pcF)qFb>jKC$LO03|&9x@FpNAyj;efzd)U&*(%-vTvo8%^MN9Pp{$ z1d!pXPxX2=cCtKR5Cf7>L)XxE`{{pBGkBlgxSY32TgeF74dc0>4|?y@>$YdK4tyH| zJjjC(?5Z}inOvXdGJRR7=`@~p&apM&^xsLynxOJIk$<%qH7p9c>laSjtBY1 z&f9_x9?;9$-H5(V|CcpENM6iAUlV-#$_CMB57U5$7@r28rR_nz*3*RsnCEW(lH(Or zWNz45#Sd`)`1%z$zI5gw0QMD>d(bw>eys1ZC+ZnOc6off-5zUN=JNzAXJ2xH0)4OMeVbK1vq&i?hnl*VzCEqK>mg-gBq;;K_&kru zZ|;wfn&!~gKZ2thF*pA-Cf8SbIVHzk>syHbxbCo@^m<|M!*2#Q9;p`WfPXj7C2hY7 zd!}8YS3EqaYTTq){MJ@_l>j2mP@^WCxBpkR9*;psy}EkQY7L*1iLo z#RKE9Yx;k0AbsEdj|Z}@``~pTwaRDiwm0oYL>GjD?;mh$m%x_w(O87&*ZeDO+7SYJSv{oj581^eySVwOUd9ya8D!M z9d3g_X(yF3Akzc?-NZ1qU_ZHG7!f990cff_4I64i#<3C*gGEp%E8g8Cbr(i|Fw}_^ z&9X?o5=LA+TVR2RF0jDDHBd2FWf^fy%{j+XoN2Ux+~X>3U z^6SVUVnGb_e~Y}K!%EGiaEGy9IpzM=VN7Ecg`ojPRqR(w0*pQCXq^TI8Wl=2E+*T- zUzp&GhW{^G8faYYH6IEZtdRsF0)}23k{k?uu!s9s*!IGECy4Ka(HA=D`%4Rz3G)|yaVxm#k{bfl5Cqyn?DP^#Z zM*sVa3K$if1QGOXX`|j>d6XNEQskEYj~+9*oI#~7N?hFIP>U^_r&HqyV-}9CV-ZI6 z2pmP0UmSEoKtj*M3Ne540XBwIaZVr|{!%U0 z@7_UB`SFX>EqTLWRUcTAH1cz@@vogvQ=^Th%5?fX+L)kBclVAlaBQJZa60o&;X~L~ z*pY~aPCHyigTD`JJWR{tjCMBQKb^+KV>6Hd$Lloj3%vxsFV5&

!n9w1OeLLV)0k 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 L`taT7#0mcg60Fh{ delta 164612 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

^?*TW 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

%(4qnDq`ors2Pe7ETGj9I|t*4W#{M`n5)8Y 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 rzU+lV@cf%SR=4CzRQwe6td#Pwg - - + + diff --git a/egui_web/Cargo.toml b/egui_web/Cargo.toml index 64bccb99..08785b0e 100644 --- a/egui_web/Cargo.toml +++ b/egui_web/Cargo.toml @@ -22,17 +22,22 @@ features = [ 'console', 'CssStyleDeclaration', 'Document', + 'DomRect', 'Element', 'HtmlCanvasElement', 'HtmlElement', 'Location', 'Performance', 'Storage', + 'Touch', + 'TouchEvent', + 'TouchList', 'WebGlBuffer', 'WebGlProgram', 'WebGlRenderingContext', 'WebGlShader', 'WebGlTexture', 'WebGlUniformLocation', + 'WheelEvent', 'Window', ] diff --git a/egui_web/src/lib.rs b/egui_web/src/lib.rs index 3f183dc7..9c7bfb62 100644 --- a/egui_web/src/lib.rs +++ b/egui_web/src/lib.rs @@ -8,18 +8,18 @@ pub mod webgl; use std::sync::Arc; use wasm_bindgen::JsValue; -pub struct State { +pub struct EguiWeb { ctx: Arc, webgl_painter: webgl::Painter, frame_times: egui::MovementTracker, frame_start: Option, } -impl State { - pub fn new(canvas_id: &str) -> Result { +impl EguiWeb { + pub fn new(canvas_id: &str) -> Result { let ctx = egui::Context::new(); load_memory(&ctx); - Ok(State { + Ok(EguiWeb { ctx, webgl_painter: webgl::Painter::new(canvas_id)?, frame_times: egui::MovementTracker::new(1000, 1.0), @@ -27,6 +27,11 @@ impl State { }) } + /// id of the canvas html element containing the rendering + pub fn canvas_id(&self) -> &str { + self.webgl_painter.canvas_id() + } + pub fn begin_frame(&mut self, raw_input: egui::RawInput) -> egui::Ui { self.frame_start = Some(now_sec()); self.ctx.begin_frame(raw_input) @@ -109,12 +114,37 @@ pub fn pixels_per_point() -> f32 { } } -pub fn resize_to_screen_size(canvas_id: &str) -> Option<()> { +pub fn canvas_element(canvas_id: &str) -> Option { use wasm_bindgen::JsCast; let document = web_sys::window()?.document()?; let canvas = document.get_element_by_id(canvas_id)?; - let canvas: web_sys::HtmlCanvasElement = - canvas.dyn_into::().ok()?; + canvas.dyn_into::().ok() +} + +pub fn canvas_element_or_die(canvas_id: &str) -> web_sys::HtmlCanvasElement { + crate::canvas_element(canvas_id) + .unwrap_or_else(|| panic!("Failed to find canvas with id '{}'", canvas_id)) +} + +pub fn pos_from_mouse_event(canvas_id: &str, event: &web_sys::MouseEvent) -> egui::Pos2 { + let canvas = canvas_element(canvas_id).unwrap(); + let rect = canvas.get_bounding_client_rect(); + egui::Pos2 { + x: event.client_x() as f32 - rect.left() as f32, + y: event.client_y() as f32 - rect.top() as f32, + } +} + +pub fn pos_from_touch_event(event: &web_sys::TouchEvent) -> egui::Pos2 { + let t = event.touches().get(0).unwrap(); + egui::Pos2 { + x: t.page_x() as f32, + y: t.page_y() as f32, + } +} + +pub fn resize_to_screen_size(canvas_id: &str) -> Option<()> { + let canvas = canvas_element(canvas_id)?; let screen_size = screen_size()?; let pixels_per_point = pixels_per_point(); @@ -218,3 +248,27 @@ pub fn open_url(url: &str) -> Option<()> { pub fn location_hash() -> Option { web_sys::window()?.location().hash().ok() } + +pub fn translate_key(key: &str) -> Option { + match key { + "Alt" => Some(egui::Key::Alt), + "Backspace" => Some(egui::Key::Backspace), + "Control" => Some(egui::Key::Control), + "Delete" => Some(egui::Key::Delete), + "ArrowDown" => Some(egui::Key::Down), + "End" => Some(egui::Key::End), + "Escape" => Some(egui::Key::Escape), + "Home" => Some(egui::Key::Home), + "Help" => Some(egui::Key::Insert), + "ArrowLeft" => Some(egui::Key::Left), + "Meta" => Some(egui::Key::Logo), + "PageDown" => Some(egui::Key::PageDown), + "PageUp" => Some(egui::Key::PageUp), + "Enter" => Some(egui::Key::Return), + "ArrowRight" => Some(egui::Key::Right), + "Shift" => Some(egui::Key::Shift), + "Tab" => Some(egui::Key::Tab), + "ArrowUp" => Some(egui::Key::Up), + _ => None, + } +} diff --git a/egui_web/src/webgl.rs b/egui_web/src/webgl.rs index 0c69b1ee..84c3bb83 100644 --- a/egui_web/src/webgl.rs +++ b/egui_web/src/webgl.rs @@ -13,6 +13,7 @@ use egui::{ type Gl = WebGlRenderingContext; pub struct Painter { + canvas_id: String, canvas: web_sys::HtmlCanvasElement, gl: WebGlRenderingContext, texture: WebGlTexture, @@ -38,9 +39,7 @@ impl Painter { } pub fn new(canvas_id: &str) -> Result { - let document = web_sys::window().unwrap().document().unwrap(); - let canvas = document.get_element_by_id(canvas_id).unwrap(); - let canvas: web_sys::HtmlCanvasElement = canvas.dyn_into::()?; + let canvas = crate::canvas_element_or_die(canvas_id); let gl = canvas .get_context("webgl")? @@ -101,6 +100,7 @@ impl Painter { let color_buffer = gl.create_buffer().ok_or("failed to create color_buffer")?; Ok(Painter { + canvas_id: canvas_id.to_owned(), canvas, gl, texture: gl_texture, @@ -114,6 +114,11 @@ impl Painter { }) } + /// id of the canvas html element containing the rendering + pub fn canvas_id(&self) -> &str { + &self.canvas_id + } + fn upload_texture(&mut self, texture: &Texture) { if self.current_texture_id == Some(texture.id) { return; // No change diff --git a/example_wasm/Cargo.toml b/example_wasm/Cargo.toml index a81dd12b..bf4c7ba7 100644 --- a/example_wasm/Cargo.toml +++ b/example_wasm/Cargo.toml @@ -9,9 +9,34 @@ edition = "2018" crate-type = ["cdylib", "rlib"] [dependencies] +js-sys = "0.3" +parking_lot = "0.11" serde = { version = "1", features = ["derive"] } serde_json = "1" wasm-bindgen = "0.2" egui = { path = "../egui" } egui_web = { path = "../egui_web" } + +[dependencies.web-sys] +version = "0.3" +features = [ + 'console', + 'CssStyleDeclaration', + 'Document', + 'Element', + 'HtmlCanvasElement', + 'HtmlElement', + 'KeyboardEvent', + 'Location', + 'MouseEvent', + 'Performance', + 'Storage', + 'WebGlBuffer', + 'WebGlProgram', + 'WebGlRenderingContext', + 'WebGlShader', + 'WebGlTexture', + 'WebGlUniformLocation', + 'Window', +] diff --git a/example_wasm/src/lib.rs b/example_wasm/src/lib.rs index 2ca2dbf3..81e6280e 100644 --- a/example_wasm/src/lib.rs +++ b/example_wasm/src/lib.rs @@ -5,20 +5,56 @@ use egui::{examples::ExampleApp, label, widgets::Separator, Align, RawInput, Tex use wasm_bindgen::prelude::*; -#[wasm_bindgen] +// ---------------------------------------------------------------------------- + +/// Data gathered between frames. +/// Is translated to `egui::RawInput` at the start of each frame. +#[derive(Default)] +pub struct WebInput { + pub mouse_pos: Option, + pub mouse_down: bool, // TODO: which button + pub is_touch: bool, + pub scroll_delta: Vec2, + pub events: Vec, +} + +impl WebInput { + pub fn new_frame(&mut self) -> egui::RawInput { + egui::RawInput { + mouse_down: self.mouse_down, + mouse_pos: self.mouse_pos, + scroll_delta: std::mem::take(&mut self.scroll_delta), + screen_size: egui_web::screen_size().unwrap(), + pixels_per_point: Some(egui_web::pixels_per_point()), + time: egui_web::now_sec(), + seconds_since_midnight: Some(egui_web::seconds_since_midnight()), + events: std::mem::take(&mut self.events), + } + } +} + +// ---------------------------------------------------------------------------- + pub struct State { - egui_web: egui_web::State, + egui_web: egui_web::EguiWeb, + web_input: WebInput, example_app: ExampleApp, } impl State { fn new(canvas_id: &str) -> Result { Ok(State { - egui_web: egui_web::State::new(canvas_id)?, + egui_web: egui_web::EguiWeb::new(canvas_id)?, + web_input: Default::default(), example_app: Default::default(), }) } + /// id of the canvas html element containing the rendering + pub fn canvas_id(&self) -> &str { + self.egui_web.canvas_id() + } + fn run(&mut self, raw_input: RawInput, web_location_hash: &str) -> Result { let mut ui = self.egui_web.begin_frame(raw_input); self.ui(&mut ui, web_location_hash); @@ -58,22 +94,252 @@ impl State { } } -#[wasm_bindgen] -pub fn new_webgl_gui(canvas_id: &str) -> Result { - State::new(canvas_id) -} +// ---------------------------------------------------------------------------- +use parking_lot::Mutex; +use std::sync::Arc; #[wasm_bindgen] -pub fn resize_to_screen_size(canvas_id: &str) { - egui_web::resize_to_screen_size(canvas_id); -} +#[derive(Clone)] +pub struct StateRef(Arc>); + +/// If true, paint at full framerate always. +/// If false, only paint on input. +/// TODO: if this is turned off we must turn off animations too (which hasn't been implemented yet). +const ANIMATION_FRAME: bool = true; #[wasm_bindgen] -pub fn run_gui(state: &mut State, web_input_json: &str) -> Result<(), JsValue> { - // TODO: nicer interface than JSON - let raw_input: RawInput = serde_json::from_str(web_input_json).unwrap(); +pub fn start(canvas_id: &str) -> Result { + let state = State::new(canvas_id)?; + let state = StateRef(Arc::new(Mutex::new(state))); + + install_canvas_events(&state)?; + install_document_events(&state)?; + paint_and_schedule(state.clone())?; + + Ok(state) +} + +fn paint_and_schedule(state: StateRef) -> Result<(), JsValue> { + paint(&mut state.0.lock())?; + if ANIMATION_FRAME { + request_animation_frame(state)?; + } + Ok(()) +} + +fn request_animation_frame(state: StateRef) -> Result<(), JsValue> { + use wasm_bindgen::JsCast; + let window = web_sys::window().unwrap(); + let closure = Closure::once(move || paint_and_schedule(state)); + window.request_animation_frame(closure.as_ref().unchecked_ref())?; + closure.forget(); // We must forget it, or else the callback is canceled on drop + Ok(()) +} + +fn paint(state: &mut State) -> Result<(), JsValue> { + egui_web::resize_to_screen_size(state.canvas_id()); + let raw_input = state.web_input.new_frame(); let web_location_hash = egui_web::location_hash().unwrap_or_default(); let output = state.run(raw_input, &web_location_hash)?; egui_web::handle_output(&output); Ok(()) } + +fn invalidate(state: &mut State) -> Result<(), JsValue> { + if ANIMATION_FRAME { + Ok(()) // No need to invalidate - we repaint all the time + } else { + paint(state) // TODO: schedule repaint instead? + } +} + +fn install_document_events(state: &StateRef) -> Result<(), JsValue> { + use wasm_bindgen::JsCast; + let document = web_sys::window().unwrap().document().unwrap(); + + { + // keydown + let state = state.clone(); + let closure = Closure::wrap(Box::new(move |event: web_sys::KeyboardEvent| { + let mut state = state.0.lock(); + let key = event.key(); + if let Some(key) = egui_web::translate_key(&key) { + state + .web_input + .events + .push(Event::Key { key, pressed: true }); + } else { + state.web_input.events.push(Event::Text(key)); + } + invalidate(&mut state).unwrap(); + }) as Box); + document.add_event_listener_with_callback("keydown", closure.as_ref().unchecked_ref())?; + closure.forget(); + } + + { + // keyup + let state = state.clone(); + let closure = Closure::wrap(Box::new(move |event: web_sys::KeyboardEvent| { + let mut state = state.0.lock(); + let key = event.key(); + if let Some(key) = egui_web::translate_key(&key) { + state.web_input.events.push(Event::Key { + key, + pressed: false, + }); + invalidate(&mut state).unwrap(); + } + }) as Box); + document.add_event_listener_with_callback("keyup", closure.as_ref().unchecked_ref())?; + closure.forget(); + } + + for event_name in &["load", "pagehide", "pageshow", "resize"] { + let state = state.clone(); + let closure = Closure::wrap(Box::new(move || { + invalidate(&mut state.0.lock()).unwrap(); + }) as Box); + document.add_event_listener_with_callback(event_name, closure.as_ref().unchecked_ref())?; + closure.forget(); + } + + Ok(()) +} + +fn install_canvas_events(state: &StateRef) -> Result<(), JsValue> { + use egui_web::pos_from_mouse_event; + use wasm_bindgen::JsCast; + let canvas = egui_web::canvas_element(state.0.lock().canvas_id()).unwrap(); + + { + let event_name = "mousedown"; + let state = state.clone(); + let closure = Closure::wrap(Box::new(move |event: web_sys::MouseEvent| { + let mut state = state.0.lock(); + if !state.web_input.is_touch { + state.web_input.mouse_pos = Some(pos_from_mouse_event(state.canvas_id(), &event)); + state.web_input.mouse_down = true; + invalidate(&mut state).unwrap(); + event.stop_propagation(); + event.prevent_default(); + } + }) as Box); + canvas.add_event_listener_with_callback(event_name, closure.as_ref().unchecked_ref())?; + closure.forget(); + } + + { + let event_name = "mousemove"; + let state = state.clone(); + let closure = Closure::wrap(Box::new(move |event: web_sys::MouseEvent| { + let mut state = state.0.lock(); + if !state.web_input.is_touch { + state.web_input.mouse_pos = Some(pos_from_mouse_event(state.canvas_id(), &event)); + invalidate(&mut state).unwrap(); + event.stop_propagation(); + event.prevent_default(); + } + }) as Box); + canvas.add_event_listener_with_callback(event_name, closure.as_ref().unchecked_ref())?; + closure.forget(); + } + + { + let event_name = "mouseup"; + let state = state.clone(); + let closure = Closure::wrap(Box::new(move |event: web_sys::MouseEvent| { + let mut state = state.0.lock(); + if !state.web_input.is_touch { + state.web_input.mouse_pos = Some(pos_from_mouse_event(state.canvas_id(), &event)); + state.web_input.mouse_down = false; + invalidate(&mut state).unwrap(); + event.stop_propagation(); + event.prevent_default(); + } + }) as Box); + canvas.add_event_listener_with_callback(event_name, closure.as_ref().unchecked_ref())?; + closure.forget(); + } + + { + let event_name = "mouseleave"; + let state = state.clone(); + let closure = Closure::wrap(Box::new(move |event: web_sys::MouseEvent| { + let mut state = state.0.lock(); + if !state.web_input.is_touch { + state.web_input.mouse_pos = None; + invalidate(&mut state).unwrap(); + event.stop_propagation(); + event.prevent_default(); + } + }) as Box); + canvas.add_event_listener_with_callback(event_name, closure.as_ref().unchecked_ref())?; + closure.forget(); + } + + { + let event_name = "touchstart"; + let state = state.clone(); + let closure = Closure::wrap(Box::new(move |event: web_sys::TouchEvent| { + let mut state = state.0.lock(); + state.web_input.is_touch = true; + state.web_input.mouse_pos = Some(egui_web::pos_from_touch_event(&event)); + state.web_input.mouse_down = true; + invalidate(&mut state).unwrap(); + event.stop_propagation(); + event.prevent_default(); + }) as Box); + canvas.add_event_listener_with_callback(event_name, closure.as_ref().unchecked_ref())?; + closure.forget(); + } + + { + let event_name = "touchmove"; + let state = state.clone(); + let closure = Closure::wrap(Box::new(move |event: web_sys::TouchEvent| { + let mut state = state.0.lock(); + state.web_input.is_touch = true; + state.web_input.mouse_pos = Some(egui_web::pos_from_touch_event(&event)); + invalidate(&mut state).unwrap(); + event.stop_propagation(); + event.prevent_default(); + }) as Box); + canvas.add_event_listener_with_callback(event_name, closure.as_ref().unchecked_ref())?; + closure.forget(); + } + + { + let event_name = "touchend"; + let state = state.clone(); + let closure = Closure::wrap(Box::new(move |event: web_sys::TouchEvent| { + let mut state = state.0.lock(); + state.web_input.is_touch = true; + state.web_input.mouse_down = false; // First release mouse to click... + paint(&mut state).unwrap(); // ...do the clicking... + state.web_input.mouse_pos = None; // ...remove hover effect + invalidate(&mut state).unwrap(); + event.stop_propagation(); + event.prevent_default(); + }) as Box); + canvas.add_event_listener_with_callback(event_name, closure.as_ref().unchecked_ref())?; + closure.forget(); + } + + { + let event_name = "wheel"; + let state = state.clone(); + let closure = Closure::wrap(Box::new(move |event: web_sys::WheelEvent| { + let mut state = state.0.lock(); + state.web_input.scroll_delta.x -= event.delta_x() as f32; + state.web_input.scroll_delta.y -= event.delta_y() as f32; + invalidate(&mut state).unwrap(); + event.stop_propagation(); + event.prevent_default(); + }) as Box); + canvas.add_event_listener_with_callback(event_name, closure.as_ref().unchecked_ref())?; + closure.forget(); + } + + Ok(()) +}