From 43101773bb63617bc747780f202bdc91e6c93525 Mon Sep 17 00:00:00 2001 From: Toad-Dev <748280+toad-dev@users.noreply.github.com> Date: Tue, 4 Jan 2022 18:07:47 -0800 Subject: [PATCH] Revert "Remove CC: Tweaked doc files." Never mind, we needed them for linting the lua doc :) --- doc/events/alarm.md | 21 ++++ doc/events/char.md | 24 ++++ doc/events/computer_command.md | 18 +++ doc/events/disk.md | 19 +++ doc/events/disk_eject.md | 19 +++ doc/events/http_check.md | 14 +++ doc/events/http_failure.md | 39 ++++++ doc/events/http_success.md | 27 ++++ doc/events/key.md | 26 ++++ doc/events/key_up.md | 24 ++++ doc/events/modem_message.md | 26 ++++ doc/events/monitor_resize.md | 18 +++ doc/events/monitor_touch.md | 20 +++ doc/events/mouse_click.md | 34 +++++ doc/events/mouse_drag.md | 22 ++++ doc/events/mouse_scroll.md | 21 ++++ doc/events/mouse_up.md | 21 ++++ doc/events/paste.md | 18 +++ doc/events/peripheral.md | 19 +++ doc/events/peripheral_detach.md | 19 +++ doc/events/rednet_message.md | 30 +++++ doc/events/redstone.md | 14 +++ doc/events/speaker_audio_empty.md | 27 ++++ doc/events/task_complete.md | 28 +++++ doc/events/term_resize.md | 20 +++ doc/events/terminate.md | 25 ++++ doc/events/timer.md | 21 ++++ doc/events/turtle_inventory.md | 14 +++ doc/events/websocket_closed.md | 21 ++++ doc/events/websocket_failure.md | 25 ++++ doc/events/websocket_message.md | 27 ++++ doc/events/websocket_success.md | 28 +++++ doc/guides/speaker_audio.md | 200 ++++++++++++++++++++++++++++++ doc/guides/using_require.md | 83 +++++++++++++ doc/head.html | 1 + doc/images/basic-terminal.png | Bin 0 -> 54177 bytes doc/images/peripherals.png | Bin 0 -> 198811 bytes doc/images/turtle.png | Bin 0 -> 166845 bytes doc/index.md | 55 ++++++++ doc/logo.png | Bin 0 -> 1563 bytes doc/stub/fs.lua | 36 ++++++ doc/stub/global.lua | 133 ++++++++++++++++++++ doc/stub/http.lua | 181 +++++++++++++++++++++++++++ doc/stub/os.lua | 128 +++++++++++++++++++ doc/stub/turtle.lua | 14 +++ 45 files changed, 1560 insertions(+) create mode 100644 doc/events/alarm.md create mode 100644 doc/events/char.md create mode 100644 doc/events/computer_command.md create mode 100644 doc/events/disk.md create mode 100644 doc/events/disk_eject.md create mode 100644 doc/events/http_check.md create mode 100644 doc/events/http_failure.md create mode 100644 doc/events/http_success.md create mode 100644 doc/events/key.md create mode 100644 doc/events/key_up.md create mode 100644 doc/events/modem_message.md create mode 100644 doc/events/monitor_resize.md create mode 100644 doc/events/monitor_touch.md create mode 100644 doc/events/mouse_click.md create mode 100644 doc/events/mouse_drag.md create mode 100644 doc/events/mouse_scroll.md create mode 100644 doc/events/mouse_up.md create mode 100644 doc/events/paste.md create mode 100644 doc/events/peripheral.md create mode 100644 doc/events/peripheral_detach.md create mode 100644 doc/events/rednet_message.md create mode 100644 doc/events/redstone.md create mode 100644 doc/events/speaker_audio_empty.md create mode 100644 doc/events/task_complete.md create mode 100644 doc/events/term_resize.md create mode 100644 doc/events/terminate.md create mode 100644 doc/events/timer.md create mode 100644 doc/events/turtle_inventory.md create mode 100644 doc/events/websocket_closed.md create mode 100644 doc/events/websocket_failure.md create mode 100644 doc/events/websocket_message.md create mode 100644 doc/events/websocket_success.md create mode 100644 doc/guides/speaker_audio.md create mode 100644 doc/guides/using_require.md create mode 100644 doc/head.html create mode 100644 doc/images/basic-terminal.png create mode 100644 doc/images/peripherals.png create mode 100644 doc/images/turtle.png create mode 100644 doc/index.md create mode 100644 doc/logo.png create mode 100644 doc/stub/fs.lua create mode 100644 doc/stub/global.lua create mode 100644 doc/stub/http.lua create mode 100644 doc/stub/os.lua create mode 100644 doc/stub/turtle.lua diff --git a/doc/events/alarm.md b/doc/events/alarm.md new file mode 100644 index 000000000..db7f04845 --- /dev/null +++ b/doc/events/alarm.md @@ -0,0 +1,21 @@ +--- +module: [kind=event] alarm +see: os.setAlarm To start an alarm. +--- + +The @{timer} event is fired when an alarm started with @{os.setAlarm} completes. + +## Return Values +1. @{string}: The event name. +2. @{number}: The ID of the alarm that finished. + +## Example +Starts a timer and then prints its ID: +```lua +local alarmID = os.setAlarm(os.time() + 0.05) +local event, id +repeat + event, id = os.pullEvent("alarm") +until id == alarmID +print("Alarm with ID " .. id .. " was fired") +``` diff --git a/doc/events/char.md b/doc/events/char.md new file mode 100644 index 000000000..473313702 --- /dev/null +++ b/doc/events/char.md @@ -0,0 +1,24 @@ +--- +module: [kind=event] char +see: key To listen to any key press. +--- + +The @{char} event is fired when a character is _typed_ on the keyboard. + +The @{char} event is different to a key press. Sometimes multiple key presses may result in one character being +typed (for instance, on some European keyboards). Similarly, some keys (e.g. Ctrl) do not have any +corresponding character. The @{key} should be used if you want to listen to key presses themselves. + +## Return values +1. @{string}: The event name. +2. @{string}: The string representing the character that was pressed. + + +## Example +Prints each character the user presses: +```lua +while true do + local event, character = os.pullEvent("char") + print(character .. " was pressed.") +end +``` diff --git a/doc/events/computer_command.md b/doc/events/computer_command.md new file mode 100644 index 000000000..245252399 --- /dev/null +++ b/doc/events/computer_command.md @@ -0,0 +1,18 @@ +--- +module: [kind=event] computer_command +--- + +The @{computer_command} event is fired when the `/computercraft queue` command is run for the current computer. + +## Return Values +1. @{string}: The event name. +... @{string}: The arguments passed to the command. + +## Example +Prints the contents of messages sent: +```lua +while true do + local event = {os.pullEvent("computer_command")} + print("Received message:", table.unpack(event, 2)) +end +``` diff --git a/doc/events/disk.md b/doc/events/disk.md new file mode 100644 index 000000000..2946d70c4 --- /dev/null +++ b/doc/events/disk.md @@ -0,0 +1,19 @@ +--- +module: [kind=event] disk +see: disk_eject For the event sent when a disk is removed. +--- + +The @{disk} event is fired when a disk is inserted into an adjacent or networked disk drive. + +## Return Values +1. @{string}: The event name. +2. @{string}: The side of the disk drive that had a disk inserted. + +## Example +Prints a message when a disk is inserted: +```lua +while true do + local event, side = os.pullEvent("disk") + print("Inserted a disk on side " .. side) +end +``` diff --git a/doc/events/disk_eject.md b/doc/events/disk_eject.md new file mode 100644 index 000000000..71c3ede0a --- /dev/null +++ b/doc/events/disk_eject.md @@ -0,0 +1,19 @@ +--- +module: [kind=event] disk_eject +see: disk For the event sent when a disk is inserted. +--- + +The @{disk_eject} event is fired when a disk is removed from an adjacent or networked disk drive. + +## Return Values +1. @{string}: The event name. +2. @{string}: The side of the disk drive that had a disk removed. + +## Example +Prints a message when a disk is removed: +```lua +while true do + local event, side = os.pullEvent("disk_eject") + print("Removed a disk on side " .. side) +end +``` diff --git a/doc/events/http_check.md b/doc/events/http_check.md new file mode 100644 index 000000000..9af5ea7ca --- /dev/null +++ b/doc/events/http_check.md @@ -0,0 +1,14 @@ +--- +module: [kind=event] http_check +see: http.checkURLAsync To check a URL asynchronously. +--- + +The @{http_check} event is fired when a URL check finishes. + +This event is normally handled inside @{http.checkURL}, but it can still be seen when using @{http.checkURLAsync}. + +## Return Values +1. @{string}: The event name. +2. @{string}: The URL requested to be checked. +3. @{boolean}: Whether the check succeeded. +4. @{string|nil}: If the check failed, a reason explaining why the check failed. diff --git a/doc/events/http_failure.md b/doc/events/http_failure.md new file mode 100644 index 000000000..dc10b40d7 --- /dev/null +++ b/doc/events/http_failure.md @@ -0,0 +1,39 @@ +--- +module: [kind=event] http_failure +see: http.request To send an HTTP request. +--- + +The @{http_failure} event is fired when an HTTP request fails. + +This event is normally handled inside @{http.get} and @{http.post}, but it can still be seen when using @{http.request}. + +## Return Values +1. @{string}: The event name. +2. @{string}: The URL of the site requested. +3. @{string}: An error describing the failure. +4. @{http.Response|nil}: A response handle if the connection succeeded, but the server's response indicated failure. + +## Example +Prints an error why the website cannot be contacted: +```lua +local myURL = "https://does.not.exist.tweaked.cc" +http.request(myURL) +local event, url, err +repeat + event, url, err = os.pullEvent("http_failure") +until url == myURL +print("The URL " .. url .. " could not be reached: " .. err) +``` + +Prints the contents of a webpage that does not exist: +```lua +local myURL = "https://tweaked.cc/this/does/not/exist" +http.request(myURL) +local event, url, err, handle +repeat + event, url, err, handle = os.pullEvent("http_failure") +until url == myURL +print("The URL " .. url .. " could not be reached: " .. err) +print(handle.getResponseCode()) +handle.close() +``` diff --git a/doc/events/http_success.md b/doc/events/http_success.md new file mode 100644 index 000000000..3700b9211 --- /dev/null +++ b/doc/events/http_success.md @@ -0,0 +1,27 @@ +--- +module: [kind=event] http_success +see: http.request To make an HTTP request. +--- + +The @{http_success} event is fired when an HTTP request returns successfully. + +This event is normally handled inside @{http.get} and @{http.post}, but it can still be seen when using @{http.request}. + +## Return Values +1. @{string}: The event name. +2. @{string}: The URL of the site requested. +3. @{http.Response}: The handle for the response text. + +## Example +Prints the content of a website (this may fail if the request fails): +```lua +local myURL = "https://tweaked.cc/" +http.request(myURL) +local event, url, handle +repeat + event, url, handle = os.pullEvent("http_success") +until url == myURL +print("Contents of " .. url .. ":") +print(handle.readAll()) +handle.close() +``` diff --git a/doc/events/key.md b/doc/events/key.md new file mode 100644 index 000000000..1f11e443b --- /dev/null +++ b/doc/events/key.md @@ -0,0 +1,26 @@ +--- +module: [kind=event] key +--- + +This event is fired when any key is pressed while the terminal is focused. + +This event returns a numerical "key code" (for instance, F1 is 290). This value may vary between versions and +so it is recommended to use the constants in the @{keys} API rather than hard coding numeric values. + +If the button pressed represented a printable character, then the @{key} event will be followed immediately by a @{char} +event. If you are consuming text input, use a @{char} event instead! + +## Return values +1. @{string}: The event name. +2. @{number}: The numerical key value of the key pressed. +3. @{boolean}: Whether the key event was generated while holding the key (@{true}), rather than pressing it the first time (@{false}). + +## Example +Prints each key when the user presses it, and if the key is being held. + +```lua +while true do + local event, key, is_held = os.pullEvent("key") + print(("%s held=%s"):format(keys.getName(key), is_held)) +end +``` diff --git a/doc/events/key_up.md b/doc/events/key_up.md new file mode 100644 index 000000000..e957cae6b --- /dev/null +++ b/doc/events/key_up.md @@ -0,0 +1,24 @@ +--- +module: [kind=event] key_up +see: keys For a lookup table of the given keys. +--- + +Fired whenever a key is released (or the terminal is closed while a key was being pressed). + +This event returns a numerical "key code" (for instance, F1 is 290). This value may vary between versions and +so it is recommended to use the constants in the @{keys} API rather than hard coding numeric values. + +## Return values +1. @{string}: The event name. +2. @{number}: The numerical key value of the key pressed. + +## Example +Prints each key released on the keyboard whenever a @{key_up} event is fired. + +```lua +while true do + local event, key = os.pullEvent("key_up") + local name = keys.getName(key) or "unknown key" + print(name .. " was released.") +end +``` diff --git a/doc/events/modem_message.md b/doc/events/modem_message.md new file mode 100644 index 000000000..c7480d7fb --- /dev/null +++ b/doc/events/modem_message.md @@ -0,0 +1,26 @@ +--- +module: [kind=event] modem_message +--- + +The @{modem_message} event is fired when a message is received on an open channel on any @{modem}. + +## Return Values +1. @{string}: The event name. +2. @{string}: The side of the modem that received the message. +3. @{number}: The channel that the message was sent on. +4. @{number}: The reply channel set by the sender. +5. @{any}: The message as sent by the sender. +6. @{number}: The distance between the sender and the receiver, in blocks. + +## Example +Wraps a @{modem} peripheral, opens channel 0 for listening, and prints all received messages. + +```lua +local modem = peripheral.find("modem") or error("No modem attached", 0) +modem.open(0) + +while true do + local event, side, channel, replyChannel, message, distance = os.pullEvent("modem_message") + print(("Message received on side %s on channel %d (reply to %d) from %f blocks away with message %s"):format(side, channel, replyChannel, distance, tostring(message))) +end +``` diff --git a/doc/events/monitor_resize.md b/doc/events/monitor_resize.md new file mode 100644 index 000000000..03de804e7 --- /dev/null +++ b/doc/events/monitor_resize.md @@ -0,0 +1,18 @@ +--- +module: [kind=event] monitor_resize +--- + +The @{monitor_resize} event is fired when an adjacent or networked monitor's size is changed. + +## Return Values +1. @{string}: The event name. +2. @{string}: The side or network ID of the monitor that resized. + +## Example +Prints a message when a monitor is resized: +```lua +while true do + local event, side = os.pullEvent("monitor_resize") + print("The monitor on side " .. side .. " was resized.") +end +``` diff --git a/doc/events/monitor_touch.md b/doc/events/monitor_touch.md new file mode 100644 index 000000000..0f27a9cc1 --- /dev/null +++ b/doc/events/monitor_touch.md @@ -0,0 +1,20 @@ +--- +module: [kind=event] monitor_touch +--- + +The @{monitor_touch} event is fired when an adjacent or networked Advanced Monitor is right-clicked. + +## Return Values +1. @{string}: The event name. +2. @{string}: The side or network ID of the monitor that was touched. +3. @{number}: The X coordinate of the touch, in characters. +4. @{number}: The Y coordinate of the touch, in characters. + +## Example +Prints a message when a monitor is touched: +```lua +while true do + local event, side, x, y = os.pullEvent("monitor_touch") + print("The monitor on side " .. side .. " was touched at (" .. x .. ", " .. y .. ")") +end +``` diff --git a/doc/events/mouse_click.md b/doc/events/mouse_click.md new file mode 100644 index 000000000..83d371260 --- /dev/null +++ b/doc/events/mouse_click.md @@ -0,0 +1,34 @@ +--- +module: [kind=event] mouse_click +--- + +This event is fired when the terminal is clicked with a mouse. This event is only fired on advanced computers (including +advanced turtles and pocket computers). + +## Return values +1. @{string}: The event name. +2. @{number}: The mouse button that was clicked. +3. @{number}: The X-coordinate of the click. +4. @{number}: The Y-coordinate of the click. + +## Mouse buttons +Several mouse events (@{mouse_click}, @{mouse_up}, @{mouse_scroll}) contain a "mouse button" code. This takes a +numerical value depending on which button on your mouse was last pressed when this event occurred. + +
Button code | Mouse button |
---|---|
1 | Left button |
2 | Middle button |
3 | Right button |
;YOB{f2(8k zJp#p?9PX}8*YEf=A@iSvNK$vbb^VogYt1(JnpZAt&+dps4jN8F!95d1+ z7=LW4{#E!w^ad-_wWHZi4vq`eAJ~ar%|Cxv)%x2qx9xM599a4JQJ$+q(FeJ##(zB% zE*QnMy?YSAYSO#6%jOElL5rTh#oCAdUEDBx!}|X(%MNT @ju_cQaI;( zZpoUCC8m-b8g7z;1=7M7YIfQ6H(0So{SoK*v5Wh00uSTE{ZkrV{@81Lqr9Z*e!HTA z rpZ$;vGH#2_}NMJW=Q*8RTc(&l>oQ)bhURFQX9zK2{K4*9H!Q*wt zN_h!KcghPqHe*imSs*REcl8QT!u@tPNqNB}r$65}< G)t3D9m)t!aM%RQSqsnBzgk&bC#$SJe|1mROZo9vj#pVmkn?o)KoH$o- z9my3iux|Vr^7(HJlh?hjh9?i$S1~oERylk)CC-|7(7iI&)<1>KWqwDm z3FLE840!JJxUxi|cb)j*juos~?Oj!YPr^f5H7?Bc+O+<|#Qpl992Psz;<>Uw!E+%N zo*%34^yqJw&cC1cYg?GR!=3p(zc#aoM7*g@<1gq|+ZM6?Z?#~YzeD?mf07~9*20nh z|5}(t{?E+gUwV`2Mq@*SSD9E1FUyqqPA&)bzx>P2R3)gV`rwmu_4~;UTOL@eE9A7# zyMN)p>;CfMPp{RP4rSdC>`0ntFZDz4NAtHM_1~^c*s!@^@1Y+K0>Qd33SKU?@R5JB zou8>yVS)9k9YxQt?A+WuyUA9`M{V*OYs>#Pmk4br-NgCh^NzxEpZ^ul`^+c2E_YjB z!+rkVZGYX~9Og2rNMZZ&^!$gpvu^AB`@D8Xo>8}u!L9%1YmCaRzsi3TXR3cGGUG+C zqC(K0>%E*W;_hx|(`LLo>&NHKr_L9B$j|dXusHbdG=UEpp`Uy?J^1z=771VY?b(g( zoLnx`+sYbS8uhQHS!CQu&I{eq+Yn#>b64(m3nQ0x<+hQr9#{Tf(0OyJ@pV8z%-3Mf z!)%VR+ vf0$Wpmf;e&eG^zxjAl-`fAY<2r3b;>2U?dU_#a5vy VPXK3|W;zc;&(rG}TKgn7l@_C 7CEd>^s%b za9-g-94ANfqlBa%`Ie05 @XPvp>vk0UAt)3s3IXw9GO)jbaaV=4-r}@^eKv9nW zFCVR+_F}=73x_XW|8u40FsIT#iv*kf=O#L?_taqg#V7P-Zi{uS=|x?})7A$|9NN9@ zEtcI1|D+Pbon|yM<-X-7W0pHVE47^t#LvH#|JzL9g0+9;^Iy7u7U|ykTpRO;`}fZ> z=P0Hyxtd$w61V?d+Pdpu0iQibT33VqZm!p-Esj>SHQW^Wrpb6Ws#syc?Ei26sGq;d z&ot%8%_Hud6>;Z}pE>oulEr4_8*$+Y|2cm=kqm46J7wP@J%+7`YqxRa%G3o`EG?d= z%eep4|Eh0^x)O(H9x0HJ@12@t9DnPrDa(&TEHmra6xrOl8ShFS;om=Hx6qGb(S!R0 zD!%WZxIf* h?K*`@6eduIS-Hg{8BXzTx=sD%!!pVeN;9S9%>B&g&>H znD^g$OUajit9cn0=hk~2*rchtJk6A!WevBYf|@~djDGDrUkBZP2kZM97-ACco2flG z7|J+*-ZPGhxZCe--iQemWF5Z0lBI _n#H9vYFrY z-o;cOdzo0Mpm3`3$CarJw{@jl?(~+e7C3VK6^rBc DGVK%ow%7U3U+X9K$9GO?@U^(~`0DnCJ@4)WINTS1 q0;I&QuuW4r17 zb?1Zv-naZ;#-Z{4xbTJERc0(QKmAuM{}=6dAmeZOtcKP*6U^7NFRoznvgvME+&3YZ zbH|=-=EYBWe)}mUl-P1sv|H|v>T-<>|D3(8D4OHNtlYmcc07Na^*OF(9Zr;cW@33~ zef0M`8y%1SdaWO?Dq6oI*!6{1703HM$4fJW-PUuy Mr5!msm!7i2 E17aI={t2AMUo|`l+qT$=daN z1E>C$yo$FkmpIJ5A=D@IF8yEP_W3H)nz!#0XJJmdz`?`x?WI`9Me9vkVM_KoKibxR zQg8ZEeJCPR;ZiQwoA!|UXYqP#4=nj}FRsr1Zhd2|+48^JTN*UZah}*$$;7pA%Nui< zZH8(ISDqW*`zFr!w)Cw0zd-BNOUn~4|7g4vxjK<=ez3y1SF*wd_xopT{I{8 +J{^<*xRPw**ae^w(Xwa-T%v(nG6+ B8NN!^;&G_ KA8V!iPp>sj2KKi0l~veo*V z4x_XE`oct)11~O^)rL&HRw|o!r8ez$>DE&(eig)*>Hm{R(qW1I@5<7`G`}{pK;rB3 zuVO#n7g(@d+S{`6y#IavYSjdLrUI7(s|xZD3w_X3dvMeJ`#i^Ei$7id>|HmzB3b2u z?egZkuP*wYTg`14S-aw?+)obHU8Z-8d|n RJ~i)Y(=+dK z3So54UC+5Wp~Pp)w7++_*6+U@dqG~QDK*~Yf7Q30w fCR->I>dJoU6Ft+~;nNj<0v#EX;ki|D22MxA>?<#X8lm47d%H9^9|J zAN@a)>6LAD{e=yW^pzeQbhmi3Wd6_gtq gylJKIPD8YyRK#{FiIoPTihjpD(*VIye+wH8^%YT41a55;-yT^9}nR zTsXEm{m57LBbl55)2kLbSJv6ONc=lov|*lClUd?UxxEKgNVT;-h~;E@lp!D|d>qsW z3g)zkdg#kJL-tJ)=Z#{=XsfoF=j(2oM=kZ`{BdX6%L{g@3uYg_BV2HQmtB9n?P(^) z>Q{d&vex{$QZH6N>r 8O5_+8E8K>sX_i GtxuY3+~_*0sh3YW*de;3o< zT>JGv{DKd!_2V5KwkNOuKL0kyjs3#z2j(g-*rT!K)wTNCc#bx{EO!Hoj_(WJ6fZyg zvz%LSQiG4$XFiS>+rRw1F1>V -9l*)K+SIV& zfeqvIkOyKtlO#jRzcejox#Q2m`NJ{1j(g3ktkSckKf+j#{l58YzS@WMO7rE%O}> zWxlbtnI`Q&)O~xGNsnjUC(V%b^n)B+8&lp``PCd1^uA>Eob{{I_UHLuA4K)na(+12 zyRh wn#fpE>WC8L!q$ zu;~7?{_!vV`u~gP{|Em+dHSYm!jd2UoHwpBNykdny TlG-<7G3^-)$hE#4=m?o>iRG9n~%3o zF^ox$kNvCIwmU2T>o5lXpZ#fmipIanORbs>_xThS>{+4w;I*CFgB$hrzqb9pJflIM zlTrNJ&vOC=U4_eqKD?-&q4MDU{~!9ZSg!rf|8e(MVqMYU%G26jEl>CoKPyZQVX|8H zvrCF&MfUEf|IXYUZ=%tJ+zB`aQE z{4jry>RhSjWdgSSe9p@!E)+j9ond3-g#SMbXP)8TwD)~{zKcWjLvPL%+Iv>@9uo-g zu6p@rx`RVW>6cXd)}#B>A9PDIZtmlF!Buy!{`^|ygbYT_YnqH(!w)|^FI;e4 Rq=d zeCNUoFLb7rtNw6inr?B%`JU*xn&RKA``cDtoMG|!JL|Pi( Utb69D zQQ<}=Jwt`IdZ8I-exIs*`*i;+ >pv0GtONq&Y-PS3K9t?p@a?I>{uQi8uKmCB zXuaZtd$R0z8X9h}O8nU_T_OJS{q^N)-VQtKEgAizj?GnkFzM0*Cnmmh7JtDBGBx(v z``_I$yZ@m(xu*25`4$H8)ftKsX;I?YstRHS*|IEe^#!IqOtu# I{Ai%{9|^H_orpK+ +iINT696LTIs(*f|k+$~#&7eCD z2a*&NZlqr>Wqe;2@kf-YE7H1NX^zl`%2^G;fA^Q&Pi$+r&v)a$`u3;kFTT92cd357 ze= AYNAaDvjG$jko<(xfWV&wp@T&T7Wmt=O*VExXU5@V!!rH&?* vk_*kC{HdPdHj_U=xt+KFpsp9{M*T~3zq_S)#3-&n42&)fa! z_(I3{4XO!OGA2E{Jfq?F^}YFwAEO!e{%mRJRacnOBa{$wuetF5msfwjAGX$4T9C)J zXF@|HYuf%lHcWal=EZ!BClAif|6T08C|h-b_779mKkU7ljHNM~Z_l|d60zv2ZT&9R z3%Trft_xldU|sXeEn&Ka!V>Q0zjuDEk^Z;I@gu*fNBhOPO(tD6hfgp3_2P8nE(e{L z-vs{&-J1N+ucy !+T(q#-s`}+$#05we>|fxt?u{SDpl?M;q|`^`2LhG zweUZ%PBV@31_$GBy~(dM7^fC~i1$BW%b}4k&2r~DYh6;_p8GfIcWb@L5Mg>{Fl)9@ z!Ks>bfe#wIpIM&N&$t(zlq>$g`JwKb&x`&teV+MyYVe(v-YaHoN#ZVg`Op3?QwAr; z{D&QJZIIsO)YSfjjQwu|!iK#mZmuFn^?ckdI}dznd4`%q(T#mm|k->#Yo&Jk(P z_iblAb$s>TivKlH|7<7!ocZam=7;A$-oL$>9{l~!%FjwnZIf?qSgNo1Amgn0@!c`i z?=}9mOkeo6oU1 Q^+n&qiiSeuL%TI*MY=iWBp zP&?DDIp@zDDO*P8@1Fh+cQ)+1a_vD!!?ndPxDN^$c-7{W-Uyf981#mFny8iQk^1ew zGA}pzJUg!VV6Nz&pl@e|4P @fo0Ff?wjex*FW#xYP&zGVl&Ge{eOFZ zgog9fGo}YK{d>5yI97JqlQfQqTgmn+YyVGam>ZvQZ~wb*d3Q>zl^$#tWc)kldD@5j z+wXQX#5JC8tIcfw;B+IlyMa5?gQ@OBZhcv *^gY)y_yJ8kAhWBS&7E)Nz(#JdJ zWMkGGzBtLK=I^H0Dh>A@m17Z7JNG4cL88l*pBtV@-&?4t@Gj)Z&7uX5{H _UlJ0`||x+t(Agek4R zR$6d_1jmh^nhi}0=7Pq=zSjJ3G`Ogcp(0ki_WwT(mM`}?_7$E#_{wso;ODouw^uUh zJ-J@QG%rL}h0#9lBR|vOP490B3-IoLAkMKOd!JwR-yVsQzy+of8a(Vp6-;i`jI9k3 zUe}5nzX}L8_;6$_cSu%~U-rGRp+fh7NOJs}fBRPms(5U1UwBt-g|B*qc-dQpw8~%8 z+vD#|X#jaPkK>2sP4=I>+56hVT3G%kR?nZkXuI^X?HRk>p6riz4S#ldN<*;r{%;y_ z*1bQEAGtEs#5h;}Q~mReHh1UiEN7XL&&!gN-M;^tV8QR(-r|B61aq4j{1q0g{NFlB z+U!pvOV52K4kkN$`@{A1-)s5z_i_A?;^;8X=ZMHE=lC?czoWrBtB(71Yq-jTNl7Z4 zKR$=o71|s#_?&8+^@G>du3ko_FZJ+=)UWb79kMMe1ld}CUUs}x*s$=@v;OSvK2E*6 zQ6Iv%8!aX zx~c#+?2on?fUp*UsrFma6LTd%xad9 zCl7x_8Tw9ZxNQC3ZTDZLKdzVKE*-sJz!Yu#WZONZ()>j!mTC)Xns02@V5#{eaPZ8N z`}3-qwpB8@t RPzt6?ET9C2P=HvXD)0Rxr7?QjWOfLJU zyGA_D>A=r!&jaP#KXuQ$Z}9MZ$n{5U_e&!lwtg$|NyuRN_WiMEfbx;JU5PRaZgNYA z)!Sabb}ZLQHtKa{6l;q`sjCFb5oZavWPcgY-3|+!1q8UZe1CDzQBmQR%agy0^`FH4 zS$1zV>qaw`|EfnH1m9}?xlpu1nQ348x1}scHtB!3zW&KK=}$GEUG548cr2Ix&BG|Y zWbLb&iRYBRy*#@A*R1;v4v+W0IcG2XgQ+F))BMdVr?38{@9$8*|31?WR>s@QCcIzt z`Sg)bIs0w5-{;?|l9m6^VH+#Un?H^UkL(2mTHS0pA~-e9f7ouzxOKJoZQlPDz6T!I z&;PVJh$-vtM-?Wyy`Mf^O%(d@{CPQB^T7lI33-)(uWweJZAjR!^4IOsZ$g8L0!aN#m4p?nQU6t0bfz{$PW$V^ zbZ!r$& (UERa>z8v;X?t#vB!Uf-SrcWU}hjFsmqVo=7p8 z>7&NEV@kun8 1>lm1QoW&eNu|JIWr z9nW^3{r|T9zqs$8?0?6v^Qm9|>Gv>z+oj*2=;yyZPg(A4pL(|P>RiVIFM4Z#{+0jV zt#-4VlN~fkb27!~eM^IWW5YJF75{b%GWrMIoz(sO{*8`?z@R$yLIYKW|3QW`ebgrZ z6y*HTF34zZuJquLaGki2fb)jw`!`xLO=?yz1P_P$sC}NtapOJ5odv!Tf4?7=bt&g# zd~W`HuGfL*F>@RojNV0gGJ*Uyxze1aMrxLmSy|AQvi2CG6;ExLmYLcMK@FK)Y06Z0 z|GGs_#NX$fH(tJZvC`>*s_w3pOzG1momWVxax?hq1~JEzDUIVt$}yHz|0e{e?%&M0 z<4? y_x(C!$IR&gQ`E=t yn6oOA9~jy~+xWD0_KE zSHDW8cdysoiSan_l>LaWa6yWlNo&e(|9h;A2kis`K7RlDI=rT2s{_BIF7LkGtnpBb z{2d%lcyemUul>J?WlrFOL)!i~eIrua5AAVhI#i>u;M)Ivvm(T^yX}`QeDeD)Q-vzi zE&Ccs`qw|NEfgU9nQ6Mfhdp-pC7G6a?{(+AG2>4r3(Jp?M%SktJG8>4HKfM>7v}b2 zsyDlz9QeWOt-_z~Q{YtjTk%2u`PgX<4^K>xVf4@a8tZpp<=whSCbQ(9t}Ii^e`tSN zSsTpM^^=V$tW{{kt=+l}PuH=0^;+++mi3j?$Ew$-TYkT)jrvf;RF`fb!Nb;ESojB& zH7A9uFYxOU{C{=tPro;x=Vo8rYsL6>a>vg_HP%dG_iD~HP2HYgx{B#gN1a=bz=kPj z1UAHLigE8dY?>rA0aSkUR4XQE|J!_-@n}t;p2CBe-S2ccEIzB)_cp9fk`=z7!*aVw zL91zA^HwH7E|EWtwGo>Ctojzef7s3Mz2)_?zscqI ~S&KbTa1CFnl^t8J@~&Wk z>?6jdju1ET2z_W4`k?Y*uRGH&p$BQKOi8xkc3xeqs=EIsBy#SESgT*HOSmu=m3np5KB zdk)6KFP@!xdSFv*DJP?%eGW?qQ<83lz`TQVgaoc1Xj*(}!F|CMy~?5X?ggHUkLkLZ z-|uVq|1JOj<|kYKRsFfj{@)lJL_!6ejJKV&IlqC{n2tX>s&Arvq<{b(9pQWpwW< zSiSmcK|}k4Grid#fB$5OOBdSkhErohwzuc^ExDc5AGEd!X#8OQ{iP|fZ$Z7sJx-k! zRxw3+?3^e5`+(B~%N!+z8|j~gn9|nQ#Isx}whmz3!W?;q;dxN;Psuz6nR#O70jxZW z|LtK?U2Od5%ZUW{y(ya?yjXbm!-ex!yWU>oK6t%Jf%8Oyfdr4x2NxzYb-@D8E9Vp* zTnYMAH%DE#z+zYOqc3LrUqwa!S@>$%T4`gJBeT}mxhxWA@qdxG#jPUEGD25kud3<- zY3 JKWP?pn;UCFXR@p1W^^|IBqh@Pc9cmFR_G*M$QtG-hmG zyZc&hFw2oB1Fwc%t5&nP^ajM;&HJ%gn&o<}_=dMqhQ%!Y5gh+ISoVmqEa%wq=ih#{ zga2QEy#3gZ^M(scPP%qky0Ad`vH)(DJ9(F4{0`X8+bO+N;Di38#Ekg<4U4oEDc>sj z)|G##G^6{OrTbm!s7u`E<8wpmF3h`gZ(Foy?vJaFA75w_GE?|=;`gi;vksTqBcNIc z5*ku0B|n_SH_UxrWXZUE-5xH+&5}R!6&AeyFYv9BY29B>xr-mA%ZxV1a?evtnDKlQ zclD1FQHg6?&dWF4IL~(_^ZYL1i`Ra}sBY3O)wJw=%ChI0qe;H!fzyf=mW=0jw}H|| zPruWF60U^ZIj`@1`qy)K%GGtQ2dvJ`XxRV%aeUo-&KIZhy$;Alghg$gdqzh0`ZwM^ z>jJOqUteasN9cChYL=MXu!?^j4OL2W_Emj}a$J;~S?yAC@`wDtKjNUG9TZNS6|PKX z%LNL|`*aw;rwba~dCY6hzwa^26|DpbmKU5HlO1EXC8cW@ZwnL`Pd-|<_io1I_t&0= zWomRDjsLr91M7xc99DB3FPn*!@P236!s=9Oy!5_oMw!yTquK>0Dw+P>|Nqh6ZRS1u zdR6fzPjH^RW64-tx?{`br0Lz8IW11;M; S+iaJDGOt_gTwWoyJb06tlbeP>}Ip{ zrp%{hpJQsa=c_(Aym-R=y+P)zi`Y1svL0S|$6Dgf@LqeZ`?AYfZ)P7XPnisD%s4W| zwKjZ?{;sE}@a}xn=OU(M=Pi{Kxat%ZggyQu6KB1}()NHaf92-zMa>dZ?Q{QKczt-r zfq4x@higq(j^t!*X}cl5mF3Jd&hrWhyY|cu(y#rZ%USVyp@H|i{V5w~fMbN;{lJ<( zB~qXXms6_+41TK!vs~${o!4+ A~5txmlMncXLOS zLGHg3(>UGlDk9R)lD-FTm&rD3e!cI>vZeZmiSU2ZNvAniaK$j~lVSXuXSsntR>8|* zf!3N=j|9y0*S?sttso#eeA!?58{8cw!ii?uvW$-#b}*WldpXQe$T?lT?b-6>S8q1W zpT?QH^ujxlDb>@23$hw3UR~U-_@I=(Bf4qlPuDm-7Gnt>w#WN8XEbSkz0bqg&zJI& z^Tv`&A;$BE<9!_NGOY-nwNYGP8WZE?y$y>Cbv< `rJ1SA3B2{awlQcd9IN>f4I{ZlA`(!c)9(b?>>i z+`NaP5@z4vwkQs`eL-!LbX8;S&j8L2Aq9>V)dGum8b@92j+#`eXrU#1OaK21mK0C| zZT=|7QL$yu_6^eEoIegfIb$5-c3|tXe&@wAEoEKG8JBHl*zb2Fp!)W)^c^otGH!FP z;Xb(ftJa$TRZK~lH?B!-7Tnt4Qp~cr9a WPk`>}pmOVy{ua#M1?wv1`V|?z;Fwfax&9|n8 zo2mB~J1< f zh8)*)S+2Q$EJr#I9EeZTONiEDtYs`RnQ@D+W~P?XE7O-=g XVKJ*Vq(mCz(~>ik%l8E<2E+Q8H1IEB8B7o8gt& zQ`b2zZx>8&UH<$3m%7`0LL0y4FfIF7EZ(&K>-mR!g(ke8%#vat(eoO-j^We%?N^GJ zoMO$EGc13zx$;%vfmOEE>0j8`n36an_;X*YZ)*`@IyHOiWya_2PRaTTe(jeRUii3C zUT)Th_!|uoJ$+TPGj09M6>hzo@Ip~&0?U)%;NA}BjyVm#WB%tq+0V)nlYZOu+2z^# z!ppS`&hjvpify?q_+n?8vBn08qK5%53 887lJVmXuNa7DMF%c=I|i-j*@ z=lUM_S(DG=Gre YPW6lU^(5%Ta>$iGqt}gxIEk3b-otpd3&zbu+O!>2j zon`f_303{lcelr7?#yF3l9bCo<+7pSE{!!TSJowNER l ze@vMCayC>;a_ijAnfUbjr#X!Av()X1GmT{g)Gc?iyy>_m9VoA>X54W8J!=b7?o)q` z7g|dyoP1hVwynH!@%6IHjEZ~SoN%b+IDO&yTUJn+0jY;n9$YEd_neg_CeLW+kLpR= z6%urp-CDQUnw{yEkEMj)r-=1!zKu~LKJPB-&wRxy#=7d8!vW1&H<>FN>$m;3sN(3K zw@aWV?w&m3^XXHk|DRm5_Iaf@lU{sK{p|0RyT2E|djDt_%O1UMNglSxXE}b )neG4Vmz3Jq9esf}D zl;9R-R{yn-= (+*+lhXRM zg$>TS%E*{Ez1X!ORX$HSH2($Pv1<;e4{i~gvCpM{fA6{J*PcEr2|6RfxPG?%>xLbl zcNE;~n3=81qW^Q>y05ZxfALJ$-!t#~-u+LVK2)~s`g8uFuG`xQ4Lod*-B@aNW;wr` z@@?ATcTP-Ef8J_Me^@eMLcQHQ@72w_+%M?;_}0#p&A2}2ZsNg!1$x5IX9uRux4iAR z=r)U|gU|#>Jr2sI`q$r`{5vn&XrCEl^M|Alsy~96{ypFM=kv!u?2~8SY@B_;z321& zEgPLbE^mxd$m4mu*ts%)n`G)8{UqVrEcRB6l0Bav?fuvhlWZU%-`Ze4>r8nn)3&FR zSnrF}pXR7g;yN5CAG$Djv2*P@bp<=O;@?|*EgqbIeIYeGO0#dva^F*jCl%h%oH32f z(}9ii#P`Dq1|A2b1wOPKy;;m@apl{z=QjV&sXox*YP9h`ut9di`zHqJ7b=%7{c8VK zgzqxT@gJL0op##WPd(PR)~uNmQa2iS9N^~MF`;m}&<5Sj**l&K6fo7#J+JRQt!n!7 zj)s#?YvmZleS43IIaD{rcsb|_pX$xYH1PWU2UO-J7)Yo*C}Pr!ja}Oaw*dVbq Q!6tQfHY5tbr zXzLqsx@E_GJ;~kG8{#j-3*2)5b$#o6aH#~%24^{DY`p$yUvDdm$&BCI)-OKu>-{qp zAIll43v88Dv~H!UA8lyPa@=cMaN+*TXB_Ju-+Nfe6lW*$tBhsO(SwoSf1UrMJLAVq zjvq7k>$5dGGR<>8V50uBRFSd!&(W3t`-C=p`uTLpO#SqfZxhT_7Z~Zq-u6{Ly1=L7 z*1|BBTtPvWEr*vPC7lXUre&=Am&d$57RoVWRbJM)`! b1H`O!MlZQtK=R@^PTw!E)o-?j3Rli|9R_S5xk z_ivwX+ RGY9m{t1bNx+?jfs zbH%yS_hzam2roae{*~4faoc;&Puh2$-JuxyR{P|_Z_lEwo*b)W;gRQM%=LW#+Qr2< z{!;rJUT=rl&vjYqb(ofQm)K8l$p2qwr_Ol)_W79y6Aa!>ZD>E7_-aG1w4gz4o22-% zn=(?qsq@bkILP#UxsY5VTK^;CWa?hkem%tnDK9t B6nh%>kCk5!Av2%eG z#3w-cQd?FaT&}2)o5` 3Kl8j$fO!4k<&USvS2}%v^_3x@w(e($ImfNX4=%~Jcp#?-uLETY59<0$HXf uvc{l&MwKiqTxo-EZ z_Q??(dES+odlsoK&~x@~ss8oq!4(&Ws}EaQV)zbjS6uLy{p%G)W&85S|Ns2nDce7- zK7PBMLf*;plJ12D?;k$*VKS2F*{!(XYy7l^)7*8_1qAl)?Xs`gRejTQp1;F!eSe3N zH(lG?Jge88xL)4)<`0XQzRk%O3Gwm&i@!gX+8usg?`vCSU9P1TR~6HuUl||ULleI5 zdhC>3yJF(YvI8q`njlp}Hd7li|DK<>v3rjx<7VM`uB9LDcQl-z%p#+?f%hk?=njXC zhK$B@ch&}PSo>iq|IL->%BGs}G-Z10vM*xmj9QSg#cEBpz(Gd_!&ku@m!4WVZAvib z4wj~TP__c~&hkAEtb7MbQq}2V^?4h*)nk1QJWpoHS*@`@gO!iv$nh=e _489CwmXYcP1%rV}A5h$04|c>+6%nc@A5C9A14RO(cZ<^3w$P@Y8bPf`?N- z|2QphA^rE2c^(e$4d&kNk VyO%?Mtb6W7j2e%CBWeWahq<&J-S(d*0ZT$D& z`M-4-S?f _f*oQ6OujR2E`RW?1psxRdGh_boxq{C*cbpP55cz52qsz{I z`{&by>pE{vx2zPby(W-Sy8;>}9tWZY47hh>_3YPVlIs&Pc#!}6kGZ46*ZWIZSWX{W zV7I+0+Gpy@9k~1 z5;9w&g$mX6cC<8{Zuhu9tD*jD;p_c2`Jc7yU&rd!&)Yw1M*X~%x35?IfB)J1Q{cZP ze@!|6)!aLLKK D+qc 8HJBxbf9*YGdHq#PNw?<< z2?TJ9?px9({ |F>?x z(#axMmumQMc4$4$V63{*5Y)%FAo~!*s}Ff+&&)EIeXD=cy>H9g9_Z>SK2ZHw%(>&w zzhLp&bHDx5f6afkvV2p`$+UmfF`sI6_dlCdUy=85cf_X`s`sm_{;S#_ep>IO_rEsw zwg3C4_Va`PpNapMo_w;}?)~36-@kv^^S$Qe_qu!eGi{U@*E=~>TS)W0im f!>cRr7#?gM#S3h(G@}Bqo#Jzl1FUJbwp9}PCudbDv z|JG38g82VClckv!rF4iru5e%AC$oil#aXY7bA5Hq-w3KfiyaUpH?bjIxZvNBzSEp5 zPVd%aWd5NBT0SeV_y0MSgl{+E-!c`JZ#x(v$f&CO@6zAOUlZisv{g@O$Y9@CEl|23 z!75|fd<%<55B_MX8MEw>X?pp2Pdd}Rce8%h8|8mI|3tS=ZTf%Z!jtw<+jsn*R5oq? z)&sR`ukU(t{#&K}eAW7A_dk8FyZ77j>-$f-VzcrOnhH%|v6 V z1ImB+3T~MGh?Pa>?}~KWC)b}PXgWKbTvX({Z}!I>`(7O3d-HblC+2@S8wG-7tR^1U zRSW){ag2Gz;aU2t+A?)P!(X68&jRjJeb8dDnd5t4na^z3S+Q$ zsGH#F@Tr4kPfJ7azvvDpZ-*Ot-VT)+H@GFZ8rvE|8UI%@ZJRZ%!O1qo_MBd){>@75 z#m*IfjaI8JusCm;Tfw@F<;pdI+nO@5%l6Ek^k|Bj^Zt&RUb3d^U0xsE@$qQ8>Vm(i z@!I!|8T0?1f4lO(#2$a9xbM~T_dn0w_dPnkxVwH*zVCtCe{0VDHvWIltRkj+();#? zBl4UTqD=Fi?3ZM 5=?#VgB>U>cE zuld&tFDCHo@7MIbr5*Ue+5h7Uoyi;d5K%e7kx5To;YiuG|3OTA+?zNV4{yr%cUbMP z)8}=)Amc&@87`$C&htDSZu2c_p6>p6+SG;>th0I>BF8ngRZ_FVSuFZawiV0}3( zXZgt cgyEsuO;GLw|e^r(% zx($&`T>lE5pI%q>(rKQ9gS~g{5P7p(;6PGxyQ+r#97hSP}Q%TP%g&! zwo$%p%ci-jm#;qH?C#<3pnKxxr+bsc9?aw}u$DESvG>yo!H-UPGjEg|*6%O8Gppgf z{g3&v$I`j~%}h72GiJOSS#Z|u?6u$Td6>5Oul>f9&YAIX`<#Z{+nI~XpLnyZxj1om zGSj+0Jn5 U;N3HrcdA8nb|t4hwaFOhCk0I9DFdplC7B~ z#^XTAs_wH_>XUYF()3qVXghR9;6rNo(toFgKJ3)ZwcEP1j5oV(<6ebZOp~PYTpT{e z3+Bn|zF&H1bMxZOyZ>HF?_M`&zs_pUXw9B`Jo~b%88{z(xBu_2t_m9Xk>EL2D^Rd* zb@{XgrTwdPH?x#5&pdrrgz;^pf+l102Qh(yR{@iG7z<50qJMsE-Mf<6lHte&?j#P2 z(0kpxo0qq?ZxDa+_KmftzIU(0-f4QF>G~Z~z3|q7F~^G=(-jlm-e@ ?v zyfICBx+T-2St6C &Kdx>38{nY&U=_#W#0!Fxba(nr6$;+v>MK`fYkr&6 z=>MFuAfF{CIm%u(s{Z0JzCNKrg%8?Y3Al7N@ul$5JyRO4nlRq=5dV?i)lm1dqOD=S zo#}KTgE_~n)fVKkNU}V$ZqjAk{QKu6rh7aO($Y@3OqYFY;kUctW5yNPNq1Le=x_de z;+y9sPZN~~%azW#KR>$nUrpV$#$+D0$CHIN=;-`gpeIlekPzMV!G^_{WzFtY@3Ky6 zGM!reB2ls8B1dJD{gZX|;eVZ%KH+33F`nOjaiPNDfQ-cs?k3I-h8tX?TUM2bDKJc5 zd(U-GcUQ;FnN9BMM{mqDGTwXaX4}*^rjhQq)~hml%KWPV4ObVMv(((ZI!W+f)O@k} zNG7X?b6p)OIj5iI`0;q JT? zdw=kW%fFTHrT(tpY|Q%Hx=;DA>|2-4GTyZHo%8Ia;(Fcd^%(W#&36B(oW{Q(?o;fZ z_K*9ot6q6(KmVulv%HV#$v- wMiq@d^pyt}|5^ zJn3loZOQcLw7AfR_V4%mos(O&epJ6ZWxwy;rta&NOvl=rRAw_d>u ^- C zrwd(>XR%RBNab7+KTq|+!w)KkN)Hw~M&0B5H$h$CLf*g4G9^l1+*hY^ywGl%)?mzi z@bihyi)PK@kTsP}UvK$pkLuoIH{BkusI$EM@6%?Eir0^y``4}w&X3PN_)hHj)p(~l zr|a#!HNH*T|NZm5^EUPCe{bG92Q+BTa>O`c>-MvP2F9{gO$|T3 `;y-@n-7eJ=-sz{7u(Qa=o}By2!tPdf&+@LQ(43F@ zRsUCJzkLlKHtG4TkYMpdxm>K{?4|T+4M{tA7%z&f@jf8Ta%BrkP1(yW%UO;re=c0` z`a9FDfBdQmGsGV&u26OGK5#*5kL=34Wzx#l)6R#zSGuQpF724(`4Sob(nT+%JC<># zdC$06+ZFiRKyH^QGJ49?Z{D?B^eva<20#owtH1!cE=EBmsgU+3boIn#5+`ot TCUT)oA%I!?^kUgeN|Q?=ouhvNX<2O02tRv;PIt=_5Z~U%ik5S4^M)E1b^K^Wl0Q zBl{&^!43ELtXVg+*qAK6cTOlE-~XXM=a0V^YV4nUoUWb_b!_t_=|+8 o~wGUY|)al8pe0e22L;Bw*Sdq-d4+elQX649Wmc+ z IHGRJ1RyesXTh%ZTU3x4q=_W=M)z6gPFmD)+S=z2V!nQZwJt z;n;JYq}GE826c9f=9NrlmsxUVg(bB$NSIqVJIK6T# oz)2mtQ8{W@i*|PNj!@+qC zWh@KixpsJNoj#3!`V~RNZU4NOkBhWkyj6H<|D;@1zvr&E8_&PISXTDw^cj}}8IKj9 zmGNJp3yp7Haxm^?bZu;FxX+&`bLJ$=7fHbj>wczj{>Ytw@!pYu8S@$#>qGOx??}`? zjG6HE*gbi}b1A0|J`8j}KQ%pm H8lhl7fS20{Qh$|yWMB2xZsEA`G i;ra5xC;#+6D2t4%insc-%cuubQ;0|%7w$SUYEO+==j!3<> zVZ8kEf+nNxzhxXha+UgjuP@2ucu|=4Q&nRN%a+%xB4oFj?%#Lyx@lR@yYD7EsrKFn zN_Vh(?-i@xaX`r6P<)n)&6Xt^6-!PZ=~=sN?UCTknK|!Iyyf8dGqC~ey*<2)SED%@ zyE*DTKHgs_`R#42hr`Je_0t;epZS$PuOW4#%Knx(fs8fk3Js~#lS )6WcXic;J6jse&MPHU zT-1-6+08LS?Dm8G3pH+B|E9C>jjdSRE*YLbM_EixNL%>@eDn6I4XfCpV6^BI|91D; zg1#q<)8u?>p2V&@s`6I qbVbMFKDEA#4$E!_{i zSjfsE^HZq(uHxIj@mCV3HEjEqChf9C++})|GE>{##{N9_2ORaTJ8YF6RDIo0C86t} z-f*~OR*Cz9xCL5UQ@wxl+*tL(IMe6ghS{plT iJ$X|AvN#3zar27hISj zRA8&ap8fS=k-?$)cUfn=<=e=sq#3=q@7eK6)^&25H?LfLD*oow9r1Z5j3+}<=N)!N zYmk+!HSJ{|!s-vX8#*62{P4q* ;ApMM_WBTCy)es`#|v`%Pt=Hi2oU$V<^HI)E8>uxe3?=6p@pBy-yDD~^82lj zaOJIF>Jxj_gk1t}R(IZB%;IBhsm7ThR>QwsXu~|!2Nym|^QK5{_TkJ>KeXhZckB$I z4~bttWUT5JE0}rjNvB>y^{&{e19MI9JJ&z)yz)tCZ_8WRz8mISl_!8|e;&5Sc^nb` z&xM%Yty*+Hz{1m^W^F>AAmi~L)@KAZ+^?FkEL-4R{`X==UB>N;gB$ky9l5f2+yCTO zfwH`7S>{Nw+g@g!Bj+Gg+J5GWn)&U-8>Lr*ZKPC<^TcN63nR+OYwjF7dM_!iQCFDN zq|D^h*cg9u`gws3?RU*)Co}D;jw>& %5@AU4Aczj)EIAx5q8Laq8On8u1S0 zKodbLD`h_Q6H8gP@SQemb(x&B>D=i}`4&fA*dy1=w>IpXV0mZpUj4>~*8wtD%^sc< zcF&7s-Qv9P@{{;dP+4hEr^i^@fA{n{p}LnbGc=h_rK$@RSWli-{^`|;$($Xc4_`Fw zIR5e6o{WFRS8@b<8GPEA+MdOzChTYUYmxV9?k(;a+kUydRS>> X4>q$ zr2S;;-)}DEA3m0CSiI}nHtFThPsmy}{P@Ow5L{3i+-qyl+IgC@!}w93kO23-3HP_l z6&tg-Xm{>?p2C#0qw`6|so2fF?M}OMi?6b&FK=vkc;k-qQkFUP9_IcBzTSDMAXd5h z@N@Za%vk%xS5V*+_fHYQ3ws$WKOGG{un+!u2U zSgwdLIW=+}EZDtY`1s3Z)4#4hpQz#EWxo4L_Vc4D>P%@Lmml>=z0+J&EX{Uj#=Ysj zS4 d`7FX% zsCBoa;dWUzXGh5Ar7SwDoQ#gfD_oq>VD@!WNY}3yKKaK(Hg6Crc$Ffk^NG)NPex+Z z-x;x9dan-2F(%!7zTnU4@PqgD?d0U-U&ZR~FNT&gzZDj6=^wh^(XiC_I-k%~27Tp( zRvEz!)9 rUrsy|(j0|LVjF#aZ>{%O04UdIgBQsFQjtb~Nzkx4Unz{a&xzTD$enl<&QN4i!GW z#`0%%fAs&Sm9xVW4M5AmnuQFG#-F%X9}Josd+Sut*Rb)AN&Q^42m3hp9-HLN`C`s< z?fP9mvdx*A8uHTTy`RIo<&>boYqMzXm?Ft{?I(?{tK8;&yTM`4$ra5ht8#B{Yfkyy z@$_a(!@m#r9UKhjTb!@8F==dwRaj61P1ZZ4na-{M+4p3+@`Kki8WgSzF`Y~Ia_}^a zpJAQL#}w(}AXB)SCFJMMqU#k) l+sY>)ABP~pg6-;`6$dTVckCga B64HOmxCz!e(n0)D!f3ZSBtrFwmxC3dcw>o$`RC0XXZ^-DrR%mh1{e9DT z{@e=J^PTAby5^hF#F=;GcAl+&c;#l^%-WXUuU^z0xoEVd{%b+CLA*lj-P8JOK3tRj zxh2P2bYaZqwOs8^Kg<3cpYMI(>G%JpoK6!!vtcR;UI$M7Ua$TjO|IU{Auwvm0UpL$ zv)jJg{%xP{_fzO^(d z8zPqf5avDkH}lbr?UhV@4rv?~%KPKzOZ}bX&B5{QX7xUv&+%t0B+7Tkv+}7g`I*M; zePG2N^HzK9Jvnpp@8xdWAtBZ$%yceBAlIa1+iTV59@pDy>-wtFCW`BoY_;9FyvTK* zgTwy|>-4fJMZ 7U=Ps5x6X!qkWRVH~{bj iVG_EX8(7v^>+9v@@%zs_> 0oeA5I5; zDGPj9FYNfo5VY){<&2O)kb)ntwbudX=tT=t6dCW@JpVUO-rsjhB-5)MFW)@MKeEq~ zDQ#nGnLxRRl-i*jca}5n9?p*6+j^<*5a0Y|y$bH%rOxR%w>R6)(haLPS`!c(A^2`p ztZ-QA-08cI32l&8bI!Z9jPbV& >fcQhdk?@0-(Q*=_e<4> ~o-8j=k <31jQJZoKua5Vj-@Lk7=D|dvP?Om zB|wauvtw +u0|L#bOr247fzzilwq-jivcUzRI= zT|ZN!k7Gt`MxRuda>=99yJNL)O+GSdozRAC>7O@ke}0SmUj2!s=B_2vDSe@Tmme>B zdp_{}{r6?yKBa-gcSi?n8&%yOu0Nc=vE1b^JRZuTb*dtqn@y Yt22K#g1)_O^=h}w)s}11^I+DA6Z=ztB~;e zcV&5P{F#o1f6Etd-K)d6@kTy>%e}kv8oV!mkJLZ+7I0R6Ai_A8X>x3BFw38P z`TOK!oJtSev0==em~Y7#+Iau$t&PiG73_{wWM*6}+Zfgu$>db}S$j`dMex(TTNbLs zKA$V~b PX~|($@jf0O@s7oIlR6sydg?6w zb0@xhYl^~y9~t}iZ3}k;9qXZQU%yxl+If*@x)s*1B`#Kf!jkD7Gvm=>K^A|d1T*D7 zwVx}Q7~e7~dO7HxYiyW(N|vkX+Ji)sl1*yXt_Nm1J6_7W|K-=2m=`Zw(_|%cxhJf* z-ahNz{3GHVKc4jGR%V^fs5D=*&wS~PbMk@_55iUFKl(4Q;?EZb=<0$VYsCdOpHEkR zkY;->bXtS;a)*iWE9Y5vHhli!%-_6;Usd->B#X)81h=gY6YtMxczG!|rg!#=&kwnu z^B2#ydi!`u>obq}3J+fIn^u!`_?g$1S`Eg#T={!lC+0tIU4G(lzqI$sUm9hdkN#_e zRsc31OsKJAS~uYwk0sNuq~NxO0@rB`?l;pfpUUTCEIs(yyToBb9^;fbN(;i+gPFXt z;y+xuGGirIe3`(5n#~1UR1Fs;F7cni-@RW!fv@uLFa4@U=iK$`3;O v7Il_cMwq?^leUL-xVPpH_dG8TQXlJz>E-^O*SmyHz&-hz>FGX|ULT zZO%J|o-{_c)n}})b3eLP5ct2l&%g2itfCvNFU|?xGykD+t{56lA766p@Vfly{L@oU zMHuJvFxFa$ENU#b{9O=sGl^;4@=F2*d#hsXceTX}Ufp(o-S)dbVop0x`ge?L=dAOp zK4&@$&MjEH>#;{~;7WaK?ttktm>IV>Ht6s6vOB7O_-|A7`NrC! 4V+ @XA%;OpkdSh=0^$L$xk{Hxi$54>5B)@_z<_hi@px11UN8fEq`OM5Q*ZoSwu@3V%0 z@+IETy(yvBSLwx6&QN}^?Oxcwfc@WAPKCB%fAFx}N#aU4u`pfa>Q))X?n _11tR6;PO na?q2^0-@A8F0E z>fwh8wHHO|ze%m%7$u}?yY|&lmM=@Pj}|ZeKIc!&uSxUb5 fVE5a1B?4<4 z9pX9GOl>gbs8E0wVeU-NK3soNG^wFB-s8Hz+DX3RP7aL+#m^%vo*b;7)?mi`dsg5p z=`aP?pRR>ztFxyyTx1a6?U2*m>Q{Pn#jW(|<%Pc=esnzZ+)j$gZXJ8=t)m&Q{RA!? zUbm{;FLPP4vf_fw#{oA^E{|kdbT0hb?Et y +aq1o2bJ$m#O;0-d{=A7Tvk}d8VR*iJ0JpcgHUK^_{)8m1ps%^w*Wj ze6waYiPa}QwD3OgZz(%d*zA4xmc8Gde>B(I-`x2?^Xii)|K_c~$HMsA|212yGylN= zWfK;eKiBpDvHkg}Q)|A_I78pQKDk$K9xT81ajZyxsdq45AwiO(!}!sL$~E!!bIvS1 zvD=g}x98iF%Kxq`TeuH)*?6w~nOOdyqv5aEf%dD-uM8S^u6(v%!^w2*!2G{AuFd9Q zJYBa~u1>oywqjm`#+#iJ4ebmp0uG8VJJ!Sb<4xXfPFsuj{m>%9jzi eXhWUH=G?jsBbEG6CtpbadQ z2bnB9BGuw7BCoz~USJ;h|9HR$ YVDXK-E^nsIG~3-}7A3x9ZFEOWM-L*m(6Ujcz?#@t?k_!Y7TZ+)0( zt9(TE%Cqj8zN+5%rC(#1S-Lmf@DsRjaNW1m{ku3q_ewH7YFa1E)b;AnaaI-=uHOM~ z5C1&N5I?VB@Bcdn^OpU2yL2+FSn6SsiJ$XqE$5CL!zxKecjKRD;trHpm0aOVigs9J z{ODGdwmqx+-m1-OlbB8|-@Q!Wx#Hbh>l70#)gEkazuWJ8x$D)gxYAvpUUO>jyRwwb zf7hm{pXGSxh9py)qut*&`|lU_O`9V9O=o(u{6lAGSeCQs ?|^VmtPbsERbb?+tu{1% VTgwCF>7Q)cMys@6Sr`PN)O}iSJGagsqzFxfrt_?{94Qbg@uZae>x{ z6D}{N&gYn`yuj`DRfPo^C*>Q(&2DV%wZ3QJd_YTJ!{_u>Ewa_U(d%0OFXQ0&|4?zw zf2H~J=H2PFVf6m+ZnoyvmyNms3#1u?*OdMh_dZaORxfdX8l(VdX7MrJ6h158 *>&xq`+v*VsmZX zZ)46G-)dZBcy==^=VSd?&A3^3;Z}DSPK}~NFL$lA57-%>bN3qy&)pplmp|jwP;g$$ zw?UY7(TB1r4T-KlR!*GaU;0>K*?|;}7tyu4j9(8tJGZ65V_T{P`!4kaS4jH#$jO UJmcH)XNP%frflb8lKV5y{`r1G z#=uE%pV{*<{@u1ezD9$w-jiwe|FG88;$5AmVl_M43#_*Y^>a$}vBmXrbgY_Pv2Hc@ z#NZnt&kvgWJABD)Xwdk*x5U(r_t|T6j%6%7mlOZE+j9GPHz+KamEYFzL4MwzudzD2 z|Jg!^^lO}$ tkc|mDagO3Mdx F2F zc)PkT_-@(tt+8*vG1*o7ePy{*^}szUA94ZLGPWP%))pVek!6j@Y(h#{~!E>MfbX z1Q|Cz_rG5MwJhTQ*RS?#6b{#0&((nyaOx~JsTyYtncU7#d-k;S2rElZcT@bFhr5F2 zwDvR1|9wT^f YcKApGkUpNQjci#xUYr7QQu=@3KzIfMu^?;5E zpL6LBVfoqn`k!bpmI^%BC;#u$Uiq)fr|!38nx;3un(3Bb3Zk(b(qgT*VZQ$X*5#c2 z-m~Mky)~PWKdoW*spn-A=0DP}=~P$9Th7ul|4-UJBY_R)gbSWuZ!In05$QO3t=azb z InndQ$6mYi(` z(%0&pJ=d!*m@T*?a_#nPZ-*;C-EOlSXX(jm^m4fV;o=U_#OtmP%~`)iGv9sm=Aiu& z%YC}`(<>_Pg75rtiHfZ#9Bi9^<4I)e<}iMOWIFQg!F+YG|0C$ zDD81&`C@Jsswkhkx?SZPtJ`*ACb8Tb-p|#T%+^geyYu }K*?Bp< oUntW47; zv$!;G*l{ZK@i!}@T~;#RG#UTaOlxV#OL=guud}SZ^@}=Fc`W<(opA~E&)WB7OjS;> zR(o(xsNgl{jrq#%klgObv@BBXS+zJzNvwihu5Q5U24fbV@anBUrk8Og{}pFh^G9n{ zjlF;F((E0vq8uF`>oR!#I6E9KOlzn!@!9&?N|uF#b JtZNl_d{SY$6=~pQ{`Sw& zP3xU5$XQML#Xnp8?)OXf%+TsRT_NFI!Ry&+T>G?z1B`BQ?}%D2#I)|>hl#)RRTq?T znR7DE-sNP?ArdjYFJ|GNXWjMhE^f2*a=0VFbZgmzz4N4E*f|!>6#u^B|1-`NkC(0e z|K#k6^9=tse`bOWD7Q68+RJJ_u1#TDmc3h;C1&aI#wD=_0+$;|IbOKe7? pO*%Q3b;1B4&$7>qV&JK zjh6YVc@4S{Pq1 2YQF(#&XY&FBTRxRl|Cg>+v{0^aIj}@iqM4yo{$BU` zlXKl2wp;alZu-60rR<+Xl287@!h-uxdVdODcx7*1eqsIpMWIVS=G^V&)R3QwFukIh zNiXn0DMv@&gVK%HIt{X&9d@70S7bcu)1<|b|9 < z>CVEffA`<6jsHLS`?om)A1<_&TMKO9VL4(An{13`>iaA5y}Ra))&iqzug+%X?><&` zz(Dp`K0C|51$$TaHU#eX2yP2YkLB~@%n%E`>v?cm!&HyF`#hU-%eMXwvD@X?w6yQ= z&He9G%I$7158G^flS`Q2_i^#}OPR0!T5!L+dHZ5%T@Po*>-wUbWt)R~Cc(;s@Doat zk8?(>dH$J;rG@Fd+Jke)9~MmLkG=kKxzr(R!}zQHhDVm?yE*K<`?b^Bbhcf4dY#<7 znUMCvV?U0HGyaB*{U2X{ifP(2`BS&8$dRZEy`O@a#GDTFsxDCB$jEnpyg;=3yqd!P zZjKiRp?UP+4nf9^>1UqVEH9b#F~qI;$+;7&XMggp((rh}`Ykx&Q19ES&38pY7w%QK znOlFe*zw6ROO`L6xPJ(j=9(8pZ&BaQ=vex&Ak|v!!NSm859i(O_O7q5I1#ts`E} I!hlB-x99sYcQ zmcQ?s8`l4}I#sQ*Akttf%a@m{V$SY!n|1n?n&oQ0_aDzcShv1B@%24v0ReWo`Th=H z?=vx(Et7#R!*FD(^I) $n$a1-#RIox7uM z_d#j5Tfq;$-T(GG-@3tnzx&CB8`3!}gy#Ky**@RX{ErOGEt4AlJu#TQRbIkqD!aX9 zikiN9g6VIzb0_ronTcKB{$`PS+>NsbUaxJQByDu3GDEb+%VDqE_P;OB+3)5yaDC{m zs30OybRSw^-O*-T{aZaDMOk3Op9GdI|7I&K_
j@gLs57b|y;4c_Z-BP+#;-SIy(ty|st@_)I>kF4}ahz7f zoL={!?L5;;-V^?IY RFI{=U|B&x@r+-wMfwWh zscn@9$Ja3ZvuFu<6v4Etno*bW``K$t6D5zN{kHdTfHa$Ugg(@9Nc<@mV=RpW?b gPmc Gm8qNzGA}mISmQZ-m>;BnR@rb^tmD{63?cqA9}Ixz!$%hE05l<6X@~% z{x?Y>X_u&xvEVZ8-|`*ayO-(N%l{RGHkIyZGxlqJVAf~Jp80lnF1sh^jq^ _`+L9Qhu%Yd}oKtB1JBZzB>ayul%g^|7LR2 zMy@s7`^1`ll>9KgGpXV33-+K#Jr8nj6 XOqKie}U)t=#wX?NaBu*VEhn z|NnN6b#I}{$xBz+b_GA0E#hhWNOoeR@#U$ZQ}5cA&n|Z_mn^?##3%8 ArZ{^hyV)E!njcIswc}(ws$-#`z~U&t;^=Td-0?sR_n|%K zYWs~}6tLX+UUh5zZMnwgV!ev(x1R>ZUsO=be||Ty=-G7Vd)~?mo;^tU=U^fAsqDfN zmt)aqINB6Aniga`I$V`o@=?FFVYU~`l06?%1p|7R7hXuXHzWG6O!U%P8 |s65Zl#d5ab!2{pt&JXu#EYbN<%gM6D z`XR>;P7V&RQyml@h_J*&a_s07xWMYz*--g({&vH^no^Fz6-N33dn}liRp-Zjxp91d zW?#dftoA;Gc14A*tqlS!jshj795>Ev+hN0W?%bDd #`qv<2ELSVzf1Iw~@EOqE>s1Yz&I8TDBCXz*m z?Z{g#feEVhjbJyiu$V~ZeSRib@I`7zzQrF+mN&Z> VW {T2yG!685 zm)LW@)VOmhQ|GVg+XKoQE4QDiU#_U|p8N0F0|!_289*X 2H#q30$nH9O+V@2!=;`pf>Vd?1gnm;etr;1m=dRJ%Itb?Wo? z&=v?-&v!?Cz5N!B9nt3|8#9?T?)|&(_0Q{F$_s87bv0ZOSL^RNJtyk2;4&u0>03E& z+)MVWe}5}W0_NEJyiBh+ZeDOb|8la SmZO!!L;B|~2d4uIHGK}*z2dk# zYdyD#`k|d1C%EJ1l|iC|iD{ocOHZwH#g{CO8O=>cs%xsZUvzSa`t$v=V1Ry&ORxka zNXs}Zc3WS}7htS(?a1h#v{64}YItXZO{7o7bpN?=@_g++)z6g| } zMtIT@`0!0;zZugfj~OonPs} &-<4Wr<<(3BJ4hOdU&3-(0nbJ9D8|9jezfTjr#ZD&O`nj@H?a)e&A1h^f zzrVc1QDN^2_meo+o}Yp1dLQSctearX$hccjir>2E){b21my(yCn0bG?{CC!$o$1!Q zVwiRd3l!|W`)SDs+tuH4Uwp26yH$&Y$w`34@q&JPL$07xvO+>b!_Lr6JGlai sbi%?o{Q+&etlNYwF zYFI5`a9t!@Oy&8~#+~^kYWA%Sy~0fI%()vI VoZ72GLVGKS)2koAR#RXyPKbBQc++hnsZm|J3_a7oIaknAr9S3Oml5xn@~| zuz a+|IVbv0xeI+O6v(-AUvNF&!&Id`Zcp~TwL4LHE@j`s zV^1rtEa89^7m*wi&tfOXGc!KEsIW lNPBkX8h+OeF_q%&> zsL}&t=L6IJ+_~C#=g~5|Ev<*YJ9lSxHf&J}=rL1!x=TPy?3}3*G?68-$dvZ^^Xje4 zzH7Sb^_qnr)+#G3H`iY!9-*+{#}&i(8@^=qrr&wv=&rD0wev2Sy!jkzJ;G;}3kHaH zKj9LBg$*+|%N04>qgg&*MJj?P#7FZvwWKI5;Cm3N^x%3O>%xBtZQinBJh#t&@m+HJ z)r3FS!Uk**RNh`6_3to??Lur~iKnZJ6^PQlzo4{CUYSBcyVx`Qd;a!GaeG_Sby4 zeR*#|UG{^c{~pLN%16|m6klDaFtxMf=ph-#+l@u@MVVfCC9dL@OzR5i_@VF4;`-hJ z=Cb>?OtY%_mnxQC a=*xZ%f(@zv!!DS#1sXE2U8Ui+BTmltBULB`+SsR#_h8alRHwG zrS_f*Xkm8U`yp|){PtMoPa9{dZGS2<<3rvI$3tPiKhEOctY mQ#xG~M#@%6&fGY>5)f8eay*s$|~v%o?L4M_d8 z;I+en$%1cJ2~7AOy2N*K%AEDRtDl~~xBl6a{w#)AyJS9Ft~itKR#yvy<4mR3C020@ z_AcgS+4ElDf)C5=T1HmJMKUa)j9w?ma%bJM=M_`<>eDPe`c7_?x~C{J s}hv%BCy;dZs>_ZsEDz2>id{6dH^osUWE;Q=Pb_u(~HX1h5YY+c0F z61PB;2h>tyWK4c &{gyM#;Yw3%0E2xqeGn9A|vf^q_z z<2{Qut=3MC%moGZ!4(S*sIxPky?EfG(1D{>8*_Lek(TXvV0U?YL$Iwv!okEdHhJcq z-zpY*rtR}zRl3>bz+#63S1 $UDEcq5H=At_C+5KLrKuTQldlKimDZ*OcQ%wQ}FdY~Lb_3(gJ`#h %>7V7__$}&ek{q6kEY8!V)F0*I8b^DF^El7T4Vwxw* zv1fP7YoUYA?gzyFu`nImk;caHHE*)O25U8C`-`S-$_dMM-8me2qS@Z-tJ hhBvTJCs?jOtdk6_I+__ zPs7n^+n65L*{ZWg%sf3=KHApCro&_2^^^V1^KL$I-Q&%%BSKf|U-TVQjvceqKRxE~ zSov_;|FV<1-*T<~S?5fEw4YbIAGn$%Ry{@Jz5r9vJmXCNe9t@I9#@`^W%(1abgkg4 z-P;8}C|_n*b#j<{rgp=Ta)GsfOqedkr+0tZZ_UqmdH&g`11^oXRX^VUdw8AizjfvO zyN?~$T?A?Rm~!mM$~gbof{9J8SMZ+*%N=o!8_H2tfB*csQy`(dr{S#+OU M#VEnT^dxL!Hwg?n# zzpb0L{q$2K#e_``4vQS36mD#JTX!Sy({^pQWf}?Aw^?8 lm3{S;|+Qh;DC?{C9$l>E6Xt z`+FS@JQjnQ7VdE1VsMD!gIS6Xj`z#^p7>nRH-%CAeL`BS>4&GfQeRn)&HSJ)Fd<%j zJ)hu2d&c^o>(53^{W;g+KuhiFr?HRreJ%2MoBm@l^E1Yhldx2_PnzXPsl=@FJLbI- zQCM(ea`Eir^_G*4+uKEnAA0Do!z=RPxM0EVS^DYaobS!L(^5R#4#dtce?Ivuqzo_F z%3-m8bL~+Mi_UL;)A$V2CROJhEkAcv?q_q{ E2|alctIXZssaE_BH%G z?HA3rMPS2o`z+hJX3rKX&+m&?0Qci!*_qT-F1$Oa;Nmb_iv4oRt+N77zbZK-)}J^2 zDv%}ek7Zh?Qv6>*ziK7ZHOj40zqhUJ_;ab-SNo!Jo4|&(n=&o(Pwv~9_MDILJ;y(z z|E3%_eCI?%8bU9232tC;Jl?%KI&ZJD+W}#pD;9kXf23qse9Vi2&zD)<2 nRnmKxa4Rf0S(e8CJi%Q5x%P%nFJ3?B z7U#QN5w5hL&O9-xD&l1%2a8Q!rpm{zU8T$IFK3_nzb#HCW7_Fm#*jj-p<#W0!}6cU zj_mN-CM|lkY=&k0Jmqg*wkCfr{+s!HPZqypMdZEcmIltpw=(WGU3$yRr1$(w7}LJ< z{JzYxXY0SilZP;ikNT{JhFz268=7VQm9*Q(zFN5ZaK+CIyPx49T`zPtOla7@$E4u$ zx}U-vHyjdASH>Rn>u$K>TzLQU{o{w9Ih(=U^PZ2<_6ZkTqs{k63oZC+lDzqzrT#k| zUGn6-G|QX|zDr8J-sqooLf-vA%pb?63YBYBU4LXemEZfWslN74|AY6ImHm $sg9%1G~g3&Th$kT>pfPG2JzMUQ4+o<4Ok= z+a2xO9C_qr*uhnrf bul?6De4&gVU+zx=xJZ)R;qbB&1jlI3oHt}8x}fjG$FK)2$9CEqSCSAI~e!O!U0 zzJEvQ{I>l(xsJ1DsMoZb{JEHy#5E`4kNOY&_Z#xme{r(-M6dXNf0gPUX2l1qoE;wR zPieBBCCCJI*8^?k2P*SB8V)M$zc^!lhhW-<)AHt*_kHg(TWa*MGwA*fai6MFOpKW< z9*68^32x69EV#-3bKBcVj&c7BUkGlH6li*>0E#>omYUlfC+;dNNYLNB>bi@AA?psd ze-=jXbYE^+zvB7R57Qr4rrpqguXC#LW$@{zMXs~%>!xk@z3G0s`1jdGGsU+@3Es;U z+x&FR!UNAre3xuk{r|)t_rFY&VR=%9b;tIm2DP`Hy-Yv0H02qktv|R|Ic`g$+0WA< z;$P~oE!pwvs?E)-SvS2E6j+(Izuog-i{*Yljv4VE{^); @;Z zQh^O^O#1x|Q~sO{w6#6|w&us<$9FC6z1$VM*HwpCrgeYl$}=@H{};u-nD&3xt+-eJ zuTNvUAJ{Kpq`2V3f3v-de}7bb$pOhoyC!KosB?~cf9>S$!(kOWBdg-xhn+5OY*2d= zs @F16ow_ zG6|jGRjAmnw?}%;cSZf}k}TJ!g`d=Zch&0mbL9sbKVM$EP{lH5-Jb`iRx>kOeVO&= zXgAZ(O9%GE9*z%`y)&&@C;e@5Y{_N^4eL1{*5yj(DktoI{y_s0j3vGt8hdW7^U^=b z$u-+#sb E?p!FYU?RNRkV(q- z-<2{!*(vfb1U{5)SKBsQH%caj;|5Rn?M+|nZT@qE6Vn21=L3Ox!4?*ez8v(;FLZcx zBDHL0@Vz(J=f3COE^p#j!pOq2sASd?w}<{;Do-jmxQl;#YFGbDclXK7{H=d<_c;_? zR#JEv%e0TD-o#P=Joi1l-@p2w&iS<8#7pmb2Lr6rRPcR+x84P>3%B!RmsAyt6sTU> zr?uz!UfaCMl{FLDrEI_dzWpMS%}D$vE7PplxxOqsyBubJJ-SF&KL5&c?&@B~eXAaJ zZ~t*VF8E|dzc|zL{p+e(RBlCYH$7ycV4`>;)aR^Af zv#Ot|tF^)T)^=^BK+~gpkBaq`?0#%k{rYyIqdD76)hUvK_l|77dt}r8z#rU3J8SaT z_wvm;RPo20t3GM*3J$pq{;BQexzC@gUEi0*Rp}CI{&(sR{p bx}@wC*?Gw &40`RM4IX+O@pIUvSA^&6J&Iy~if#Tj$9j%?!#JEAW}F1oYv zRoLV?l7VwObhYo~9}^5Hn7317g0jNi8 -|0z{o}r1yrYP#U{-O! zrTM X%L$40Y{vs@pW4}pi*#@4%Q&xRs5wpO7T@^@7N*muzlrJG zJF<7~<9m8)fiq)c^=5oK`$1hnKP@=!P!gZ@v!Czww7yzUd^|_b&U5BAXbi6s-0 O8>-#B(9)o&mO#dzyTc45Hc *M+_XI5d{f)k zRW9$+{ys9S*7ix?f6@2fEAQs77y2yt($!i`{~R^6(bKQfjEcA{_AiQI&VpSG|Lnf~ zy5beA0I6T@Su?54xSVJ&{J4!HCf;Jvf(?at_@b_MT+ubmxjSuD&ffD?YnM;XcQfoh z{&r77oWZ@rYq+0%T41caGH(9y=E|g;PRnyH0Z}r?9t#~v-}if^IK %#8i={7()a zZ+cP@<9jV)OWvie{JrJVO1Wp85^d2{*e3C+IU(onT`Q*p3R3B1Tu)B__F?&Q?a9m* z^=q$Qy5vrn{B*tjG$EZ6ofqzWUcA_U>AsqukkTI1iDbJjk&vpSvU|zWqV> ;VO9bLkE7-^%5K~&;(sm6A~WWF^Aoku+^hflzD+zSs%~!h=jEq+ zJ03W%zjXRc`Z-xYp68+|Gb+^o{hHZn@NV(?^GjV0__s40t*kuIf29B0+uP>QvXGtW z-TZIO^V#P!G`)3v=l;0WaeMmLiL&emZ!ognW0`2bdHehb!4=)cCCf$6l_fFG_jr(X zNcdz}U%b+4ZI1P7GCxjEn)&4H0d=MNKRwXWT8O3Q9`|#l`+HM6v&}fz_T6tY+KR#`L zVR27szkd9_Nk@0?+bZ 3WPRK}yV2pD z!n5le6{1Tjgr_sVHm!-PZCi0nHg(^enW`;a?xNkAhv!fAIrRC4-VPoi`&;G9rg5-u zR8|(`0o7aKy$v;S1sqwOtdH;HU3l9sQ7EG7Zn!aR$_d|NyU)~H&7bX_+HtOOs_D*M zD-LD9SuU>j?AyhpDRYiDS*{Xiju%Sby*_^bGub)=)eXOYZ7n`OE4IVXG5P&@5glmB zQ>yUb@$>estbSpm&9RSPEQ|Q@GHzFj 3&4iAO8y(g#i@$=^mypLQOYFO&M<_s7T8W~oK{qm 9=$| z(*qf*-zCT5v*X*3ryoC_w&18bxaU++?;Iwvb1^$UsX=yZihh*WV4#Bvy~Mb72OZ$Y!-X+{r>*R(i@~_y!E~}?}UGV?EYY; z<96bIc5aPP>$r9S)G8_Q<%npQ)wT4aQhYm8yIaGvNA{dejcXI)RJo_wva&Bfd{5=s z=T$LhqhddXZ`N>8Uf}WLRh%)?kAIc_rMD*>)G-!3W4!0lS{V+X8^@dL7Zv>YZeRE3 zpSyc|uGo+4p9vb$e_sCnzTPsWqeuWWX1*(oMMt^pyP;rJjK!hK^S>80RmgC?)js)m zwXNHkz0CQ0jG~QCOgBFCF@ayN`22pk_nUH`S>G#LR{nke#IxsgYQD YawGv(Jj1+SB`4<0t38->+Y;E9|dj`tfgLwoStQg~j{W`cm&GJv^=GpP;n< z)q@!tC;EdIdlVEud)>KHdH?h0{FVt^kizqOU&HIWS`U^tewN$I+SFUV?|p5*KniEm zN3Fv`EKBoUY+WuywZ2%+_WR%0itC2)uN&V+nV;Ey_TTp>GEWu =GQfI%74!NwbE3b*Ff+;3bEW4faDM} 3m%O|D$QLyzwbV1&$_#7vYWvo?N|V%Kx%gjP>-r zy7skt+J?;&=Ws~gHoYoms=jMs^xrVA@b-%08$}HM3HKA64!1`auec>&|L4KCQ$@GE z_^OZ2>-eeqaaQWbX{GMxbA=D5UuCLVA>+s2lGONeixrCo*HTC w3jIHhisYZR3cS=aZ4$rZ_{NF|_P @uG5T?6SG; zjvpRgHvFBji;ac IteXuKGJ4xS=h~VmtfjAy%fYQ}Kogx-< zdt!R@nt R>w9@ RdayF_~@aUcVdfSGU)unOP>!*SPX@^ACrFrAWKI;NH{X$1d-#IUDa@+P>EM{rdZj#!3+9tYc lPcwFi{(C7HqSZx^ORf3W*=Vj zR8yTA$W#TWRW5M-o;uUFeJ5j6_|E@+^V_IodC&pZkpAWFUl#~5#x))5SZ(yP^T56P z|Gpho+TZuzrCYM@#$k4^xZP*MKV_e+QT^RjG{HI2_i(;2qz}5Ek11=#sXBQMk2A}i z;$#0!*WvE8J|p!^pxC~q&S26Z9fuPiyNlC{lI-3oME-et`ug$p{V8>ZTfF?Qd^n|% zuyan}TGpJ!wSVoDZhQZpG5JRWcr=iO 0Q#Vu592?J*E8p2(+22?RemB)rV}QgaVmnj`PkAg4-8gm|Gwq z=<`hRz_g!lin`9!v=+PVP&U4qZBV&`$CSfT!{niIfW@DUC*~LGP2_rRda=f%SS@N^ z9vftyOjK#X`*2r>{~MOOGoGCxf81{FnWs0FiysqR{Wql4qhWU158dkODZ+jH^86`v zPo3AgnY|5LXZ?n0KI S37dAOjg>s^?<5HbwWg=)tbTDbn_V zf^XKYQ07-Xmg>5}Lvr?+>pNQf?yj2fUT4L+$fO^M^KFlOklURomvnPc#G#CPeU;+B z*XbvOD>p%gV^~;9B7JK b;qWA zVOQ!qju_f+k~?uM`qGRu>SCI&LbfW{$DVt%bk*9aeZCqK&$C{exIfYV)eMisE6mH9 z9YC|dQxy^}^uFg+d=L@!Q-tM;i0TTzlF4GPUkS-|GF$mZuyH4K-~N&M=JIFzU&?RZ ziWGFuxc13i%TVsb`q-);7k(5c-+a03z HTm?At3O%=&qytkKn(3y(ZL z{xD|C^1%K(v+`n=pN3X2r H9v)0k3C(|>%RKvgA4zUCfU_>_0%3(bTpx{^KaB)v*_CR zb9V0>gLPH!yfMEcA;1o9ueLRu4tI2T->|-=;h>Yl;=ILQ1+-poPw7rAb}QW2rMBu- zvZRiQcE{JyiN>D`KUbtE?ccLmUgVBAhezeB^Zb&(dp;h4Oln*ZRZKX$;GVeC0gJVN zlsHaUf6Lru^wU2*zg==4-{+Sb53O3=tzv&sZQ0K$I}AkQdz5F*Vk*uT=VIY|s<5{> zVq&tq5M*%CTT$WrYvqK*xVME&OkHtjt)8Uu9g~>$@#DKwVLvX+*2zhlFUK36Fh9#Y zqfh!-?uulAD`)d|1uFH&{`B}RQxP?DW6m$_{j8AcjFIvD!ULBD4K}nlwDTKX&MIl= zyZ%Aaxg}JwHEkc0@Y>D;H7^zO4P(D73k>dLy_j`wvUQ1VcG Qy{K6NO_ zUF&5lRI04}F?*-U1#W>^>>H2GJaJm!+6f7le=dTZ;f%bH7T;=@1C4L1Zkz7RGJm _gMk)MfQe3bNiP$gN;av{a6>DDzpoV99zx&TB48kZ#KLmWI_o z=YIHQ |1qHy;~V3PKX^T*a_-cau =6~D8u=B0#Wl3mKKES}WTEM_ZBVLHH|LvUn7Z1uY{XUV} z{+#JI+dt_;Y2R}0D^6POZCEwiBmG(5 s ag4!b!`?)Aq^TRlczLhQJN=HR(5Jo_tp!`|yIP zKqqublAq&&1JcVb&eh*377)#Ia>dKfZ_aS1Szg=7C@1yXWYw<4UB8vR-)zoVS9r#* z&gPimp|VAHC&H&2Sp_eIG&bDRnc&58g+* &@kDyEysEA+3G|g$L)I9Lyu%C?<5)u8KM&A-t(qJN>JJ zWpAyorl)7P)bB4>Eb_HF1DkVPG>ZQe?GTTBweY9EedD&qMH9Ip=}|!7!&=1!&!w}u zI#`rfYxdl653e|pCDdALo6Nhw%u2_?e3qG&YqYDDn_AS}#pnK%O*|^}d&^HJ#GJn{ zQ`K636N#&Dl6h`VmACAfHmTxmRLO6Lxl(@HuIcZ(nblZpwQt2n|MlE=-k3w@ynZbe zFsR%;i+jH`%a&F0Y}wz8E_|pwzjovLPQg=Vryqaa$@u?iaps%TW}9!vnL8S<)p48D z6V?K&JTiXeDlIs1M$TP*RpuLSF=aQCZ t`1`TXI0^-1W?idv8SCv5!oS-*n<+)s5rY_00lz16 5dbP%Am!gz1KoePe^#&rZFw zZZ9|P+x9ptaem;2HSc5N?IFb=3k#26L15;`gVS9d?r!O~GUKm}(0TJ&<3f+@vvS@y z!Kw-e=Oh(X8w&m2vb}xnF}vKwk_&ICE7-4L1urj*7iXOQ`IvrN!#w?sVg`vbTWf2d z9(R16)x5P??Hli(a5nMgQ}-9II%E2IgW5OA?w=x;By(AHKM5bVwBT W(8<9*z=wypk{#H59PES2mp-Zk*3zuXCF>Xsbks92`X z!u0x@_`L20$It2fzt4P>OOsgNVrCt5Bcvtbu+y2~*__$^Cv84;N5@s)&Al^IX)nYh zUsfwVIGlI%?~Pxqf**Pgd$II1=ExtpH1D1Kew(!Sa^+8ENHq&r{#jnU)%U`>*cNlE zx6bb$`|ahPEp;rR3o `Rm&o7=M0jl#%<^*_bc)t@m2r z42f40=UdF`tgYE$a8r3d+rKqIFFxKZx18Ox%m6eT!@@GBsX^}2-Yk)V?5}4wE2lqP zaX+zko@-s2X{V≪T%9Z!RDIa-x6E`m;yuHjDb5so(P$I@k(s&_`B*ngE{X4%;0} zm;3fItVwohq-T7AENo9>cxt&p09 ziD@4T6I(!q7}KqT_SzQVJgncWJ*s=Zyb)`5?zUt8U9#q)vVETLzdcr>{eN0)Kb?l8 zSOI|#r2+=OOIS>*cU0V%K6m4qwm)Yq^FJoKZ#r|nTKM-C-#5nIp*Ek49WR`LFC+f3 zPT;~5mF%urof&f9dikEbJyfB^@jP{A@3cC(pPie3h@M&{r|ROcy7|oG=j=v*FZ`MR z|NsB9cD&$e4h}1KhXYb#dp16ME_NX;>Hgv6iwm5i-tI_zyQp-&+=ka%@;+|x=h5#x z(f{#&t*f-uHOAuy?Cu6w9hQfr(1wQh9E_9m&lJq 5FG)e1Dz$({DEi;omECH@DZ` z*;4ONxA<_`*#|KWb&Gw|jec^nKUvN^`B`Y^8bbkrwnT}x^=yp7mwa6vF6T=zo(-#i z=3} 0P{3`TE597W;X>*_aL)@ErbdRpCLJ z<@zrwENeUk_6spxONcLH{r0ucG~00g&7YPxV_rQMk-Dvr!9VeLNzaM*A>5ys!TJmY zKBTaiEG%GRS|{Fn-sQj%!>KpSz3T2Tehbx;`QmUv+5REJ@2pLi(k2*9j;|Bv-~a`P z!-3C&2J$=AOlI`&zb>cAzL6=abLJ<7*u3r=IZ;LyYu?^|q|(a&RA_I 3;gR28UEzFetq$h)xQ3m5C>fEZZPKO(iZ%%BRX|{PlKVzwHUW!2c;eBnxlC> zZScRrqNzXEDzkQ8ckMOS>L=<}w~jnXKlcC8t7Idn?aYkA4+RZE8y>6?W8A*_p!MP9 ziVsf4R3uN5-|k))=dxDrH`AxbjoSr3{f^kO>f;9e+q;8*dubevx!xcEaY1-n!y$2J zhumXL&y^E+MefbGQ66%3KKrN5yB<~ghT433Z5Mi-dxQSJjuZX!Yg_&tajf|?IaICg zb*7aF)Ctmzz8ZUYn2fHs$esW0>r-d@cgy3d hDzESS~wx{wgNBkZpzgM1H znVs!gchkWEoII`yY`B-t$GE*c*Qf3d &~+Qhkx z>L=Uz%e hCe5^vo 0}>p81Lgb;UB@` z-q-+2^E@m)n~y!&?$GF({bI(S9mh|uUvz(yZ%+Srxs$4&g!@jOUvfaor|0B)>8$I{ z22d|C{EHK2+*)tMB*ePwM*4$U-L<~gUvvtDT}bh$OL-L;ak$=6IYv@pNq5gl|MXs% zJvO|I@%NdTjJ8NA@4sfEmN(^(MNaQz`C^Epjz3YCnLOX7h`;H7y!PK_R#5u;5dBTR zr9m$9C|IsHGEFWrw3p?^b&*XP+qh5k3+V1n6MSe8pSLEUZO%6qSUQhYc;LK^VYkF@ z7mf{TyRBH>o|EudhCzIDh)juT-TqrX?PAX`bud>sVRs?)8Jy z-XVF=kSs@)x=@RXzy~FlAHO&x93J+z*XC@AdR+MF^x`Lbx_FnrS={z#k7>>G$@6pm ziBFopbMto@NG(*dmg7Y1e2Y3mmKdY!n;!T!)E-*=B;7oBrcd3se@(}-PWbb5bDvm$ zd;flM*Sc@2Z~IbyYV7H|cF#q4J@@&0@u4qkv-8eNt#`Y9e(LTgZ|69bh=1}byTRo9 z?dhg^tsO5*uU?-0u4(@@%fG)28=_0OZ_fUEY|HQUg0Gir{9RE|Sn~P4^xY|MKPf)x z@6bLu|C3&6@qWL!?eDB)F77Yus$YK7zWtBI>$_EZqcf|;AJ{G`tv9^2`tGTcU5C=z z=YBfktZVLld3El?r)3r0bMtnjeh++qnO*GCInUq0>vv55Z2jrayRhoLGdQ3BZ7pA2 zS@zH3{*1k|?$0#SSBQLL_UrUX>wigQuW$aj`%-rKq0I-mUq0CW^?7^k-u<@n_h-s) z(|>-x{p;ia)>j^Tal5&2MSAwfn2nk5GYt-As(WpRymEpM5@UqWsLd^0+yFnr7U| zm{Bn04~sz0#Q7g2e%{t~Ux#h`pnSgT{yXSbZ$ec4}tG`)S+V?p@^y3bR=RD;P zYioLxWt9JE3;j+0@Vv~fobTPi`}g=QFL!>q{6SCC<$$STf|=l??IDMMZw&dN`t$ss z?UVn#`!cm8um9P{`5!d?&(w+FOq|1d^Qq{$`FB;k(iYswiJ8pJb>{rGM{jJo^QKLA zI`F3S*W3`_#;F_{-|8({R4((SKUko0C|;Z~eg;#v!-q}m`wdw2^coswanuVj-Eyh8 zyscSI-QIA%uA2SB)05_lU;2E)|JtmcgY(V*om1R@?4FDD`wb?%l~ew(u!bGHe?V#X zFSpLGOO0h%Y(H7Muv+Q;DLnq+`kMpij?NFd_ai^w=kkO12?;U0|1+C%9{BHI)!+GF zg8P(2T)*SN|NcLpe$0=I=dt|1zuEm(*ev~ 9SiN!_zeR@K zy=Pafr~luf-`4PDW$N?k4i4`m7@u#B{=~_lQNzc_#8|JyvF}LYeIuq *28h+A#CelA~{wI!~S6f6aL2i7$w4s@G;wPo!5A->vRGqKk z@amm-|3hiO^96=KgdO)u{Obyy?(yrGph1UYnc~u%sez)moByA_z~8`j@PV=#2iwUQ z@x;^JCW|I5)n2^$j#b9>kMoaCm)6#_IajZA|E}@^X|FHF=k7f|YhYV*;gS7AZUu$% z{^rx-4hQsp-}$$yTQlIn1JD=)i+*dv3D)@zIrgnOFV+9|Dm+-)@gamo=0?VxKQ8?* zrmOD%W