From 45aff77d62c2682c3e2450ecd072fb12c142c92b Mon Sep 17 00:00:00 2001 From: msakuta Date: Fri, 3 Jan 2025 06:52:11 +0000 Subject: [PATCH] deploy: d30ad97af5af851b9627c34eaf7449fcf3524557 --- .nojekyll | 0 1.js | 1 + cf12b7217d42bc45d629.module.wasm | Bin 0 -> 138153 bytes index.html | 3 ++ index.js | 1 + scripts/canvas.txt | 23 ++++++++++ scripts/fibonacci.txt | 21 +++++++++ scripts/for.txt | 16 +++++++ scripts/function.txt | 10 +++++ scripts/if.txt | 14 ++++++ scripts/koch.txt | 48 ++++++++++++++++++++ scripts/mandel_canvas.txt | 58 +++++++++++++++++++++++++ scripts/mandel_canvas_recursive.txt | 65 ++++++++++++++++++++++++++++ scripts/recurse.txt | 18 ++++++++ scripts/scripts/fibonacci.txt | 21 +++++++++ scripts/scripts/for.txt | 16 +++++++ scripts/scripts/function.txt | 10 +++++ scripts/scripts/if.txt | 14 ++++++ scripts/scripts/recurse.txt | 18 ++++++++ 19 files changed, 357 insertions(+) create mode 100644 .nojekyll create mode 100644 1.js create mode 100644 cf12b7217d42bc45d629.module.wasm create mode 100644 index.html create mode 100644 index.js create mode 100644 scripts/canvas.txt create mode 100644 scripts/fibonacci.txt create mode 100644 scripts/for.txt create mode 100644 scripts/function.txt create mode 100644 scripts/if.txt create mode 100644 scripts/koch.txt create mode 100644 scripts/mandel_canvas.txt create mode 100644 scripts/mandel_canvas_recursive.txt create mode 100644 scripts/recurse.txt create mode 100644 scripts/scripts/fibonacci.txt create mode 100644 scripts/scripts/for.txt create mode 100644 scripts/scripts/function.txt create mode 100644 scripts/scripts/if.txt create mode 100644 scripts/scripts/recurse.txt diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/1.js b/1.js new file mode 100644 index 0000000..fc74650 --- /dev/null +++ b/1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],[,function(t,e,n){"use strict";n.r(e);var r=n(2);function c(t,e=!0,n=!0){const r=document.getElementById("output");if(e){r.value="";const t=document.getElementById("canvas"),e=t.getBoundingClientRect(),n=t.getContext("2d");n.clearRect(0,0,e.width,e.height),n.reset(),document.getElementById("timeMessage").innerHTML=""}const c=document.getElementById("input").value;try{const e=performance.now(),r=(t(c),performance.now());n&&(document.getElementById("timeMessage").innerHTML=`Execution time: ${(r-e).toFixed(1)} ms (See notes)`)}catch(t){r.value=t}}Object(r.l)();let o=null,u="";function i(){if(o)try{const t=o.step(),e=u.substring(0,t[0]),n=u.substring(t[0],t[1]),r=u.substring(t[1]);document.getElementById("fixedInput").innerHTML=e+`${n}`+r;return function(t,e){const n=JSON.parse(e),r=document.getElementById("stack");r.height=function(t,e){let n=100;for(let t=e.length-1;0<=t;t--)n+=30*e[t].vars.length+30+25;return n}(0,n);const c=r.getContext("2d");c.fillStyle="rgb(255, 255, 255)",c.fillRect(0,0,r.width,r.height),c.fillStyle="black",c.fillText(`Operand stack[${t.length}]: `,20,45);for(let e in t){const n=t[e];d(c,20+100*e,50,n)}c.fillStyle="black",c.fillText(`Execution stack[${n.length}]:`,20,95);let o=100;for(let t=n.length-1;0<=t;t--){const{name:e,vars:r}=n[t],u=o+10+25;c.beginPath(),c.rect(20,o,220,30*r.length+20+25),c.fillStyle="rgb(191, 191, 191)",c.fill(),c.strokeStyle="black",c.stroke(),c.fillStyle="black",c.fillText("function: "+e,30,u-20),c.fillText("variables:",30,u-5);for(let t=0;tc(r.k)),document.getElementById("startStep").addEventListener("click",()=>c(t=>(o=Object(r.m)(t),u=t,document.getElementById("fixedInput").innerHTML=t,a(),i()),!0,!1)),document.getElementById("startAutoStep").addEventListener("click",()=>c(t=>{o=Object(r.m)(t),u=t,document.getElementById("fixedInput").innerHTML=t,a(),l()},!0,!1)),document.getElementById("step").addEventListener("click",()=>c(i,!1)),document.getElementById("haltStep").addEventListener("click",()=>c(t=>(o=null,a(),"Step execution halted"),!0,!1)),document.getElementById("clearCanvas").addEventListener("click",()=>{const t=document.getElementById("canvas"),e=t.getContext("2d");e.reset(),e.fillStyle="rgb(255, 255, 255)",e.clearRect(0,0,t.width,t.height)});function d(t,e,n,r,c="rgb(127, 255, 127)"){t.beginPath(),t.rect(e,n,100,30),t.fillStyle=c,t.fill(),t.strokeStyle="black",t.stroke(),t.fillStyle="black",t.fillText(r,e+5,n+30-5)}function a(){o?(document.getElementById("code").style.display="none",document.getElementById("fixedCode").style.display="block",document.getElementById("run").setAttribute("disabled",""),document.getElementById("startStep").setAttribute("disabled",""),document.getElementById("step").removeAttribute("disabled"),document.getElementById("haltStep").removeAttribute("disabled")):(document.getElementById("code").style.display="block",document.getElementById("fixedCode").style.display="none",document.getElementById("run").removeAttribute("disabled"),document.getElementById("startStep").removeAttribute("disabled"),document.getElementById("step").setAttribute("disabled",""),document.getElementById("haltStep").setAttribute("disabled",""))}document.getElementById("input").value="\n10 20 + puts\n";const s=document.getElementById("samples");["function.txt","fibonacci.txt","if.txt","for.txt","recurse.txt","canvas.txt","koch.txt","mandel_canvas.txt","mandel_canvas_recursive.txt"].forEach(t=>{const e=document.createElement("a");e.href="#",e.addEventListener("click",()=>{fetch("scripts/"+t).then(t=>t.text()).then(t=>{document.getElementById("input").value=t,o=null,a()})}),e.innerHTML=t,s.appendChild(e),s.append(" ")})},function(t,e,n){"use strict";(function(t){n.d(e,"l",(function(){return g})),n.d(e,"k",(function(){return x})),n.d(e,"m",(function(){return I})),n.d(e,"i",(function(){return S})),n.d(e,"b",(function(){return _})),n.d(e,"e",(function(){return C})),n.d(e,"f",(function(){return T})),n.d(e,"g",(function(){return A})),n.d(e,"c",(function(){return L})),n.d(e,"d",(function(){return j})),n.d(e,"a",(function(){return O})),n.d(e,"h",(function(){return M})),n.d(e,"j",(function(){return P}));var r=n(3),c=n(4);let o=new("undefined"==typeof TextDecoder?(0,t.require)("util").TextDecoder:TextDecoder)("utf-8",{ignoreBOM:!0,fatal:!0});o.decode();let u=new Uint8Array;function i(){return 0===u.byteLength&&(u=new Uint8Array(c.h.buffer)),u}function l(t,e){return o.decode(i().subarray(t,t+e))}const d=new Array(32).fill(void 0);d.push(void 0,null,!0,!1);let a=d.length;function s(t){a===d.length&&d.push(d.length+1);const e=a;return a=d[e],d[e]=t,e}function f(t){return d[t]}function m(t){const e=f(t);return function(t){t<36||(d[t]=a,a=t)}(t),e}function g(){c.g()}let y=0;let b=new("undefined"==typeof TextEncoder?(0,t.require)("util").TextEncoder:TextEncoder)("utf-8");const h="function"==typeof b.encodeInto?function(t,e){return b.encodeInto(t,e)}:function(t,e){const n=b.encode(t);return e.set(n),{read:t.length,written:n.length}};function p(t,e,n){if(void 0===n){const n=b.encode(t),r=e(n.length);return i().subarray(r,r+n.length).set(n),y=n.length,r}let r=t.length,c=e(r);const o=i();let u=0;for(;u127)break;o[c+u]=e}if(u!==r){0!==u&&(t=t.slice(u)),c=n(c,r,r=u+3*t.length);const e=i().subarray(c+u,c+r);u+=h(t,e).written}return y=u,c}let E=new Int32Array;function v(){return 0===E.byteLength&&(E=new Int32Array(c.h.buffer)),E}function x(t){try{const d=c.b(-16),a=p(t,c.d,c.e),s=y;c.f(d,a,s);var e=v()[d/4+0],n=v()[d/4+1],r=v()[d/4+2],o=v()[d/4+3],u=e,i=n;if(o)throw u=0,i=0,m(r);return l(u,i)}finally{c.b(16),c.c(u,i)}}function I(t){const e=p(t,c.d,c.e),n=y,r=c.i(e,n);return w.__wrap(r)}let B=new Uint32Array;function k(){return 0===B.byteLength&&(B=new Uint32Array(c.h.buffer)),B}class w{static __wrap(t){const e=Object.create(w.prototype);return e.ptr=t,e}__destroy_into_raw(){const t=this.ptr;return this.ptr=0,t}free(){const t=this.__destroy_into_raw();c.a(t)}step(){try{const i=c.b(-16);c.l(i,this.ptr);var t=v()[i/4+0],e=v()[i/4+1],n=v()[i/4+2];if(v()[i/4+3])throw m(n);var r=(o=t,u=e,k().subarray(o/4,o/4+u)).slice();return c.c(t,4*e),r}finally{c.b(16)}var o,u}get_stack(){try{const o=c.b(-16);c.k(o,this.ptr);var t=v()[o/4+0],e=v()[o/4+1],n=v()[o/4+2];if(v()[o/4+3])throw m(n);var r=function(t,e){const n=k().subarray(t/4,t/4+e),r=[];for(let t=0;tSax+k>Z&^D)Oq~R|NLL)fBqHhx#v@15Cq}V;i}!ykt5-e-SH8- zghv7;1oj;44uahY89aw7RMEXk96A)_52PkX4&_xGJ{;_>S{c1TndA`vsD@H`I(KUD zuy642?uIXZSg+Rny;^GKw_JFl@k72NJOn}Xa&7s*yWexiowx42_vTwZ`R>VkF1Y#T zAGn3*Pwu_*=6eq8zvIqN-hAiY9|(f^rBn-2zf&F()z1^1mtNZUdu;;+uVDN2q zx^1oQ-+Rx2yY|!Ue4siHR28`!z#q7I%N4g=zH!f{jhAnE@2$7p^4?qDCTIuq#y)Xi z&z+y#w>KD?-`pj==I+^h;I=#V?Yrl|5ANH0^Tx~fZoT}r%P-rw>DJr!T)uTr5YK;a z{k-?U5g_Q_y!`T8FTd@5TlU^^`IgO}xaF2B-e!M2a6Wa{!M!&hxGQLU8-U$+$DQBC zyBzTQA@8zT5V0+H}RH%RX`2=7n&~3-8^(|E~Qv-?sIN%QkP`vgfufm)-J-+di?V zuyrC|mUrDUx%U$XZoYN@U3cHSfA4KUG`|xabs{f%;P(A@{Xh`Me;%FifH2 zF;&&#IE-q%62+r*EU1$e$8;wM63bUv{>7C_e#1Te>i@SgsfBlkpXFDH!(h1Dfb?av zvvWbKcI7~LJ21E{_;eWV2`0ijg8kvX;QPa=U|%>H+!KB>_}|0umf(-V@Ydi9VYoLq z6^5S({%sh3D)@BNco;xrVe8@W|FPdMh5sV_lknHVC&E7tzZCv2;Xerv-u)}#Plr#1 z4~0J#{+sae@PGLC;h%yKMQ{<{F(6P{}ld@;jaIi?4J$4 z_Z#7FhyQ2zJK-;c|1SJy_+0pp!`qI9e_^kF>}>d-!`}?Q68>)ZV)(1!gW(^B@BO*( zzl6=7|LyA8@DJV@tvQk$en*g{y-GCI14jMPt5YKb7LBg zZH`Wcqz0t9>LeO@oM^k=uwr@yJ`Qs&qelbTE6?Ziaim|d;1+9 zh@MwDz5R~J;T#ytq6IcIrhEmrrHq&c)Md*jbs^;O|rccjfyoq+B@NSxJ54K(;GbzFwc?@5!)p zqhOhAjy~6Pq>o3h#OW}1!`F4F$m$BE*y`7wBf2;CexA0bYL^H9cIa73Y3)Ba#fxzd(aKIkzKCgMy}aU zzDicy;4as4gV*fuHYr%AV&3Kwx{j-5(PUb?Y9MH}E3NETzA_hNtFsrmbbc`mTG=Z~ zSd$(9YLW0Tca(U#OnCikBy7%}K3$Y}S_xaSZ*Z|X+)#2v%^aYc2C&H#>{hqIT#eJU zeAip9NtTVxwRX|%);0SpuG#v?KmdHkcYyaE;B_jS6qYDGob1-A*wqd8K>oo>T61;B ze_$VG>#x^(;f-z>Z5Ke9g(HIA6y5Os@gUR_XrjKPm8;bJuCcWGk%6!swOZK`FeM!8 zRzV)nr|K>g-X(rYlXl#4Nfru`43#SMil*afAYIAgUBa|(I1zLmbuntzn#&lpEd*ofSR|7vK^(8SWt<0P2y4SHSQ%J5dq+v84_k z7L>cTIeJP|G3;#ajtNU2tcbB@PghmCR}O;uLXC0}>z}DXqVC!!Iu=HiR2Ux@8oIlsx>JqTE60o7G zi9Oc}_B>Qlc-PL7{oOW0b))(ZJS*bBAp~g=o~~UAp0%sQx!(kyNw*?+R{G!x%N0B; zJ$SOv-x@pv+m z0MF(U>psWIQig#{x!6FQTt(k&ZvxW_k|{8Ka5n(NO@?e!lvgUO{)LEK03KFt;9dgo z$T;)FNXbMCbO$fLTHELj%V>KUZMUU6#4z->7d6|=5ro+j=eEcBws3yLSBR9hgzhky z>kg|X(;<_ur8_iSLulVA$jD^cbVF{{E;r~_i8wb@vgtaa*3Dgub%&8Y-Ju2W4ChVG zN3PZ2N&*ejGdaH@@TlRQoZr~RnrIY=A5aZ)58TLr1M(MgKGoZN#jb5~{speh?*ec- zpPlnhi+ZAgHnbjkt3!0Aao#n7d=IZq+=V;S@FUZ}-qi+>pP0p_;GZD3);}^(T_pxt ziv7ZnLhNtN7yD81`h_pA44hx^0x{1cubw9dv43IC8;boEAt1sITC2$=rn90s!BSzE z3!qBTWJ=mf_6qBNAlj~u0}}KIq$@51NcqMVyCJ%jQB#Pxfc^%g2fT}R4b(Ef?;<(z-A;Xmh@?DOO>*$Z>tXtMuiQuctCT?TSknL;wqgBQT* zsd&#t0A-n{RLca4Wp55T89Kgg1!W-^a>W_F?mRhvcc24tmK89QR@qRE7V9~pFj*~SA#!BHGF;TMjmq~%0+=Av z<%KWSebb*oUGKbYu*JtwUQ~CAr{CYCK zKAc}q0q`V|M0+Q^7bKr3vOoSv-}EehS?JOv{3+k&}?jBrarUDF#!5+RD%^3Jqna%+6%y z!$JNJg^ilN(0X4ip}x8+9RPLfvT@ZZ%G#=sJfIa+y>1}H%oSy$Q{5_jAFW&5pSrcA zF|ttkTJYSOc^B1Lqr5()ED|0$sYbA3?n=@As21x3PgZT-pR-5un=@$O4C3~E=>?c% zvu_PulXk|+PUknfrT+f%-MiA^BJ1o2N%{1>JJV%j+?=ajoh~2C{#q2J#^w4kDw?v4 zDc2cGFU-!~Zdqq9FHM^B)yUl<>DXr$f=&p@0or(=gJKPA9!P)`23 zlbCQY*6m6w5L#@klifxp>rpsG57R`HU0XkHxdh5(BE};0Ww(wz((B@pM?kF37!_V9 zDqWP>9rwy`PnltrS6d8+j0F74(poBLqzogml)_}Bhwnoevw{#bTyXqrXzi}h;; z0yBf86T$b;wYY3=wQT&?C*9i5r|aGqKLZxijI{drT|BMIO9Vl8t*pp>Z~yD^ z?GG(@dlw6f{;uoI%Gobc#HP_N(_0yshCZ*2vtR74ZMkmQKR35%UUQuJo6KuE_=V4d zti4@2ZD0gfr(>oF=+BU(*8|ckvK8OYBxX@p#Hg62GatN7+JR;_FUhL6tr{+F7aS?}wQ^x(WdiLaP3nnv5e7U#yO zMD50Uk>^!|Q5Z0KlGtwR!Ln`y+$GZtiH$9h>_Om)jfwsg=m=c|U)MVKdC;l>GG&p* zT}%-x0YD<%LWHz-v^B=QMuVjwXvb>b;LAexGwtg8VGwAq*Rh0}+;DphZ+IR-Em8>s zs)-I@coEq&>ZWSpSvBzxR7$`i*iUtV1^X{?i`grf&ip(^B>tm*^>MViF`c?=PtuNO zcf9rm*o-(+-%_OaBEP=;VkT8z%%tkqVG4l-vU4_>R>cfm^?G#@9;o?*@SQ`cIyVn=!BY{?fI26Jw7tf)* z0y3`-@i!GI_?wVJq_<>TB_X{#yN#X}FE8XUtXLt}xf;}B9*@}$j}c%Q>Cl#N^++CGnfcT_Cl)Z=2Q!)vF+&smX%hm1et`V-Wt|UOVa;l zy3R!R`^9G)h* zBn_rgSty$_{(9ZI(zndPQr0+%+u`XFNCBK!)PVo$y;jC+zk^&X2^ID*nYK+dC3*ID z^W-+;utZzIY!b^@4M9a*^)x=t9%m~O$s3WE_NJ2=w-y17GVy_4?Vjc!@lL9sRcK;% zL$GKtaA+amW#|lVfF1HQU`Tz#VeF<}`sO@9=212B84?szuw`Vl;l(Z*(8NK*3&_UT zGqLKQCiVnG)Pzk&J*u9aH*x*SiYjb`EV;liQtSdHIpMXj}L-Bn`;y0M`bn>-2ar#LC>662yx?h{D93%il4N@5in@f5V7u#_L6 zfJ!3zWor&*$@C;Jv_`KQQ^r_VfC*^~uc1DC^jmv)5wvUfvbV&A~J{Xa==J zaKhAaj|~p~!@Q+I_WbWLsx;<>)4H>!#-lohMSy}LwmHIDEcXKKURYb;=wVm=0WTYb zycqBI#t3X8z+YnyEk!;sa>l7-FZwQCCri6}ApjOr5+KOA;P!bCjy&M}97WyGph;p! zsOPvDu^Zqu+O7F21-y0|?4Z|SHUcONn1O8vr4iiFPneSHEcZa;qAEWwy&_XjXVL{@ znmiXHQAB`;WKfPjYBM5_N7Wt`70VSNqc*NJkc)|HbFqju2J;>TYs zIFQB}=rXmR?BKxk?S9U~a?ZovoKy8%o^xS*G3Th;LRNYNR+e}mv`s$I2c z-TJ|dfrm)wtj^8RsOssY5mRE*&s1tIM)TDdNy4;@ks`zJ3sNRxr+rpGbndil3S8$7 zV@T1iR+0PwK#g+P!Fh+xN@Up8-mno1ZP;SenskOOsvu;AG~~lJ42Fml7z{w@(Ro*+ zRbVhEzELED7KVa{4?7D}>_2G>zW6#M#Vzx<0;58EzR zedO1r(FVUb*-a`|J;mxNi@>jXFvj*`c|{y|{;H=B^H)7yX~n7!i;Cy3dPxto(6{Qr zv4yKX>Rxo?EBppQBR0+Mm^(tv@wnC9@Z}Gn%8KFX=%nP7k`4IWOzs z#XLvXve-BDa3;^uwJi3k9$v|FbS;a$u7|UEj;>{~W53VCYk7{YWw8g9Gs_?KP1my6 zLwY!#=jd7%JJFx>IXx&v6+GPk@TeY?qMVcc4^QYpDav`g|KVvpC`CC>^*=nT2c;^w%=JHfSr1B4&hz~bFX%xj%6Ul-r}GD0%bb_>@M4~$Ygz0YdN`Bk=vo$g zRS&P^Il7j`Uf09fJV)2E*fHVNYk7{YWw8g9Gs_=!RM)cDLwY!#=jd7%`}av2zH za4{fgtd_Yc2?v1Ks3u$pfj!PdldX&EqoCUaDjjrYdd%Y%B%#}meADbuO(y@hbu|*|zZGe}OVgfD@6kIq%U}z_4$b9*2 zki|%uS4OWT3mn+Frfw6Q3US>F!UZV00ZYJS_b3}e2e$Ogh}?@>wSL~Irx5m0@JzkQ zg%}p)_)RU5JkA3c4Yb#MLyl3&xR?AcWJL1ZmWTyrbCx zIxh6IN2F!mc$cI-&=sR@Hokea0WzzC3VoMLS-A%bjT2HK@Xjx*ZlF5S1y+*=MLT6j zQ(nO4yXtQ`XIT1j}4C z7zR{KenQ{0A%gkRyBlKvYO+)ilphMS`!!sQ|JDi2clfNlkId@&sJ$inTqu?11lvNg zJjfoNOm==U%#P+S$uM0eemYMCWqALcQLs0k4)SqHQG_9uq=Y?{Fj zKNs^&jl~>PZ4R{MSj+*SF6SVO;-q5yl@cD>3}^OUgSD&7gOG=>4BUdRfzr(WfT<7U zT8@#7tneAlQf1yOf$_4LFE!sa3ir*oEGPi;ZOs5RYX-Pz25bi!*z7E3poG7SmV&>T zpt68hn1)Sheu}HomWL-m(yH4WZK8lJpp7Ki8l>>YS&xR6a#FS7vWCL!r9kKZBB+t9 zbgu-H9O(4;LPg&IQyr%{cW;T$8q&^%R1ESy7Yc1UA86x;9B~R#x;_Y}cUg%Bl@oe5 zS|9J+0%~##>%wyf=x)}b&4^Xc9|1k=jDZ+b>il#|*o?B{R_C~^rk)2y>m#=%p4F?H zcxgP^XdvKmHk|CNRt1}oJPa4E!al_Fqj_&1r?>eOckWP^>EilmE7Bf!kaQS%CN|?c zM3I4<$a!?NgD;ojQ06N?AL*zqLfb0HP>_zrXuA}`dXivttHjZQ0@x5BXk|u0FWwM+ zsc|s^%Zev&7A#)<2<*?h$pfz>A>fG3Z|bQBAQI>v3b({1A-M`GgCS!qvz#UdlbRTS zssky(M_Ho!5Ha?M$cr#^IUjUm&C0yBAQJeuh)y6j16hPlyGdMtO=p6?eQcr?Fg=yH zd;ayt0(s;0mayKMhME0j^iA<{F*%ic)&DQ?(zGbE^)G>!J;FLJ_J1Cc_-p6;w{oRfW7ObQ$ch%JHf@oR)p&8Bo7eT?x5vzXEW7#B(!1^Q2D^hXwda^ z(BuM2wbIT+IHOF@g4$UFdx}kpExAi~__GnkG(q>?XqxK9Gy%A`H%%NoVw&p3G}X&# zLP%L3y_`?enS7d<8pwu#E@vh`T}+)#*Q;+nT^uh%qpp9u6NTeJK2cRypLq7iKKs-E z?C1aR7eDa!rUqSY>Dd`AXQ$Jf9WOcH9t_kX!0c9De3n*cxS`dTiplY;`_ zSM?1fK$fy&C-X&}g;}HXJgYl%AH*lb>4s>?p-!7Mz z?0B#8kR~PVY+{I;COdbCdLp1A7YY(d)^2q}?y1SNe*$K3CsA@XlG6O|E{r-yBB{)7 zDjhbBd3(f9YIZvv#C(BOXAs+-PfF6JYf7}|gw;Vj2x|Ly)Pd0<8E8W|xeFclZ~%_J z>LgPgdnq82pO^NfI*)~J7>!{S_8p4^f&WVFP8i!K<%saDbLT#IjYW(=>kZ9XqTaLG zr30f%v~c&xf~!#OWX(WTl&D?Ndjt_N4-;sf>_1S#AYDFj0vDmr{vBh`=jJjT~Kbph|Vqraj0Z7(-zYKQ_ghS znCiCi{oF2XZpuhFy@YPNI47-=CPdBgH?%?2!LSAnmDG~T=LU(ljg&%NRFcRu7VTYb zA#pZ3P2E)$9FTiX2#Jq55}+6=1DdNi#@aznDmx{chfq=N>9r4fbEdtchGk{;mL&Pz zGBC{Hs;~FD-W2BQ)Hj$=yd&_~xanG4xGY&G7&#}o*$MYK4!w!m=8Zb%VLA$6J-~p( z(5pJx7tgdIWWlL{;F$tSx;*$F44TX|>_?ya>QJcbj7WtkVV5S-jR&W<7hk0G!fDUI`4lh#d`p6JGxVw1o0x1uCksF8kZCVuB+8nF1Kqse5=Mr&uB*34_t9$W|Uq z6Nw`f#pX;Q+&T2juo$9^3=(I=NXv^MVcpE8odblkRwv!HUHw00U9&HOG z50Z|tVMBl;wl5!V3uO2w9XhokNQ!h4B$(KR^h%Ll*%mOhN;kw8h^^h~wm|+kq(eS7 z1O!I#>9uVEBT+hrf(=2vNUv`TbikB!7V?ImQKUDv1=`di9dC^dL9YemLvTTne!;fj0-sLskPX3wMf!!?0>Xx={Dn$iQKYZf z7Oe2;E0jK3q>pY3@JLd5j<;Lv~Pd5)vmJ7>c&L zK`DSH)KoMsv3K~X5|F4Mk^|Upp;X8&eFU+)+*P2(gGTC?LmZ)_`1NwgN%Dr85q0c; z1M#Q#{@;f-BK-6c?(Z&_k-jcc?3R0q3Hya$ccw&|mn}_VjVM=X8>%fgbv?&3#*yDiDoP182^OP$nqgJKc)(MRP_AjBC!#2@3Z}?tPG&%^F4dRt zM^0k(FLa_+hwDcWt2a)i>-$*Z|J$E__conua>{yG~^er4@;^Fc$#8#g``>;o7lu4bIVy^*rGoplT9|%I1PR zAD}9~vmk$VHp~kozCe9Zfue=T7f2Qr@NH0elxHz1yWO4m-EN*xD8G34Ud@7$AV z`~ar0_;^~AwnLno?_^Vof#ze>@HEtT;)6%i$^*csa$JK(F>)1(W+ypOICTnB{=V#~ z$8d!IYUfiZ7QYqX^$k=KX8u?fT7mm<6Gt?VRZ+vC*>1c0+Ggwkm&Z-d@a&30vtLARFHk&*4_jVC? zacwsHrQdxI`b}2P?CGIDdnw+Pt{Lk(%gJVy;MR<_aiytdHNEiUpW?b~C8)$6l}`Yv zwb{$6J>wh%_pj9QQZM7CRr5tMlvA=A*Q9QY*cL@d#iw3E$=BKSBBbJ6nUIH6JY6Q_ zAr;U5Vev{HQt?cgaF(*!hU{dSaPl`vSd+cT#Rpv!!eMseQRnHiB-3HqlmEDycNie) zi7vOgYh2rPgiS3sa1>eGNm7QFr6eqO7tFYk8MkcaP`X-BuBwc78^V4?3K}7{%qVzM3ZxYW*7)SfiVFJJ;GZ=Bm zJLKxn6P6=Mhe(gVdmxs#2TBR_3p7>lsy6}|y_q%`I0_x&`HhZyy^-9sf1olExe>u< z*^FC0LyJ|7ra3dif|}65;ISFt3SP2+@rzP=+x1~Bp?3z|(9DcmF@vs4FSQDW-Gzq^ z&$z)uZs?Hf9O~8t2VTYy(zuZ>v{k4%^D+5CTdj7=XN`J)k$Z<&hd^zeG1Yotrpv-` zgWpYY*6$491mZISl&c;x9lLcCI+X_B`ff(7p0eM?rh5+8HCc0)E}4ivCa1B!EFx?Ah!=tu z%v#0-v?j9-xaP;)TD8zrYt{mHYN0u=1zr*Tz3H&4%+Lt8BZud;LxEm9G@?g&EVbM^ zR)K}qSf|d8!tFVK6kJ5-9UjPtbd>1OuR2}EYIpMGIgN|6qjt9r`6PQqG-GGbI@X9P zN8-cLcK>7g%_tON?@Doak0c(R#MG{MZYY5z7*5Jch6oMO5W7IZH?7|c1=?ZaXwqwc z1lvKlbkV^lwU9CkiK@dO8hQ~9wcy3{(F$4n^!o9x9_(BW2YQtVIzVqZTzJ)n&G(J|iiR|;hYcB}AKq7~WtaU!TD?<^q zBS>q!aRXC2Ie}3L1Ale-emqQ9IY0j zWu!@xWl}pBHbtU7E=R*kIZZ`siHZ|{@@FfSM8-U0!E||~TOzMS$o{;#peUJdX_OTC z>7TcXpV&(CPbHUM`t^RO#7zX4+0T8rBsv10d`2KVV&6x6qtuQ=v zv`?))nhr^!qDxp{-H_L7amR&>4oFK(2l3oyG zLvVj!Ue)A4v9NAH^{`Wjr~psIJN7`>+nu6*q4)?|KLE)0of)mUDzKHSQ z+zLm5!~?4QssYBWyS_hC)+|0v;P$Mp`Nq-06HLT%3X~uB*T+8zzwFO@oiv6 zwGT7GX{JV)(JV28y8<&9{9D5e+nmTTgYfbdb8}-|8Vr~V=%I$*`++u?{uRYXXu}y( zJXZVA1}4AA!zK4+@H>UTPE)=)+URGvC!`cXT1dp4eOi-3IT7e&ewLw= zvP>|z6b}%aa@o9X%FPWTZ+8h)Q|2B8Ws<HK!MC+73n+vKae)U9<^tsW%p4QQ1Qp`! zLA?ns(3W|YK3tr+)gl$VMR9PGWA^05k$cA#olxJ9#N-Vf>SEr|5r#53MDu(Ry^<>v zFRrKG!WAPevD`8Z#g$-|VVnmI6CrK9B*2e*mgWR*`EM2{VW_w2HB3k=Kt|s+eg$_E1Rw2{w6dqm2dG?xl#>nN_cUZdoS2ZvOJ!){ z%)BR4bB$v}gwtZ`J&*C+F34E@7=f%fUPIKr5!Iv`k)8N-iu6~x9w67H7icP>pEr2^ z4|eP%$IE$A;=ppk`u)vgXlrR1~7Zw!%uJRJ7YO@w7HA9J^K*`7yI) zF*4QJPN6mOR>p`ZI1v{{Y`&76{u%M7ag1)!7W{v7GG#k2i2l4xeeVXTR|Ag;t>Om2Jl=r8aq7Yk-q!|a zvkfifr58GT+x)cs+v!U2zLk%$&+b2UpdQkrsPm81OMI@4MqJ9qQuf4L@P2TPA=Rt8?dlaS zXBv#fqU44ElsTZVm(ZdB#r_-P%10a_xnn?)^e^{s-14~U+~#v$#c9%$8l4yaHyaz# zJ(x%w^=w_p%}WkptSK!G66FF$qFlg892XfDkKiP&W+!Ac$kdl=X$ewb8O}J9nUl4V zb6ApT#Db}aXGvV+La)13`gRrtmwjp7jXoy!V@^bJW|tsT_ch-w4PZRFS2c4b;DpS* zY;g!+B;1+~(Hj)194x#jqXh>B6b=icJL}KXCL0W@fd=FJU_@Y0bQxOqG8D`l+$LgS zY~ogJiErmJwk6)pW%U-!fa1_l00W72QZN9K>BVY`%)yP*a1D`p@bNmhAt*;L^=|q_ z+JSOlRE(WOP#^SA$K!4{5WuvXLqyykZ&(kJk9Q3cySqflZpbwY$QdvUC9&7^L;EH{ z8_FUG5Bhln3)LH&x9y5Bs54<6x*txNzR3)43B*6ZiV3vf5zvVc+)B1UR#JRB=-}eM=j~QRv|_gdUj%Ls;PEsN z(t&C4E)QVyFIOrz63TP1OX`*B6GzG+bA$Y~dKhcJ6ALH@?@EqV2wuG_yCKHoLh58s z?CZbv6Sd6%0%J;f(3eeVJ<*(Q@O{f(`V3~$6Jc3x;WTXCOeX%kPKgb<$4&Ms4>{Y6 zG9brsA<5gSmnYSW1pPlPsFFyA;=NQUS%B5`Qb`ktCA;Q<>L#h?37hX z2|-AEzE?|_&GjBIht8{#Ctv01g;lcF@?Ivs%CnSsPhjMdt~^7t=b`n`W%eS-zVM~oI$uxK)VlM?0pKHqyd?_`|z zRkD0^($-de;@zi9Kk6_WEK)kfO|!VEF1pFRuYr1zRkNF4uZDGt-iAPn-E&ednV3&8 zso{c18YjLvY^r;CrYcrjH;k}x#6IL6qQj*)v*W0bfL;xVNA<#N&3WrAljzO zGt(Sl&fkGEF*7>E%HG7KL1>+_#HdV+@oUZZ7yoy3BX>?1@G-c(&Q5Se3< zI)PI5I_J%?qNgaKSXJ_FK&p$*(};(tyx=ILI1YYAv0~E5{>fEWPvB-^dX%-4A7U; zhjh}HIIIr3dZ^{0$6|cEn0!co@fsjfm4>BAVIE79)>o?GV9t)Ku;Z}X1`ScNN3gJ_ zx*1Jz)$XK&!$DxnCXZX_*9$%fs7BhK3FWfujn=e_qX}9Shy_yfhyciUYc^n*Ctz{F z4kYvQ`H-(uW$BLn{Cz3dVTw8kCgD^gp$ftvV2*;1*}-<#WF#qTRG)Mt*f6%!SP-mH zEp9TPPfG#M*#Q7nbf}fxOf(8AuVRtgKd&qRs~#YUqQFT-@3tK&3b&Q6YAe~Y18C)E zgXy9L|CWCZjFTe*a3>Ws>|7$b#Z@;1SdDC{a!X8Ud{X^rEe)BML8TS{tsq4f2K^E# zBM4W;{POV{%yXp69!{NhfPvNQi=lB9m~bso|I|@8G-;M|t3;dQ2$YlZuWzT7;gGms zeI27I`$B2mX+H7NmT{L9`k5k%GaeKz^_)uV<%lJfiDb=&(9%^IHu!9oV+7oSb$Xb^ zT@r5s^-CM-Z?UxW3%TF(X;X}{Y^*R8ecO~lFm#}Q`W3j_SLMHehQlJmf1OrEsu)f` z=o0))f*g1pJrGEgggnfh89zka5vU>0f}xzHp|K^n?F}W8&%SBVgD5*w_5fNaa>v-G z46cGITdrAZP}B#iqTTw@T3jQxgdLPQ4L1re3WOQ{Co(ebg9c)GqLY#IAvS_! z(-f)7Pw`y~-8m+^?N!qQA*&W8U8WeXSkq6`w#1y?yaXx>GF5TPB(I9jP@7b|Fhebr z1*`vEHcz(jg6E!%$CyHz;@o2p5?KkFevx1pzLOr-KNQ#@#%g(pvHrtKvO|pZ#fKQH zW3Jvi#7O*a4lxR{vXb2)OlGR+X>8`Zao;<2T>yysdMTTMM2KP(I^y>Bd)+&F`NqBG z=;h*GOLkPRdzyr_Yvf9hRd|mO`20_o5*ynEJa|#*4Q;~Bew%Q(giTmJx@l7uAMUUT zH*%XWsIv)Wn~T|mgWM*}Ghc}@gB}pCe6UUSqwM^u{L$R`Rh8#* zpMP(Z9;wQTdKRIu!7>e>?TS!AB!tbgN50onHam)ofWa9xR>bQy+q(tMrcp{oWIveYbXRjR2{v&~L$0WX0c}H8W5a{=ZuPCVf_?Gw#R~=V< zQO_4|iBIdwL5{E2Au_h6MQmspdVnn^3o$$Wt3R0wvR~m3eGYaKQ`4s)-;62Z>nbQb z%oF);tUCr+hA`j6#DR&}@Q7lF0SAIMM-S6b_AHff9$L52`@<7;s^@L>F+1V;b+7Cf z7nIG*5ZWlR7pwyOK%jBBnc?A}T7&n8pR?NY27k0yi5iGn*?|n7xKm(zu#?{J<7V!! z1MzR`0=C=+lmn>*Vftjc~Mueyt)c=sB9dXnSIE=Y>5}kW%^=$M5K6M?#z~t%e3-wnVy$# zF4I;3hN}X&OfM)!kptP#(e&cOsWN8VJM$FYANM}U zMV)>A%`@qEhJqtvrIyXTncY-5IA47HF%Y8K^Fyw>an{4d52Wkm$NA2q=_Q97BvL{D~i>o8F)JY3{O%vKPyQStWF{SBeB0 zS>y{`@xH*;Sm6s?gQeCCf3?h;W+b0Hm5#XKQ)%^Tz{K|zbjG!f*X!`qDc9m!owCoQ zD`*bi1`50wF~A{Mx(k5?Mq$75~b&8q~i=Mi7irz|WMQNyBC8fbSK$1EDzPfQ*Mu*^+ zJ*8fnk7<9QigoZ3+;z*IA}Z2+HrFd}-Qvi`sV@7&@;NTIn?$Qz_Sf=nd4xn zLdr8Mi+>0(C2g?)1DEIs2X~!xTt_%qI5X~I9pJdwU7`aV(YwP@?B;cM@dq$bL1vM> z`zX%l=!uZjfHZgfF({69km~GnW<);-^(8Kzp5}7{0bAqwBW(96y~LI8cSTR|Zg}Vi z4^4dO$4|Y&v4q*rf92%Ukxn9D{6E!Q&PXG#Y}Msp!KbwCLv;1*DOJnvz$sFspe%G*$^QD*I=Urau@rkg7wZVF-Qc6c)Jz23i}OaJNp(azL|40% z^j&AbamlKw5Y^ikc7TVxRz<*%iFk`x%%+#f=?^2hWr2s5eE853g_yM>mzEK@r>r$t za7}0_3Ec1>hh;gk_BWR|MpM#tIatjff6!Xr@+zHj5j%92ogK0sIMDU*_w=xEl_$Fw z_XET}4J1F`st3p=^8lhXQ$hmp$N(u20hCJ?00kNkP*{Mo>3APNNPyaVVDvKcRISS; zfdEb;N1Jyx{JDgLwLuF81sfrU7g{KZ+&>WtUK}l!*^2M%4x>nz$*!URqN)v^&xP$2 zmSR&r_V#^gc?CB8pqUJzXYQtNs@9;Q=m+493=A0Cmf4P&3@HRIkS?aLG1%8alv35_ z(5rmwmoM&OCJvyxE0y5CxN8UVw4Dw)U`Je^xZ~p;B1q7(f)zY>x?lybd7v9s{z~#VJKPsWEb6E4V6k zitaNWjQ~1sBk*7K%>xqvU=e!1K4l%86uFQ|4ayG*XP48KX@#?Z{3mdOtxHyk7Gz?^ zo`iW2Rx-N+JLEzQGnaZ|-P==@FLt;p@54eY&TghSFv%EZ6;V%M@8iV!nO2Wr4NsW4 zLP~S7*wrtVz6`wd(frkIqJ_s7OX;tc{=!rN23Up=y!@K$#WN{1RwH2UF_5y@buL1L zwah^{JWmeJ!V7bZYDh5ZiV`4-%AC>Xz3#u!DXPSt-ombUl0#Q`E3X5h<;h4(L`E{F zPU1wGDQsj$n>A756p&?26ys(GOYlNl=?;2!J z_<(k}+bMW4eOoUjft|L=?l4c_D>OzptDnt7MSk-JQN=Q~NdR+YSBCzq(SH!OB1Xh# z-WMUfGnXMoSE7D9|I+wXT5L<=IvrRhT&HKul!7Gig|s4A3EvCHkHoN+3y|xlUl-Wg z#v;w^u<%8~@FwY@v6kG01qriaOb?&p=1*Hx%sc?9?m{J0`EGcdvXHNmiY;@4qGE%h zVxG!EU`RSZbLx}fy&6%q-=Q^K^aaYJj;LDx)I?v};30ue5K%-wp1@$v$ST6q$Pv!a ztp+$%!PQU(LZa!A&IKKD?&r z+&b*Dw<{E0C(#$e`$!I>SJW97b*oyL)xPuF@S}c zhTlB^S3Q82LiqUrrca9ioHwFs*DVR)MF?*IHjD?r3L-O-dWx6G7Na;D~~{O z2ej*i0f1i6JdJwa}M&iTL(lNdNZd>3@* z&EQK-JEYo4*rM7Jz`%&l4vI>n9ZP9P?B+it*2Hf45WJb#t+-FNxf`GMaQaiQroeiliW>^9JwB?FJE0zGpJS0Pv z%@O7!wyiW8Q^JvFIjEIJs_K21*(C?qLugi~CfkpcbJfEf!c|FSuS2l_1geTS1yRMO|d!pGToML^1QB?tr$SV zt=g>N1au9HTIX`EXY00og!s`1IDCFuIC#hxBhe+02c<+__LR^_c3YN0F18^+ZvX0by?I#7{G z4-sD_IEsfJRPK~pAqD%RkgZ4RT`+1HD$9vjIBN3|W+<8sI;GiBCkau<277PoN^{|V ztkai*slio2TmM4-M|Rh46GXdB^n)t4`yXe}L_*;1bN&vK%TM_`?C>Z3UDC=P@pr6> zNBtcN1K)g^&VGhRLCr`LTSnz`tr%Ta5n0nD0L`VwC*y`oFzAiytI-m%lsyu3;B-@$9)u`!%SS57Rd&iNQv!9T{G% z$@4m3EeXzP1xPEbGMl#rNZaHoiX(>*jLO9Vs=RFqph{#qA5cYrcvmh$OkP7k#l=yg z$vmL)v0SSbH!S+m4^)<$GFko}sB{nptn*Iu0g^wN1UrxVFDNN4E^Cv5Z=Hl^^8m|e z{cI(yA#-Z!LX4(Al5>i*@evuF$-v{1S(I++OSR2F4p5BAa{Tms*~E5K1Rt($At zQq(xJ^FieB4)@3@A&XyMx@7hoH>5DRp+=e5K%(NyqETn9cVNpE9dl;G<;KUnz~(Mf z6L`gcb03ScwgrRrDU4k$ur$kV*Nrz%N66DDsfGm$8FjBwSAZQhHg~;1C z`3RKde3R2R`H)2;4SpNekW=Cfk^e-raBV3n>~gPJ5(#1QMMA{M^x1g>U68|K1oEp1 zOj+hs6nB0(^fN+X7_9O%OGCC>z?h6zb86IlnB~2?=yjHhW)!H^F-2N-2V#o$puJOJ z8Bhr6Uyz|AIJGe11)NbLNfn&{dmy*cPP(BHQ7XmDPZhFfF2TDWtHcrLtfcZ1r9d;n znNq(_8L{I{m*x%0Pn;Slw)w4d@G2HT9E5@7mM$Jp-I@pkr2inD76;HBP|VpM{qMlL z1Vq0WSOp7uERKcUtiQ(|0*tX7a6nHr2nuQt=7Sm9q}GZxQM5R}I(1}shqN*KPr&iYBV+K9q2Y?u%|`1SK}tEYek|4c4Uk}_7 zj00C}K}#EE_jUs}ggn5kG2$WZsIcO@@&J(cMv{APv^-L#;+)zidVi=I=V3=pNVMFe zM;Hhvt#4ZXT7g=AE$od5akaG3l}Da@@=8ZDP%}a!Q^YQiqrRTXMkjv#!O#BU%g_Jl zPyc$LKx|K)nY-`k0}npD@lZN?tnWzhQ41=wVnSX`hbhMv<>*A6Ey@)W9RlLqhpYNJ zg5qenf7&?gR+LFEE9v>uwZn4lnBgF-4kOF)hy8i_q6vot%U!WWpD-37J8G0op={e$ z1O5ouL)2vZ$%%8}QPra9VP_C8b-fOvgg|o?Xd=eKzir7;W{T%#_HLPf+B#_>K8t~i zxXN0SYRzWb1DPt1+#~)&7d?n7|KEV9A`rq$C)mSeh47@EA=zz2eydZ`zKI>2!xk0; z!CaN0AE;%wKl={>;Fqfp6%SI()=p~HfZ^^k0hJ@7qIiKJYh6B}l+zkR0ETRB2qM|b zv5{koh3+xao~@}4jSVl7JlW%1#Sbc7?M6wMolU+A|3=RAuXc#Fc#;;}oima&#aJ2Y zU~3|9s}50OINPvejBT)$GYoj}Bg(|qmyK|wgRYL+Lh%M;JH}$f75k7-MEJIRisB8y zp3-PR{54dqWbZD=DDmk%LTsSq`0|rp5!i%l86SiYZKZE4fF!Ljp|WoBQ31AsMKJ3k z2~4dbn>QAM01K9S((uz;K!TNa?ni#*U;WOLX9sSg5?dAZF-ER6SmY47QgaLWqey*< zRe-+FC!2p0P5pn9>duQ(qycav@tBmfQmj3wx>rg_boIPbjbdIf(9)z>h9O-epP#Dd?+pT1yDW%snmwj>sz;%9ybuv(VHKnO>ZgA>`p$uf z(sM^z>6!=GpR~H2K^5!Yy?;Lw12O#v zbb0hK*wu<(B5cIyMDSfKk_i1Zd*U~+4iO{Ct$9c*yOlY`2N->f4_ss?m4{-dC5p*xqZ^!4+&@|QmJm(c|`Jf!)Asfb(IB@iE8WA$50Q#A5V6z0|U-F4i&A<4qr z!kdJ3x1#ewHPY#>WC8f`Nm2%nKWdIu-0Z}nrx#S30|dOVQm@cI$RiALkWun!PXomu;Aq@!;sT>JbC77 z3XbUvmKBreFrMvbttlha@0Jy}X+pDMt7IvASKc7(M)>zdkr*10+9Z9l zp~WtQYVx$+hNeVoPYb{_0iDybsmQsO0)}U^Rqb8~;omxs7XnFSx{r4mxC3mLv zF&GE<;JA?!JUC@)1Jwd$hN&9G2WnFkN<_%y0;!4D7uXRO2C`)=6-~v!B+HORxty_k z*A`o)4_4(#+h*xv2%|b%=o`iES@4_a+p~vuBI}>S$ji8YDY}}R2g-}%Ni494~xbzN%H=aXiM0u_Z0Qb-YtJ~jNa11RFgl(r=~r%yN@Ft3R=dSTj4*N zcB=%tnhDu(jIH!5LB7nG3F?S;jR_W40tg@;Wy|@DvA)?_bfc9foy&^$&kbn^K#Rri z+ZR8#B_Cz?9bsThk2+0#pQcGL8pvMB`R9Z|urtaGk%8?_B5Zb!4}X0tyc!g;cSbvx zUcnUEqXXD)!57tv9q(av?(u+a&2q z${|o>cF0a^5=dPZ1Tz)4qE+OJmT_tnSm#CFXGOXzgbY%b*x2<*#3;T+P^2a;tdy=} zO^h;Vb`K=dctOalB%^c|Y$6kRRxMH;(}UrGMdWX&d516-859ga7OdBBKW-AUn=~f?X0Hx?|FP2+MeJE?y?KB z$CdE;5QY+V?)qCAGYfGVP77egsx;e^PV<>!m zf?!Sz1zAA=1u_DtN*h3hFHZY8bFHwV_yiaY6WM2${<&~)yc*{Jq9hFC;-UXq*F#M( zP{aY-yBDz%yl_|>s7e1M9=(A03r{7m3Gv7Je()m9T5^14>*oMphB#&M5J}=lf&zOc zDzY%oMfllR@*CztXx`x6H^^Pk6}F(G9g?!HVY^D3a9wTN_Bv%@%d!g&cBAZ@6%3{f zmE7)*oa8Epi7B?5?7f$ZfpTCbm}cjYS7=2h3Q^MB5^@y&zTIAA}-VkczuV z7ViIK799i;bkrjS%oWVklAmG1Q`ukGtp+C1WfB}ymW}{0#e~1=?@z!|MtjzZMF4Md z;ZQ%}Y*qfRd2g6}m`cnsNr_M>vOzYRyg#JmM6e}{czo#M1ju;2|bYE$}3BNLV^!On8()x7<)b zTQy;JM!1!o`AYLD9yprC!%v-UUZq$nbN>nT>W6me_Nkw2O=bJ-_U!L+J8ieKXSw~O zeg1y7J(c~`0lPo_Gu;0ppZw{qQ`u9$cB4I?MK6rw~mIZ-zpmB(MyGfYur3EWOXv1qSs(ZVR2uKEYArM zWO^|Q{_iV%u_7#@n1=mCT)R_wKn#!uO$=Tzu0#bcu%HmceSoU4yDeW}c6${fh{s+) z3kAo3pNJe)Wti33;UqBlp-1o*pCa!K+Z;;lxN*jkI0L!N0A6ck{1QgIHRDA{gqe* z4Ip%bt3KwxWzD7&bQ+M3M;}ikN!(x|u|Kt&X6jkyeIj}hFo^M^Q78(Agc(s<8t>ew zO2o#m<-!1W`lk1Y?8gF0BmwY$N z3$Ye5afz5Oq6U~5W3>DNDHP0^m@i0ArfGR3kWkB_223!b`vs_L;Y7y_V$+&U>FZ0> zGOq0&k4i--7WK=JNR{QmldlC0`zr%4qy8>|Qgmr+4?nOn=Mhp6Y4qLipLq2vKk??@ z{hk*m+a~UjMPFrCz!D!STLDs9DIqZIqs)d{=IilR!=fO#i@Gqq4gtj?W@Dx)!=h}p zuqcxGcTx)9BJfj4tsp2o5d;N_p+K+KDq*Q`DBGtnv}z?s3P)^{pae)1whD{1BAQ`S zTohE51P0yh(0@(--9$D^*dnOB{78YXuaQcv-{*fx<5o)^5e!X?M0l{xLPC>9q= z(G;#FCezihd9tEaND2Yw7Vv3*rpU(kPGby@0U5#&AI!w&6}60}&bn^XZaUr%SG`*J z1Fh%2K4%gn)KB|a5yu^3NswSJU$vgV=EVO7l9Fy0WHmS`yks&G5_XHisb!!ln|z+2 z?Ipm2@M#u8-3_4Fv?J~C8F$+~O-vBf2pM;h?4KUN7^T~4woYI7oX*;kaHHZ-KQgRX01i45~mAzcH!TgMzk#fsOinr4$WaJZ6xukX{+MNp@{H>m zGt_~krUMs(h`40yTNTtqnqk8>Xx%)2X!)Zs$~ZhN8AuI3%~b%-Z9xFlG`^t`Ma4z->k zWzW#xZWseu$p8=~tvGaGJtdR7q~UW{?}p}yYYq91TI2e&WJj5S9Oyt7NU{8$rzIiM zk?eHQ!At{-4<1MZO|GT$Vr-vqw5HNS3nQ~GNVN5#wMHa z6(xNmG{9x#)5ngVI5{^P9+nXuxG8j!fYx!zV_iC`B)+B%qzIi8bj_&+kQ2S$4Nj+s zDB=dLc7K}adrL{L!Uf-3vJcqWi;4f*5{JnKr|pY6jcim4)^%h#!uLB{?H}!%OH5*- zZ!RT#el`E*5@f3A_K~CVHi4ued|bub{dKeLgn{`x6`31JRbOdR7@;<92ymfceM=c1 z9f+rn0S$-=r0_biG(teYn)@5E9;XAg6N1LA@)D#`S5rQ6E@C$T?O{B!G&@UbsTKBo zxG*-Y;Fe6FG0*D}=R~o}=?Ruk$Q^=Jv|SHZrc$n%lPp0RIGo{p z&;Bh-h|O5+Y3y^cEd>@fCd}I_ydr?@#LOu>hWq`gmd2z!2O4b9Kglg3$sZR~l(=qU-T(M{OP&hX4%f4qaefs|Spai}`rc2eZ40HTmzLVfdy&brv%= z{c|zhy+7rHu1u9W$=gfzt8zbTxB5;iTHF{1o0@i}Lb98B?8k>nss5t~XpDSdIndNa z(P7}4&lMtv*;D9KK3y72F^5V#ij*@JX~xXjfNbt3OMCP-Uu8MXm!^m*1X``X z1gZR~mRWdOA{zKCCmj~Y`Lj@dit|UvuQJY`#SbD{j*rT>UvhX6=dW7C`KynmjVIHl z;{376EuycDKUtFM7U!=%5kga1y*PgqeE>Mn3UU4v#cLv(U<-K+Ph%hFkNA7$jMuU_ zf9%A)KfD**Xxk?l6y@)Bo(SEzTL`l)_@Tm;5MdM}K%E|N=&mokA0qkU@P3%oC6rot zKO$)$u-CI9yk9I&So`e4I2Rw??;`HlxOLQBW2pfNW?#k}FX);HBguSpzoM+qH`x}= zHIedSX3`;Sq#f<>p$Is!phU(LFuc-P?!{J_FcPdOIfX%GSRXm;6#t#Q_kpvkD(}7b zpEG~YBsqZqgA?mMr>O=_ARt0axj1`-Kq?kcsfJg3U$k0jKfIMzY*UR&TkMBx>HFdp<^BGiXYGB?O#Xqz-hRAA zCugs<*Is{~^{nULde*Zb(oRxm5+*|dg(_Y{iV(-0&c$pf{(c`K~WOug!H!yz&9HN=M)v} zSDO@nSV8-Tq=-Dy7wDLjXmlr7zarcjyF&@5C(te)Y>Q6|5$>@?VEK!9AqM(Oey5z9O4xlY5?raAx+tTtIc zH85)HYOoQm5)^K#3<~1e8J_4o;_?ZX8 zELH!Z5}VkD$4&~#LNQwvE#oKS(nWrd8ie%g=r^!qS^Aq>Tvkcm#y{I0k>o|D{XWRH3b5dp)4Bh8>NpSmjQCb~DY(p%m zEM%zkNEoki!W)?Da-2FmVZ5LFN2lw64nQbq)9ac|cd}9>Bh2anQgBNTz>j7RV9ugl zoEw)&!iNSSnqDlh8`Mbj`WqQp?HV$qL!e0?JoJw1t>{+RwnwSQ_ zoC8)_K@F@rt&$!+k}^pG}rRa!Ri!CAav^gtR&sg zDY|YXO3o}LR9+|E7qiQmKgMcQd`{r}+yZgQPjn-6(dR1Xt#SkzdCyu8@yr7M|0eSk+G`z|NAh#Py*_w z5wK<}Zy3dP03NhaFn@*u<~+;jAS*iPrlrOIcjB{D>>lzarnB7UST=eFw%a}Efl{pj`12I7v7jYT1vay2vZP=vJJpoU zgL3Jm5rAtngQ`)XyVM(&V`@<9;mUX}VlP`#x0nO_3Kv3()1F4qLc54g<+abJLPL#W z_7NMk&LPBx5*T@8XrP`xzg*IcebA%X6pQNV=z$cgTK!xl?vhejYwo^l<5-o4qdLNJ zBuLX#w7b#c&jc%w24nd+TB}?33{r_MM$4lNVog0YjCG_Ib1I8rc7s`6Mrt7-dd+rM z?NnS)m~>J)SZC}t9IPtY&oi#A08fA~N z8rMijf;0O`wr+@|mS0>4V%occlO@#;RN{G@ZsY?@3N%~MRD(HU2Qo19B>l8FUndU0 zDV8@NBm*`A$cjlpe!$S&VVqX{CC(DgDp`~Q0{+>xFF26^T&5+e>wB~i(TyArUI4F^ z1A(;l2N?&;8_^q)m;j*?^{ATm=QG@BqTq45R``9l-1$f}g{v!OYs(J2vGvW?VA1v; z8FxEHu%-UO2Wb;~X7K5p(<59WT6?6i(32nzd5R%O`tczMQE`d_tf+7riP=L92IL`$ zN^WGLkkB-9@_#MI&zLh4lc_)$V@4wcMM45{3<;;b1}?b?*2=7h#%QUUKl$Cg$N~z0 zX=nY!JfvS{9WJGM@R#n@LO?Qs9Llf9lvWVf1#!YU#u||G7M-O9 z{e!8-r44%x#>*Fr?j$S{WDh~6B5|z~ZB(=)aoWKz^u&E5k`@YromdnEt=;@gka*zC zI11AZij6l2ggrKzub8A>hKXh_FCH9|RfKn2{FQxdN5~~5*yq$ce(?8-Pifsb#QU~U z@ASCWZKwyXGu5pl*Nh3B0R|K0VoMG&b&^p1?Mm9lOQ1ksa7u)Y11Bg zuK`RoUbcd@y-BugO)0nrW#Lt6VS*|1Mpq>(e25)Fp~8;ljTW)CP#|uSo|zSSpT)Uf z762>J#@J#qh?=~++}f3Bd#?z7{K}-l6uds-zqJ5IPc!GgeJed}|2+}ANF*?>jR^a) z2u#7lIA;m;QS`azt~vi5ee#rQC~i`LqKPa9Y!}$TL<)U-d&;;pOj_967R5%Uztm#UP*Z8!iX&5YG&%PtC?47 zrszWjN?=`qxD@IQtlIaJL*uB^#tUioj!zb{6>?8#T6Izpr9{fGBic3InkeciukqGI zk}j_C=27=^V*$TKRX!fGsrJp(f;Rw9Di1ZL8wq&iw(150EOagGid4pR*)wk8ES7+{)G z0@@+qNWwt4#PY|TN!H~o-fkNj|^Z~*91#W$+^Y__?*AXZy!gnj;(-?SS=D|iBs>2Zw3hfhz!!s zlDo9QfDwE#TVWv!f&e~e?1cyk?8p+flu`JIOlYkI!n;)OAeaYxSJ69&<-y)TBinOC zk%PT!*E>asKS+BWddL2Id-EOP5p=XF&aaq6+mRWE#ma`N0PqI ztE4Is1_`)3|Bh9xvyA#Wzf~!n*U1sMF(3=QF`vn*#)_a1%rN>oe6;ZiZPRw4hn z7LTZF=Lx!L2029eu+q#v5>2Nmh=6GYqqazS!v+hpU;Bu~s^T34-*Y$_17UPdEDteI zgc`Kcz-ow>RtQ&I$&iSnoSjF&)dp(jEwqga)S+X7f=EAg!vBO-8kVL=C$oxP#PmX^ zu{v{XeKCur1EakxNtG(A0DDh_lnlp|&J^Xlzq3~Y0@fz97gQgzPAcxQUWn6KW?31X zuJH;b`mR3!!e0=)0}ypW$0Euc2qvKgG?LL^jj{pFf|q(KmRAffjBOUY4BRj;mMNf8 zFFJDVGm>#TC(T9HwPJuK>xpctsCY7z zQ=yh57ozd-gB{4(vpX})>UYcL@LFa#vFsxOOGJh;zXb?%AB4s^I@#g6Kve>_SR?FeCgI~ zQ0Y}0O9dc{Aoymrklc`1L79yAsh9)-Llou#UnThbzazmB@ntR&yw)Z{Q~!&C1pCso zz0d}rhOx^8k|f<CHrJ`2mB?k< z%x)yw$+c&^vgCt_yf*MpU-`2?*>lrh-uraK=6GgVKltkp{?kXk`uJz|E322Rbl`9I zfB2vN;>o{!@JVGU#(X;P&tLi4b>Fz_o1gh7Wof??GH0v?AV8LD%gK5Ui|Y9Rp)>zF zl5ng%?W&`?wQb?iipFnA;c@9s@WMB>s|sDmU0y9r_B}Bn8-*MOue(T>C?7u2$ zIn091Dw8Z%@mQ(+rbS<0tkL|I;)$0pV730=vsP;t_}!(|+U={=7VS#5Vr{jWYm7a! zS);VDgP+;8Q1#RIz{nF8?0TV^-XrY0$iLmYT= zl|oCb2AExOdR1m)@(bgwY_x6O20M04U_I9LW}M-^q1BDfHCMdwP+*gMCXwX^-*;z_ z^|-YtaBMpH5%Q%9v2AAHo`f8mwd0q^k<5MR)=}&VwPDKODcF7;bX!OA8f|`U@pRVyGS*-!Zf+AJyk27cd2$wJgy%VwINihWjsT@|4}g+tSnD+m z9kB*GTrRs-I3ZlE-l8>G309MCNl2M|`3Jsm&70ARSQ<$4@xaU9LRY&beZ+gv{wve@ zBcH-uwb3KUVl&>+Xuq+MDoPD*jWrfYx4QyD+9mls*Ku9=y^tZ|*U9oiho(3_SCUy$ zrqtcXl8f%XvMz;x;F>ql@X%W((c|-L>K2`jmbf~y(J}Dy>l>Xr8Fa@Umf+vtF^@~y zx8W^0x+#C1tP}6P1}~C)hTUZ*Vt`u}UUnU85Wah3mR#7U$AR>^f!H3~1`^J*gLeZ9 zuN+u>5w;(^ud?_`e(CsviyJ+CY#&qUPh%_=10d2sOgOaXp6k0V>*)jgyR2_0gSdF) zU%Yw^kis3C2r=@@*=f}=xcEwa({Ztsqdh=TyKHx}d!L~?xk3Y#6O7G$@tKs(vcig; zXjW$bFE=S8D%45_RH~I}rIJJ#k4x1RXHTiEW)VcM_r}avVkr&i!P{>5-H(3lTXvAf z^-riexA+c7Bdwi|(Ev-?sz_>LW&)k4{;8yH`p;6t@nKX(=0Ckc2qx7myRL=wZmM0# zG%{A)O6?4)3=EVi4DB@P?Xthibv^l`x2axg8c0sZvhE#uL_ygl0^g0bg5E&@wKbrW zOmE(1rba-%+G?r7)~^?LAoqJP)kBUX)wL9KB6eL}c6^b5hh;}e3WM~0z%4(W^y@a| zcj);623-39Wqy=mM$qS&Q#9vV-jKk2*2x0$kYQCOrYMHQsPKH3&l3iRIVTI4ZJ^>W z+>c-VD^3>Zt&9QGR30s`vNZbwjulX)Y=cF;8iJdg%g&X@3e=+co)*Unn%yZsgX}=Q z-HH^~-cE6j6&%t}p3_A5$>W8^x|jbveL28Sp6+E}m28;&U=njbdCHQBHlnitdgF%x z%2Nh1+X;RxeJr3|3`p4TqqHaL(uo7FYt})4gVa@ksapN*G;S9m-iIm^8zqjkW|(VJ z{a7$&mU}FcSy07{vjCQ*n?#tU)#?KtmhpPg80IP%5AQjs$T=&Rw0NOBptTv6)FW6V zV}*?C?kMqbPK^q)v=tipwhBhCz|Hd|n`-N`h?)-MW45++{EHH8we_HqowXDpghiTH zf*L;6`o|>bWTvx4WuN8UI=8i3Y6@deeQp)~Wfjfw;l1fKytTCk4MbZx*cde^dR+{J zP2IWGUQkxs(*)Z-iFOOBwePbmYftdcOd2=iIB9W8v(C`gE~XuRuF5*!Ixi&)c`a+d z>LUG%e=gbl`!+kEgSK}uz5yI9LwCa%tP3V7#kY-i#EOdv=ISqmz&bww|4sUtC>*6|n<%>E%&z!wF{!l<*r)C_l<0hwbKZ6ADi`Zs~lb{Urr=Jvq~1U!73b z1t*#)A+v45MFELj^%-}a(6sE>4?&3A9^!l=dn1Z(hjVA+3~r(bkBjL2JZ!cn#m|0IQwS zCSQBKeil~zLBd{VZYU?HoMN8C%eNr7ILfmvAd){|Jrl!%GsA-NVPZiHKNfhHcu4t@EY92!3F&iEd|3^&!*Zj0vz;R z+mEpj#OP4w+$_dhg;8RZMtnDVr_aI0O*!?CZsj8cHZYDnd`fB0ltnVNLCMCQcIbt- zpckuQ>m)}B99db9h+>v&Ic?OS7Ro}Po_OS}LgdtP13M+_v1$&ePf_?vsRzO1h>IcY z)j>WMVr`Rq<46u_?FKG8R4TtFYI-)6F2w<=(Ct%olXKiR46wzEmp*2v{A!RfS~$kB-T zPysq=uB-KwJRPKK3d?fYr+heM&ZsIvR@22bDcIH|3RLoEKD(ERs1f@v&i8$8ZiXGE6)J%={qnM`-2^e5^jR*TN;4>cH@y zc%Vo(Rgr^r#$;X~*#Mk?i6>_CX?h`SR?=U@_UwL+^-_p8?*lx0OtAm`#OIEf5{-7u zTI|^hoOr1ToY;TllTDBjfx11vXTPA@%M%%klYZMslL!UA>qtm@{-l+7E7C)HdNRb9 z?ab-jrj5-U#o*7itOD+q)vr#sD;$IHNqi1%vK_D+sugKRLgtO7=1uMXt~#TpAif7_ zifA4bp4F7Mo`nwWR)_j&n_|Tb?NZ)K%UTI0tmT!(5ixf2{iKN20;vJjnR9wjLF+-_ zk0tQ)TMNG)#0NTzGR<2Y(x5-2j@q6-r4$R2RQvYwHBcslNH;}!LJ11LTB|6_>^o=` zczp^rTEAc!doz3Oi`-A&>U;+bpjwX^gT!-?n|}%03h|yf@!Vuan+L#}L zj-+T}IAK2ZDX6xG`bec-HHge=h0ScvPPsnJpD0QZzy|`*=pt-uckQ^6m*fwBVz2sU z1CtYT9vRh=UIECsyKyZ45=DX@sMB~Iv-SoAoe4?&Sbhi1Ei@GZ{KqRG|R@)f{?W(<(hH4-Bv@3jlIQ2ZMI*z zEf%(4W*&P)XMQxxn5D?lEiu7{z$!9dEjArn%~v4VQp7YFagE8Oh;KUCS0;NkP{jf_ z^b}^Vz+P8kNWRE1paYnhV-F5I>;N&@9me52=p-vik#V4Fii`uwN)CyN0%^t@Dz2#s z&&5o6YIvMMWLU;GkYt(utqgQgn>HcAVfFT+gT94>%?95tL&sgdyW#66c3Dic-JJ#! zsS<}!F$+CWm?9N3rBx=}Fh?DLTNNs%2zB|2j*5W>8VUQ@NM~{(pZ>Ku?xN{g?!6y+P}tT~2T6lur8@Yb2k}O5 zbx^T>k=!K{qiAS=kmW6wLvKqFp)jg2OiTF zqBx@DGiYVbnPc>r)HC1qtA2p`;5;$l=Jhipn6d0J->I+bOn3z@Yzz$KE60BvefSr;{P zY&hTbw-UcuV>%CE4&u`lYeY#ho;axoCFU!ALWIU4iCW-s@YO4%9zz7g= zb2S5xM)@bMT|%>Yw-y3Ot5cL97!nS-pe}o*pcm3E20&W20^>-BlpB)|pe85h98&{- z|*3ayAx89?V|jjzPp#r9R4xw zsL|Dz>wIb#2b3T>kRnd2f#E8u)pTHPzE>5@c_DungzTP$5!OZxOPZJ2N7Up$>kEp^ zX@ILOr9PmM_km~aCnUs}1%LBLDXzV0?%d7$KwF)S=PjGiOY}>`DKaeVBKZ&i8NPU0 z9%ZYdGkEIO2`+uifisH9gOHKbUJYotncaGC3DiXFpGCiUi;}(~f5wN$^QjJvI^q9- zuOwDqf;Wi-#C>Z6Iyu3eqz0>i_5tFjz5(Y9Ry-ZlkC5n`Et3c=FMJuW_8Wu$19 z&=|Z`n`hBb>!mtCrelysL|v|?ZO_xy)TGqs)eIn{8M~_F9VS6KpLHn`f+O$G;B&VB zcM3t}>Eel(%&5v3H9WY7XnEZ3ei=bnLNF;O0(RONdLdE)5!OlI%=QVfC=iiB^uaD% z(S{bPu#TRl(vz5ATsyD>h#2a84tDMaR*sa)F{bPAmu(E7(wqnUNGZ}mui`3IR8+?8 zx|U%ws$9c)ygz9Vbj!N7OA18P&ys074kb%aUCe=+p~7lfOTlW7pewO`sBZ+egOpZe z2dpFX)od{k2T>46cRk@##=2Y~E%d1wWWpGWb63?bCUGirwA<)3#$cRF1bw1{C}WP5 zjy1x5gJ}j$3msNvindtjI2uewi-m3;7CI@p`kbIlVo&zotaAr^J`d}hkvdApMQN%x z%Un;MprSD3ro9llXVgpoAlQuRj2ffXq+-rkYuUz$kh!%NZ-#@^w%An)lHmf7zV@2r zV-eNfX@UXF93@k56nzaB3xI17);y~24M3b>wN{oCF5^tvVo;-IG%d+9?NNxn<}vHy z5;KOAs#AeY6*EX6PGT5E1bAoBub8BzZ;(zo(A%e`6R3ePo!S}-Rkqi4wAs)_)gHd0 z(~npW)z5(cQGTr%XCqSit>0r=`cW*vcqb`{xOJ4Gxp2JpD?Up<)2G^Y;X|0yKLnqM z!0wx9m>v=hbvD@15F{@R#T*|eH46=uaUdGn=Z1#ieL%xGp9eIw(uRiNeG?6}@>T~) zLLW)&aqOQWf|E23p%#`i1|p`Cr0A*SN!5=CY73{3Luly>zwk7t_AZUR^XElx{!W|ajufh!1m)koTBhgG(00t8j$8$J9JWd>tXj@YQpA(rZKnY(c8EE`rN64Pr@^ERT>| z2jarwX-|0u!H@dXMPOhmD*M+jL`#WvspQoXqUW2gOGKbT*M*+XQYWF+$*Aqj9a7h22NSC$ zjk>PeR_eNKLDwZm>lZIllojiWn1~L;1qC}Oyq2Ebe2dmQ>vM#pS>5#dr3{7oORZNk zC2>1I0IfGgC?RP|@0Z+KrhNzOO$1G0M)Da+zc0yO#-n_-iPIwgICi+$CcTWg-Hslr zd6^!~&)ig%IYir0g(a&Fr$u^4LX(LKlrZ@YQtNsRWUCjFBH`J8I%k=(++B46<7OW1 z1T|a45I%f;ByXnXr$SGTr^R@?tQ<-HvUB>TEgY+q&zEjTG2g`K6zG6GP!UM3%Hqxha-^eDI~-u89QQItXN3}x{&r&uwvq0`72yw; zeAqD`7{Gm>4EiXqfXli304E)KdHUmf$zVrAjuic5ti%h4Jo9F2x z+SHMKAAT01H^=wkc@Vuhz7GcwJ>$ue-3S~l-v`i0*yO%mdWwt+LK%z-lHXaE^;bfl zBD0Fg8x^z?CJ<`&O=Egbl2qKm6XCYaWS9!3A2q3l$1Igg z>%O*g4Obu`oc5thYZaoXBM0-TK1T$Wp3;t^U~)I{NQnZVh^5rWly&VvNjEWvDrKv~ zFoX<&2%U9~nc-CxvW_uR7lN_2w`DM3sUaG_4~3o4nlG)Mda$VQQ+S9l=)E~_pnZIV&e%bBh*{gQS1gRs?y5Hb75sP z#}|58loY(_wwoOZ^Q=7xnH{UYEAyD4wbV8(-ZqU?hKHp5ANqns>OwzYArs^%;qPt77jQBvGl0?Fc_&Jx-qDxD=lqwX&O&Qi6g zv3x1an&f@rHMl(cHLEevDTPEHtHvdZb9{y&kstuL3O|YJwQRqaz&P@g;Tceve@vVZ z;-kHzv#Yz>GjINa+QOrbUUZBs@&<8(ckQb&Octw+XyQ3`%H{r>L9t$c5$AuZR9}($ zJEdMyq^`S#)bT~?Hl=!s)SXHlU8FuYEA^*J%`e_PJ}dS2vr^B@O5OP3);d3?RN0sR zs??c9o&Q6rMMdg{kC0kYq<&ASvh~j>Rrd2MN-Zu*eorYuqWW7h4H#ezTbL&qSL{Sb z>x8&w+tWx7iK~2BYedBqHNAR-`*r3eAS!r^3 zv6~vAYHHP>kTe+fEMX|BH);~v<2BbK=qs0t(F+h$5*|w_aUv+cH(UMTe2Ul1wu%Gc z(@Bz+2P0$@vMw1jllVxgM?xS@DcGr@NK`(cw|LD+hDBU^;Nyl;F>_;Bnc)EO6%MkT9ht%@zkSj8(UxUOb(Kl<;RSwRq{$r@~Xa91SaWk z{?ADX7=1WWf{VC~bQaH}t3L-)637SKvPnxUQP2|hgwz)TooKASwb|ACJ!a$h*LS2l^lEGr`*lD*pkAZ- zqH(!uSe>M8AES;Zg+-=rVF8$0ASvctY(e~bYSO{(B>XdG&$t*Jt3d8#mfmv0+AT2#f4wy5Cn6v4ok6BZwe~Z9I{YxJr2Uh z*!hmy*bX(!O?*wr|A;ikKcK{eoaOB(bLwUs8I5S$ViF>2i^{oN3ntn#h$~A{?aR1W z=^j+J0=sfErm0$OapG~|W*T}aLTy@Pplof{+18V*^g6X(e=EjfV}S)A-xzF+dfEK7 zZXN+vQEmwg7~CPTSzEYjyu#*DdiTIn(bYuHaOJs`gtv=?KjS2v9b)#J?O&bu6&a7! zoRRU)LV*_3hg~2K1Tqd#0~zP3CMW?vbZ{(D0q&yi2}3ri!iFqa(DsswOHVGSZs-w61TOKxQS;thaaK-6aVm6iSq1%}dn*p@rysg1n*k25nfyK(qm%kyrYck%pIz0M@L zPUAd=HMm}Lj>El$;xhg}UU4d|kuHyxH((Bm#)E{o1d_u~hGQ5%y)w{X&xVyyZdv^( zrF!Z|>!-7B{;HMwF-k@CWA(GRzED54`f;$OZZktI%#g{%5&}KNjZF7daXt)#^j@8^ z5F3Oin1>mg?aL$Wb74E=POYu|R91Qrz=y^U{O+&tqX?V_Kda1vKfeu47QV{vJPwRVLvmx|~XT z3vIv!<_3e2PgPSAYBGo{i_keKF0 z3&&wD zl(d=cw3$`;EplU%zpqU!1yd{7)|^plw;8o>ys`@0RUq;xnp&Mc(c+w0)ts)LRIDW% zkx-UPI&``ZVXD#HXlHU6rUamvk^2Pm$h6Vhgtzcye+$tgNuUDG2*&peXHT@DQd z8qKKf_LwWQBtWjqk$AH}1iM!rQ`M}-xut~tn<%S6Dyh}XmK4^tjUvq&VkKYUSlE^C z=KJp28#r$FQYTEeifn<3w*>OF%gI-|GX`5CAYXwH?S?AGQk{jgm~aY92uP;?WnKAB z>c!+*YjD~X!reGN>$tn|lI-~GB^UJ}Vwp3r=nxB4BkjqK=ip%dcDE)NAvSlWZ({3neRJL@nXL+^ zE?w8kLE#jmECgVQ4@;?{a(BQX0=-zNgv2Cv zmsjxYr(l=ri9%+mz<9-ImMQB%Dem+%qelxEBi(MBCA4&)=`^~KOt_10UX(yBL?C)~ z?=ZPFLT>ZZS?{EG^G)`fub{H>R!8>hY?1b^YaG{-GTE<7jIYLIBP0;qGHAt;FuJnV z!Z$Q}CF=E31x8t5Hm7XsTkBOr%ofT44TUE6w#bv6$ddw|dCzxBY&4Cz78GfHwa9t< zqFKB>=MEtt$nNen8Mme?0v#m&q|@4;mHFG!aE3OhK}aLyih~gAT|jHgjzMUkDa}rp z3QC{4seVk3eS}##&IR)qJUO!_pw1QBZSriGpB>i%%>@CP$H3YOP%d>)DteTx97s*a zY4VP{u6~>uEeI?H?#No>v&boPVA|6Mo$ZB{njND@0O1a8Sm^=*W~l(NzyY(e0K@{Z z%r^EC3c&CMGh}uOH?45^BCyv*Ube|z+swc$RAM5WaHXohqX}qPd`bI`1nm=KAVd>P zDa4wb$HLyk(nm%iI+hX6qn+^|EgN|yvy_ZEGG=T33$sYM=ACaQ{rQYGR>Wn1O+^UE zb+4*x8L1g2d@0Ea6Ckt3(OPgF`mxKf*dA#hfM6EmA7juB*|gxL_`m9ZK-Ji`2N)HM z%!ostykhfj$}b-bl8S|lQ@fl!AT1EaC`qw*jJwQT;*^{ty%1|y(U5A64&R#4v}kLY z_%YyP|Q1-_kf(X;O;?MRN<1TM|#p zXjB|VrdcIv*55ag^(f_V-(F{SlmK7h$1Fag_O&bZ68SPz$LW8;#rB31rk^Qt9I`p< z^%-13AYc?k-}B;p#;WLCUS!&Qw;4W*pRe8^w%VL>&Ad>=_0A#U)F_SkOnk*JjgmLQ=Vutv+qqklXS`0+d z*>Oz|2;4A}s^LYL8jXQNV1y_su*=k3DJO1fHzXI9awN{I_hbf14Tg zRcHT^L67oj7F3Rs2bR{-tXYMrOJXc%6)f>{`dYP5Gf70xtXR0_{YpG@V-OY*6Odn! zUV>G&rXHn%nb0xP>_0HUJjg1WnkZdgs0lN3Y>fV{88YM)1oX@X(wF1L!eEI#)-AEB zstUlP>{!u%=2x?WOrzmM*+Lgpq%_R3#Hup+0sU26gm{%06C=hTeR_xisuBgGzNN}s zLQ*bs+^Qu_S*LJ)*_)HKY&s&iuy_+{`HCl9o~{j@FGYOEFK%r8{P1##a_ zIp|(+*!}S#_E(|R8ew@uT{8d+sQ-NSSDCBGwhTdfqe5i(9wHf<*5~J{afJQV+NcG@ z(R!?akcDrMyJ3`Dr(fx6MSLSg7R$+`sD^38;7iFnO}1i6`Go>*%71Jp@{khntrTJf zhRO!E5q>R$HuI2x?8G9?7L~~X02It9>8*e)Wh+qaP7mK$R7j4sC+-j3%M*EoshWHz z`Xe~r&^Y&$yH}-f%q6S4qH7)le1cP5Sdl zH~D08w5dlLc|`pLX9|N6^)^3XF#s8%Xi3YUXi2$h$?~iva;zmE3`evz7-IrA6@#%# z)s)YJRVv4UqEed&Dz!YT)MljUzQLl+Vc}J`h;~6Bf+*^Lg=hy@;S94yJ1iT8Xa@n& zf)-p{R%`Z!JR6`f9_tG^HbDEBYHh%R1JlG0*YX;(1e*F*yLKBuKCpp&H#yX@YM**S3& zQdlc2P?uWd?j>!JMXn!-D-GPkIQm?0cBS+x6=OCJeTg_m1ehq*O-f7H`7DMz7pL7} zpDs9e#6JuZx9tPtsQ+{!i{#gTGDszV5qp$I3{7o_TehG*E&+oG?pscHsZpAIa`vid z9&cdM>4$G{&)&2zkAvE#y}0Y_O?y!c=BY>jgae^Unv86!8>>a2jD547 ze%lE!M=ubBW)I;=20(HB0AZkhav)UU*Mzv+a>8ueVI~M990{U!vYQ(L_Q#~$o6stoO+bnhc38i zQ&~$Ea%Kus>4d7=bEjVpw($D__`b#4xnLqB=HnP<6>j}lUJc`iFSs|?a zn9~6vkEn%ulC*{3bq1hDKWzCu zwr6hyA6j8H2fugJ78`3I1Ri}Ow4Csw)Cs^vZwtL0*^FZ`AQy4xO=6a?R%DojH%o6f z-IzK(lqvNSv=Vwvwx0ktbp%qS1%tr=3FL60O<_{*J%IVn8Yjbz24oluv&I2tFd9IA z0YC{%_BoiKaBRy2V?jhz6#}BV#hbKfMTE%}JT)sho5@-e@)OEDgv0=BhaDITF{wRc zY%}>?|5d87$YqCAO1}Lp$~r*KcM`4&Oai2p{zTa1^i~L`|CR3(?uSqL#xf+0wgkVN zVFj2~5!UJNb*X*+4EQS2NGu(m%nUR`5W_Ue_bDyqKA)j^yXZZCmOMky{7HLK4Nnw# z!afaA3MHylFr~t-WW@(0hS2!~pYc)J=8-#T=g%^7+d7i1MeT}+$}l6#7d9}Ey57dH zQP+i+vV;L{{x5q9jT2)yWd1kP(Ezqp%O&~1j<$mm@A%WOh8fLiSW*&v~iOb2v+bm3`#*O7z z))AXbm)uhB;Z}{Jx)Ov0u$%7N8|5$0AK|C=J4_)6V44@V`KU8lT=1{3B(<;AvLv5s zS(1ng%!{$ZIzL(#SSj8}jlLuua9JSz9`HB#z1pgf0&<`utUJJCHWihzCApdlh1-fH zNv1x7E*Pyf6B4K_5@ER0lQ}X8NwjLI#_>2}LJg-l;psSn^ZchBM6!b zN3zQDhO-Xfr{!E&u&3AzGaAbc!ldD)VqGE+ZRPcxZ9W6q zJIKr6OJb81i!asoN=#Q$cxod)AJ_%6%IC~Mw(=mmc;@%NwGrjt{Ovpbr&(pA{LlCN z;JS(ow1n6H&d&Gf(P=IH;?((b&;8g=3bczrcCzIk<$v|tcl={To;2xM*FF5@%_}b5 z|GL}HitN9YuisrfeQ|dq3D5f;+EBNu>~_}VV?}npUbNxUED$$Og`X_y%k=498vmPo zs4r)7vt+Q3C64~4k1zOf{YPK8eK(2q>s~T=U+u!r-@aR`wH-W&^5eGWA3<~CVS4oQ zpL;EH;L+8ysJ4hYI^A8U{Z*-A4pDhDO0JS0H=kbuI>FrLrzs(dZMEG@OgkcqA;;g| zh|jwA9X&sxUtcJO{M74qXK@za&S(c#wf*gz-}1@V(KCqH?OA-*$OZqnZ{X%1oq79N zulS_}PrPUE#b4Nc`|kU1qC#^4^D6n&YS0IJR{!cv@A=w)=Y#3*f92ahieAYF8a1!( z{qgvFYYVRh)|cP)Cl|ftEq|=KcHd833cK;5b&mSX2~2~{(vKgpbBF3$mi~@)4tW3$ z`^_)hAj~?ecllWt{kVSo-r|AXVy1(u;daxSfsuA$7Yv7S9~>OOmRE-c2Q7vB95@I4vo9Mu#BWs zULQp>=`ET4zUxEY5DM~2Z43m6P&f!|%m1wXX9=+L!y-5IAO1^YE{8G{HKPgrM zBe}}X2eh&h9RsqH?#4=pll{M*m0+JKSc!y}&d=3j=UG|jgE*xHc2a4wlS-4FR1Rb( zl_one5lQT%(qt#`3t%T!)$?R0l|!%-Y$S(gCooU?7uX381v?Rwf#p|VCpz2W_aKz) zgm^6&B%GbZd_Rkw;6ih=-1`EtgCvQ#ClI^jP{d9=?-0aJ7n>Q;j9(14BqnFIu`D1d zN9fq0x@9EAeD%Z>UzCpBBo0@}|3*wiS7QW_$Fr%s(RZVVG<^G^cqx?d(7cp($~qZ` zc*cuSEButmv?A!u-j}5C#cd}p>opSlV)PzXhc`|^TVF(UlVp%}in_k*Ln5Y;h^dmV zg9V0hv`Pw^_P#7ON#RApEEq>_Q80t9xi@3^BA7Mq z%{-WUGr#!b@-Hs4@IyVBdovqp!M&O5iOs#aTkg&C3isxDE$+>H!}hE<;_l7l(9EW+ zTRK0wk-0a+>*u&Pr-yZKrVD3ae`I4uCZZ0xH+MAMn=z`Hdoxxtxi?$#3V!6?jC%p@ z&G;S^?#*(DVQtT}76Ni(z|1WS7=pX4PGNa-d5U?|TJ%HYW-bkw7a$6y%1z!zjz34d!t zz`D9L>N+jrWQ7>81w4uD{x#lUsnMo1QG$@XOdE8qk`%(aEj^lII?ly*3O(a`M|x^D z6xL0C%MG$}U@4J9%tfFrZtP1=Pd4f)f1>b;*)6Y_wU)OpV%jdq5CUBH@Lo}m_HJ;4 znq9+6cVAOM6$q|?bdQ|#9Q7~2p@z9&2)4~{o$oB?LBP@;&;LHqiUgY$Xo;8NKMP?_ zfD!ViPcVonA0wQ~XF1ZDlX-=gJg^Dsj&y_|5O&Mpn8$SySl`l8raj}b_~lqf^iv&a zuDD;3S5^8ILFV8`ZfT9gGjOA}C4#O(uWWzr_uZR_J{~!$x0r*6XqKfH*>QFpZ{1g^ zDB!I8+%9P#_+Pv=zxLhNcaE9w0(8^$B@WMlIUWQYGcK{U87iP+@MTbK(f`m)8A|)1 zxQNYyPIZ{rEQ=0|&7vKN3~ItMgff(dy9BE!%^VP$MV@e+CJnJ!Fn3#Q7U=_4frf$9 z2$N837GP_XO1bPVv7;kR^?;BmvJ+Q7l9Zc=ZET?J)?S4EQMI@$L2V+arJ^Vzpq#59 zitIhGO~ZbP5_?2II}Swt>ZH)YT6U6|sSkl#`^rv@xZ zW7f1K@>{(C8^CR#4<9b#L!Pn2zf?)PzejZ}S@b%c4OD z6*L{6H?(*S!(6nqO%V|V_K)MzrJ$RI!>AOIr%MlE8=qCst#9VB(_xzy-5IpJlT4IQ1$mBk9~l}x9_~V5rhQt?fBfCOQJ%Cm zY>Y-d%KxX{#k1bA@nUO=8OMWQw_H6;>o3@#ddIigcjOd=aWH16^)5q9;pJV1Nx8G3 z{-}R-6gA(~Zr)|c-hFdxLnZ|>%tvC*h96?6A)_-!CYieoKcEEN$i zbXc?mxNBa&EcbgU)_C%;N{cJ}fT<+Vsxf6KhSOtnW(WOQ2y%KXvZ2qx#>E@7N$`mh z)f?h82BTtKX2CwGOf;Yc?#*Hi_k18&oYb@g0h(Y_r|IdetrG~c_R$@eq@EbL3Og5g zIk0+Yh>n=2v#cJCxc1vIUEf}V06;dOTOW$uH3qbX@aAz{9E*k)HPZYQdgv8;5|V47 z2o;^tIW?NhuT5&NpeXx|ns5{KZQGErbvP4nFap|-nPGV}zu}+Jo#oL24EDlkzxPDa z4vp}Eyf3wN0~9LNcRI-cDsopaM-uQ_@{;x=W3`WwhAAWNnQ>E%opcZV0zF!ofIOji z8DPTVwk)Cg@6Y76O0kSC+c+9F&c;>@7j)7!4LU1?dx7NOlOi`qh|74V&mU*J%&9lv+S z&ZgkADbrmbv_%O*r4r3CWweJyL&rLisILX^cFYU@uiDc522F)I5DBM%D&tht#TsW; zw5@t$F;z)zL{lsViD*(>X1S&0l(BP!fb@^vQ6Rk#rbPNMxl711AOGh3nm51Zmw6Ya zgBivAYF0;B4>qZz-k_tnAr4DNNK|*sWJT;{1dJV}WUL+=(WFMn7UnjO#IS28om&Ss znNu#l7wqwyTB9Ph&uf_qd#f*`t;L6EYj@F>MHs@B`uVm+JRprLI>@*d9ipw7qAgSg zAgKM%gO2NiivH!K3dHeNV9tPp<*ns}JYx@~o1jEg(LNEpRS_KDD5GeCP?;Y9CnSPC zNwa?9S^#_*2VY4NJ+Dln8P=1e-&!;hoh2qi=P~x|eroZXk3d(p+7+9wD>z-^@E@EA znH+WS00%+}8ac*ALS)27g>Qh$KKbpvbX$#v@iZ8N47L(8Qb()HKr0PhoI}63J8^O! zIp2Z=01mAmeiR1S2%H3K5ipT2;S~{wbc03kg8(D~h$2dxLjlmUZ>yWwq%Src1bgOK z*bey-bW;%t9P{$W|4u{#XAcpH!f5meo#P#MlB4=ARTG?=;xXe?Q9b)}8P!3Xy65i?IjZLkz{_MQfw;oX^9S${LcC|j zkvla<_|^S4Zz7VNVi6bzc$W$Bus1n9xASh9W%=xgpXGP(o%?rCyU5IlBpGgRFaajG z>qu}Y2)Ymz2}MkpG9XJHL*)=>*fgJ0#!qO`5z{Ftm-N}HMdp#5vcXQJIG!iIT_OZ# zo1{=;X{4-^RjHM2_BmoDm^Wfq)V@H`}(e$%A~=ig2P zSp1oIj;!Z@0NSHsMdl_JnF$X;+wq3&V7S4C*@2=L(1F(1Hz9nNOH`$6joeH^Do&8 zfC%@!Ph4t8AtF|PohqFn6pp}hxet;6pPJo`35XONA)-&3rr`DneBJF43EBN8tFLzy zmyDnCk+6?a`Y{u>x@5S=kNCVK6O(UcvT5U7Fj!t)tu7%7i5&>3{Hb}{MRJhaE~w0} zFal*o`LPMFa$p68AQBI0aX7o{vjzERI-Knz&q%}BWe*N)+$L|W^-0|oIA}6ENC)!6 z)bjj>aK6~0T0p}UB>dhDgNr7e`AG98zpF_XX_6v9UT!g-nVRm^W*}16P&?2Js^>XK zg7oHfLLC+bG`Z_Ks`_vGM>@@IdiaR`p>|=;Gw%jGH)`4p84ppJ{Dy^dJN4xUi^`th z+rw3MSXf>4FNXHJo=**ecFR(Aup6~x&4b?v^&Uhq9Gw(kMc$EjO*zc(xL-I`(ZUtE zKW8qqO-d7N9v4`?tA8XkJ*bDL^pD>ppMRC-7C_&dmgoGWSAN!cp}7WY39W+CVra{& z26)X>U7QoV7j^D${a^X5{JN3~RL646Z`csbhzVVi-HFrgr9SPI6jr$4@Boht#x+E_6L_pf9{| zPgQe||LS|KC7oyri(|m&o=GqMub+1eAuc7 zpEy0-plV~_3Agx(;FDdu(99!oZD&~YwfDx=|0fLsfU$XfnT9V@|B`8i1kf>`)BqB-N6l)AOp9kNQeZVe()$5qo)HLTqfm8nz z-SST`ZBKDg4jp7-7sx@lG`d0I>QM^of4)XHhNGdNPd?uO?=t zMzt^6$p@tHCY6-DVRTV=K-*FE%+O8F?g@J{nX|NRYvaZ&mw*D;9?TT-z>mLphlS4* zDx0vfw7L?c)XdF%DROzkx+U&au(njfxtj&0gQ?RnzUmpY>xivgk0ifyj}|I+hfM30 z3}pYi$m0oKW>0bcn2sTw8&ywHrw_Tv4hq!My*($h2at(k09gJt1#UKBC&s*2DWngigM zSQ1DH$x4Xxky?=EBnQ((u~P=hTl+%B6+L@^VzCIbf-zwAsE2Vs0`1mtY<>{~FXW_qs(tU?3UCiyG{GRX3g%U#-uS49)>?F6fA5~u#CH=ttizW&)w^Fy* zN{m2qwO*|YT_R5Di##{1ly$W{sb8(CTOQ!Hy3|TrNgwH?|HuMM1q{)p>}nq$shFmn zUup<}#cMCCE}s=9+33JIX_Ht9!5D>GCjs*Yp|X=@7EB$Cs?pde1A9YbNzDiU&aF`NY~% z1@s$T0#;G)D3KAY)djrVpzeEstIf$}UyYStEMGJRK>h9ix4E z#?CxmnO|X$LCH+Ff=b|mftZ)+n!egaEWB6A;nNgk_*Te%iGP#`8Obzs)W&%u>D#o1 z@cjwM$Zhd&=mQC;f$wq7%)fl+-Y7pYe}|>$V}H?GcD(XR$`?7g}aU7VcM7;P^bvqGi!cl7HcvUz?X;Rb3W6 z7n9(o@f^Q7n|9w?fpFAvvy4&Zrz-Pn)%+)HEVgf27DfIE4dUyfjTkFUh~9kflY60| zI4H@xO#9>%z)X}SYj7^pbeh!{3L!Vq1cPvvywS3BDwQo5Z5Oldyoq1yV?|06xAA2{ zh(;pYaEe6HK+Mil2m_N(eVpRPQKFKF{B%mZfccHqJE$!!YBPEfk9rhiK5-$0y%~(d zcp!#0trVXsgd>6M)SHG?XsyjEm4;GmxT`K?RLDSUHTX$eHK}*0BgYQn!P;>2sH(40 z^nrn2CSHykx@V5c$vN{V&U?t4Q)ur`Oe3(8h`X0%fw36C?OCK4z)Wy{Db$wU5CgcK zZGWFu4kyJd_$5B4d}QH(+btZhKDBVbI@+snz_#U|HX{L3JXLIGD?UlfF2m6`n|dmx zh8ajJyT9VQGtg8X0f-VaaENMMSPFV_-ZPRVEtYS0IvesJG(jt=6QCREWYFSG{)?Q^@U|GdML9-g4E5~iR0ycGE!qpKp zsG@qY^B;>|5MS*ez3}>H^}_2fdJ*c^9ce6hoyn@y{!~H@&Y0fB6D$uOC_>jkn($H0 zYQkHc71hmKEo_ycRh9{upWnwIY9Cjl71weNzrdlQD|808SOu%o#%I{@Txe8=*+OkV zEI{r!UR%nzpopO}yS1~8qScNunntm*?8~YRJ|6hNXYaoMYd1Xl&)?A*I?~U)`(uCf z;eY(^fBc8nVB{1)qJhVL=Z@?C;M;%pE$#1;{O~uvb?X;D`o5d0D&QRmy|4}(O=7Ou zg;MmzM-#~hwlyM(v-AADzTl)s7!#fF}&aC1h&_Blmx9;$aV z72~kPVGxU1V{Q?M(Cg>LF5}5Wq~m=Zjm`ls-hG?7lS=2w@N*XRf#}(rnMQ{STz!?_ zgv9X-DgB5Ct-8JlRx-*`Xb;8!-KIOIgkVO4oddd>_u{Oh&XrbG5w4Db??i7EsoZ11 zya6sG6k17Va24JIn@%w$g@)5ZHlV6fObygDs|E=CtgagJ$)sE~!FKs%u=&7;nYaLk zob4iA&zrb8$=m~@l-iN9^5^8nyeD6P;K1jUk#e8p-D~=&iVnaV0PX;CNXI~BXC2S! zs7lLuR6leTxCkAg1}c`ZA_)#T390;TO&RLRDGWY}U{ zki7vMA`AP1b(ty}(dX-|`Cv@^e52>}U+J6wwzXN$>m&ZVgx}*n^JgpHzSXyYGZDzR zb|PO}0FK?7XQZ0ygSgpTgUC{SKi|z<^PA3I7~0ItvmIK)_5kbU>NB;4L}(YUR?s1Y zKtJV%7360fZ<1$V($^sRdFKE(OLTMCA880zYD81rJI86-dNL4m@lf{#^h2zt2HM9r zqGIq|Sxsz#dglN|G9J3}C$7%_?rI*94(hnrU0}y*v*cIfoiX#s$>$k<*;h)hAlZ3( zx`iK%l<$j0ii-c)0+e@Dj?p0h?B6mWpW`2T9G%-}@ADkQ@IJ1FL#C?aFXJkVNnHC` zU3{CK&%JR3i6BaZfDISR_<4{T%wZs>H@(!{4*mjP6msop6ve(UtC(bj@|C_L^+hk? zXt=d}~~n)PP39Xrzwd`(Q%>6B9FOX)NR|vHJ?_-3pSs zth-CS@De_yFh~Dal0jX|RF~PIPR&#M{0y!#fB@!j#ymO?%~qOnn%_?~`F;Fj(t*4J z07pb6aul;W0MdN^CVe%^hw&)I^d7m1Og$ysxKI~3CGCvygN!r84}$PoepJzExZE@L z9H7=t;di%|s(8)JU+<0bdVUMdyM}VtJ~CdG-%(^#tMemB#`QOl-6sAgUXwq}z8|Z0 zg{SWMXh>PnJ4t!bE{am>C^4w~nOn*3t9=g=G(XC3{ursRM@z@BS zBISK~iIvQExqB@v@`q&fnOm>HL6_v(cijL#)8mq=MlBP4RDG;HX~#n(>4%vr2vBLg zXP;N=UG7^M6Uj0?kDp9odQ*LREtXUFZ zKUunKQz9)P(cpiz6||aY;~MI0o3*lC;EJRqP}71U%tni-cA;ou9Rj2my)81`g-}V! zmldmuZ^aW;s6~u>)4W(YolQB9oV-)jVf501Fw<9EKIC<*E%{C?w0Qy+ixjIq*a#Ga zv^Jf9qwM^4VY=D5fGKNG8}b^BnFpbQCvX}C`UlK+EvSe+6 zW7lW%yQo3eH9HS8sV79y=@CuKhWrTWlcMNXNz16v4Y9NR8{XCCL-7{ac9jl)!0j69 zZQ?hSTWk1VTWh+Dwb>~0n$ZFx(oq0MCTiA|I99WD*skQk45bbyvpQUUo4;>S(J4Bv zPm}&c6RuG;I!t`3yOXD28Pfykmzf@o9P8QboCaHUyjIKFkh|9+yMt+C=xDEpLp9y@KZ*VNpwS&o7l{f0lQnOmD+?ecU^_*6&tGs#&EorN>!iL z)?J%N3t>Yx-}`|uy8Myi=@(|4JuTzhRg5m*T|8C)BuzTd)=CNwYA5{%OsMQ8OsEAk zm^-1EJGdrb?u3G6%&3m>`HUi_P;RBqsZI)OQrSR9`lD`iD@PW)>K&82;|6n&>#@(Q zYT}wMc@!Cns6x%>O7>g=f`Gczg~`kigkZog5J8GQTCIfD)-sV{gB6zV{!h-pBE_a( zW`ilX(@cfMc&=p?Jj}BCEvv9~SeA8K*ek~s{(*4+U_GD?cQ<dI`6(j-DUj9^?v3L->Er&bT(Dk4IM;3`cT)JdU&s~~!@ye%T0>MaQn z@|L)jJSFuc0wjq5iEJ(b5($GnwNM{b1od%B_ChLBw^Y}>f|8}IennzFEG5&a{8_Bd zj$gL$PpY&ExpR)&Q8aqvcA`X|*t75&p*MboJM)}!$$ zgaXCssQQ;}aTG=ROZZFqJAZura5geNH9e?@je}F!mdWAmBNN-E#&%@uhKI+qEfXVC z6XU}}QPdmNqF3?_spZonoAuqu^vK}Y$U6t8M<&Lz&4W9#@rh|Z%eD+pZkU+dJUo<5 z4zJ%fIW@9emdOcFL8FbrW@- zN1eaL-zog*ze>wrYr2iZn(=96m1Wv_{`GB}XXSN}I)BTXcX)2IY$y2xV-xE~t#mWL zi}bGpg6+dm)Xj4bf9gY(KmAwqNBQ>so3{*(uTw=+Jm`#86fFwn=JR{;;MlfdmD#Qb zGWf5kV}U2jbdB^|rZ=oSdvbDOlJX-%mu}l~>GZ^~(wB}6Q@#DCzN?Of{H-4x8)IhH zzG--B+t~D~RolidpB&t>^n|q;lQ=k@t);THnKgdW#)-|t%-8t%@Z?FCPfU*5+zqa8 z{%S&)Af`e`PuZS}qAn2Z<@^@upYW`F>m!)9esonPIK7whg7q$bg_F}0qr>A5^RfIL7v)dh0EYh{RZYG84Q6MJOl=thCr37K z85`a_JU;DcIypSOZ4!jmPz_Akw(;RBwhXVQ^06I1D{=zU2~bn$IXyWtewhG5P@-D& z2Kw?YhO3z!AKW~=eQm%`IFkvyj1>|4K^Dpst9DlRWd$i(u~Hk^F=&?%>^TQ_*}YgVi{dBaKTC&s5H#)dC- zyao41)?d1DVq$dpiW5&h@pP*rVA`|KVFkw=dZ!vFY^c0fudbD zHVol=9|e9%1(xvlEBpyJr-r95-7qpXcInjg4wbq`r3O^$75pvb?}Si_F@Tq$9C`Xr z5Vw!sHWpoVmW^&@`n~5ZJyXZ%(BGW`TfP~6=a{xpUBqO z$hg0LP_K{G*RSU9RQ_JWpZ6ikA1~i>H>6AjMo%Xvz--3wtlkB-C1EnUWx_IA_^(--rreiXki4e6quv**;adQSSBIq3^X zxAyD8Iq8e%r2mgO>9wRqwTkw&{94DcA*BE1D{X3ca%lL{P4M*PC!e_D#FejcqBShK z5k>oe!#il}bO^AJq)0C(-A{UCe0q3td~nPu=c){cOBY^I7%Of@+vm@%YrG(QfKATq|-$mWr0IQshG;UV$iX>w?sTF16+9?xuHf-}+8 zY@mxZzK3541SUZ6tHsyDpIFwp{H@{d*ZAx1ezQpz-QAGNkAftBY|?-@@V^CVps#0+ zG_Y-K%x9D7+cG#c1uUi~GD*j!)SPXb8WtFlRUC!0q2Xy0RW!BhH)fYlY#ST0dDFMs z#-|21FsEZ9gSH}=JymCbyI9g>HZo;0`e5eh_I>&!y451aMU{CqlVi1R4a^}e$w28j z6`3Tvf-<64#kb;?R)&lmEW@Oy@<3FmKtZ7EuT{=0&A z`L0hezHfHDYWXXNMz)_Z!Qvkp*?Ovqo)^XEeOA)Y@Up2hth z;#qwY=Udh7G8d20oeMm_z?`!Huw=C&eMv~4v1Y^S!Lg~~GcTIhl1**2WdgZdv*Gm< z<3sf*`Y!dfV&Gc7Ti8<1nmP5pF}%+*BQhD(Z~gG9?u`F7Od{9+=G#|gr~ov%Dtp&e z%b=>J=tQrt`D%J2zryU_2x*2?_W2R&K9;njkbTKg9zuy8o4CB*Ecbs=?l{UdS1||z z>4egvahrNm63+){M{;`smu`S5`MpSE8<>@@%}L`tH0%AbbJEAnNiQbdN&)I~(k~}1 zs!+853ernj(pYUG=@iBLQ%H;A6zNx!Ztef6q<@L`XRMx>WI2`P&J6h|T4Purg05$J z#j1>Qk1zCjzY_QW&hoo~@Lkc~>*ut$hBU%VS^k1hUUlfdx%It;_oARheZN8aWi9D< zkZv9CrE}g7lh*i(?>CUv+!yIl(yj0qBi*_VDx}r7fst{HC)wcS$n?g|!_y<{VfxdT z%d#U1vKggiL_*v2jxEDeb;|EQs%Dx?(N0^ar%1QYNq2;_fLp-gyrX@MI)!`gxwWM8 zXFdguTRuV)1%cnhvsAe^@u&YpPV^@RvDyCed-m|rCl(cNkWfvrDH?i^iuGLlPV-#U zzK!SY{9VppYyK6ackuU4{@%r3QT|Gvuj21&{!AG^X=r%M)Ja2Qn@zVz6Fud`(@a<{ zvXGd?wI|K`wE@v+cxY9&WoqP|!`YetA+z6CWt-6qQT`@3B3eb+qMA+8oeZdpb`JIV z8O_fJuV{W=e*a(iejeW!%K!96#P6Y#Hct%EC+~^Gfy;)m+enH-fZPi6_hQ+avsPv6 zMqn#YFvPH6Sos!xJDoZo=2wLA=Fmm~>!K|T4ePdT*dVbV%g^}mv6i^?$$Mq`|6&1(5%a2?9&@Q_TCA$NFaaA*h>cS_P@Y!kYPz>(X5wr3RbI;)<8fp{I{B@}o~!4NA3g7VvCC4H2wAf4`x-*gBGO{tLLo~?@wV@4_6TKPiV|h5 zL`1Y$QdC4CTczyWId9&dZ{Ov2|G4*YANP2SbDr-rGiT;CubDIRdcEd#tS?0SGb@2v)}>TZ*6F=Xzta3mWiSci!1srC;=ybM z1_p1y8}K*{Pr2Y>!2|B;U?T3dU57RR+aANRWDK>iY%bEu?BD|E@W(}|ogJ*=~ zkqoTixNZD^_>+6P{UFE+q=D(-4bFd$<>W*l&lK=GEZ(;TdBSzsp%iE}CkH<=^~sdv zhQ*{{3hH(d3@_WXC36M&jZg#fkO65arT^zX$bSLcgXs_g0-XQf@4`TU;R9ZE1NMPP zAixI&2Z8Hg5a6_-AcTPcmlcj14nhP7ksw5Y@UK4R>1}HZx`~4~ENl3Gq(UOGZ>x~t zXTdxLPq5%?IKX`b#xN~m(IZS-_}xyma}8rU5a4@oTz(J~K-dEUJh6h~!gPQq=5T)S zZ}2@hKAa~^E4cpbAi%%Dao|ZioG<(g_!^D}U&8@@##Qj{iv=MEgu5WLfY1xV7zm3X zAixK)=|JEEK>`G25RQRh4}up6!62l9&;Y_O5U5${Azl!~K~Mle3xpFOIDrrhLLvw` zAXJ0!2!uWm#z6Q90v_~3P7nk^Py^vG2&N!dgP>>ad7gWF$OVEaYg_mQP3a8uob=?0 z=3jFnpeH;JUWq=guy|fpOoBWs^04;VnScPnHAr&+)c+(1f*_Cu5a1jQ0%g7x1FmC1 zhy&rj9twU-1bM)1{4dQ4c!K3+dt1P}72qD+9=k!n03mh5V~C1G3pxrE52yJ5WJvp0 zIUFu}figgl+}`aT8UTh{m?La~#GFhDAX@>GM_Va}3tsTq3Ctkj1ZE&UyaYH7f&d5< z49_}YZlU0OaLxS}eh9AN85HII1h|H|j)LdGHB1R`;1PHf9!pQ4r=e%u&AOX&Hy^h! zw=}m3x31tZ!Lx#n5}pzyiFk!r=kg>H=zjd=~EKC`}%zS?o)<4(s($1_e>o$fsS z#d^bfw~dVRG3SfUG0tTkogPyjM1Ns_Lx1;>>mhX^!y(96!Puj*J}J2=9VtJvIWXIQ z7$gRP#9)ya6gVN^3mhI?p$HJTL=eb76L47g1{#k?!uNnXPXwBL8;JxWAUGiw0im{2 zqaX|dx19$9l8b@Dfm#wEkQ|Lg5Oyky2L`}s49Eb9 zf(V%HdJ}*{4J05Lh=xJq@Y^IngNk7hNIVV&;czIz4n;vZ@F)n2Mqx3ay$M)QZZZu) zT@e@*5`jlz34jm?^fr;;O5?CtpqfRY0ZAYna+_XAP0Pa0DD44_c9cz#)(X3<5lI zo49~433vh;v@05e$6(Po40!4`oe2;DO+e!y1P+G;^hbhB5Ey8iWzc{QXdDUy;qh3| z76_0F21j8eBoc=LJ40|7G#Uly0cZ}01`4;`5C{Yci-%hrhXgHz1>^_R19|VT9R`a> zgD;MOe8HfOhY)~i2v|IUu)~ZnMDT12 zFcuDtM56JS9nQreAPgE55Ks!9*#S<&;}F0jF%pz_yH8*+NE|35OfXn5MgT000UZMY z+F_?LaX2grloN0|FxbGr%!tK-w4fybDap)_$Kw$=z{j9m5Zspl9Z(=K27F8nz0)Po zXf%X}SsM=?0+VsS{&V%vQXbUid0usdKc&^b^rN#OJ-6krJaPX9pw@hf0{ z2#JRKG6stQgn@Gajf@8`&Yf4FH*)j*ALfThT+3}^>>66lVAhd}#+5n-E60I%cmU_^kq z2Cz2V=zzt*r~v8%I2+V@yT1bFCxCha#)O9kn1cZ~fUb)N9S8>oPS87cmVYhvPCPANr4|@3R1CG4# z?U))`@Wco_DlLP2hDLt_W&y{GEVu+fC`5Gq-z0p_^Dx>C&zUr? z(Eox3$E5axfH>6uei6c2I@n|fM04K{rXt{62?AX4{}zJ)#n1(?S_EPgiGP2qI{8_G z8M^iM3%Cj715eS8fB+YRf{k|Y6Stq?yx=-$z9Q_b=0(vt(2)>a&MkJc3a+#1#qSqa z)TdBKcS8uZR53#4C)9=lGoARj7w^pP-naN+^t1O>FB|s+N*AH{xu%Q&0T5TkGR{W4 zZT83=dKV$i%-DYHql>$%K`-6A)PC1X_xP(E+AI0wm^sh9)l#87xn=v<)1;eqe#QQ$ zV57;>^I_8Ptm|UW{IKPcG3MWC1SSenV4?uqj=;-CKXE&-;&*ce)cSAI*olEvt{1Q$ zk$_V8>B$obSj+`C*#C^|Yk1mB!C+j4zcBK@>jEk+W_#Y=7Azkv zJ-uxN0WIL_35hv*T6zKl6+xkY@`1&B|3{kqoevQHfPCO;|DDZ0`S|VRLn$8>C?A|J z1;d@~Zw%X4{Ea;T=KCwY55TAX!l3}e^`+$J0Px@RI07)wU-w}#+TZ!ZvtAg($0r>& zRa7tA*C%V;n=pRSp7oq{)4hCnt&fb44mUQhSNm-JSsNx}>H!zc`6Sb3hV^kWR#^{B ztmJwXC$c_6#vxfIl7i=sztvq|B;yC2MU@E^mvXGv*U7jmW{%f~Cwtm|9lZrV@1n7< zMv{K_owRjoGCtK)YwpLW5?sB`M8@)_Yld>Dy%Wc=s7C5@Rw z`R)FV3uMgyqxIwU<*{G$8(w7mkhE1+Qu*Kkaq}t}#~56_fU&fR*uNP{#>Ns)WURIt zJJmO1$=HOyJ}EZLDDBK<3K=&A2)Xn5tbFp?%qHW6hZ7HTn?4mKY!;Al$~CXZUdz(u z(#;Ao?!8fxaNS+|(X-7OGIn96Ygt~vM}OLEB;#61Nqdw1RWDaIpOJAzp#Q7(G4)KQ zt!^^LDhnTYMt^QxY^#rq-zIxHW%BWr>2D2_G3^T|;1IV{U}*#@NiQMKTt#-!oRXa*}gVioK^RyC2| z2N3kZzML%{|2*U!c^L{pS)7-&RyfU{{e;euOK0|ty-38#FqsCi{eGN|b7!-gL%bJ2 zTp-^!@R`rbynXSO7Q%~+!(6V_`1=xmor)?ezL{~5lY5S+isjq4nG^7 zjDVN5z`)8pt)tCYwxa@(LdN&=(pS&b97uhR$R^`2mU)>?xw;=m5d~ztKUVRB%+ni% z>xc?6K9`$u+as&}4-2w}jC-1=P8zoi*GVE9$#_hY=O^p0^~fX0XJlOHd+zOx9`0@j zWH%XqGT!I^>kLaq5VDVql_a>*hacpP-9QeLaoYVa=Zs$umDD1~$yi0ZxM1k&jkQB+(%co_~at0}k?T*D(P1(*E?F8>dFX9xe!w=n$57Utf5 z&w%B)pd`173b&l3&|mrA{g3>Jpcb$Igz|j&%>utUDOlq_Fg%<3ySy+L!T7(+vk!iC zgI6Y5?Ev1H|H^Y1`XiUDmtYcBRgp*_~Q-+C$ccj4xHhcCp_zfXPoeClRVRe zXPIDzNl6E5c>k_1FyjBW`obE{zw7@6V0flSNk0#;!C$z02mjjylEMeu!fyzY*w&Ia zfOP-6-hfnRCCtGD%0@r}RA47Q+yno2d@#)gmXQC)4Cxh>8juSsOXII!H*^OGxNQ{C7kC+Z61gwJ&(=zw&~`Qt(Uy$oAoeh7|?C zx&&CIar*#W@IUfBV1>FZmV#x-z|Pgf(gPTQ`C0 z;g*&&x8fGvu`?3{d8mMA35kjQr*WT_8_<6E7ZKqm)&g%zey97qcbZef0b zkFyj5^`q{v==?to)VZx-^W+@^b+SDS#b(Y1HhBZ)7jQuVC15KFpgaN<2Y5Ro_yt%1 zfaie|w7&CPa0xH*$srY-RaN(?0)+^eXZ|(&wgS2=FK%uRC&%+%Ry#6$VEh693hZ0A ze+P9@mf98x9tLN4rDOxnFwg#bLO8`vQgDxwCUhrl%1#mYm48xuUI1E3ai9ybJr7&gx`TAEm^K)My&zEVO>hnK$adcX zdRh;lf`bj_xhagjeFy02xXD?<27!RT9YH590eQlGryiVn{>cN@Rc_}n1Ad1U6_oqi z>9_BZp9GZBfUV(P0uqq{L@i5CR%Y;kGdz9(dCvc@2c#K1116W!$p6~|$g2MB0CF!N z`P%jYm!Wi4Oiaw2Y^Ki*Y%5^;2*MXaz={$K6fjj_rJ0qLjvPH%ly3~qaNjxw&M^HP z!5JQ(U=<#vasDx-gpF{y$%7BDv{B}UHK?#Ajh$T{u> z^fGc4y@sF`P*yWKnsD=Gu7Aw+v|IP;!>h44f}E91F>(M-GLR~$ zA}anSnueBvQAkooNk>=T!04!*eROPGLhX~*XYE}B=W6TNIdFI)6%(tRqEboeyCH&n zVp0i?sI2DTl#tBeX4x_~f5v8UearY{)(tUn0YQ_Ty!_h*#U+*XjnA-D)Xbbp>N>}Z zio0Lt;r6ic>{nC&HZ#A~){f@p-On#5t)Qf5aO9Y=iK*F{a~4*%_6{zdzSjby3(D?R zJ$`lPuB+R~$Lkh6{umTm6y<MYeIZ={y9B4kmUW_nC8%=wFREFh4^PvUtGE_z= z8R{T;0t*qpTUkdDWs4_BuweF~*f9tV1@vKzIGP9q>KfbvXljBSN(sY;LsR39>B~#g zNaMutL@Ymw6OSalIzf+;7r`H3VdLjuVkH=XM`_dS!4a`~cmaYpm6qB8tTKj(Jq~28 z^e7C~X*`nCX0INeNGh`6(V-$@X?7`LiC88M5i~35k&2x$wH|?}tHZ8`H>T0Y5lOW? zv_z~fkrQ=DUmisZo~no=2FdNgDWf<|5Oh*BAvYYnsYuVFkJ!?LO3i zAXX-=h61TREUpJ~V=Nv=U?6f(?V)C)p{J#$L(`)e8Fvv_5Ul9kh&?Da96N#o$pyZ@ zD~uAQ5<^I!C6Q8yVst683|)?2MXq5skejG2LZz=?Ox!JrQ)V%-i5w%ebcc_ut&54P zpEI`{3yq6UN-nLgZ)j`peDQI7Vhci(JAk~BvZ}s;d1ySiSySK8{-URMd;%Bh-&!Z<|{X zwnjo*j*42&$kZm1DT@K^&+(Ksg|emH~<)1P+U1AReP*#F+pIJ_ix#1%QeO zC`C}zKw(0KMbI*1jBxC@Q$V@FN_`A{5G4vmGzKgkwGx_hza{rYwDW#a2PU`*#fA;u zK%K_15Oxz_wsQtugbjNdCydc0il6~=pd_h8&}>*L6sZE-5|<<`;#E*|C^d`%UKkU+ z#jqPM&LE1~N4JlT6pIedVxeM=Ou>j_lmVmdCXkwWyr@Y7Y(exG(kS8QO_V$#=o}O2 zA)YkCtc)UJ74W*iYpfU5Uep=%X#y!^HwTf0a0E??#+DaQv!W&Q(LwL|anu+Lsfa%4 zHx9vl01NKMp-Igsb`%}We+~3I1HL6}%e6h$i>hwVf#LNNte~f0Scnh5SN_QYR%P2b zIa20~?jRj}zYM$#;rHQxFG*b8wx{<0eaFtp5f~kU#jni&SjlYLPQgNL@^NNBIeEZ% zaZX)1A1hR*&aiB6&+brTmWpfRD>(h)xxwWYwOfIsck1>3h|(-H`k5QM^+bQlJTo=y z=|?Xj@@_E&^Q2Zd?_HA9^Q#_-Ae^>9Y(dGV;?UBkLjh?WyBe3Um5$d{{{=5 zmz{mXBha_XIrd`w5;yI{?*)m?qq%A4!shY!WJ`}*NQ*W#@g8ct?;srWF?iQkS(2|v z<>d+!3GOwP7|HIt`;K)fAGyxzqB8ktxKg!+{QzIH!6)C5u){W!#zQoBZ^=|%zKRWDZZ(>AV^vc*w zy<8Z2>af+4MD1ZjWRhBda$irOsD*-T)9ss@)3QD022onQkG#W!D~@1K+#Aii(vun$ zbe)j$`uqGrPcAn7Jz8tu^Ovbs+P;2gqA#+#k;}O1@Zyh=kI!d*w!T*i!H3cxLK`(a zCaD=!+)=@{)v*?y+&8OaP0TG_YfNk!N5th4OWHU?%4C+J_I>vk?r%6)!?-lg+mG;` znJN@jwl^uOa>;U)+rO_<`re`CsOIUuZ0r+asH;=M}aXs{U^iB75W2Ui@w81-M);afvY zK2lYov6JPHW2VDlVO=V&=buvoJd|je;5kn}N1LJbu?!RtM%^Z@uAfJ@a_4E+|PtPm5ww0iLDC|LWv6LV+v9Ek(W$Qk3 z=GUlHKeC5mPQr55o*`|KH-BvSw0%pu0m zr{O7^L_f31+RxDrTM4X%9wmy+hUu<0Uou2Bwmi*y5*Rx~_o))s;sZG%1JAFLGO2PJ zWgNa<^~mLQ&P6KblZ>8yf3n5JVH8oJedu6BC%4T5hkIKBw|PnjnfEYFt(DZ#RTo|e)CZKC$of67t&{b>%AfYp zOh!D$Gk7I&O;~Pm}v@ZCK*&TU8w`2l+WMb9BnR~Bs^O<2( z>YMkN%W8(d7ITGnIzx^h$#D-q<4f_3VFz|j^i1OPafBZzp zz^GL3OG~SMJ7Q#FmciaN{+EIIpOw#r1!7II^5%Y?b9?-$^PR!{qP=?4kM+vL7h|eU zt;cg(z2bk*_v3wv@(+q;%M4#PfLCq1JR8LKfR(lDmg@^U>cg>@PoBSZ@z%)jwJyTO zwO(`alu{%Wfr|O0`R0+U<_Be!SKf{mP4LH^T)lbsBAWrC&Hq^zeXe`e)WddmLVmVp zZIUXKGtPJQc* znh<|K%_dFJ-0izOZ{G1{LEX0b43?^}v8L46#rq0wmTv9hkLQLx-$zpf+Zj*mPrhv$ z|C7C7B^`HesG)pN^pf37j?6O=MN-xM-m)}9zqlsHHqGBYhw_H=LQK~41{Y?m*!5S+ zM8>1EJs#vd3ujqWw7F5&FK=Ga-^0`9Eyy8B(Ghmc;my$NGXfyJ~g8o7EsoJohP*i=Qo{L$mUu3g-TrAB)w$UGSSExha$fHQ+kAJ-^(Mtxfa6q?xEcg zUVU7SP7rtNq01Caujgk?XmMyph|ufvoRzp%m}qtax-?3*csZq%7@C2H?VJhWWV4D8((0+4;2|m zG)3x)X>ZsTab9FGNJtb@yUaY3ZE$llLJDmZe>#hzS>6y*4;%e4uOav(a#SMq56V6}qW7Qk0Gb4XI$r9*l z{i;1YQCG}NXZ1Vn(c@(cCHiuqkA(~$7$4qi{I*d0N3W0B%am>)iPhoL_kERiGH3PK z8B%vN*)lWD&=5`ai#6qWr>7CR54DQtG>#rOS6wB#pzjNrePuj;fZ=vw4fXKXr(<+% zO9|y3_0wVB77ks{^ZaoA^WuF|IwyO_eY2+@Mjm_faQDy8BF3$1Pn^z6c$#>GcpgoU zUE8Jfe7Bb7-ri{=yJNgfcULp;D>sv0PlW7f&J|k>>U5WMK6w4pILgQ_f>UQ*nIFB&$kbrh8bDEcQp0& z-#@>3Wu^Ay{_8sWIrX&e68=maW+hINt9>G6s<&b5gnOXAuFsE+w>RiEepvVCN*B$~ z#!T04b_5$=b*+E#{BeTIlvttNroZiZcA`_$N|k5(?JGSSs-kN9ju%<8WETxgbhiufQxp-FJyINheoFLJZH{NJ> zRrl4%#}DSO{@lM>F;4rZnMUMRv`eXy)|G{qE;-5f#Te=gD%*`a-(*~P60YrIb*0}f z=UrWiKd$BZrAdnAgNJ^l-5|#y22t}H&)fefmG<6vr%E%P(eEb{?B`n(^|tk?Q5-$z zmO+=*kHcN`a-sE#$IT9SeCpYJIJz1!tg@2AB=r@Or>bcEeHkLtSI z=}68=W`sIpsFb@JzOZ87U#ZiUXVqwM?IARk4d+B8o}OUFaMC*ywYqDkOP`)xJ(VEJ z%V-d+TbgTUfAZJVvgrMl^0Z-|jO&LemLyB2jn{<(d{4{G?`gk0y%uw()?8^+!nOURl?rkd}&kzF4cf=b@3 zKR}I^?aAlQecE(l;MNJ;)!W*c{g(O*y3!ZF9WJ~cD*E+BVAuyyQ)-O@cenT*%as$4 zT)FBAZ4uldNFD0{^~EcjCa#JG{<*a(MJG;z zqC8%>$oQ@7t?7ES^+qXAL-=T8c+g-SfBt4kON4$0{hu+p#j3AT5BYLC2Ny-Jy%?f7 zC~2Oj{&lv!fyTp+L-kk^#Zu-#Qct?=kpl0lJ$esDKRDf}XB$;(z8l`jj=aJ1{)G0^ z^VXR?m1if{Zavj3Pju}6+4@LbE7N0awQvu?rQWJ7ovqKYGdJSpFr8HwX6j*W6L;s6 zhKMQX49)GRH~nY#i-4e);Ls zWY34Oso&7F_aqoOscIiRQr7$B)0FsB&&@*kXM43^i2>U}|4hv6tfL`_~`N;~u8NItz$KSOtT%Z%Nw>t;NA+xs_ja-uO6>f$`A0lFSzK1mT}q05znbPdkkobPDQ zPS>YQpJ?a~pQ?G9%Xnxiqi{;GP+&T+gwN*wp}`DZby~Z~`0DZ8HL6?-7naQ&%<}TQDe!QPFBGv7}fY8Tw(n7#EY}8CujVO<3beuc*eG zW8O844Y<=kkZOPV zj-`{3#%4UKM0X<1GAq>gLqd!6t0oWhiHwg|mmU|IzVV#b(7u=u=Af2VnUx`M*|sFL z#Gt@$7xZo9^pk*UX#2k z`wxvhvyS)P?maDkPhr92w!B!9Y~H7<%!H~jP|YjWsbUb|ZsKJRnPF7L-O zw%-gofZ8;WOFiB;_x4Ui+7gE6cSzGnh|&pVZ|#>%%~=O!{XEi~lb;DhC#OPL7oVgA zv(l+x>b$E(mg-4R=MP2O5yqHyKI1w6_g=^HIMdMzotM=s?6tMYee7bqs?Z**-^u1 z%_*s0Yf7X1&Nqu48LFsKTDr=a$Uyva7$KiSNB8a=L3Wt0CN=ig%_pIu#=B^14r}ca z8?AS%!u~9@7wp=xjO)`8)2@q9U)e0<>!RBFepi1`k-5+*VX3))wy9_H>jw_Q$TPIs zo)6LsYveR7-J>KWQkNr%=Ox#BtV0=my35tB*2@XgJl$y2x-!w9(lTJk?u5RaD5d(q z>B3!1lYBUR^^>RiS?Wc+p@-NHRkRhKq_7GtCR<6E|D)fAkBzk_?K1i z9cB0esgVt77Ll)xwF2i$i6NfeA_k_ywJ}6xz+Sj=$~yY_52*e1*J5qU0GzT z5vW43uOwso+{4@-^cvWnHZ72GU-;g|NSX)7GB2mWn550LOY-}%u>y4_*t7}CGZ|vt z*gwG*e{|1x7~{)(&70+WUp;(1pA6%P7x`x@!Cn`E_VPLaHEyaJ{MhsSV0%?v+62I_ zFfX$&y6xC=0(^@X3LcO7HO>~?VtyYyEn0+hYs6LJX1}Lq#u9WAd>eu;*EX+~e z7YnuzcJnOq>kOnGq{YMu0kb&GK;dflv?Km~$8{Hey@xayEH95xtI)mV`z3t&T_n`u zyyirVEHsAZ=4-FhmP1!`uAphA<0y~hsszPi|}x%8!GaVuAQHi$7HD7au>)D_wv%Pr4S&+`oa z+;^MCS$NM0(WSeJ4ao1YZqr?f+Lv>SmKSf}om=<2Q%!8v^cx>~CHE6au~$vBPZ80w z8AJ?}k#go2c%J_bcvSaB$xth%|8uBt<@e=#AB*iHqCUUz38R(8xqP3l?RR;8$)!alIFL4m)^~$S3KzYvJm5)KGX5) zV7$>(6YK3}j@h{rsucU!k;8MgC1u4&mO0k=EOjhWoaepNN?%MS$c-z`)ed++(iUcn zH{KY#uWjB@YIo%AH`<6JJVh>Q0$NHI76U6x`Xx`9QO|DZ{qB z+=Z$9rD2wt-Pmi<*#MQawDy_kJa?*PVY{7h;To}-&;5&AFVdE@(&d-G*XsoDyw6T!W0`CWO=_5ceq?`YS?pQVoH;+{jE0q+eF&lqxVu4au4Z+vqUD4nlT$VUpr_-mtWtlluO~v_oOUp;4w~CAA zKe-daVOKqH0t(%+7tbo-Z8DE_d@N<#bIkC&PWoqExwQH^jpeO1L?O2WYg5L%R^`%( zW3^jXw0cU^&1af>YNB^>P2BzzJ4Na|RDWF_Q7v~t+O3^+fp@fFsN`X&rn&YZi0UEd z%!Q!?^l!gTBzZBPeoRx8yleb9+w{Ri@ek)Ks-pe$2-lyV1{FWW>U2Ww2YyKhXgQ}}UR7YQS@7IKL-s*YC~Ov1jL>?zUfaGJk66V0JG6sgT+4 zC*G1_ePw7(-A8;L6~1L)wl>$i`mT4C&Sb4D)Um}}tiEhcp*Lj3_&|N?y&Zf15bK}* zUT0E9K1Hf3dRcqdkFU&SF@QRg^ESc)&dgqW`h9JxQZpXs8QQ!n!HkLH z{?{vZd)`!cB<#QQ?w;#u%Kn0eUw4M$Enm3JDWgdPyfe`!&1m!<`G4F$Wq{%C7AdZD zzC)i?%w~GGAO|bBwM0LJexE`*o-fQE&V%;b$|{S{!kaI=(Oydw6xKP_qM2H1Y~WRa zV^Na*>CGZ4p1k^Y@?27S)Qw23I)d0$^BY$~8Q#}#%37y7QT8*WCOQR#JX$>{HjiU` zdJoy#u!yo4cU(!i_FMb#qr28YzkQ$9&wXa+9F}6aS8gbf> zdYxzM)c5IPlh@b>)TQsbB1XKoSg!w!?APM^QB0uh*AV|6ZG3T-fjUTx?||U^+lke} zizOZBSrX`TOxgUr3lbV5w4JUYTvtrAXRHR3)N2q?xaxqoJ5@?SI_ zYY4MReR%L;mTqkPOt-Js#nkH!^+hKgG|leb6M)iRcU)0$c6v3{a$M}gP07dW82?Nx zWq$~YYq{ym443wqH)V4p;wt5>{Ff^^CI$L`gqt|`D^m@4RlR-3J9a7B)XUq(9`ig* z-ze14R5aqxh1ZM?&Fu=sAFS;W70ZG(&%*|tT$i!0Pt-Rf2IZtjv+wgGbmnb|gj!W;v3MBXPDGfm3?df)wr9S z^8Iqd--b@L+dy=$4bO`_BbYrukN`F?Va$^OK+3!bcm1Z!v1^ulvGMN`xzPOuI&+ zN5y*Nu?EGDlI2(jh1F6oX4XGxi{N0Glt+(r*T$`OM)vqD2^ukqzZUOQ`LdOEBHFDiYslTDDcFCFYPdz^TLqN~g5I$G zg6)}A+PCvm``#IqAx?f?I;7%zZt9D7F;m1PVvx+tYK1*ze-DjezGkuF?!c>g95N+3 z^ly*l5f~ZtKJGOfPvVXeo(_>h>y{H|4X#_6*PeH&9WPK1V>LA_;aq;S_(cml&e;?1 zkW+5OxL@vO8j+y>$lL6h%{-q!C&1`*a7jt%*#J#rsWIR3Fc5z>n zbw{X($@16@7q8@+8{;*hcndWKjq|+j%`$D#uOy;PWF!*NEc44-z}#T z4JlG)sm3JGY83yBFzgaq=1qKYmh<^NM*8FPQ`~A^e?(-O?v49?VmZ0rg|E~wiLzfR z{^Zir+Nf7-+^w%}mwTk$sTO+R$yX7YKl$rftSOz!`@LSb5=93mIxp>BV@->)k4%oV zzjC!mJRt7lO3vE%fU>&j%?$R$h7n0q->}u9z5VuuYJogn2TVT7x?DdeC>>@g5Rs4? zsnlk_s7xs_pV^ibs<_CA?0i>%SA-n z&x~6M{xwPUzw|?P`CQVvEUw<=nYB-@)SZKGu#e`g@fz(WJ)$h+Z7lCBws6vx$-MJs znTCNBT0w46uV?J)=^Fp`{#V0lnD&F!?}ONf-SXL%iI|l5@Vb-{!JYkJ{2?5BYJOgQ z;c@M^Emu$9lZD&1T-M?o8@AT*AeMVuL`-2;E ziVa@tH|;hmey1HSdia)b*zp{l?3tVUUegYITOQF-{&ga_eDpf%fmY{4V#5noV%0Yr zmiG@2+FV!W@^)6G>_6*M@+CSlwo#8oAat%-J14gB#W;|J*96{AX{HUYgx36-6(w2y zS*bp5_ol&Ep=i|8NilEP)7Ro&fUSwl7hK%rD6gHr9@Pg+i$-U}uzr=zdlA(vww|OV zZe!x?{_&!oPDpAn zRipBdAM4f9#{_(6+@5v*Hw=~w%7JG$0_XmjCD#?k6G?;iC*7T2@iO6QtpwY+x49i1cu$v$lDfDX-&#KValHa15_wTc#3 zADanSHwe6Jy4KX&J@qXk+c*6oN529|WM@BLt7+3$TjHV5zDybDW9HLyUKJNUuXmg6 z?xOyLJaOejYRC73)O$(tbQ`^CAzybF*VlhNnXumq^L8WTDj)Z!V^dDt2Y!h?Y(Et6 z<|T_)%$p=lpcvtl9zMc(D2U^@*rD1JQ_Gd(>bpKqWaQgUti1bD#OpIOLbuzDvVTzT z@^tYuf$r45*);C#|H^aNwvp!m#`k1<#{b$YW#dQocL#(R&p=$*+W_oJHw4WMC1I=} z^IdrmBP%x-HMbSlya>1O0f{_ew<0SMWXWfdy=$LEp-pbNn_E_L8;DUk1aY4{AI+$I zIjyy#`0i0f364>NUwcQ5G-UEm?6n>>UU0TPdDLz6WKN^C3Dj$CYX3Ul6nek!6!baY z?9SM}Gc)6(XJ1WPpW}w+&MhDU%^`Q-j6@V{%|L=bgdUXyGd;o{7`B2B;GuaDd)d!Y zDG>;W-M~8tFx$rnqm&5;b|bjuK?2~)1biBfh~z{l!O4MB3j%_OWJ4g4iom`f_%T7D z5PRV-xxyIu@<1b)kSxIZAH)WE1D7KxB62VIz$gNI=8u371lfaJQNSY!aGF6y&J~ma zI5OGB97sigC{N);=mEzYAamdqitfl7@i5qCS8E zfYJh&E8xj^ED?#2;F3g35YZ@p0yX$_BoeCtZh%CSM7keS9tFOVh?bAl8$6!q(SiG_fR1aA}9$^Gf+gZLrel2Gs|yd_cVq01qp3Fxi0X6Nnx-odr3KAyQ#KE5HeoAlN%w2%e#dfsjYhx>S;A ze}o*J5U42;B?Ax^M>qJccF0RJ!G4Ct%}KL~h;p+d@FFevar2?Ul7 zdKodm1e8yMo(`PC-HPXem5`7Quo+(1Dy8$hl(d5P2Yt zD)1Py37&Tm2U(GT)Dm<%@}3+tIKz8oLRP@eZzES|U5FWaeM$ftk@*eTe0U70WCDqE z;z7vv_$Jiwu^g(iZiAFu`Jgw3T97{WGenpcgE*33L*F?!A)#sxXi}{h`Yjs_X*Y;L z*;AoV4Zl028DI$wBq>71A&OA;q9PPy843xmG(pQ;%FxHHbcikk12KrtL&P&N&_%9` zP;Y=7MCcNLbdT0SHyzX=(P>MlUceig`2HMH_5T4aDdM2y6VcF`%QVDQZ3*Gc;~)u? zDdfMd3oVqpK-`VJklbPx^re&&van8q@a$iquuOX>kI52>(>M>2-fckwo`%5nk0kWM zlo{$Q@r3-xtRR=z$AA)$#@fCWb@)P5+e;0cNEy1z@ODhAFb-i~Py}ZU?)_I3 zV9XQzMGl-H&R{O1!+++atbjHslfsFa)#)(7nI^!CI8*Kmqr64dYqLPTxAjx*ql zmJ#-$t02uSXm4XJrzq(ltsn&H(}4|dj_~JL?5%;bW_wSxFdgvh2yaUgb-dta0~~4# o<2``|x~RRcmoOdh2n)Q0f{#Cml06m+6EA{q7&!r7pWgQW7j^(X-T(jq literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..c85501b --- /dev/null +++ b/index.html @@ -0,0 +1,3 @@ +rustack wasm

rustack Wasm


Samples:
Execution state:

Canvas:

Data types

rustack has following value types. It is dynamically typed language, so each stack element can have any type at any time.
  • Int (i32)
  • Num (f32)
  • Symbol
  • Block
  • Native

Built-in functions

As an experimental language, it has only few Built-in functions.
  • "puts" - Pop a value from the stack and print it to the console.
  • "+" - addition
  • "-" - subtraction
  • "*" - multiplication
  • "/" - division
  • "<" - less-than (yields 1 if true, otherwise 0)
  • "and" - logical AND (yields 1 if both of 2 operands are nonzero, otherwise 0)
  • "or" - logical OR (yields 1 if both of 2 operands are nonzero, otherwise 0)
  • "if" - conditional branching, taking 3 argument blocks
  • "for" - Pop (start, end, block), loop from start through end, calling block with the iteration number pushed to the operand stack
  • "def" - pop a symbol (name) and a value and define a variable (a scalar) or a function (a block)
  • "pop" - pop the topmost value from the stack
  • "dup" - duplicate the topmost value of the stack and push it
  • "exch" - exchange the topmost 2 values
  • "index" - pop a value from the stack, and extract a value at stack index specified by the popped value
  • "load" - pop a value from the stack, get a value from dictionary stack with the popped value as the key and push it without executing it

Canvas rendering functions

Time measurement resolution

Due to security reasons, your browser may have reduced time resolution for measurement. It is typically 0.1ms or 1ms, but can be larger. Please be aware that the lower digits may be always 0 because of this rounding. See this page for details.

Source on GitHub.

\ No newline at end of file diff --git a/index.js b/index.js new file mode 100644 index 0000000..f98a81e --- /dev/null +++ b/index.js @@ -0,0 +1 @@ +!function(e){function t(t){for(var n,o,i=t[0],u=t[1],s=0,a=[];s{n.e(1).then(n.bind(null,1)).catch(console.error)}}]); \ No newline at end of file diff --git a/scripts/canvas.txt b/scripts/canvas.txt new file mode 100644 index 0000000..b5eb84f --- /dev/null +++ b/scripts/canvas.txt @@ -0,0 +1,23 @@ + +/for { + /proc exch def + /end exch def + /start exch def + + { start end < } + { start proc + start 1 + end /proc load for } + { } + if +} def + + +0 10 { + dup + 25 * 127 0 set_fill_style + 30 * 10 + + 10 + 20 + 30 + rectangle +} for diff --git a/scripts/fibonacci.txt b/scripts/fibonacci.txt new file mode 100644 index 0000000..68bdeac --- /dev/null +++ b/scripts/fibonacci.txt @@ -0,0 +1,21 @@ +/fib { + /n exch def + { n 1 < } + { 0 } + { + { n 2 < } + { 1 } + { + n 1 - + fib + + n 2 - + fib + + + } + if + } + if +} def + +10 fib puts \ No newline at end of file diff --git a/scripts/for.txt b/scripts/for.txt new file mode 100644 index 0000000..a877cda --- /dev/null +++ b/scripts/for.txt @@ -0,0 +1,16 @@ + +/for { + /proc exch def + /end exch def + /start exch def + + { start end < } + { start proc + start 1 + end /proc load for } + { } + if +} def + + +0 10 { puts } for + diff --git a/scripts/function.txt b/scripts/function.txt new file mode 100644 index 0000000..5ad6f8d --- /dev/null +++ b/scripts/function.txt @@ -0,0 +1,10 @@ + +/double { 2 * } def +/square { dup * } def + +10 double puts +10 square puts + +/vec2sqlen { square exch square exch + } def + +1 2 vec2sqlen puts diff --git a/scripts/if.txt b/scripts/if.txt new file mode 100644 index 0000000..ba9a8b8 --- /dev/null +++ b/scripts/if.txt @@ -0,0 +1,14 @@ +/x 10 def +/y 20 def + +{ + x y < +} +{ + x +} +{ + y +} if + +puts \ No newline at end of file diff --git a/scripts/koch.txt b/scripts/koch.txt new file mode 100644 index 0000000..01e1eda --- /dev/null +++ b/scripts/koch.txt @@ -0,0 +1,48 @@ +/koch { + /level exch def + /scale exch def + + { level 5 < } + { + save + + scale 3. div level 1 + koch + + scale 100 * + 0 + translate + pi -3. div rotate + + scale 3. div + level 1 + + koch + + scale 100 * + 0 + translate + pi 2. * 3. div rotate + + scale 3. div + level 1 + koch + + scale 100 * + 0 + translate + pi -3. div rotate + scale 3. div + level 1 + koch + + restore + } + { + begin_path + 0 0 move_to + scale 300 * 0 line_to + stroke + } + if + +} def + +10 300 translate +1. 1 koch diff --git a/scripts/mandel_canvas.txt b/scripts/mandel_canvas.txt new file mode 100644 index 0000000..5af0dc3 --- /dev/null +++ b/scripts/mandel_canvas.txt @@ -0,0 +1,58 @@ + +/printdensity { + /y exch def + /x exch def + /d exch def + + 0 d 0 set_fill_style + x 4 * y 4 * 4 4 rectangle +} def + +/mandelconverger { + /cimag exch def + /creal exch def + /iters exch def + /imag exch def + /real exch def + + 0 255 { + { 4 real real * imag imag * + < } + { } + { + /iters exch def + /real_next real real * imag imag * - creal + def + /imag 2 real * imag * cimag + def + /real real_next def + } if + } for + iters +} def + +/mandelconverge { + /imag exch def + /real exch def + + real imag 0 real imag mandelconverger +} def + +/mandel { + /ysteps exch def + /xsteps exch def + /ystep exch def + /xstep exch def + /ymin exch def + /xmin exch def + + 0 ysteps { + /iy exch def + /y iy ystep * ymin + def + 0 xsteps { + /ix exch def + /x ix xstep * xmin + def + x y mandelconverge + ix iy printdensity + } for + } for +} def + +-2.0 -2.0 0.05 0.05 80 80 mandel diff --git a/scripts/mandel_canvas_recursive.txt b/scripts/mandel_canvas_recursive.txt new file mode 100644 index 0000000..9902a3f --- /dev/null +++ b/scripts/mandel_canvas_recursive.txt @@ -0,0 +1,65 @@ + +/printdensity { + /y exch def + /x exch def + /d exch def + + 0 d 0 set_fill_style + x 4 * y 4 * 4 4 rectangle +} def + +/mandelconverger { + /cimag exch def + /creal exch def + /imag exch def + /real exch def + + /loop { + /iters exch def + /imag exch def + /real exch def + + { + 4 real real * imag imag * + < + 255 iters < or + } + { iters } + { + /real_next real real * imag imag * - creal + def + /imag 2 real * imag * cimag + def + /real real_next def + real imag iters 1 + loop + } if + } def + + real imag 0 loop +} def + +/mandelconverge { + /imag exch def + /real exch def + + real imag real imag mandelconverger +} def + +/mandel { + /ysteps exch def + /xsteps exch def + /ystep exch def + /xstep exch def + /ymin exch def + /xmin exch def + + 0 ysteps { + /iy exch def + /y iy ystep * ymin + def + 0 xsteps { + /ix exch def + /x ix xstep * xmin + def + x y mandelconverge + ix iy printdensity + } for + } for +} def + +-2.0 -2.0 0.05 0.05 80 80 mandel diff --git a/scripts/recurse.txt b/scripts/recurse.txt new file mode 100644 index 0000000..dbb7e29 --- /dev/null +++ b/scripts/recurse.txt @@ -0,0 +1,18 @@ + + +/factorial { 1 factorial_int } def + +/factorial_int { + /acc exch def + /n exch def + { n 2 < } + { acc } + { + n 1 - + acc n * + factorial_int + } + if +} def + +10 factorial puts diff --git a/scripts/scripts/fibonacci.txt b/scripts/scripts/fibonacci.txt new file mode 100644 index 0000000..68bdeac --- /dev/null +++ b/scripts/scripts/fibonacci.txt @@ -0,0 +1,21 @@ +/fib { + /n exch def + { n 1 < } + { 0 } + { + { n 2 < } + { 1 } + { + n 1 - + fib + + n 2 - + fib + + + } + if + } + if +} def + +10 fib puts \ No newline at end of file diff --git a/scripts/scripts/for.txt b/scripts/scripts/for.txt new file mode 100644 index 0000000..a877cda --- /dev/null +++ b/scripts/scripts/for.txt @@ -0,0 +1,16 @@ + +/for { + /proc exch def + /end exch def + /start exch def + + { start end < } + { start proc + start 1 + end /proc load for } + { } + if +} def + + +0 10 { puts } for + diff --git a/scripts/scripts/function.txt b/scripts/scripts/function.txt new file mode 100644 index 0000000..5ad6f8d --- /dev/null +++ b/scripts/scripts/function.txt @@ -0,0 +1,10 @@ + +/double { 2 * } def +/square { dup * } def + +10 double puts +10 square puts + +/vec2sqlen { square exch square exch + } def + +1 2 vec2sqlen puts diff --git a/scripts/scripts/if.txt b/scripts/scripts/if.txt new file mode 100644 index 0000000..ba9a8b8 --- /dev/null +++ b/scripts/scripts/if.txt @@ -0,0 +1,14 @@ +/x 10 def +/y 20 def + +{ + x y < +} +{ + x +} +{ + y +} if + +puts \ No newline at end of file diff --git a/scripts/scripts/recurse.txt b/scripts/scripts/recurse.txt new file mode 100644 index 0000000..dbb7e29 --- /dev/null +++ b/scripts/scripts/recurse.txt @@ -0,0 +1,18 @@ + + +/factorial { 1 factorial_int } def + +/factorial_int { + /acc exch def + /n exch def + { n 2 < } + { acc } + { + n 1 - + acc n * + factorial_int + } + if +} def + +10 factorial puts