-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrathegame_040323.html
80 lines (80 loc) · 137 KB
/
rathegame_040323.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
<meta name="generator" content="WASM-4 2.4.0">
<script id="wasm4-disk-prefix" type="text/plain">WASM-4 Game</script>
<title>WASM-4 Game</title>
<style>html,body{height:100%;margin:0}@font-face{font-family:wasm4-font;src:url(data:font/woff2;base64,d09GMgABAAAAAAegAA0AAAAAKHwAAAdOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYGYAA0CAQRCArGHLlRC4FCAAE2AiQDgUIEIAWDJgcgG4ggUVRQhkQRbBylAWCR/eGAmzBgcbVSEQV1MFRs8Ts/TVirjdcmzZum+foZqYGq4TdA2FbzSDx8f5+ee7Ns74fim/BWoE4AP1Wwc6lakA20VO54RMrR2gpfsF97s/P3xKMD8UIkBZNFk2ondPz/n9v9G4ROvGcJ9ejaJw8RK4kYUOt8zO4KgUDgofBQGDwMCjsf2FAHKMuSxfQKGICKTqpw8TAYfHywFNs02zbbJDAgUAD+z7l4byADjcSJjXhAkX+V15z5PA0HfmEHdHqW5OfXT1PsVLlV5AkPgm14EPW/1ds0nWuhRkHhmb/7JBfdZazTpbTGMrxynHPs9XO634fF7LHGGYvKrld7xSsgpTyfJqABJJGiNEP0JXXyPy/gUd+Oq0QckHKAEocXne/KDv7oOwSG0MMrDDRgQ0HCAFZ0Ar7LFhgi+t39/2Lzv/+fFLDLD/G/EugBH+CBbj+wXA/giv6ofkm3ZAqiNhrXlgkd4AIQwJg18/ES0QEKIZXedNDpbH9FmDzLD3D97q2rzT3TRXdngPKMRazVYXWiUtlpVnZTprWt4J6wbQiLK7o/u+vhZr91OWHc2/gH+Qyq505NGWB7ui1DWkl94VWLPsznaf1Socl++32X0B1fLASbyLYi6TAO6LlJoPwXg5YAIDQZ2GxXd7yaLzKdTNrAjkIbD1Sca4fUrWmNr+IUViUJVbuuu66KDZXmnH4fMCQ5ukPCRJDdgit52b4Et5RuCK2ZjuBXWu6K6zJkW4qAxA6Y0BWJpS9UgZPLQ3iSuQWAodKrD1VK44bhgApzKGely9pyBS45qWsGAx7ELrGRNkqZX2rpG1no3KgrF9zv29HXdcAmEYpTeqXQunmcM1KNLri1l3ETKhr/jkuZpYQWCtMUkAOA+G31Ezc8TlQCcX0AFiJM8A/Ja5ANNF3s+Aj1HaR91PPZwCslbEBH81Bta7KBGjhAdpteqxIHxKrVrglxhbYG0qRrxPwYd+RA3LtpvfDZhqQKKExdOI4SSCr8hboPCCdUxuYcsLQ2TWw8XO+W8S8kg28tTsGhGLgAGRwq7qpSd5XiJn8+0m7km8BBpAhQ5rqdtpQ58nsk6UVIA1DbFmX+klm8NFI+mk+Ll5BXDAY1ZsGRNeDGIUiLnIISx8u1n++kPlx5KbJLJOSiIDP1dfY4drhKlPE7oTwc9gEI5vBFDpQ2ih/QCB4V+GrFeAMbdFltBSpSqZm9jTuVVM1CVTyG+Haj1uZhNOXIU0xda+WccPIV0vAyy13AXHS7odKqX6lPnNQW29uptFF7hjud+bei1obGQ3mmpvE7YI+21Nlt7iq+tVb3XTcUFG5q31u2uVI1qvk971yZ+/NvzpZV1dNa7Wrems+vXZ7G0bjYrBMdM44xvrdfytxyouoAmPMIUnc0H1njzFfrgVdARZ2VnWXVw+0qv/fX8iYj698zzrSTOlorbpYF7dsMJFE7yW5kV/NV/wwJ/6VW+S3vk6u7s/frQR4kpi7JSQUksyJhl0BSNPS65eUmD+i8UGEYHhd5zmQA0oU5xN+qs8fdwfJZAQaqNDFTgSowOASAVTi4nNRD5CwJVyFK13cHxDEeWVQDvZU3CfsgXuwhIGxxAGE3sxM1QNCL5oTRpAtVec0/pJXNfeLQLO+973quQzeYBhK7GMFx18+4DtE1AX90lFeaawcfPwKbh9CZncWGRig514Ca6r5aIcMk1u7R7OyRfIjVldpkv/8QTig8xMfDoNqXMmPq6rWqoKMWvmXNIhNcLI1TokIhQLNwOGTfZxXWtBtNJFOwSQNl+3DGVwiBVU4+Oq0FeJi5E8VTE1ABD05R60ZWTc49DS4M1nMCCzmZSm7M8UWDSoiGvZPrWrGYd4bKvbh8oXu1Pnv2vrfKud0bz5t2kT7Ti8FNP4L9IJy/PdAULtKZAlxz2FahwUZvcI6aZm61UI4qEJ3XUpHb3NZcIBs7HYrbHf7GgFYvCv4JTMlVK5o9e10zmwVpEoUbhD8pWxVbCX6xdKM4RGTiZ/2PaYEZMh7uAHi1vTTwNaeeqsmWeoX+fERAY8Dlq8IlZUVTrzi35D7ANkN8liq6UConAkh2mBUCA+jNZ4cnuXvJDuFGvEUlaWfzT5MjGonslkNYRjXtmwJEQgbrm1xCr4/AZMWbVPGZ3SvOH9q/AaXqXNGRhP+VuL2mvmu8/zv9BnB5l14cMu1MBSJ04++6QDnTv1bPp6oZnRul1ORTFVkMUlS1LsSh2h2L41VW44wWXcvRhJYwoLfn7pCnX7rB3Zs4otOwC568tbQs/egw8kfbjvhpM06nOc/rWqbg7EicnAydmY7O4nomxNHJws4WxYXFJFGl55716GhGRqqjKI9kp3x0+aiPQqzthaSFKiR6LmZAzFysLXdGb3rZfIi6TEU7jgcy2geINtNWQpaBCnYWTmxqWDw0wzgfrJvzphPhoIstcvGIzuZO4UN1requPbF1HWhqLtgPf3YiwnTA/xIgKAA=)}
</style>
</head>
<body>
<script id="wasm4-cart-json" type="application/json">{"WASM4_CART":"0ax}=0rr910yEi40E>8S0!kX1u<RsjE$8@$E$8}Fu<7$eE$4Da0!kX2E{-lRu&$[dE/U4b1aL/I0ak}VE$8}GE{-CfE$8@$00lse17=v[25N{*z/Qa80rAi6wO#U{BAg/1wDhYjwO#U}BAg/1wO7]y17=v[2v.H-Bw)r>00imlzGVe8z/fa^0%raLB{hz<B8b$11oSjMB{hz<B8b^@1oP+*1Qb5l2l$kl00&Vk2l$kj1Qthm0r&Sf0%]nm0%wPb1P-My0rAxg0E>boPZ@c>2oT9RuUKy(Bzkf1x)Ks<2Nbo>vrcC&6:w/1wmoN>02L$x2mu3w0uRvy3L0e5U-n/K071%x@0JGj2MLA<FpJdI3*d-}1B*Fr0ZD/LaoB?Koap>z0yl*cmgxnu0.0L0aoiI+eDt=i001byl4rR)10vOf0CS+Xaos+ey9A*E193:s0W4Ol4fvTLaos4]0xHhYaoB&Ty9rW406{W3aP@[*k($^B1WJlgmgxqv14rU2aoiI+eDt&k00jnAl49F>10vOf18n$Zaos+gy9A*E193:s0W4Ol4fvTLaos4]13cz:aoB&Ry9rW406{:5aP@[*k)g{C1Q>CuaoiI+aoIDF001bw4*%GYaP&?!aP@[*aQ5kPkMTg[1vicfa{5hN0ZD/LaoK[vpyNpD10EZO0sF@]aoK]Gy9AZB5oecVaoS!<dfoGd0STtCao:g}2Sz!<aoT$wy9rZ51WJYmaQ5$&aP&8{0ZNw?4fdHMaP.:haoS!<dfoGd0STtCao:g}2Sz!<aoS!<dfp5t0UuESao:g}7=IHkaoT$My9rZ51WKnCaQ5$&l11BK0ZNt&4fc+z0ZE>fk)RE04fdHNao:g}05<@Vao+4py9r:61virdaP@eOkP*a]1Au<t03zy!1T<ALhuA>31WJoaaQ5$>k)g{C1pCn@aoB?gAyyrpaoS!<f8$#l001bAk($^A1rW>l0+@>Z3M]Hp0DyKq0u.H/1UxYOiSGd501PCskMTgLkMTgLkP*d{aw01x0ZD/LaoB&Uy7psF009rjaoS!<c&%xg001bAao+4jya68.huA}51rW>l25kN/05<@-aoT$yy9rT31WJ=oaPT>saQf4)k[mST0rsnDk[k4u3<c>W1rW<@0SUmY03zy!1WJf7c&:l90S:zDao+4myafb.hV:d91viSmaP-+&k[N&P0ymer1%s7n4qEo>03IIi4<q2-0T/5{0ZE>gk[F2B03zy/0W4T&0sO#paoS!<eDt=i001bAao:d[0x6]UaoS!<df6Jg00KFFao:y#4lBL0aoS!<eDuqx01QgPk[E=O0W4Uj5nAu?3M]Kq2YQpP3<c>W1rW<@0STzCiSGd51rW+i5oZ8m0W4Q*0ZN9niSGg61rW>l18oj:05:(XaoS!<k)IcN001}V2oTdn6kwV(ao+4Ay9rQz4<qc11WJVlc&:k<1WJOv0$cjOao(N61VuzZ3M]G[0vX0GhVJ?20ZN9baP-+!k)RiG0sF@]aoK[jAyyrpaoAU^c&:l9001byk)g{C0W4If1zP7X3J-No13)0dmgxkt0W4H%0027X03zte0+@>Waos+fy9rP=aoK[gAyyrpaoAU^eDt=i000xH01jwV0rEWoZ<WBe0ZD&MaoL4w0rLIe13$q0GmA@pc&%xq4fdHMk[4GK0$khr3M]Kq/oH#s0brRTiSGd513$q0GmA@pk(&>B03zwf!%g(r0bs!1iSGd513$F5GmA@paosI603zwf!rLVp0brRRiSGc<3QJwwFpERhFpJf201k$h0rN-}FpJf206}fia{f9vFpJdIaoK{Z1u3q&aoJ./huBdb10vR50T6RFaojq3071o[FpERx0$Z3lFpER=FpwZB13=]M0ZE>hmgxkt1voXYGmA@pc&%wT0u.IhYPmX}0bs*L1u3qYaoU0uKaR@.y9iNo0STtCl9#Y9Fb<sb0x6#VaoU0mKaR@.y9iHm0SSPJ13)Gkb.gz}Fb*8/aoT$wy9rY*01fg!0%5KOby>q{Fb?>DyA-^8FpJf2071zYGmA}B0S>Q?kP*4W0rsqCli3@!mHYwv13)0gl7[gbFb<sj0STwC0ZD&MaoKg}03RLm4fmNMaoT.903zte0CS+VaoK[gy9rV/01feS0ZN}&001bwk($^A03zte0CS+V3&*Uyk(-5haoB?eiSGdC06{SD0mm0-Fb?>nk(-}C>-{^J06{PJ05:[.KaR@.k(:gJhuI%8GmA}/Z(Ka#03IyBkM:mMkP*aW001hBk{F&d03zwf@S2y%03zwj4fvTPk(>Zz1pDsNk(>Zz0T]5p3M]Nr.Jft10bs!1iSGd51vo>+GmA@pk{eh*06{Pc1vi66a]<I5W2Y&&06{Pd13(]g0S>Q?kP*aJ08r$7aoB<AKaR@.yaGt+aos+py9iKy2X<{gFpJdIaoB?fy9rZ50vO0PaoMv40%g.g0ZTU-GmA@peDt=pav=>vaoK]}0z0U1aoB&Uy9rSXkP*a]Z(Ka#0brUVaoB&Uy9A^70W4N%002qcm?2CaaoU0DKaR@.yc-g/001bAk($^A1vi2h0$dx{c<3=pGmA}B03zy/0T]5p3M]Eo5nAFvFpJdI3+DGw0!hCBFpJdIk[E/Q10&zEFpER3kMTg[071wHyc?>2Ax$En4fdHKaojXeBrQYJJq[AU0br[-03RL70STtAaojY?%a2R1ya6b-aoVEr0SSSf3J-No070lbyc?>2Ax$En4fdHKaojXeBrQYJ].%w>0br[-03RL70STtAaoj.5@^YI0ya6b-aoVEr0SSSf3J-No06%B@lh{$9k)Zf[03zp+06{Wda]<{4FQ@sKya6b-a{o!903zs=070AiFQ^-nc&%w>1zY)%01n(o0ZD/L0ZD/L0ZD/L0ZD/L0ZE>dl11Bq4*Jjy0se@p1{+Fu2M>tl01f[Hk%E*F1rWXg@S2B$2mzTPk(-!A03zte05:(U3<Nd.0yr)<huA>30ZM(C0SSSk3M]EoU(V/+03zte12ZhX3<v1Y0ys6]huA>30ZM(C0SSSi3M]EoWGnt*03zte1u3qY3<c>W0yso#huA>30ZM]D0SSSg3M]Eo05:(UaoB?ghuA<\u00210sH1Jk(-!A03zte05:(UaoJ.^huA>A^e5oy03zvPFQ&o301f[Kk[E=RFpJf201g4L0ZG3KeDBd.GmA}h03zmMJduCe01PD606{PC0mm0-Fb/$80rN-}FpJf206}fia{ofwFpJdIaoT$ghuBpf1vi2C0TI6[aQ4{jaojXImHYtu03zzg3#c)/k)RipJEVLf06{Pc13lI$l7&<YFb*X)aoAU*c&%U#1WJzp1sKrWk(:i31vi20F}ex401f[Lk[E=RFpJf203zBMJSxd.E)H<IaP@[*aQ4{j13^$eeDt+{21n$4aoK[gndtO3kMTgLkP*m%3pUE80ZE>jk{F(e06@pZ1pLwuao>dh07NF0lbiEz1pLttaoB?ny9rT30u?QP0sH1Ok]sYf7<c@8aoAU*li3@!As!gYFpERx1.]g:aoK]Vy9rV!aojXdy9rM=01fexQYyF#E<oF]FpER=5nJD[b.gz}Fb/ToaoUax06{Pd1%r)?1oH*<kP*gY001hFmgxnu2sfhGk]s.!1WJMiao+4py7MwPFpERx1vi66aP@[>c&%U%25kp=3&*UyaorO?yASY^0ZD&Maoi$[03RLm4fmNKk(>Zz03zzg7<54XBSZYc0W4NRKaq+h03zqSaPR#K3KX6Xk[E=RFpJf201hl@0ZE>dl7!lJ4fdHKl7!lJ4fdHKl7!l{aoldx0^c/40CS!Vaos4]06{Yf06{Tck)zrM0cyIRB8-r7aolI7iSGc/3+VMw0!hCBFpJdIk[E/Q10&zEFpERx13)2E0T{gNaoBC52P%i(0x6#ZaoJ.^huA>AMIMbZ03zvPFQ&o306%B81oH*&kM:m]1vS+20ZE>hl6ds-Fb<sj0SUT#03zzg3#c{*3&{.zaoT##L.jF^yc.}.001bAl6WW!Fb<sb0Y*qYaoT#{L.jF^y9iKr001bAl6ds-Fb<sb05:(U3&{-4]zBb?01:WhFpERcaoK[vy9XsWFpERc.2%:703zn10(QpPFb/Toaoj?t00ky!kMTgLkMTgLkMTg[04m)Gl4rRV2lj=a0%w=i2myO#k(-FpH)AWz06{SQ4feX!HK<%Q5rqo>Fb*8/0ZD/L0ZD/L0ZE>deDu4^1POM80%w#tlc$yrFb*dtFpJdIk(-qm-fk?706{SD00<8ylgxUXFb*dtFpJdIk(-qm-fk?706{VE00<8yaojXfiSGBK06{PC0mm0-Fb?>nk(-!A-fk?701PD6[p#NB01+9tFpER=04m]!Ly[w=k)fjG2Odp=06{YF00><<k(-}C^3oll06{PJ05:[%Ly[w=4*@C70ZD/L0ZD/Laoi$[2O41r0rJua3jxdYH>g6R5r8c&Fb?>nc<4tJGmA}/0xHh^4*$XsH>g6R5r8c&Fb?>nc<4tJGmA}/0Y*q!4*$XYH>g6R5r8c&Fb?>nc<4tJGmA}/13cz/4*$WNIgHfS5r8c&Fb?>nc<4tJGmA}/1uDI*4*%GWk(-}C2TFCR06gbbM4KO!k(:gJhuH*XGmA}j3QG^CFpERhFpJf200kzK04!h$M4KO!mgxk.06{PC0mm0-Fb*8/0ZG3KeDyP)GmA}h071$*FQ^.iJduCe06{PJ0xHjpMv<X/4*$XSIgHfS5r8c&Fb?>nk(-}CH)AWz01PD6[qhZD01+fvFpERg3QHCyFQ^.iJ^#Ug01PD6^29y801+fvFpERg3QGr3FQ^.iJ^#Ug01fgD0S-vLby>q{Fb?(=18x7Xb.gz}Fb?>nli3#+2q#R^k(:iJ!V5^h0TI6(lfuyV12Zh?k(:gJhuBB3MvKHo06{PJ06gaoMv<X/k(:gJhuFL$GmA}A06}-xlehIMG[aY703Iv=06}fhaoi$[aVox4aojXwy9iHd03Tr503zm:0x6#VaoiI:eDu[K0T6RCaoi$[bq]PeaoiI:eDv4O0T}x/}g9$}aoh$7FpJdI0ZE>deDu[Z4feV]aoi$[brt?4J!q&Zk(-2ceDv4S0h><fFb?(*Mv<X/aojXIyc-LGlc69sIgybb02!c6aoi!>eh^M%J!q&Zk(-2ccX0?tp6Fb?>naoi!>c]Id1J!q&Zaoi$[aS{+p03TYf5sm]$Fb/%106#bqy9XsWFpERcL(Q)^E)H(0aPIQf0ZE>d4feW<aPIQf0ZE>d4feW5aPINe13^$el5U?l4fmNKl9Mx4Fb<sI05:(UaojXsy9rM=01feB3M]BnNuStO0bs!1iSGd506#ZhGmA@pk(-!A03znc3#c{=3&*UyaojZUM4KO!yc.?X001bwlc$)HFb<sI05:(UaojXoy9rM=01fgP0SS^$FpJdI0ZE>fmgxkt0yl*faoldx0^3-jZKZ[nya6b-5tT&bFb?>naosI6Rh*gU06{Pc06gaQJ!q&Z5s!o3Fb*8/k(:gKhuFL$GmA}/RKr6!071?@GmA}/*5IXvFpJdI8xY5D19tT=yc.]yl9OaPFb<sj0SS!cFpJdI0ZD/Lk(-FpQ(H7T03RE!08B47k(:gKhuFz{GmA}/070mUhuJ/wGmA}g0sF@]aoAU=o:}7*070mUhuJ/wGmA}/06{Py0!uO?Fb/#U3J-NV04!hEJ!q&Za{5>/o:}7*06{VA0!uO?Fb?>nl68a90@OsoFb/#U3J-No0W4It4feV]k)61DFr>?r06{PJKo4lv@fq[+01n(ol96{lFb*dhFpJdI3QB+n0xHjSJ!q&Zk(-2ciSL$oGmA}f+1@fxE/+3dE<oF]FpER=UMFU+03)8BFpER3kMTgLkMTgLkMTgLkTtw#0}tc1Fb*+]mgxk.03zqdE}*eehuJyaF}9?z0U2e@073U+@%7B-1vi2NS[19MhuBdI072+>NfbtG3{:>V05:(&3QB+U04!f^iSM%VGmA}/06{Pk0)3NTFb?>oybMdmLy[w=5sF60Fb/Tok(-FpZ(%z303RFg0=ZTr01+MGFpERhNsG*r01+MGFpERhNsG*r06{Pp0kK!JFb*.]3M]Hp0DyKq1vi2t0kT>KFb?>oAsA4p03Izf04!h$M4KO!4flL@aoB?.mHYF4kP*a]&fe!z0br[-07vs%aojZO0brRRl9yx95sOc1Fb*X[lfakZFb<so001bweDwQq4fdHLlfjq.Fb<so001bweDz%RmHYFdaoB?qy9rS!01feokMTg[0ZUSynEUUx0yrGfyo{nc0pW*&lJvapkAWe(3&{-6004KlaP&?*k%4ZG03zuHlJva9lx@X@3J-M{kP*d@004HoLP*k$004KBt{6nq00000u#XQA03zAzaPR#L3QB+o0sIf[aP:}faos+lBryQ8aos+tBAeG8k]sY:huB0.kMTg[1494*dNPBA1vAd?FkoC[1vAd?003zDmgxkt1GrKB3&{-403IvJk(-2dk)RMP0DGp-k[FcUaos+BBAfnv2M^l)kP*d@007kfLP*h%004KBt{6kp00000u#XQA03zxyaPR#L3QB+o0sIf[aos+lBryQ8aos+tBAeG8k]sY:huBpM070rk0xQq@k(:gJhuBA>kM:m]0ZRt(mHYwv0ZSEWyc.?X001byk(>Zz0T]5p3QI26FQ^.^2TOp/k(-qm[zF[G0bB>3B%l#NarQ.Kav)Cq0DYH!k}>OEk[DrZlbiE^0t6<kFpER=U^n[h06@N!0ZTQ4k{eC[k{eFe06{R%F}ex4070&}FQ^.^{Y8Ark{eDok(:i^071y2k(?KGFpJdI0ZG3Kc<5[@F}9?B0ZS7Loap>!06{Pk0[rG/Fb?>oy9AZq0[rG/Fb?[7}*:g%k%dD&03zte0=nHgFpJdIk(-qm[zF[G03IyKaoB<n0zr>80ZG3Kc<54^GmA}C0ZM&T4feV]aoB&UybMdCM4KO!3<v28070oj0xQq@k(:gJc<5s(GmA}/0CTH]&fw}B070&}FQ^.^04m{v&duEVk(-qm{#3:O06}eZ5j3pA0]f5[Fb*+{aoB?gz6x3E0D-9y1AV{Ly9iNz1AV@B0bs*n06{R%F}ex406{Pk0]Pt@Fb?>qm?2O!06{Pk0]f5[Fb?>oy9AZq0]f5[Fb?>nk(-!A&fw}B03zte1v&[7k(:gJc<6t8F}9?!JM*F:y^D$vYw<0da{75&+&F?vleQ?p&@:3u0yqZ?<P69.?@.Mh18o1-huJ*mF}9?!03zte7<m88aoB>b0brRTl4/ng8:TG8Ax%>BhuJKeF}9?!03zqd7<ngPA6.tvybMd*&duEVk(-2hk]s=h3#!9a/P?8t06{PJ05:]lM4KO!3<l}tkTtw#0{2S0Fb&1E03znc04m]!Ly[w=k(:zk0ZG5j}g9$}aojZy0br6@FpJdIk(-qm-fk?703RFk4fEZO5r}Y}Fb/#W3QB+U0xHkAM4KO!3<3!V0ZU+dGmA@p5r}Y}Fb/#U3QB+U0x72GM4KO!k(:gJiSO/qGmA}f0ZD/L0ZG3KeDB1UGmA}C0U2b}04!h$M4KO!k(>%m00ky!kTtx40kK!JFb*+{ldk*Nldk*74feV]k(-qm)3iiN06{T2a{6U7)3iiN03ztejvY?YlhQLfFb*dhFpJdIk(:gJhuJlgGmA}A072VCiSJb406}CW0:)bJlDaF9FwqgA16uVCl4KYBPAWpQp^J>paP.Zg13^$glehJh4fmNKlc]QDaoDpz05:(UaoB?iy9rS!01feS071%iyc*RR5qkN:Fb*G0M4jyn01+ACFpERd0sIf[k(-!A)3iiN03zte193Qem?2CfN$c3t01h6)eDB1UGmA}h0sP2qaoB$v0sIf[eDAOIGmA}/193Qem?2CfN$c3t01h6)k(-qmGPpXn06#9Ha{6U7GPpXn06{Pp0eM}[Fb*.[0ZE>f4feV]k(-qmFr2nj06{T2k]sL+0YyagJ!q&Zk(-2ek(#c]KJr060br[-06{^8huFL(GmA}A0yu.^Ax%Q}4feXBV7Ijx0^l<gAsz)<0ZM)fl9OyXFb<sj0STzCl3)t?0ZNxtAZtzlHZloXk(?KHFpJdI3QB+U04m]cJ!q&Zl4rR[0YyasJ!q&Z0ZE>f4feV]k(-qmH(Nar06{T2k%Guk0YyaoJ!q&Zk(-2ek(#cL0ZT6dFQ^-nc&%xm1-c6#Je&Kv03zqd@@Ea90y)O0aoB<k.gvapya6b-l4:]Jc{X[u0Uy0mFpERck(:gJc<2G<GmA}/E}*eek}0&S8-v+VJ!q&Z0ZD/Lk(-FpQ(H7T06{&.4feV]eDzScGmA}/@@Ea92UtEa3QHV-FpERhFpJf206{VL0ZM?#MW<Qp01e&[k(-qm@fq[+03RFg0z0U1k(-2el40z>0YybTM4KO!aoz#L5s!o3Fb/%yZ<WBd0ZD&MaoB$v0rLIe0ZUg#GmA@pc&%w)0yWB$aoB<WM4KO!y9A*71UxYOk(>ZA208.:aos+em?2Cv20@m&Ax$sf4fdHOk(-}C03zte/oH#s0brXUaos4]06{T2k)89/000xH0ZNlfaP-5L3KYl2l7%2li@{2%kMThp04m{DM4KO!a{74hndtL2kTtw#0!uO?Fb*+%k(<Q/06{Pd0u.Cf03ztUao-Yc1P*{>kP*7[3pUE9k(-5f13=]MaoB?nm?2Cv0yl:3aPR#M3M]D)0W4If@@E9Z0ZV?!As!W>FpERx1RvnQFpERx0ZM<4aP-5L3KWtd03IIi04m{DM4KO!a{76*ERIfw0u.CVk(-qmFr>?r02)6=l8H65Fb*.$13^$jk)*6<13(]g0W4Z>0rUN*kP*a]2$CB8ao$gky9r*81WJf7aQ5nQ3M]P}0W4H}001bC5t1A5Fb*X)k)?uI0u.Cf0CS+V3&*Uy3M]Bn06g9RaojXciSMt=aojXciSMq+aojXciSMn:k(-2eyAJW31WJhV8ZbwJ03IQHkM:m]2TF!!4fn-}aP-+(k((6K20&ogaQppkaPRWg0ZE>ek)Z3<03zLk0CS+-3<3!V2TOE>AuCoF@@E9JOQ=lv03znc=&v/6070^<y9iHxT]&zY070Z?y7N1/FpERx1%r$kE}*elaoi$[p^C771RvtSFpERx2oTr}04!hO13(]f1RvtSFpERx1%r%&04!hN13(]f1RvtSFpERx2oT6<04!hM13(]f1RvtSFpERx0ZM)5aP-+!k(>Zz0sO@o3KYmZ0ylYl0@OsoFb*+{yAJWA[p2ar04m]0Mv<X/k(%H{aPT)aNs*1&aQQHnaQwfnap7mumHYz+0u?H!2TFGka{HslAV>Vg3lYMPkMTg[0ZNF&4fdHTk(>Zz3lPQu0CS+-3<3!V1UxYOaojZO0brRRl9yx9aojZg18n}Ul9gl75taG6Fb*X@aoB&Uy9A%b04!gEk(-2d5tjM7Fb*X%apfd<eDz%Rk(-2d5tjM7Fb*X@aoAU=eDz{Qk(-2d5tjM7Fb*X%aoAU=eDz)Pk(-2d5tjM7Fb*X[k($^A0W4Uj3tHZ/3&*Uy3M]Bn06g9RaojXciSMt=aojXciSMq+aojXciSMn:k(-5m13^$nk)*6<0yl-f0W4!n0DYH?k((0H20&kj0rUN*kP*7[2$CB8apgsmy9r((0T*aSlh{$9aos!d0DwWwFpJdIaojZO0brRRl9yx9aojZg18n}Ul9gl75taG6Fb*X}aoB&Uy9A)904!gEk(:gJ5tjM7Fb*X@ao%1?eDz%Rk(:gJ5tjM7Fb*X}aoAU=eDz{Qk(:gJ5tjM7Fb*X@aoAU=eDz)Pk(:gJ5tjM7Fb*X[k($^A0W4If0CS+U3&*Uy3QB+U0Y{z%lbm{)0S>Q?kP*a%4flI}aoB<QM4KO!ya6b-k(<E+073bvFQ^.y0ZUt3GmA@peDt=p19tT!ldIlMFb<so002p!Bu{f#2TGpI0ZUC6GmA@peDt=p19u&G0bs*{a8%N?k(?KGFpJdI3M]Hp3#c{!3&*Uyk#nZak(-FpH)AWz073R=Ax%Q}aQn9m0ZE>f4feW<aP.Zg13^$gmgxn0kMTgLkMTgLkMTgLkMTg[0ZR{jGmA@pc&%xmE}/C#009c61o!#m3QB+UP:iZX6Hw%!FQ^.y0ZS6nGmA@peDt=p1AU:/l6WW!Fb<so002p/Bu{E75j3pZZYlWo06{YM0u.CfMZ0bM0bs7=02(G3FpJdI3<E89070p:i@{3YU-<S*03zteL:3/J0bs7=06{:faoB&]L.jF^yaPz=k)ho}5j3<[072JzlbiE^13(@g0ZSfqGmA@peDt+&5q2B.Fb/#Y3QB+UP:iZX6Hw%!FQ^.y0ZS6nGmA@peDt=p1AU:/l6WW!Fb<so002p/Bu{E75j3pZ[bL+&06{YM0u.CfMZ0bM0bs7=02(G3FpJdI3<l@7070p:i@{3YU-<S*03zteL:3/J0bs7=06{:faoB&]L.jF^yaPz=k)ho}5j3<[5j3pZZYlU5k(&8fl6)**Fb<so000@HF}ex401n@qk(:iA2S&53l9MM7Fb*X[l6NQ^Fb<so002p/BrySJM6u]K0bs7=06{:fk[Dr[k{eC[lbiE^13(@g0ZSfqGmA@peDt+&5q2B.Fb/#V3QB+UP:iZX6Hw%!FQ^.y0ZS6nGmA@peDt=p1AU:/l6WW!Fb<so002p/Bu{E75j50o071y2k)6yNaoB&}L.jF^yaPz=8XvQKFpERd0sIf[l7[MC0tE&7LyXk:aoB&[L.jF^yaPz=k)hoL0ZS9oGmA@peDt=p1AV{vk[DrZk[Dt$06{YM0u.CfMZ0bM0bs7=02(G3FpJdI3M]Hp3#c{!3&*Uyk(-5ek(-5jk(-5i0ZD/L0ZD/L0ZG3Kc<3ucGmA}i1oOY90r-=@04!izM4KO!k[v%32UNC:BrH/N5fRk^0$dx{aQgjjeDCHfGmA}/4@<(vof&P2aQ5nQ3QC[3fHkW<0qz+hFb?>CAx%>68ZbzK0WdZQ0sIf[aQ7dOk}>O8eDCNhGmA}/4@<(vob/2U3QB+o0S>RM04m{DM4KO!a{QymndtL+03Iy^2o:9HkMTgLkMThp04m]0Mv<X/4G(+m0rJuhk(-5fk(-2jyASY!0$dx{aPT>eao#W90T]brk(-5eao%4>3&{-403Iwe03IyK0ZD/L0ZD/L0ZG3Kc<5[6GmA}i1onD70%w#$070p:i@{3Y[w{fh03zqd04!hFJ!q&Zyc^8VaoB?eeDzYeGmA@pl3Ncg5j3<I20&kPZYkFXk((0qF}ex401n@qk(:iA2S&53lgz%DFb*X)k(-FpRJcpV0bs/Ay9iNz04!hGJ!q&Zyc^8Vk[Dr[ao>ailbiEy1WJff5q2B.Fb/#V3QB+UP:iZX6HzlfFQ^.y0ylYq0h+^eFb<sICXOu5k(-FpR&DyW0bs/Ayc-y%5fIfy071y2ao+4iAU9?MFpERd0sIf[l7[MC0tE*xaQn6l0ZD/L0ZD/L0ZG3Kc<3ucGmA}C1}y+t009c63QB?q1}gOwk[CgAl4f%Uk(-5j3<c(60WdRh03ILj03INQ0T*aOaQeruarZ%$lgz%DFb*X)k(-FpRJcpV0bs/Ay9iNz04!hGJ!q&Zyc^8Vk[Dr[ao$gPlbiEy20&og5q2B.Fb/@UkMTgLkMTgLkMThp04m]EJ!q&Z4G(!l0@@Di0ZD/L0ZG3Kc<5[6GmA}C0ZRrJ4G=Xi0Tx90070p:i@{3YZw9ke01:WhFpER=[AtBN06{Pp0h+^eFb?(Oyc.?K0h><fFb?>vk)P+0k)P=(06{R%F}ex4073brFQ^.^04!hFJ!q&Zl1>1004!hGJ!q&Zk)P:Zk]q([lbiE^0t6<kFpERd1Q^P@l7[MC0tE?.{KE+]5p/pYFb?[8>Z!l:k(-FpRJcpV06$ynk(-FpR&DyW06{*7k[Dr[k}220lbiE^2[RYsFpERd1pEG}l7[MC0tE&i])?L)5p/pYFb?[8>Z!l:k(-FpRJcpV06{Pp0h><fFb?>xyc-a>2TG1/071y2k(?KGFpJdIlgB8?Fb?>neDzVdGmA}/04!hGJ!q&Zk[W]#2TF.Z5j3N/ZYlU35q2B.Fb/#W3J-M{kMThp04m{rM4KO!a{75Wy7psC0rJDkk(:iA2S&53l8ad8Fb*dhFpJdIlgB8?Fb?>neDzVdGmA}/CXPIAeDzYeGmA}/Ab4VAk)P:/k(:i^06{=1F}ex4073brFQ^.^04!hFJ!q&Zl3Ncg04!hGJ!q&Zl1>102TF.Z5j3N/ZYlU75q2B.Fb/#X3QB+UP:iZX6HzfXFpERhFpJf2073brFQ^.^04!hFJ!q&Zl2pp404!hGJ!q&Zl2gj35j3<[c{W&0ZYlU35q2B.Fb/#W3QB+UP:iZX6Hw8UFpERhFpJf2073brFQ^.^04!hFJ!q&Zl2ZN804!hGJ!q&Zk)P:Zk{eD0lbiE^0t6<kFpER=[AtBN06{Pp0h+^eFb?(Gyc.?K0h><fFb?>vk)P:[k)P=(06{R%F}ex401n]p0ZD/L0ZG3Kc<5[6GmA}C0ZRrJ4G=Xi0Te@$070p:i@{3YLk6MT01:WhFpER=[AtBN06{Pp0h+^eFb?>neDzYeGmA}/Ab4VAk)P:/k(:i^06{=1F}ex4073brFQ^.^04!hFJ!q&Zk(-FpR&DyW06$pkk)P:Zk[Dr/lbiE^1RuooFpERd0$dx{l7[MC0tE&N{jdU[5p/pYFb?[8>Z!l:k(-FpRJcpV06{^6k(-FpR&DyW06$ynk[Dr[k}220lbiE^0$Z6mFpERd0T?o]l7[MC0tE?L])?L)5p/pYFb?[8>Z!l:k(-FpRJcpV06{)9k(-FpR&DyW06{(R2TGO02TMlak)4WIFpJdIlgB8?Fb?>neDzVdGmA}/5nBGheDzYeGmA}/2TF.Z7^OA[ZYlU55q2B.Fb/#U3J-M{kMThp04m{rM4KO!a{75Wy7psC0rJxik(:iA2S&53l9ZinFb*dhFpJdIlgB8?Fb?>neDzVdGmA}/2wMK8eDzYeGmA}/CXPIIk)P+0k)P=(06{X#F}ex4073brFQ^.^04!hFJ!q&Zk[vY@04!hGJ!q&Zl3Ncg2TF.Z7^OA[ZYlU55q2B.Fb/#V3QB+UP:iZX6HvrAFpERhFpJf2073brFQ^.^04!hFJ!q&Zk)q0?04!hGJ!q&Zl27d25j3<[c{W&0ZYlU55q2B.Fb/#U3QB+UP:iZX6Hw+(FpERhFpJf2073brFQ^.^04!hFJ!q&Zl3Ncg04!hGJ!q&Zl2HB62TF.Z5j3pZZYlU75q2B.Fb?[8>Z!l:k(-FpRJcpV06$<Ak(-FpR&DyW06$jik)P:Zk[Dr/lbiE^1RuooFpERck(-qm[rFSR03IyK0ZD/L0ZD/L0ZE>fl4rRV0@@u61pEG}k(-Fp]P+5V06{T2a{6!9]P+5V03zte@@Ea914J!5k(:gLhuJxkGmA}/06{PC0q8LeFb/#W3QB+U04!iyM4KO!k(>ZA0Y*tNM4KO!aoB>e0Dyycm?2I=06{YB0}qFcFb?>nk(-}C]P+5V01n(ok(:gJeDCBdGmA}/0CS!WiSO/qGmA}A0ZV?!Ax%>24feV]k(-!A[rFSR06{PJ06gbLM4KO!3&{.U071%iy9iHxUleIJNT/{s03zm[08K<Eaoi$[Ulb%S5s[u4Fb?>rm?2Cv3{+2ra{74jAV>(m3QB]qa]%$iAV>]n0ZN9jaRbW@k)RGO5fH%sg?[fCaojXYy9siQ03IHFkTtw#0*FZ$Fb?({+&F?vleQ?p&@:3t0rLIe1WJnY4feV]aP:}faosw4L-yxD00ky!kP*7[FpJefAyyrpk(-2dl5<aI0bK%U>dxTQy9AZq0*FZ$Fb*X[l4BGoib]xdk(&bg3M]G[5fIF{I?3td01f[Tk)?AJ3U?#KN1G[?yc.[Z000Ae3M{3F8AdY$k(-5fk(-2dl5<aI0bK%U>dxTQy9A<FJM*F:y^D$vYw<0da{Qz[+&F?vleQ?p&@:3u2%<M{<P69.?@.Mh18o1=l5<aI0bK%U>dxTQy9B0y0*FZ$Fb*Y8appyKC0MjHa{{Qpy9i<HD#Ztnl4BGo2YQ!c2Sq.:aojXchuC0z03z:]0ymMCk)?NCa{{jfbP)7f4iL<v7<ngLAb3N3huCoH03zOl7<ngEA3trG0CS.Tl40X}2si(<FcZcla{Q1cej4}:FpERx06}-x5p]vZFb/Wp0ZD/LaoB&V1v-?2aoB&[NUca<y9AWb0SSVgaoB<0NUca<yc.?T0STtzk]IS.03zteKEy/L0brRZhuA>30ZR^lGmA@pao%!a03zteH)&%D0brRXk)?A^0STtAl4>XVFb<sb3pb2nhuA>30ZRv9GmA@pk(-!A06{PJ04m]IJ!q&Zl5<aI0bK%U>dxTQy9AWp0<4AmFb*X[l719[Fb<sb0ymMCk(>ZU0SSPJ1WJf7aQ5nQ3M]HpazJ533&*Uy3QGq<aP.:h0ZE>f4feXAD)5K[kMTg[0U2b}U-su^03Izf03IvBkMTg[0yl#Y4feXAE<1<{kM:m]0.0L0aoB<wKaR@.ya6b-a]%$nzY]n=kMTg[0yuFXn^$+y1WJq.4fl&503Iwe03IHEkMTgLkP*a]U-BA!0br[-01G5g0rJS{c)n:W7:e[*0sIgoaQ7dyaPR%p070oj0xQq@l9Mn#Fb*X[l9#Y9Fb<sj0SUJly9iNzXq#n)0br[-06#0Ek)P:ZaorO*lbiE^0t6<kFpERcaoB?uy9rS!01ff203ILj04m]#Ly[w=aPRTf0ZD/L0ZG3Kc<4+VGmA}C0ZM&T4fdHKl49-s0y)O0k(-2el3Nb*0YybbLy[w=aoz#Lk(-5f0ZE>el4rRV0@@u70sIf[aQgjjk(@}C!rtJn01n(o0ZD/Laoq@P1onG70T*aLaQetQ3QG<PaoDs41}8KTl689&20[sKn/F]Sk(-5e0ZD&Mao&$<0ZE>el7!lG4feYQ]mht>k{doOk]su5gc>)KK:}$j072PpFpER=arQ>OazKg$k(.EUFpJdIlf!8)Fb?>Tao>aWyc:Qv01+oyFpER=071DZ06ph}l9Mn#Fb?>nao>aqk)P:/k(:i^06{R%F}ex4070&EFQ^.^M&Orlk)P:Zk[DrZlbiE^0$Z6mFpER=U-16.06{Pc20[4Cy9AWA2TF.Z5j3pZZYlU75q2B.Fb?)tI?cxUl6}V}0yl#S2TG1/071y2k)E%MFpJdIk)ORn3<3!rkM:m]1T0>o4fmNLaoB<obOlb?FpERx0ZM<4aP-5L3KX6Tk(>Zz0sO@o3J-M}kP*a]M&PU=0yr@FFQ^.y0W4Xk2TF.Z7^Oc/ZYlU35q2B.Fb?)tI?cxUaoAU^k)P:Zk]q(/lbiE^1RuooFpERx0ZN9baP-5L3KX6Yk)RiG1WJbi0S$Xg0ZRtqmHYz+U-16.06{Pc1T0>Ya]%$nk)P:[k(:i^06{]5F}ex4070&EFQ^.^M&Orgk)P:Zk]q(/lbiE^4g[bwFpERx0ZN9baP-5L3KYl2k(-}C+-^Wf06{PJ05:]dLy[w=3QB+UaV/Ysk(-5f13=]MaoB?ym?2C:03IyCkMTg[0ZSEWm?2C:03Iwe3lYDMkMTg[0U2b}03Iwe3lYDMkMTg[0U2b}+:9)i03IRl03INGkM:m]2seR+4fmNRk)g{C2%!Lm0ylYe0S$W?kP*7[Fc5jI03zLk1zP7=ao$gky9r/<0T*aLl6RE=aQ4{j0ZE>kk(-FpQ(H7T07NE#aoB?eeDzScGmA}(4feV]c<4FNGmA}/c#.D^nG!oD0sIf]k(@emaouj90STe.1}8KWao->(5r.M]Fb*X)k{f[=0u.Cf0CS+V3&*Uy3M]Bn=&v/D04m]&Ly[w=k%f5%P[4Vz03znc=&v/DPAduC0ym>{0t7xzFpER=070rk0xQq@k[ul]k)fEN5tBY9Fb?>Ck[=J!k)d:[FpJdIk[Dr{k)oKY5tBY9Fb?>Dk[=J/k)O3@FpJdIk[Mx}k)fEP5tBY9Fb?>Ek[=J!k)v){FpJdIk(:iAH5<vp6Hw%YFQ^.^}#x3A0ymn.5j3<[fHrFOk(?KGFpJdIk(:izH5<vp6Hw%YFQ^.^5j8xUk)P:Zk]q)0k)P:Rc<2=@GmA}C0ZM&R8Z2hF0zjp%c{+SGk(?KGFpJdIl9Mn#Fb?>Ll68ak2TF.Z7^OZ02TFCs0*]12Fb*+{k)6N}aoB?hn/H5AlbiE^0t6<kFpER=U-16.06}.[Ko4SMk)P:[k[Dr/k(-qmN2V/H03RFg1X6BN0ZM#Z8:L(rZYlU35q2B.Fb?)tI?cxUk}23X0yl#S2TGp[5j3N/04m]oJ!q&Za{74nmJiDKk)H13k}24m06{R%F}ex4070&EFQ^.^fHp^3k)P:Zk]q)0k)P:Rc<2=@GmA}C0ZNbZ8Z2hF2$=d5c{+SGk(?KGFpJdIl9Mn#Fb?>{l68ak2TF.Z7^OZ02TFCs0*]12Fb*+{k){d3aoB?pn/H5AlbiE^0t6<kFpER=U-16.06}eZMJowTk)P:[k[Dr/k(-qmN2V/H03RFg4mRoV0ZNn/8:L(rZYlU35q2B.Fb?)tI?cxUk]q[O0yl#S2TGp[5j3N/04m]oJ!q&Za{74vmJiDKk[uNbk}24m06{R%F}ex4070&EFQ^.^avhs{k)P:Zk]q)0k)P:Rc<2=@GmA}C0ZNz/8Z2hF5Ls0dc{+SGk(?KGFpJdIl9Mn#Fb?>-l6?Qr2TF.Z7^OZ02TFCs0*]12Fb*+{k[=ZbaoB?xn/H5AlbiE^0t6<kFpER=U-16.06@q8MJowTk)P:[k[Dr/k(-qmN2V/H03RFg6?fb+0ZNL[8:L(rZYlU35q2B.Fb?)tI?cxUk@.e%0yl#S2TG1/2TFCs0*]12Fb*+{k]i0fk]pZCk]rcik}24m06{R%F}ex4070&EFQ^.^:n!I<0yl#S2TG1/avi^yk(?KGFpJdIl9Mn#Fb?)Z06#?Ik)P:Zk]q)glbiE^0t6<kFpERx071%iyc.?F0?+NaFb*dOFpJdIaojZO0bs*L06#>JlbrK!01+oyFpER3kTtx40mm0-Fb&1E06{PJP[SOf0tE*1aP.Zg0ZD&M0ZE>fl7!lG4feX#I?cxUk(:je06}eZ5j3<[5ja8ik(?KGFpJdIl9Mn#Fb?(%0ytSzk[Dr[k[Dr[lbiE^0$Z6mFpER=U-16.06{PJFb}}Ek[Dr[k[Dt$06{=1F}ex4070&EFQ^.^Ko4T$0ymn.5j3<[5ja8ik)E%MFpJdIlbnLlFb?>ulfwkl04m]MKaR@.k($)E0UyDzFpER=03zte04m]QKaR@.p9G-$0{2S0Fb*X[4fw/}eDC11GmA}/0DyKq0ZM/m0<E-rFb*.]3<c(6U-16.03zte?#D4Ok[DrZk[Dt$06{R%F}ex4070&EFQ^.y0ZVqQk[Dr[k(:gZlbiE^0t6<kFpER=U-16.03zteFb}}Ek[DrZk[Dt$06{R%F}ex403zte5nAu&3&*Uyk(:i3Fb}.j6Hw%YFQ^.^Ko4T$0ymn.5j4B8fHkW!0)3NTFb?>RA6TU28:KD&ZYlU35q2B.Fb?>nk(-qmU-BA!03RFg0CTH]U-BA!06{Pp0o/Y2Fb&1E0sIf[aoB?gybMc$KaR@.3QB+U04!f^iSN0WGmA}g5dp=aaos=)0CS!Zk)4WYFpJdIk[1>tk)4WYFpJdIaoB&Uy9rT30yl:3aPR#K3KX6Tk)7<C1WOvNk)4WYFpJdIao+640yl/0L7n7k03zteE}*bdaos+ey9rP^01feS0ZR[Gk)4WYFpJdIaoB?fy9rS!01feS0ZNbU06{O@O}8uw03zte0CS+V3&*Uy0ZE>fk[4GL1T<ALa{HslndtLw03zF70U=:Saosw45j9b/FpERx06}fh5p]vZFb*X}ao:d{06#9HhuA>30ZM%7c&%w)20)GGk(-FpRJcpV03RUy4fdHPk)RiF2ttNbaoB?mya6b-a{HtTyc.?K0h><fFb*+#p7mgC20&Jfao$NH03zm:0x6#Vla3GsFb*X(5p]vZFb/To0ZD/LaoA})01G5g0rJS{06{PJ04m]oJ!q&Za{Hsly9A)G04m]sJ!q&Za{/v%apgNTao>bYne<C*N2V/H01n(ok(:gJc<364GmA}/0CTH]PPjUP01f[Mk(-!A01f[Jk[E=O0W4If0CS+U3&*Uy0ZE>fl6N%[Fb<sj0STzBk(<H=06{PJPOrFe0tE*1aos+eACE&]AuLMf0ZSuFGmA@pc&%w(1P*{<kP*a]N4w}X0br[-03RRk0DwLGao&}?yc-zHk)Q180sO#pao>alz:+/I3QKorF}9?z0ZRHhGmA@pc&%xm3t*)!l5qa+Fb<sj0SUH[z9XB[2TFCk2si>vao+4jAV+Jd0uii-k)hiJ0u.OjFb@mYk((0qF}ex401f[Jk{f[=0T]5p3J-No0ZS6xGmA@pa]%7[03ROj0z0U1aorO*l4rSc0STtAl4>?ZFb<sd1T0%%0STtAl5.y/Fb<sj0SV%V1#VI.aoB&+O}zK[y9A*71T<ALaoB&<O}zK[ya6b-y9A*t0SSo!ao>cuB811%A.cYuao+6eE[g1Gao+6h3RgZc3M]Eo05:(U3M]HpazJ533&*Uy0ZE>fl6ds-Fb<sj0STzBmgxkt0ZScpGmA@pa{x7)eDt=p0CS!.iSGcYkMTgLkMTg[0yqiI4Hh$m0S-r50r-=M20@m&Ax$Tn4fu}u3M]Tt@@Ea99.3Ot3<3!V2mQXR20@m&Ax$To4fl?V1WJbH001byl6)**Fb<sd0u.y{002rmB3P?DiSGc/aoB?qy9rS!01feS070*>y9XsWFpERcQy42cE/.(304!h$M4KO!4feV]c<6siGmA}/07)X2k(-qm[rFSR01w]fkTtx40l*TVFb*2Uk(-Fp79S-A7<54XBS*+!kMTg[06}-Ea{7gx06{Pd13(@h1vi2N04!iBM4KO!k(>ZA1V=UTM4KO!k(:gJiSO@uGmA}/04!izM4KO!k(-Fp{lynX0ceIHk(&bik(-5gk(:gKhuG?qGmA}g0sF@]0ZE>dk[F384feV]aQ7dik(-Fp{)3FZ06{T2a{f>a{)3FZ06{PJ06gbOM4KO!k(-Fp]{7eW06{Pp0qqXgFb<Q00ylYe1WJbO05:[SJ!q&Z3&{-403IIi06{PC0qz+hFb?>nk(-}C{)3FZ06{Se1vi2h0$khrk(-5h3J-M{kP*7[E[ydIk(&bek(:gJeDCHfGmA}/0CTT}{lynX06{PJ06gbMM4KO!aoJ.&AZxZaAsz}m06{YB0&RciFb/#U3J-No071y2Ayyrpk(-5dk(:gJeDCEeGmA}/0CTT}]{7eW06{PJ06gbNM4KO!aoJ.&AZxZaAsz}m03Itd06{VA0&RciFb/#U3QB+U06gbNM4KO!k(:gJiSO&rGmA}/0u?BJ0ZD/L0ZD/L0ZE>h4feV]eDzVdGmA}C13}oGlgs[{k)huP0ZM/r0h><fFb*+@k)huP1}WtQFpERz1WJw^4fmNPk(<B:0u.Li21x45aoAU*k)z6&[bWI{1A>%]5s[u4Fb*+%k)H3(0u.Li0y^I0ao+4nmHYwv0W4WUQKW(B01w@K0W4ZVQKW(B01w@{03zwfE}*efiSM4qGmA}g0sF@]aoB$v06{Pp0h+^eFb*+}k)q0?[bWI{1A>%<k(-FpR&DyW03RLi1A>%[5s[u4Fb*+%k)H3(0u.Li0y^I0ao+4nmHYwv0W4Ri25lD[0DyydB%me5OQ=lv03ROj2tkHbao+4imHYwv1WJtZ4fmNMao&yLFpJdI4fmNMao@EMFpJdI4fn-{aoK[gy9A:v0h+^eFb/#U3M]AU0ylYq0h><fFb*.}k(-FpRJcpV03IBM0T*aJmgxn9aos=Tn^$?/04!hFJ!q&Za{phVyc?s&Ax%.Ja{gaheDzYeGmA}C1WJxdlgs[{k)huP0t7/LFpERz06{&.4fvTLk(<B:0W4Fe21x46aoT$kyc?s&Ax%.Ja{o1?5s[u4Fb*+[k)H3(0W4Fe0y^I1aojXimHYzw10vQQQKW(B01w#L1rWZRQKW(B01w#L1WJf7aP@hO3M]KqD$>$p0DyydB%m8j1vmJLa{pj30DyydB%l}#OQ=lv03Rze2tkHbaojXdmHYwv06{/U4fmNNk)g{*[bWI{1A>%>aor4AFpJdIa]<[loap[A06{SP4fmNKk)x^/0u.K*0t82RFpERe0u.E!0t82RFpERe0sIf[aoT.9R&DyW01e&[0ZD/Lk(-FpRJcpV03RyL070gSaPK?d0u?EL0sH1Il7XfH4fn-@aPK!eaPR%p04!hDJ!q&Zaoujy@@Ea904!hEJ!q&Zk(.E.FpJdIk(-2ciSM4qGmA}f0ZD/Lk(-FpR&DyW03RyL06#RCaPK?d0u?EL0sH1Il5#4r4fn-@aPK!eaPR%p04!hDJ!q&Zk(-FpRh*gU03zqSlh{$9k(.E.FpJdIk(-2ciSM7rGmA}f3.4d$0!iGoeDzYeGmA}B0W4Fe04!hFJ!q&Zk)hu(001bxaoB?iB%m2H0006=0ZD/L0ZD/Lk(-qmSe=HX01Gbk0@@u83M]Hp5j)rkaorO!l4rSg000JqaoB&&0zr>6aorO!k(>ZY000Jqaoi$[03RFk4fmNKaoB&Uyb#s{4*%GWeDt+{0ZNb=4fdHJaoB?fyb#s{3KY]l0ZD/L0ZG3Kc<4[ZGmA}i0@@x60T?o]l68a90))c-Fb?>nk(&>B!rtJn06{PJ0xHk8Ly[w=4*$V6l68a90))c-Fb?>nk)61D!rtJn01fg60%5HNby>q{Fb?)[0=5$Wb.gz}Fb?>neDzScGmA}C0yl*fk(-FpQ(H7T03RFVk(#c]+:9)i0bs!2huA<WkMTgLkMTg[0W4If1AXVd0yp7c4GVUj01f[Ik[VV%0ZM@P0ZM?#LyOgl06{=O0yl(2LyOgl06{/P2TFI6LyOgl06{&Q2seL9LyOgl01n]pk(%sPk)d:.FpJdI3&{-45j3Z<01+3rFpER=5Ku<(0UyltFpER=1viwX01+3rFpER=1WJIZ0UyltFpER=3{+1Z01+3rFpER=4m7d-0UyltFpER=0yl@R0$ZVDFpER=13)5Q1q3=EFpERcaojXdiSGd506{Pp0h+^eFb?Rg10vOf04!hGJ!q&ZiSGp906{Pp0hLTcFb?Rg0u.wd04!hEJ!q&ZiSGj706}rll4>LRFb?)R0UyisFpERraojXcc<2=@GmA}W0T{gKk(-qmOq@kL05:(&aojXcc<364GmA}W0TG[GlehIMGN!P602=%WleR/Vb.gz}Fb/%k0rEWo03IyBkP*4)2$>Zcaos+loap>z0ym6eaoldx+:s3k0bs7=03IyKaoB>e0DwHS0rAjJby>q{Fb?>DyA-)bFpJf203zzg06g8<aoT$giSGTj1vi2G01y4Nk(-}C3)kP]1viMkaoT$uy9iTB4qE0*k[4GtPmzDx03znc0DYH!aos+eBrQ-d1t6P:aoK[f5tjM7Fb*X[k((0I03zp+1t6P-aoK[f5tjM7Fb*X[aos+eAV$Jb1t6P.aoK[f5tjM7Fb*X(aorO/eDuh413([#PN.My03zzg5nAFvFpJdI3/.x<0ZD/L0ZD/L0ZD/L0ZD/L0ZD/L0ZD/L0ZD/L0ZD/L0ZD/L0ZD/L0ZE>d4IX%z0rJua1Qkhq2)}4G4gS)W5Ft->3M]Eo06g8WaoB?eiSGd513(]F001bAk(-}C01PCW0yn+c001byk(-}C03zwf06g8WaoT$>iSGc<3M]Eo06g8WaoB?&iSGd513[$e001bAk(-}C01PCW1vpMriSGd513$DqiSGd50ZUupiSGd50ytloiSGc<3M]Nr!bRJf03zwf!bRJf03zte!bRJf03zqd!bRJf01PCW0ymbP001byk[b<P03zwf96a61aoT$JiSGc<3M]Eo4MTN&aoB?tiSGd513)$?001bAk{5b/01PCW0yt&FiSGd50ZU#HiSGd513#eKiSGd51vi5H000Jqaos^>06g8WaoB<(06g8WaoK[giSGd51vi5H000Jqaos^>06g8WaoB<)06g8WaoK[giSGd51vq?-iSGc<3M]Eo>(r:A03zte0xHhXaoK}606g8WaoU1806g8W4*%GXk(<1D03zte0xHhXaoK}706g8WaoU1806g8W4*%GXk(<1D03zte}2ACQ03zwf{w^kO03zzg{Y9tP01PCW0ys{fiSGd50ZU6hiSGd513$YxiSGd51vp&ziSGc<3M]Eo=hY)903zte=J30a03zwf?t/Op03zzg?VbXq01PCW0yl&H001byk)opH03zwf6GMi]aoT$BiSGc<3M]Eo208.:aoB?liSGd513)X-001bAk]hMZ01PCW0yn[g001byk%vsf03zwfkrn=AaoT${iSGc<3M]Eo(&o6D03zte(&o6D03zwf}#w+T03zzg}#w+T01PCW0yqIxiSGd50ZRUziSGd513@pPiSGd51vnBRiSGc<3M]Eo06g8WaoB?fiSGd513(#H001bAk)6dF01g)?lgxXZFb*X(k)8iK18n}Vk)8iK1zQjdk)OOmk)8i{{YbpR0ZM<glhpGW@%9KfFb}}p5q2B.Fb/$F0rAsM0ZE>el4qGo03znceJJ>ik(-2dyASZ306{T2aPI)o03Iy^0u?KDkM:m]13(@U4fmNMk(>Zz0W4Oh3t}0?3&*UyaojYSy9rZ50ZM&f0ZV?!At}jz0Dxp!aP?^h13^$hmgxnu1rW!Yaos+nz6x3E{5O$L0CT[Oyb#s{aoK]Vy9rW40WdNM01feS03zCWk(-}C01gpSl9Mn#Fb*X(k)8iK0yl*fk)P:Zk(-2ek)8i{ZYkFVk((0qF}ex401ioq0!iGoaP:%]Ly[w=aP?^h13=]MaoB?im?2C:1r^*P0T/5{aoKg}06{Wamgxkt13}oGeDt+[07NE#aoK]SyaPz=aos}v0T*aMk[4GK10vUh0CS+V3&*UyaoB?inEErP0E)xnaPRTf13^$fld#rd4fmNLlcLZGFb<sb03zqSeDt=i001bxk(>Zz0sO@o3KWupN/SS>l7)/H3^!nwbu58<BAz%ibwh4dvru}#bt@8{A=jlNxLz43wO(0@BAq)hby9<wEGgQgz*?Whl${ZLz/Pxq0b3C10axtJy?X0p07?6KwO#QdA^mT:A^mT[zG#k0C(R>@vqG+903=M7x>}$]s7(<Vwmo--o)D.:z/(4.z/(4#B-WQ)B-WR9wPI}[Ab](lAc87$z/+$}z/+#6vqZe!x(<t/wPN]]xKL#.nPT@yz/c}A0ax[VzyoJaAb](lAccd3y&sAp0aGU:A@XWCz*b=kA@X)Lz!<y]Bzbxf0c-v4wod->x>Ia3B9ztoxcp/8A^7@jwod-!wOc49Cwg@cazbLjCvtJ5A@Zu4B9ztoxcp/8A^7@jwod-Yz*c8uCwg@cazbLjCvtJ5A@Zk(ze0(#A@Y(ZA@Zc3ASy2#08)&BzF<3a0c-v0wmY=YAbn@)wOu0#wmY=YxK#100cAbVxkW=uzVAgz08mPSx>5n{z*iyszGGDgvpKy[z/bL?zu9QDBAzkmxcp]ax([5$y-)!eA+e*10chH=0cz)=z2^cPz2!f<y?%8)BzkMc09r(JyYFG&xj#ydCwg@cay]g{xk.V@yYFo.w]@9rx(mMawnbE+z/f010cJm4Cwg@cay]g{xk.V@yYF0:Cw.FCx(mMawnbE+z/f010bMN(yxeA{wNPuOnne6mx<>*@x8(:^zF5@Tzdd:8zF5@*z!<68x8)3Zy?):5x8(<Z0bl3BoMb8=0bb!:wDkXywPztZvrb]Vbx4Eh09r-Fv@Di}07gWwwDl{)vQ:d+0bMv+wDl*=wDl:+xj#ydCwg@caAImcwDlKTw]@9rx(mMaB7]e@0cJm4Cwg@caAImcwDlmVCw.FCx(mMaB7]e@0b(:+wDkCkD17s+A+e:0A+2eUA=l8rwb{pKzE--Sz/](b0bDpV0cru#ByO#}wb{HUwN>^KwN/B+wN>^HwmLWUzEl{*vqG<{uT[1(w[=p5asgK#Bzkl2uT[1<y?m9#vpB4:B08=tasgK#vpS[Qv@Dg1wN/*<vR/P#c1FbAwfrgeasgK#vpS[QC4L$wc1FbAwfrgeasgLvc1FbAwfrge0bMNZwnb{]aAH$mwJy}Wwi7?VwfrgeasgLvc1FbAwb{4Gwm64*By/G3v@#c*y?kTIc1FbAwfrgeasgK#Bzkl2uT[1<y?m9#vpB4:B09+Ik#H8]asgK#rC(O&z*c7wwo8a5v}Yp>iV].U0at>008uuT0c@H9EM)*CwO=rI0c-v4yD?/qzE(3jzdL{izfo]lv)o%jy*?Q2A^/Rvbx4EGe=Wbmw[DGA08)/RA^onqvrVd9e=YW8wP]:bz/{dO0aGU:e=ZfdBs)MczF0*czddK2z/dfcxK#i}e=Z6ey&0J)wI9%>v@#<4y&1wHe?Nc2A+fr6zGG}Le?Nc4wPIB8BzkS9aAH$mwIbO/03=L#x>q9>BabUuv@=c?Bz(gJ0b2[*aPLURB0gJ-zFKcdCwXKBA:-<bx([6czxJF7A+e:5x(v(j0cr6@xcvm%xK#i}aPK(FB.>PacV*FtwmM/>zFr@@By!#9BzkM5koQ1]vqWDmayO!>azC.nwPzi?BywS{wJ}srg:8&PaPKnv05kR%0000000000USz*+pD!:U]/AcN0xQnY*bYil*c2Aonic.JDo83aS5T?Tp^a<V3oFj/6fl9[2%ng/H=>.r)(pvF:2:n3{C&iN0xHhXsuDM-K39Ey2S.}=(]LgEpDFKR=n#1aGGPqn2rI[=R8[USuPXq*4M<Z>co.zf*=CGoCSC*8nJ)aO=n>}9%2QhX!&J<iAxBj3xfuj{o/@yQVonf/AYKg2wJZ1[gDCHo<2)wxof94Mh-Z{sbrC(9TuuK-fff7k!i9^imMQOI//o3jw&{4[8-^%04l::(a36x4jV-SzXif/(>@F!A//GflyDIN%1uMO-krn=AE)0=i<#SLyq91WS]eM^J-5N!$?z$Sp:#GC4sulAZ.Av(0R9a!UqAK{VB3fH6@w%#VUShW-=P7$9xfld]{=wDQ@5K/TI-Z$tk%25D5io^>7^m{1ZDhz}PG8#L!&A^hGffbllPLhE&x42t}z!JQX&P((VPwc!c]}tdn&)1Mu]!n/El4udbrt/8?8LDnSYHgXwJx!>:2%z5rxyfXjurDxC%8cc7DIJ@BVYT7M]$AHO&)5N[hZKHx/#B@L%bfF0Z3C.Y/=t}EMNPgaWb(a[h*QI3{1v*rxHlYz9m>0L0e<CK3iKzJ6mjw000001onA42MK&83&*nc5c8Xg6Awak7YTKo8#]%saohxwbME/Ac&:kEec2UIfAq7MgYNHQh#&{UjobuYkMy=:l&Wh!nb@R&oAk4)pYHE}q#=)#so5s3tMs:7u&Qfbwb(PfI#S?TKPkvYMh*)+N/AA*PA1@(R2QF}Sq([#T]FC4VJ6$9WG3pcXC#QfY-n3jZw[ll-q/(r:]zzw=J0}B!bPEG/-h0L?2EAP&q-&T<]twY(I{[+[C&K?{w+f[@qV/$0S-o32ls/83JQkc4/(Ug69e7k7xBHo8VY{s9@#uwblm=AcJKhEd//RIf984Mf-.mOgYWNRhur^TiSPiXjPLJ.oL<ci&&61P(#5&6T]FC4002m=0%f6500000aohxw0MA(2?p@wJkMy=:0000000000000000000000000S!#Q&lA6gHS!vyLQ5Ue[002m=1oFM>00000aohxw0zC{V1YL=8ZYjum0000000000000000000000000S!#Q&lA6gHS!vyFQ5Ue[00WC*xfhkPQzR3cDqN9BY*Lp^1YL+T5=.[i0000000000000000000000000)27kllDFC{Tvf8Hwb(Pf00bX8LUa!:rhz3ib2IsnG*<?N-Op+1000000000000000000000000000000S!#RjlA3].SWaR9c&:kE00=ae<vSoHrhz3gb2IrcNmdlEmmmBZ000000000000000000000000000000S!#RjlA3].(lJy{c&:kE00#mgGGq$g6S0lAb1+?jP*Y8MmmmaQ000000000000000000000000000000TzE9n)5)uVd-yyu=hW?A00^I?Bp7Pt6Q^0h8h6BIY#w=j-L<na5=.[i000000000000000000000000000000000000000000000000000b}#t009920000700000002m:1][S600000000000000000000000009rmbX9@)z-1]]!Da]&?/9@)L^b(/m(cJCK{df7*$3&*Und//RH0000000000000310SSr51onP91][(d2MLeh%nJ6000000000003igCl3&*.p4GE1t5c9px5=-NB%nJ600000000000g5@o]gxmHSgYPxkhukVob(/[8irgu9iSIkw3JJo?jPEUCklg--0000000000kMB7Ili6vMl&YTQmGt{Unc5X&000000000000000nDoa#jod$No8]4]8#@Ujo-N]*pxjh>q2<F]%nJ60qVG+%8#@$srSDh3so8F7b(?9G0@#H8df9MLtMw4fui1sjblh9Kp5[V4blhcL0@#^gh2[f/v/MPhwb]*ltMwsnblhrQx8(PBx-Ohky5&2HxAh&G%nM*lyxe2Fz2<Ro000000000000000g5@:6zuaOPz#.f:Ar4A/ASvx=A@ZpZx8<1NBPuN+Ck#<\u002F%nJ600000000000g5@:6zuaOPC(Pb<Ar4A/ASvx=A@ZpZx8<1NBPuN+Ck#<\u002F%nJ600000000000g5@:6zuaOPDh]k>Ar4A/ASvx=A@ZpZx8<1NBPuN+Ck#<\u002F%nJ600000000000g5@:6zuaOPDJkt(Ar4A/ASvx=A@ZpZx8<1NBPuN+Ck#<\u002F%nJ6000000000008]8BN000000000000000%g!QmfAq7L00zY<0000000000kb$S.06*F-0000000000h#&{U0rr8m00zY<00000h#&{U0q2/$06*F-00000h#&{U1n{Hm0rr8m00000h#&{U1ogQP0q2/$00000h#&{U1n{Hm1n{Hm00000000001m#cN1ogQP00000000000rr8m1n{Hm00000000000rr8m0q2/$00000000000k[rw0rr8m000000000006y+(06*F-000000000000zY<00zY<0000000000000000000000000000000000000000rAi40%mGw(0000000000rAi40@/{F-00zY<00000rAi40}bHA{06*F-00000rAi40<YbqX0rr8m00zY<rAi40<YbqX0pQ9a06*F-rAi40!M2QH1olZp0rr8mrAi40rAi401ogQP0pQ9arAi40rAi401n@h*1olZprAi40rAi401mMAZ1ogQPrAi40rAi400rr8m1n@h*rAi40rAi400rr8m0pQ9arAi40rAi400k[rw0rr8mrAi40rAi4006y+(06*F-rAi40rAi4000zY<00zY<rAi40rAi400000000000rAi40rAi400000000000%nM80000000000000000>#y.-58WA/0q]4Y00000<YbqXhfY935c8X000000!M2QH/iO)3kMy=Y0q]4Y!M2QH/iOKVjPaXh5c8X0!M2QH/iO)3%1<WtkMy=Y!M2QHhfY93%iA?cjPaXh!M2QH58WA/%1<oD%1<Wt!L#OH00000@qu4G%iA?c!L#OH00000kMy=Y%1<oD!M1:3jN+G5kMy=YjPaXh!M6G}/9{nof-jczkMy=Y!M6x[!Eo#k4*fSp5c8X0!M1pSh83[b0q]4Y0q]4Y!M03[4zSB*0000000000!L#XK0@@A60000000000%nSc0%nSc0}Cme0}Cme0rAi40rAEZJ>%bjI>%bjIscV?FrA}yYR2QF}R2QF}sex9ZrA}yYLMgW-LMgW-s8a.@rA}yYpYHE}pYHE}s5&nZrA}yYkMy=:kMy=:sjHylrA}yY0000000000rRoZ:rA}yY0000000000rEGr@rA}yY0000000000rBtM4rA}yY0000000000rAFoZrE:%E0000000000rAFoZrD{8}0000000000rAFoZrD{8}0000000000rAFoZrBi7k0000000000rAi40rBtA0ZYjunZYjun%nSc0%nSc0[bJB([bJB(8VP<r%eJa0%eJa0%eJa000000}L{N0}L{N0}L{N000000(z*>+(z*>+(z*>+00000&2<c)&2<c)&2<c)00000Q9p!YQ9p!YQ9p!Y00000Q97UWQ97UWQ97UW00000&V+3C&V+3C&V+3C00000(z*>+(z*>+(z*>+00000}L{M@}L{M@}L{M@00000(z*>/(z*>/(z*>/00000IukohIui<.Iui<.00000IxTITIxX=5IxX=500000(lmX=(lloq(lloq00000@VS?}@VS?}@VX8u00001@SjOH@Sif3@Sif300005@&i0#@&i0#@&i0#%eJa08#]%r8#]%r8#]%r}L{N0%nSc0%nSc0%nSc0(z*>+Z}^+=Z}^+=Z}^+=&2<c)+/[Ak+/[Ak+/[AkQ9p!Y+!RN8+!RN8+!RN8Q97UW+*jSn+*jSn+*jSn&V+3C+*j98+*j98+*j98(z*>+%nSc0%nSc0%nSc0}L{M@%nSc0%nSc0%nSc0(z*>/Z}^+=Z}^+=Z}^+=Iuk09+/[Ak+/[Ak+/{1+IxTkL+/))5+/))5+/{1+(lloq+/{1++/[rh+/{1+@VX8uZ}^+=Z}^+=Z}/)F@Sn?]%nSb$%nSc0Fb/MG@&i0#%nSb(%nSb$Fb/ME8#]%r8#]%r8#]%r8#]%r%nSc0%nSc0%nSc0%nSc0Z}^+=Z}^+=Z}^+=Z}^+=+/[Ak+/[Ak+/[Ak+/[Ak+!RN8+!RN8+!RN8+!RN8+*jSn+*jSn+*jSn+*jSn+*j98+*j98+*j98+*j98%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0Z}^+=Z}^+=Z%x*@Z%yvb+/[rh+/[rh+*jJk+*jSn+/))5+/))5+*jJk+*jSn+/[rh+/{1++*jJk+*jSnZ}^+=Z}/)FZ%x*@Z%yvbFb/ME%nSb$%nSb$%nSb$Fb/Mw%nSb(%nSb(%nSb(8#]%r8#]%r8#]%r8#]%r%nSc0%nSc0%nSc0%nSc0Z}^+=Z}^+=Z}^+=Z}^+=+/[Ak+/[Ak+/[Ak+/[Ak+!RN8+!RN8+!RN8+!RN8+*jSn+*jSn+*jSn+*jSn+*j98+*j98+*j98+*j98%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0Z%x*@Z%x*@Z%ym8Z%x*@+*lj!+*lj!+*jJk+*jSn+*j98+*j98+*j98+*j98+*jSn+*lj!+*lj!+*lj!Z%x*@Z%x*@Z%z@UZ%x*@%nSb$%nSb$%nSb$%nSb$%nSb(%nSb(%nSb(%nSb(%eJa0%luV+%luS:%nSc0}LU)E@&i0k%dVJ%%luS:(yXG+}L{N0%9$DS%dVJ%(qdU+(z*>+}IHfg%9$DSS&o:k(z*>+{[iGK}IHfgQ5]>5IMiXJ{[jnY{[iGK&duK*IMiXJ}xyB>{[jnY&0pCkH*3S0{-L9/}xyB>}K!g@>Om5E&0GDq{-L9/(i:gq@R#@0(vn(H&0GDqIHU=i}L{MN@S5$#(vn(HIe63#&-f0p@&cpt@Sob1>#y:(&-f0Z%k<T5%emoV@&5@4}JX7}%k{t@%emz2@TbX9%eHQ:%m=Vg@Sn-C@&i0#}L{N0%luS0@&i04%n5@0%n5@0(z%%+%nSc0%k^F+%kUd0Fc9H=(z%%+%car0%car0P&D4hFc9H=@.%SE@.#[jSA0g5P&D4h@-kr0@-8$k(qZ)+SA0g5}c6Rk}it00(q.Q0(qZ)+}dTLU}itc4&*0JU(q.Q0(0$Vz}djcbF%AgE&*0JUNw.PE>2CC.S47}*F%JmFNU3cSM6CHrFr:eNShS{rMh*]OL{G$bFr:9qF(L&&<=xXIMi@eiFtDU*F(L^N}HwS=>0e%J&f]}CFr=kh}cTIk}C*Kl&*0JU&hP^}>%#}3>#y./}JU60&-e#.(z*>+(z*>+@&i04}L{M@(IvY:(IvMY%eLw:@&km#&I3VC>bLCU@TanS{>2fN{<-B7}kQD:@!.9-}xgy&@!Mff@&i04S/0?R(y+fS%eJ9l}L{NgPEM$RIvcw#@!Z]-&&o2ZFc@r>Fc8:=}tZL=F#U&ePA.B1HYKJV<{DS<Hn}n9HZ3tLQ5*yWF/(g/NU[bdK@sz5Fp-rLF@*>o(vM4k<@:-1&f]g<MxUNN(x53D}K!4!}LTy*(z*>/(suu!}d7zf}b^V-}J7]Z}c3!4}L{J0}L:W6<\u002Fks+>9n#p@?%27@&i04FlF=JG>^O+%aag+%aag+S&A80S&A80%eJ9l%eJ9l%nP>l%nSb#%n8=}%nSc0(&5Nl%g[Wf}LBk(}L%2+&@gQ9@0GI1&fsow&VMyz{]pt4[tH%7GQz/ta%n6L@&h]n.HNfpN416Pcs[wz@Zv:u.ueZ7IKabsdYK?b>]+.}3jt+]O2b5Oa%mk)I6dLN3j8kaI%t$(a%n6L>]+YZF}eC5O8P*1cs[wz@Zv:aFs$[^I@GOXdYK?b@&i0kas.$DObnRxa%mk){]ppcc&/coI#OT1a%n6L&I@>g+77%xObX}Ncs[wzIUK]z[tVF!I#O.2cs[JnULt(#@@zJ*MJ9og8MBdA%nJ5#%nSbm(I{eCZYqdI%n5@0%n5@0%n5@0%n5@0%kjp+%kjp+%kjm:%kjm:%9$gJ%9$gJ%9$9:@^U0-}tZI@}tZJ0@S0qe@S026&VGv}&d7/=@VAsp{<@+V&rT%2&6mnI{<-]e{>P4X?#A-Y<nYf0{Y7pE{Y7p4{-HXf}tZHG{-GTM{YpD0}3IT<<]Fq[}HwUE@?]?i@Y*I0<\u00218%:@S5$#@S1CF}kQEf<YXG+@&f30}L]>Y}ga6n}bHB0{--=s&T5V=@^]-u@R#{K{<#-I&T5&?@&csu@&i0k@Soe2&ejPn{ZiVE{ZiVE%el20}LTF}}L{N0}L{N0%eJa0%eJa0%n8=(%nPa0S&Cv0}MG}{%kr}n%nNPH00qF&(*aPD%lxTHS&A80S&Cx*(*aPDS?xx+Fc7rB3wdMD(z%%XFfK$pFc7JjdX=m{(*aPDS?PnjL#-XDdX=m{(*aPDFfr^yNX>VV3wdMz(*aPDIMhmTNp-F0S&Da0%nSb{I#OQFM1H6(z#Y>q%nSc0I#PKKMzTYTz#Y<L}MG@0I#OXmMx}NDz#Yaa}MG@0I#R!KL#^}Xz#Ya6}MG@0Tn?%#Mx}NDz#Ya6(z%%+%nS6KL#^}Xz#Yaa}MG@0%nSblS&D9{z#Y<L@>FHk%nSc0%nSb{z#Y>q%nSc0%nSc0@S5O>015.vFb/MJ%nSc0@S5}#0ic4lR#M/E%nSb}@S5%#S&u6gdYPIE%nS7>@Y?%kS&u8]3ryhT}V2:V@Y**<S&b@I30ynU&j<^x@.J@5rE+m830ynU&4t0V%bWK&rSAsd0--n3<oL:J%c9*)rSA)t0-h[$<P2uY%c9*)rSDkq0f{T^}2y.4%k:L&rSMOE04KSx}cTIj%m[#YrSAb7kMy=:@:lQE%nC[)so5wupYHE}%en$>%nOvHu&TiwL%trH%9$7H%nRs#L#R2/>#y.-@R#]#%nS7-rAus6@/{F:@R#]#%nSb:S&Mg1%luR+%eL{@(I{[-S>XPl%nSc0@-d>TFwqb.32/>z%nSc0@?Ufzc[>B80:CZ8%nSc0{Z8XL0gS7VF(.{K%nSc0?#X&kyf6yt0&C*$%eMa0&dwfiFr(oB2NYSi@-Yr3&dz1d049/wPAplB}3cX}>Ndv?c)<MC&dv7X{-/NmMANH>0a{&.&!0yg{-/NmL!SdMl6^c5>NiUR}3cX}KIuyuS-C5T}M5ZZ}DA-}KIu>SwM[B1&9l5Y@&k%$KIx&SM23A@Fn+F/%lxS:&4K[bS&#C}0Dn2r%nSc0{Zv84%nSaH7qG[H%nSc0@&u80%nSb:Tn&k1%nSc0%nSc0%lGZ+@&=s8%nS84%nSc0%bc<x@-Yq8%nS74%nSc0@?YTL@*0FF%nS7-%lGZ+}C)M{@W4LP%lvrA%ap9J(1Z6W{Zc+0%cmm7@VZndIdkEE{:V8u%clXo@WK}xRe2p8{:M6s%lpBI@?%Se<YhaV}2Zv)%m=)4%lcJ-<^bZB}BHD+%nEQv@&gOISJbk)>bvBv%nReU{Zh?(Id$%L>1jYb%nR<2&&n@((q^XC>0Fh%%nR(@IVrE^@?YT]<=FO=%nS6-Tn&gl@WN@9}LB4+%nS7{%nSc0%f8E*{!7rN%nR<^%nSc0%nSc0}L%y(%nR}}%n5+}%nSc0%nSc0%nSc0%e2^S%lu//%lu//UMaU5@Ws!D%bZE+%cjJ58VP<q@T5.9@*D)5@.N1qv88:w}BEoV{[d*A}dkbTFVF?J}gF/0{>>!0<+:nC2cX7b}d7QT{]ptE<+vKIyxatl}L{N0}d=)E}gsBaFuP1M[4X]+}uOjU@^>ze2RUptV+MUM}Bz^k}h$=[0L:[1V+MN^(5V9+(84G%r+)$2V+MN^I7kDkI3*g<Sa82(V+MN^H6<PpH6<PpPPUNuV+MN^FUThJFUThJ8BxY?V*W$u?#A-+?#A-+01k5(U(21w*n.fJ*n.fJS&8aZ@{D&!]dQZP})%0h(z<):@&i0k:CMU<}L{N}?#J/S@&i04+bREa}L{Ng&?DFM}HwTJ+bRF5@S5$4?#J/S&S{V+[=kX+{>Phe&WB<6&WM7e:n=F<}Ikzg?#J/r<D9gS+8cDH<pzrf&?DEq{)22o<pzr3<YWhH?#J:R{]pnC<YWg}(z:<0&!WOl}ynec(z*>B}LTFg?#J:R&^.wu}ALmC@Y)D3(z<(X&+CcQ&q-)%%eDxz%nSb}}CnrrGA80R@-ftz%nSb]@&6UEG*kSx@&i0k%nSb]{Y=*kG-zcD%bWD+%nSb#@&i0kGA8.{@&i0k%nSc0%luV+%n5@0%eJ<l%nSc0}JU9+%k^F+}AX]%%eJ<l>2EXo}JI=0&z&}U(oPj=<YiWi<Ybq+>9n#JKYtDZ>2J^$<Ybq+(lPCGNW3{S{]k!%}bHBk@WIV3(lPCG{>QaA}C*L0@VU*^@WIV3<{i8}}bHBk{-+Ec@VU*^MvG45@-8$k{Y8gI{-+DhMy[OJ}bHCf@ScOG{Y8goNRF?5}bHF0%eI]1@ScOh>.hLX}C*MH%ko>X%eJ50{(DsC@?TvF%kouH%koiz}C*O1}c65#%lrU+%dCT(@S2%k}bHBk%clQ0@-Sru@&i0k}L{N0%eJ9l@&i048VP<B000000000000000@@r32000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000c3000000000000003%nSb000000000c3%nSc0S&A80ZYjun00An3S&A80S&A80[bJB(0ro70S&A80S&A80}Cme059*g{%nSc0%nSc0>%bjIkc1U.%nSc0%nSc0R2QF}}Oi4g05axM.2B/KLMgW-(Hm1u@4Hwn.2B/KpYHE}(Hm1u@4Hwn.2B/KkMy=:(Hm1r05cUqZYj=K00000}Oi4j@4F9J.2B/K00000kc1U.%nSc0%nSc00000059*g{%nSc0%nSc0000000rqt:S&A80S&A800000000960%nSc0%nSc0000000000000000000000000000000000000000000000000000000000000ZYjun000000000000000[bJB(000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f%nSc0ZYjum00000000c2S&A80@@r3000000002l-S&A80Tmc8?0000000A7<arR^Hd.+@-0000001V97bb?jWdYZt+000005b@P6asJ%ddYSHG00000%f5C}QnT-VdY.[n00000S&L#<asJ%bd.&0:@@r30S&A&0S&A80ULLo0Tn&k1S&A90%nSc0@&h##S&A81S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0008HM1hB)B0002*01n&ckMyTC55XCBkm+N0%nk9%008{955neNkm+N001q9ckMy--kG0K0km+N0%nk9%00930kFNmckm+N001q9c%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0S&A80S&A80S&A80S&A80%nSc0%nSc0%nSc0%nSc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ic200000000000000000ic200ic2000000000000ic200ic2000000000001akR00ic20000000000011eQ01akR000000000004BMv04BMv00000000000hTue03#1M00000000000hTue03#1M000000000004BMv04BMv0000000000011eQ01akR000000000001akR00ic2000000000000ic200ic2%nSc0%g!Qm00ic200ic2S&A80S@A5000ic200000S&A80S&Md10000000000%nSc0%eJc?0000000000%nSc0%nPai0000000000[bJ$00rr540000000000%hj<E%nizd0000000000%hj<p0q)wd00ic200000%hj)p[CA/$00ic200ic2%hj<p0rr5400ic200ic2%nSc0%nPai01akR04KSw%nSc0%eJc?04BMv04KSwS&A80S&D7004BMv00ic2%nSc0%nP>m01akR00ic2000000000000ic200000000000000000ic200000000000000000000000000000000000000000000000000000000000000000FuP1N*opLSg{E2XJ<eM:>=>9/lB3N>Ou-a{{oBU#p{Qc4S<qW91HFdeuBfXjXu(ko614Yty{:ly-<C^DaHRmIDBr!N!v2tSf1g/XH{)u:&<O)/jH+v>MBD[{[veC#o1s{4Q}3E9@<-1esH[FjVBQ2o47=Gtx1F3yZ}fND8Ou4IBI4ON=B:bSd7]PXG1Rc:*}rW/hOGd>KIgX{(B)k#m85Z4P1+m9{}D!eqOSnjTIs/o2eHotv8h*yY1[vD6V6?IzO=wN:IE]SbeTxXE8t{:/24E/fVi}>IO]F{<IR2#ke^H4N8G49]2gOeoVv5jRP5PovGlxdDJj3CLk>N..#G=q.#G=q.#G=q.#G=q.#G=qvGlxdDJj3CLk>N..#G=qvGlxdDJj3CLk>N..#G=qt(T<8zu6UpLk>N.zu6UpLk>N.t(T<8zu6UpLk>N.XC#Qf*YdrOcij8D6-!pm*YdrOXC#QfLk>N.t(T<8qucW%vGlxdDJj3CvGlxdqucW%vGlxdDJj3CvGlxdqucW%vGlxdDJj3CvGlxdqucW%vGlxdDJj3CvGlxdt(T<8zu6UpLk>N.zu6UpLk>N.t(T<8zu6UpLk>N.XC#Qf*YdrOcij8D6-!pm*YdrOXC#QfLk>N.t(T<80SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi200000<n]qY)G0p/)G0p/dGPOIo9b7[Ll7Z:00000Ll7Z:Xb=NfA037u0000000000o9b7[HYEFQHYEFQXb=Nf)G0p/dGPOI00000dGPOIASDdu<n]qY000002MK&82MK&82MK&80SSi20SSi20SSi20SSi21onA41onA41onA41onA45c8Xg2MK&82MK&82MK&80SSi20SSi20SSi20SSi21onA41onA41onA41onA45c8Xg%lu//%n6Ig%n5!@%nSc0%bZE+%lu//%d&Y}%n5+}@*D)5%kjp+@S@+y}>K$g{[d*A@!^C+(oXS(}uYC({>>!0{[O/Y}JdBQ}A!s?{]ptE{((KE%eze=@/A<U}d=)E{)z)J}xyJf%ezf1@S<TY}k1<B{-Lg6}xyJf@ZXiE@?S/k@Y(kr{-Lg6}h+/0@:/XW%co5M@Y(kr&I@[@{*]+f%eI%@%eJa0&*0[&{)L6-%cLaE%koiT}AMgr@Y*U4%a?#o%kog@@&693@/{W4%c/$5%eGlQ}A?i%@&hS{%el20@S5(I@&i0#%eJ9l@&i0k@&i00%nSc0%nSc0%nSc0@@e}$ZPb6G[2Be5%lvx0{{&X]SZQ.6SZQ.6%cmK5&vp=BPPAjOSe$6W}Cpw}HdRVsS3N.zS3N.z&.-*)N3%ZT>)w.P>)w.P&?-P*S&A7d}K5TF}K5TB&Y[u:{-Y##&WuaR&Wud9>bLz:{[w4.F^uaHF^u7N}kQq1@VD-b(z/$#(z/#z}5>z1@S]j3&fve>&fve%}AL[3%e8/m&fvf5&fve>}kQa5%k^uo}Lv5^}Lv5v@-i=L%luC0%n2Q7%n2PA@&c??%dy<R%nPal%nP9[}t#t+%lumg%nSc0%nSb:@&i0k%nPal%n5!@@&ig4%nSc0%n5@0%lgs0{-G$A%luV+%d@{0@?HEE}II2Z)Vni/@.KuA{((KE{[O/Y>P{ml@-bk4{]gnD{((KE>)p{9{]kSU{<-A0}ij]#}A*3S>(Iga(1Who@/?3f}LD<0SZm6cF/pD1%d{Ul>.YXY(z+i>&Z+lc@-Jys&dqso@VWm1}J7{Y@ZH4e}2RJn{Ymka@+wBE@.YT5(z*]+S-AYC}Jkv7@/!faF(UvQIM7g4}d7$&%d%FlF(&^wN1zrL@&6qu%ltjo(zW@uMv:.*%n5y(%n4tZ@So2KM1QK8%nG4k%nPal}L{M@S&&wp%nG80%nSc0%eJ<l@<](A%m()0@{3I#@VFow{:6>U%lrR0{)3-u@^>vO{:Nl.%a3$+}CpU8}uYE5}L]CM}LT:V@-UY7}wLD@}k748@&gL?@+9ZX(s=DG}jJLU%eJ24@Z^DG(y:Cz}g5:=%a(IE@ZGCg@VEFg}hbu<%b-8v@-bt^@VNLB}hc5<%el<J%cxX1@?-(l}h/h$@SYvp@+tTp@+wAF}F8Bc@SMAs@.=8.@/HtI{/gj)%d%qw@/&3m}JIgJ>(p}5%luR/%d%Gg{:6aAHe?zc%nELL%ltcH}u&(GFVtTI%nPal%n5+g@&i04S&A80%nSb}}UEz0}UEm@%nSc0%n8=S&hS^+&gHz+%lu//%k<oB&gHz+&*M:5@/ys-%crOLNWQaJ{[.dES3IRJ@/)hJN59$k{((KE>)p{9{]saDN3nvk{(Pew}A*3y{<&dt>:s)<}k4nk}L)b9{]sd8}k4nk@&68o>QD[N}kTo]@?Tkg@*3Z4&dqso}ILbv@W0Yw@ZAS$Sra4s}h1<d@Z]R]@.VLcIMi-S<\u0021hA:@.KJF@?G.jF(Obu<\u002FncQ@?T2q@S#=y&-l8r<{z1]}u&[0}u&[0}L]<t}u)ie}L{x}}Dx]5%kkvm@&k%#@&i0k@&i0k%eJ91%lu//%nRcA%eJ<l%nR#!@/yv:%nL6oX<pom%nRAd>P{Dk%n6EfPP*z}%n82[Sr)dJ%k<3PQ:qub%m@PC(oZux@/)hCSr%@^%kvH7}L)b9{($Mn(zV8A%al[#>.YW+{[^^MQ9}w*%dA+.&dqrJ{>[[NF^ue(%a)WMSra4s}jN.qS0PWc(z^doIMi-S@+zBEF%{STF(W%WF(Ocp@*J*?F[wl!F(O?p&-l8{{:2&v>#E(=(z!A1}L^Fk{Zm21@-Sw5Ia7#W%n5+0&U87{%eJd1F(oc$%nEK4&!41k@?6V0&f%UW%luR+}L%K{@&i0#(z?S0%lGZJ%nSb5%nSc0}M6Rg%apo5%lxD0(C9x0?#-Wb%eD0H%b#FVK?Z}YS/cT9%cAFj@!//rqe=D1r<hw6@Z({={]fKUt5TyystfF+@WEVe{>U7kRlx>8stfF:@W4wP{<\u0021G*c2-=-RMY/Y{($:)}9G!nc2rKD01nT+{($+y@Y(hP8E&:gaCfAS{($=z}h*%^aFO[6d2N!@}JZ(A}d!&5aFO.1x0q0f@W4us}gvN#dUvE#PLKs>%bcPo}HXNNZVbk[sq<w@%dGwM}HX2e%nh^{77d*B%lxTX@^$gI%nSa}l9x!u%n8=}%eMb0%nSb}S@Hos%n5@0%n6Ig%n5!@%nSc0@?S/k@&ico%d#Q)%n5+}{:G(f{-G?}@T5$D}>Zc){-G?}{:Si}(oU!}}u^Kk}Kjp+}Lk4k}Jv*Z}A+G)}kQDk}ihUk%eGja@/Tl+}kQDk}i-1p}xx6X%eGju}g{kk}k1<B{-->Q}xx6X}g{kk}k4nk@Z6/*{-->Q@/vt5}k4Vq%c^c>@Z6/*@+wBE@:?wf%d#Q)%cu<*@Zx&4@-Sgl%clD@%llz}@.JTg@Y*U4%9$o/%ku<e%cmul@/}lk%cxX1%elnT@&gKM@&hS{%el20@So2K%eJ9l%eJ9l@&i0k@&i00%lxTX%nSc0%nSc0%nSc0%b^ox%lu//%n5!@%lu//@*J?K%bZE+%k:E+%bZE+{[mzz@*D)5@/%v}@*D)5{>[<7{[d*A{(C?o{[d*A{]sa?{>>!0{>>!0{>>!0(1Z3e{]ptE{]ptESh=<JIu{i/}d=)E(z*?4IMeazIB-s&(z+#w&dr8^Fb*.bIi9*X&drd>&sWrqGRoPdH]MYt&sVGo&?uS)GAiMvH)siY&?A8:&zMWWGAij0IA)zZ&zH/k&zGYmGAijg(z-<v&zJ>V>N87dFMac0}A>4U{Zj4o}L]aI?#G^(@&l0#@&i0#@&i0k}L{N}%nSc0%nSc0%nSc0%nSc0%n5!@%lu//%nSc0%n5!@%k:E+@/HB+%luV+%k=.+@/%v}{-{TP)VpF:%cauN{(C?oSr)dJ>P{yJ@-JSzSevr5SZqLX>)p{t}c[]PIMecVIL-%-SZqLX}c/.^Fb?3pH(8INIL-$W@:qDAGRoK6PN)KJH(8IN%dB@ZGAim1Nf1ucPN)KJ%kZhSGAiAnNP==(Njo-!%lrSiGAiMbNv](CNU3<u%cw@$FM9}NNXk}XNU1M[@-b$}?#G^XO0{v(O9Bfg@&i0X(z/AsTeDa1N$dB<%9#S@}L{Ng@&i0kUbXI5@&i0k%n8=}%lxT:%lu//%nSc0%dGz(%crR:%cjJ5%eJp5@-l91@.SC<@.N1q}CXy4}b^<k}dnUN}dkbT<W0pTS:Y6X<+&eh<+:nC<Z<1DN5TLf<+z(O(v%6N(wzQRM)d9Y}gwA%{]p6(&&m[o(y%-w@^%@${Y7vG?#B4^{:S0ZS&ki.{^#gl&v4kI{-$CfF^Hv!{=]F(&q=D:{)4>RGI7ho{=]F(&q=HI@&f0CIIQn^{=]F(&q=KJ@-ksiG?gf2{.uc}&8Hf+}Lyi?G?yr4@S0ua{Y8/z&2hWV&2}!4%eJd1@&gH-(z*>}}L%y(@&i0#(z*(0%nPd+%nSc0}S+&}@&ig4%n4RE%nPd+}HJO+}cTQg%luJ:%n5:&(zN)^>9&fZ%dxY%%dxY2(z+W9N4$SN@!^Ck@!^Ck?#X+3Sfw5J{[O/L{[O/L&S}1X{)z)J{(#Qs{([/6&S{@#(7]el{)z)w{(]wm&dbNx>a#m@}k4b7}itb){[BB@<\u0021X=/}EJ<1}Lvw)@?{%O}Kgo@}k4Yb}i+AQ@-yU+@Y*U4}x.oc}BjR>@-k(g@/{W4@Z)ve@.Pr6%eIy1@&h*f@/{W4@?SVg%luQq%eHQM@&hS{}u<mq%9#HJ%nG4k%eJ9l@&i0#@&i04%nSc0ZYgIq%nSc0%nSc0%nSc0UM7W6%nSc0%nSc0%nSc03&ZRm%nSb}%nSc0%n6IgQq9Cq%n8=S%n5!@%lu//8zr0Z%k<lF%d*Cg%dx=17aH7M@*ALO@S$)9@!^C+79Wuv{[mzt(oXS({[O/Y7gHDR{>[<D}JdBQ{((KEtb2hP:G0u%%eze=:E9!*w[1[$:.FV#}xyI}:!Y+.Mss0K.u!1H:rl7A.LHp=qkf}x[qcN}.A-<dZ[>cn1!(6M@3}Q][t-G0[fIDMtb$XZ@@A60}#uZY@%BqRPS+x0%nSc0%nSc0%nSc0S>UOl%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%luS:%nSc0%n6Ig%jdex%ctdH%n5!@%lu//@C8pm@Y#BR%d&Y}%dx=1{nW?^}d:ys@S@+y@!^C+*n:>D}cY@2(oXS({[O/Y*n:*H<S(re}JdBQ{((KErJol5<RYny%eze={)z)Jyo3N0<Yk$3}xyI}}k1<Byn#3G<YXah{-Lfb[$/xF*n-(b}L{LB[<4}<[$/I2]&z3a@ZAXh[rF>w[tf!e{nW?^@.K=3@3[Tf@0G8Y*n-(b%d#U!@@r60%g!:p{nW?^%ltg?%nSc0%nSc0@C8pm%nG4k%nSc0%nSc0%jdex@&k?{%nSc0%nNQ0PAqcz}52^t%nSc0%nNRhsotG7<F<Sy%nSc0%nNXtr!vmRLa!+/%nSc0%nOEV1$3rvIu4k5%lx7M%nOEzQ9=<yNHgHE%ceDw%nOE^SWsYGS3%53%b--I%nFB3SB&bkI6Ow{%aj.W%m?(=aEo0g&ZcKo%lj1)%m&3Na/qkx(zWw{%aWPO%nF<R25pbvIdFfu%l8co%nN!MS-2*0F)bf)%nG!k%nNXor!vqM(yZ.-%nSc0%nP8:0ii22%kj*}%nSc0%nOyYt9+NW%n5@0%nSc0%nOF]PK%3:%nSc0%nSc0%nPa0S&y@RS&A7-0&*+JS^>>+UMaQkql3TY0igLHSSl818#]WUmHDeXkQ}o:R#Y@0tl1vEM(q#&qehv@Syo<\u002F0L!GhazN{wrCE!0SA000S&#k%3w$<GrCE!0SA000S&C(J2.F}srCE!0SA000S&L@Cne!v<rCE!0SA0002/3g#NqeW=rCE^/SA000FXR2zw#.<mrCE^+SA000yxaozsZ4?!6(610SA000G8+?sc<(#JrCE^}SA0c40@@lmc0EsFrCE^#SA0YkS@I(WS&zs/rC4H@Nn{7:yqn+[Q-$r<M131UIb]cdKs#c0S?L1zS?MI[IMcTTS&$Y/8%TTb}MG@0%nSc0%nSc0%bZE+}eurk%nSc0}L%O}@*D)5<qXd0%nSc0QYyC?{[d*A<qXd0%nSb4kX*tL{>>!0(z%%+%nS672eyh>{]ptE{+hWE%nS61yYBB/}d=)E{+hWE%nSaHZYjt!@S<TY{+hWE%nS6vfAq79@ZXiE{+hWE%nR)i3&*fd}h+/0{+hWE@&=8H0@}$[&I@[@{+hGzS-[F4Fv<Hl&*0[&{+gL90TvO$&ayYx}AMgr{+gL90TvR#}g^R3@&693{+hGzS-[AZ@S-45}A?i%@>FHk@&+tY}c9*#@&i0#%nSc0%nR9U@&u80Tn&k0%nR@0%nMEa%nSc0MCrE}%nR2D@qUyG%nSc0K.+0T}L]5)%nQTF%nSc0<qbH){Yb*]Fa@Te}2yx]<uWJI{YdmU])=U+}2yxV}4KLZ@SOQN=(.@j@TY3]}58Cj@SRzMl<JXx%dGu<@ZJfM%ag3I=&Ka5%n8Z>@ZJ]!%agjIkMQ]+%nSaX%b<sT%kr}Sry3P:%nSa-%b<cT%kr}S%iQ/C%nSa:%b<cO%m(S]%mDu>%nSbX@ZJ.H%m(S]=?dnq%nSb}}5l7f%nJ5#@Q*c&%nSc0<z6[V%nSc0%nz#$%nSc0K/zvX%nSc0%nz#$%nSc08=Y)r6&?ol1YXLa6&ZG}rAh##5Fg$xrAf2#pYUnGrAi40LTRQLrzTAbL#:]JrAfh6s^=p&rAhp0s^u1-rAi40x{(03p/QH(s^s&urAfh/rAb##rAho/5MCQ3rAi400t8ohrrVw6l&<rNrAh<br7r)/rAf60M0cUSrAi40LTRQLrrSLaRb<B!rAf2#w[!oBrAh##r+n1>rAi406&?olp/Qsb6&XworAf565MC^grAf=0p^}u4rAi405M2HcrzVH(q4VAfrAho/KP?++rAfh/RactCrAi40x<4Eo1YUO6s^=a.rAfPb6{U/0rAi001YRG>00Mg0rAi400A#r+rAi40r&Sf+rAi40S?ZMkrAi40SZ3M0rx{N+00bs+pYHFg0rCN>06@<Ip/Fe{1YXz+00Mg0rAi400z&}+rAi40q#=[#rA6c406%0Mq#=[#00b[)00bs+r1]GF1Qd<9rAi3/rAi40rAi40rAi4000Mg0rzSY@0A#r+rr910r?{U000b)@SZ3P+00Msp00Jx6rAi401on#krAi40kVH/XrAi40rAi40rAi4000Mg000LQ/0A#r+r25ypr&Sf+rAi40S&A80rAi40S&A80rAi40S/NB+rAi40Sq({krx{Z/01/+xpYHFgrAi40r0uo41YXLar0u8krAh##lzdc&rAf2#lzaWprAi40lzaWprzTAbxBk8$rAfh6r0w{zrAhp0r&5RcrAi40rAi40p/QH(r0u8krAfh/l<cborAho/lzaWprAi40lzaWprrVw6vXK$*rAh<bsp76brAf60r&5#+rAi40rAh<grrSLar0u8krAf2#r0rRWrAh##lzaWprAi40lzaWpp/Qsblzf#2rAf56xBmMJrAf=0r0uD<rAi40rAi40rzVH(r0u8krAho/qLsTlrAfh/lzaWprAi40lzaWp1YUO6nc>9frAfPbwcMA/rAi00r&5#+fAq7Eyn>ikUNH1hS&x60Z+B1nS&x60Z@jbTSCl}Q.VZYvSCl?N.XMfrS&yEt.XOC6S&yNwZ@KX4yn>ikfAjoiyn>ikUN.cLS&x60Z&GOWSCkHm.n3Y^Q-aTN.ne%=Q-aTN.nRURSCl?N.n..SS&yNwZ&N%byn>ikfAq7Eyn>ikUMaUkRcl@2.b{p%LONJO-AZU^KoQa9-C+]TKoQa9-Ls&tLOOIK-LEg9Rcnxw.e)<*yn>ikfAq7EwM-8mUMIVJLONJO.cY5!pZ7aO-D8F!kMMo9-Ls&tkMMbq-LCFKpZ7@--LN*qLOO=w.e)<*wM-2k1Ykl1S@Jb0pZcY2!VS]!SCpW5heA5bS&Cf14o@(jS&Cf24o@(jS&Cf2o<vU$S&C(lo(H7iS&D61i>$Z{09f6:Tn&k1rri2{*p@%NS*rHFhN0dTS&C]2hlW5WS&C]mo%sP%S&C]no%sP%S&D664.@5zS&D92i@/lWpZc[0%nSc01Ykl:Tn&0lyn}lhtk@KqS&D5*/1.m+S&D5*hOYp(S&D664.@5zS&D66pqu&eS&D92i@/lWrri70%nSc009f70%nSa+MA6#ITn/6%S&D90(I{[:S&D91i@/lWS&D92i@/lWS&D9=jobuXS&D9%Fb/MGfAq7ES&A80UNH1hS&zI+Z+B1nTnn#lZ@jbTT/!X7.VZYvUca}s.XMfrTgB!..XOC6S&A80Z@KX4S&A80fAjoiS&A80UN.cLULLo0Z&GOWX#@6k.n3Y^&CkA).ne%=<\u002FtDE.nRUR(z{}+.n..SX#@6kZ&N%bS&A80fAq7ES&A80UMaUkNX)9+.b{p%U4>3l-AZU^S&Ah7-C+]TUdy^s-Ls&tO93=.-LEg9S&A80.e)<*S&A80fAq7ES&A80UMIVJS&Ao0.cY5!S&AUk-D8F!SJa((-Ls&tTlO/E-LCFKS&Cu+-LN*qS&AUk.e)<*S&A806AwaE6*I:#r0u8k6&k6kp.=}k08%Xf02nDk02exj02caE02nrg08%Wkp.=!g6&k6kr0u8k6*I!06AwaE1POK01YMjk1POK0098$#rrku+00Mg0q#]l000b)@00bs+q#]l000Mg0rrku+099201POK01YMjk1POK00AAb+kM%%+0ycVJkMKaJ1WA8+kMy=+rx{N+rr920rr920rx{N+kMy=+1WA8+kMKaJ0ycVJkM%%+0AAb+pYS/+pYHF0kVH!+6*I:408J?06&k6k08J?06&kSA6&k6k08Kyg6&k6k08Kyg6*I!0kVH!+pYHF0pYS/+rAi40ryG[/qb{Q@ryG[/qb{Q@rttW6rAi40rtwtgr8(:{rAi40r8<8/ryG[/qb{Q@ryG[/qb{Q@rAi40rtwIlrAi40rtwIlr8({#ryG)>r8({#ryGhIrAi40rAi40qb][UrtwIlqb{Q1rtwIlr8({#rAi40r8({#rAh<}mo9t/rz-]=mo9t/rz=:@6&!mlrAi406&!mlrA8%#rAi40rA8%#mo9t/rz=:@mo6HSrz=:@rAh<}6&!mlrAhsY6&!mlrA8%4mo9t/rA8%#mo9t/rAi40rAi40rz=:@6&!mlrz=:@6&!lqrA8%#rAhsYrA8%#rAi406&!mlqb{Q16&Xgkqb{M}5FbairAf2#pYTx)r8({#LTOOLr8<VfL#Z)+qb)=2s^-n&qb]<@s^q#!rtwIlx{?$3rtwIgs^q#!ryE6RrA8%#ryGdR5Mz+grAi400t4K[rtwHml&*o>rtwswr7o>/rAf60M0df/rAi40LTOOLrz-{1Rb*O@rz--}w[+mBrAh##r+kohrA8%#6&!mlrA8^f6&Xgkrz-=25Mw{1rz:F@p^[hX6&!ml5L$+&6&!7gq4V!imo8ORKP!-+mo6HRRaaD+rAi40x<1Co6&+oms^-n&6&+/w6{R^0rAi001YOG4rAl60yn?gk1YX:aS&u40rAl60S&u40rAl60SCjV!rAl60SCjM+rzYY(S&whJrAl60S&wqMrAl60yn?gkrAl60yn?gkp/Tu(S&u40rAl60SChInrAl60Q-8w+rAl60Q-8w+rrYyaSCjM+rAl60S&wqMrAl60yn?gkrAl60yn?gkrrYyaRci%3rAl60LOKXyrAl60KoN&prAl60KoN&pp/Tu(LOMl.rAl60RclaMrAl60yn?gkrAl60wMY9nrzYY(LOKXyrAl60pZ4oyrAl60kMK1prAl60kMJ<G1YX:apZ5W{rAl60LOMHMrAl60wMY0k)^ybPSCjW0YsU&TQ-8G0)YM0Cr25jkS&AXyrAi40S&A80rAi40S&A80rAi0kS&z[0rAi40S&zc+r8({#%nSc0LOQc1%nPZyKoQ$J%nIDOpZ6/kYsUU^rAi0k)^v9PrAi40S&A80rAi40S&z}+r25zkRco)/rAi40%nSc0kMN<0%nSc0kMNV0)^ybPpZ6/kYsU&TrAi40)YM0CrAi40S&AXyr25zkRco[0rAi40KoROZrAi0#%nSc0RK0CZ%nPZyL#-$J%nIDOr25jkYsUU^r25zk)^v9PrAi40S&A80rAi40RMcU@rAi0kRLZg[rAi40@&hB4@&hB4@<(pF@<(pF@}P:$@}P:$%mGQ@%mGQ@%k^R/%k^R/%d%UG%d%UG@?V^j@?V^j@?=Zg@?=Zg}a$jj}a$jj}b71c}b71c}bG.0}bG.0}dfOB}dfOB}j[4{}j[4{}K^[[}K^[[}J85/}Hw{R}Cn8G}AL%qL%tHNL%tHNL(H$6L(H$6LMg?4LMg?4LMgX0LMgX0LMgX0LMgX0LN)*gLN)*gLU.uXLU.uXL#4GZL#4GZ}j[4{}j[4{}K^[[}K^[[}J85/}J85/}Cn8G}Cn8G}a$jj}a$jj}b71c}b71c}bG.0}bG.0}dfOB}dfOBFb/MEZ+AT*)/iv+ZYjD0{^EF4.t<=5[JW*++yyKg.2KSv{ts-0ZYjwj}i[g0Z+AT*)]rx+Z+AT*Fb/MEZYjuk-!N?E)/iv+-SYu&}#G+Y-nKWd[bJF+.UshYZYvz4{p6^*-yi=O@HfZn-!N?E)]ru:-!N?EZYjukFb/ME*L-iZ)/iv+*L-iZ{=[*j*E!E[[LxlZ!-9KR.b7eh{oT{]/IXUr}j4g#*6T?@)?F?0*kA9YFb/MEkMy=Y/MCOu?V9VJ/MCOu{.u:Y/I$:D[Klm+-$.kH-xTz9{p}-w^g[[G}i[g0/I$^E?Xxe=/MCOukMy=Y0037Rr0uo401X?#r0u8k05Kvllzdc&kqSr#lzaWp/eHPalzaWp%2guBxBk8$%3c0ir0w{z%mm]Pr&5Rc0037RrAi40008=+r0u8k01X/Wl<cbokqSr#lzaWp/e7relzaWp%2guBvXK$*%2oATsp76b%nK+Mr&5#+0037+rAh<g008=+r0u8k008:Hr0rRWkm^=IlzaWp/e7r6lzaWp%1+5]lzf#2%2oAExBmMJ%mXhEr0uD<0037VrAi40008=[r0u8k01X/WqLsTlkqSr}lzaWp/fveelzaWp%1+6xnc>9f%2oATwcMA/%mXhEr&5#+00320S&Da0(z*WXrA=A6rA=k0%m{Qk%nSc0%nSc000320S&Da0DA9@ArA=A6rE:*AS&&}k(z*>+0000000320S&Da0DA9@BRe03$RS>pIrA[M+ZYjup0000000320S&Da0F2YI-S&A8$TcD(N00*<N!M2QJrAi4000320S&Da0/rhcNS&AV8U2OJl5c{LZ%nSc0tb[Q000320S&Da0!=8OGS&A*nU2Z>1rA[M+(WO)0tMs-+00320S&Da0E{.Jw(Ao*UXMUo3S&&}k/mi+J%nSc000320S&Da0sm#QV}V2E6XMUo3%m{Qk/mi+JTn&j+0000000000ys0:}ZV[s?4/=R0rC^1Y/mi+JtMs-O0000000000tr(h1tb:*Lg5}nES&ZPE/fxw*tMs-O0000000000p62k$7p)tIf@bZYY0%w)(&m1ttMs-O00000000004hO$]7xoRvi&M>}N=CA/>#v)>tMs-O00000000004SyV{ti(0ai0#rfTb)LJ!UJFptMs-O00000000002My:+yPtd@f.gnkZcz.k!UMrktMs-O000000000002omZZnU9jApP50<nYf0%nSc0tMs-O0000000000000gf}JR3XXcKifkMy=+rAi40%nSc0L#WRW0b>>r}L<I{rRQsj}LAl(%nOX2lJv7p@?S/krAlk:2kRt1@&h##u?gki}LAl(%nP1h5c8X0%d@{0sl-&E8<NF=@&e%#ZW!zt}L&M}S}$#UkL?OYUJo0+tkwnAeKlIo}(fScXa(#(}L&J{S&A?AZPaskS]WD+td%#NC(UNP{uAg?XbSI3}L&J{X#C&h@&i0kS?&[0te9seWe{o6]$BBaU#OIB@?XV{S&xSp@?S/kS*cR+tcB2b<oCES}erpkFb/s.@?XWWt9Yc.}JU9+rAtw+tcE0a<qW@(}D0T@rAkr/@?XV{rAfig}JU9+rA[M+%nRd0<qXd0}L*C]rCDoLfi8hV00640ZYjukz#5DkrAn8:Kq?h1}L)LgSA2$4Km=XW0rr91@&i04XO*EEklf^CkWal^}L)O@X%oq0Kn-)$5Fa{x}C*Kh<qWe0*YcI60C?.#}L{M}NYrx>fwZDE1ve#!>(pY/<qWh+[a#(W6%B?r}L{Y#S&A85%k4H]00640<nYf0<qWu0%nP*fte74pEYxAFS&A8jrzD-j00000<onv0<qWx+)(UJ*S}!^yal](v@&i3>%nuco00000<q9$0<xGi#%9>*:%ciGZnb@R?%nSbDrAikq00640<qWe0<qS4k%nSc0%nSc0rJ(m0[bJB+5r.+J0fNM!00ic1%nLs:ZYjupZYjuptl1S0u&Qf0Dfr}07585H03vFatb}h{.#8:p=z)[JyYBC0z#Y>kf8LaEe:@NY0qP+.rI=(0.^27p=z)[JUMaU0Tn&j+u&Qf0af8vg1c)A$6>{<\u0021.^27p=z)[JUMaU0Tn&j+UMaT@ux[M@4PPt96(3^N.^27p=z)[JUMaU0UbXIk%nSc0?A.gK9-/a5rA+Y}.#8:p=&s4pUMaU0XM8TEFb/MEXJ&C#iA&mVrA+V?ZYjup=&s4pZYjuk<Ybq+fAq7Edm1IUDrMOlrCE/3ZYjup3v&9R6&X0z006!kFb/MzbOQz:(roHsr&RE^%nSc0ayCfHrAf.A5ch+bZYjukQYZ*7>#K*:r&Pi3/sfR*Flh^KrH1p0004l%fAq7EbVNUT>#B:-NYow*/sfR*GJFqGrAfh601=L65c8X5b([b=>#B:-S&x71/r[@pLVOhdwMn)q006MfUMaU0Sx-:M(q.LkS+CFl/z>)5dXE5HryE6a0rvDd3&*n43rp8t(s<m4SA001!M2QJ000k0rAf5l0019<0}i>Y0&q]&(zW=-Rb:K@%nSc0000006&UhF009lb3jm4!3jm4!(z^&:rAl610000000000%l5ep0rr90@@zsM%nSc0006!lr8&[#0idZYfBPSz@p$ph13=?^0L)$?00000006!mp.:ZC3r^&(3[@8z@P1{$4N<w$qlYsOrAi401hJa2mmv}(c8H^W1hC2O[6/tOiZ)4Gqlo4KrAi403]2)l6&kSCMrjm81hC2O-N1cO(p1YMqle$JrAi40f?/!16&kSCNp3BS3[@8z%iv$J(p1YMqle$JrAi40f?/!4mmv}(RgpldfBPSzT(EPJ(p1YMqle$JrAi40i6tydp.-%iSSi2000000V:.Tk(p1YMqle$JrAi40h@8gGr8>AF0000000000+M4R5(oCsH0JP7#%nSc0hF-u[0095#fBPSzfBPSz00000(qZ?:rJw#$+AV7ahF+5QfBN{-3[@8z3[@8z^/R*0(8H+-S+UFj+*/Y(heAWP3[}}n1hC2O1hC2OgTv:e(8H+-S+UFj+AV7ahF&Mi1hJbp1hC2O1hC2OgJ$@n>bLCYS*=>^ZYjuphF@Sj1hJbp3[@8z3[@8z]d@6+>bLCYS*=>^!M2Szh/o3T3[@j-fBPSzfBPSzgxP&$*n.fMS&5Z{!QNL(5bv)/fBVeY000000000000000*n.fMS&5Z{%m{Ik00000000030i=k0z[-%Y}$Tm(000001n>y0rzSU}S&A8l%5B1a3JHd09>FIY@:5!l01XM03<jp0rx{J:S&D9n^b?WIebDEk9{EEE}3i#u0q-(0f:W{&rx{%3%nOgi<t$UaUJ&g+iQiU!}sTA:1fexpfD)w6rx{Tu/iKG2}D)PFUwg6ki{%RY}sS9v4Y9vkAdw0gpYHHh%nOjyWfH5SUvQ(kkkIE}}bU<G4Wy80*>2L6kMy)uS&zhyWfI$nUv3#0DaHd}@-+Y1i*A:E/mi>!kMzi3S&ySjU9Og:ZJA].(By/k{Y1pei*A:E/t5S%kMy=:S&ySj@*0Jv}}v%K(GUBJ}cB8F00000?eA>&1YUK5K=+=STW6pj(E@ep[9xrp}Mo<w06*wY?gbp!0Axa1K+5TCt%M08(Ew#4[:7P#}Muc{1nYjp?cCu)096BoKB-HQzKd(q(ETT*^EZ^o}Muc!52#V0{G-ah096aPKDCT8X%x}h(IVjA!+0=YX#!n8kbzC}!.LO00963mK=VPdWlYbw(B9p+/8p8+zMMixk9YfYhfAhf096aPK=U&[XJ$LL}N6Ugh@g%#8#=ba}JU9+4rU$C00J=tFSVkj}C$w(%f{>N4[C4p0ak^a}JU9+1onzq00961FSY#$%nR-(00Ao3%nJ60DAcjfrJAd4%nSc000000!QNK0q]F.p06TAj7GG@89&!H9r&-mc7GBF+fBPSz%j7iJoZ%!B0oBl7t%Sxeal@cRtc1Z@t%OHl3[@8z!M2QJfZGi41c-!n@qZ3pALIvIS&#zc@qV?E1hC2O]>G+c.0q9r1c()cbum^WZ&fnrTn?#.bum:+1hC2ODx?Vn.%mAu4Zk)T82%Dp!MYnc@2+-o82%QY3[@8zBZLgG=3G<M4!T3LsMJ[](B+E2]y)ZmsMJ:kfBPSz%nt@6hc.*zacmphQ0%>IkK^N!Xa.0yQ0%(J00000!M2ULpW[z+iZsFc2B2y[6#j%peNeJW2B31J00000(xLvJr22xkC%CPG@]Br27xE[3tLgqi@]Ew0fBPSz]&Ie{q]HB0>#zR3tdETG4F1p+7u{)0tdFJJ3[@8zFbSHEoFD@f>#Cn<7oQUM4FEL9rSnRf7oUhA1hC2OBYXPAfX==C>#CnV1*g<v4Qeg9{3nDU1*ky31hC2O(qZ?=fX==C(q^7l1/>U71okAe{3hN)1/{(M3[@8z!MOlwgH7tx(xZWh6%0U302nX/sew<@6%3N}fBPSz%mGw[pW{aE(z<8GrJAd20005m@Y*C-rJCv:00000]<v+0pZ3?0r*Ad+>#y-0rI-(0rJCy+(qZ&+03y?k00000r(4&jtbwqY}bHBkrCueErH3P+(zmW+0d7:ES^>iLr(4^3S&xp+@/{K0rCFHkrAi40X#I^k0oEz+dprqZr(FufTlJ-JEPoyYrCFHkrAi40z%Bz0ac/[0csu&*rKErwULIm0En%o}r<hv+rAi407w+k0Dr0$Ec74HurJ>Z+%nM80C#W<YrJCy+rAi400L!R0>#y-0304-urCFMl}MA[0>#y-0rCQ&0rAi400dT}E>#y-00&=k2rAi8mLONn0>#y-0rCQ&0rAi4002?Tk>#y-000000rAi40z<pM)rAi7+r*uL$p>+iISG)I:0000000000008(0rAfc^x&OupS?&Pdp>+u*0*UIGfBPSz1onI6fBWlErRoaLSA320%lr5Sre3Y80Ch-]3[@8z1Q2cB3]1IYso5a%Rb:.:Tnko?p>-o?l<:4i1hC2O0tC<c1hE]pse@8%rCzC^qOLW8p)3oT@q)8p1hC2Op.j%Q1hEh*@?SQ{rCIvlp{i+ip(#}3%40LL3[@8z6ABza3[}UY}C*J}rA!J1p[7t^rdLCS%kkNtfBPSz0063HfBN{YrAi40rAks*rf*z=rd#B]%l{0*0000000000000000000f}#uY%(ES5p@&ix(rx[.arA7D0rx{J+ryitV06!mVtlB^6(TcV{UD2o.ro*/<t2x<8q#=[4r0=}o1j:TuyyTBY)rtOvtK5Wtp^sZMvP]:+pYHFgp:I+H4PNufyDkz0BVlu0uI.chkMB2GvQ]WykMy^0k:CH!iJwNX)={*Nqg2v}{5qA$kTj<uw#XZ[kMy^:lrd=2(AxHtjfejU6!==u74n:H1i4Qisokm-000102VW*6(?XkLgP)}EqfR#<\u002Fi^uk4l%QGwb)Hi00041aY+pp@n?ZOVGUNTrL-*aE{CAg4DhlkbO-{J00041Hfxdd1c]]S^DT=Fm/!9s6<TX^h?!csc0DEd000g4Rd{fk4QcElpPym}tnph*7Yvv}h==mh30K74000:k3AbyM4qLgn9<qME8=&lQ/ik3n)PJ/X32lq60031#0?:14iJF#{}d/h@tl1zDEqw>Z)wT)l2X]Sr00Mw000OQGi&!uC(pev^m.!}46#f:z)XN7[a/efs0992}2VUBUi&^*D(xeVV6%4w07xsk@(z<Zcmo9p!1YXL/b2}=p(At@x(zqj}qcHf+tMgQ0DAaelL#Q6H6&!ikdPGIM(A=}W}L?lg6+$F#%eIt0u&P^06&j(grAf20rAf3$01V<B57KV:0000-%g!Qm.)L0]rDRO]%nQ<Oq]F.p05Pf9fF#<m1n&em4r8sB=B9WV/l7x+}etD@oZ@bBR*]efJ-4*b2@2vCvJ}Ncug]Myhm}7I0FfZGMQfHaZn[hkY@4zY<Z16^@0(:t5C](]Yk}eubQ.0q.o.cx7>%k?5+4rzQK16=l[(9[Mqj:#W=}FUoe.%nQH-HEwS?M1/]16!j.5bXMwi>Z2Fh*T+&}etD/=3Hgq!%)gO:lHE?18{H8%np+Q4-qpF!-#R?{?@l#hcZa.he<97[Xt910kOTcFb-*f0%3>KrQf6o}el/zpW]{m55p1w*Ydsk0k[<fFb-![0%FNf@P->X}ell(r293S007H/>L$Op19sG1Fb-!V4zY)J1g)m@}FVz*q]L=p007L+(2*oE17g%-Bn{U[4s=eE1g)aZ}elvJoFHc>01Y7f}NS&k16kH5Ar1J{4r.ZG1hAC)}et(dfX/Vd0qfBV?#A-J17}Yo[b(XC4rZ%B@&!s^}7GUWfX=Td15]CK>t$Wr4[DJ$joF(p19KUpuA:$fXO/WDgH6[W4o9HEjfbyFfX{WJh#=:40ri3RuCDKv9DR!TpW[z+4olzk5c8X0.1zTD!Z:tt0000f@@r302HJIupZ3?01hB)p05c8b%nG!k0rr90@@zsMkMy=Y001bvr8&[#48q&N01V<B=@X+013=?^0L)$?<Y4HH003%rp.:ZC4eZ8Y1n@f0:YhFB4N<w$qlYsO!bU1n1hIZ!mmv}(g1OSC4&<6l-yi=%iZ)4Gqlo4K/q!b/3]2Gj6&kSC:n::IhYQp=-z]]t(p1YMqle$J/q!b/f??8K6&kSC=JBha{Ad>i-z]]t(p1YMqle$J:n=gWf?/v.mmv}(%1<Wt{z3RO.2%^a(p1YMqle$J(&m1Ji6t1Rp.-%i=JBjs{w+qy=})Kz(p1YMqle$J/z>)5h%^:Gr8>AF.#A^]{Y7nv(&m1J(oCsH0JP7#/z>)5hF&A[%nSb*.#ou7{Y7nv%5W+J(qZ?:rJw#$-z&a3hF-u[0000d:n+(#]&k1t/qEuO(8H+-S+UFj?#FonheHOH55XwG=KZ4m{Y7nv>DB:p(8H+-S+UFj}L@?:hF&K8fFHxD*@42*?V9=l%mG+0>bLCYS*=>^?#A-JhG1fBfFJFp[gUnf?.N7z!PNG+>bLCYS*=>^<T0/eh/uIwfFHoA06G:f?V9=l(uYOk*n.fMS&5Z{DB*eV5bzm%55W(s05Dqt%nSb%%nSc0*n.fMS&5Z{aohxk000000000e%5A80z#Y>krAi4000000:5Sft%nM80!QNK0004pA)}O)1V&y7Er8()$1hCC.:5J9tZYQQ9%j7iJL#I6&}!Ae1^zbVJr-Jd13[%AK:7tqJ-z-!9!M2QJL#H?I@+wEF-]QA*rBtz@4g*B[:5Mbt-z-!9]>G+cL#HVy%5A80:cph+mr@-M4l%@k:5LMdZYNOpDx?VnL#Hz4[2Aw::5LNSrPC90h2)RY:3<c1%nM&lBZLgGL#Gtw}(lT::7pK+rNMU5h1iRj:5VhK]uRfK%nt@6Fb(#U@&h%j:5D6/rNX#*!g-NT:5Mbt%nM&l!M2ULS&k2Vkug.Y:cz$trPC90!xXd%rNT/F/>jq+(xLvJ%nSc0=UxGK-]F85mr@-I/XuT%71lq=/&Lhx]&Ie{ZYTSp<nYe5.mD^pwNCa0*+n]-rNT@F/{z:sFbSHE*gO4f>L$Pk=#nZ+rAi4g*+n]-s>0AJ!T3moBYXPA*gNB=>#y-0<p$Skqb{E[?24#urNT@FZYNOp(qZ?=/>j]eXM8TE}2yzksYOKl/tEL*rNQ{F%nM80!MOlw!%xxpz#Y>k@&i0krA8%!hnJN6rNW$F]uWEp%mGw[*ns]J6&!mk%nSc0rAi40hpV?%qpCNB%nM80]<v+0%nSc05c8WB52&^G^+D^p56%>qZ<Vm.5ayb0%nSc0S&A80hc0T}59Wrl^y.UkppUnD!d*CmiB1BT}Mu<4G@F6M/8L.O59m-B?%rD02KyZN@rhP^(zJvp<.+/qG&IbN*Ydqz52BiW[h@/zk>1Oe}-%CE>M$SE<T#T0FMk&N?)R>akDeC/-7R)01mMaC>G%ne<hcC(<If%/FMkMF?FeIm[9a6y+/$h+%nRAV/eh2V<hcC(&{cMAFMkYJ?S}e@?@Ok2+*k(p!O.O1^*UZx<oyX+(Y[KJG?@H+?Kn=C?>+nD*$]I0?s7ju^[G5c)oWhE%aKWTFc{/d/rheV?(gzD?qkR+!O.noEfoJH(?W*J(.1SP00960<]to}?%1w2?t^I8!O<:o6C]q3i?M?Y>ix1prAns/}bHCc*OF?U%n5@0?s7x}5p-kik9boE<?H?N%nPa1kb$TL>kUA%])u7k!O<:M0Q)/ah{.9J<.H{.L#Z)=5c8WB}bHCc^0&Uk!O.y@2IW2@hn^sp<Y!4=L#W>^5c8WBkb$TLZ&f2J?s7yr9m%FRiDJCY<o{GRS&u4159X2F5c8WB.l)Pp(AxG=fVSIB9<ucY}M3T1%nLs+52B6S00000%g!:p%nSb*f#%s]2MK?J%nSc0%nJ*l1m#c1uJ2wYrSA13zASrWrR#?crr911rx{J+000004Z8$su*3hpsexY.t}H0>r%ck]p.i40q#=[4fBPSzi:pZEt&V?Yuo?&ct}G##t!&5rkSU$IpYHFg3[@8zkaM(]k>OF0t(U[Ft}G%2Bi+o[k<fZkkMy^01hC2OgP[t2k<-[#BC:=2t}xr>A$uF{59LLpkMy^:1hC2O4.7r^0o-a4A?Pi7y:Zl{A1yg=4dp.+000103[@8ziEbET1lpA.(oF^&A3$}H.vG}@1mMcq00041fBPSz<.%%04S#7M^Gc:)=>Ek4ZYwO00q]5X0004100000*n.fJixb=x:hm*Y!kYIU@2:Eg0pP!:000g400000[1#MJg&mXE=^R]=<.m=aan5.f5am74000:kfBPSz]o#M5hkBAD=*gR=k6:)r0998Z4dB6E0031#3[@8z=rGzp59c%!=!5iGgRhi1@6ai91n>y000Mw01hC2O4qUiE0KV*b==l1pf-Ga.=+O8P0pP!I0992}1hC2O4x^oY1:Nmo^/EiNh2>:u={7K=0Q^M+1YXL/3[@8z4.ac}6(HLZ/eV!H9o$/2h}p#m1+acI6&!ikfBPSz4ZlCErA)@MW()-fslo6pE]MQC6<{OkrAf200000000000/fyu(004oA0001ar238YZYaok%nQS:0m.5H01XM0<<\u0021HP004lz00047}9vq+}Mx(0}et@g13)V505LU}iE/OXkToA/1WAh9UAhlI&AGGZ}7H1s4fWIF0mR}/?C):*qit#^82%TJ8SR<k&AGW@}es:dg.*:a0m+oN:lG.OMdp3Twb(Pv0KJ[k>$uVC}FT)3hgD]M0m+oN^zbVJ{u3S2<wk*R0c*6}&CTv=}etx3iLVww05XJ(<nYf0UFkG+]/@GS1-cg}&AGW@{?@f%4/VIg06daX/&q3/rAjGkWeZgb09?wY=<9:J}el/z0$M(Y0m+(=!ViC2rAf3o]-a%(qfV}D>bRGZ}eumFyYI5T13{b>]@z?C[9Zld<V&!C8f^-z{odU@}FM<ZtlaZ64fY!F=8Z?/XW?}+r1G7b7ptiF{od<g}et>Gr>}:pg.<2{!byfrwmLZD6Awbzr<=n0%nN.*}et(VrJ]I8hgKeT!wXEs5d!&j1onAtyuctk&AH@K}7GSo!Vq!L!XB4U<>u+J0001o000fwZMYJk{od<gXO/YdhOx7&/aesaiOHJI000:Z0004b<XMa+{odU@9DR^ckKXTM/aesa5c8X00005k00019q#]l0%nSc02HJIu[w227)YGL%rC+}9(.Rh83Qu%R00000rzVY}u!r{5%5Ga0)YJNWw$D6?(/#6[tnpcs01X#crx%Q=*=NXT0m*:x)YJQbtcs)>(-dLdtm<>n06j(}p^wn+jWo3}6/CQ-)YJNXx70m@(-N?htnpdr0p1smkMC5qaj7n+EkR68)YKcrtctE5(-N?htnpdr1fcau0043sDAW)Y%4SK[@&Sq)r<5F5%eJVBtnrA64YToB0043s}FV[E%4Se^(&9]/yoB+L)!TY:TcGJThk%=H0048<}%^FJsiZvq(.1jS%nR=7)QbXN%nSc0iC1HYkMF&8D?VB+rN.0F(.O(b]&nPn)YG:V00000D2JH}1Y-PyE.m>TrN.0F(/${DhMBv2)YJRR06*wYDAW)Y0AEfCu?tDkB<<t$(-dK)iQjh/)YJOQ1nYjpDE8h+09d6Bshj{*B<*sj(-N<\u002FCb&c=)YKd!52#V0DE8h+09d6BB<8TEB<{x<(-N*:D9j-<)YKd!kbzC}DC^U509d6?]$QVp@Np/DF2Z8BCiVVLEY/ZHk9YfYi<Wbk09d8jFaK&Yu^&1Z2Mzrl}L}rS2MzG+}JU9+9<ucY00N(5rSdzEsn-av00&M7%nQBC00*<J}JU9+2MK?J00ic1%nSc0%nSc000924}O91g(C6y@UJ(a/jodRn000000001(UJ>z/01VdbUJ>PS}Mu)}UJ&Z5hXk.2fBPSz5c8+GUJ&Z506m8]SCnHmi&YmSUJ&c?h-X4A3[@8z3zmDdUJ*Op06l%QyfEXs4YWb9Te-h7i}*t=1hC2ObP3O9TeX%}0p3OXtb[R6h%QyxS>bm^4!4j01hC2OL#W@eS&w1T52&:etbu06ci7-.Tn&i416VhF3[@8zMx?J3UbKvVi&c2VynCan59*U6UB./:4R[0KfBPSzNpQ)GX$}P!i*BDWS&og61j<sm@-+-84Y?.(00000Mt8kbX%mPb(xOt-SCkRqp8Ym985FBu4/wMb00000c26e.Tnq*@(Z1wYx<dL5g&6}6upT6Y4@yvifBPSz3w>6RTnqW@[2AjXt3v%6hnvf6z^i6yiC!e=3[@8z00#!oS{l:?)Y9p-tb[QmcI(u&DFtS<iJR-p1hC2Oc<:TsS&Akb)Y9p-tb[Qm3GZ3AY4-Ogi>LEV1hC2OK{JlhTe-kQ(Avj:tb}C1k)jk.W5/uOfzCLB3[@8zRu!pAywIYy(C6u#yo4olwe3A)KPHas3zmwEfBPSza{Yp>tcq5g(C6v}UD4P5t2+Mgdf{?}0000000000c<1]1r<2G9r&=o2%j7aHS<z+xirgb2%nSc0ULLo4p-FE0X#I$gM0BT{^dTCsrJ(Ih9Zyin%nSc0UN^+BpZi0+UbZ$3UK>Yx])iXsr]sd=4P0K#S}@:(!KeT3LMgX0ZPkgLY)52>Esww3S]$kCn0CK7S&A80%iQU(R9C5+:l%okV]uL2Pz(IaS]v7bn0P1jX#I^gY0KRx>A2]59EF{h[P!g7RgnbwS]QjCr{yT7S>XLkXOTey>J0Ppg-Q^U])S%x(z@rtTk%.=thSSITl0NoU3olY<N:JkgSOQ*}fSaM[a%Fh%k^FITl0N=uo!L0%mT!F<UN@YgSMc/@:8Q]]G6vdsliV3@]Ewm}2yzk[d1m{<-zIEg-79w/o=Gq^r-iDtJG7t0{9UFWgz+k!Kek0<*}Q0iAK3#!-v4p!W&d{yVO=%tie#MBR0$E%iP>z>kUEJi:h<?<:H7)/82hPS{9P:ysNa1h3pT0Y0Q+c(RE=JpobCs}b^mP%lGUOS}]=YTcG(*iyyS0XOVVz)eNckM-UKJZeXh4}MkmFS>K!gU9M/4zCQIEXM=*MV&y7E<]jvV%d@=@S<NuRS&@C9X#LRbTcD-JU3.ji=@B6JY8RDm%nSc0%nSc0%nSc0%nSc0%nSc0%m]Z)mqw/0[0d?>%5Pf}<P:%N006h/0005hS?&[0En$^&rJqr:%nG!k&qX%D(rBa=kTqEL0ycWmS&o:kB6[X]tb[M4p-FE0XIoyy&ihiWqiv%{20-ug%eJ9lB9K<>yo1pl>%*!JUbhe[<zSyHMdr0k8upsGTlM.YDH!&F2caX*@/GW+T@DcU<\u002FvGE{u5Gcx+QLz2kUyYuHMCgp+5G0%k^F+Zf/)](h{=%%nPk!}a}5R0LU+0r%@p@dYPI5].AzE[ufgd}9Il/ZPaFqX<ck}6#3(pumQ7.dYPG-<?laE=#eY{}C[16S&Am:T]FC40E?jGuAFMOn#!*&(B?UE^xzGxEYuDGS&u9hU0q%!5:DAYuJ2x7p]Y7j}U+]E!^E!PZY6XkS&u6gZcz&!7v4@+uOgizrr9+lZX@VY>MZ[WXI6)B%nJ^V}a}9N8Tsx1CR5r=rAi!0z#NJE}b!:7<xHX.XW?@<rrJqjyWd$=iiqVqp/TJ(M?)]pZnhk5<.J%}wmL:/1PPlNUD1S0i>LT-rAl50UA-e+UJYl!<\u002FvWH5d!(N0rrpM@&i0k5a&<0rAb#(XJ*gkY$O2-(z%e/0033}0004GS&o:kkV7IZrAgJ5<p$Sk]-}rj}MG+g000l10002gS?&[0r0uo4rAhp0KY[OJ55neEZYj]m00u)bu?[6X%g/fB00000rAi5(0rr60fGYszfG.f200u)ju&PQWB-oiX5az*0rAiaq165vp.9XhV3]tW$1nuEdFaZOS=hW:^g-T[Zu?EHh4olzE!QWcC95MvD4iGcXFa-&S.VG#H^hb5MBs*Np4xuBEkH*qqr$2rl4ouEtD>>1E=]{>r={*>L!%/X^4.@1E0o>jUtLgF^4PM.iAAnyf/u+QA>9u{4*VIO44!Thk06bpoRCKq[1fdZXrRpaxElv5)*VABA)yH?F4/=Nkkm=?qqje%n0Q-FT%mMmOuhTVK*=6ic(WE:wkg!A0Z}/2)0FUy<0KI$K[d/m{ugp2c*=6icDa@{U?V9R+-4ZN?1{.vj0L?Yl-z)19z2<X0[aIm^u/6KW?RAy+h4Pf-so(Uh15J2{7nRhI@C<^(?fj1%rBh&o?V9R+4myv=0CqG*2l![ctJFWn.$31$?Ny8.Eo%Xs?M0P+4PJKc0Fgf:4f:IiuCzNQURE)(?$zMP>uZ2C?#A-JhD:4C1@4Ws4o@bVzb{mF:m8q/?fjh2{GYTR!M2QJ/y+F#r+bi75b/I&V&ziqZh(jd@66R.B6Q7((/$Lp@15=0us^.E0000-=&s4CrD3#000000yfcW2EsIiz%5A60rAi40p.^1gXdkLt0p3^vsn^S@!QNK0q]F.p:jiA&tl1S0kM$lbz3f!sk(XSB90s2m%j7iJoZ@&#ApsLwUAP*#1WBdI3QOXiFo=.7fBv^*!M2QJfZGMQtY<4I]&k10RbZ!Tz}2:eZ+=(6A3h7/]>G+c.0q.otRQf.rJr60(?K^tY0JBZ=[(/DAdw0MDx?Vn.%nQHtR@<ptb[Q0Eo)so<-$UE=]C@E*>2K[BZLgG=3HgqtZ2ypyo1qk<\u002Fs}a=%B6!&2Yoh/mi>!%nt@6hcZa.AngwTS@Ja0MCqO>ZZ5i%[cvqx/yfsp!M2ULpW]{mAN47K@@r60N:FDo+%hmJ]z!]k/mi!=(xLvJr2bnk^&wFP=&s4J(P/Nj^[*2^]z/6n?^7M]]&Ie{q]O0p^>}c)00000DJmr>WBtg{}2zjq{G-ahFbSHEoFJwE^>}c$09Vi09@]M^i]%vW}bHU2!.LO0BYXPAfX&Xd^>}c{1&74k4//>P59Wb#}JU<=hfAhf(qZ?=fX&Hd!aDI-7V!(J2K#fwkZGDvzMo/t4rU$C!MOlwgHeoi^d{}Zuo!L012U046C7k<2MKocl&Wh5%mGw[pW{WEUSudbC($<01ne-9k#mK+pYHU@q#=[4]<v+0pZ3?0S&A90%eJ90Kn}JC000001n>y0rzZz{r>+PG1Ybg0S&A*lrSo1#pYJ-X01XM03<jp0ry1o{te73M6&UekS&%/Iry=[=pYJ-X0q-(0f:W{&p^zj-ywK3yrAfdpS}lo>rrabvkMBQX1fexpfD)w6kMC-/Tnd<trAfO0T3uT*pYHKYkMBQX4Y9vkAdw0g003*hUJ.ghrAhoYTPet30000WkMD(C4Wy80*>2L6003j4ZON6OrAo80UMaU60000ekMD(Ci*A:E/mi>!0036m@/@4%6&+kkZYjum00003kMD(Ci*A:E/t5S%kMB//}C&9e1Ykm0S&LA+}9j{#LMgX000000?eA>&1YXw000OHo00960S&ZPE}2yClLMgX006*wY?gbp!0AAb109bej004JES<%gJV&ynoR2QH01nYjp?cCu)09930rAkcy001bkS]TR*<nYu/<P2o+52#V0{G-ah09bp:rAtiYrAfi0S)}iK=&skN<V&&JkbzC}!.LO009c0#rCFL0rAl*pT5Ph==&skJ>$?L0k9YfYhfAhf09c4}tb)<MrAi#ET5G8:=&s8F}bw8E}JU9+4rU$C00RU/S&IA1S&xC0TXY1zKn]nY}C*L0}JU9+1onzq00i80S>XP0S&A80z#1tEz#1tEz#1tE000001n>y0rz-e:0064lq]F.pXO!@}XO!@}XO!@}01XM03<jp0rx%{>0095noZ%!B<qWe0<qWe0<qWe00q-(0f:W{&rx$H5%nOgifZGi4<qXd0%nSc0%nRd01fexpfD)w6ry0R+/iKG2.0q9r<qU(m0000000zp34Y9vkAdw0gpYNM@%nOjy.%mAu<qO7000000008704Wy80*>2L6kME>=005dy=3G<M<xAv0rAi40rAe3-i*A:E/mi>!kMF1*004Ojhc.*z<qRF8sm}7w%nz0$i*A:E/t5S%kMFO1004OjpW[z+<qRf4s9m!O/iNCR00000?eA>&1YUK5K=+=Sr22xk<qRf4s9m!Gs5[r206*wY?gbp!0Ay/ZK+5TCq]HB0<qRh0u0Q*/s5[r21nYjp?cCu)096BYKB-HQoFD@f<Y+/eu&sngs5[u^52#V0{G-ah096cpKDCT8fX==C(1:vyu0Q-os5[H2kbzC}!.LO0096cpK=VPdfX==C(z[o0Ep4F7u!aCxk9YfYhfAhf096BYK=U&[gH7txX#%N-rAi40rAD=m}JU9+4rU$C00L4+FSVkjpW{aEz#6Ck%nSc0%nN3k}JU9+1onzq00961FSY#$pZ3?0073bj0T(^}}tZG}kMy=:kMy=:2)gec6b82)6b82)6b82.0S&Ab0S&A869OBs0Te-e0S<2s0S&A81Q1(d69OKy1Q1#i1oGkr0T5Sf1Q1(d69OBs0Te-e0S<2s1Qb5k1Qb5k69njp0TeSb0S<2G6b82)6b82)1Qa@e0TeSb0S&Ab0S&Ab1P!-b0TeSb0S&Jd0S&Ab1Qb5j1Q1@f0S&Aa1o!@i0S&Je0S&Ab1P!-b0Te-h1Qb5k1Qa@e0S&Ab0S&A86b82)6b82)6b7JM0S&Ab0S&A80TeSb0Te-e0S&Ab0S&A81Q1(d0Te-h1Q1#i1oFSa0T5Sf1Q1(d1Qa@e0Te-e0S&Ab1Qb5k1Qb5k0S&A80TeSb0S<2G6b82)6b82)1Qa@e0TeSb0TeSe0S&Ab1P!-e0TeSb0S&Jd0TeSe1Qb5j1Q1@i0S&Aa1o!@i0Te-h0S&Ab1P!-e0Te-h1Qb5k1Qa@e0S&Ab0S&Ab6b82)6b82)6b7JM0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S<2G6b82)6b82)1Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A86b82)6b82)6b7JM0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S<2G6b82)6b82)1Qa@e0TeSb0UURs0S&Ab1P!-s0TeSb0S&Jd0UURs1Qb5j1Q1@w0S&Aa1o!@i0UU.v0S&Ab1P!-s0Te-h1Qb5k1RQ}s0S&Ab0S&Ap69njp1o!&d0S<2s0S&Ab0S&A869OBs0Te-e0S<2s0S&A81Q1(d69OKy1Q1#i1oGkr0T5Sf1Q1(d69OBs0Te-e0S<2s1Qb5k1QbwD69njp0TeSb5d[%B0S&Gd0S&A81Qa@e0TeSb0S&Ab0S&Ab1P!-b0TeSb0S&Jd0S&Ab1Qb5j1Q1@f0S&Aa1o!@i0S&Je0S&Ab1P!-b6A[Tz1Qb5k1QbwD4I63W4I63W0S&A81o!&d0S&Je0S&Ab0S&A80TeSb0Te-e0S&Ab0S&A81Q1(d0Te-h1Q1#i1oFSa0T5Sf1Q1(d1Qa@e0Te-e0S&Ab1Qb5k1Qb5k4I63W0TeSn4?nTx0S&Gd0S&Ab1Qa@e0TeSb0TeSe0S&Ab1P!-e0TeSb0S&Jd0TeSe1Qb5j1Q1@i0S&Aa1o!@i0Te-h0S&Ab1P!-e0Te-h1Qb5k1Qbzr0S&Ab0S&Ab0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&Gd0S&Ap1Qa@e0TeSb0UURs0S&Ab1P!-s0TeSb0S&Jd0UURs1Qb5j1Q1@w0S&Aa1o!@i0UU.v0S&Ab1P!-s0Te-h1Qb5k1RQ}s0S&Ab0S&Ap69njp1o!&d4I6iR0S&Ab0S&]B69OBs0Te-e0S<2s0S&A81Q1(d69OKy1Q1#i1oGkr0T5Sf1Q1(d69OBs0Te-e0S<2s1Qb5k1Qb5k69njp0TeSb0S&]B5d]D=5d]D=6AOsq0S&A80S&A86AOsI1oGns0S&Aq0S&Aa0S&Ab1Qb5k1oX&e0Te-e0TeYf0S&Aq6AOst0S&Je0S&A81Qb5k1R7On0S&Jb0S&Am5d]D=1oX&s5Fb9H2NH?v0S&A80Te@u4h5:A0S&Ab1{Utq69njp0Te-h1Q1@h1oFSa0%w-f1oX=c1Qa@e0S&A80%e#p1Qb5k1Qb5k5DS1n0S&Jb0S&@n0S&Gd0S&A81Qa@e0TeSb0S&Ab0S&Ab1P!-b0TeSb0S&Jd0S&Ab1Qb5j1Q1@f0S&Aa1o!@i0S&Je0S&Ab1P!-b0Te-h1Qb5k1P!-b0S&Ab0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&Gd0S&Ap1Qa@e0TeSb0UURs0S&Ab1P!-s0TeSb0S&Jd0UURs1Qb5j1Q1@w0S&Aa1o!@i0UU.v0S&Ab1P!-s0Te-h1Qb5k1RQ}s0S&Ab0S&Ap69njp1o!&d0S<2s0S&Ab0S&A869OBs0Te-e0S<2s0S&A81Q1(d69OKy1Q1#i1oGkr0T5Sf1Q1(d69OBs0Te-e0S<2s1Qb5k1Qb5k69njp0TeSb0S&Je1Qb5h0S&Ak1P!-b0S&A80UtIp1oX&e0T5Mm1P!/d1oFYc1p$.r1oX=c1oX&q1P!/d1oFYc1p$.r1oFYc1oFYo1Qa@e0S&A80Utzp1Qb5k1Qb5k4/#!l0S&Jb0S&@n0S&Ab1P!-b4/#>n0TeSb0S&@p0T5Md0S&A84/#>n0TeYf0S&@n0S&Je1oX=c4/#!o1Q1@h0S&@n0TeSd1oFSa1Qb5k1oX&e0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap69njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap69njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap69njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap69njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A86b82)6b82)6b7AG0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S<2G6b82)6b82)0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A86b82)6b82)6b7AG0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S<2G6b82)6b82)0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A86b82)6b82)6b7AG0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S<2G6b82)6b82)0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A86b82)6b82)6b7AG0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UVjX6b82)6b82)7xsBn0rr91kl7V-0rr916Awak2)gec3&*nc7YTKomf0q/%nMRu0@@r32)gec","WASM4_CART_SIZE":54572}</script>
<script>var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(t,e,s)=>e in t?__defProp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,__spreadValues=(t,e)=>{for(var s in e||(e={}))__hasOwnProp.call(e,s)&&__defNormalProp(t,s,e[s]);if(__getOwnPropSymbols)for(var s of __getOwnPropSymbols(e))__propIsEnum.call(e,s)&&__defNormalProp(t,s,e[s]);return t},__spreadProps=(t,e)=>__defProps(t,__getOwnPropDescs(e)),wasm4=function(t){"use strict";
/**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const e=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),i=new Map;class n{constructor(t,e){if(this._$cssResult$=!0,e!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){let t=i.get(this.cssText);return e&&void 0===t&&(i.set(this.cssText,t=new CSSStyleSheet),t.replaceSync(this.cssText)),t}toString(){return this.cssText}}const r=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,s,i)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[i+1]),t[0]);return new n(i,s)},o=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return(t=>new n("string"==typeof t?t:t+"",s))(e)})(t):t
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/;var a;const l=window.trustedTypes,c=l?l.emptyScript:"",h=window.reactiveElementPolyfillSupport,d={toAttribute(t,e){switch(e){case Boolean:t=t?c:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(i){s=null}}return s}},u=(t,e)=>e!==t&&(e==e||t==t),p={attribute:!0,type:String,converter:d,reflect:!1,hasChanged:u};class f extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(t){var e;null!==(e=this.l)&&void 0!==e||(this.l=[]),this.l.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,s)=>{const i=this._$Eh(s,e);void 0!==i&&(this._$Eu.set(i,s),t.push(i))})),t}static createProperty(t,e=p){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const s="symbol"==typeof t?Symbol():"__"+t,i=this.getPropertyDescriptor(t,s,e);void 0!==i&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){return{get(){return this[e]},set(i){const n=this[t];this[e]=i,this.requestUpdate(t,n,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||p}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Eu=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of e)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const t of s)e.unshift(o(t))}else void 0!==t&&e.push(o(t));return e}static _$Eh(t,e){const s=e.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof t?t.toLowerCase():void 0}o(){var t;this._$Ep=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Em(),this.requestUpdate(),null===(t=this.constructor.l)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,s;(null!==(e=this._$Eg)&&void 0!==e?e:this._$Eg=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var e;null===(e=this._$Eg)||void 0===e||e.splice(this._$Eg.indexOf(t)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Et.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i=s,n=this.constructor.elementStyles,e?i.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((t=>{const e=document.createElement("style"),s=window.litNonce;void 0!==s&&e.setAttribute("nonce",s),e.textContent=t.cssText,i.appendChild(e)})),s;var i,n}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$ES(t,e,s=p){var i,n;const r=this.constructor._$Eh(t,s);if(void 0!==r&&!0===s.reflect){const o=(null!==(n=null===(i=s.converter)||void 0===i?void 0:i.toAttribute)&&void 0!==n?n:d.toAttribute)(e,s.type);this._$Ei=t,null==o?this.removeAttribute(r):this.setAttribute(r,o),this._$Ei=null}}_$AK(t,e){var s,i,n;const r=this.constructor,o=r._$Eu.get(t);if(void 0!==o&&this._$Ei!==o){const t=r.getPropertyOptions(o),a=t.converter,l=null!==(n=null!==(i=null===(s=a)||void 0===s?void 0:s.fromAttribute)&&void 0!==i?i:"function"==typeof a?a:null)&&void 0!==n?n:d.fromAttribute;this._$Ei=o,this[o]=l(e,t.type),this._$Ei=null}}requestUpdate(t,e,s){let i=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||u)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===s.reflect&&this._$Ei!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):i=!1),!this.isUpdatePending&&i&&(this._$Ep=this._$E_())}async _$E_(){this.isUpdatePending=!0;try{await this._$Ep}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Et&&(this._$Et.forEach(((t,e)=>this[e]=t)),this._$Et=void 0);let e=!1;const s=this._$AL;try{e=this.shouldUpdate(s),e?(this.willUpdate(s),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(s)):this._$EU()}catch(i){throw e=!1,this._$EU(),i}e&&this._$AE(s)}willUpdate(t){}_$AE(t){var e;null===(e=this._$Eg)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$ES(e,this[e],t))),this._$EC=void 0),this._$EU()}updated(t){}firstUpdated(t){}}
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
var m;f.finalized=!0,f.elementProperties=new Map,f.elementStyles=[],f.shadowRootOptions={mode:"open"},null==h||h({ReactiveElement:f}),(null!==(a=globalThis.reactiveElementVersions)&&void 0!==a?a:globalThis.reactiveElementVersions=[]).push("1.3.0");const y=globalThis.trustedTypes,w=y?y.createPolicy("lit-html",{createHTML:t=>t}):void 0,b=`lit$${(Math.random()+"").slice(9)}$`,g="?"+b,v=`<${g}>`,A=document,_=(t="")=>A.createComment(t),x=t=>null===t||"object"!=typeof t&&"function"!=typeof t,k=Array.isArray,$=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,S=/-->/g,P=/>/g,E=/>|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,C=/'/g,U=/"/g,I=/^(?:script|style|textarea|title)$/i,M=(N=1,(t,...e)=>({_$litType$:N,strings:t,values:e})),T=Symbol.for("lit-noChange"),L=Symbol.for("lit-nothing"),O=new WeakMap,R=A.createTreeWalker(A,129,null,!1);var N;class B{constructor({strings:t,_$litType$:e},s){let i;this.parts=[];let n=0,r=0;const o=t.length-1,a=this.parts,[l,c]=((t,e)=>{const s=t.length-1,i=[];let n,r=2===e?"<svg>":"",o=$;for(let l=0;l<s;l++){const e=t[l];let s,a,c=-1,h=0;for(;h<e.length&&(o.lastIndex=h,a=o.exec(e),null!==a);)h=o.lastIndex,o===$?"!--"===a[1]?o=S:void 0!==a[1]?o=P:void 0!==a[2]?(I.test(a[2])&&(n=RegExp("<\u002F"+a[2],"g")),o=E):void 0!==a[3]&&(o=E):o===E?">"===a[0]?(o=null!=n?n:$,c=-1):void 0===a[1]?c=-2:(c=o.lastIndex-a[2].length,s=a[1],o=void 0===a[3]?E:'"'===a[3]?U:C):o===U||o===C?o=E:o===S||o===P?o=$:(o=E,n=void 0);const d=o===E&&t[l+1].startsWith("/>")?" ":"";r+=o===$?e+v:c>=0?(i.push(s),e.slice(0,c)+"$lit$"+e.slice(c)+b+d):e+b+(-2===c?(i.push(void 0),l):d)}const a=r+(t[s]||"<?>")+(2===e?"<\u002Fsvg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==w?w.createHTML(a):a,i]})(t,e);if(this.el=B.createElement(l,s),R.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(i=R.nextNode())&&a.length<o;){if(1===i.nodeType){if(i.hasAttributes()){const t=[];for(const e of i.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(b)){const s=c[r++];if(t.push(e),void 0!==s){const t=i.getAttribute(s.toLowerCase()+"$lit$").split(b),e=/([.?@])?(.*)/.exec(s);a.push({type:1,index:n,name:e[2],strings:t,ctor:"."===e[1]?z:"?"===e[1]?G:"@"===e[1]?W:j})}else a.push({type:6,index:n})}for(const e of t)i.removeAttribute(e)}if(I.test(i.tagName)){const t=i.textContent.split(b),e=t.length-1;if(e>0){i.textContent=y?y.emptyScript:"";for(let s=0;s<e;s++)i.append(t[s],_()),R.nextNode(),a.push({type:2,index:++n});i.append(t[e],_())}}}else if(8===i.nodeType)if(i.data===g)a.push({type:2,index:n});else{let t=-1;for(;-1!==(t=i.data.indexOf(b,t+1));)a.push({type:7,index:n}),t+=b.length-1}n++}}static createElement(t,e){const s=A.createElement("template");return s.innerHTML=t,s}}function D(t,e,s=t,i){var n,r,o,a;if(e===T)return e;let l=void 0!==i?null===(n=s._$Cl)||void 0===n?void 0:n[i]:s._$Cu;const c=x(e)?void 0:e._$litDirective$;return(null==l?void 0:l.constructor)!==c&&(null===(r=null==l?void 0:l._$AO)||void 0===r||r.call(l,!1),void 0===c?l=void 0:(l=new c(t),l._$AT(t,s,i)),void 0!==i?(null!==(o=(a=s)._$Cl)&&void 0!==o?o:a._$Cl=[])[i]=l:s._$Cu=l),void 0!==l&&(e=D(t,l._$AS(t,e.values),l,i)),e}class F{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:s},parts:i}=this._$AD,n=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:A).importNode(s,!0);R.currentNode=n;let r=R.nextNode(),o=0,a=0,l=i[0];for(;void 0!==l;){if(o===l.index){let e;2===l.type?e=new H(r,r.nextSibling,this,t):1===l.type?e=new l.ctor(r,l.name,l.strings,this,t):6===l.type&&(e=new q(r,this,t)),this.v.push(e),l=i[++a]}o!==(null==l?void 0:l.index)&&(r=R.nextNode(),o++)}return n}m(t){let e=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}}class H{constructor(t,e,s,i){var n;this.type=2,this._$AH=L,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=i,this._$Cg=null===(n=null==i?void 0:i.isConnected)||void 0===n||n}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=D(this,t,e),x(t)?t===L||null==t||""===t?(this._$AH!==L&&this._$AR(),this._$AH=L):t!==this._$AH&&t!==T&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):(t=>{var e;return k(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])})(t)?this.S(t):this.$(t)}A(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.A(t))}$(t){this._$AH!==L&&x(this._$AH)?this._$AA.nextSibling.data=t:this.k(A.createTextNode(t)),this._$AH=t}T(t){var e;const{values:s,_$litType$:i}=t,n="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=B.createElement(i.h,this.options)),i);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===n)this._$AH.m(s);else{const t=new F(n,this),e=t.p(this.options);t.m(s),this.k(e),this._$AH=t}}_$AC(t){let e=O.get(t.strings);return void 0===e&&O.set(t.strings,e=new B(t)),e}S(t){k(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,i=0;for(const n of t)i===e.length?e.push(s=new H(this.A(_()),this.A(_()),this,this.options)):s=e[i],s._$AI(n),i++;i<e.length&&(this._$AR(s&&s._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,e){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cg=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class j{constructor(t,e,s,i,n){this.type=1,this._$AH=L,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=n,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=L}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,s,i){const n=this.strings;let r=!1;if(void 0===n)t=D(this,t,e,0),r=!x(t)||t!==this._$AH&&t!==T,r&&(this._$AH=t);else{const i=t;let o,a;for(t=n[0],o=0;o<n.length-1;o++)a=D(this,i[s+o],e,o),a===T&&(a=this._$AH[o]),r||(r=!x(a)||a!==this._$AH[o]),a===L?t=L:t!==L&&(t+=(null!=a?a:"")+n[o+1]),this._$AH[o]=a}r&&!i&&this.C(t)}C(t){t===L?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class z extends j{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===L?void 0:t}}const V=y?y.emptyScript:"";class G extends j{constructor(){super(...arguments),this.type=4}C(t){t&&t!==L?this.element.setAttribute(this.name,V):this.element.removeAttribute(this.name)}}class W extends j{constructor(t,e,s,i,n){super(t,e,s,i,n),this.type=5}_$AI(t,e=this){var s;if((t=null!==(s=D(this,t,e,0))&&void 0!==s?s:L)===T)return;const i=this._$AH,n=t===L&&i!==L||t.capture!==i.capture||t.once!==i.once||t.passive!==i.passive,r=t!==L&&(i===L||n);n&&this.element.removeEventListener(this.name,this,i),r&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,s;"function"==typeof this._$AH?this._$AH.call(null!==(s=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class q{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){D(this,t)}}const J=window.litHtmlPolyfillSupport;
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
var Y,K;null==J||J(B,H),(null!==(m=globalThis.litHtmlVersions)&&void 0!==m?m:globalThis.litHtmlVersions=[]).push("2.2.0");class X extends f{constructor(){super(...arguments),this.renderOptions={host:this},this._$Dt=void 0}createRenderRoot(){var t,e;const s=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=s.firstChild),s}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Dt=((t,e,s)=>{var i,n;const r=null!==(i=null==s?void 0:s.renderBefore)&&void 0!==i?i:e;let o=r._$litPart$;if(void 0===o){const t=null!==(n=null==s?void 0:s.renderBefore)&&void 0!==n?n:null;r._$litPart$=o=new H(e.insertBefore(_(),t),t,void 0,null!=s?s:{})}return o._$AI(t),o})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!1)}render(){return T}}X.finalized=!0,X._$litElement$=!0,null===(Y=globalThis.litElementHydrateSupport)||void 0===Y||Y.call(globalThis,{LitElement:X});const Z=globalThis.litElementPolyfillSupport;null==Z||Z({LitElement:X}),(null!==(K=globalThis.litElementVersions)&&void 0!==K?K:globalThis.litElementVersions=[]).push("3.2.0");
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const Q=t=>e=>{return"function"==typeof e?(s=t,i=e,window.customElements.define(s,i),i):((t,e)=>{const{kind:s,elements:i}=e;return{kind:s,elements:i,finisher(e){window.customElements.define(t,e)}}})(t,e);
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/var s,i},tt=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?__spreadProps(__spreadValues({},e),{finisher(s){s.createProperty(e.key,t)}}):{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(s){s.createProperty(e.key,t)}};
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function et(t){return e=__spreadProps(__spreadValues({},t),{state:!0}),(t,s)=>{return void 0!==s?(i=e,n=s,void t.constructor.createProperty(n,i)):tt(e,t);var i,n};var e}
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function st(t,e){return(({finisher:t,descriptor:e})=>(s,i)=>{var n;if(void 0===i){const i=null!==(n=s.originalKey)&&void 0!==n?n:s.key,r=null!=e?{kind:"method",placement:"prototype",key:i,descriptor:e(s.key)}:__spreadProps(__spreadValues({},s),{key:i});return null!=t&&(r.finisher=function(e){t(e,i)}),r}{const n=s.constructor;void 0!==e&&Object.defineProperty(s,i,e(i)),null==t||t(n,i)}})({descriptor:s=>{const i={get(){var e,s;return null!==(s=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==s?s:null},enumerable:!0,configurable:!0};if(e){const e="symbol"==typeof s?Symbol():"__"+s;i.get=function(){var s,i;return void 0===this[e]&&(this[e]=null!==(i=null===(s=this.renderRoot)||void 0===s?void 0:s.querySelector(t))&&void 0!==i?i:null),this[e]}}return i}})}
/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/var it;null===(it=window.HTMLSlotElement)||void 0===it||it.prototype.assignedElements;const nt=160,rt=160,ot=1024,at=[14743759,8831084,3172432,464929],lt=16,ct=32,ht=64,dt=128,ut=Uint8Array.of(255,255,255,255,255,255,255,255,199,199,199,207,207,255,207,255,147,147,147,255,255,255,255,255,147,1,147,147,147,1,147,255,239,131,47,131,233,3,239,255,157,91,55,239,217,181,115,255,143,39,39,143,37,51,129,255,207,207,207,255,255,255,255,255,243,231,207,207,207,231,243,255,159,207,231,231,231,207,159,255,255,147,199,1,199,147,255,255,255,231,231,129,231,231,255,255,255,255,255,255,255,207,207,159,255,255,255,129,255,255,255,255,255,255,255,255,255,207,207,255,253,251,247,239,223,191,127,255,199,179,57,57,57,155,199,255,231,199,231,231,231,231,129,255,131,57,241,195,135,31,1,255,129,243,231,195,249,57,131,255,227,195,147,51,1,243,243,255,3,63,3,249,249,57,131,255,195,159,63,3,57,57,131,255,1,57,243,231,207,207,207,255,135,59,27,135,97,121,131,255,131,57,57,129,249,243,135,255,255,207,207,255,207,207,255,255,255,207,207,255,207,207,159,255,243,231,207,159,207,231,243,255,255,255,1,255,1,255,255,255,159,207,231,243,231,207,159,255,131,1,57,243,199,255,199,255,131,125,69,85,65,127,131,255,199,147,57,57,1,57,57,255,3,57,57,3,57,57,3,255,195,153,63,63,63,153,195,255,7,51,57,57,57,51,7,255,1,63,63,3,63,63,1,255,1,63,63,3,63,63,63,255,193,159,63,49,57,153,193,255,57,57,57,1,57,57,57,255,129,231,231,231,231,231,129,255,249,249,249,249,249,57,131,255,57,51,39,15,7,35,49,255,159,159,159,159,159,159,129,255,57,17,1,1,41,57,57,255,57,25,9,1,33,49,57,255,131,57,57,57,57,57,131,255,3,57,57,57,3,63,63,255,131,57,57,57,33,51,133,255,3,57,57,49,7,35,49,255,135,51,63,131,249,57,131,255,129,231,231,231,231,231,231,255,57,57,57,57,57,57,131,255,57,57,57,17,131,199,239,255,57,57,41,1,1,17,57,255,57,17,131,199,131,17,57,255,153,153,153,195,231,231,231,255,1,241,227,199,143,31,1,255,195,207,207,207,207,207,195,255,127,191,223,239,247,251,253,255,135,231,231,231,231,231,135,255,199,147,255,255,255,255,255,255,255,255,255,255,255,255,255,1,239,247,255,255,255,255,255,255,255,255,131,249,129,57,129,255,63,63,3,57,57,57,131,255,255,255,129,63,63,63,129,255,249,249,129,57,57,57,129,255,255,255,131,57,1,63,131,255,241,231,129,231,231,231,231,255,255,255,129,57,57,129,249,131,63,63,3,57,57,57,57,255,231,255,199,231,231,231,129,255,243,255,227,243,243,243,243,135,63,63,49,3,7,35,49,255,199,231,231,231,231,231,129,255,255,255,3,73,73,73,73,255,255,255,3,57,57,57,57,255,255,255,131,57,57,57,131,255,255,255,3,57,57,3,63,63,255,255,129,57,57,129,249,249,255,255,145,143,159,159,159,255,255,255,131,63,131,249,3,255,231,231,129,231,231,231,231,255,255,255,57,57,57,57,129,255,255,255,153,153,153,195,231,255,255,255,73,73,73,73,129,255,255,255,57,1,199,1,57,255,255,255,57,57,57,129,249,131,255,255,1,227,199,143,1,255,243,231,231,207,231,231,243,255,231,231,231,231,231,231,231,255,159,207,207,231,207,207,159,255,255,255,143,69,227,255,255,255,255,255,255,255,255,147,147,255,131,41,41,17,41,41,131,255,131,57,9,17,33,57,131,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,131,17,33,125,33,17,131,255,131,17,9,125,9,17,131,255,131,17,57,85,17,17,131,255,131,17,17,85,57,17,131,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,231,255,231,231,199,199,199,255,239,131,41,47,41,131,239,255,195,153,159,3,159,159,1,255,255,165,219,219,219,165,255,255,153,153,195,129,231,129,231,255,231,231,231,255,231,231,231,255,195,153,135,219,225,153,195,255,147,255,255,255,255,255,255,255,195,189,102,94,94,102,189,195,135,195,147,195,255,255,255,255,255,201,147,39,147,201,255,255,255,255,129,249,249,255,255,255,255,255,255,255,255,255,255,255,195,189,70,90,70,90,189,195,131,255,255,255,255,255,255,255,239,215,239,255,255,255,255,255,231,231,129,231,231,255,129,255,199,243,231,195,255,255,255,255,195,231,243,199,255,255,255,255,247,239,255,255,255,255,255,255,255,255,51,51,51,51,9,63,193,149,181,149,193,245,245,255,255,255,255,207,207,255,255,255,255,255,255,255,255,255,247,207,231,199,231,195,255,255,255,255,199,147,147,199,255,255,255,255,255,39,147,201,147,39,255,255,189,59,183,173,217,177,125,255,189,59,183,169,221,187,113,255,29,187,215,45,217,177,125,255,199,255,199,159,57,1,131,255,223,239,199,147,57,1,57,255,247,239,199,147,57,1,57,255,199,147,199,147,57,1,57,255,203,167,199,147,57,1,57,255,147,255,199,147,57,1,57,255,239,215,199,147,57,1,57,255,193,135,39,33,7,39,33,255,195,153,63,63,153,195,247,207,223,239,1,63,3,63,1,255,247,239,1,63,3,63,1,255,199,147,1,63,3,63,1,255,147,255,1,63,3,63,1,255,239,247,129,231,231,231,129,255,247,239,129,231,231,231,129,255,231,195,129,231,231,231,129,255,153,255,129,231,231,231,129,255,135,147,153,9,153,147,135,255,203,167,25,9,1,33,49,255,223,239,131,57,57,57,131,255,247,239,131,57,57,57,131,255,199,147,131,57,57,57,131,255,203,167,131,57,57,57,131,255,147,255,131,57,57,57,131,255,255,187,215,239,215,187,255,255,131,57,49,41,25,57,131,255,223,239,57,57,57,57,131,255,247,239,57,57,57,57,131,255,199,147,255,57,57,57,131,255,147,255,57,57,57,57,131,255,247,239,153,153,195,231,231,255,63,3,57,57,57,3,63,255,195,153,153,147,153,137,147,255,223,239,131,249,129,57,129,255,247,239,131,249,129,57,129,255,199,147,131,249,129,57,129,255,203,167,131,249,129,57,129,255,147,255,131,249,129,57,129,255,239,215,131,249,129,57,129,255,255,255,131,233,129,47,131,255,255,255,129,63,63,129,247,207,223,239,131,57,1,63,131,255,247,239,131,57,1,63,131,255,199,147,131,57,1,63,131,255,147,255,131,57,1,63,131,255,223,239,255,199,231,231,129,255,247,239,255,199,231,231,129,255,199,147,255,199,231,231,129,255,147,255,199,231,231,231,129,255,155,135,103,131,57,57,131,255,203,167,3,57,57,57,57,255,223,239,131,57,57,57,131,255,247,239,131,57,57,57,131,255,199,147,131,57,57,57,131,255,203,167,131,57,57,57,131,255,147,255,131,57,57,57,131,255,255,231,255,129,255,231,255,255,255,255,131,49,41,25,131,255,223,239,57,57,57,57,129,255,247,239,57,57,57,57,129,255,199,147,255,57,57,57,129,255,147,255,57,57,57,57,129,255,247,239,57,57,57,129,249,131,63,63,3,57,57,3,63,63,147,255,57,57,57,129,249,131);function pt(t){const e=new URL(location.href),s=e.searchParams.get(t);if(null!=s)return s;return new URL(e.hash.substring(1),e.origin).searchParams.get(t)}function ft(){null==document.fullscreenElement&&document.body.requestFullscreen({navigationUI:"hide"})}const mt="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#".split(""),yt=[0,68,0,84,83,82,72,0,75,76,70,65,0,63,62,69,0,1,2,3,4,5,6,7,8,9,64,0,73,66,74,71,81,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,77,0,78,67,0,0,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,79,0,80,0,0];function wt(t,e){let s=0,i=0,n=0;const r=t.length,o=e.length;if(t.length%5==0)for(;i<r;){const r=t.charCodeAt(i++)-32;if(r<0||r>=yt.length)return s;if(n=85*n+yt[r],i%5==0){let t=16777216;for(;t>=1;){if(s>=o)return s;e[s++]=n/t%256,t/=256}n=0}}return s}class bt{constructor(){this.memory=new ArrayBuffer(65536),this.diskBuffer=new ArrayBuffer(ot),this.diskSize=0}read(t){new Uint8Array(this.memory).set(new Uint8Array(t.memory.buffer)),this.diskSize=t.diskSize,new Uint8Array(this.diskBuffer).set(new Uint8Array(t.diskBuffer,0,t.diskSize))}write(t){new Uint8Array(t.memory.buffer).set(new Uint8Array(this.memory)),t.diskSize=this.diskSize,new Uint8Array(t.diskBuffer).set(new Uint8Array(this.diskBuffer,0,this.diskSize))}toBytes(t){t||(t=new Uint8Array(65540+this.diskSize)),t.set(new Uint8Array(this.memory),0);return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint32(65536,this.diskSize),t.set(new Uint8Array(this.diskBuffer,0,this.diskSize),65540),t}fromBytes(t){new Uint8Array(this.memory).set(t.subarray(0,65536));const e=new DataView(t.buffer,t.byteOffset,t.byteLength);this.diskSize=e.getUint32(65536);new Uint8Array(this.diskBuffer).set(t.subarray(65540,65540+this.diskSize))}}const gt=20;class vt{constructor(){this.frame=-1,this.state=new bt,this.inputs=new Array(4),this.predicted=new Array(4);for(let t=0;t<4;++t)this.inputs[t]=0,this.predicted[t]=!0}}class At{constructor(){this.futureInputs=new Map}}class _t{constructor(t,e){this.currentFrame=t,this.runtime=e,this.rollbackIdx=gt,this.history=new Array(gt);for(let s=0;s<gt;++s)this.history[s]=new vt;this.players=new Array(4);for(let s=0;s<4;++s)this.players[s]=new At}addInputs(t,e,s){const i=this.players[t];for(const n of s){if(e>=this.currentFrame)i.futureInputs.has(e)||i.futureInputs.set(e,n);else for(let s=0,i=gt;s<i;++s){const i=this.history[s];if(i.frame==e){i.predicted[t]&&(i.predicted[t]=!1,i.inputs[t]!=n&&(i.inputs[t]=n,this.rollbackIdx=Math.min(s,this.rollbackIdx)));break}}++e}}update(){if(this.rollbackIdx<gt){for(let e=this.rollbackIdx+1;e<gt;++e){const t=this.history[e];for(let s=0;s<4;++s)if(t.predicted[s]){const i=this.history[e-1];t.inputs[s]=i.inputs[s]}}let t=!0;for(;this.rollbackIdx<gt;){const e=this.history[this.rollbackIdx++];t?(t=!1,e.state.write(this.runtime)):e.state.read(this.runtime);for(let t=0;t<4;++t)this.runtime.setGamepad(t,e.inputs[t]);this.runtime.update()}}const t=this.history[19],e=this.history.shift();this.history.push(e),e.frame=this.currentFrame,e.state.read(this.runtime);for(let s=0;s<4;++s){const i=this.players[s];let n=i.futureInputs.get(this.currentFrame);null!=n?(e.predicted[s]=!1,i.futureInputs.delete(this.currentFrame)):(e.predicted[s]=!0,n=t.inputs[s]),e.inputs[s]=n,this.runtime.setGamepad(s,n)}this.runtime.update(),++this.currentFrame}}class xt{constructor(t,e){this.bufferedOutput=[],this.socket=new WebSocket(`wss://aduros.com/webrtc-signal-server/?peerId=${encodeURIComponent(t)}`),this.socket.addEventListener("message",(t=>{const{source:s,message:i}=JSON.parse(t.data);e(s,i)})),this.socket.addEventListener("open",(t=>{for(const e of this.bufferedOutput)this.socket.send(e);this.bufferedOutput.length=0}))}send(t,e){const s=JSON.stringify({target:t,message:e});1==this.socket.readyState?this.socket.send(s):this.bufferedOutput.push(s)}close(){this.socket.close()}}class kt{constructor(t){this.connections=new Map,this.localPeerId=function(){let t="";for(let e=0;e<22;++e)t+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".charAt(62*Math.random()>>>0);return t}(),this.signalClient=new xt(this.localPeerId,(async(e,s)=>{switch(s.type){case"OFFER":if(this.connections.has(e))throw new Error("Received offer for a connection we already initiated");{const i=this.createConnection(e);await i.setRemoteDescription(s.description),await i.setLocalDescription(await i.createAnswer()),t(i,e),this.signalClient.send(e,{type:"ANSWER",description:i.localDescription.toJSON()})}break;case"ANSWER":{const t=this.connections.get(e);t&&await t.setRemoteDescription(s.description)}break;case"CANDIDATE":{const t=this.connections.get(e);t&&await t.addIceCandidate(new RTCIceCandidate(s.candidate))}break;case"ABORT":{const t=this.connections.get(e);t&&t.close()}}}))}createConnection(t){const e=new RTCPeerConnection({iceServers:[{urls:"stun:openrelay.metered.ca:80"},{urls:"turn:openrelay.metered.ca:80",username:"openrelayproject",credential:"openrelayproject"},{urls:"turn:openrelay.metered.ca:443",username:"openrelayproject",credential:"openrelayproject"},{urls:"turn:openrelay.metered.ca:443?transport=tcp",username:"openrelayproject",credential:"openrelayproject"},{urls:"stun:stun.l.google.com:19302"}]});return this.connections.set(t,e),e.addEventListener("negotiationneeded",(async()=>{await e.setLocalDescription(await e.createOffer()),this.signalClient.send(t,{type:"OFFER",description:e.localDescription.toJSON()})})),e.addEventListener("icecandidate",(({candidate:e})=>{e&&this.signalClient.send(t,{type:"CANDIDATE",candidate:e.toJSON()})})),e.addEventListener("connectionstatechange",(()=>{const s=e.connectionState;"connected"!=s&&"failed"!=s||this.connections.delete(t)})),e}connect(t){return this.connections.get(t)||this.createConnection(t)}close(){this.signalClient.close();for(const[t,e]of this.connections)e.close()}}const $t=16384;class St{constructor(t){this.chunks=[],this.size=0,t.addEventListener("message",(t=>{if(t.data instanceof ArrayBuffer){const e=new Uint8Array(t.data);this.size+=e.byteLength,this.chunks.push(e)}}))}read(){const t=new Uint8Array(this.size);let e=0;for(const s of this.chunks)t.set(s,e),e+=s.byteLength;return this.chunks.length=0,this.size=0,t}}class Pt{constructor(t){this.channel=t,this.size=0}write(t){this.buffer||(this.buffer=new Uint8Array($t));let e=this.size,s=0;for(;s<t.length;){const i=t.subarray(s,s+$t-e);this.buffer.set(i,e),s+=i.length,e+=i.length,e>=$t&&(e-=$t,this.channel.send(this.buffer))}this.size=e}flush(){this.buffer&&this.size>0&&this.channel.send(this.buffer.subarray(0,this.size)),this.buffer=void 0}}class Et{constructor(t,e=0){this.buffer=t,this.position=e}readBit(){const t=!!(this.buffer[this.position/8>>>0]&1<<(7&this.position));return++this.position,t}readBits(t){let e=0;for(let s=0;s<t;++s)e|=+this.readBit()<<s;return e}}class Ct{constructor(t,e=0){this.buffer=t,this.position=e}write1(){this.buffer[this.position/8>>>0]|=1<<(7&this.position),++this.position}write0(){this.buffer[this.position/8>>>0]&=~(1<<(7&this.position)),++this.position}writeBits(t,e){for(let s=0;s<e;++s)t&1<<s?this.write1():this.write0()}}class Ut{constructor(t=.125){this.discount=t,this.average=0,this.firstUpdate=!0}update(t){if(this.firstUpdate)this.firstUpdate=!1,this.average=t;else{const e=this.discount;this.average=(1-e)*this.average+e*t}}}const It=8+Math.ceil(82.5),Mt=new ArrayBuffer(It);class Tt{constructor(t,e,s,i){this.peerId=t,this.connection=e,this.reliableChannel=s,this.unreliableChannel=i,this.playerIdx=-1,this.frame=0,this.nextNeededFrame=0,this.outboundFrame=0,this.outboundInputs=[],this.ping=new Ut,this.drift=new Ut,this.chunkReader=new St(s),this.chunkWriter=new Pt(s)}addOutboundInput(t,e){if(0==this.outboundFrame&&(this.outboundFrame=t),t<this.outboundFrame){for(let s=this.outboundFrame-t;s>0;--s)this.outboundInputs.unshift(e);this.outboundFrame=t}else{const s=t-this.outboundFrame;if(s>=this.outboundInputs.length){for(let t=this.outboundInputs.length;t<s;++t)this.outboundInputs[t]=t>0?this.outboundInputs[t-1]:0;this.outboundInputs[s]=e}}}sendMessage(t){this.reliableChannel.send(JSON.stringify(t))}sendUnreliableBuffer(t){this.unreliableChannel.send(t)}sendPingRequest(){const t=new DataView(Mt);t.setUint8(0,2),t.setUint32(1,performance.now()>>>0),this.sendUnreliableBuffer(new Uint8Array(Mt,0,5))}sendPingReply(t){const e=new DataView(Mt);e.setUint8(0,3),e.setUint32(1,t),this.sendUnreliableBuffer(new Uint8Array(Mt,0,5))}sendTick(t){const e=new DataView(Mt);e.setUint8(0,1),e.setUint32(1,t),e.setInt8(5,0==this.nextNeededFrame?-127:this.nextNeededFrame-t),e.setInt8(6,this.outboundFrame-t),e.setUint8(7,this.outboundInputs.length);const s=new Ct(new Uint8Array(Mt,8));let i=0;for(const r of this.outboundInputs){const t=i^r;i=r;for(let e=0;e<8;++e)t&1<<e&&(s.write1(),s.writeBits(e,3));s.write0()}const n=8+Math.ceil(s.position/8);this.sendUnreliableBuffer(new Uint8Array(Mt,0,n))}close(){this.reliableChannel.close(),this.unreliableChannel.close(),this.connection.close()}}class Lt{constructor(t){this.runtime=t,this.remotePlayers=new Map,this.localPlayerIdx=-1,this.updateCount=0,this.peerMgr=new kt((async(t,e)=>{const s=Array.from(this.remotePlayers.keys()),i=await this.createRemotePlayer(t,e);i.sendMessage({type:"WELCOME",otherPeers:s}),this.localPlayerIdx>=0&&i.sendMessage({type:"PLAYER_INFO",playerIdx:this.localPlayerIdx})}))}host(){this.rollbackMgr=new _t(1,this.runtime),this.localPlayerIdx=0}join(t){const e=this.peerMgr.connect(t);this.createRemotePlayer(e,t).then((t=>{t.sendMessage({type:"JOIN_REQUEST"})}),(t=>{this.runtime.blueScreen(new Error("Failed to connect\nto peer. They may\nbe offline?"))}))}getInviteLink(){return`https://wasm4.org/netplay/#${this.peerMgr.localPeerId}`}close(){for(const t of this.remotePlayers.values())t.close();this.peerMgr.close()}async createRemotePlayer(t,e){function s(e){return new Promise(((s,i)=>{const n=t.createDataChannel("WASM-4",e);n.binaryType="arraybuffer",n.onopen=()=>{s(n)},n.onerror=i}))}const[i,n]=await Promise.all([s({negotiated:!0,id:0}),s({negotiated:!0,id:1,ordered:!1,maxRetransmits:0})]),r=new Tt(e,t,i,n);this.remotePlayers.set(e,r);const o=()=>{this.remotePlayers.has(e)&&(this.remotePlayers.delete(e),this.onleave&&r.playerIdx>=0&&this.onleave(r.playerIdx))};return t.addEventListener("connectionstatechange",(()=>{"disconnected"==t.connectionState&&o()})),i.addEventListener("close",o),n.addEventListener("close",o),i.addEventListener("message",(async t=>{if("string"!=typeof t.data)return;const e=JSON.parse(t.data);switch(e.type){case"WELCOME":for(const t of e.otherPeers)if(!this.remotePlayers.has(t)){const e=this.peerMgr.connect(t),s=await this.createRemotePlayer(e,t);this.localPlayerIdx>=0&&s.sendMessage({type:"PLAYER_INFO",playerIdx:this.localPlayerIdx})}break;case"JOIN_REQUEST":{const t=this.nextPlayerIdx();if(t>=4)r.sendMessage({type:"JOIN_REJECT"}),r.close();else{r.playerIdx=t,r.chunkWriter.write(this.runtime.wasmBuffer);const e=new bt;e.read(this.runtime),r.chunkWriter.write(e.toBytes()),r.chunkWriter.flush(),r.sendMessage({type:"JOIN_REPLY",yourPlayerIdx:r.playerIdx,frame:this.rollbackMgr.currentFrame,stateOffset:this.runtime.wasmBuffer.byteLength}),this.onjoin&&this.onjoin(r.playerIdx)}}break;case"JOIN_REPLY":{for(const e of this.remotePlayers.values())e!=r&&e.sendMessage({type:"PLAYER_INFO",playerIdx:this.localPlayerIdx});const t=r.chunkReader.read(),s=t.subarray(0,e.stateOffset),i=t.subarray(e.stateOffset);await this.runtime.load(s,!1);const n=new bt;n.fromBytes(i),n.write(this.runtime),this.rollbackMgr=new _t(e.frame,this.runtime),this.localPlayerIdx=e.yourPlayerIdx,this.onstart&&this.onstart(this.localPlayerIdx)}break;case"JOIN_REJECT":this.runtime.blueScreen(new Error("Connected, but the\ngame is already\nfull!")),this.close();break;case"PLAYER_INFO":-1==r.playerIdx&&(r.playerIdx=e.playerIdx,this.onjoin&&this.onjoin(r.playerIdx))}})),n.addEventListener("message",(async t=>{const e=t.data,s=new DataView(e);switch(s.getUint8(0)){case 1:if(this.rollbackMgr&&r.playerIdx>=0){const t=s.getUint32(1);if(t>r.frame){const i=s.getInt8(5)+t,n=s.getInt8(6)+t,o=s.getUint8(7),a=new Et(new Uint8Array(e,8)),l=new Array(o);let c=0;for(let t=0;t<o;++t){for(;a.readBit();){c^=1<<a.readBits(3)}l[t]=c}if(r.frame=t,r.nextNeededFrame=n+l.length,0==r.outboundFrame)r.outboundFrame=i;else if(i>r.outboundFrame){const t=i-r.outboundFrame;r.outboundFrame=i,r.outboundInputs.splice(0,t)}const h=t+.5*r.ping.average*60/1e3,d=this.rollbackMgr.currentFrame-h;r.drift.update(d),this.rollbackMgr.addInputs(r.playerIdx,n,l)}}break;case 2:{const t=s.getUint32(1);r.sendPingReply(t)}break;case 3:{const t=s.getUint32(1),e=(performance.now()>>>0)-t;r.ping.update(e)}}})),r}nextPlayerIdx(){t:for(let t=0;t<4;++t)if(this.localPlayerIdx!=t){for(const e of this.remotePlayers.values())if(e.playerIdx==t)continue t;return t}return-1}update(t){if(!this.rollbackMgr)return!1;const e=0==(7&this.updateCount),s=0==(31&this.updateCount);++this.updateCount;const i=this.rollbackMgr.currentFrame,n=i+2;this.rollbackMgr.addInputs(this.localPlayerIdx,n,[t]);let r=!1;for(const o of this.remotePlayers.values())o.addOutboundInput(n,t),o.sendTick(i),(o.nextNeededFrame<i-gt||o.outboundInputs.length>=20)&&(r=!0),s&&o.sendPingRequest();if(e){let t=0;for(const e of this.remotePlayers.values())t=Math.max(e.drift.average,t);t>=1&&(r=!0)}return r||this.rollbackMgr.update(),!r}getSummary(){const t=[{playerIdx:this.localPlayerIdx,ping:-1}];for(const e of this.remotePlayers.values())t.push({playerIdx:e.playerIdx,ping:e.ping.average});return t.sort(((t,e)=>t.playerIdx-e.playerIdx)),t}}var Ot='(()=>{"use strict";var p=44100,q=.15,A=.25,V=class{constructor(){this.freq1=0;this.freq2=0;this.startTime=0;this.attackTime=0;this.decayTime=0;this.sustainTime=0;this.releaseTime=0;this.sustainVolume=0;this.peakVolume=0;this.phase=0;this.pan=0;this.pulseDutyCycle=0;this.noiseSeed=1;this.noiseLastRandom=0}};function M(n,e,t){return n+t*(e-n)}function g(n,e){if(n<e){let t=n/e;return t+t-t*t}else if(n>1-e){let t=(n-(1-e))/e;return 1-(t+t-t*t)}else return 1}var C=class extends AudioWorkletProcessor{constructor(){super();this.time=0,this.channels=new Array(4);for(let e=0;e<4;++e)this.channels[e]=new V;this.port!=null&&(this.port.onmessage=e=>{this.tone(...e.data)})}ramp(e,t,o,T){let m=(this.time-o)/(T-o);return M(e,t,m)}getCurrentFrequency(e){return e.freq2>0?this.ramp(e.freq1,e.freq2,e.startTime,e.releaseTime):e.freq1}getCurrentVolume(e){let t=this.time;return t>=e.sustainTime?this.ramp(e.sustainVolume,0,e.sustainTime,e.releaseTime):t>=e.decayTime?e.sustainVolume:t>=e.attackTime?this.ramp(e.peakVolume,e.sustainVolume,e.attackTime,e.decayTime):this.ramp(0,e.peakVolume,e.startTime,e.attackTime)}tone(e,t,o,T){let m=e&65535,x=e>>16&65535,d=t&255,y=t>>8&255,l=t>>16&255,r=t>>24&255,b=Math.min(o&255,100),f=Math.min(o>>8&255,100),a=T&3,i=T>>2&3,u=T>>4&3,s=this.channels[a];this.time>s.releaseTime&&(s.phase=a==2?.25:0),s.freq1=m,s.freq2=x,s.startTime=this.time,s.attackTime=s.startTime+(p*r/60>>>0),s.decayTime=s.attackTime+(p*l/60>>>0),s.sustainTime=s.decayTime+(p*d/60>>>0),s.releaseTime=s.sustainTime+(p*y/60>>>0),s.pan=u;let c=a==2?A:q;if(s.sustainVolume=c*b/100,s.peakVolume=f?c*f/100:c,a==0||a==1)switch(i){case 0:s.pulseDutyCycle=.125;break;case 1:case 3:default:s.pulseDutyCycle=.25;break;case 2:s.pulseDutyCycle=.5;break}else a==2&&y==0&&(s.releaseTime+=p/1e3>>>0)}process(e,[[t,o]],T){for(let m=0,x=t.length;m<x;++m,++this.time){let d=0,y=0;for(let l=0;l<4;++l){let r=this.channels[l];if(this.time<r.releaseTime){let b=this.getCurrentFrequency(r),f=this.getCurrentVolume(r),a;if(l==3){for(r.phase+=b*b/(1e6/44100*p);r.phase>0;){r.phase--;let i=r.noiseSeed;i^=i>>7,i^=i<<9,i^=i>>13,r.noiseSeed=i,r.noiseLastRandom=((i&1)<<1)-1}a=f*r.noiseLastRandom}else{let i=b/p,u=r.phase+i;if(u>=1&&u--,r.phase=u,l==2)a=f*(2*Math.abs(2*r.phase-1)-1);else{let s,c,k,h=r.pulseDutyCycle;u<h?(s=u/h,c=i/h,k=f):(s=(u-h)/(1-h),c=i/(1-h),k=-f),a=k*g(s,c)}}r.pan!=1&&(y+=a),r.pan!=2&&(d+=a)}}t[m]=d,o[m]=y}return!0}};registerProcessor("wasm4-apu",C);})();\n';class Rt{constructor(){this.audioCtx=new(window.AudioContext||window.webkitAudioContext)({sampleRate:44100})}async init(){const t=this.audioCtx,e=new Blob([Ot],{type:"application/javascript"}),s=URL.createObjectURL(e);try{await t.audioWorklet.addModule(s);const e=new AudioWorkletNode(t,"wasm4-apu",{outputChannelCount:[2]});this.processorPort=e.port,e.connect(t.destination)}catch(i){let e;console.warn("AudioWorklet loading failed, falling back to slow audio",i);const s=(t,s)=>{e=new s};new Function("registerProcessor","AudioWorkletProcessor",Ot)(s,class{}),this.processor=e;const n=t.createScriptProcessor(1024,0,2);n.onaudioprocess=t=>{const s=t.outputBuffer.getChannelData(0),i=t.outputBuffer.getChannelData(1);e.process(null,[[s,i]])},n.connect(t.destination)}}tone(t,e,s,i){const n=this.processorPort;null!=n?n.postMessage([t,e,s,i]):this.processor.tone(t,e,s,i)}unlockAudio(){const t=this.audioCtx;"suspended"==t.state&&t.resume()}pauseAudio(){const t=this.audioCtx;"running"==t.state&&t.suspend()}}class Nt{constructor(t){this.bytes=new Uint8Array(t,160,6400),this.drawColors=new Uint16Array(t,20,1)}clear(){this.bytes.fill(0)}drawPoint(t,e,s){const i=nt*s+e>>>2,n=(3&e)<<1,r=3<<n;this.bytes[i]=t<<n|this.bytes[i]&~r}drawPointUnclipped(t,e,s){e>=0&&e<nt&&s>=0&&s<rt&&this.drawPoint(t,e,s)}drawHLineFast(t,e,s,i){const n=i-(3&i),r=Math.min(e+3&-4,n);if(n-r>3){for(let n=e;n<r;n++)this.drawPoint(t,n,s);const i=nt*s+r>>>2,o=nt*s+n>>>2,a=85*t;this.bytes.fill(a,i,o),e=n}for(let o=e;o<i;o++)this.drawPoint(t,o,s)}drawHLineUnclipped(t,e,s,i){s>=0&&s<rt&&(e<0&&(e=0),i>nt&&(i=nt),e<i&&this.drawHLineFast(t,e,s,i))}drawHLine(t,e,s){const i=15&this.drawColors[0];if(0==i)return;const n=i-1&3;this.drawHLineUnclipped(n,t,e,t+s)}drawVLine(t,e,s){if(e+s<=0||t<0||t>=nt)return;const i=15&this.drawColors[0];if(0==i)return;const n=Math.max(0,e),r=Math.min(rt,e+s),o=i-1&3;for(let a=n;a<r;a++)this.drawPoint(o,t,a)}drawRect(t,e,s,i){const n=Math.max(0,t),r=Math.max(0,e),o=t+s,a=e+i,l=Math.min(o,nt),c=Math.min(a,rt),h=this.drawColors[0],d=15&h,u=h>>>4&15;if(0!==d){const t=d-1&3;for(let e=r;e<c;++e)this.drawHLineFast(t,n,e,l)}if(0!==u){const s=u-1&3;if(t>=0&&t<nt)for(let e=r;e<c;++e)this.drawPoint(s,t,e);if(o>=0&&o<=nt)for(let t=r;t<c;++t)this.drawPoint(s,o-1,t);e>=0&&e<rt&&this.drawHLineFast(s,n,e,l),a>=0&&a<=rt&&this.drawHLineFast(s,n,a-1,l)}}drawOval(t,e,s,i){const n=this.drawColors[0],r=15&n,o=n>>>4&15;if(15===o)return;const a=o-1&3,l=r-1&3,c=s>>>1,h=i>>>1;if(c<=0)return;if(h<=0)return;const d=t+c,u=e+h,p=c*c*2,f=h*h*2;{let t=c,e=0,s=(1-2*c)*h*h,i=c*c,n=f*c,o=0,m=0;for(;n>=o;){if(this.drawPointUnclipped(a,d+t,u+e),this.drawPointUnclipped(a,d+t,u-e),this.drawPointUnclipped(a,d-t,u+e),this.drawPointUnclipped(a,d-t,u-e),0!==r){const s=d-t+1,i=d+t;this.drawHLineUnclipped(l,s,u+e,i),this.drawHLineUnclipped(l,s,u-e,i)}e++,o+=p,m+=i,i+=p,2*m+s>0&&(t--,n-=f,m+=s,s+=f)}}{let t=0,e=h,s=h*h,i=(1-2*h)*c*c,n=0,o=p*h,m=0,y=0;for(;o>=n;)if(this.drawPointUnclipped(a,d+t,u+e),this.drawPointUnclipped(a,d+t,u-e),this.drawPointUnclipped(a,d-t,u+e),this.drawPointUnclipped(a,d-t,u-e),t++,n+=f,m+=s,s+=f,y++,2*m+i>0){if(0!==r){const s=t-y-1,i=d-s,n=d+s+1;this.drawHLineUnclipped(l,i,u+e,n),this.drawHLineUnclipped(l,i,u-e,n)}e--,o-=p,m+=i,i+=p,y=0}}}drawLine(t,e,s,i){const n=15&this.drawColors[0];if(0===n)return;const r=n-1&3;if(e>i){let n=t;t=s,s=n,n=e,e=i,i=n}const o=Math.abs(s-t),a=t<s?1:-1,l=i-e;let c,h=(o>l?o:-l)/2;for(;this.drawPointUnclipped(r,t,e),t!==s||e!==i;)c=h,c>-o&&(h-=l,t+=a),c<l&&(h+=o,e++)}drawText(t,e,s){let i=e;for(let n=0,r=t.length;n<r;++n){const r=t[n];switch(r){case 0:return;case 10:s+=8,i=e;break;default:this.blit(ut,i,s,8,8,0,r-32<<3,8),i+=8}}}blit(t,e,s,i,n,r,o,a,l=!1,c=!1,h=!1,d=!1){const u=this.drawColors[0];let p,f,m,y;d?(c=!c,p=Math.max(0,s)-s,f=Math.max(0,e)-e,m=Math.min(i,rt-s),y=Math.min(n,nt-e)):(p=Math.max(0,e)-e,f=Math.max(0,s)-s,m=Math.min(i,nt-e),y=Math.min(n,rt-s));for(let w=f;w<y;w++)for(let f=p;f<m;f++){const p=e+(d?w:f),m=s+(d?f:w);let y;const b=(o+(h?n-w-1:w))*a+(r+(c?i-f-1:f));if(l){y=t[b>>>2]>>>6-((3&b)<<1)&3}else{y=t[b>>>3]>>>7-(7&b)&1}const g=u>>>(y<<2)&15;0!==g&&this.drawPoint(g-1&3,p,m)}}}const Bt=6409,Dt=3553;class Ft{constructor(t){this.gl=t,this.colorBuffer=new Uint32Array(6400),this.paletteBuffer=new Float32Array(12),this.lastPalette=Array(4),this.paletteLocation=null;const e=new Uint32Array(256);for(let i=0;i<256;++i){const t=i>>6&3,s=i>>4&3,n=i>>2&3,r=3&i;e[i]=t<<30|s<<22|n<<14|r<<6}this.table=e;const s=t.canvas;s.addEventListener("webglcontextlost",(t=>{t.preventDefault()})),s.addEventListener("webglcontextrestored",(()=>{this.initGL()})),this.initGL()}initGL(){const t=this.gl;function e(e,s){const i=t.createShader(e);return t.shaderSource(i,s),t.compileShader(i),i}this.lastPalette=Array(4);const s=e(35633,"\n attribute vec2 pos;\n varying vec2 framebufferCoord;\n\n void main () {\n framebufferCoord = pos*vec2(0.5, -0.5) + 0.5;\n gl_Position = vec4(pos, 0, 1);\n }\n "),i=e(35632,`\n precision mediump float;\n uniform vec3 palette[4];\n uniform sampler2D framebuffer;\n varying vec2 framebufferCoord;\n\n vec3 lookup(float index) {\n vec3 p = palette[0];\n ${Array.from({length:3},((t,e)=>`p = mix(p, palette[${e+1}], step(${((e+1)/4).toFixed(2)}, index));`)).join("\n")}\n return p;\n }\n\n void main () {\n gl_FragColor = vec4(lookup(texture2D(framebuffer, framebufferCoord).r), 1.);\n }\n `),n=t.createProgram();t.attachShader(n,s),t.attachShader(n,i),t.linkProgram(n),t.useProgram(n),this.paletteLocation=t.getUniformLocation(n,"palette"),t.uniform1i(t.getUniformLocation(n,"framebuffer"),0),t.detachShader(n,s),t.deleteShader(s),t.detachShader(n,i),t.deleteShader(i),function(e){const s=t.createTexture();t.activeTexture(e),t.bindTexture(Dt,s),t.texParameteri(Dt,10242,33071),t.texParameteri(Dt,10243,33071),t.texParameteri(Dt,10240,9728),t.texParameteri(Dt,10241,9728)}(33984),t.texImage2D(Dt,0,Bt,nt,rt,0,Bt,5121,null);const r=t.getAttribLocation(n,"pos"),o=t.createBuffer(),a=new Float32Array([-1,-1,-1,1,1,1,1,1,1,-1,-1,-1]);t.bindBuffer(34962,o),t.bufferData(34962,a,35044),t.enableVertexAttribArray(r),t.vertexAttribPointer(r,2,5126,!1,0,0)}composite(t,e){const s=this.gl,i=e.bytes,n=this.colorBuffer,r=this.table,o=this.lastPalette,a=this.paletteBuffer;let l=!1;for(let c=0,h=0;c<4;++c){const e=t[c];l=l||o[c]!==e,a[h++]=(e>>16&255)/255,a[h++]=(e>>8&255)/255,a[h++]=(255&e)/255,o[c]=e}l&&s.uniform3fv(this.paletteLocation,this.paletteBuffer);for(let c=0;c<6400;++c)n[c]=r[i[c]];s.texImage2D(Dt,0,Bt,nt,rt,0,Bt,5121,new Uint8Array(n.buffer)),s.drawArrays(4,0,6)}}class Ht{constructor(t){this.warnedFileSize=!1;const e=document.createElement("canvas");e.width=nt,e.height=rt,this.canvas=e;const s=e.getContext("webgl",{alpha:!1,depth:!1,antialias:!1});if(!s)throw new Error("web-runtime: could not create wegl context");let i;this.compositor=new Ft(s),this.apu=new Rt,this.diskName=t,this.diskBuffer=new ArrayBuffer(ot);try{i=localStorage.getItem(t)}catch(n){}this.diskSize=null!=i?wt(i,new Uint8Array(this.diskBuffer)):0,this.memory=new WebAssembly.Memory({initial:1,maximum:1}),this.data=new DataView(this.memory.buffer),this.framebuffer=new Nt(this.memory.buffer),this.reset(),this.pauseState=0,this.wasmBufferByteLen=0}async init(){await this.apu.init()}setMouse(t,e,s){this.data.setInt16(26,t,!0),this.data.setInt16(28,e,!0),this.data.setUint8(30,s)}setGamepad(t,e){this.data.setUint8(22+t,e)}getSystemFlag(t){return this.data.getUint8(31)&t}unlockAudio(){this.apu.unlockAudio()}pauseAudio(){this.apu.pauseAudio()}reset(t){const e=new Uint32Array(this.memory.buffer);t&&e.fill(0),this.pauseState&=-2,e.set(at,1),this.data.setUint16(20,4611,!0),this.data.setInt16(26,32767,!0),this.data.setInt16(28,32767,!0)}async load(t,e=!0){if(this.wasmBuffer=t,this.wasmBufferByteLen=t.byteLength,t.byteLength>65536&&e)throw new Error("Cart too big!");const s={memory:this.memory,rect:this.framebuffer.drawRect.bind(this.framebuffer),oval:this.framebuffer.drawOval.bind(this.framebuffer),line:this.framebuffer.drawLine.bind(this.framebuffer),hline:this.framebuffer.drawHLine.bind(this.framebuffer),vline:this.framebuffer.drawVLine.bind(this.framebuffer),text:this.text.bind(this),textUtf8:this.textUtf8.bind(this),textUtf16:this.textUtf16.bind(this),blit:this.blit.bind(this),blitSub:this.blitSub.bind(this),tone:this.apu.tone.bind(this.apu),diskr:this.diskr.bind(this),diskw:this.diskw.bind(this),trace:this.trace.bind(this),traceUtf8:this.traceUtf8.bind(this),traceUtf16:this.traceUtf16.bind(this),tracef:this.tracef.bind(this)};await this.safeCall((async()=>{const e=await WebAssembly.instantiate(t,{env:s});this.wasm=e.instance,"function"==typeof this.wasm.exports._start&&this.wasm.exports._start(),"function"==typeof this.wasm.exports._initialize&&this.wasm.exports._initialize()}))}async safeCall(t){if("function"==typeof t)try{await t()}catch(e){if(!(e instanceof WebAssembly.RuntimeError||e instanceof WebAssembly.LinkError||e instanceof WebAssembly.CompileError))throw e;this.blueScreen(e)}}text(t,e,s){const i=new Uint8Array(this.memory.buffer,t);this.framebuffer.drawText(i,e,s)}textUtf8(t,e,s,i){const n=new Uint8Array(this.memory.buffer,t,e);this.framebuffer.drawText(n,s,i)}textUtf16(t,e,s,i){const n=new Uint16Array(this.memory.buffer,t,e>>1);this.framebuffer.drawText(n,s,i)}blit(t,e,s,i,n,r){this.blitSub(t,e,s,i,n,0,0,i,r)}blitSub(t,e,s,i,n,r,o,a,l){const c=new Uint8Array(this.memory.buffer,t),h=1&l,d=2&l,u=4&l,p=8&l;this.framebuffer.blit(c,e,s,i,n,r,o,a,h,d,u,p)}diskr(t,e){const s=Math.min(e,this.diskSize),i=new Uint8Array(this.diskBuffer,0,s);return new Uint8Array(this.memory.buffer,t).set(i),s}diskw(t,e){const s=Math.min(e,ot),i=new Uint8Array(this.memory.buffer,t,s),n=new Uint8Array(this.diskBuffer),r=function(t){const e=t.length,s=e%4,i=s?e+4-s:e;let n="",r=0,o=0;for(;r<i;){const s=r<e?t[r]:0;if(++r,o=256*o+s,r%4==0){let t=52200625;for(;t>=1;){const e=Math.floor(o/t)%85;n+=mt[e],t/=85}o=0}}return n}(i);try{localStorage.setItem(this.diskName,r)}catch(o){}return n.set(i),this.diskSize=s,s}getCString(t){let e="";for(;;){const s=this.data.getUint8(t++);if(0==s)break;e+=String.fromCharCode(s)}return e}print(t,e=!1){e?console.error(t):console.log(t)}trace(t){this.print(this.getCString(t))}traceUtf8(t,e){const s=new Uint8Array(this.memory.buffer,t,e),i=(new TextDecoder).decode(s);this.print(i)}traceUtf16(t,e){const s=new Uint8Array(this.memory.buffer,t,e),i=new TextDecoder("utf-16").decode(s);this.print(i)}tracef(t,e){let s,i="";for(;s=this.data.getUint8(t++);)if(37==s)switch(s=this.data.getUint8(t++)){case 37:i+="%";break;case 99:i+=String.fromCharCode(this.data.getInt32(e,!0)),e+=4;break;case 100:case 120:i+=this.data.getInt32(e,!0).toString(100==s?10:16),e+=4;break;case 115:i+=this.getCString(this.data.getUint32(e,!0)),e+=4;break;case 102:i+=this.data.getFloat64(e,!0),e+=8}else i+=String.fromCharCode(s);this.print(i)}start(){this.safeCall(this.wasm.exports.start)}update(){0==this.pauseState&&(this.getSystemFlag(1)||this.framebuffer.clear(),this.safeCall(this.wasm.exports.update))}blueScreen(t){var e;this.pauseState|=1;const s=t=>[...t].map((t=>t.charCodeAt(0))),i=" WASM-4 ",n=8*i.length,r=(160-8*i.length)/2;new Uint32Array(this.memory.buffer).set([1118702,8831084,11184810,16777215],1),this.data.setUint16(20,4611,!0),this.framebuffer.clear(),this.framebuffer.drawHLine(r,19,n),this.data.setUint16(20,4401,!0),this.framebuffer.drawText(s(" WASM-4 "),r,20),this.data.setUint16(20,4611,!0);const o=function(t){let e=t.message;t instanceof WebAssembly.RuntimeError?(t.message.match(/unreachable/)?e="The cartridge has\nreached a code \nsegment marked as\nunreachable.":t.message.match(/out of bounds/)&&(e="The cartridge has\nattempted a memory\naccess that is\nout of bounds."),e+="\n\n\n\n\nHit R to reboot."):t instanceof WebAssembly.LinkError?e="The cartridge has\ntried to import\na missing function.\n\n\n\nSee console for\nmore details.":t instanceof WebAssembly.CompileError&&(e="The cartridge is\ncorrupted.\n\n\n\nSee console for\nmore details.");return e}(t);this.framebuffer.drawText(s(o),9,60),this.composite(),this.print(null!=(e=t.stack)?e:"",!0)}composite(){const t=new Uint32Array(this.memory.buffer,4,16);this.compositor.composite(t,this.framebuffer)}}var jt=Object.defineProperty,zt=Object.getOwnPropertyDescriptor,Vt=(t,e,s,i)=>{for(var n,r=i>1?void 0:i?zt(e,s):e,o=t.length-1;o>=0;o--)(n=t[o])&&(r=(i?n(e,s,r):n(r))||r);return i&&r&&jt(e,s,r),r};class Gt{constructor(){this.gamepad=[0,0,0,0],this.mouseX=0,this.mouseY=0,this.mouseButtons=0}}
/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function*Wt(t,e){if(void 0!==t){let s=0;for(const i of t)yield e(i,s++)}}t.App=class extends X{constructor(){var t,e;super(),this.hideGamepadOverlay=!1,this.showMenu=!1,this.inputState=new Gt;const s=null!=(e=null==(t=document.getElementById("wasm4-disk-prefix"))?void 0:t.textContent)?e:pt("disk-prefix");this.runtime=new Ht(s+"-disk"),this.init()}async init(){const t=this.runtime;await t.init();const e=t.canvas,s=pt("netplay");s?(this.netplay=this.createNetplay(),this.netplay.join(s)):await t.load(await async function(){var t,e;const s=document.getElementById("wasm4-cart-json");if(s){const{WASM4_CART:e,WASM4_CART_SIZE:i}=JSON.parse(null!=(t=s.textContent)?t:""),n=new Uint8Array(i);return wt(e,n),n}{const t=null!=(e=pt("url"))?e:"cart.wasm",s=await fetch(t);return new Uint8Array(await s.arrayBuffer())}}());let i={toggleDevtools(){},updateCompleted(...t){}};this.netplay||t.start();let n=null;const r=t=>{if(document.body.style.cursor="",t.isPrimary){const s=e.getBoundingClientRect(),i=this.inputState;i.mouseX=Math.fround(nt*(t.clientX-s.left)/s.width),i.mouseY=Math.fround(rt*(t.clientY-s.top)/s.height),i.mouseButtons=7&t.buttons}};window.addEventListener("pointerdown",r),window.addEventListener("pointerup",r),window.addEventListener("pointermove",r),e.addEventListener("contextmenu",(t=>{t.preventDefault()}));const o={2:this.saveGameState.bind(this),4:this.loadGameState.bind(this),r:this.resetCart.bind(this),R:this.resetCart.bind(this),F8:i.toggleDevtools,F9:function(){t.composite(),e.toBlob((t=>{const e=URL.createObjectURL(t),s=document.createElement("a");s.href=e,s.download="wasm4-screenshot.png",s.click(),URL.revokeObjectURL(e)}))},F10:function(){if(null!=n)return;const t="video/webm",s=e.captureStream();n=new MediaRecorder(s,{mimeType:t,videoBitsPerSecond:25e6});const i=[];n.ondataavailable=t=>{i.push(t.data)},n.onstop=()=>{const e=new Blob(i,{type:t}),s=URL.createObjectURL(e),n=document.createElement("a");n.href=s,n.download="wasm4-animation.webm",n.click(),URL.revokeObjectURL(s)},n.start(),setTimeout((()=>{n&&(n.requestData(),n.stop(),n=null)}),4e3)},F11:ft,Enter:this.onMenuButtonPressed.bind(this)},a=e=>{if(e.ctrlKey||e.altKey)return;if(e.srcElement instanceof HTMLElement&&"INPUT"==e.srcElement.tagName)return;const s="keydown"==e.type;if(t.unlockAudio(),document.body.style.cursor="none",s){const t=o[e.key];if(t)return t(),void e.preventDefault()}let i=0,n=0;switch(e.code){case"KeyX":case"KeyV":case"Space":case"Period":n=1;break;case"KeyZ":case"KeyC":case"Comma":n=2;break;case"ArrowUp":n=ht;break;case"ArrowDown":n=dt;break;case"ArrowLeft":n=lt;break;case"ArrowRight":n=ct;break;case"KeyA":case"KeyQ":i=1,n=1;break;case"ShiftLeft":case"Tab":i=1,n=2;break;case"KeyE":i=1,n=ht;break;case"KeyD":i=1,n=dt;break;case"KeyS":i=1,n=lt;break;case"KeyF":i=1,n=ct;break;case"NumpadMultiply":case"NumpadDecimal":i=2,n=1;break;case"NumpadSubtract":case"NumpadEnter":i=2,n=2;break;case"Numpad8":i=2,n=ht;break;case"Numpad5":i=2,n=dt;break;case"Numpad4":i=2,n=lt;break;case"Numpad6":i=2,n=ct}if(0!=n){e.preventDefault();const t=this.inputState.gamepad;s?t[i]|=n:t[i]&=~n}};window.addEventListener("keydown",a),window.addEventListener("keyup",a),top&&top!=window&&(top.addEventListener("keydown",a),top.addEventListener("keyup",a));const l=()=>{if(navigator.getGamepads)for(const t of navigator.getGamepads()){if(null==t||"standard"!=t.mapping)continue;const e=t.buttons,s=t.axes;let i=0;(e[12].pressed||s[1]<-.5)&&(i|=ht),(e[13].pressed||s[1]>.5)&&(i|=dt),(e[14].pressed||s[0]<-.5)&&(i|=lt),(e[15].pressed||s[0]>.5)&&(i|=ct),(e[0].pressed||e[3].pressed||e[5].pressed||e[7].pressed)&&(i|=1),(e[1].pressed||e[2].pressed||e[4].pressed||e[6].pressed)&&(i|=2),e[9].pressed&&(this.showMenu=!0),this.inputState.gamepad[t.index%4]=i}};let c=!1;const h=()=>{if("hidden"==document.visibilityState&&!this.netplay)return;l();let e,s=this.inputState;if(null!=this.menuOverlay){if(this.menuOverlay.applyInput(),!this.netplay)return;s=new Gt}if(this.netplay)e=this.netplay.update(s.gamepad[0]);else{for(let e=0;e<4;++e)t.setGamepad(e,s.gamepad[e]);t.setMouse(s.mouseX,s.mouseY,s.mouseButtons),t.update(),e=!0}e&&!c&&(c=!0,requestAnimationFrame((()=>{c=!1,t.composite()}))),this.hideGamepadOverlay=!!t.getSystemFlag(2)};performance.now();const d=()=>{const t=performance.now();h();const e=performance.now()-t,s=Math.round(1e3/60-e);setTimeout(d,s)};d()}onPointerUp(t){"touch"==t.pointerType&&ft(),this.runtime.unlockAudio()}onMenuButtonPressed(){this.showMenu?this.inputState.gamepad[0]|=1:this.showMenu=!0}closeMenu(){if(this.showMenu){this.showMenu=!1;for(let t=0;t<4;++t)this.inputState.gamepad[t]=0}}saveGameState(){let t=this.savedGameState;null==t&&(t=this.savedGameState=new bt),t.read(this.runtime)}loadGameState(){if(this.netplay)return void this.notifications.show("State loading disabled during netplay");const t=this.savedGameState;null!=t&&t.write(this.runtime)}copyNetplayLink(){this.netplay||(this.netplay=this.createNetplay(),this.netplay.host()),async function(t){try{await navigator.clipboard.writeText(t)}catch{const e=document.createElement("textarea");return e.value=t,e.style.position="fixed",e.style.left="-999999px",e.style.top="-999999px",document.body.appendChild(e),e.focus(),e.select(),new Promise(((t,s)=>{document.execCommand("copy")?t():s(new Error("Failed to copy to clipboard")),e.remove()}))}}(this.netplay.getInviteLink()),this.notifications.show("Netplay link copied to clipboard")}async resetCart(t){this.netplay?this.notifications.show("Reset disabled during netplay"):(t||(t=this.runtime.wasmBuffer),this.runtime.reset(!0),this.runtime.pauseState|=2,await this.runtime.load(t),this.runtime.start(),this.runtime.pauseState&=-3)}createNetplay(){const t=new Lt(this.runtime);return t.onstart=t=>this.notifications.show(`Joined as player ${t+1}`),t.onjoin=t=>this.notifications.show(`Player ${t+1} joined`),t.onleave=t=>this.notifications.show(`Player ${t+1} left`),t}getNetplaySummary(){return this.netplay?this.netplay.getSummary():[]}render(){return M`<div class="content" @pointerup="${this.onPointerUp}">${this.showMenu?M`<wasm4-menu-overlay .app="${this}">`:""}<wasm4-notifications><\u002Fwasm4-notifications>${this.runtime.canvas}<\u002Fdiv>${this.hideGamepadOverlay?"":M`<wasm4-virtual-gamepad .app="${this}">`}`}},t.App.styles=r`:host{width:100%;height:100%;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;background:#202020}.content{width:100vmin;height:100vmin;overflow:hidden}@media (pointer:coarse) and (max-aspect-ratio:2/3){.content{position:absolute;top:calc((100% - 220px - 100vmin)/ 2)}}.content canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}`,Vt([et()],t.App.prototype,"hideGamepadOverlay",2),Vt([et()],t.App.prototype,"showMenu",2),Vt([st("wasm4-menu-overlay")],t.App.prototype,"menuOverlay",2),Vt([st("wasm4-notifications")],t.App.prototype,"notifications",2),t.App=Vt([Q("wasm4-app")],t.App);var qt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,Yt=(t,e,s,i)=>{for(var n,r=i>1?void 0:i?Jt(e,s):e,o=t.length-1;o>=0;o--)(n=t[o])&&(r=(i?n(e,s,r):n(r))||r);return i&&r&&qt(e,s,r),r};const Kt=["CONTINUE","SAVE STATE","LOAD STATE","COPY NETPLAY URL","RESET CART"];t.MenuOverlay=class extends X{constructor(){super(),this.lastGamepad=0,this.selectedIdx=0,this.netplaySummary=[]}applyInput(){let t=0;for(const s of this.app.inputState.gamepad)t|=s;const e=t&(t^this.lastGamepad);if(this.lastGamepad=t,3&e){switch(this.selectedIdx){case 0:break;case 1:this.app.saveGameState();break;case 2:this.app.loadGameState();break;case 3:this.app.copyNetplayLink();break;case 4:this.app.resetCart()}this.app.closeMenu()}e&dt&&this.selectedIdx++,e&ht&&this.selectedIdx--,this.selectedIdx=(this.selectedIdx+Kt.length)%Kt.length}connectedCallback(){super.connectedCallback();const t=()=>{this.netplaySummary=this.app.getNetplaySummary()};t(),this.netplayPollInterval=window.setInterval(t,1e3)}disconnectedCallback(){window.clearInterval(this.netplayPollInterval),super.disconnectedCallback()}render(){return M`<div class="menu"><ul>${Wt(Kt,((t,e)=>M`<li class="${this.selectedIdx==e?"selected":""}" }>${t}<\u002Fli>`))}<\u002Ful><\u002Fdiv><div class="netplay-summary">${Wt(this.netplaySummary,(t=>{const e=t.ping<100?"good":t.ping<200?"ok":"bad",s=t.ping<0?M`<span class="ping-you">YOU<\u002Fspan>`:M`<span class="ping-${e}">${Math.ceil(t.ping)}ms<\u002Fspan>`;return M`<div>PLAYER ${t.playerIdx>=0?t.playerIdx+1:"?"} ${s}<\u002Fdiv>`}))}<\u002Fdiv>`}},t.MenuOverlay.styles=r`:host{width:100vmin;height:100vmin;position:absolute;color:#a0a0a0;font:16px wasm4-font;display:flex;align-items:center;justify-content:center;flex-direction:column;background:rgba(0,0,0,.85)}.menu{border:2px solid #f0f0f0;padding:0 1em 0 1em;line-height:2em}.netplay-summary{margin-top:2em;line-height:1.5em}.ping-you{color:#f0f0f0}.ping-good{color:green}.ping-ok{color:#ff0}.ping-bad{color:red}ul{list-style:none;padding-left:0;padding-right:1em}li::before{content:"\\00a0\\00a0"}li.selected::before{content:"> "}li.selected{color:#fff}`,Yt([et()],t.MenuOverlay.prototype,"selectedIdx",2),Yt([et()],t.MenuOverlay.prototype,"netplaySummary",2),t.MenuOverlay=Yt([Q("wasm4-menu-overlay")],t.MenuOverlay);var Xt=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,Qt=(t,e,s,i)=>{for(var n,r=i>1?void 0:i?Zt(e,s):e,o=t.length-1;o>=0;o--)(n=t[o])&&(r=(i?n(e,s,r):n(r))||r);return i&&r&&Xt(e,s,r),r};function te(t,e,s){t&&(s?t.classList.add(e):t.classList.remove(e))}t.VirtualGamepad=class extends X{constructor(){super(...arguments),this.touchEvents=new Map,this.onPointerEvent=t=>{if("touch"!=t.pointerType)return;switch(t.preventDefault(),t.type){case"pointerdown":case"pointermove":this.touchEvents.set(t.pointerId,t);break;default:this.touchEvents.delete(t.pointerId)}let e=0;if(this.touchEvents.size){const t=100,s=10,i=50,n=.6,r=this.dpad.getBoundingClientRect(),o=r.x+r.width/2,a=r.y+r.height/2,l=this.action1.getBoundingClientRect(),c=l.x+l.width/2,h=l.y+l.height/2,d=this.action2.getBoundingClientRect(),u=d.x+d.width/2,p=d.y+d.height/2;let f,m,y,w,b;for(const g of this.touchEvents.values())f=g.clientX-o,m=g.clientY-a,y=Math.sqrt(f*f+m*m),y<t&&y>s&&(w=f/y,b=m/y,-w>n?e|=lt:w>n&&(e|=ct),-b>n?e|=ht:b>n&&(e|=dt)),f=g.clientX-c,m=g.clientY-h,f*f+m*m<i*i&&(e|=1),f=g.clientX-u,m=g.clientY-p,f*f+m*m<i*i&&(e|=2)}te(this.action1,"pressed",1&e),te(this.action2,"pressed",2&e),te(this.dpad,"pressed-left",e<),te(this.dpad,"pressed-right",e&ct),te(this.dpad,"pressed-up",e&ht),te(this.dpad,"pressed-down",e&dt),this.app.inputState.gamepad[0]=e}}connectedCallback(){super.connectedCallback(),window.addEventListener("pointercancel",this.onPointerEvent),window.addEventListener("pointerdown",this.onPointerEvent),window.addEventListener("pointermove",this.onPointerEvent),window.addEventListener("pointerup",this.onPointerEvent)}disconnectedCallback(){window.removeEventListener("pointercancel",this.onPointerEvent),window.removeEventListener("pointerdown",this.onPointerEvent),window.removeEventListener("pointermove",this.onPointerEvent),window.removeEventListener("pointerup",this.onPointerEvent),super.disconnectedCallback()}onMenuButtonPressed(t){this.app.onMenuButtonPressed(),t.stopImmediatePropagation()}render(){return M`<div class="menu" @pointerdown="${this.onMenuButtonPressed}"><\u002Fdiv><div class="dpad"><\u002Fdiv><div class="action1">X<\u002Fdiv><div class="action2">Z<\u002Fdiv>`}},t.VirtualGamepad.styles=r`:host{display:none}@media (pointer:coarse){:host{display:inherit}}.dpad{pointer-events:none;position:absolute;width:39px;height:120px;left:69px;bottom:30px;background:#444;border-radius:9px}.dpad:before{position:absolute;width:120px;height:39px;top:39px;left:-39px;background:#444;border-radius:9px;content:""}.dpad:after{position:absolute;height:39px;width:39px;top:39px;border-radius:100%;background:#333;content:""}.dpad.pressed-left:before{border-left:4px solid #a93671;width:116px}.dpad.pressed-right:before{border-right:4px solid #a93671;width:116px}.dpad.pressed-up{border-top:4px solid #a93671}.dpad.pressed-down{border-bottom:4px solid #a93671;height:116px}.action1{right:80px;bottom:30px}.action2{right:30px;bottom:90px}.action1,.action2{pointer-events:none;position:absolute;width:60px;height:60px;border:4px solid #a93671;border-radius:50px;color:#a93671;font:24px wasm4-font;text-align:center;line-height:60px}.action1.pressed,.action2.pressed{background:#a93671}.menu{position:absolute;background:#444;width:60px;height:20px;bottom:200px;right:35px;border-radius:10px}`,Qt([st(".dpad")],t.VirtualGamepad.prototype,"dpad",2),Qt([st(".action1")],t.VirtualGamepad.prototype,"action1",2),Qt([st(".action2")],t.VirtualGamepad.prototype,"action2",2),t.VirtualGamepad=Qt([Q("wasm4-virtual-gamepad")],t.VirtualGamepad);var ee=Object.defineProperty,se=Object.getOwnPropertyDescriptor,ie=(t,e,s,i)=>{for(var n,r=i>1?void 0:i?se(e,s):e,o=t.length-1;o>=0;o--)(n=t[o])&&(r=(i?n(e,s,r):n(r))||r);return i&&r&&ee(e,s,r),r};return t.Notifications=class extends X{constructor(){super(...arguments),this.notifications=[]}show(t){this.notifications=this.notifications.concat([t]),setTimeout((()=>{this.notifications=this.notifications.slice(1)}),5e3)}render(){return this.notifications.map((t=>M`<div class="notification">${t}<\u002Fdiv>`))}},t.Notifications.styles=r`:host{width:100vmin;height:100vmin;position:absolute;pointer-events:none;color:#fff;font:24px wasm4-font;display:flex;flex-direction:column}.notification{background:rgba(0,0,0,.85);padding:.5em;animation:appear .5s ease-out}@keyframes appear{from{padding-left:2em;opacity:0}to{opacity:1;padding-left:.5em}}`,ie([et()],t.Notifications.prototype,"notifications",2),t.Notifications=ie([Q("wasm4-notifications")],t.Notifications),Object.defineProperty(t,"__esModule",{value:!0}),t[Symbol.toStringTag]="Module",t}({});
</script>
<wasm4-app></wasm4-app>
</body>
</html>